diff --git a/asset-manifest.json b/asset-manifest.json index 27498a4a..5ee82d4a 100644 --- a/asset-manifest.json +++ b/asset-manifest.json @@ -1,13 +1,13 @@ { "files": { "main.css": "/Proxmox/static/css/main.5cff698b.css", - "main.js": "/Proxmox/static/js/main.c6fa54b7.js", + "main.js": "/Proxmox/static/js/main.2e54a7ef.js", "index.html": "/Proxmox/index.html", "main.5cff698b.css.map": "/Proxmox/static/css/main.5cff698b.css.map", - "main.c6fa54b7.js.map": "/Proxmox/static/js/main.c6fa54b7.js.map" + "main.2e54a7ef.js.map": "/Proxmox/static/js/main.2e54a7ef.js.map" }, "entrypoints": [ "static/css/main.5cff698b.css", - "static/js/main.c6fa54b7.js" + "static/js/main.2e54a7ef.js" ] } \ No newline at end of file diff --git a/index.html b/index.html index f3a6abc4..e8155b66 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/Proxmox/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Proxmox Scripts For Home Automation"/><link rel="manifest" href="/Proxmox/manifest.json"/><title>Proxmox Helper Scripts | Proxmox Scripts For Home Automation</title><script defer="defer" src="/Proxmox/static/js/main.c6fa54b7.js"></script><link href="/Proxmox/static/css/main.5cff698b.css" rel="stylesheet"></head><body><header><div class="container"><a id="a-title" href="/Proxmox/"><h1>Proxmox Helper Scripts</h1></a><h2>Proxmox Scripts For Home Automation</h2><section id="downloads"><a href="https://github.com/tteck/Proxmox" class="btn btn-github"><span class="icon"></span>View on GitHub</a></section></div></header><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html> \ No newline at end of file +<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/Proxmox/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Proxmox Scripts For Home Automation"/><link rel="manifest" href="/Proxmox/manifest.json"/><title>Proxmox Helper Scripts | Proxmox Scripts For Home Automation</title><script defer="defer" src="/Proxmox/static/js/main.2e54a7ef.js"></script><link href="/Proxmox/static/css/main.5cff698b.css" rel="stylesheet"></head><body><header><div class="container"><a id="a-title" href="/Proxmox/"><h1>Proxmox Helper Scripts</h1></a><h2>Proxmox Scripts For Home Automation</h2><section id="downloads"><a href="https://github.com/tteck/Proxmox" class="btn btn-github"><span class="icon"></span>View on GitHub</a></section></div></header><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html> \ No newline at end of file diff --git a/static/js/main.c6fa54b7.js b/static/js/main.2e54a7ef.js similarity index 84% rename from static/js/main.c6fa54b7.js rename to static/js/main.2e54a7ef.js index d7e90192..6e2085a0 100644 --- a/static/js/main.c6fa54b7.js +++ b/static/js/main.2e54a7ef.js @@ -1,3 +1,3 @@ -/*! For license information please see main.c6fa54b7.js.LICENSE.txt */ -!function(){var e={1132:function(e){"use strict";var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=Object.defineProperty,a=Object.getOwnPropertyDescriptor,i=function(e){return"function"===typeof Array.isArray?Array.isArray(e):"[object Array]"===n.call(e)},o=function(e){if(!e||"[object Object]"!==n.call(e))return!1;var r,a=t.call(e,"constructor"),i=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!a&&!i)return!1;for(r in e);return"undefined"===typeof r||t.call(e,r)},s=function(e,t){r&&"__proto__"===t.name?r(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},l=function(e,n){if("__proto__"===n){if(!t.call(e,n))return;if(a)return a(e,n).value}return e[n]};e.exports=function e(){var t,n,r,a,c,u,d=arguments[0],p=1,m=arguments.length,f=!1;for("boolean"===typeof d&&(f=d,d=arguments[1]||{},p=2),(null==d||"object"!==typeof d&&"function"!==typeof d)&&(d={});p<m;++p)if(null!=(t=arguments[p]))for(n in t)r=l(d,n),d!==(a=l(t,n))&&(f&&a&&(o(a)||(c=i(a)))?(c?(c=!1,u=r&&i(r)?r:[]):u=r&&o(r)?r:{},s(d,{name:n,newValue:e(f,u,a)})):"undefined"!==typeof a&&s(d,{name:n,newValue:a}));return d}},2597:function(e){"use strict";e.exports=function(e,n){var r,a,i,o=e||"",s=n||"div",l={},c=0;for(;c<o.length;)t.lastIndex=c,i=t.exec(o),(r=o.slice(c,i?i.index:o.length))&&(a?"#"===a?l.id=r:l.className?l.className.push(r):l.className=[r]:s=r,c+=r.length),i&&(a=i[0],c++);return{type:"element",tagName:s,properties:l,children:[]}};var t=/[#.]/g},1174:function(e,t,n){"use strict";var r=n(3074),a=n(3877),i=n(2597),o=n(2533).Q,s=n(4791).Q;e.exports=function(e,t,n){var a=n?function(e){var t,n=e.length,r=-1,a={};for(;++r<n;)a[(t=e[r]).toLowerCase()]=t;return a}(n):null;return function(e,n){var r,o=i(e,t),s=Array.prototype.slice.call(arguments,2),d=o.tagName.toLowerCase();o.tagName=a&&l.call(a,d)?a[d]:d,n&&c(n,o)&&(s.unshift(n),n=null);if(n)for(r in n)p(o.properties,r,n[r]);u(o.children,s),"template"===o.tagName&&(o.content={type:"root",children:o.children},o.children=[]);return o};function p(t,n,a){var i,l,c;null!==a&&void 0!==a&&a===a&&(l=(i=r(e,n)).property,"string"===typeof(c=a)&&(i.spaceSeparated?c=o(c):i.commaSeparated?c=s(c):i.commaOrSpaceSeparated&&(c=o(s(c).join(" ")))),"style"===l&&"string"!==typeof a&&(c=function(e){var t,n=[];for(t in e)n.push([t,e[t]].join(": "));return n.join("; ")}(c)),"className"===l&&t.className&&(c=t.className.concat(c)),t[l]=function(e,t,n){var r,a,i;if("object"!==typeof n||!("length"in n))return d(e,t,n);a=n.length,r=-1,i=[];for(;++r<a;)i[r]=d(e,t,n[r]);return i}(i,l,c))}};var l={}.hasOwnProperty;function c(e,t){return"string"===typeof e||"length"in e||function(e,t){var n=t.type;if("input"===e||!n||"string"!==typeof n)return!1;if("object"===typeof t.children&&"length"in t.children)return!0;if(n=n.toLowerCase(),"button"===e)return"menu"!==n&&"submit"!==n&&"reset"!==n&&"button"!==n;return"value"in t}(t.tagName,e)}function u(e,t){var n,r;if("string"!==typeof t&&"number"!==typeof t)if("object"===typeof t&&"length"in t)for(n=-1,r=t.length;++n<r;)u(e,t[n]);else{if("object"!==typeof t||!("type"in t))throw new Error("Expected node, nodes, or string, got `"+t+"`");e.push(t)}else e.push({type:"text",value:String(t)})}function d(e,t,n){var r=n;return e.number||e.positiveNumber?isNaN(r)||""===r||(r=Number(r)):(e.boolean||e.overloadedBoolean)&&("string"!==typeof r||""!==r&&a(n)!==a(t)||(r=!0)),r}},8671:function(e,t,n){"use strict";var r=n(737),a=n(1174)(r,"div");a.displayName="html",e.exports=a},6913:function(e,t,n){"use strict";e.exports=n(8671)},4791:function(e,t){"use strict";t.Q=function(e){var t,n=[],r=String(e||""),a=r.indexOf(","),i=0,o=!1;for(;!o;)-1===a&&(a=r.length,o=!0),!(t=r.slice(i,a).trim())&&o||n.push(t),i=a+1,a=r.indexOf(",",i);return n}},3074:function(e,t,n){"use strict";var r=n(3877),a=n(3991),i=n(3416),o="data";e.exports=function(e,t){var n=r(t),p=t,m=i;if(n in e.normal)return e.property[e.normal[n]];n.length>4&&n.slice(0,4)===o&&s.test(t)&&("-"===t.charAt(4)?p=function(e){var t=e.slice(5).replace(l,d);return o+t.charAt(0).toUpperCase()+t.slice(1)}(t):t=function(e){var t=e.slice(4);if(l.test(t))return e;"-"!==(t=t.replace(c,u)).charAt(0)&&(t="-"+t);return o+t}(t),m=a);return new m(p,t)};var s=/^data[-\w.:]+$/i,l=/-[a-z]/g,c=/[A-Z]/g;function u(e){return"-"+e.toLowerCase()}function d(e){return e.charAt(1).toUpperCase()}},737:function(e,t,n){"use strict";var r=n(579),a=n(2519),i=n(6244),o=n(8446),s=n(7155),l=n(8973);e.exports=r([i,a,o,s,l])},7155:function(e,t,n){"use strict";var r=n(4530),a=n(5463),i=r.booleanish,o=r.number,s=r.spaceSeparated;e.exports=a({transform:function(e,t){return"role"===t?t:"aria-"+t.slice(4).toLowerCase()},properties:{ariaActiveDescendant:null,ariaAtomic:i,ariaAutoComplete:null,ariaBusy:i,ariaChecked:i,ariaColCount:o,ariaColIndex:o,ariaColSpan:o,ariaControls:s,ariaCurrent:null,ariaDescribedBy:s,ariaDetails:null,ariaDisabled:i,ariaDropEffect:s,ariaErrorMessage:null,ariaExpanded:i,ariaFlowTo:s,ariaGrabbed:i,ariaHasPopup:null,ariaHidden:i,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:s,ariaLevel:o,ariaLive:null,ariaModal:i,ariaMultiLine:i,ariaMultiSelectable:i,ariaOrientation:null,ariaOwns:s,ariaPlaceholder:null,ariaPosInSet:o,ariaPressed:i,ariaReadOnly:i,ariaRelevant:null,ariaRequired:i,ariaRoleDescription:s,ariaRowCount:o,ariaRowIndex:o,ariaRowSpan:o,ariaSelected:i,ariaSetSize:o,ariaSort:null,ariaValueMax:o,ariaValueMin:o,ariaValueNow:o,ariaValueText:null,role:null}})},8973:function(e,t,n){"use strict";var r=n(4530),a=n(5463),i=n(6101),o=r.boolean,s=r.overloadedBoolean,l=r.booleanish,c=r.number,u=r.spaceSeparated,d=r.commaSeparated;e.exports=a({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:i,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:d,acceptCharset:u,accessKey:u,action:null,allow:null,allowFullScreen:o,allowPaymentRequest:o,allowUserMedia:o,alt:null,as:null,async:o,autoCapitalize:null,autoComplete:u,autoFocus:o,autoPlay:o,capture:o,charSet:null,checked:o,cite:null,className:u,cols:c,colSpan:null,content:null,contentEditable:l,controls:o,controlsList:u,coords:c|d,crossOrigin:null,data:null,dateTime:null,decoding:null,default:o,defer:o,dir:null,dirName:null,disabled:o,download:s,draggable:l,encType:null,enterKeyHint:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:o,formTarget:null,headers:u,height:c,hidden:o,high:c,href:null,hrefLang:null,htmlFor:u,httpEquiv:u,id:null,imageSizes:null,imageSrcSet:d,inputMode:null,integrity:null,is:null,isMap:o,itemId:null,itemProp:u,itemRef:u,itemScope:o,itemType:u,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:o,low:c,manifest:null,max:null,maxLength:c,media:null,method:null,min:null,minLength:c,multiple:o,muted:o,name:null,nonce:null,noModule:o,noValidate:o,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforePrint:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextMenu:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:o,optimum:c,pattern:null,ping:u,placeholder:null,playsInline:o,poster:null,preload:null,readOnly:o,referrerPolicy:null,rel:u,required:o,reversed:o,rows:c,rowSpan:c,sandbox:u,scope:null,scoped:o,seamless:o,selected:o,shape:null,size:c,sizes:null,slot:null,span:c,spellCheck:l,src:null,srcDoc:null,srcLang:null,srcSet:d,start:c,step:null,style:null,tabIndex:c,target:null,title:null,translate:null,type:null,typeMustMatch:o,useMap:null,value:l,width:c,wrap:null,align:null,aLink:null,archive:u,axis:null,background:null,bgColor:null,border:c,borderColor:null,bottomMargin:c,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:o,declare:o,event:null,face:null,frame:null,frameBorder:null,hSpace:c,leftMargin:c,link:null,longDesc:null,lowSrc:null,marginHeight:c,marginWidth:c,noResize:o,noHref:o,noShade:o,noWrap:o,object:null,profile:null,prompt:null,rev:null,rightMargin:c,rules:null,scheme:null,scrolling:l,standby:null,summary:null,text:null,topMargin:c,valueType:null,version:null,vAlign:null,vLink:null,vSpace:c,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:o,disableRemotePlayback:o,prefix:null,property:null,results:c,security:null,unselectable:null}})},6101:function(e,t,n){"use strict";var r=n(846);e.exports=function(e,t){return r(e,t.toLowerCase())}},846:function(e){"use strict";e.exports=function(e,t){return t in e?e[t]:t}},5463:function(e,t,n){"use strict";var r=n(3877),a=n(4243),i=n(3991);e.exports=function(e){var t,n,o=e.space,s=e.mustUseProperty||[],l=e.attributes||{},c=e.properties,u=e.transform,d={},p={};for(t in c)n=new i(t,u(l,t),c[t],o),-1!==s.indexOf(t)&&(n.mustUseProperty=!0),d[t]=n,p[r(t)]=t,p[r(n.attribute)]=t;return new a(d,p,o)}},3991:function(e,t,n){"use strict";var r=n(3416),a=n(4530);e.exports=s,s.prototype=new r,s.prototype.defined=!0;var i=["boolean","booleanish","overloadedBoolean","number","commaSeparated","spaceSeparated","commaOrSpaceSeparated"],o=i.length;function s(e,t,n,s){var c,u=-1;for(l(this,"space",s),r.call(this,e,t);++u<o;)l(this,c=i[u],(n&a[c])===a[c])}function l(e,t,n){n&&(e[t]=n)}},3416:function(e){"use strict";e.exports=n;var t=n.prototype;function n(e,t){this.property=e,this.attribute=t}t.space=null,t.attribute=null,t.property=null,t.boolean=!1,t.booleanish=!1,t.overloadedBoolean=!1,t.number=!1,t.commaSeparated=!1,t.spaceSeparated=!1,t.commaOrSpaceSeparated=!1,t.mustUseProperty=!1,t.defined=!1},579:function(e,t,n){"use strict";var r=n(5887),a=n(4243);e.exports=function(e){var t,n,i=e.length,o=[],s=[],l=-1;for(;++l<i;)t=e[l],o.push(t.property),s.push(t.normal),n=t.space;return new a(r.apply(null,o),r.apply(null,s),n)}},4243:function(e){"use strict";e.exports=n;var t=n.prototype;function n(e,t,n){this.property=e,this.normal=t,n&&(this.space=n)}t.space=null,t.normal={},t.property={}},4530:function(e,t){"use strict";var n=0;function r(){return Math.pow(2,++n)}t.boolean=r(),t.booleanish=r(),t.overloadedBoolean=r(),t.number=r(),t.spaceSeparated=r(),t.commaSeparated=r(),t.commaOrSpaceSeparated=r()},2519:function(e,t,n){"use strict";var r=n(5463);e.exports=r({space:"xlink",transform:function(e,t){return"xlink:"+t.slice(5).toLowerCase()},properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}})},6244:function(e,t,n){"use strict";var r=n(5463);e.exports=r({space:"xml",transform:function(e,t){return"xml:"+t.slice(3).toLowerCase()},properties:{xmlLang:null,xmlBase:null,xmlSpace:null}})},8446:function(e,t,n){"use strict";var r=n(5463),a=n(6101);e.exports=r({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:a,properties:{xmlns:null,xmlnsXLink:null}})},3877:function(e){"use strict";e.exports=function(e){return e.toLowerCase()}},2533:function(e,t){"use strict";t.Q=function(e){var t=String(e||"").trim();return""===t?[]:t.split(n)};var n=/[ \t\n\r\f]+/g},1065:function(e){var t=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,r=/^\s*/,a=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,i=/^:\s*/,o=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,s=/^[;\s]*/,l=/^\s+|\s+$/g,c="";function u(e){return e?e.replace(l,c):c}e.exports=function(e,l){if("string"!==typeof e)throw new TypeError("First argument must be a string");if(!e)return[];l=l||{};var d=1,p=1;function m(e){var t=e.match(n);t&&(d+=t.length);var r=e.lastIndexOf("\n");p=~r?e.length-r:p+e.length}function f(){var e={line:d,column:p};return function(t){return t.position=new g(e),y(),t}}function g(e){this.start=e,this.end={line:d,column:p},this.source=l.source}g.prototype.content=e;var h=[];function b(t){var n=new Error(l.source+":"+d+":"+p+": "+t);if(n.reason=t,n.filename=l.source,n.line=d,n.column=p,n.source=e,!l.silent)throw n;h.push(n)}function E(t){var n=t.exec(e);if(n){var r=n[0];return m(r),e=e.slice(r.length),n}}function y(){E(r)}function T(e){var t;for(e=e||[];t=S();)!1!==t&&e.push(t);return e}function S(){var t=f();if("/"==e.charAt(0)&&"*"==e.charAt(1)){for(var n=2;c!=e.charAt(n)&&("*"!=e.charAt(n)||"/"!=e.charAt(n+1));)++n;if(n+=2,c===e.charAt(n-1))return b("End of comment missing");var r=e.slice(2,n-2);return p+=2,m(r),e=e.slice(n),p+=2,t({type:"comment",comment:r})}}function v(){var e=f(),n=E(a);if(n){if(S(),!E(i))return b("property missing ':'");var r=E(o),l=e({type:"declaration",property:u(n[0].replace(t,c)),value:r?u(r[0].replace(t,c)):c});return E(s),l}}return y(),function(){var e,t=[];for(T(t);e=v();)!1!==e&&(t.push(e),T(t));return t}()}},6517:function(e){"use strict";e.exports=function(e){var t="string"===typeof e?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}},4929:function(e,t,n){"use strict";var r=n(6517),a=n(7194);e.exports=function(e){return r(e)||a(e)}},5586:function(e){e.exports=function(e){return null!=e&&null!=e.constructor&&"function"===typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}},7194:function(e){"use strict";e.exports=function(e){var t="string"===typeof e?e.charCodeAt(0):e;return t>=48&&t<=57}},5504:function(e){"use strict";e.exports=function(e){var t="string"===typeof e?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57}},2366:function(e){"use strict";var t={};function n(e,r,a){var i,o,s,l,c,u="";for("string"!==typeof r&&(a=r,r=n.defaultChars),"undefined"===typeof a&&(a=!0),c=function(e){var n,r,a=t[e];if(a)return a;for(a=t[e]=[],n=0;n<128;n++)r=String.fromCharCode(n),/^[0-9a-z]$/i.test(r)?a.push(r):a.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2));for(n=0;n<e.length;n++)a[e.charCodeAt(n)]=e[n];return a}(r),i=0,o=e.length;i<o;i++)if(s=e.charCodeAt(i),a&&37===s&&i+2<o&&/^[0-9a-f]{2}$/i.test(e.slice(i+1,i+3)))u+=e.slice(i,i+3),i+=2;else if(s<128)u+=c[s];else if(s>=55296&&s<=57343){if(s>=55296&&s<=56319&&i+1<o&&(l=e.charCodeAt(i+1))>=56320&&l<=57343){u+=encodeURIComponent(e[i]+e[i+1]),i++;continue}u+="%EF%BF%BD"}else u+=encodeURIComponent(e[i]);return u}n.defaultChars=";/?:@&=+$,-_.!~*'()#",n.componentChars="-_.!~*'()",e.exports=n},6891:function(e){"use strict";var t;e.exports=function(e){var n,r="&"+e+";";if((t=t||document.createElement("i")).innerHTML=r,59===(n=t.textContent).charCodeAt(n.length-1)&&"semi"!==e)return!1;return n!==r&&n}},5434:function(e,t,n){"use strict";var r=n(7452),a=n(3580),i=n(7194),o=n(5504),s=n(4929),l=n(6891);e.exports=function(e,t){var n,i,o={};t||(t={});for(i in p)n=t[i],o[i]=null===n||void 0===n?p[i]:n;(o.position.indent||o.position.start)&&(o.indent=o.position.indent||[],o.position=o.position.start);return function(e,t){var n,i,o,p,S,v,A,_,k,C,w,N,I,R,x,O,L,P,D,M=t.additional,F=t.nonTerminated,U=t.text,B=t.reference,H=t.warning,G=t.textContext,z=t.referenceContext,$=t.warningContext,j=t.position,V=t.indent||[],W=e.length,K=0,q=-1,Y=j.column||1,X=j.line||1,Z="",Q=[];"string"===typeof M&&(M=M.charCodeAt(0));O=J(),_=H?ee:d,K--,W++;for(;++K<W;)if(10===S&&(Y=V[q]||1),38===(S=e.charCodeAt(K))){if(9===(A=e.charCodeAt(K+1))||10===A||12===A||32===A||38===A||60===A||A!==A||M&&A===M){Z+=u(S),Y++;continue}for(N=I=K+1,D=I,35===A?(D=++N,88===(A=e.charCodeAt(D))||120===A?(R=f,D=++N):R=g):R=m,n="",w="",p="",x=b[R],D--;++D<W&&x(A=e.charCodeAt(D));)p+=u(A),R===m&&c.call(r,p)&&(n=p,w=r[p]);(o=59===e.charCodeAt(D))&&(D++,(i=R===m&&l(p))&&(n=p,w=i)),P=1+D-I,(o||F)&&(p?R===m?(o&&!w?_(5,1):(n!==p&&(P=1+(D=N+n.length)-N,o=!1),o||(k=n?1:3,t.attribute?61===(A=e.charCodeAt(D))?(_(k,P),w=null):s(A)?w=null:_(k,P):_(k,P))),v=w):(o||_(2,P),y(v=parseInt(p,h[R]))?(_(7,P),v=u(65533)):v in a?(_(6,P),v=a[v]):(C="",T(v)&&_(6,P),v>65535&&(C+=u((v-=65536)>>>10|55296),v=56320|1023&v),v=C+u(v))):R!==m&&_(4,P)),v?(te(),O=J(),K=D-1,Y+=D-I+1,Q.push(v),(L=J()).offset++,B&&B.call(z,v,{start:O,end:L},e.slice(I-1,D)),O=L):(p=e.slice(I-1,D),Z+=p,Y+=p.length,K=D-1)}else 10===S&&(X++,q++,Y=0),S===S?(Z+=u(S),Y++):te();return Q.join("");function J(){return{line:X,column:Y,offset:K+(j.offset||0)}}function ee(e,t){var n=J();n.column+=t,n.offset+=t,H.call($,E[e],n,e)}function te(){Z&&(Q.push(Z),U&&U.call(G,Z,{start:O,end:J()}),Z="")}}(e,o)};var c={}.hasOwnProperty,u=String.fromCharCode,d=Function.prototype,p={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:!1,nonTerminated:!0},m="named",f="hexadecimal",g="decimal",h={hexadecimal:16,decimal:10},b={};b.named=s,b[g]=i,b[f]=o;var E={};function y(e){return e>=55296&&e<=57343||e>1114111}function T(e){return e>=1&&e<=8||11===e||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||65535===(65535&e)||65534===(65535&e)}E[1]="Named character references must be terminated by a semicolon",E[2]="Numeric character references must be terminated by a semicolon",E[3]="Named character references cannot be empty",E[4]="Numeric character references cannot be empty",E[5]="Named character references must be known",E[6]="Numeric character references cannot be disallowed",E[7]="Numeric character references cannot be outside the permissible Unicode range"},4802:function(e,t,n){"use strict";var r=n(9539).DOCUMENT_MODE,a="html",i=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"],o=i.concat(["-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"]),s=["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"],l=["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"],c=l.concat(["-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"]);function u(e){var t=-1!==e.indexOf('"')?"'":'"';return t+e+t}function d(e,t){for(var n=0;n<t.length;n++)if(0===e.indexOf(t[n]))return!0;return!1}t.isConforming=function(e){return e.name===a&&null===e.publicId&&(null===e.systemId||"about:legacy-compat"===e.systemId)},t.getDocumentMode=function(e){if(e.name!==a)return r.QUIRKS;var t=e.systemId;if(t&&"http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd"===t.toLowerCase())return r.QUIRKS;var n=e.publicId;if(null!==n){if(n=n.toLowerCase(),s.indexOf(n)>-1)return r.QUIRKS;var u=null===t?o:i;if(d(n,u))return r.QUIRKS;if(d(n,u=null===t?l:c))return r.LIMITED_QUIRKS}return r.NO_QUIRKS},t.serializeContent=function(e,t,n){var r="!DOCTYPE ";return e&&(r+=e),t?r+=" PUBLIC "+u(t):n&&(r+=" SYSTEM"),null!==n&&(r+=" "+u(n)),r}},4551:function(e){"use strict";e.exports={controlCharacterInInputStream:"control-character-in-input-stream",noncharacterInInputStream:"noncharacter-in-input-stream",surrogateInInputStream:"surrogate-in-input-stream",nonVoidHtmlElementStartTagWithTrailingSolidus:"non-void-html-element-start-tag-with-trailing-solidus",endTagWithAttributes:"end-tag-with-attributes",endTagWithTrailingSolidus:"end-tag-with-trailing-solidus",unexpectedSolidusInTag:"unexpected-solidus-in-tag",unexpectedNullCharacter:"unexpected-null-character",unexpectedQuestionMarkInsteadOfTagName:"unexpected-question-mark-instead-of-tag-name",invalidFirstCharacterOfTagName:"invalid-first-character-of-tag-name",unexpectedEqualsSignBeforeAttributeName:"unexpected-equals-sign-before-attribute-name",missingEndTagName:"missing-end-tag-name",unexpectedCharacterInAttributeName:"unexpected-character-in-attribute-name",unknownNamedCharacterReference:"unknown-named-character-reference",missingSemicolonAfterCharacterReference:"missing-semicolon-after-character-reference",unexpectedCharacterAfterDoctypeSystemIdentifier:"unexpected-character-after-doctype-system-identifier",unexpectedCharacterInUnquotedAttributeValue:"unexpected-character-in-unquoted-attribute-value",eofBeforeTagName:"eof-before-tag-name",eofInTag:"eof-in-tag",missingAttributeValue:"missing-attribute-value",missingWhitespaceBetweenAttributes:"missing-whitespace-between-attributes",missingWhitespaceAfterDoctypePublicKeyword:"missing-whitespace-after-doctype-public-keyword",missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers:"missing-whitespace-between-doctype-public-and-system-identifiers",missingWhitespaceAfterDoctypeSystemKeyword:"missing-whitespace-after-doctype-system-keyword",missingQuoteBeforeDoctypePublicIdentifier:"missing-quote-before-doctype-public-identifier",missingQuoteBeforeDoctypeSystemIdentifier:"missing-quote-before-doctype-system-identifier",missingDoctypePublicIdentifier:"missing-doctype-public-identifier",missingDoctypeSystemIdentifier:"missing-doctype-system-identifier",abruptDoctypePublicIdentifier:"abrupt-doctype-public-identifier",abruptDoctypeSystemIdentifier:"abrupt-doctype-system-identifier",cdataInHtmlContent:"cdata-in-html-content",incorrectlyOpenedComment:"incorrectly-opened-comment",eofInScriptHtmlCommentLikeText:"eof-in-script-html-comment-like-text",eofInDoctype:"eof-in-doctype",nestedComment:"nested-comment",abruptClosingOfEmptyComment:"abrupt-closing-of-empty-comment",eofInComment:"eof-in-comment",incorrectlyClosedComment:"incorrectly-closed-comment",eofInCdata:"eof-in-cdata",absenceOfDigitsInNumericCharacterReference:"absence-of-digits-in-numeric-character-reference",nullCharacterReference:"null-character-reference",surrogateCharacterReference:"surrogate-character-reference",characterReferenceOutsideUnicodeRange:"character-reference-outside-unicode-range",controlCharacterReference:"control-character-reference",noncharacterCharacterReference:"noncharacter-character-reference",missingWhitespaceBeforeDoctypeName:"missing-whitespace-before-doctype-name",missingDoctypeName:"missing-doctype-name",invalidCharacterSequenceAfterDoctypeName:"invalid-character-sequence-after-doctype-name",duplicateAttribute:"duplicate-attribute",nonConformingDoctype:"non-conforming-doctype",missingDoctype:"missing-doctype",misplacedDoctype:"misplaced-doctype",endTagWithoutMatchingOpenElement:"end-tag-without-matching-open-element",closingOfElementWithOpenChildElements:"closing-of-element-with-open-child-elements",disallowedContentInNoscriptInHead:"disallowed-content-in-noscript-in-head",openElementsLeftAfterEof:"open-elements-left-after-eof",abandonedHeadElementChild:"abandoned-head-element-child",misplacedStartTagForHeadElement:"misplaced-start-tag-for-head-element",nestedNoscriptInHead:"nested-noscript-in-head",eofInElementThatCanContainOnlyText:"eof-in-element-that-can-contain-only-text"}},5478:function(e,t,n){"use strict";var r,a=n(8416).default,i=n(3085),o=n(9539),s=o.TAG_NAMES,l=o.NAMESPACES,c=o.ATTRS,u="text/html",d="application/xhtml+xml",p={attributename:"attributeName",attributetype:"attributeType",basefrequency:"baseFrequency",baseprofile:"baseProfile",calcmode:"calcMode",clippathunits:"clipPathUnits",diffuseconstant:"diffuseConstant",edgemode:"edgeMode",filterunits:"filterUnits",glyphref:"glyphRef",gradienttransform:"gradientTransform",gradientunits:"gradientUnits",kernelmatrix:"kernelMatrix",kernelunitlength:"kernelUnitLength",keypoints:"keyPoints",keysplines:"keySplines",keytimes:"keyTimes",lengthadjust:"lengthAdjust",limitingconeangle:"limitingConeAngle",markerheight:"markerHeight",markerunits:"markerUnits",markerwidth:"markerWidth",maskcontentunits:"maskContentUnits",maskunits:"maskUnits",numoctaves:"numOctaves",pathlength:"pathLength",patterncontentunits:"patternContentUnits",patterntransform:"patternTransform",patternunits:"patternUnits",pointsatx:"pointsAtX",pointsaty:"pointsAtY",pointsatz:"pointsAtZ",preservealpha:"preserveAlpha",preserveaspectratio:"preserveAspectRatio",primitiveunits:"primitiveUnits",refx:"refX",refy:"refY",repeatcount:"repeatCount",repeatdur:"repeatDur",requiredextensions:"requiredExtensions",requiredfeatures:"requiredFeatures",specularconstant:"specularConstant",specularexponent:"specularExponent",spreadmethod:"spreadMethod",startoffset:"startOffset",stddeviation:"stdDeviation",stitchtiles:"stitchTiles",surfacescale:"surfaceScale",systemlanguage:"systemLanguage",tablevalues:"tableValues",targetx:"targetX",targety:"targetY",textlength:"textLength",viewbox:"viewBox",viewtarget:"viewTarget",xchannelselector:"xChannelSelector",ychannelselector:"yChannelSelector",zoomandpan:"zoomAndPan"},m={"xlink:actuate":{prefix:"xlink",name:"actuate",namespace:l.XLINK},"xlink:arcrole":{prefix:"xlink",name:"arcrole",namespace:l.XLINK},"xlink:href":{prefix:"xlink",name:"href",namespace:l.XLINK},"xlink:role":{prefix:"xlink",name:"role",namespace:l.XLINK},"xlink:show":{prefix:"xlink",name:"show",namespace:l.XLINK},"xlink:title":{prefix:"xlink",name:"title",namespace:l.XLINK},"xlink:type":{prefix:"xlink",name:"type",namespace:l.XLINK},"xml:base":{prefix:"xml",name:"base",namespace:l.XML},"xml:lang":{prefix:"xml",name:"lang",namespace:l.XML},"xml:space":{prefix:"xml",name:"space",namespace:l.XML},xmlns:{prefix:"",name:"xmlns",namespace:l.XMLNS},"xmlns:xlink":{prefix:"xmlns",name:"xlink",namespace:l.XMLNS}},f=t.SVG_TAG_NAMES_ADJUSTMENT_MAP={altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient",textpath:"textPath"},g=(a(r={},s.B,!0),a(r,s.BIG,!0),a(r,s.BLOCKQUOTE,!0),a(r,s.BODY,!0),a(r,s.BR,!0),a(r,s.CENTER,!0),a(r,s.CODE,!0),a(r,s.DD,!0),a(r,s.DIV,!0),a(r,s.DL,!0),a(r,s.DT,!0),a(r,s.EM,!0),a(r,s.EMBED,!0),a(r,s.H1,!0),a(r,s.H2,!0),a(r,s.H3,!0),a(r,s.H4,!0),a(r,s.H5,!0),a(r,s.H6,!0),a(r,s.HEAD,!0),a(r,s.HR,!0),a(r,s.I,!0),a(r,s.IMG,!0),a(r,s.LI,!0),a(r,s.LISTING,!0),a(r,s.MENU,!0),a(r,s.META,!0),a(r,s.NOBR,!0),a(r,s.OL,!0),a(r,s.P,!0),a(r,s.PRE,!0),a(r,s.RUBY,!0),a(r,s.S,!0),a(r,s.SMALL,!0),a(r,s.SPAN,!0),a(r,s.STRONG,!0),a(r,s.STRIKE,!0),a(r,s.SUB,!0),a(r,s.SUP,!0),a(r,s.TABLE,!0),a(r,s.TT,!0),a(r,s.U,!0),a(r,s.UL,!0),a(r,s.VAR,!0),r);t.causesExit=function(e){var t=e.tagName;return!!(t===s.FONT&&(null!==i.getTokenAttr(e,c.COLOR)||null!==i.getTokenAttr(e,c.SIZE)||null!==i.getTokenAttr(e,c.FACE)))||g[t]},t.adjustTokenMathMLAttrs=function(e){for(var t=0;t<e.attrs.length;t++)if("definitionurl"===e.attrs[t].name){e.attrs[t].name="definitionURL";break}},t.adjustTokenSVGAttrs=function(e){for(var t=0;t<e.attrs.length;t++){var n=p[e.attrs[t].name];n&&(e.attrs[t].name=n)}},t.adjustTokenXMLAttrs=function(e){for(var t=0;t<e.attrs.length;t++){var n=m[e.attrs[t].name];n&&(e.attrs[t].prefix=n.prefix,e.attrs[t].name=n.name,e.attrs[t].namespace=n.namespace)}},t.adjustTokenSVGTagName=function(e){var t=f[e.tagName];t&&(e.tagName=t)},t.isIntegrationPoint=function(e,t,n,r){return!(r&&r!==l.HTML||!function(e,t,n){if(t===l.MATHML&&e===s.ANNOTATION_XML)for(var r=0;r<n.length;r++)if(n[r].name===c.ENCODING){var a=n[r].value.toLowerCase();return a===u||a===d}return t===l.SVG&&(e===s.FOREIGN_OBJECT||e===s.DESC||e===s.TITLE)}(e,t,n))||!(r&&r!==l.MATHML||!function(e,t){return t===l.MATHML&&(e===s.MI||e===s.MO||e===s.MN||e===s.MS||e===s.MTEXT)}(e,t))}},9539:function(e,t,n){"use strict";var r,a,i,o,s=n(8416).default,l=t.NAMESPACES={HTML:"http://www.w3.org/1999/xhtml",MATHML:"http://www.w3.org/1998/Math/MathML",SVG:"http://www.w3.org/2000/svg",XLINK:"http://www.w3.org/1999/xlink",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"};t.ATTRS={TYPE:"type",ACTION:"action",ENCODING:"encoding",PROMPT:"prompt",NAME:"name",COLOR:"color",FACE:"face",SIZE:"size"},t.DOCUMENT_MODE={NO_QUIRKS:"no-quirks",QUIRKS:"quirks",LIMITED_QUIRKS:"limited-quirks"};var c=t.TAG_NAMES={A:"a",ADDRESS:"address",ANNOTATION_XML:"annotation-xml",APPLET:"applet",AREA:"area",ARTICLE:"article",ASIDE:"aside",B:"b",BASE:"base",BASEFONT:"basefont",BGSOUND:"bgsound",BIG:"big",BLOCKQUOTE:"blockquote",BODY:"body",BR:"br",BUTTON:"button",CAPTION:"caption",CENTER:"center",CODE:"code",COL:"col",COLGROUP:"colgroup",DD:"dd",DESC:"desc",DETAILS:"details",DIALOG:"dialog",DIR:"dir",DIV:"div",DL:"dl",DT:"dt",EM:"em",EMBED:"embed",FIELDSET:"fieldset",FIGCAPTION:"figcaption",FIGURE:"figure",FONT:"font",FOOTER:"footer",FOREIGN_OBJECT:"foreignObject",FORM:"form",FRAME:"frame",FRAMESET:"frameset",H1:"h1",H2:"h2",H3:"h3",H4:"h4",H5:"h5",H6:"h6",HEAD:"head",HEADER:"header",HGROUP:"hgroup",HR:"hr",HTML:"html",I:"i",IMG:"img",IMAGE:"image",INPUT:"input",IFRAME:"iframe",KEYGEN:"keygen",LABEL:"label",LI:"li",LINK:"link",LISTING:"listing",MAIN:"main",MALIGNMARK:"malignmark",MARQUEE:"marquee",MATH:"math",MENU:"menu",META:"meta",MGLYPH:"mglyph",MI:"mi",MO:"mo",MN:"mn",MS:"ms",MTEXT:"mtext",NAV:"nav",NOBR:"nobr",NOFRAMES:"noframes",NOEMBED:"noembed",NOSCRIPT:"noscript",OBJECT:"object",OL:"ol",OPTGROUP:"optgroup",OPTION:"option",P:"p",PARAM:"param",PLAINTEXT:"plaintext",PRE:"pre",RB:"rb",RP:"rp",RT:"rt",RTC:"rtc",RUBY:"ruby",S:"s",SCRIPT:"script",SECTION:"section",SELECT:"select",SOURCE:"source",SMALL:"small",SPAN:"span",STRIKE:"strike",STRONG:"strong",STYLE:"style",SUB:"sub",SUMMARY:"summary",SUP:"sup",TABLE:"table",TBODY:"tbody",TEMPLATE:"template",TEXTAREA:"textarea",TFOOT:"tfoot",TD:"td",TH:"th",THEAD:"thead",TITLE:"title",TR:"tr",TRACK:"track",TT:"tt",U:"u",UL:"ul",SVG:"svg",VAR:"var",WBR:"wbr",XMP:"xmp"};t.SPECIAL_ELEMENTS=(s(o={},l.HTML,(s(r={},c.ADDRESS,!0),s(r,c.APPLET,!0),s(r,c.AREA,!0),s(r,c.ARTICLE,!0),s(r,c.ASIDE,!0),s(r,c.BASE,!0),s(r,c.BASEFONT,!0),s(r,c.BGSOUND,!0),s(r,c.BLOCKQUOTE,!0),s(r,c.BODY,!0),s(r,c.BR,!0),s(r,c.BUTTON,!0),s(r,c.CAPTION,!0),s(r,c.CENTER,!0),s(r,c.COL,!0),s(r,c.COLGROUP,!0),s(r,c.DD,!0),s(r,c.DETAILS,!0),s(r,c.DIR,!0),s(r,c.DIV,!0),s(r,c.DL,!0),s(r,c.DT,!0),s(r,c.EMBED,!0),s(r,c.FIELDSET,!0),s(r,c.FIGCAPTION,!0),s(r,c.FIGURE,!0),s(r,c.FOOTER,!0),s(r,c.FORM,!0),s(r,c.FRAME,!0),s(r,c.FRAMESET,!0),s(r,c.H1,!0),s(r,c.H2,!0),s(r,c.H3,!0),s(r,c.H4,!0),s(r,c.H5,!0),s(r,c.H6,!0),s(r,c.HEAD,!0),s(r,c.HEADER,!0),s(r,c.HGROUP,!0),s(r,c.HR,!0),s(r,c.HTML,!0),s(r,c.IFRAME,!0),s(r,c.IMG,!0),s(r,c.INPUT,!0),s(r,c.LI,!0),s(r,c.LINK,!0),s(r,c.LISTING,!0),s(r,c.MAIN,!0),s(r,c.MARQUEE,!0),s(r,c.MENU,!0),s(r,c.META,!0),s(r,c.NAV,!0),s(r,c.NOEMBED,!0),s(r,c.NOFRAMES,!0),s(r,c.NOSCRIPT,!0),s(r,c.OBJECT,!0),s(r,c.OL,!0),s(r,c.P,!0),s(r,c.PARAM,!0),s(r,c.PLAINTEXT,!0),s(r,c.PRE,!0),s(r,c.SCRIPT,!0),s(r,c.SECTION,!0),s(r,c.SELECT,!0),s(r,c.SOURCE,!0),s(r,c.STYLE,!0),s(r,c.SUMMARY,!0),s(r,c.TABLE,!0),s(r,c.TBODY,!0),s(r,c.TD,!0),s(r,c.TEMPLATE,!0),s(r,c.TEXTAREA,!0),s(r,c.TFOOT,!0),s(r,c.TH,!0),s(r,c.THEAD,!0),s(r,c.TITLE,!0),s(r,c.TR,!0),s(r,c.TRACK,!0),s(r,c.UL,!0),s(r,c.WBR,!0),s(r,c.XMP,!0),r)),s(o,l.MATHML,(s(a={},c.MI,!0),s(a,c.MO,!0),s(a,c.MN,!0),s(a,c.MS,!0),s(a,c.MTEXT,!0),s(a,c.ANNOTATION_XML,!0),a)),s(o,l.SVG,(s(i={},c.TITLE,!0),s(i,c.FOREIGN_OBJECT,!0),s(i,c.DESC,!0),i)),o)},4529:function(e,t){"use strict";var n=[65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111];t.REPLACEMENT_CHARACTER="\ufffd",t.CODE_POINTS={EOF:-1,NULL:0,TABULATION:9,CARRIAGE_RETURN:13,LINE_FEED:10,FORM_FEED:12,SPACE:32,EXCLAMATION_MARK:33,QUOTATION_MARK:34,NUMBER_SIGN:35,AMPERSAND:38,APOSTROPHE:39,HYPHEN_MINUS:45,SOLIDUS:47,DIGIT_0:48,DIGIT_9:57,SEMICOLON:59,LESS_THAN_SIGN:60,EQUALS_SIGN:61,GREATER_THAN_SIGN:62,QUESTION_MARK:63,LATIN_CAPITAL_A:65,LATIN_CAPITAL_F:70,LATIN_CAPITAL_X:88,LATIN_CAPITAL_Z:90,RIGHT_SQUARE_BRACKET:93,GRAVE_ACCENT:96,LATIN_SMALL_A:97,LATIN_SMALL_F:102,LATIN_SMALL_X:120,LATIN_SMALL_Z:122,REPLACEMENT_CHARACTER:65533},t.CODE_POINT_SEQUENCES={DASH_DASH_STRING:[45,45],DOCTYPE_STRING:[68,79,67,84,89,80,69],CDATA_START_STRING:[91,67,68,65,84,65,91],SCRIPT_STRING:[115,99,114,105,112,116],PUBLIC_STRING:[80,85,66,76,73,67],SYSTEM_STRING:[83,89,83,84,69,77]},t.isSurrogate=function(e){return e>=55296&&e<=57343},t.isSurrogatePair=function(e){return e>=56320&&e<=57343},t.getSurrogatePairCodePoint=function(e,t){return 1024*(e-55296)+9216+t},t.isControlCodePoint=function(e){return 32!==e&&10!==e&&13!==e&&9!==e&&12!==e&&e>=1&&e<=31||e>=127&&e<=159},t.isUndefinedCodePoint=function(e){return e>=64976&&e<=65007||n.indexOf(e)>-1}},6915:function(e,t,n){"use strict";var r=n(6690).default,a=n(9728).default,i=n(1655).default,o=n(6389).default,s=function(e){i(n,e);var t=o(n);function n(e,a){var i;return r(this,n),(i=t.call(this,e)).posTracker=null,i.onParseError=a.onParseError,i}return a(n,[{key:"_setErrorLocation",value:function(e){e.startLine=e.endLine=this.posTracker.line,e.startCol=e.endCol=this.posTracker.col,e.startOffset=e.endOffset=this.posTracker.offset}},{key:"_reportError",value:function(e){var t={code:e,startLine:-1,startCol:-1,startOffset:-1,endLine:-1,endCol:-1,endOffset:-1};this._setErrorLocation(t),this.onParseError(t)}},{key:"_getOverriddenMethods",value:function(e){return{_err:function(t){e._reportError(t)}}}}]),n}(n(1458));e.exports=s},9839:function(e,t,n){"use strict";var r=n(6690).default,a=n(9728).default,i=n(1655).default,o=n(6389).default,s=n(6915),l=n(5611),c=n(2640),u=n(1458),d=function(e){i(n,e);var t=o(n);function n(e,a){var i;return r(this,n),(i=t.call(this,e,a)).opts=a,i.ctLoc=null,i.locBeforeToken=!1,i}return a(n,[{key:"_setErrorLocation",value:function(e){this.ctLoc&&(e.startLine=this.ctLoc.startLine,e.startCol=this.ctLoc.startCol,e.startOffset=this.ctLoc.startOffset,e.endLine=this.locBeforeToken?this.ctLoc.startLine:this.ctLoc.endLine,e.endCol=this.locBeforeToken?this.ctLoc.startCol:this.ctLoc.endCol,e.endOffset=this.locBeforeToken?this.ctLoc.startOffset:this.ctLoc.endOffset)}},{key:"_getOverriddenMethods",value:function(e,t){return{_bootstrap:function(n,r){t._bootstrap.call(this,n,r),u.install(this.tokenizer,l,e.opts),u.install(this.tokenizer,c)},_processInputToken:function(n){e.ctLoc=n.location,t._processInputToken.call(this,n)},_err:function(t,n){e.locBeforeToken=n&&n.beforeToken,e._reportError(t)}}}}]),n}(s);e.exports=d},2459:function(e,t,n){"use strict";var r=n(6690).default,a=n(9728).default,i=n(1588).default,o=n(3808).default,s=n(1655).default,l=n(6389).default,c=n(6915),u=n(64),d=n(1458),p=function(e){s(n,e);var t=l(n);function n(e,a){var i;return r(this,n),(i=t.call(this,e,a)).posTracker=d.install(e,u),i.lastErrOffset=-1,i}return a(n,[{key:"_reportError",value:function(e){this.lastErrOffset!==this.posTracker.offset&&(this.lastErrOffset=this.posTracker.offset,i(o(n.prototype),"_reportError",this).call(this,e))}}]),n}(c);e.exports=p},5611:function(e,t,n){"use strict";var r=n(9728).default,a=n(6690).default,i=n(1655).default,o=n(6389).default,s=n(6915),l=n(2459),c=n(1458),u=function(e){i(n,e);var t=o(n);function n(e,r){var i;a(this,n),i=t.call(this,e,r);var o=c.install(e.preprocessor,l,r);return i.posTracker=o.posTracker,i}return r(n)}(s);e.exports=u},4936:function(e,t,n){"use strict";var r=n(6690).default,a=n(9728).default,i=n(1655).default,o=n(6389).default,s=function(e){i(n,e);var t=o(n);function n(e,a){var i;return r(this,n),(i=t.call(this,e)).onItemPop=a.onItemPop,i}return a(n,[{key:"_getOverriddenMethods",value:function(e,t){return{pop:function(){e.onItemPop(this.current),t.pop.call(this)},popAllUpToHtmlElement:function(){for(var n=this.stackTop;n>0;n--)e.onItemPop(this.items[n]);t.popAllUpToHtmlElement.call(this)},remove:function(n){e.onItemPop(this.current),t.remove.call(this,n)}}}}]),n}(n(1458));e.exports=s},9037:function(e,t,n){"use strict";var r=n(6690).default,a=n(9728).default,i=n(1655).default,o=n(6389).default,s=n(1458),l=n(3085),c=n(2640),u=n(4936),d=n(9539).TAG_NAMES,p=function(e){i(n,e);var t=o(n);function n(e){var a;return r(this,n),(a=t.call(this,e)).parser=e,a.treeAdapter=a.parser.treeAdapter,a.posTracker=null,a.lastStartTagToken=null,a.lastFosterParentingLocation=null,a.currentToken=null,a}return a(n,[{key:"_setStartLocation",value:function(e){var t=null;this.lastStartTagToken&&((t=Object.assign({},this.lastStartTagToken.location)).startTag=this.lastStartTagToken.location),this.treeAdapter.setNodeSourceCodeLocation(e,t)}},{key:"_setEndLocation",value:function(e,t){if(this.treeAdapter.getNodeSourceCodeLocation(e)&&t.location){var n=t.location,r=this.treeAdapter.getTagName(e),a={};t.type===l.END_TAG_TOKEN&&r===t.tagName?(a.endTag=Object.assign({},n),a.endLine=n.endLine,a.endCol=n.endCol,a.endOffset=n.endOffset):(a.endLine=n.startLine,a.endCol=n.startCol,a.endOffset=n.startOffset),this.treeAdapter.updateNodeSourceCodeLocation(e,a)}}},{key:"_getOverriddenMethods",value:function(e,t){return{_bootstrap:function(n,r){t._bootstrap.call(this,n,r),e.lastStartTagToken=null,e.lastFosterParentingLocation=null,e.currentToken=null;var a=s.install(this.tokenizer,c);e.posTracker=a.posTracker,s.install(this.openElements,u,{onItemPop:function(t){e._setEndLocation(t,e.currentToken)}})},_runParsingLoop:function(n){t._runParsingLoop.call(this,n);for(var r=this.openElements.stackTop;r>=0;r--)e._setEndLocation(this.openElements.items[r],e.currentToken)},_processTokenInForeignContent:function(n){e.currentToken=n,t._processTokenInForeignContent.call(this,n)},_processToken:function(n){if(e.currentToken=n,t._processToken.call(this,n),n.type===l.END_TAG_TOKEN&&(n.tagName===d.HTML||n.tagName===d.BODY&&this.openElements.hasInScope(d.BODY)))for(var r=this.openElements.stackTop;r>=0;r--){var a=this.openElements.items[r];if(this.treeAdapter.getTagName(a)===n.tagName){e._setEndLocation(a,n);break}}},_setDocumentType:function(e){t._setDocumentType.call(this,e);for(var n=this.treeAdapter.getChildNodes(this.document),r=n.length,a=0;a<r;a++){var i=n[a];if(this.treeAdapter.isDocumentTypeNode(i)){this.treeAdapter.setNodeSourceCodeLocation(i,e.location);break}}},_attachElementToTree:function(n){e._setStartLocation(n),e.lastStartTagToken=null,t._attachElementToTree.call(this,n)},_appendElement:function(n,r){e.lastStartTagToken=n,t._appendElement.call(this,n,r)},_insertElement:function(n,r){e.lastStartTagToken=n,t._insertElement.call(this,n,r)},_insertTemplate:function(n){e.lastStartTagToken=n,t._insertTemplate.call(this,n);var r=this.treeAdapter.getTemplateContent(this.openElements.current);this.treeAdapter.setNodeSourceCodeLocation(r,null)},_insertFakeRootElement:function(){t._insertFakeRootElement.call(this),this.treeAdapter.setNodeSourceCodeLocation(this.openElements.current,null)},_appendCommentNode:function(e,n){t._appendCommentNode.call(this,e,n);var r=this.treeAdapter.getChildNodes(n),a=r[r.length-1];this.treeAdapter.setNodeSourceCodeLocation(a,e.location)},_findFosterParentingLocation:function(){return e.lastFosterParentingLocation=t._findFosterParentingLocation.call(this),e.lastFosterParentingLocation},_insertCharacters:function(n){t._insertCharacters.call(this,n);var r=this._shouldFosterParentOnInsertion(),a=r&&e.lastFosterParentingLocation.parent||this.openElements.currentTmplContent||this.openElements.current,i=this.treeAdapter.getChildNodes(a),o=r&&e.lastFosterParentingLocation.beforeElement?i.indexOf(e.lastFosterParentingLocation.beforeElement)-1:i.length-1,s=i[o];if(this.treeAdapter.getNodeSourceCodeLocation(s)){var l=n.location,c=l.endLine,u=l.endCol,d=l.endOffset;this.treeAdapter.updateNodeSourceCodeLocation(s,{endLine:c,endCol:u,endOffset:d})}else this.treeAdapter.setNodeSourceCodeLocation(s,n.location)}}}}]),n}(s);e.exports=p},2640:function(e,t,n){"use strict";var r=n(6690).default,a=n(9728).default,i=n(1655).default,o=n(6389).default,s=n(1458),l=n(3085),c=n(64),u=function(e){i(n,e);var t=o(n);function n(e){var a;return r(this,n),(a=t.call(this,e)).tokenizer=e,a.posTracker=s.install(e.preprocessor,c),a.currentAttrLocation=null,a.ctLoc=null,a}return a(n,[{key:"_getCurrentLocation",value:function(){return{startLine:this.posTracker.line,startCol:this.posTracker.col,startOffset:this.posTracker.offset,endLine:-1,endCol:-1,endOffset:-1}}},{key:"_attachCurrentAttrLocationInfo",value:function(){this.currentAttrLocation.endLine=this.posTracker.line,this.currentAttrLocation.endCol=this.posTracker.col,this.currentAttrLocation.endOffset=this.posTracker.offset;var e=this.tokenizer.currentToken,t=this.tokenizer.currentAttr;e.location.attrs||(e.location.attrs=Object.create(null)),e.location.attrs[t.name]=this.currentAttrLocation}},{key:"_getOverriddenMethods",value:function(e,t){var n={_createStartTagToken:function(){t._createStartTagToken.call(this),this.currentToken.location=e.ctLoc},_createEndTagToken:function(){t._createEndTagToken.call(this),this.currentToken.location=e.ctLoc},_createCommentToken:function(){t._createCommentToken.call(this),this.currentToken.location=e.ctLoc},_createDoctypeToken:function(n){t._createDoctypeToken.call(this,n),this.currentToken.location=e.ctLoc},_createCharacterToken:function(n,r){t._createCharacterToken.call(this,n,r),this.currentCharacterToken.location=e.ctLoc},_createEOFToken:function(){t._createEOFToken.call(this),this.currentToken.location=e._getCurrentLocation()},_createAttr:function(n){t._createAttr.call(this,n),e.currentAttrLocation=e._getCurrentLocation()},_leaveAttrName:function(n){t._leaveAttrName.call(this,n),e._attachCurrentAttrLocationInfo()},_leaveAttrValue:function(n){t._leaveAttrValue.call(this,n),e._attachCurrentAttrLocationInfo()},_emitCurrentToken:function(){var n=this.currentToken.location;this.currentCharacterToken&&(this.currentCharacterToken.location.endLine=n.startLine,this.currentCharacterToken.location.endCol=n.startCol,this.currentCharacterToken.location.endOffset=n.startOffset),this.currentToken.type===l.EOF_TOKEN?(n.endLine=n.startLine,n.endCol=n.startCol,n.endOffset=n.startOffset):(n.endLine=e.posTracker.line,n.endCol=e.posTracker.col+1,n.endOffset=e.posTracker.offset+1),t._emitCurrentToken.call(this)},_emitCurrentCharacterToken:function(){var n=this.currentCharacterToken&&this.currentCharacterToken.location;n&&-1===n.endOffset&&(n.endLine=e.posTracker.line,n.endCol=e.posTracker.col,n.endOffset=e.posTracker.offset),t._emitCurrentCharacterToken.call(this)}};return Object.keys(l.MODE).forEach((function(r){var a=l.MODE[r];n[a]=function(n){e.ctLoc=e._getCurrentLocation(),t[a].call(this,n)}})),n}}]),n}(s);e.exports=u},64:function(e,t,n){"use strict";var r=n(6690).default,a=n(9728).default,i=n(1655).default,o=n(6389).default,s=function(e){i(n,e);var t=o(n);function n(e){var a;return r(this,n),(a=t.call(this,e)).preprocessor=e,a.isEol=!1,a.lineStartPos=0,a.droppedBufferSize=0,a.offset=0,a.col=0,a.line=1,a}return a(n,[{key:"_getOverriddenMethods",value:function(e,t){return{advance:function(){var n=this.pos+1,r=this.html[n];return e.isEol&&(e.isEol=!1,e.line++,e.lineStartPos=n),("\n"===r||"\r"===r&&"\n"!==this.html[n+1])&&(e.isEol=!0),e.col=n-e.lineStartPos+1,e.offset=e.droppedBufferSize+n,t.advance.call(this)},retreat:function(){t.retreat.call(this),e.isEol=!1,e.col=this.pos-e.lineStartPos+1},dropParsedChunk:function(){var n=this.pos;t.dropParsedChunk.call(this);var r=n-this.pos;e.lineStartPos-=r,e.droppedBufferSize+=r,e.offset=e.droppedBufferSize+this.pos}}}}]),n}(n(1458));e.exports=s},2708:function(e,t,n){"use strict";var r=n(6690).default,a=n(9728).default,i=function(){function e(t){r(this,e),this.length=0,this.entries=[],this.treeAdapter=t,this.bookmark=null}return a(e,[{key:"_getNoahArkConditionCandidates",value:function(t){var n=[];if(this.length>=3)for(var r=this.treeAdapter.getAttrList(t).length,a=this.treeAdapter.getTagName(t),i=this.treeAdapter.getNamespaceURI(t),o=this.length-1;o>=0;o--){var s=this.entries[o];if(s.type===e.MARKER_ENTRY)break;var l=s.element,c=this.treeAdapter.getAttrList(l);this.treeAdapter.getTagName(l)===a&&this.treeAdapter.getNamespaceURI(l)===i&&c.length===r&&n.push({idx:o,attrs:c})}return n.length<3?[]:n}},{key:"_ensureNoahArkCondition",value:function(e){var t=this._getNoahArkConditionCandidates(e),n=t.length;if(n){for(var r=this.treeAdapter.getAttrList(e),a=r.length,i=Object.create(null),o=0;o<a;o++){var s=r[o];i[s.name]=s.value}for(var l=0;l<a;l++)for(var c=0;c<n;c++){var u=t[c].attrs[l];if(i[u.name]!==u.value&&(t.splice(c,1),n--),t.length<3)return}for(var d=n-1;d>=2;d--)this.entries.splice(t[d].idx,1),this.length--}}},{key:"insertMarker",value:function(){this.entries.push({type:e.MARKER_ENTRY}),this.length++}},{key:"pushElement",value:function(t,n){this._ensureNoahArkCondition(t),this.entries.push({type:e.ELEMENT_ENTRY,element:t,token:n}),this.length++}},{key:"insertElementAfterBookmark",value:function(t,n){for(var r=this.length-1;r>=0&&this.entries[r]!==this.bookmark;r--);this.entries.splice(r+1,0,{type:e.ELEMENT_ENTRY,element:t,token:n}),this.length++}},{key:"removeEntry",value:function(e){for(var t=this.length-1;t>=0;t--)if(this.entries[t]===e){this.entries.splice(t,1),this.length--;break}}},{key:"clearToLastMarker",value:function(){for(;this.length;){var t=this.entries.pop();if(this.length--,t.type===e.MARKER_ENTRY)break}}},{key:"getElementEntryInScopeWithTagName",value:function(t){for(var n=this.length-1;n>=0;n--){var r=this.entries[n];if(r.type===e.MARKER_ENTRY)return null;if(this.treeAdapter.getTagName(r.element)===t)return r}return null}},{key:"getElementEntry",value:function(t){for(var n=this.length-1;n>=0;n--){var r=this.entries[n];if(r.type===e.ELEMENT_ENTRY&&r.element===t)return r}return null}}]),e}();i.MARKER_ENTRY="MARKER_ENTRY",i.ELEMENT_ENTRY="ELEMENT_ENTRY",e.exports=i},8992:function(e,t,n){"use strict";var r,a,i,o,s,l,c,u,d,p,m,f,g,h,b,E,y,T,S,v,A,_,k,C,w,N,I=n(6690).default,R=n(9728).default,x=n(8416).default,O=n(3085),L=n(4808),P=n(2708),D=n(9037),M=n(9839),F=n(1458),U=n(3860),B=n(3874),H=n(4802),G=n(5478),z=n(4551),$=n(4529),j=n(9539),V=j.TAG_NAMES,W=j.NAMESPACES,K=j.ATTRS,q={scriptingEnabled:!0,sourceCodeLocationInfo:!1,onParseError:null,treeAdapter:U},Y="hidden",X="INITIAL_MODE",Z="BEFORE_HTML_MODE",Q="BEFORE_HEAD_MODE",J="IN_HEAD_MODE",ee="IN_HEAD_NO_SCRIPT_MODE",te="AFTER_HEAD_MODE",ne="IN_BODY_MODE",re="TEXT_MODE",ae="IN_TABLE_MODE",ie="IN_TABLE_TEXT_MODE",oe="IN_CAPTION_MODE",se="IN_COLUMN_GROUP_MODE",le="IN_TABLE_BODY_MODE",ce="IN_ROW_MODE",ue="IN_CELL_MODE",de="IN_SELECT_MODE",pe="IN_SELECT_IN_TABLE_MODE",me="IN_TEMPLATE_MODE",fe="AFTER_BODY_MODE",ge="IN_FRAMESET_MODE",he="AFTER_FRAMESET_MODE",be="AFTER_AFTER_BODY_MODE",Ee="AFTER_AFTER_FRAMESET_MODE",ye=(x(r={},V.TR,ce),x(r,V.TBODY,le),x(r,V.THEAD,le),x(r,V.TFOOT,le),x(r,V.CAPTION,oe),x(r,V.COLGROUP,se),x(r,V.TABLE,ae),x(r,V.BODY,ne),x(r,V.FRAMESET,ge),r),Te=(x(a={},V.CAPTION,ae),x(a,V.COLGROUP,ae),x(a,V.TBODY,ae),x(a,V.TFOOT,ae),x(a,V.THEAD,ae),x(a,V.COL,se),x(a,V.TR,le),x(a,V.TD,ce),x(a,V.TH,ce),a),Se=(x(N={},X,(x(i={},O.CHARACTER_TOKEN,Me),x(i,O.NULL_CHARACTER_TOKEN,Me),x(i,O.WHITESPACE_CHARACTER_TOKEN,Re),x(i,O.COMMENT_TOKEN,Oe),x(i,O.DOCTYPE_TOKEN,(function(e,t){e._setDocumentType(t);var n=t.forceQuirks?j.DOCUMENT_MODE.QUIRKS:H.getDocumentMode(t);H.isConforming(t)||e._err(z.nonConformingDoctype);e.treeAdapter.setDocumentMode(e.document,n),e.insertionMode=Z})),x(i,O.START_TAG_TOKEN,Me),x(i,O.END_TAG_TOKEN,Me),x(i,O.EOF_TOKEN,Me),i)),x(N,Z,(x(o={},O.CHARACTER_TOKEN,Fe),x(o,O.NULL_CHARACTER_TOKEN,Fe),x(o,O.WHITESPACE_CHARACTER_TOKEN,Re),x(o,O.COMMENT_TOKEN,Oe),x(o,O.DOCTYPE_TOKEN,Re),x(o,O.START_TAG_TOKEN,(function(e,t){t.tagName===V.HTML?(e._insertElement(t,W.HTML),e.insertionMode=Q):Fe(e,t)})),x(o,O.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n!==V.HTML&&n!==V.HEAD&&n!==V.BODY&&n!==V.BR||Fe(e,t)})),x(o,O.EOF_TOKEN,Fe),o)),x(N,Q,(x(s={},O.CHARACTER_TOKEN,Ue),x(s,O.NULL_CHARACTER_TOKEN,Ue),x(s,O.WHITESPACE_CHARACTER_TOKEN,Re),x(s,O.COMMENT_TOKEN,Oe),x(s,O.DOCTYPE_TOKEN,xe),x(s,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.HTML?nt(e,t):n===V.HEAD?(e._insertElement(t,W.HTML),e.headElement=e.openElements.current,e.insertionMode=J):Ue(e,t)})),x(s,O.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.HEAD||n===V.BODY||n===V.HTML||n===V.BR?Ue(e,t):e._err(z.endTagWithoutMatchingOpenElement)})),x(s,O.EOF_TOKEN,Ue),s)),x(N,J,(x(l={},O.CHARACTER_TOKEN,Ge),x(l,O.NULL_CHARACTER_TOKEN,Ge),x(l,O.WHITESPACE_CHARACTER_TOKEN,Pe),x(l,O.COMMENT_TOKEN,Oe),x(l,O.DOCTYPE_TOKEN,xe),x(l,O.START_TAG_TOKEN,Be),x(l,O.END_TAG_TOKEN,He),x(l,O.EOF_TOKEN,Ge),l)),x(N,ee,(x(c={},O.CHARACTER_TOKEN,ze),x(c,O.NULL_CHARACTER_TOKEN,ze),x(c,O.WHITESPACE_CHARACTER_TOKEN,Pe),x(c,O.COMMENT_TOKEN,Oe),x(c,O.DOCTYPE_TOKEN,xe),x(c,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.HTML?nt(e,t):n===V.BASEFONT||n===V.BGSOUND||n===V.HEAD||n===V.LINK||n===V.META||n===V.NOFRAMES||n===V.STYLE?Be(e,t):n===V.NOSCRIPT?e._err(z.nestedNoscriptInHead):ze(e,t)})),x(c,O.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.NOSCRIPT?(e.openElements.pop(),e.insertionMode=J):n===V.BR?ze(e,t):e._err(z.endTagWithoutMatchingOpenElement)})),x(c,O.EOF_TOKEN,ze),c)),x(N,te,(x(u={},O.CHARACTER_TOKEN,$e),x(u,O.NULL_CHARACTER_TOKEN,$e),x(u,O.WHITESPACE_CHARACTER_TOKEN,Pe),x(u,O.COMMENT_TOKEN,Oe),x(u,O.DOCTYPE_TOKEN,xe),x(u,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.HTML?nt(e,t):n===V.BODY?(e._insertElement(t,W.HTML),e.framesetOk=!1,e.insertionMode=ne):n===V.FRAMESET?(e._insertElement(t,W.HTML),e.insertionMode=ge):n===V.BASE||n===V.BASEFONT||n===V.BGSOUND||n===V.LINK||n===V.META||n===V.NOFRAMES||n===V.SCRIPT||n===V.STYLE||n===V.TEMPLATE||n===V.TITLE?(e._err(z.abandonedHeadElementChild),e.openElements.push(e.headElement),Be(e,t),e.openElements.remove(e.headElement)):n===V.HEAD?e._err(z.misplacedStartTagForHeadElement):$e(e,t)})),x(u,O.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.BODY||n===V.HTML||n===V.BR?$e(e,t):n===V.TEMPLATE?He(e,t):e._err(z.endTagWithoutMatchingOpenElement)})),x(u,O.EOF_TOKEN,$e),u)),x(N,ne,(x(d={},O.CHARACTER_TOKEN,Ve),x(d,O.NULL_CHARACTER_TOKEN,Re),x(d,O.WHITESPACE_CHARACTER_TOKEN,je),x(d,O.COMMENT_TOKEN,Oe),x(d,O.DOCTYPE_TOKEN,Re),x(d,O.START_TAG_TOKEN,nt),x(d,O.END_TAG_TOKEN,ot),x(d,O.EOF_TOKEN,st),d)),x(N,re,(x(p={},O.CHARACTER_TOKEN,Pe),x(p,O.NULL_CHARACTER_TOKEN,Pe),x(p,O.WHITESPACE_CHARACTER_TOKEN,Pe),x(p,O.COMMENT_TOKEN,Re),x(p,O.DOCTYPE_TOKEN,Re),x(p,O.START_TAG_TOKEN,Re),x(p,O.END_TAG_TOKEN,(function(e,t){t.tagName===V.SCRIPT&&(e.pendingScript=e.openElements.current);e.openElements.pop(),e.insertionMode=e.originalInsertionMode})),x(p,O.EOF_TOKEN,(function(e,t){e._err(z.eofInElementThatCanContainOnlyText),e.openElements.pop(),e.insertionMode=e.originalInsertionMode,e._processToken(t)})),p)),x(N,ae,(x(m={},O.CHARACTER_TOKEN,lt),x(m,O.NULL_CHARACTER_TOKEN,lt),x(m,O.WHITESPACE_CHARACTER_TOKEN,lt),x(m,O.COMMENT_TOKEN,Oe),x(m,O.DOCTYPE_TOKEN,Re),x(m,O.START_TAG_TOKEN,ct),x(m,O.END_TAG_TOKEN,ut),x(m,O.EOF_TOKEN,st),m)),x(N,ie,(x(f={},O.CHARACTER_TOKEN,(function(e,t){e.pendingCharacterTokens.push(t),e.hasNonWhitespacePendingCharacterToken=!0})),x(f,O.NULL_CHARACTER_TOKEN,Re),x(f,O.WHITESPACE_CHARACTER_TOKEN,(function(e,t){e.pendingCharacterTokens.push(t)})),x(f,O.COMMENT_TOKEN,pt),x(f,O.DOCTYPE_TOKEN,pt),x(f,O.START_TAG_TOKEN,pt),x(f,O.END_TAG_TOKEN,pt),x(f,O.EOF_TOKEN,pt),f)),x(N,oe,(x(g={},O.CHARACTER_TOKEN,Ve),x(g,O.NULL_CHARACTER_TOKEN,Re),x(g,O.WHITESPACE_CHARACTER_TOKEN,je),x(g,O.COMMENT_TOKEN,Oe),x(g,O.DOCTYPE_TOKEN,Re),x(g,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.CAPTION||n===V.COL||n===V.COLGROUP||n===V.TBODY||n===V.TD||n===V.TFOOT||n===V.TH||n===V.THEAD||n===V.TR?e.openElements.hasInTableScope(V.CAPTION)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(V.CAPTION),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=ae,e._processToken(t)):nt(e,t)})),x(g,O.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.CAPTION||n===V.TABLE?e.openElements.hasInTableScope(V.CAPTION)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(V.CAPTION),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=ae,n===V.TABLE&&e._processToken(t)):n!==V.BODY&&n!==V.COL&&n!==V.COLGROUP&&n!==V.HTML&&n!==V.TBODY&&n!==V.TD&&n!==V.TFOOT&&n!==V.TH&&n!==V.THEAD&&n!==V.TR&&ot(e,t)})),x(g,O.EOF_TOKEN,st),g)),x(N,se,(x(h={},O.CHARACTER_TOKEN,mt),x(h,O.NULL_CHARACTER_TOKEN,mt),x(h,O.WHITESPACE_CHARACTER_TOKEN,Pe),x(h,O.COMMENT_TOKEN,Oe),x(h,O.DOCTYPE_TOKEN,Re),x(h,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.HTML?nt(e,t):n===V.COL?(e._appendElement(t,W.HTML),t.ackSelfClosing=!0):n===V.TEMPLATE?Be(e,t):mt(e,t)})),x(h,O.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.COLGROUP?e.openElements.currentTagName===V.COLGROUP&&(e.openElements.pop(),e.insertionMode=ae):n===V.TEMPLATE?He(e,t):n!==V.COL&&mt(e,t)})),x(h,O.EOF_TOKEN,st),h)),x(N,le,(x(b={},O.CHARACTER_TOKEN,lt),x(b,O.NULL_CHARACTER_TOKEN,lt),x(b,O.WHITESPACE_CHARACTER_TOKEN,lt),x(b,O.COMMENT_TOKEN,Oe),x(b,O.DOCTYPE_TOKEN,Re),x(b,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.TR?(e.openElements.clearBackToTableBodyContext(),e._insertElement(t,W.HTML),e.insertionMode=ce):n===V.TH||n===V.TD?(e.openElements.clearBackToTableBodyContext(),e._insertFakeElement(V.TR),e.insertionMode=ce,e._processToken(t)):n===V.CAPTION||n===V.COL||n===V.COLGROUP||n===V.TBODY||n===V.TFOOT||n===V.THEAD?e.openElements.hasTableBodyContextInTableScope()&&(e.openElements.clearBackToTableBodyContext(),e.openElements.pop(),e.insertionMode=ae,e._processToken(t)):ct(e,t)})),x(b,O.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.TBODY||n===V.TFOOT||n===V.THEAD?e.openElements.hasInTableScope(n)&&(e.openElements.clearBackToTableBodyContext(),e.openElements.pop(),e.insertionMode=ae):n===V.TABLE?e.openElements.hasTableBodyContextInTableScope()&&(e.openElements.clearBackToTableBodyContext(),e.openElements.pop(),e.insertionMode=ae,e._processToken(t)):(n!==V.BODY&&n!==V.CAPTION&&n!==V.COL&&n!==V.COLGROUP||n!==V.HTML&&n!==V.TD&&n!==V.TH&&n!==V.TR)&&ut(e,t)})),x(b,O.EOF_TOKEN,st),b)),x(N,ce,(x(E={},O.CHARACTER_TOKEN,lt),x(E,O.NULL_CHARACTER_TOKEN,lt),x(E,O.WHITESPACE_CHARACTER_TOKEN,lt),x(E,O.COMMENT_TOKEN,Oe),x(E,O.DOCTYPE_TOKEN,Re),x(E,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.TH||n===V.TD?(e.openElements.clearBackToTableRowContext(),e._insertElement(t,W.HTML),e.insertionMode=ue,e.activeFormattingElements.insertMarker()):n===V.CAPTION||n===V.COL||n===V.COLGROUP||n===V.TBODY||n===V.TFOOT||n===V.THEAD||n===V.TR?e.openElements.hasInTableScope(V.TR)&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=le,e._processToken(t)):ct(e,t)})),x(E,O.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.TR?e.openElements.hasInTableScope(V.TR)&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=le):n===V.TABLE?e.openElements.hasInTableScope(V.TR)&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=le,e._processToken(t)):n===V.TBODY||n===V.TFOOT||n===V.THEAD?(e.openElements.hasInTableScope(n)||e.openElements.hasInTableScope(V.TR))&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=le,e._processToken(t)):(n!==V.BODY&&n!==V.CAPTION&&n!==V.COL&&n!==V.COLGROUP||n!==V.HTML&&n!==V.TD&&n!==V.TH)&&ut(e,t)})),x(E,O.EOF_TOKEN,st),E)),x(N,ue,(x(y={},O.CHARACTER_TOKEN,Ve),x(y,O.NULL_CHARACTER_TOKEN,Re),x(y,O.WHITESPACE_CHARACTER_TOKEN,je),x(y,O.COMMENT_TOKEN,Oe),x(y,O.DOCTYPE_TOKEN,Re),x(y,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.CAPTION||n===V.COL||n===V.COLGROUP||n===V.TBODY||n===V.TD||n===V.TFOOT||n===V.TH||n===V.THEAD||n===V.TR?(e.openElements.hasInTableScope(V.TD)||e.openElements.hasInTableScope(V.TH))&&(e._closeTableCell(),e._processToken(t)):nt(e,t)})),x(y,O.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.TD||n===V.TH?e.openElements.hasInTableScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=ce):n===V.TABLE||n===V.TBODY||n===V.TFOOT||n===V.THEAD||n===V.TR?e.openElements.hasInTableScope(n)&&(e._closeTableCell(),e._processToken(t)):n!==V.BODY&&n!==V.CAPTION&&n!==V.COL&&n!==V.COLGROUP&&n!==V.HTML&&ot(e,t)})),x(y,O.EOF_TOKEN,st),y)),x(N,de,(x(T={},O.CHARACTER_TOKEN,Pe),x(T,O.NULL_CHARACTER_TOKEN,Re),x(T,O.WHITESPACE_CHARACTER_TOKEN,Pe),x(T,O.COMMENT_TOKEN,Oe),x(T,O.DOCTYPE_TOKEN,Re),x(T,O.START_TAG_TOKEN,ft),x(T,O.END_TAG_TOKEN,gt),x(T,O.EOF_TOKEN,st),T)),x(N,pe,(x(S={},O.CHARACTER_TOKEN,Pe),x(S,O.NULL_CHARACTER_TOKEN,Re),x(S,O.WHITESPACE_CHARACTER_TOKEN,Pe),x(S,O.COMMENT_TOKEN,Oe),x(S,O.DOCTYPE_TOKEN,Re),x(S,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.CAPTION||n===V.TABLE||n===V.TBODY||n===V.TFOOT||n===V.THEAD||n===V.TR||n===V.TD||n===V.TH?(e.openElements.popUntilTagNamePopped(V.SELECT),e._resetInsertionMode(),e._processToken(t)):ft(e,t)})),x(S,O.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.CAPTION||n===V.TABLE||n===V.TBODY||n===V.TFOOT||n===V.THEAD||n===V.TR||n===V.TD||n===V.TH?e.openElements.hasInTableScope(n)&&(e.openElements.popUntilTagNamePopped(V.SELECT),e._resetInsertionMode(),e._processToken(t)):gt(e,t)})),x(S,O.EOF_TOKEN,st),S)),x(N,me,(x(v={},O.CHARACTER_TOKEN,Ve),x(v,O.NULL_CHARACTER_TOKEN,Re),x(v,O.WHITESPACE_CHARACTER_TOKEN,je),x(v,O.COMMENT_TOKEN,Oe),x(v,O.DOCTYPE_TOKEN,Re),x(v,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;if(n===V.BASE||n===V.BASEFONT||n===V.BGSOUND||n===V.LINK||n===V.META||n===V.NOFRAMES||n===V.SCRIPT||n===V.STYLE||n===V.TEMPLATE||n===V.TITLE)Be(e,t);else{var r=Te[n]||ne;e._popTmplInsertionMode(),e._pushTmplInsertionMode(r),e.insertionMode=r,e._processToken(t)}})),x(v,O.END_TAG_TOKEN,(function(e,t){t.tagName===V.TEMPLATE&&He(e,t)})),x(v,O.EOF_TOKEN,ht),v)),x(N,fe,(x(A={},O.CHARACTER_TOKEN,bt),x(A,O.NULL_CHARACTER_TOKEN,bt),x(A,O.WHITESPACE_CHARACTER_TOKEN,je),x(A,O.COMMENT_TOKEN,(function(e,t){e._appendCommentNode(t,e.openElements.items[0])})),x(A,O.DOCTYPE_TOKEN,Re),x(A,O.START_TAG_TOKEN,(function(e,t){t.tagName===V.HTML?nt(e,t):bt(e,t)})),x(A,O.END_TAG_TOKEN,(function(e,t){t.tagName===V.HTML?e.fragmentContext||(e.insertionMode=be):bt(e,t)})),x(A,O.EOF_TOKEN,De),A)),x(N,ge,(x(_={},O.CHARACTER_TOKEN,Re),x(_,O.NULL_CHARACTER_TOKEN,Re),x(_,O.WHITESPACE_CHARACTER_TOKEN,Pe),x(_,O.COMMENT_TOKEN,Oe),x(_,O.DOCTYPE_TOKEN,Re),x(_,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.HTML?nt(e,t):n===V.FRAMESET?e._insertElement(t,W.HTML):n===V.FRAME?(e._appendElement(t,W.HTML),t.ackSelfClosing=!0):n===V.NOFRAMES&&Be(e,t)})),x(_,O.END_TAG_TOKEN,(function(e,t){t.tagName!==V.FRAMESET||e.openElements.isRootHtmlElementCurrent()||(e.openElements.pop(),e.fragmentContext||e.openElements.currentTagName===V.FRAMESET||(e.insertionMode=he))})),x(_,O.EOF_TOKEN,De),_)),x(N,he,(x(k={},O.CHARACTER_TOKEN,Re),x(k,O.NULL_CHARACTER_TOKEN,Re),x(k,O.WHITESPACE_CHARACTER_TOKEN,Pe),x(k,O.COMMENT_TOKEN,Oe),x(k,O.DOCTYPE_TOKEN,Re),x(k,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.HTML?nt(e,t):n===V.NOFRAMES&&Be(e,t)})),x(k,O.END_TAG_TOKEN,(function(e,t){t.tagName===V.HTML&&(e.insertionMode=Ee)})),x(k,O.EOF_TOKEN,De),k)),x(N,be,(x(C={},O.CHARACTER_TOKEN,Et),x(C,O.NULL_CHARACTER_TOKEN,Et),x(C,O.WHITESPACE_CHARACTER_TOKEN,je),x(C,O.COMMENT_TOKEN,Le),x(C,O.DOCTYPE_TOKEN,Re),x(C,O.START_TAG_TOKEN,(function(e,t){t.tagName===V.HTML?nt(e,t):Et(e,t)})),x(C,O.END_TAG_TOKEN,Et),x(C,O.EOF_TOKEN,De),C)),x(N,Ee,(x(w={},O.CHARACTER_TOKEN,Re),x(w,O.NULL_CHARACTER_TOKEN,Re),x(w,O.WHITESPACE_CHARACTER_TOKEN,je),x(w,O.COMMENT_TOKEN,Le),x(w,O.DOCTYPE_TOKEN,Re),x(w,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.HTML?nt(e,t):n===V.NOFRAMES&&Be(e,t)})),x(w,O.END_TAG_TOKEN,Re),x(w,O.EOF_TOKEN,De),w)),N),ve=function(){function e(t){I(this,e),this.options=B(q,t),this.treeAdapter=this.options.treeAdapter,this.pendingScript=null,this.options.sourceCodeLocationInfo&&F.install(this,D),this.options.onParseError&&F.install(this,M,{onParseError:this.options.onParseError})}return R(e,[{key:"parse",value:function(e){var t=this.treeAdapter.createDocument();return this._bootstrap(t,null),this.tokenizer.write(e,!0),this._runParsingLoop(null),t}},{key:"parseFragment",value:function(e,t){t||(t=this.treeAdapter.createElement(V.TEMPLATE,W.HTML,[]));var n=this.treeAdapter.createElement("documentmock",W.HTML,[]);this._bootstrap(n,t),this.treeAdapter.getTagName(t)===V.TEMPLATE&&this._pushTmplInsertionMode(me),this._initTokenizerForFragmentParsing(),this._insertFakeRootElement(),this._resetInsertionMode(),this._findFormInFragmentContext(),this.tokenizer.write(e,!0),this._runParsingLoop(null);var r=this.treeAdapter.getFirstChild(n),a=this.treeAdapter.createDocumentFragment();return this._adoptNodes(r,a),a}},{key:"_bootstrap",value:function(e,t){this.tokenizer=new O(this.options),this.stopped=!1,this.insertionMode=X,this.originalInsertionMode="",this.document=e,this.fragmentContext=t,this.headElement=null,this.formElement=null,this.openElements=new L(this.document,this.treeAdapter),this.activeFormattingElements=new P(this.treeAdapter),this.tmplInsertionModeStack=[],this.tmplInsertionModeStackTop=-1,this.currentTmplInsertionMode=null,this.pendingCharacterTokens=[],this.hasNonWhitespacePendingCharacterToken=!1,this.framesetOk=!0,this.skipNextNewLine=!1,this.fosterParentingEnabled=!1}},{key:"_err",value:function(){}},{key:"_runParsingLoop",value:function(e){for(;!this.stopped;){this._setupTokenizerCDATAMode();var t=this.tokenizer.getNextToken();if(t.type===O.HIBERNATION_TOKEN)break;if(this.skipNextNewLine&&(this.skipNextNewLine=!1,t.type===O.WHITESPACE_CHARACTER_TOKEN&&"\n"===t.chars[0])){if(1===t.chars.length)continue;t.chars=t.chars.substr(1)}if(this._processInputToken(t),e&&this.pendingScript)break}}},{key:"runParsingLoopForCurrentChunk",value:function(e,t){if(this._runParsingLoop(t),t&&this.pendingScript){var n=this.pendingScript;return this.pendingScript=null,void t(n)}e&&e()}},{key:"_setupTokenizerCDATAMode",value:function(){var e=this._getAdjustedCurrentElement();this.tokenizer.allowCDATA=e&&e!==this.document&&this.treeAdapter.getNamespaceURI(e)!==W.HTML&&!this._isIntegrationPoint(e)}},{key:"_switchToTextParsing",value:function(e,t){this._insertElement(e,W.HTML),this.tokenizer.state=t,this.originalInsertionMode=this.insertionMode,this.insertionMode=re}},{key:"switchToPlaintextParsing",value:function(){this.insertionMode=re,this.originalInsertionMode=ne,this.tokenizer.state=O.MODE.PLAINTEXT}},{key:"_getAdjustedCurrentElement",value:function(){return 0===this.openElements.stackTop&&this.fragmentContext?this.fragmentContext:this.openElements.current}},{key:"_findFormInFragmentContext",value:function(){var e=this.fragmentContext;do{if(this.treeAdapter.getTagName(e)===V.FORM){this.formElement=e;break}e=this.treeAdapter.getParentNode(e)}while(e)}},{key:"_initTokenizerForFragmentParsing",value:function(){if(this.treeAdapter.getNamespaceURI(this.fragmentContext)===W.HTML){var e=this.treeAdapter.getTagName(this.fragmentContext);e===V.TITLE||e===V.TEXTAREA?this.tokenizer.state=O.MODE.RCDATA:e===V.STYLE||e===V.XMP||e===V.IFRAME||e===V.NOEMBED||e===V.NOFRAMES||e===V.NOSCRIPT?this.tokenizer.state=O.MODE.RAWTEXT:e===V.SCRIPT?this.tokenizer.state=O.MODE.SCRIPT_DATA:e===V.PLAINTEXT&&(this.tokenizer.state=O.MODE.PLAINTEXT)}}},{key:"_setDocumentType",value:function(e){var t=e.name||"",n=e.publicId||"",r=e.systemId||"";this.treeAdapter.setDocumentType(this.document,t,n,r)}},{key:"_attachElementToTree",value:function(e){if(this._shouldFosterParentOnInsertion())this._fosterParentElement(e);else{var t=this.openElements.currentTmplContent||this.openElements.current;this.treeAdapter.appendChild(t,e)}}},{key:"_appendElement",value:function(e,t){var n=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(n)}},{key:"_insertElement",value:function(e,t){var n=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(n),this.openElements.push(n)}},{key:"_insertFakeElement",value:function(e){var t=this.treeAdapter.createElement(e,W.HTML,[]);this._attachElementToTree(t),this.openElements.push(t)}},{key:"_insertTemplate",value:function(e){var t=this.treeAdapter.createElement(e.tagName,W.HTML,e.attrs),n=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(t,n),this._attachElementToTree(t),this.openElements.push(t)}},{key:"_insertFakeRootElement",value:function(){var e=this.treeAdapter.createElement(V.HTML,W.HTML,[]);this.treeAdapter.appendChild(this.openElements.current,e),this.openElements.push(e)}},{key:"_appendCommentNode",value:function(e,t){var n=this.treeAdapter.createCommentNode(e.data);this.treeAdapter.appendChild(t,n)}},{key:"_insertCharacters",value:function(e){if(this._shouldFosterParentOnInsertion())this._fosterParentText(e.chars);else{var t=this.openElements.currentTmplContent||this.openElements.current;this.treeAdapter.insertText(t,e.chars)}}},{key:"_adoptNodes",value:function(e,t){for(var n=this.treeAdapter.getFirstChild(e);n;n=this.treeAdapter.getFirstChild(e))this.treeAdapter.detachNode(n),this.treeAdapter.appendChild(t,n)}},{key:"_shouldProcessTokenInForeignContent",value:function(e){var t=this._getAdjustedCurrentElement();if(!t||t===this.document)return!1;var n=this.treeAdapter.getNamespaceURI(t);if(n===W.HTML)return!1;if(this.treeAdapter.getTagName(t)===V.ANNOTATION_XML&&n===W.MATHML&&e.type===O.START_TAG_TOKEN&&e.tagName===V.SVG)return!1;var r=e.type===O.CHARACTER_TOKEN||e.type===O.NULL_CHARACTER_TOKEN||e.type===O.WHITESPACE_CHARACTER_TOKEN;return(!(e.type===O.START_TAG_TOKEN&&e.tagName!==V.MGLYPH&&e.tagName!==V.MALIGNMARK)&&!r||!this._isIntegrationPoint(t,W.MATHML))&&((e.type!==O.START_TAG_TOKEN&&!r||!this._isIntegrationPoint(t,W.HTML))&&e.type!==O.EOF_TOKEN)}},{key:"_processToken",value:function(e){Se[this.insertionMode][e.type](this,e)}},{key:"_processTokenInBodyMode",value:function(e){Se.IN_BODY_MODE[e.type](this,e)}},{key:"_processTokenInForeignContent",value:function(e){e.type===O.CHARACTER_TOKEN?function(e,t){e._insertCharacters(t),e.framesetOk=!1}(this,e):e.type===O.NULL_CHARACTER_TOKEN?function(e,t){t.chars=$.REPLACEMENT_CHARACTER,e._insertCharacters(t)}(this,e):e.type===O.WHITESPACE_CHARACTER_TOKEN?Pe(this,e):e.type===O.COMMENT_TOKEN?Oe(this,e):e.type===O.START_TAG_TOKEN?function(e,t){if(G.causesExit(t)&&!e.fragmentContext){for(;e.treeAdapter.getNamespaceURI(e.openElements.current)!==W.HTML&&!e._isIntegrationPoint(e.openElements.current);)e.openElements.pop();e._processToken(t)}else{var n=e._getAdjustedCurrentElement(),r=e.treeAdapter.getNamespaceURI(n);r===W.MATHML?G.adjustTokenMathMLAttrs(t):r===W.SVG&&(G.adjustTokenSVGTagName(t),G.adjustTokenSVGAttrs(t)),G.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,r):e._insertElement(t,r),t.ackSelfClosing=!0}}(this,e):e.type===O.END_TAG_TOKEN&&function(e,t){for(var n=e.openElements.stackTop;n>0;n--){var r=e.openElements.items[n];if(e.treeAdapter.getNamespaceURI(r)===W.HTML){e._processToken(t);break}if(e.treeAdapter.getTagName(r).toLowerCase()===t.tagName){e.openElements.popUntilElementPopped(r);break}}}(this,e)}},{key:"_processInputToken",value:function(e){this._shouldProcessTokenInForeignContent(e)?this._processTokenInForeignContent(e):this._processToken(e),e.type===O.START_TAG_TOKEN&&e.selfClosing&&!e.ackSelfClosing&&this._err(z.nonVoidHtmlElementStartTagWithTrailingSolidus)}},{key:"_isIntegrationPoint",value:function(e,t){var n=this.treeAdapter.getTagName(e),r=this.treeAdapter.getNamespaceURI(e),a=this.treeAdapter.getAttrList(e);return G.isIntegrationPoint(n,r,a,t)}},{key:"_reconstructActiveFormattingElements",value:function(){var e=this.activeFormattingElements.length;if(e){var t=e,n=null;do{if(t--,(n=this.activeFormattingElements.entries[t]).type===P.MARKER_ENTRY||this.openElements.contains(n.element)){t++;break}}while(t>0);for(var r=t;r<e;r++)n=this.activeFormattingElements.entries[r],this._insertElement(n.token,this.treeAdapter.getNamespaceURI(n.element)),n.element=this.openElements.current}}},{key:"_closeTableCell",value:function(){this.openElements.generateImpliedEndTags(),this.openElements.popUntilTableCellPopped(),this.activeFormattingElements.clearToLastMarker(),this.insertionMode=ce}},{key:"_closePElement",value:function(){this.openElements.generateImpliedEndTagsWithExclusion(V.P),this.openElements.popUntilTagNamePopped(V.P)}},{key:"_resetInsertionMode",value:function(){for(var e=this.openElements.stackTop,t=!1;e>=0;e--){var n=this.openElements.items[e];0===e&&(t=!0,this.fragmentContext&&(n=this.fragmentContext));var r=this.treeAdapter.getTagName(n),a=ye[r];if(a){this.insertionMode=a;break}if(!(t||r!==V.TD&&r!==V.TH)){this.insertionMode=ue;break}if(!t&&r===V.HEAD){this.insertionMode=J;break}if(r===V.SELECT){this._resetInsertionModeForSelect(e);break}if(r===V.TEMPLATE){this.insertionMode=this.currentTmplInsertionMode;break}if(r===V.HTML){this.insertionMode=this.headElement?te:Q;break}if(t){this.insertionMode=ne;break}}}},{key:"_resetInsertionModeForSelect",value:function(e){if(e>0)for(var t=e-1;t>0;t--){var n=this.openElements.items[t],r=this.treeAdapter.getTagName(n);if(r===V.TEMPLATE)break;if(r===V.TABLE)return void(this.insertionMode=pe)}this.insertionMode=de}},{key:"_pushTmplInsertionMode",value:function(e){this.tmplInsertionModeStack.push(e),this.tmplInsertionModeStackTop++,this.currentTmplInsertionMode=e}},{key:"_popTmplInsertionMode",value:function(){this.tmplInsertionModeStack.pop(),this.tmplInsertionModeStackTop--,this.currentTmplInsertionMode=this.tmplInsertionModeStack[this.tmplInsertionModeStackTop]}},{key:"_isElementCausesFosterParenting",value:function(e){var t=this.treeAdapter.getTagName(e);return t===V.TABLE||t===V.TBODY||t===V.TFOOT||t===V.THEAD||t===V.TR}},{key:"_shouldFosterParentOnInsertion",value:function(){return this.fosterParentingEnabled&&this._isElementCausesFosterParenting(this.openElements.current)}},{key:"_findFosterParentingLocation",value:function(){for(var e={parent:null,beforeElement:null},t=this.openElements.stackTop;t>=0;t--){var n=this.openElements.items[t],r=this.treeAdapter.getTagName(n),a=this.treeAdapter.getNamespaceURI(n);if(r===V.TEMPLATE&&a===W.HTML){e.parent=this.treeAdapter.getTemplateContent(n);break}if(r===V.TABLE){e.parent=this.treeAdapter.getParentNode(n),e.parent?e.beforeElement=n:e.parent=this.openElements.items[t-1];break}}return e.parent||(e.parent=this.openElements.items[0]),e}},{key:"_fosterParentElement",value:function(e){var t=this._findFosterParentingLocation();t.beforeElement?this.treeAdapter.insertBefore(t.parent,e,t.beforeElement):this.treeAdapter.appendChild(t.parent,e)}},{key:"_fosterParentText",value:function(e){var t=this._findFosterParentingLocation();t.beforeElement?this.treeAdapter.insertTextBefore(t.parent,e,t.beforeElement):this.treeAdapter.insertText(t.parent,e)}},{key:"_isSpecialElement",value:function(e){var t=this.treeAdapter.getTagName(e),n=this.treeAdapter.getNamespaceURI(e);return j.SPECIAL_ELEMENTS[n][t]}}]),e}();function Ae(e,t){var n=e.activeFormattingElements.getElementEntryInScopeWithTagName(t.tagName);return n?e.openElements.contains(n.element)?e.openElements.hasInScope(t.tagName)||(n=null):(e.activeFormattingElements.removeEntry(n),n=null):it(e,t),n}function _e(e,t){for(var n=null,r=e.openElements.stackTop;r>=0;r--){var a=e.openElements.items[r];if(a===t.element)break;e._isSpecialElement(a)&&(n=a)}return n||(e.openElements.popUntilElementPopped(t.element),e.activeFormattingElements.removeEntry(t)),n}function ke(e,t,n){for(var r=t,a=e.openElements.getCommonAncestor(t),i=0,o=a;o!==n;i++,o=a){a=e.openElements.getCommonAncestor(o);var s=e.activeFormattingElements.getElementEntry(o),l=s&&i>=3;!s||l?(l&&e.activeFormattingElements.removeEntry(s),e.openElements.remove(o)):(o=Ce(e,s),r===t&&(e.activeFormattingElements.bookmark=s),e.treeAdapter.detachNode(r),e.treeAdapter.appendChild(o,r),r=o)}return r}function Ce(e,t){var n=e.treeAdapter.getNamespaceURI(t.element),r=e.treeAdapter.createElement(t.token.tagName,n,t.token.attrs);return e.openElements.replace(t.element,r),t.element=r,r}function we(e,t,n){if(e._isElementCausesFosterParenting(t))e._fosterParentElement(n);else{var r=e.treeAdapter.getTagName(t),a=e.treeAdapter.getNamespaceURI(t);r===V.TEMPLATE&&a===W.HTML&&(t=e.treeAdapter.getTemplateContent(t)),e.treeAdapter.appendChild(t,n)}}function Ne(e,t,n){var r=e.treeAdapter.getNamespaceURI(n.element),a=n.token,i=e.treeAdapter.createElement(a.tagName,r,a.attrs);e._adoptNodes(t,i),e.treeAdapter.appendChild(t,i),e.activeFormattingElements.insertElementAfterBookmark(i,n.token),e.activeFormattingElements.removeEntry(n),e.openElements.remove(n.element),e.openElements.insertAfter(t,i)}function Ie(e,t){for(var n,r=0;r<8&&(n=Ae(e,t));r++){var a=_e(e,n);if(!a)break;e.activeFormattingElements.bookmark=n;var i=ke(e,a,n.element),o=e.openElements.getCommonAncestor(n.element);e.treeAdapter.detachNode(i),we(e,o,i),Ne(e,a,n)}}function Re(){}function xe(e){e._err(z.misplacedDoctype)}function Oe(e,t){e._appendCommentNode(t,e.openElements.currentTmplContent||e.openElements.current)}function Le(e,t){e._appendCommentNode(t,e.document)}function Pe(e,t){e._insertCharacters(t)}function De(e){e.stopped=!0}function Me(e,t){e._err(z.missingDoctype,{beforeToken:!0}),e.treeAdapter.setDocumentMode(e.document,j.DOCUMENT_MODE.QUIRKS),e.insertionMode=Z,e._processToken(t)}function Fe(e,t){e._insertFakeRootElement(),e.insertionMode=Q,e._processToken(t)}function Ue(e,t){e._insertFakeElement(V.HEAD),e.headElement=e.openElements.current,e.insertionMode=J,e._processToken(t)}function Be(e,t){var n=t.tagName;n===V.HTML?nt(e,t):n===V.BASE||n===V.BASEFONT||n===V.BGSOUND||n===V.LINK||n===V.META?(e._appendElement(t,W.HTML),t.ackSelfClosing=!0):n===V.TITLE?e._switchToTextParsing(t,O.MODE.RCDATA):n===V.NOSCRIPT?e.options.scriptingEnabled?e._switchToTextParsing(t,O.MODE.RAWTEXT):(e._insertElement(t,W.HTML),e.insertionMode=ee):n===V.NOFRAMES||n===V.STYLE?e._switchToTextParsing(t,O.MODE.RAWTEXT):n===V.SCRIPT?e._switchToTextParsing(t,O.MODE.SCRIPT_DATA):n===V.TEMPLATE?(e._insertTemplate(t,W.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1,e.insertionMode=me,e._pushTmplInsertionMode(me)):n===V.HEAD?e._err(z.misplacedStartTagForHeadElement):Ge(e,t)}function He(e,t){var n=t.tagName;n===V.HEAD?(e.openElements.pop(),e.insertionMode=te):n===V.BODY||n===V.BR||n===V.HTML?Ge(e,t):n===V.TEMPLATE&&e.openElements.tmplCount>0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagName!==V.TEMPLATE&&e._err(z.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(V.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e._popTmplInsertionMode(),e._resetInsertionMode()):e._err(z.endTagWithoutMatchingOpenElement)}function Ge(e,t){e.openElements.pop(),e.insertionMode=te,e._processToken(t)}function ze(e,t){var n=t.type===O.EOF_TOKEN?z.openElementsLeftAfterEof:z.disallowedContentInNoscriptInHead;e._err(n),e.openElements.pop(),e.insertionMode=J,e._processToken(t)}function $e(e,t){e._insertFakeElement(V.BODY),e.insertionMode=ne,e._processToken(t)}function je(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function Ve(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function We(e,t){e.openElements.hasInButtonScope(V.P)&&e._closePElement(),e._insertElement(t,W.HTML)}function Ke(e,t){e.openElements.hasInButtonScope(V.P)&&e._closePElement(),e._insertElement(t,W.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}function qe(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,W.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function Ye(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,W.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}function Xe(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,W.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function Ze(e,t){e._appendElement(t,W.HTML),t.ackSelfClosing=!0}function Qe(e,t){e._switchToTextParsing(t,O.MODE.RAWTEXT)}function Je(e,t){e.openElements.currentTagName===V.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(t,W.HTML)}function et(e,t){e.openElements.hasInScope(V.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(t,W.HTML)}function tt(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,W.HTML)}function nt(e,t){var n=t.tagName;switch(n.length){case 1:n===V.I||n===V.S||n===V.B||n===V.U?qe(e,t):n===V.P?We(e,t):n===V.A?function(e,t){var n=e.activeFormattingElements.getElementEntryInScopeWithTagName(V.A);n&&(Ie(e,t),e.openElements.remove(n.element),e.activeFormattingElements.removeEntry(n)),e._reconstructActiveFormattingElements(),e._insertElement(t,W.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t):tt(e,t);break;case 2:n===V.DL||n===V.OL||n===V.UL?We(e,t):n===V.H1||n===V.H2||n===V.H3||n===V.H4||n===V.H5||n===V.H6?function(e,t){e.openElements.hasInButtonScope(V.P)&&e._closePElement();var n=e.openElements.currentTagName;n!==V.H1&&n!==V.H2&&n!==V.H3&&n!==V.H4&&n!==V.H5&&n!==V.H6||e.openElements.pop(),e._insertElement(t,W.HTML)}(e,t):n===V.LI||n===V.DD||n===V.DT?function(e,t){e.framesetOk=!1;for(var n=t.tagName,r=e.openElements.stackTop;r>=0;r--){var a=e.openElements.items[r],i=e.treeAdapter.getTagName(a),o=null;if(n===V.LI&&i===V.LI?o=V.LI:n!==V.DD&&n!==V.DT||i!==V.DD&&i!==V.DT||(o=i),o){e.openElements.generateImpliedEndTagsWithExclusion(o),e.openElements.popUntilTagNamePopped(o);break}if(i!==V.ADDRESS&&i!==V.DIV&&i!==V.P&&e._isSpecialElement(a))break}e.openElements.hasInButtonScope(V.P)&&e._closePElement(),e._insertElement(t,W.HTML)}(e,t):n===V.EM||n===V.TT?qe(e,t):n===V.BR?Xe(e,t):n===V.HR?function(e,t){e.openElements.hasInButtonScope(V.P)&&e._closePElement(),e._appendElement(t,W.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}(e,t):n===V.RB?et(e,t):n===V.RT||n===V.RP?function(e,t){e.openElements.hasInScope(V.RUBY)&&e.openElements.generateImpliedEndTagsWithExclusion(V.RTC),e._insertElement(t,W.HTML)}(e,t):n!==V.TH&&n!==V.TD&&n!==V.TR&&tt(e,t);break;case 3:n===V.DIV||n===V.DIR||n===V.NAV?We(e,t):n===V.PRE?Ke(e,t):n===V.BIG?qe(e,t):n===V.IMG||n===V.WBR?Xe(e,t):n===V.XMP?function(e,t){e.openElements.hasInButtonScope(V.P)&&e._closePElement(),e._reconstructActiveFormattingElements(),e.framesetOk=!1,e._switchToTextParsing(t,O.MODE.RAWTEXT)}(e,t):n===V.SVG?function(e,t){e._reconstructActiveFormattingElements(),G.adjustTokenSVGAttrs(t),G.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,W.SVG):e._insertElement(t,W.SVG),t.ackSelfClosing=!0}(e,t):n===V.RTC?et(e,t):n!==V.COL&&tt(e,t);break;case 4:n===V.HTML?function(e,t){0===e.openElements.tmplCount&&e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}(e,t):n===V.BASE||n===V.LINK||n===V.META?Be(e,t):n===V.BODY?function(e,t){var n=e.openElements.tryPeekProperlyNestedBodyElement();n&&0===e.openElements.tmplCount&&(e.framesetOk=!1,e.treeAdapter.adoptAttributes(n,t.attrs))}(e,t):n===V.MAIN||n===V.MENU?We(e,t):n===V.FORM?function(e,t){var n=e.openElements.tmplCount>0;e.formElement&&!n||(e.openElements.hasInButtonScope(V.P)&&e._closePElement(),e._insertElement(t,W.HTML),n||(e.formElement=e.openElements.current))}(e,t):n===V.CODE||n===V.FONT?qe(e,t):n===V.NOBR?function(e,t){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(V.NOBR)&&(Ie(e,t),e._reconstructActiveFormattingElements()),e._insertElement(t,W.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t):n===V.AREA?Xe(e,t):n===V.MATH?function(e,t){e._reconstructActiveFormattingElements(),G.adjustTokenMathMLAttrs(t),G.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,W.MATHML):e._insertElement(t,W.MATHML),t.ackSelfClosing=!0}(e,t):n===V.MENU?function(e,t){e.openElements.hasInButtonScope(V.P)&&e._closePElement(),e._insertElement(t,W.HTML)}(e,t):n!==V.HEAD&&tt(e,t);break;case 5:n===V.STYLE||n===V.TITLE?Be(e,t):n===V.ASIDE?We(e,t):n===V.SMALL?qe(e,t):n===V.TABLE?function(e,t){e.treeAdapter.getDocumentMode(e.document)!==j.DOCUMENT_MODE.QUIRKS&&e.openElements.hasInButtonScope(V.P)&&e._closePElement(),e._insertElement(t,W.HTML),e.framesetOk=!1,e.insertionMode=ae}(e,t):n===V.EMBED?Xe(e,t):n===V.INPUT?function(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,W.HTML);var n=O.getTokenAttr(t,K.TYPE);n&&n.toLowerCase()===Y||(e.framesetOk=!1),t.ackSelfClosing=!0}(e,t):n===V.PARAM||n===V.TRACK?Ze(e,t):n===V.IMAGE?function(e,t){t.tagName=V.IMG,Xe(e,t)}(e,t):n!==V.FRAME&&n!==V.TBODY&&n!==V.TFOOT&&n!==V.THEAD&&tt(e,t);break;case 6:n===V.SCRIPT?Be(e,t):n===V.CENTER||n===V.FIGURE||n===V.FOOTER||n===V.HEADER||n===V.HGROUP||n===V.DIALOG?We(e,t):n===V.BUTTON?function(e,t){e.openElements.hasInScope(V.BUTTON)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(V.BUTTON)),e._reconstructActiveFormattingElements(),e._insertElement(t,W.HTML),e.framesetOk=!1}(e,t):n===V.STRIKE||n===V.STRONG?qe(e,t):n===V.APPLET||n===V.OBJECT?Ye(e,t):n===V.KEYGEN?Xe(e,t):n===V.SOURCE?Ze(e,t):n===V.IFRAME?function(e,t){e.framesetOk=!1,e._switchToTextParsing(t,O.MODE.RAWTEXT)}(e,t):n===V.SELECT?function(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,W.HTML),e.framesetOk=!1,e.insertionMode===ae||e.insertionMode===oe||e.insertionMode===le||e.insertionMode===ce||e.insertionMode===ue?e.insertionMode=pe:e.insertionMode=de}(e,t):n===V.OPTION?Je(e,t):tt(e,t);break;case 7:n===V.BGSOUND?Be(e,t):n===V.DETAILS||n===V.ADDRESS||n===V.ARTICLE||n===V.SECTION||n===V.SUMMARY?We(e,t):n===V.LISTING?Ke(e,t):n===V.MARQUEE?Ye(e,t):n===V.NOEMBED?Qe(e,t):n!==V.CAPTION&&tt(e,t);break;case 8:n===V.BASEFONT?Be(e,t):n===V.FRAMESET?function(e,t){var n=e.openElements.tryPeekProperlyNestedBodyElement();e.framesetOk&&n&&(e.treeAdapter.detachNode(n),e.openElements.popAllUpToHtmlElement(),e._insertElement(t,W.HTML),e.insertionMode=ge)}(e,t):n===V.FIELDSET?We(e,t):n===V.TEXTAREA?function(e,t){e._insertElement(t,W.HTML),e.skipNextNewLine=!0,e.tokenizer.state=O.MODE.RCDATA,e.originalInsertionMode=e.insertionMode,e.framesetOk=!1,e.insertionMode=re}(e,t):n===V.TEMPLATE?Be(e,t):n===V.NOSCRIPT?e.options.scriptingEnabled?Qe(e,t):tt(e,t):n===V.OPTGROUP?Je(e,t):n!==V.COLGROUP&&tt(e,t);break;case 9:n===V.PLAINTEXT?function(e,t){e.openElements.hasInButtonScope(V.P)&&e._closePElement(),e._insertElement(t,W.HTML),e.tokenizer.state=O.MODE.PLAINTEXT}(e,t):tt(e,t);break;case 10:n===V.BLOCKQUOTE||n===V.FIGCAPTION?We(e,t):tt(e,t);break;default:tt(e,t)}}function rt(e,t){var n=t.tagName;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n))}function at(e,t){var n=t.tagName;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker())}function it(e,t){for(var n=t.tagName,r=e.openElements.stackTop;r>0;r--){var a=e.openElements.items[r];if(e.treeAdapter.getTagName(a)===n){e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.popUntilElementPopped(a);break}if(e._isSpecialElement(a))break}}function ot(e,t){var n=t.tagName;switch(n.length){case 1:n===V.A||n===V.B||n===V.I||n===V.S||n===V.U?Ie(e,t):n===V.P?function(e){e.openElements.hasInButtonScope(V.P)||e._insertFakeElement(V.P),e._closePElement()}(e):it(e,t);break;case 2:n===V.DL||n===V.UL||n===V.OL?rt(e,t):n===V.LI?function(e){e.openElements.hasInListItemScope(V.LI)&&(e.openElements.generateImpliedEndTagsWithExclusion(V.LI),e.openElements.popUntilTagNamePopped(V.LI))}(e):n===V.DD||n===V.DT?function(e,t){var n=t.tagName;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.popUntilTagNamePopped(n))}(e,t):n===V.H1||n===V.H2||n===V.H3||n===V.H4||n===V.H5||n===V.H6?function(e){e.openElements.hasNumberedHeaderInScope()&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilNumberedHeaderPopped())}(e):n===V.BR?function(e){e._reconstructActiveFormattingElements(),e._insertFakeElement(V.BR),e.openElements.pop(),e.framesetOk=!1}(e):n===V.EM||n===V.TT?Ie(e,t):it(e,t);break;case 3:n===V.BIG?Ie(e,t):n===V.DIR||n===V.DIV||n===V.NAV||n===V.PRE?rt(e,t):it(e,t);break;case 4:n===V.BODY?function(e){e.openElements.hasInScope(V.BODY)&&(e.insertionMode=fe)}(e):n===V.HTML?function(e,t){e.openElements.hasInScope(V.BODY)&&(e.insertionMode=fe,e._processToken(t))}(e,t):n===V.FORM?function(e){var t=e.openElements.tmplCount>0,n=e.formElement;t||(e.formElement=null),(n||t)&&e.openElements.hasInScope(V.FORM)&&(e.openElements.generateImpliedEndTags(),t?e.openElements.popUntilTagNamePopped(V.FORM):e.openElements.remove(n))}(e):n===V.CODE||n===V.FONT||n===V.NOBR?Ie(e,t):n===V.MAIN||n===V.MENU?rt(e,t):it(e,t);break;case 5:n===V.ASIDE?rt(e,t):n===V.SMALL?Ie(e,t):it(e,t);break;case 6:n===V.CENTER||n===V.FIGURE||n===V.FOOTER||n===V.HEADER||n===V.HGROUP||n===V.DIALOG?rt(e,t):n===V.APPLET||n===V.OBJECT?at(e,t):n===V.STRIKE||n===V.STRONG?Ie(e,t):it(e,t);break;case 7:n===V.ADDRESS||n===V.ARTICLE||n===V.DETAILS||n===V.SECTION||n===V.SUMMARY||n===V.LISTING?rt(e,t):n===V.MARQUEE?at(e,t):it(e,t);break;case 8:n===V.FIELDSET?rt(e,t):n===V.TEMPLATE?He(e,t):it(e,t);break;case 10:n===V.BLOCKQUOTE||n===V.FIGCAPTION?rt(e,t):it(e,t);break;default:it(e,t)}}function st(e,t){e.tmplInsertionModeStackTop>-1?ht(e,t):e.stopped=!0}function lt(e,t){var n=e.openElements.currentTagName;n===V.TABLE||n===V.TBODY||n===V.TFOOT||n===V.THEAD||n===V.TR?(e.pendingCharacterTokens=[],e.hasNonWhitespacePendingCharacterToken=!1,e.originalInsertionMode=e.insertionMode,e.insertionMode=ie,e._processToken(t)):dt(e,t)}function ct(e,t){var n=t.tagName;switch(n.length){case 2:n===V.TD||n===V.TH||n===V.TR?function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(V.TBODY),e.insertionMode=le,e._processToken(t)}(e,t):dt(e,t);break;case 3:n===V.COL?function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(V.COLGROUP),e.insertionMode=se,e._processToken(t)}(e,t):dt(e,t);break;case 4:n===V.FORM?function(e,t){e.formElement||0!==e.openElements.tmplCount||(e._insertElement(t,W.HTML),e.formElement=e.openElements.current,e.openElements.pop())}(e,t):dt(e,t);break;case 5:n===V.TABLE?function(e,t){e.openElements.hasInTableScope(V.TABLE)&&(e.openElements.popUntilTagNamePopped(V.TABLE),e._resetInsertionMode(),e._processToken(t))}(e,t):n===V.STYLE?Be(e,t):n===V.TBODY||n===V.TFOOT||n===V.THEAD?function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,W.HTML),e.insertionMode=le}(e,t):n===V.INPUT?function(e,t){var n=O.getTokenAttr(t,K.TYPE);n&&n.toLowerCase()===Y?e._appendElement(t,W.HTML):dt(e,t),t.ackSelfClosing=!0}(e,t):dt(e,t);break;case 6:n===V.SCRIPT?Be(e,t):dt(e,t);break;case 7:n===V.CAPTION?function(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,W.HTML),e.insertionMode=oe}(e,t):dt(e,t);break;case 8:n===V.COLGROUP?function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,W.HTML),e.insertionMode=se}(e,t):n===V.TEMPLATE?Be(e,t):dt(e,t);break;default:dt(e,t)}}function ut(e,t){var n=t.tagName;n===V.TABLE?e.openElements.hasInTableScope(V.TABLE)&&(e.openElements.popUntilTagNamePopped(V.TABLE),e._resetInsertionMode()):n===V.TEMPLATE?He(e,t):n!==V.BODY&&n!==V.CAPTION&&n!==V.COL&&n!==V.COLGROUP&&n!==V.HTML&&n!==V.TBODY&&n!==V.TD&&n!==V.TFOOT&&n!==V.TH&&n!==V.THEAD&&n!==V.TR&&dt(e,t)}function dt(e,t){var n=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,e._processTokenInBodyMode(t),e.fosterParentingEnabled=n}function pt(e,t){var n=0;if(e.hasNonWhitespacePendingCharacterToken)for(;n<e.pendingCharacterTokens.length;n++)dt(e,e.pendingCharacterTokens[n]);else for(;n<e.pendingCharacterTokens.length;n++)e._insertCharacters(e.pendingCharacterTokens[n]);e.insertionMode=e.originalInsertionMode,e._processToken(t)}function mt(e,t){e.openElements.currentTagName===V.COLGROUP&&(e.openElements.pop(),e.insertionMode=ae,e._processToken(t))}function ft(e,t){var n=t.tagName;n===V.HTML?nt(e,t):n===V.OPTION?(e.openElements.currentTagName===V.OPTION&&e.openElements.pop(),e._insertElement(t,W.HTML)):n===V.OPTGROUP?(e.openElements.currentTagName===V.OPTION&&e.openElements.pop(),e.openElements.currentTagName===V.OPTGROUP&&e.openElements.pop(),e._insertElement(t,W.HTML)):n===V.INPUT||n===V.KEYGEN||n===V.TEXTAREA||n===V.SELECT?e.openElements.hasInSelectScope(V.SELECT)&&(e.openElements.popUntilTagNamePopped(V.SELECT),e._resetInsertionMode(),n!==V.SELECT&&e._processToken(t)):n!==V.SCRIPT&&n!==V.TEMPLATE||Be(e,t)}function gt(e,t){var n=t.tagName;if(n===V.OPTGROUP){var r=e.openElements.items[e.openElements.stackTop-1],a=r&&e.treeAdapter.getTagName(r);e.openElements.currentTagName===V.OPTION&&a===V.OPTGROUP&&e.openElements.pop(),e.openElements.currentTagName===V.OPTGROUP&&e.openElements.pop()}else n===V.OPTION?e.openElements.currentTagName===V.OPTION&&e.openElements.pop():n===V.SELECT&&e.openElements.hasInSelectScope(V.SELECT)?(e.openElements.popUntilTagNamePopped(V.SELECT),e._resetInsertionMode()):n===V.TEMPLATE&&He(e,t)}function ht(e,t){e.openElements.tmplCount>0?(e.openElements.popUntilTagNamePopped(V.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e._popTmplInsertionMode(),e._resetInsertionMode(),e._processToken(t)):e.stopped=!0}function bt(e,t){e.insertionMode=ne,e._processToken(t)}function Et(e,t){e.insertionMode=ne,e._processToken(t)}e.exports=ve},4808:function(e,t,n){"use strict";var r=n(6690).default,a=n(9728).default,i=n(9539),o=i.TAG_NAMES,s=i.NAMESPACES;function l(e){switch(e.length){case 1:return e===o.P;case 2:return e===o.RB||e===o.RP||e===o.RT||e===o.DD||e===o.DT||e===o.LI;case 3:return e===o.RTC;case 6:return e===o.OPTION;case 8:return e===o.OPTGROUP}return!1}function c(e){switch(e.length){case 1:return e===o.P;case 2:return e===o.RB||e===o.RP||e===o.RT||e===o.DD||e===o.DT||e===o.LI||e===o.TD||e===o.TH||e===o.TR;case 3:return e===o.RTC;case 5:return e===o.TBODY||e===o.TFOOT||e===o.THEAD;case 6:return e===o.OPTION;case 7:return e===o.CAPTION;case 8:return e===o.OPTGROUP||e===o.COLGROUP}return!1}function u(e,t){switch(e.length){case 2:if(e===o.TD||e===o.TH)return t===s.HTML;if(e===o.MI||e===o.MO||e===o.MN||e===o.MS)return t===s.MATHML;break;case 4:if(e===o.HTML)return t===s.HTML;if(e===o.DESC)return t===s.SVG;break;case 5:if(e===o.TABLE)return t===s.HTML;if(e===o.MTEXT)return t===s.MATHML;if(e===o.TITLE)return t===s.SVG;break;case 6:return(e===o.APPLET||e===o.OBJECT)&&t===s.HTML;case 7:return(e===o.CAPTION||e===o.MARQUEE)&&t===s.HTML;case 8:return e===o.TEMPLATE&&t===s.HTML;case 13:return e===o.FOREIGN_OBJECT&&t===s.SVG;case 14:return e===o.ANNOTATION_XML&&t===s.MATHML}return!1}var d=function(){function e(t,n){r(this,e),this.stackTop=-1,this.items=[],this.current=t,this.currentTagName=null,this.currentTmplContent=null,this.tmplCount=0,this.treeAdapter=n}return a(e,[{key:"_indexOf",value:function(e){for(var t=-1,n=this.stackTop;n>=0;n--)if(this.items[n]===e){t=n;break}return t}},{key:"_isInTemplate",value:function(){return this.currentTagName===o.TEMPLATE&&this.treeAdapter.getNamespaceURI(this.current)===s.HTML}},{key:"_updateCurrentElement",value:function(){this.current=this.items[this.stackTop],this.currentTagName=this.current&&this.treeAdapter.getTagName(this.current),this.currentTmplContent=this._isInTemplate()?this.treeAdapter.getTemplateContent(this.current):null}},{key:"push",value:function(e){this.items[++this.stackTop]=e,this._updateCurrentElement(),this._isInTemplate()&&this.tmplCount++}},{key:"pop",value:function(){this.stackTop--,this.tmplCount>0&&this._isInTemplate()&&this.tmplCount--,this._updateCurrentElement()}},{key:"replace",value:function(e,t){var n=this._indexOf(e);this.items[n]=t,n===this.stackTop&&this._updateCurrentElement()}},{key:"insertAfter",value:function(e,t){var n=this._indexOf(e)+1;this.items.splice(n,0,t),n===++this.stackTop&&this._updateCurrentElement()}},{key:"popUntilTagNamePopped",value:function(e){for(;this.stackTop>-1;){var t=this.currentTagName,n=this.treeAdapter.getNamespaceURI(this.current);if(this.pop(),t===e&&n===s.HTML)break}}},{key:"popUntilElementPopped",value:function(e){for(;this.stackTop>-1;){var t=this.current;if(this.pop(),t===e)break}}},{key:"popUntilNumberedHeaderPopped",value:function(){for(;this.stackTop>-1;){var e=this.currentTagName,t=this.treeAdapter.getNamespaceURI(this.current);if(this.pop(),e===o.H1||e===o.H2||e===o.H3||e===o.H4||e===o.H5||e===o.H6&&t===s.HTML)break}}},{key:"popUntilTableCellPopped",value:function(){for(;this.stackTop>-1;){var e=this.currentTagName,t=this.treeAdapter.getNamespaceURI(this.current);if(this.pop(),e===o.TD||e===o.TH&&t===s.HTML)break}}},{key:"popAllUpToHtmlElement",value:function(){this.stackTop=0,this._updateCurrentElement()}},{key:"clearBackToTableContext",value:function(){for(;this.currentTagName!==o.TABLE&&this.currentTagName!==o.TEMPLATE&&this.currentTagName!==o.HTML||this.treeAdapter.getNamespaceURI(this.current)!==s.HTML;)this.pop()}},{key:"clearBackToTableBodyContext",value:function(){for(;this.currentTagName!==o.TBODY&&this.currentTagName!==o.TFOOT&&this.currentTagName!==o.THEAD&&this.currentTagName!==o.TEMPLATE&&this.currentTagName!==o.HTML||this.treeAdapter.getNamespaceURI(this.current)!==s.HTML;)this.pop()}},{key:"clearBackToTableRowContext",value:function(){for(;this.currentTagName!==o.TR&&this.currentTagName!==o.TEMPLATE&&this.currentTagName!==o.HTML||this.treeAdapter.getNamespaceURI(this.current)!==s.HTML;)this.pop()}},{key:"remove",value:function(e){for(var t=this.stackTop;t>=0;t--)if(this.items[t]===e){this.items.splice(t,1),this.stackTop--,this._updateCurrentElement();break}}},{key:"tryPeekProperlyNestedBodyElement",value:function(){var e=this.items[1];return e&&this.treeAdapter.getTagName(e)===o.BODY?e:null}},{key:"contains",value:function(e){return this._indexOf(e)>-1}},{key:"getCommonAncestor",value:function(e){var t=this._indexOf(e);return--t>=0?this.items[t]:null}},{key:"isRootHtmlElementCurrent",value:function(){return 0===this.stackTop&&this.currentTagName===o.HTML}},{key:"hasInScope",value:function(e){for(var t=this.stackTop;t>=0;t--){var n=this.treeAdapter.getTagName(this.items[t]),r=this.treeAdapter.getNamespaceURI(this.items[t]);if(n===e&&r===s.HTML)return!0;if(u(n,r))return!1}return!0}},{key:"hasNumberedHeaderInScope",value:function(){for(var e=this.stackTop;e>=0;e--){var t=this.treeAdapter.getTagName(this.items[e]),n=this.treeAdapter.getNamespaceURI(this.items[e]);if((t===o.H1||t===o.H2||t===o.H3||t===o.H4||t===o.H5||t===o.H6)&&n===s.HTML)return!0;if(u(t,n))return!1}return!0}},{key:"hasInListItemScope",value:function(e){for(var t=this.stackTop;t>=0;t--){var n=this.treeAdapter.getTagName(this.items[t]),r=this.treeAdapter.getNamespaceURI(this.items[t]);if(n===e&&r===s.HTML)return!0;if((n===o.UL||n===o.OL)&&r===s.HTML||u(n,r))return!1}return!0}},{key:"hasInButtonScope",value:function(e){for(var t=this.stackTop;t>=0;t--){var n=this.treeAdapter.getTagName(this.items[t]),r=this.treeAdapter.getNamespaceURI(this.items[t]);if(n===e&&r===s.HTML)return!0;if(n===o.BUTTON&&r===s.HTML||u(n,r))return!1}return!0}},{key:"hasInTableScope",value:function(e){for(var t=this.stackTop;t>=0;t--){var n=this.treeAdapter.getTagName(this.items[t]);if(this.treeAdapter.getNamespaceURI(this.items[t])===s.HTML){if(n===e)return!0;if(n===o.TABLE||n===o.TEMPLATE||n===o.HTML)return!1}}return!0}},{key:"hasTableBodyContextInTableScope",value:function(){for(var e=this.stackTop;e>=0;e--){var t=this.treeAdapter.getTagName(this.items[e]);if(this.treeAdapter.getNamespaceURI(this.items[e])===s.HTML){if(t===o.TBODY||t===o.THEAD||t===o.TFOOT)return!0;if(t===o.TABLE||t===o.HTML)return!1}}return!0}},{key:"hasInSelectScope",value:function(e){for(var t=this.stackTop;t>=0;t--){var n=this.treeAdapter.getTagName(this.items[t]);if(this.treeAdapter.getNamespaceURI(this.items[t])===s.HTML){if(n===e)return!0;if(n!==o.OPTION&&n!==o.OPTGROUP)return!1}}return!0}},{key:"generateImpliedEndTags",value:function(){for(;l(this.currentTagName);)this.pop()}},{key:"generateImpliedEndTagsThoroughly",value:function(){for(;c(this.currentTagName);)this.pop()}},{key:"generateImpliedEndTagsWithExclusion",value:function(e){for(;l(this.currentTagName)&&this.currentTagName!==e;)this.pop()}}]),e}();e.exports=d},3085:function(e,t,n){"use strict";var r=n(6690).default,a=n(9728).default,i=n(147),o=n(4529),s=n(9908),l=n(4551),c=o.CODE_POINTS,u=o.CODE_POINT_SEQUENCES,d={128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376},p="DATA_STATE",m="RCDATA_STATE",f="RAWTEXT_STATE",g="SCRIPT_DATA_STATE",h="PLAINTEXT_STATE",b="TAG_OPEN_STATE",E="END_TAG_OPEN_STATE",y="TAG_NAME_STATE",T="RCDATA_LESS_THAN_SIGN_STATE",S="RCDATA_END_TAG_OPEN_STATE",v="RCDATA_END_TAG_NAME_STATE",A="RAWTEXT_LESS_THAN_SIGN_STATE",_="RAWTEXT_END_TAG_OPEN_STATE",k="RAWTEXT_END_TAG_NAME_STATE",C="SCRIPT_DATA_LESS_THAN_SIGN_STATE",w="SCRIPT_DATA_END_TAG_OPEN_STATE",N="SCRIPT_DATA_END_TAG_NAME_STATE",I="SCRIPT_DATA_ESCAPE_START_STATE",R="SCRIPT_DATA_ESCAPE_START_DASH_STATE",x="SCRIPT_DATA_ESCAPED_STATE",O="SCRIPT_DATA_ESCAPED_DASH_STATE",L="SCRIPT_DATA_ESCAPED_DASH_DASH_STATE",P="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE",D="SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE",M="SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE",F="SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE",U="SCRIPT_DATA_DOUBLE_ESCAPED_STATE",B="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE",H="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE",G="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE",z="SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE",$="BEFORE_ATTRIBUTE_NAME_STATE",j="ATTRIBUTE_NAME_STATE",V="AFTER_ATTRIBUTE_NAME_STATE",W="BEFORE_ATTRIBUTE_VALUE_STATE",K="ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE",q="ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE",Y="ATTRIBUTE_VALUE_UNQUOTED_STATE",X="AFTER_ATTRIBUTE_VALUE_QUOTED_STATE",Z="SELF_CLOSING_START_TAG_STATE",Q="BOGUS_COMMENT_STATE",J="MARKUP_DECLARATION_OPEN_STATE",ee="COMMENT_START_STATE",te="COMMENT_START_DASH_STATE",ne="COMMENT_STATE",re="COMMENT_LESS_THAN_SIGN_STATE",ae="COMMENT_LESS_THAN_SIGN_BANG_STATE",ie="COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE",oe="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE",se="COMMENT_END_DASH_STATE",le="COMMENT_END_STATE",ce="COMMENT_END_BANG_STATE",ue="DOCTYPE_STATE",de="BEFORE_DOCTYPE_NAME_STATE",pe="DOCTYPE_NAME_STATE",me="AFTER_DOCTYPE_NAME_STATE",fe="AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE",ge="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE",he="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE",be="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE",Ee="AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE",ye="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE",Te="AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE",Se="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE",ve="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE",Ae="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE",_e="AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE",ke="BOGUS_DOCTYPE_STATE",Ce="CDATA_SECTION_STATE",we="CDATA_SECTION_BRACKET_STATE",Ne="CDATA_SECTION_END_STATE",Ie="CHARACTER_REFERENCE_STATE",Re="NAMED_CHARACTER_REFERENCE_STATE",xe="AMBIGUOS_AMPERSAND_STATE",Oe="NUMERIC_CHARACTER_REFERENCE_STATE",Le="HEXADEMICAL_CHARACTER_REFERENCE_START_STATE",Pe="DECIMAL_CHARACTER_REFERENCE_START_STATE",De="HEXADEMICAL_CHARACTER_REFERENCE_STATE",Me="DECIMAL_CHARACTER_REFERENCE_STATE",Fe="NUMERIC_CHARACTER_REFERENCE_END_STATE";function Ue(e){return e===c.SPACE||e===c.LINE_FEED||e===c.TABULATION||e===c.FORM_FEED}function Be(e){return e>=c.DIGIT_0&&e<=c.DIGIT_9}function He(e){return e>=c.LATIN_CAPITAL_A&&e<=c.LATIN_CAPITAL_Z}function Ge(e){return e>=c.LATIN_SMALL_A&&e<=c.LATIN_SMALL_Z}function ze(e){return Ge(e)||He(e)}function $e(e){return ze(e)||Be(e)}function je(e){return e>=c.LATIN_CAPITAL_A&&e<=c.LATIN_CAPITAL_F}function Ve(e){return e>=c.LATIN_SMALL_A&&e<=c.LATIN_SMALL_F}function We(e){return e+32}function Ke(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(e>>>10&1023|55296)+String.fromCharCode(56320|1023&e))}function qe(e){return String.fromCharCode(We(e))}function Ye(e,t){for(var n=s[++e],r=++e,a=r+n-1;r<=a;){var i=r+a>>>1,o=s[i];if(o<t)r=i+1;else{if(!(o>t))return s[i+n];a=i-1}}return-1}var Xe=function(){function e(){r(this,e),this.preprocessor=new i,this.tokenQueue=[],this.allowCDATA=!1,this.state=p,this.returnState="",this.charRefCode=-1,this.tempBuff=[],this.lastStartTagName="",this.consumedAfterSnapshot=-1,this.active=!1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr=null}return a(e,[{key:"_err",value:function(){}},{key:"_errOnNextCodePoint",value:function(e){this._consume(),this._err(e),this._unconsume()}},{key:"getNextToken",value:function(){for(;!this.tokenQueue.length&&this.active;){this.consumedAfterSnapshot=0;var e=this._consume();this._ensureHibernation()||this[this.state](e)}return this.tokenQueue.shift()}},{key:"write",value:function(e,t){this.active=!0,this.preprocessor.write(e,t)}},{key:"insertHtmlAtCurrentPos",value:function(e){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(e)}},{key:"_ensureHibernation",value:function(){if(this.preprocessor.endOfChunkHit){for(;this.consumedAfterSnapshot>0;this.consumedAfterSnapshot--)this.preprocessor.retreat();return this.active=!1,this.tokenQueue.push({type:e.HIBERNATION_TOKEN}),!0}return!1}},{key:"_consume",value:function(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}},{key:"_unconsume",value:function(){this.consumedAfterSnapshot--,this.preprocessor.retreat()}},{key:"_reconsumeInState",value:function(e){this.state=e,this._unconsume()}},{key:"_consumeSequenceIfMatch",value:function(e,t,n){for(var r=0,a=!0,i=e.length,o=0,s=t,l=void 0;o<i;o++){if(o>0&&(s=this._consume(),r++),s===c.EOF){a=!1;break}if(s!==(l=e[o])&&(n||s!==We(l))){a=!1;break}}if(!a)for(;r--;)this._unconsume();return a}},{key:"_isTempBufferEqualToScriptString",value:function(){if(this.tempBuff.length!==u.SCRIPT_STRING.length)return!1;for(var e=0;e<this.tempBuff.length;e++)if(this.tempBuff[e]!==u.SCRIPT_STRING[e])return!1;return!0}},{key:"_createStartTagToken",value:function(){this.currentToken={type:e.START_TAG_TOKEN,tagName:"",selfClosing:!1,ackSelfClosing:!1,attrs:[]}}},{key:"_createEndTagToken",value:function(){this.currentToken={type:e.END_TAG_TOKEN,tagName:"",selfClosing:!1,attrs:[]}}},{key:"_createCommentToken",value:function(){this.currentToken={type:e.COMMENT_TOKEN,data:""}}},{key:"_createDoctypeToken",value:function(t){this.currentToken={type:e.DOCTYPE_TOKEN,name:t,forceQuirks:!1,publicId:null,systemId:null}}},{key:"_createCharacterToken",value:function(e,t){this.currentCharacterToken={type:e,chars:t}}},{key:"_createEOFToken",value:function(){this.currentToken={type:e.EOF_TOKEN}}},{key:"_createAttr",value:function(e){this.currentAttr={name:e,value:""}}},{key:"_leaveAttrName",value:function(t){null===e.getTokenAttr(this.currentToken,this.currentAttr.name)?this.currentToken.attrs.push(this.currentAttr):this._err(l.duplicateAttribute),this.state=t}},{key:"_leaveAttrValue",value:function(e){this.state=e}},{key:"_emitCurrentToken",value:function(){this._emitCurrentCharacterToken();var t=this.currentToken;this.currentToken=null,t.type===e.START_TAG_TOKEN?this.lastStartTagName=t.tagName:t.type===e.END_TAG_TOKEN&&(t.attrs.length>0&&this._err(l.endTagWithAttributes),t.selfClosing&&this._err(l.endTagWithTrailingSolidus)),this.tokenQueue.push(t)}},{key:"_emitCurrentCharacterToken",value:function(){this.currentCharacterToken&&(this.tokenQueue.push(this.currentCharacterToken),this.currentCharacterToken=null)}},{key:"_emitEOFToken",value:function(){this._createEOFToken(),this._emitCurrentToken()}},{key:"_appendCharToCurrentCharacterToken",value:function(e,t){this.currentCharacterToken&&this.currentCharacterToken.type!==e&&this._emitCurrentCharacterToken(),this.currentCharacterToken?this.currentCharacterToken.chars+=t:this._createCharacterToken(e,t)}},{key:"_emitCodePoint",value:function(t){var n=e.CHARACTER_TOKEN;Ue(t)?n=e.WHITESPACE_CHARACTER_TOKEN:t===c.NULL&&(n=e.NULL_CHARACTER_TOKEN),this._appendCharToCurrentCharacterToken(n,Ke(t))}},{key:"_emitSeveralCodePoints",value:function(e){for(var t=0;t<e.length;t++)this._emitCodePoint(e[t])}},{key:"_emitChars",value:function(t){this._appendCharToCurrentCharacterToken(e.CHARACTER_TOKEN,t)}},{key:"_matchNamedCharacterReference",value:function(e){var t=null,n=1,r=Ye(0,e);for(this.tempBuff.push(e);r>-1;){var a=s[r],i=a<7;i&&1&a&&(t=2&a?[s[++r],s[++r]]:[s[++r]],n=0);var o=this._consume();if(this.tempBuff.push(o),n++,o===c.EOF)break;r=i?4&a?Ye(r,o):-1:o===a?++r:-1}for(;n--;)this.tempBuff.pop(),this._unconsume();return t}},{key:"_isCharacterReferenceInAttribute",value:function(){return this.returnState===K||this.returnState===q||this.returnState===Y}},{key:"_isCharacterReferenceAttributeQuirk",value:function(e){if(!e&&this._isCharacterReferenceInAttribute()){var t=this._consume();return this._unconsume(),t===c.EQUALS_SIGN||$e(t)}return!1}},{key:"_flushCodePointsConsumedAsCharacterReference",value:function(){if(this._isCharacterReferenceInAttribute())for(var e=0;e<this.tempBuff.length;e++)this.currentAttr.value+=Ke(this.tempBuff[e]);else this._emitSeveralCodePoints(this.tempBuff);this.tempBuff=[]}},{key:p,value:function(e){this.preprocessor.dropParsedChunk(),e===c.LESS_THAN_SIGN?this.state=b:e===c.AMPERSAND?(this.returnState=p,this.state=Ie):e===c.NULL?(this._err(l.unexpectedNullCharacter),this._emitCodePoint(e)):e===c.EOF?this._emitEOFToken():this._emitCodePoint(e)}},{key:m,value:function(e){this.preprocessor.dropParsedChunk(),e===c.AMPERSAND?(this.returnState=m,this.state=Ie):e===c.LESS_THAN_SIGN?this.state=T:e===c.NULL?(this._err(l.unexpectedNullCharacter),this._emitChars(o.REPLACEMENT_CHARACTER)):e===c.EOF?this._emitEOFToken():this._emitCodePoint(e)}},{key:f,value:function(e){this.preprocessor.dropParsedChunk(),e===c.LESS_THAN_SIGN?this.state=A:e===c.NULL?(this._err(l.unexpectedNullCharacter),this._emitChars(o.REPLACEMENT_CHARACTER)):e===c.EOF?this._emitEOFToken():this._emitCodePoint(e)}},{key:g,value:function(e){this.preprocessor.dropParsedChunk(),e===c.LESS_THAN_SIGN?this.state=C:e===c.NULL?(this._err(l.unexpectedNullCharacter),this._emitChars(o.REPLACEMENT_CHARACTER)):e===c.EOF?this._emitEOFToken():this._emitCodePoint(e)}},{key:h,value:function(e){this.preprocessor.dropParsedChunk(),e===c.NULL?(this._err(l.unexpectedNullCharacter),this._emitChars(o.REPLACEMENT_CHARACTER)):e===c.EOF?this._emitEOFToken():this._emitCodePoint(e)}},{key:b,value:function(e){e===c.EXCLAMATION_MARK?this.state=J:e===c.SOLIDUS?this.state=E:ze(e)?(this._createStartTagToken(),this._reconsumeInState(y)):e===c.QUESTION_MARK?(this._err(l.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(),this._reconsumeInState(Q)):e===c.EOF?(this._err(l.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken()):(this._err(l.invalidFirstCharacterOfTagName),this._emitChars("<"),this._reconsumeInState(p))}},{key:E,value:function(e){ze(e)?(this._createEndTagToken(),this._reconsumeInState(y)):e===c.GREATER_THAN_SIGN?(this._err(l.missingEndTagName),this.state=p):e===c.EOF?(this._err(l.eofBeforeTagName),this._emitChars("</"),this._emitEOFToken()):(this._err(l.invalidFirstCharacterOfTagName),this._createCommentToken(),this._reconsumeInState(Q))}},{key:y,value:function(e){Ue(e)?this.state=$:e===c.SOLIDUS?this.state=Z:e===c.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):He(e)?this.currentToken.tagName+=qe(e):e===c.NULL?(this._err(l.unexpectedNullCharacter),this.currentToken.tagName+=o.REPLACEMENT_CHARACTER):e===c.EOF?(this._err(l.eofInTag),this._emitEOFToken()):this.currentToken.tagName+=Ke(e)}},{key:T,value:function(e){e===c.SOLIDUS?(this.tempBuff=[],this.state=S):(this._emitChars("<"),this._reconsumeInState(m))}},{key:S,value:function(e){ze(e)?(this._createEndTagToken(),this._reconsumeInState(v)):(this._emitChars("</"),this._reconsumeInState(m))}},{key:v,value:function(e){if(He(e))this.currentToken.tagName+=qe(e),this.tempBuff.push(e);else if(Ge(e))this.currentToken.tagName+=Ke(e),this.tempBuff.push(e);else{if(this.lastStartTagName===this.currentToken.tagName){if(Ue(e))return void(this.state=$);if(e===c.SOLIDUS)return void(this.state=Z);if(e===c.GREATER_THAN_SIGN)return this.state=p,void this._emitCurrentToken()}this._emitChars("</"),this._emitSeveralCodePoints(this.tempBuff),this._reconsumeInState(m)}}},{key:A,value:function(e){e===c.SOLIDUS?(this.tempBuff=[],this.state=_):(this._emitChars("<"),this._reconsumeInState(f))}},{key:_,value:function(e){ze(e)?(this._createEndTagToken(),this._reconsumeInState(k)):(this._emitChars("</"),this._reconsumeInState(f))}},{key:k,value:function(e){if(He(e))this.currentToken.tagName+=qe(e),this.tempBuff.push(e);else if(Ge(e))this.currentToken.tagName+=Ke(e),this.tempBuff.push(e);else{if(this.lastStartTagName===this.currentToken.tagName){if(Ue(e))return void(this.state=$);if(e===c.SOLIDUS)return void(this.state=Z);if(e===c.GREATER_THAN_SIGN)return this._emitCurrentToken(),void(this.state=p)}this._emitChars("</"),this._emitSeveralCodePoints(this.tempBuff),this._reconsumeInState(f)}}},{key:C,value:function(e){e===c.SOLIDUS?(this.tempBuff=[],this.state=w):e===c.EXCLAMATION_MARK?(this.state=I,this._emitChars("<!")):(this._emitChars("<"),this._reconsumeInState(g))}},{key:w,value:function(e){ze(e)?(this._createEndTagToken(),this._reconsumeInState(N)):(this._emitChars("</"),this._reconsumeInState(g))}},{key:N,value:function(e){if(He(e))this.currentToken.tagName+=qe(e),this.tempBuff.push(e);else if(Ge(e))this.currentToken.tagName+=Ke(e),this.tempBuff.push(e);else{if(this.lastStartTagName===this.currentToken.tagName){if(Ue(e))return void(this.state=$);if(e===c.SOLIDUS)return void(this.state=Z);if(e===c.GREATER_THAN_SIGN)return this._emitCurrentToken(),void(this.state=p)}this._emitChars("</"),this._emitSeveralCodePoints(this.tempBuff),this._reconsumeInState(g)}}},{key:I,value:function(e){e===c.HYPHEN_MINUS?(this.state=R,this._emitChars("-")):this._reconsumeInState(g)}},{key:R,value:function(e){e===c.HYPHEN_MINUS?(this.state=L,this._emitChars("-")):this._reconsumeInState(g)}},{key:x,value:function(e){e===c.HYPHEN_MINUS?(this.state=O,this._emitChars("-")):e===c.LESS_THAN_SIGN?this.state=P:e===c.NULL?(this._err(l.unexpectedNullCharacter),this._emitChars(o.REPLACEMENT_CHARACTER)):e===c.EOF?(this._err(l.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):this._emitCodePoint(e)}},{key:O,value:function(e){e===c.HYPHEN_MINUS?(this.state=L,this._emitChars("-")):e===c.LESS_THAN_SIGN?this.state=P:e===c.NULL?(this._err(l.unexpectedNullCharacter),this.state=x,this._emitChars(o.REPLACEMENT_CHARACTER)):e===c.EOF?(this._err(l.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state=x,this._emitCodePoint(e))}},{key:L,value:function(e){e===c.HYPHEN_MINUS?this._emitChars("-"):e===c.LESS_THAN_SIGN?this.state=P:e===c.GREATER_THAN_SIGN?(this.state=g,this._emitChars(">")):e===c.NULL?(this._err(l.unexpectedNullCharacter),this.state=x,this._emitChars(o.REPLACEMENT_CHARACTER)):e===c.EOF?(this._err(l.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state=x,this._emitCodePoint(e))}},{key:P,value:function(e){e===c.SOLIDUS?(this.tempBuff=[],this.state=D):ze(e)?(this.tempBuff=[],this._emitChars("<"),this._reconsumeInState(F)):(this._emitChars("<"),this._reconsumeInState(x))}},{key:D,value:function(e){ze(e)?(this._createEndTagToken(),this._reconsumeInState(M)):(this._emitChars("</"),this._reconsumeInState(x))}},{key:M,value:function(e){if(He(e))this.currentToken.tagName+=qe(e),this.tempBuff.push(e);else if(Ge(e))this.currentToken.tagName+=Ke(e),this.tempBuff.push(e);else{if(this.lastStartTagName===this.currentToken.tagName){if(Ue(e))return void(this.state=$);if(e===c.SOLIDUS)return void(this.state=Z);if(e===c.GREATER_THAN_SIGN)return this._emitCurrentToken(),void(this.state=p)}this._emitChars("</"),this._emitSeveralCodePoints(this.tempBuff),this._reconsumeInState(x)}}},{key:F,value:function(e){Ue(e)||e===c.SOLIDUS||e===c.GREATER_THAN_SIGN?(this.state=this._isTempBufferEqualToScriptString()?U:x,this._emitCodePoint(e)):He(e)?(this.tempBuff.push(We(e)),this._emitCodePoint(e)):Ge(e)?(this.tempBuff.push(e),this._emitCodePoint(e)):this._reconsumeInState(x)}},{key:U,value:function(e){e===c.HYPHEN_MINUS?(this.state=B,this._emitChars("-")):e===c.LESS_THAN_SIGN?(this.state=G,this._emitChars("<")):e===c.NULL?(this._err(l.unexpectedNullCharacter),this._emitChars(o.REPLACEMENT_CHARACTER)):e===c.EOF?(this._err(l.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):this._emitCodePoint(e)}},{key:B,value:function(e){e===c.HYPHEN_MINUS?(this.state=H,this._emitChars("-")):e===c.LESS_THAN_SIGN?(this.state=G,this._emitChars("<")):e===c.NULL?(this._err(l.unexpectedNullCharacter),this.state=U,this._emitChars(o.REPLACEMENT_CHARACTER)):e===c.EOF?(this._err(l.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state=U,this._emitCodePoint(e))}},{key:H,value:function(e){e===c.HYPHEN_MINUS?this._emitChars("-"):e===c.LESS_THAN_SIGN?(this.state=G,this._emitChars("<")):e===c.GREATER_THAN_SIGN?(this.state=g,this._emitChars(">")):e===c.NULL?(this._err(l.unexpectedNullCharacter),this.state=U,this._emitChars(o.REPLACEMENT_CHARACTER)):e===c.EOF?(this._err(l.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state=U,this._emitCodePoint(e))}},{key:G,value:function(e){e===c.SOLIDUS?(this.tempBuff=[],this.state=z,this._emitChars("/")):this._reconsumeInState(U)}},{key:z,value:function(e){Ue(e)||e===c.SOLIDUS||e===c.GREATER_THAN_SIGN?(this.state=this._isTempBufferEqualToScriptString()?x:U,this._emitCodePoint(e)):He(e)?(this.tempBuff.push(We(e)),this._emitCodePoint(e)):Ge(e)?(this.tempBuff.push(e),this._emitCodePoint(e)):this._reconsumeInState(U)}},{key:$,value:function(e){Ue(e)||(e===c.SOLIDUS||e===c.GREATER_THAN_SIGN||e===c.EOF?this._reconsumeInState(V):e===c.EQUALS_SIGN?(this._err(l.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state=j):(this._createAttr(""),this._reconsumeInState(j)))}},{key:j,value:function(e){Ue(e)||e===c.SOLIDUS||e===c.GREATER_THAN_SIGN||e===c.EOF?(this._leaveAttrName(V),this._unconsume()):e===c.EQUALS_SIGN?this._leaveAttrName(W):He(e)?this.currentAttr.name+=qe(e):e===c.QUOTATION_MARK||e===c.APOSTROPHE||e===c.LESS_THAN_SIGN?(this._err(l.unexpectedCharacterInAttributeName),this.currentAttr.name+=Ke(e)):e===c.NULL?(this._err(l.unexpectedNullCharacter),this.currentAttr.name+=o.REPLACEMENT_CHARACTER):this.currentAttr.name+=Ke(e)}},{key:V,value:function(e){Ue(e)||(e===c.SOLIDUS?this.state=Z:e===c.EQUALS_SIGN?this.state=W:e===c.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(l.eofInTag),this._emitEOFToken()):(this._createAttr(""),this._reconsumeInState(j)))}},{key:W,value:function(e){Ue(e)||(e===c.QUOTATION_MARK?this.state=K:e===c.APOSTROPHE?this.state=q:e===c.GREATER_THAN_SIGN?(this._err(l.missingAttributeValue),this.state=p,this._emitCurrentToken()):this._reconsumeInState(Y))}},{key:K,value:function(e){e===c.QUOTATION_MARK?this.state=X:e===c.AMPERSAND?(this.returnState=K,this.state=Ie):e===c.NULL?(this._err(l.unexpectedNullCharacter),this.currentAttr.value+=o.REPLACEMENT_CHARACTER):e===c.EOF?(this._err(l.eofInTag),this._emitEOFToken()):this.currentAttr.value+=Ke(e)}},{key:q,value:function(e){e===c.APOSTROPHE?this.state=X:e===c.AMPERSAND?(this.returnState=q,this.state=Ie):e===c.NULL?(this._err(l.unexpectedNullCharacter),this.currentAttr.value+=o.REPLACEMENT_CHARACTER):e===c.EOF?(this._err(l.eofInTag),this._emitEOFToken()):this.currentAttr.value+=Ke(e)}},{key:Y,value:function(e){Ue(e)?this._leaveAttrValue($):e===c.AMPERSAND?(this.returnState=Y,this.state=Ie):e===c.GREATER_THAN_SIGN?(this._leaveAttrValue(p),this._emitCurrentToken()):e===c.NULL?(this._err(l.unexpectedNullCharacter),this.currentAttr.value+=o.REPLACEMENT_CHARACTER):e===c.QUOTATION_MARK||e===c.APOSTROPHE||e===c.LESS_THAN_SIGN||e===c.EQUALS_SIGN||e===c.GRAVE_ACCENT?(this._err(l.unexpectedCharacterInUnquotedAttributeValue),this.currentAttr.value+=Ke(e)):e===c.EOF?(this._err(l.eofInTag),this._emitEOFToken()):this.currentAttr.value+=Ke(e)}},{key:X,value:function(e){Ue(e)?this._leaveAttrValue($):e===c.SOLIDUS?this._leaveAttrValue(Z):e===c.GREATER_THAN_SIGN?(this._leaveAttrValue(p),this._emitCurrentToken()):e===c.EOF?(this._err(l.eofInTag),this._emitEOFToken()):(this._err(l.missingWhitespaceBetweenAttributes),this._reconsumeInState($))}},{key:Z,value:function(e){e===c.GREATER_THAN_SIGN?(this.currentToken.selfClosing=!0,this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(l.eofInTag),this._emitEOFToken()):(this._err(l.unexpectedSolidusInTag),this._reconsumeInState($))}},{key:Q,value:function(e){e===c.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===c.EOF?(this._emitCurrentToken(),this._emitEOFToken()):e===c.NULL?(this._err(l.unexpectedNullCharacter),this.currentToken.data+=o.REPLACEMENT_CHARACTER):this.currentToken.data+=Ke(e)}},{key:J,value:function(e){this._consumeSequenceIfMatch(u.DASH_DASH_STRING,e,!0)?(this._createCommentToken(),this.state=ee):this._consumeSequenceIfMatch(u.DOCTYPE_STRING,e,!1)?this.state=ue:this._consumeSequenceIfMatch(u.CDATA_START_STRING,e,!0)?this.allowCDATA?this.state=Ce:(this._err(l.cdataInHtmlContent),this._createCommentToken(),this.currentToken.data="[CDATA[",this.state=Q):this._ensureHibernation()||(this._err(l.incorrectlyOpenedComment),this._createCommentToken(),this._reconsumeInState(Q))}},{key:ee,value:function(e){e===c.HYPHEN_MINUS?this.state=te:e===c.GREATER_THAN_SIGN?(this._err(l.abruptClosingOfEmptyComment),this.state=p,this._emitCurrentToken()):this._reconsumeInState(ne)}},{key:te,value:function(e){e===c.HYPHEN_MINUS?this.state=le:e===c.GREATER_THAN_SIGN?(this._err(l.abruptClosingOfEmptyComment),this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(l.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="-",this._reconsumeInState(ne))}},{key:ne,value:function(e){e===c.HYPHEN_MINUS?this.state=se:e===c.LESS_THAN_SIGN?(this.currentToken.data+="<",this.state=re):e===c.NULL?(this._err(l.unexpectedNullCharacter),this.currentToken.data+=o.REPLACEMENT_CHARACTER):e===c.EOF?(this._err(l.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.data+=Ke(e)}},{key:re,value:function(e){e===c.EXCLAMATION_MARK?(this.currentToken.data+="!",this.state=ae):e===c.LESS_THAN_SIGN?this.currentToken.data+="!":this._reconsumeInState(ne)}},{key:ae,value:function(e){e===c.HYPHEN_MINUS?this.state=ie:this._reconsumeInState(ne)}},{key:ie,value:function(e){e===c.HYPHEN_MINUS?this.state=oe:this._reconsumeInState(se)}},{key:oe,value:function(e){e!==c.GREATER_THAN_SIGN&&e!==c.EOF&&this._err(l.nestedComment),this._reconsumeInState(le)}},{key:se,value:function(e){e===c.HYPHEN_MINUS?this.state=le:e===c.EOF?(this._err(l.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="-",this._reconsumeInState(ne))}},{key:le,value:function(e){e===c.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===c.EXCLAMATION_MARK?this.state=ce:e===c.HYPHEN_MINUS?this.currentToken.data+="-":e===c.EOF?(this._err(l.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="--",this._reconsumeInState(ne))}},{key:ce,value:function(e){e===c.HYPHEN_MINUS?(this.currentToken.data+="--!",this.state=se):e===c.GREATER_THAN_SIGN?(this._err(l.incorrectlyClosedComment),this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(l.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="--!",this._reconsumeInState(ne))}},{key:ue,value:function(e){Ue(e)?this.state=de:e===c.GREATER_THAN_SIGN?this._reconsumeInState(de):e===c.EOF?(this._err(l.eofInDoctype),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(l.missingWhitespaceBeforeDoctypeName),this._reconsumeInState(de))}},{key:de,value:function(e){Ue(e)||(He(e)?(this._createDoctypeToken(qe(e)),this.state=pe):e===c.NULL?(this._err(l.unexpectedNullCharacter),this._createDoctypeToken(o.REPLACEMENT_CHARACTER),this.state=pe):e===c.GREATER_THAN_SIGN?(this._err(l.missingDoctypeName),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===c.EOF?(this._err(l.eofInDoctype),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._createDoctypeToken(Ke(e)),this.state=pe))}},{key:pe,value:function(e){Ue(e)?this.state=me:e===c.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):He(e)?this.currentToken.name+=qe(e):e===c.NULL?(this._err(l.unexpectedNullCharacter),this.currentToken.name+=o.REPLACEMENT_CHARACTER):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.name+=Ke(e)}},{key:me,value:function(e){Ue(e)||(e===c.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this._consumeSequenceIfMatch(u.PUBLIC_STRING,e,!1)?this.state=fe:this._consumeSequenceIfMatch(u.SYSTEM_STRING,e,!1)?this.state=Te:this._ensureHibernation()||(this._err(l.invalidCharacterSequenceAfterDoctypeName),this.currentToken.forceQuirks=!0,this._reconsumeInState(ke)))}},{key:fe,value:function(e){Ue(e)?this.state=ge:e===c.QUOTATION_MARK?(this._err(l.missingWhitespaceAfterDoctypePublicKeyword),this.currentToken.publicId="",this.state=he):e===c.APOSTROPHE?(this._err(l.missingWhitespaceAfterDoctypePublicKeyword),this.currentToken.publicId="",this.state=be):e===c.GREATER_THAN_SIGN?(this._err(l.missingDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(l.missingQuoteBeforeDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(ke))}},{key:ge,value:function(e){Ue(e)||(e===c.QUOTATION_MARK?(this.currentToken.publicId="",this.state=he):e===c.APOSTROPHE?(this.currentToken.publicId="",this.state=be):e===c.GREATER_THAN_SIGN?(this._err(l.missingDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(l.missingQuoteBeforeDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(ke)))}},{key:he,value:function(e){e===c.QUOTATION_MARK?this.state=Ee:e===c.NULL?(this._err(l.unexpectedNullCharacter),this.currentToken.publicId+=o.REPLACEMENT_CHARACTER):e===c.GREATER_THAN_SIGN?(this._err(l.abruptDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.publicId+=Ke(e)}},{key:be,value:function(e){e===c.APOSTROPHE?this.state=Ee:e===c.NULL?(this._err(l.unexpectedNullCharacter),this.currentToken.publicId+=o.REPLACEMENT_CHARACTER):e===c.GREATER_THAN_SIGN?(this._err(l.abruptDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.publicId+=Ke(e)}},{key:Ee,value:function(e){Ue(e)?this.state=ye:e===c.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===c.QUOTATION_MARK?(this._err(l.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),this.currentToken.systemId="",this.state=ve):e===c.APOSTROPHE?(this._err(l.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),this.currentToken.systemId="",this.state=Ae):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(l.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(ke))}},{key:ye,value:function(e){Ue(e)||(e===c.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=p):e===c.QUOTATION_MARK?(this.currentToken.systemId="",this.state=ve):e===c.APOSTROPHE?(this.currentToken.systemId="",this.state=Ae):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(l.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(ke)))}},{key:Te,value:function(e){Ue(e)?this.state=Se:e===c.QUOTATION_MARK?(this._err(l.missingWhitespaceAfterDoctypeSystemKeyword),this.currentToken.systemId="",this.state=ve):e===c.APOSTROPHE?(this._err(l.missingWhitespaceAfterDoctypeSystemKeyword),this.currentToken.systemId="",this.state=Ae):e===c.GREATER_THAN_SIGN?(this._err(l.missingDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(l.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(ke))}},{key:Se,value:function(e){Ue(e)||(e===c.QUOTATION_MARK?(this.currentToken.systemId="",this.state=ve):e===c.APOSTROPHE?(this.currentToken.systemId="",this.state=Ae):e===c.GREATER_THAN_SIGN?(this._err(l.missingDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(l.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(ke)))}},{key:ve,value:function(e){e===c.QUOTATION_MARK?this.state=_e:e===c.NULL?(this._err(l.unexpectedNullCharacter),this.currentToken.systemId+=o.REPLACEMENT_CHARACTER):e===c.GREATER_THAN_SIGN?(this._err(l.abruptDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.systemId+=Ke(e)}},{key:Ae,value:function(e){e===c.APOSTROPHE?this.state=_e:e===c.NULL?(this._err(l.unexpectedNullCharacter),this.currentToken.systemId+=o.REPLACEMENT_CHARACTER):e===c.GREATER_THAN_SIGN?(this._err(l.abruptDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.systemId+=Ke(e)}},{key:_e,value:function(e){Ue(e)||(e===c.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=p):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(l.unexpectedCharacterAfterDoctypeSystemIdentifier),this._reconsumeInState(ke)))}},{key:ke,value:function(e){e===c.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=p):e===c.NULL?this._err(l.unexpectedNullCharacter):e===c.EOF&&(this._emitCurrentToken(),this._emitEOFToken())}},{key:Ce,value:function(e){e===c.RIGHT_SQUARE_BRACKET?this.state=we:e===c.EOF?(this._err(l.eofInCdata),this._emitEOFToken()):this._emitCodePoint(e)}},{key:we,value:function(e){e===c.RIGHT_SQUARE_BRACKET?this.state=Ne:(this._emitChars("]"),this._reconsumeInState(Ce))}},{key:Ne,value:function(e){e===c.GREATER_THAN_SIGN?this.state=p:e===c.RIGHT_SQUARE_BRACKET?this._emitChars("]"):(this._emitChars("]]"),this._reconsumeInState(Ce))}},{key:Ie,value:function(e){this.tempBuff=[c.AMPERSAND],e===c.NUMBER_SIGN?(this.tempBuff.push(e),this.state=Oe):$e(e)?this._reconsumeInState(Re):(this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState))}},{key:Re,value:function(e){var t=this._matchNamedCharacterReference(e);if(this._ensureHibernation())this.tempBuff=[c.AMPERSAND];else if(t){var n=this.tempBuff[this.tempBuff.length-1]===c.SEMICOLON;this._isCharacterReferenceAttributeQuirk(n)||(n||this._errOnNextCodePoint(l.missingSemicolonAfterCharacterReference),this.tempBuff=t),this._flushCodePointsConsumedAsCharacterReference(),this.state=this.returnState}else this._flushCodePointsConsumedAsCharacterReference(),this.state=xe}},{key:xe,value:function(e){$e(e)?this._isCharacterReferenceInAttribute()?this.currentAttr.value+=Ke(e):this._emitCodePoint(e):(e===c.SEMICOLON&&this._err(l.unknownNamedCharacterReference),this._reconsumeInState(this.returnState))}},{key:Oe,value:function(e){this.charRefCode=0,e===c.LATIN_SMALL_X||e===c.LATIN_CAPITAL_X?(this.tempBuff.push(e),this.state=Le):this._reconsumeInState(Pe)}},{key:Le,value:function(e){!function(e){return Be(e)||je(e)||Ve(e)}(e)?(this._err(l.absenceOfDigitsInNumericCharacterReference),this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState)):this._reconsumeInState(De)}},{key:Pe,value:function(e){Be(e)?this._reconsumeInState(Me):(this._err(l.absenceOfDigitsInNumericCharacterReference),this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState))}},{key:De,value:function(e){je(e)?this.charRefCode=16*this.charRefCode+e-55:Ve(e)?this.charRefCode=16*this.charRefCode+e-87:Be(e)?this.charRefCode=16*this.charRefCode+e-48:e===c.SEMICOLON?this.state=Fe:(this._err(l.missingSemicolonAfterCharacterReference),this._reconsumeInState(Fe))}},{key:Me,value:function(e){Be(e)?this.charRefCode=10*this.charRefCode+e-48:e===c.SEMICOLON?this.state=Fe:(this._err(l.missingSemicolonAfterCharacterReference),this._reconsumeInState(Fe))}},{key:Fe,value:function(){if(this.charRefCode===c.NULL)this._err(l.nullCharacterReference),this.charRefCode=c.REPLACEMENT_CHARACTER;else if(this.charRefCode>1114111)this._err(l.characterReferenceOutsideUnicodeRange),this.charRefCode=c.REPLACEMENT_CHARACTER;else if(o.isSurrogate(this.charRefCode))this._err(l.surrogateCharacterReference),this.charRefCode=c.REPLACEMENT_CHARACTER;else if(o.isUndefinedCodePoint(this.charRefCode))this._err(l.noncharacterCharacterReference);else if(o.isControlCodePoint(this.charRefCode)||this.charRefCode===c.CARRIAGE_RETURN){this._err(l.controlCharacterReference);var e=d[this.charRefCode];e&&(this.charRefCode=e)}this.tempBuff=[this.charRefCode],this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState)}}]),e}();Xe.CHARACTER_TOKEN="CHARACTER_TOKEN",Xe.NULL_CHARACTER_TOKEN="NULL_CHARACTER_TOKEN",Xe.WHITESPACE_CHARACTER_TOKEN="WHITESPACE_CHARACTER_TOKEN",Xe.START_TAG_TOKEN="START_TAG_TOKEN",Xe.END_TAG_TOKEN="END_TAG_TOKEN",Xe.COMMENT_TOKEN="COMMENT_TOKEN",Xe.DOCTYPE_TOKEN="DOCTYPE_TOKEN",Xe.EOF_TOKEN="EOF_TOKEN",Xe.HIBERNATION_TOKEN="HIBERNATION_TOKEN",Xe.MODE={DATA:p,RCDATA:m,RAWTEXT:f,SCRIPT_DATA:g,PLAINTEXT:h},Xe.getTokenAttr=function(e,t){for(var n=e.attrs.length-1;n>=0;n--)if(e.attrs[n].name===t)return e.attrs[n].value;return null},e.exports=Xe},9908:function(e){"use strict";e.exports=new Uint16Array([4,52,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,106,303,412,810,1432,1701,1796,1987,2114,2360,2420,2484,3170,3251,4140,4393,4575,4610,5106,5512,5728,6117,6274,6315,6345,6427,6516,7002,7910,8733,9323,9870,10170,10631,10893,11318,11386,11467,12773,13092,14474,14922,15448,15542,16419,17666,18166,18611,19004,19095,19298,19397,4,16,69,77,97,98,99,102,103,108,109,110,111,112,114,115,116,117,140,150,158,169,176,194,199,210,216,222,226,242,256,266,283,294,108,105,103,5,198,1,59,148,1,198,80,5,38,1,59,156,1,38,99,117,116,101,5,193,1,59,167,1,193,114,101,118,101,59,1,258,4,2,105,121,182,191,114,99,5,194,1,59,189,1,194,59,1,1040,114,59,3,55349,56580,114,97,118,101,5,192,1,59,208,1,192,112,104,97,59,1,913,97,99,114,59,1,256,100,59,1,10835,4,2,103,112,232,237,111,110,59,1,260,102,59,3,55349,56632,112,108,121,70,117,110,99,116,105,111,110,59,1,8289,105,110,103,5,197,1,59,264,1,197,4,2,99,115,272,277,114,59,3,55349,56476,105,103,110,59,1,8788,105,108,100,101,5,195,1,59,292,1,195,109,108,5,196,1,59,301,1,196,4,8,97,99,101,102,111,114,115,117,321,350,354,383,388,394,400,405,4,2,99,114,327,336,107,115,108,97,115,104,59,1,8726,4,2,118,119,342,345,59,1,10983,101,100,59,1,8966,121,59,1,1041,4,3,99,114,116,362,369,379,97,117,115,101,59,1,8757,110,111,117,108,108,105,115,59,1,8492,97,59,1,914,114,59,3,55349,56581,112,102,59,3,55349,56633,101,118,101,59,1,728,99,114,59,1,8492,109,112,101,113,59,1,8782,4,14,72,79,97,99,100,101,102,104,105,108,111,114,115,117,442,447,456,504,542,547,569,573,577,616,678,784,790,796,99,121,59,1,1063,80,89,5,169,1,59,454,1,169,4,3,99,112,121,464,470,497,117,116,101,59,1,262,4,2,59,105,476,478,1,8914,116,97,108,68,105,102,102,101,114,101,110,116,105,97,108,68,59,1,8517,108,101,121,115,59,1,8493,4,4,97,101,105,111,514,520,530,535,114,111,110,59,1,268,100,105,108,5,199,1,59,528,1,199,114,99,59,1,264,110,105,110,116,59,1,8752,111,116,59,1,266,4,2,100,110,553,560,105,108,108,97,59,1,184,116,101,114,68,111,116,59,1,183,114,59,1,8493,105,59,1,935,114,99,108,101,4,4,68,77,80,84,591,596,603,609,111,116,59,1,8857,105,110,117,115,59,1,8854,108,117,115,59,1,8853,105,109,101,115,59,1,8855,111,4,2,99,115,623,646,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8754,101,67,117,114,108,121,4,2,68,81,658,671,111,117,98,108,101,81,117,111,116,101,59,1,8221,117,111,116,101,59,1,8217,4,4,108,110,112,117,688,701,736,753,111,110,4,2,59,101,696,698,1,8759,59,1,10868,4,3,103,105,116,709,717,722,114,117,101,110,116,59,1,8801,110,116,59,1,8751,111,117,114,73,110,116,101,103,114,97,108,59,1,8750,4,2,102,114,742,745,59,1,8450,111,100,117,99,116,59,1,8720,110,116,101,114,67,108,111,99,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8755,111,115,115,59,1,10799,99,114,59,3,55349,56478,112,4,2,59,67,803,805,1,8915,97,112,59,1,8781,4,11,68,74,83,90,97,99,101,102,105,111,115,834,850,855,860,865,888,903,916,921,1011,1415,4,2,59,111,840,842,1,8517,116,114,97,104,100,59,1,10513,99,121,59,1,1026,99,121,59,1,1029,99,121,59,1,1039,4,3,103,114,115,873,879,883,103,101,114,59,1,8225,114,59,1,8609,104,118,59,1,10980,4,2,97,121,894,900,114,111,110,59,1,270,59,1,1044,108,4,2,59,116,910,912,1,8711,97,59,1,916,114,59,3,55349,56583,4,2,97,102,927,998,4,2,99,109,933,992,114,105,116,105,99,97,108,4,4,65,68,71,84,950,957,978,985,99,117,116,101,59,1,180,111,4,2,116,117,964,967,59,1,729,98,108,101,65,99,117,116,101,59,1,733,114,97,118,101,59,1,96,105,108,100,101,59,1,732,111,110,100,59,1,8900,102,101,114,101,110,116,105,97,108,68,59,1,8518,4,4,112,116,117,119,1021,1026,1048,1249,102,59,3,55349,56635,4,3,59,68,69,1034,1036,1041,1,168,111,116,59,1,8412,113,117,97,108,59,1,8784,98,108,101,4,6,67,68,76,82,85,86,1065,1082,1101,1189,1211,1236,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8751,111,4,2,116,119,1089,1092,59,1,168,110,65,114,114,111,119,59,1,8659,4,2,101,111,1107,1141,102,116,4,3,65,82,84,1117,1124,1136,114,114,111,119,59,1,8656,105,103,104,116,65,114,114,111,119,59,1,8660,101,101,59,1,10980,110,103,4,2,76,82,1149,1177,101,102,116,4,2,65,82,1158,1165,114,114,111,119,59,1,10232,105,103,104,116,65,114,114,111,119,59,1,10234,105,103,104,116,65,114,114,111,119,59,1,10233,105,103,104,116,4,2,65,84,1199,1206,114,114,111,119,59,1,8658,101,101,59,1,8872,112,4,2,65,68,1218,1225,114,114,111,119,59,1,8657,111,119,110,65,114,114,111,119,59,1,8661,101,114,116,105,99,97,108,66,97,114,59,1,8741,110,4,6,65,66,76,82,84,97,1264,1292,1299,1352,1391,1408,114,114,111,119,4,3,59,66,85,1276,1278,1283,1,8595,97,114,59,1,10515,112,65,114,114,111,119,59,1,8693,114,101,118,101,59,1,785,101,102,116,4,3,82,84,86,1310,1323,1334,105,103,104,116,86,101,99,116,111,114,59,1,10576,101,101,86,101,99,116,111,114,59,1,10590,101,99,116,111,114,4,2,59,66,1345,1347,1,8637,97,114,59,1,10582,105,103,104,116,4,2,84,86,1362,1373,101,101,86,101,99,116,111,114,59,1,10591,101,99,116,111,114,4,2,59,66,1384,1386,1,8641,97,114,59,1,10583,101,101,4,2,59,65,1399,1401,1,8868,114,114,111,119,59,1,8615,114,114,111,119,59,1,8659,4,2,99,116,1421,1426,114,59,3,55349,56479,114,111,107,59,1,272,4,16,78,84,97,99,100,102,103,108,109,111,112,113,115,116,117,120,1466,1470,1478,1489,1515,1520,1525,1536,1544,1593,1609,1617,1650,1664,1668,1677,71,59,1,330,72,5,208,1,59,1476,1,208,99,117,116,101,5,201,1,59,1487,1,201,4,3,97,105,121,1497,1503,1512,114,111,110,59,1,282,114,99,5,202,1,59,1510,1,202,59,1,1069,111,116,59,1,278,114,59,3,55349,56584,114,97,118,101,5,200,1,59,1534,1,200,101,109,101,110,116,59,1,8712,4,2,97,112,1550,1555,99,114,59,1,274,116,121,4,2,83,86,1563,1576,109,97,108,108,83,113,117,97,114,101,59,1,9723,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9643,4,2,103,112,1599,1604,111,110,59,1,280,102,59,3,55349,56636,115,105,108,111,110,59,1,917,117,4,2,97,105,1624,1640,108,4,2,59,84,1631,1633,1,10869,105,108,100,101,59,1,8770,108,105,98,114,105,117,109,59,1,8652,4,2,99,105,1656,1660,114,59,1,8496,109,59,1,10867,97,59,1,919,109,108,5,203,1,59,1675,1,203,4,2,105,112,1683,1689,115,116,115,59,1,8707,111,110,101,110,116,105,97,108,69,59,1,8519,4,5,99,102,105,111,115,1713,1717,1722,1762,1791,121,59,1,1060,114,59,3,55349,56585,108,108,101,100,4,2,83,86,1732,1745,109,97,108,108,83,113,117,97,114,101,59,1,9724,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9642,4,3,112,114,117,1770,1775,1781,102,59,3,55349,56637,65,108,108,59,1,8704,114,105,101,114,116,114,102,59,1,8497,99,114,59,1,8497,4,12,74,84,97,98,99,100,102,103,111,114,115,116,1822,1827,1834,1848,1855,1877,1882,1887,1890,1896,1978,1984,99,121,59,1,1027,5,62,1,59,1832,1,62,109,109,97,4,2,59,100,1843,1845,1,915,59,1,988,114,101,118,101,59,1,286,4,3,101,105,121,1863,1869,1874,100,105,108,59,1,290,114,99,59,1,284,59,1,1043,111,116,59,1,288,114,59,3,55349,56586,59,1,8921,112,102,59,3,55349,56638,101,97,116,101,114,4,6,69,70,71,76,83,84,1915,1933,1944,1953,1959,1971,113,117,97,108,4,2,59,76,1925,1927,1,8805,101,115,115,59,1,8923,117,108,108,69,113,117,97,108,59,1,8807,114,101,97,116,101,114,59,1,10914,101,115,115,59,1,8823,108,97,110,116,69,113,117,97,108,59,1,10878,105,108,100,101,59,1,8819,99,114,59,3,55349,56482,59,1,8811,4,8,65,97,99,102,105,111,115,117,2005,2012,2026,2032,2036,2049,2073,2089,82,68,99,121,59,1,1066,4,2,99,116,2018,2023,101,107,59,1,711,59,1,94,105,114,99,59,1,292,114,59,1,8460,108,98,101,114,116,83,112,97,99,101,59,1,8459,4,2,112,114,2055,2059,102,59,1,8461,105,122,111,110,116,97,108,76,105,110,101,59,1,9472,4,2,99,116,2079,2083,114,59,1,8459,114,111,107,59,1,294,109,112,4,2,68,69,2097,2107,111,119,110,72,117,109,112,59,1,8782,113,117,97,108,59,1,8783,4,14,69,74,79,97,99,100,102,103,109,110,111,115,116,117,2144,2149,2155,2160,2171,2189,2194,2198,2209,2245,2307,2329,2334,2341,99,121,59,1,1045,108,105,103,59,1,306,99,121,59,1,1025,99,117,116,101,5,205,1,59,2169,1,205,4,2,105,121,2177,2186,114,99,5,206,1,59,2184,1,206,59,1,1048,111,116,59,1,304,114,59,1,8465,114,97,118,101,5,204,1,59,2207,1,204,4,3,59,97,112,2217,2219,2238,1,8465,4,2,99,103,2225,2229,114,59,1,298,105,110,97,114,121,73,59,1,8520,108,105,101,115,59,1,8658,4,2,116,118,2251,2281,4,2,59,101,2257,2259,1,8748,4,2,103,114,2265,2271,114,97,108,59,1,8747,115,101,99,116,105,111,110,59,1,8898,105,115,105,98,108,101,4,2,67,84,2293,2300,111,109,109,97,59,1,8291,105,109,101,115,59,1,8290,4,3,103,112,116,2315,2320,2325,111,110,59,1,302,102,59,3,55349,56640,97,59,1,921,99,114,59,1,8464,105,108,100,101,59,1,296,4,2,107,109,2347,2352,99,121,59,1,1030,108,5,207,1,59,2358,1,207,4,5,99,102,111,115,117,2372,2386,2391,2397,2414,4,2,105,121,2378,2383,114,99,59,1,308,59,1,1049,114,59,3,55349,56589,112,102,59,3,55349,56641,4,2,99,101,2403,2408,114,59,3,55349,56485,114,99,121,59,1,1032,107,99,121,59,1,1028,4,7,72,74,97,99,102,111,115,2436,2441,2446,2452,2467,2472,2478,99,121,59,1,1061,99,121,59,1,1036,112,112,97,59,1,922,4,2,101,121,2458,2464,100,105,108,59,1,310,59,1,1050,114,59,3,55349,56590,112,102,59,3,55349,56642,99,114,59,3,55349,56486,4,11,74,84,97,99,101,102,108,109,111,115,116,2508,2513,2520,2562,2585,2981,2986,3004,3011,3146,3167,99,121,59,1,1033,5,60,1,59,2518,1,60,4,5,99,109,110,112,114,2532,2538,2544,2548,2558,117,116,101,59,1,313,98,100,97,59,1,923,103,59,1,10218,108,97,99,101,116,114,102,59,1,8466,114,59,1,8606,4,3,97,101,121,2570,2576,2582,114,111,110,59,1,317,100,105,108,59,1,315,59,1,1051,4,2,102,115,2591,2907,116,4,10,65,67,68,70,82,84,85,86,97,114,2614,2663,2672,2728,2735,2760,2820,2870,2888,2895,4,2,110,114,2620,2633,103,108,101,66,114,97,99,107,101,116,59,1,10216,114,111,119,4,3,59,66,82,2644,2646,2651,1,8592,97,114,59,1,8676,105,103,104,116,65,114,114,111,119,59,1,8646,101,105,108,105,110,103,59,1,8968,111,4,2,117,119,2679,2692,98,108,101,66,114,97,99,107,101,116,59,1,10214,110,4,2,84,86,2699,2710,101,101,86,101,99,116,111,114,59,1,10593,101,99,116,111,114,4,2,59,66,2721,2723,1,8643,97,114,59,1,10585,108,111,111,114,59,1,8970,105,103,104,116,4,2,65,86,2745,2752,114,114,111,119,59,1,8596,101,99,116,111,114,59,1,10574,4,2,101,114,2766,2792,101,4,3,59,65,86,2775,2777,2784,1,8867,114,114,111,119,59,1,8612,101,99,116,111,114,59,1,10586,105,97,110,103,108,101,4,3,59,66,69,2806,2808,2813,1,8882,97,114,59,1,10703,113,117,97,108,59,1,8884,112,4,3,68,84,86,2829,2841,2852,111,119,110,86,101,99,116,111,114,59,1,10577,101,101,86,101,99,116,111,114,59,1,10592,101,99,116,111,114,4,2,59,66,2863,2865,1,8639,97,114,59,1,10584,101,99,116,111,114,4,2,59,66,2881,2883,1,8636,97,114,59,1,10578,114,114,111,119,59,1,8656,105,103,104,116,97,114,114,111,119,59,1,8660,115,4,6,69,70,71,76,83,84,2922,2936,2947,2956,2962,2974,113,117,97,108,71,114,101,97,116,101,114,59,1,8922,117,108,108,69,113,117,97,108,59,1,8806,114,101,97,116,101,114,59,1,8822,101,115,115,59,1,10913,108,97,110,116,69,113,117,97,108,59,1,10877,105,108,100,101,59,1,8818,114,59,3,55349,56591,4,2,59,101,2992,2994,1,8920,102,116,97,114,114,111,119,59,1,8666,105,100,111,116,59,1,319,4,3,110,112,119,3019,3110,3115,103,4,4,76,82,108,114,3030,3058,3070,3098,101,102,116,4,2,65,82,3039,3046,114,114,111,119,59,1,10229,105,103,104,116,65,114,114,111,119,59,1,10231,105,103,104,116,65,114,114,111,119,59,1,10230,101,102,116,4,2,97,114,3079,3086,114,114,111,119,59,1,10232,105,103,104,116,97,114,114,111,119,59,1,10234,105,103,104,116,97,114,114,111,119,59,1,10233,102,59,3,55349,56643,101,114,4,2,76,82,3123,3134,101,102,116,65,114,114,111,119,59,1,8601,105,103,104,116,65,114,114,111,119,59,1,8600,4,3,99,104,116,3154,3158,3161,114,59,1,8466,59,1,8624,114,111,107,59,1,321,59,1,8810,4,8,97,99,101,102,105,111,115,117,3188,3192,3196,3222,3227,3237,3243,3248,112,59,1,10501,121,59,1,1052,4,2,100,108,3202,3213,105,117,109,83,112,97,99,101,59,1,8287,108,105,110,116,114,102,59,1,8499,114,59,3,55349,56592,110,117,115,80,108,117,115,59,1,8723,112,102,59,3,55349,56644,99,114,59,1,8499,59,1,924,4,9,74,97,99,101,102,111,115,116,117,3271,3276,3283,3306,3422,3427,4120,4126,4137,99,121,59,1,1034,99,117,116,101,59,1,323,4,3,97,101,121,3291,3297,3303,114,111,110,59,1,327,100,105,108,59,1,325,59,1,1053,4,3,103,115,119,3314,3380,3415,97,116,105,118,101,4,3,77,84,86,3327,3340,3365,101,100,105,117,109,83,112,97,99,101,59,1,8203,104,105,4,2,99,110,3348,3357,107,83,112,97,99,101,59,1,8203,83,112,97,99,101,59,1,8203,101,114,121,84,104,105,110,83,112,97,99,101,59,1,8203,116,101,100,4,2,71,76,3389,3405,114,101,97,116,101,114,71,114,101,97,116,101,114,59,1,8811,101,115,115,76,101,115,115,59,1,8810,76,105,110,101,59,1,10,114,59,3,55349,56593,4,4,66,110,112,116,3437,3444,3460,3464,114,101,97,107,59,1,8288,66,114,101,97,107,105,110,103,83,112,97,99,101,59,1,160,102,59,1,8469,4,13,59,67,68,69,71,72,76,78,80,82,83,84,86,3492,3494,3517,3536,3578,3657,3685,3784,3823,3860,3915,4066,4107,1,10988,4,2,111,117,3500,3510,110,103,114,117,101,110,116,59,1,8802,112,67,97,112,59,1,8813,111,117,98,108,101,86,101,114,116,105,99,97,108,66,97,114,59,1,8742,4,3,108,113,120,3544,3552,3571,101,109,101,110,116,59,1,8713,117,97,108,4,2,59,84,3561,3563,1,8800,105,108,100,101,59,3,8770,824,105,115,116,115,59,1,8708,114,101,97,116,101,114,4,7,59,69,70,71,76,83,84,3600,3602,3609,3621,3631,3637,3650,1,8815,113,117,97,108,59,1,8817,117,108,108,69,113,117,97,108,59,3,8807,824,114,101,97,116,101,114,59,3,8811,824,101,115,115,59,1,8825,108,97,110,116,69,113,117,97,108,59,3,10878,824,105,108,100,101,59,1,8821,117,109,112,4,2,68,69,3666,3677,111,119,110,72,117,109,112,59,3,8782,824,113,117,97,108,59,3,8783,824,101,4,2,102,115,3692,3724,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3709,3711,3717,1,8938,97,114,59,3,10703,824,113,117,97,108,59,1,8940,115,4,6,59,69,71,76,83,84,3739,3741,3748,3757,3764,3777,1,8814,113,117,97,108,59,1,8816,114,101,97,116,101,114,59,1,8824,101,115,115,59,3,8810,824,108,97,110,116,69,113,117,97,108,59,3,10877,824,105,108,100,101,59,1,8820,101,115,116,101,100,4,2,71,76,3795,3812,114,101,97,116,101,114,71,114,101,97,116,101,114,59,3,10914,824,101,115,115,76,101,115,115,59,3,10913,824,114,101,99,101,100,101,115,4,3,59,69,83,3838,3840,3848,1,8832,113,117,97,108,59,3,10927,824,108,97,110,116,69,113,117,97,108,59,1,8928,4,2,101,105,3866,3881,118,101,114,115,101,69,108,101,109,101,110,116,59,1,8716,103,104,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3900,3902,3908,1,8939,97,114,59,3,10704,824,113,117,97,108,59,1,8941,4,2,113,117,3921,3973,117,97,114,101,83,117,4,2,98,112,3933,3952,115,101,116,4,2,59,69,3942,3945,3,8847,824,113,117,97,108,59,1,8930,101,114,115,101,116,4,2,59,69,3963,3966,3,8848,824,113,117,97,108,59,1,8931,4,3,98,99,112,3981,4e3,4045,115,101,116,4,2,59,69,3990,3993,3,8834,8402,113,117,97,108,59,1,8840,99,101,101,100,115,4,4,59,69,83,84,4015,4017,4025,4037,1,8833,113,117,97,108,59,3,10928,824,108,97,110,116,69,113,117,97,108,59,1,8929,105,108,100,101,59,3,8831,824,101,114,115,101,116,4,2,59,69,4056,4059,3,8835,8402,113,117,97,108,59,1,8841,105,108,100,101,4,4,59,69,70,84,4080,4082,4089,4100,1,8769,113,117,97,108,59,1,8772,117,108,108,69,113,117,97,108,59,1,8775,105,108,100,101,59,1,8777,101,114,116,105,99,97,108,66,97,114,59,1,8740,99,114,59,3,55349,56489,105,108,100,101,5,209,1,59,4135,1,209,59,1,925,4,14,69,97,99,100,102,103,109,111,112,114,115,116,117,118,4170,4176,4187,4205,4212,4217,4228,4253,4259,4292,4295,4316,4337,4346,108,105,103,59,1,338,99,117,116,101,5,211,1,59,4185,1,211,4,2,105,121,4193,4202,114,99,5,212,1,59,4200,1,212,59,1,1054,98,108,97,99,59,1,336,114,59,3,55349,56594,114,97,118,101,5,210,1,59,4226,1,210,4,3,97,101,105,4236,4241,4246,99,114,59,1,332,103,97,59,1,937,99,114,111,110,59,1,927,112,102,59,3,55349,56646,101,110,67,117,114,108,121,4,2,68,81,4272,4285,111,117,98,108,101,81,117,111,116,101,59,1,8220,117,111,116,101,59,1,8216,59,1,10836,4,2,99,108,4301,4306,114,59,3,55349,56490,97,115,104,5,216,1,59,4314,1,216,105,4,2,108,109,4323,4332,100,101,5,213,1,59,4330,1,213,101,115,59,1,10807,109,108,5,214,1,59,4344,1,214,101,114,4,2,66,80,4354,4380,4,2,97,114,4360,4364,114,59,1,8254,97,99,4,2,101,107,4372,4375,59,1,9182,101,116,59,1,9140,97,114,101,110,116,104,101,115,105,115,59,1,9180,4,9,97,99,102,104,105,108,111,114,115,4413,4422,4426,4431,4435,4438,4448,4471,4561,114,116,105,97,108,68,59,1,8706,121,59,1,1055,114,59,3,55349,56595,105,59,1,934,59,1,928,117,115,77,105,110,117,115,59,1,177,4,2,105,112,4454,4467,110,99,97,114,101,112,108,97,110,101,59,1,8460,102,59,1,8473,4,4,59,101,105,111,4481,4483,4526,4531,1,10939,99,101,100,101,115,4,4,59,69,83,84,4498,4500,4507,4519,1,8826,113,117,97,108,59,1,10927,108,97,110,116,69,113,117,97,108,59,1,8828,105,108,100,101,59,1,8830,109,101,59,1,8243,4,2,100,112,4537,4543,117,99,116,59,1,8719,111,114,116,105,111,110,4,2,59,97,4555,4557,1,8759,108,59,1,8733,4,2,99,105,4567,4572,114,59,3,55349,56491,59,1,936,4,4,85,102,111,115,4585,4594,4599,4604,79,84,5,34,1,59,4592,1,34,114,59,3,55349,56596,112,102,59,1,8474,99,114,59,3,55349,56492,4,12,66,69,97,99,101,102,104,105,111,114,115,117,4636,4642,4650,4681,4704,4763,4767,4771,5047,5069,5081,5094,97,114,114,59,1,10512,71,5,174,1,59,4648,1,174,4,3,99,110,114,4658,4664,4668,117,116,101,59,1,340,103,59,1,10219,114,4,2,59,116,4675,4677,1,8608,108,59,1,10518,4,3,97,101,121,4689,4695,4701,114,111,110,59,1,344,100,105,108,59,1,342,59,1,1056,4,2,59,118,4710,4712,1,8476,101,114,115,101,4,2,69,85,4722,4748,4,2,108,113,4728,4736,101,109,101,110,116,59,1,8715,117,105,108,105,98,114,105,117,109,59,1,8651,112,69,113,117,105,108,105,98,114,105,117,109,59,1,10607,114,59,1,8476,111,59,1,929,103,104,116,4,8,65,67,68,70,84,85,86,97,4792,4840,4849,4905,4912,4972,5022,5040,4,2,110,114,4798,4811,103,108,101,66,114,97,99,107,101,116,59,1,10217,114,111,119,4,3,59,66,76,4822,4824,4829,1,8594,97,114,59,1,8677,101,102,116,65,114,114,111,119,59,1,8644,101,105,108,105,110,103,59,1,8969,111,4,2,117,119,4856,4869,98,108,101,66,114,97,99,107,101,116,59,1,10215,110,4,2,84,86,4876,4887,101,101,86,101,99,116,111,114,59,1,10589,101,99,116,111,114,4,2,59,66,4898,4900,1,8642,97,114,59,1,10581,108,111,111,114,59,1,8971,4,2,101,114,4918,4944,101,4,3,59,65,86,4927,4929,4936,1,8866,114,114,111,119,59,1,8614,101,99,116,111,114,59,1,10587,105,97,110,103,108,101,4,3,59,66,69,4958,4960,4965,1,8883,97,114,59,1,10704,113,117,97,108,59,1,8885,112,4,3,68,84,86,4981,4993,5004,111,119,110,86,101,99,116,111,114,59,1,10575,101,101,86,101,99,116,111,114,59,1,10588,101,99,116,111,114,4,2,59,66,5015,5017,1,8638,97,114,59,1,10580,101,99,116,111,114,4,2,59,66,5033,5035,1,8640,97,114,59,1,10579,114,114,111,119,59,1,8658,4,2,112,117,5053,5057,102,59,1,8477,110,100,73,109,112,108,105,101,115,59,1,10608,105,103,104,116,97,114,114,111,119,59,1,8667,4,2,99,104,5087,5091,114,59,1,8475,59,1,8625,108,101,68,101,108,97,121,101,100,59,1,10740,4,13,72,79,97,99,102,104,105,109,111,113,115,116,117,5134,5150,5157,5164,5198,5203,5259,5265,5277,5283,5374,5380,5385,4,2,67,99,5140,5146,72,99,121,59,1,1065,121,59,1,1064,70,84,99,121,59,1,1068,99,117,116,101,59,1,346,4,5,59,97,101,105,121,5176,5178,5184,5190,5195,1,10940,114,111,110,59,1,352,100,105,108,59,1,350,114,99,59,1,348,59,1,1057,114,59,3,55349,56598,111,114,116,4,4,68,76,82,85,5216,5227,5238,5250,111,119,110,65,114,114,111,119,59,1,8595,101,102,116,65,114,114,111,119,59,1,8592,105,103,104,116,65,114,114,111,119,59,1,8594,112,65,114,114,111,119,59,1,8593,103,109,97,59,1,931,97,108,108,67,105,114,99,108,101,59,1,8728,112,102,59,3,55349,56650,4,2,114,117,5289,5293,116,59,1,8730,97,114,101,4,4,59,73,83,85,5306,5308,5322,5367,1,9633,110,116,101,114,115,101,99,116,105,111,110,59,1,8851,117,4,2,98,112,5329,5347,115,101,116,4,2,59,69,5338,5340,1,8847,113,117,97,108,59,1,8849,101,114,115,101,116,4,2,59,69,5358,5360,1,8848,113,117,97,108,59,1,8850,110,105,111,110,59,1,8852,99,114,59,3,55349,56494,97,114,59,1,8902,4,4,98,99,109,112,5395,5420,5475,5478,4,2,59,115,5401,5403,1,8912,101,116,4,2,59,69,5411,5413,1,8912,113,117,97,108,59,1,8838,4,2,99,104,5426,5468,101,101,100,115,4,4,59,69,83,84,5440,5442,5449,5461,1,8827,113,117,97,108,59,1,10928,108,97,110,116,69,113,117,97,108,59,1,8829,105,108,100,101,59,1,8831,84,104,97,116,59,1,8715,59,1,8721,4,3,59,101,115,5486,5488,5507,1,8913,114,115,101,116,4,2,59,69,5498,5500,1,8835,113,117,97,108,59,1,8839,101,116,59,1,8913,4,11,72,82,83,97,99,102,104,105,111,114,115,5536,5546,5552,5567,5579,5602,5607,5655,5695,5701,5711,79,82,78,5,222,1,59,5544,1,222,65,68,69,59,1,8482,4,2,72,99,5558,5563,99,121,59,1,1035,121,59,1,1062,4,2,98,117,5573,5576,59,1,9,59,1,932,4,3,97,101,121,5587,5593,5599,114,111,110,59,1,356,100,105,108,59,1,354,59,1,1058,114,59,3,55349,56599,4,2,101,105,5613,5631,4,2,114,116,5619,5627,101,102,111,114,101,59,1,8756,97,59,1,920,4,2,99,110,5637,5647,107,83,112,97,99,101,59,3,8287,8202,83,112,97,99,101,59,1,8201,108,100,101,4,4,59,69,70,84,5668,5670,5677,5688,1,8764,113,117,97,108,59,1,8771,117,108,108,69,113,117,97,108,59,1,8773,105,108,100,101,59,1,8776,112,102,59,3,55349,56651,105,112,108,101,68,111,116,59,1,8411,4,2,99,116,5717,5722,114,59,3,55349,56495,114,111,107,59,1,358,4,14,97,98,99,100,102,103,109,110,111,112,114,115,116,117,5758,5789,5805,5823,5830,5835,5846,5852,5921,5937,6089,6095,6101,6108,4,2,99,114,5764,5774,117,116,101,5,218,1,59,5772,1,218,114,4,2,59,111,5781,5783,1,8607,99,105,114,59,1,10569,114,4,2,99,101,5796,5800,121,59,1,1038,118,101,59,1,364,4,2,105,121,5811,5820,114,99,5,219,1,59,5818,1,219,59,1,1059,98,108,97,99,59,1,368,114,59,3,55349,56600,114,97,118,101,5,217,1,59,5844,1,217,97,99,114,59,1,362,4,2,100,105,5858,5905,101,114,4,2,66,80,5866,5892,4,2,97,114,5872,5876,114,59,1,95,97,99,4,2,101,107,5884,5887,59,1,9183,101,116,59,1,9141,97,114,101,110,116,104,101,115,105,115,59,1,9181,111,110,4,2,59,80,5913,5915,1,8899,108,117,115,59,1,8846,4,2,103,112,5927,5932,111,110,59,1,370,102,59,3,55349,56652,4,8,65,68,69,84,97,100,112,115,5955,5985,5996,6009,6026,6033,6044,6075,114,114,111,119,4,3,59,66,68,5967,5969,5974,1,8593,97,114,59,1,10514,111,119,110,65,114,114,111,119,59,1,8645,111,119,110,65,114,114,111,119,59,1,8597,113,117,105,108,105,98,114,105,117,109,59,1,10606,101,101,4,2,59,65,6017,6019,1,8869,114,114,111,119,59,1,8613,114,114,111,119,59,1,8657,111,119,110,97,114,114,111,119,59,1,8661,101,114,4,2,76,82,6052,6063,101,102,116,65,114,114,111,119,59,1,8598,105,103,104,116,65,114,114,111,119,59,1,8599,105,4,2,59,108,6082,6084,1,978,111,110,59,1,933,105,110,103,59,1,366,99,114,59,3,55349,56496,105,108,100,101,59,1,360,109,108,5,220,1,59,6115,1,220,4,9,68,98,99,100,101,102,111,115,118,6137,6143,6148,6152,6166,6250,6255,6261,6267,97,115,104,59,1,8875,97,114,59,1,10987,121,59,1,1042,97,115,104,4,2,59,108,6161,6163,1,8873,59,1,10982,4,2,101,114,6172,6175,59,1,8897,4,3,98,116,121,6183,6188,6238,97,114,59,1,8214,4,2,59,105,6194,6196,1,8214,99,97,108,4,4,66,76,83,84,6209,6214,6220,6231,97,114,59,1,8739,105,110,101,59,1,124,101,112,97,114,97,116,111,114,59,1,10072,105,108,100,101,59,1,8768,84,104,105,110,83,112,97,99,101,59,1,8202,114,59,3,55349,56601,112,102,59,3,55349,56653,99,114,59,3,55349,56497,100,97,115,104,59,1,8874,4,5,99,101,102,111,115,6286,6292,6298,6303,6309,105,114,99,59,1,372,100,103,101,59,1,8896,114,59,3,55349,56602,112,102,59,3,55349,56654,99,114,59,3,55349,56498,4,4,102,105,111,115,6325,6330,6333,6339,114,59,3,55349,56603,59,1,926,112,102,59,3,55349,56655,99,114,59,3,55349,56499,4,9,65,73,85,97,99,102,111,115,117,6365,6370,6375,6380,6391,6405,6410,6416,6422,99,121,59,1,1071,99,121,59,1,1031,99,121,59,1,1070,99,117,116,101,5,221,1,59,6389,1,221,4,2,105,121,6397,6402,114,99,59,1,374,59,1,1067,114,59,3,55349,56604,112,102,59,3,55349,56656,99,114,59,3,55349,56500,109,108,59,1,376,4,8,72,97,99,100,101,102,111,115,6445,6450,6457,6472,6477,6501,6505,6510,99,121,59,1,1046,99,117,116,101,59,1,377,4,2,97,121,6463,6469,114,111,110,59,1,381,59,1,1047,111,116,59,1,379,4,2,114,116,6483,6497,111,87,105,100,116,104,83,112,97,99,101,59,1,8203,97,59,1,918,114,59,1,8488,112,102,59,1,8484,99,114,59,3,55349,56501,4,16,97,98,99,101,102,103,108,109,110,111,112,114,115,116,117,119,6550,6561,6568,6612,6622,6634,6645,6672,6699,6854,6870,6923,6933,6963,6974,6983,99,117,116,101,5,225,1,59,6559,1,225,114,101,118,101,59,1,259,4,6,59,69,100,105,117,121,6582,6584,6588,6591,6600,6609,1,8766,59,3,8766,819,59,1,8767,114,99,5,226,1,59,6598,1,226,116,101,5,180,1,59,6607,1,180,59,1,1072,108,105,103,5,230,1,59,6620,1,230,4,2,59,114,6628,6630,1,8289,59,3,55349,56606,114,97,118,101,5,224,1,59,6643,1,224,4,2,101,112,6651,6667,4,2,102,112,6657,6663,115,121,109,59,1,8501,104,59,1,8501,104,97,59,1,945,4,2,97,112,6678,6692,4,2,99,108,6684,6688,114,59,1,257,103,59,1,10815,5,38,1,59,6697,1,38,4,2,100,103,6705,6737,4,5,59,97,100,115,118,6717,6719,6724,6727,6734,1,8743,110,100,59,1,10837,59,1,10844,108,111,112,101,59,1,10840,59,1,10842,4,7,59,101,108,109,114,115,122,6753,6755,6758,6762,6814,6835,6848,1,8736,59,1,10660,101,59,1,8736,115,100,4,2,59,97,6770,6772,1,8737,4,8,97,98,99,100,101,102,103,104,6790,6793,6796,6799,6802,6805,6808,6811,59,1,10664,59,1,10665,59,1,10666,59,1,10667,59,1,10668,59,1,10669,59,1,10670,59,1,10671,116,4,2,59,118,6821,6823,1,8735,98,4,2,59,100,6830,6832,1,8894,59,1,10653,4,2,112,116,6841,6845,104,59,1,8738,59,1,197,97,114,114,59,1,9084,4,2,103,112,6860,6865,111,110,59,1,261,102,59,3,55349,56658,4,7,59,69,97,101,105,111,112,6886,6888,6891,6897,6900,6904,6908,1,8776,59,1,10864,99,105,114,59,1,10863,59,1,8778,100,59,1,8779,115,59,1,39,114,111,120,4,2,59,101,6917,6919,1,8776,113,59,1,8778,105,110,103,5,229,1,59,6931,1,229,4,3,99,116,121,6941,6946,6949,114,59,3,55349,56502,59,1,42,109,112,4,2,59,101,6957,6959,1,8776,113,59,1,8781,105,108,100,101,5,227,1,59,6972,1,227,109,108,5,228,1,59,6981,1,228,4,2,99,105,6989,6997,111,110,105,110,116,59,1,8755,110,116,59,1,10769,4,16,78,97,98,99,100,101,102,105,107,108,110,111,112,114,115,117,7036,7041,7119,7135,7149,7155,7219,7224,7347,7354,7463,7489,7786,7793,7814,7866,111,116,59,1,10989,4,2,99,114,7047,7094,107,4,4,99,101,112,115,7058,7064,7073,7080,111,110,103,59,1,8780,112,115,105,108,111,110,59,1,1014,114,105,109,101,59,1,8245,105,109,4,2,59,101,7088,7090,1,8765,113,59,1,8909,4,2,118,119,7100,7105,101,101,59,1,8893,101,100,4,2,59,103,7113,7115,1,8965,101,59,1,8965,114,107,4,2,59,116,7127,7129,1,9141,98,114,107,59,1,9142,4,2,111,121,7141,7146,110,103,59,1,8780,59,1,1073,113,117,111,59,1,8222,4,5,99,109,112,114,116,7167,7181,7188,7193,7199,97,117,115,4,2,59,101,7176,7178,1,8757,59,1,8757,112,116,121,118,59,1,10672,115,105,59,1,1014,110,111,117,59,1,8492,4,3,97,104,119,7207,7210,7213,59,1,946,59,1,8502,101,101,110,59,1,8812,114,59,3,55349,56607,103,4,7,99,111,115,116,117,118,119,7241,7262,7288,7305,7328,7335,7340,4,3,97,105,117,7249,7253,7258,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,4,3,100,112,116,7270,7275,7281,111,116,59,1,10752,108,117,115,59,1,10753,105,109,101,115,59,1,10754,4,2,113,116,7294,7300,99,117,112,59,1,10758,97,114,59,1,9733,114,105,97,110,103,108,101,4,2,100,117,7318,7324,111,119,110,59,1,9661,112,59,1,9651,112,108,117,115,59,1,10756,101,101,59,1,8897,101,100,103,101,59,1,8896,97,114,111,119,59,1,10509,4,3,97,107,111,7362,7436,7458,4,2,99,110,7368,7432,107,4,3,108,115,116,7377,7386,7394,111,122,101,110,103,101,59,1,10731,113,117,97,114,101,59,1,9642,114,105,97,110,103,108,101,4,4,59,100,108,114,7411,7413,7419,7425,1,9652,111,119,110,59,1,9662,101,102,116,59,1,9666,105,103,104,116,59,1,9656,107,59,1,9251,4,2,49,51,7442,7454,4,2,50,52,7448,7451,59,1,9618,59,1,9617,52,59,1,9619,99,107,59,1,9608,4,2,101,111,7469,7485,4,2,59,113,7475,7478,3,61,8421,117,105,118,59,3,8801,8421,116,59,1,8976,4,4,112,116,119,120,7499,7504,7517,7523,102,59,3,55349,56659,4,2,59,116,7510,7512,1,8869,111,109,59,1,8869,116,105,101,59,1,8904,4,12,68,72,85,86,98,100,104,109,112,116,117,118,7549,7571,7597,7619,7655,7660,7682,7708,7715,7721,7728,7750,4,4,76,82,108,114,7559,7562,7565,7568,59,1,9559,59,1,9556,59,1,9558,59,1,9555,4,5,59,68,85,100,117,7583,7585,7588,7591,7594,1,9552,59,1,9574,59,1,9577,59,1,9572,59,1,9575,4,4,76,82,108,114,7607,7610,7613,7616,59,1,9565,59,1,9562,59,1,9564,59,1,9561,4,7,59,72,76,82,104,108,114,7635,7637,7640,7643,7646,7649,7652,1,9553,59,1,9580,59,1,9571,59,1,9568,59,1,9579,59,1,9570,59,1,9567,111,120,59,1,10697,4,4,76,82,108,114,7670,7673,7676,7679,59,1,9557,59,1,9554,59,1,9488,59,1,9484,4,5,59,68,85,100,117,7694,7696,7699,7702,7705,1,9472,59,1,9573,59,1,9576,59,1,9516,59,1,9524,105,110,117,115,59,1,8863,108,117,115,59,1,8862,105,109,101,115,59,1,8864,4,4,76,82,108,114,7738,7741,7744,7747,59,1,9563,59,1,9560,59,1,9496,59,1,9492,4,7,59,72,76,82,104,108,114,7766,7768,7771,7774,7777,7780,7783,1,9474,59,1,9578,59,1,9569,59,1,9566,59,1,9532,59,1,9508,59,1,9500,114,105,109,101,59,1,8245,4,2,101,118,7799,7804,118,101,59,1,728,98,97,114,5,166,1,59,7812,1,166,4,4,99,101,105,111,7824,7829,7834,7846,114,59,3,55349,56503,109,105,59,1,8271,109,4,2,59,101,7841,7843,1,8765,59,1,8909,108,4,3,59,98,104,7855,7857,7860,1,92,59,1,10693,115,117,98,59,1,10184,4,2,108,109,7872,7885,108,4,2,59,101,7879,7881,1,8226,116,59,1,8226,112,4,3,59,69,101,7894,7896,7899,1,8782,59,1,10926,4,2,59,113,7905,7907,1,8783,59,1,8783,4,15,97,99,100,101,102,104,105,108,111,114,115,116,117,119,121,7942,8021,8075,8080,8121,8126,8157,8279,8295,8430,8446,8485,8491,8707,8726,4,3,99,112,114,7950,7956,8007,117,116,101,59,1,263,4,6,59,97,98,99,100,115,7970,7972,7977,7984,7998,8003,1,8745,110,100,59,1,10820,114,99,117,112,59,1,10825,4,2,97,117,7990,7994,112,59,1,10827,112,59,1,10823,111,116,59,1,10816,59,3,8745,65024,4,2,101,111,8013,8017,116,59,1,8257,110,59,1,711,4,4,97,101,105,117,8031,8046,8056,8061,4,2,112,114,8037,8041,115,59,1,10829,111,110,59,1,269,100,105,108,5,231,1,59,8054,1,231,114,99,59,1,265,112,115,4,2,59,115,8069,8071,1,10828,109,59,1,10832,111,116,59,1,267,4,3,100,109,110,8088,8097,8104,105,108,5,184,1,59,8095,1,184,112,116,121,118,59,1,10674,116,5,162,2,59,101,8112,8114,1,162,114,100,111,116,59,1,183,114,59,3,55349,56608,4,3,99,101,105,8134,8138,8154,121,59,1,1095,99,107,4,2,59,109,8146,8148,1,10003,97,114,107,59,1,10003,59,1,967,114,4,7,59,69,99,101,102,109,115,8174,8176,8179,8258,8261,8268,8273,1,9675,59,1,10691,4,3,59,101,108,8187,8189,8193,1,710,113,59,1,8791,101,4,2,97,100,8200,8223,114,114,111,119,4,2,108,114,8210,8216,101,102,116,59,1,8634,105,103,104,116,59,1,8635,4,5,82,83,97,99,100,8235,8238,8241,8246,8252,59,1,174,59,1,9416,115,116,59,1,8859,105,114,99,59,1,8858,97,115,104,59,1,8861,59,1,8791,110,105,110,116,59,1,10768,105,100,59,1,10991,99,105,114,59,1,10690,117,98,115,4,2,59,117,8288,8290,1,9827,105,116,59,1,9827,4,4,108,109,110,112,8305,8326,8376,8400,111,110,4,2,59,101,8313,8315,1,58,4,2,59,113,8321,8323,1,8788,59,1,8788,4,2,109,112,8332,8344,97,4,2,59,116,8339,8341,1,44,59,1,64,4,3,59,102,108,8352,8354,8358,1,8705,110,59,1,8728,101,4,2,109,120,8365,8371,101,110,116,59,1,8705,101,115,59,1,8450,4,2,103,105,8382,8395,4,2,59,100,8388,8390,1,8773,111,116,59,1,10861,110,116,59,1,8750,4,3,102,114,121,8408,8412,8417,59,3,55349,56660,111,100,59,1,8720,5,169,2,59,115,8424,8426,1,169,114,59,1,8471,4,2,97,111,8436,8441,114,114,59,1,8629,115,115,59,1,10007,4,2,99,117,8452,8457,114,59,3,55349,56504,4,2,98,112,8463,8474,4,2,59,101,8469,8471,1,10959,59,1,10961,4,2,59,101,8480,8482,1,10960,59,1,10962,100,111,116,59,1,8943,4,7,100,101,108,112,114,118,119,8507,8522,8536,8550,8600,8697,8702,97,114,114,4,2,108,114,8516,8519,59,1,10552,59,1,10549,4,2,112,115,8528,8532,114,59,1,8926,99,59,1,8927,97,114,114,4,2,59,112,8545,8547,1,8630,59,1,10557,4,6,59,98,99,100,111,115,8564,8566,8573,8587,8592,8596,1,8746,114,99,97,112,59,1,10824,4,2,97,117,8579,8583,112,59,1,10822,112,59,1,10826,111,116,59,1,8845,114,59,1,10821,59,3,8746,65024,4,4,97,108,114,118,8610,8623,8663,8672,114,114,4,2,59,109,8618,8620,1,8631,59,1,10556,121,4,3,101,118,119,8632,8651,8656,113,4,2,112,115,8639,8645,114,101,99,59,1,8926,117,99,99,59,1,8927,101,101,59,1,8910,101,100,103,101,59,1,8911,101,110,5,164,1,59,8670,1,164,101,97,114,114,111,119,4,2,108,114,8684,8690,101,102,116,59,1,8630,105,103,104,116,59,1,8631,101,101,59,1,8910,101,100,59,1,8911,4,2,99,105,8713,8721,111,110,105,110,116,59,1,8754,110,116,59,1,8753,108,99,116,121,59,1,9005,4,19,65,72,97,98,99,100,101,102,104,105,106,108,111,114,115,116,117,119,122,8773,8778,8783,8821,8839,8854,8887,8914,8930,8944,9036,9041,9058,9197,9227,9258,9281,9297,9305,114,114,59,1,8659,97,114,59,1,10597,4,4,103,108,114,115,8793,8799,8805,8809,103,101,114,59,1,8224,101,116,104,59,1,8504,114,59,1,8595,104,4,2,59,118,8816,8818,1,8208,59,1,8867,4,2,107,108,8827,8834,97,114,111,119,59,1,10511,97,99,59,1,733,4,2,97,121,8845,8851,114,111,110,59,1,271,59,1,1076,4,3,59,97,111,8862,8864,8880,1,8518,4,2,103,114,8870,8876,103,101,114,59,1,8225,114,59,1,8650,116,115,101,113,59,1,10871,4,3,103,108,109,8895,8902,8907,5,176,1,59,8900,1,176,116,97,59,1,948,112,116,121,118,59,1,10673,4,2,105,114,8920,8926,115,104,116,59,1,10623,59,3,55349,56609,97,114,4,2,108,114,8938,8941,59,1,8643,59,1,8642,4,5,97,101,103,115,118,8956,8986,8989,8996,9001,109,4,3,59,111,115,8965,8967,8983,1,8900,110,100,4,2,59,115,8975,8977,1,8900,117,105,116,59,1,9830,59,1,9830,59,1,168,97,109,109,97,59,1,989,105,110,59,1,8946,4,3,59,105,111,9009,9011,9031,1,247,100,101,5,247,2,59,111,9020,9022,1,247,110,116,105,109,101,115,59,1,8903,110,120,59,1,8903,99,121,59,1,1106,99,4,2,111,114,9048,9053,114,110,59,1,8990,111,112,59,1,8973,4,5,108,112,116,117,119,9070,9076,9081,9130,9144,108,97,114,59,1,36,102,59,3,55349,56661,4,5,59,101,109,112,115,9093,9095,9109,9116,9122,1,729,113,4,2,59,100,9102,9104,1,8784,111,116,59,1,8785,105,110,117,115,59,1,8760,108,117,115,59,1,8724,113,117,97,114,101,59,1,8865,98,108,101,98,97,114,119,101,100,103,101,59,1,8966,110,4,3,97,100,104,9153,9160,9172,114,114,111,119,59,1,8595,111,119,110,97,114,114,111,119,115,59,1,8650,97,114,112,111,111,110,4,2,108,114,9184,9190,101,102,116,59,1,8643,105,103,104,116,59,1,8642,4,2,98,99,9203,9211,107,97,114,111,119,59,1,10512,4,2,111,114,9217,9222,114,110,59,1,8991,111,112,59,1,8972,4,3,99,111,116,9235,9248,9252,4,2,114,121,9241,9245,59,3,55349,56505,59,1,1109,108,59,1,10742,114,111,107,59,1,273,4,2,100,114,9264,9269,111,116,59,1,8945,105,4,2,59,102,9276,9278,1,9663,59,1,9662,4,2,97,104,9287,9292,114,114,59,1,8693,97,114,59,1,10607,97,110,103,108,101,59,1,10662,4,2,99,105,9311,9315,121,59,1,1119,103,114,97,114,114,59,1,10239,4,18,68,97,99,100,101,102,103,108,109,110,111,112,113,114,115,116,117,120,9361,9376,9398,9439,9444,9447,9462,9495,9531,9585,9598,9614,9659,9755,9771,9792,9808,9826,4,2,68,111,9367,9372,111,116,59,1,10871,116,59,1,8785,4,2,99,115,9382,9392,117,116,101,5,233,1,59,9390,1,233,116,101,114,59,1,10862,4,4,97,105,111,121,9408,9414,9430,9436,114,111,110,59,1,283,114,4,2,59,99,9421,9423,1,8790,5,234,1,59,9428,1,234,108,111,110,59,1,8789,59,1,1101,111,116,59,1,279,59,1,8519,4,2,68,114,9453,9458,111,116,59,1,8786,59,3,55349,56610,4,3,59,114,115,9470,9472,9482,1,10906,97,118,101,5,232,1,59,9480,1,232,4,2,59,100,9488,9490,1,10902,111,116,59,1,10904,4,4,59,105,108,115,9505,9507,9515,9518,1,10905,110,116,101,114,115,59,1,9191,59,1,8467,4,2,59,100,9524,9526,1,10901,111,116,59,1,10903,4,3,97,112,115,9539,9544,9564,99,114,59,1,275,116,121,4,3,59,115,118,9554,9556,9561,1,8709,101,116,59,1,8709,59,1,8709,112,4,2,49,59,9571,9583,4,2,51,52,9577,9580,59,1,8196,59,1,8197,1,8195,4,2,103,115,9591,9594,59,1,331,112,59,1,8194,4,2,103,112,9604,9609,111,110,59,1,281,102,59,3,55349,56662,4,3,97,108,115,9622,9635,9640,114,4,2,59,115,9629,9631,1,8917,108,59,1,10723,117,115,59,1,10865,105,4,3,59,108,118,9649,9651,9656,1,949,111,110,59,1,949,59,1,1013,4,4,99,115,117,118,9669,9686,9716,9747,4,2,105,111,9675,9680,114,99,59,1,8790,108,111,110,59,1,8789,4,2,105,108,9692,9696,109,59,1,8770,97,110,116,4,2,103,108,9705,9710,116,114,59,1,10902,101,115,115,59,1,10901,4,3,97,101,105,9724,9729,9734,108,115,59,1,61,115,116,59,1,8799,118,4,2,59,68,9741,9743,1,8801,68,59,1,10872,112,97,114,115,108,59,1,10725,4,2,68,97,9761,9766,111,116,59,1,8787,114,114,59,1,10609,4,3,99,100,105,9779,9783,9788,114,59,1,8495,111,116,59,1,8784,109,59,1,8770,4,2,97,104,9798,9801,59,1,951,5,240,1,59,9806,1,240,4,2,109,114,9814,9822,108,5,235,1,59,9820,1,235,111,59,1,8364,4,3,99,105,112,9834,9838,9843,108,59,1,33,115,116,59,1,8707,4,2,101,111,9849,9859,99,116,97,116,105,111,110,59,1,8496,110,101,110,116,105,97,108,101,59,1,8519,4,12,97,99,101,102,105,106,108,110,111,112,114,115,9896,9910,9914,9921,9954,9960,9967,9989,9994,10027,10036,10164,108,108,105,110,103,100,111,116,115,101,113,59,1,8786,121,59,1,1092,109,97,108,101,59,1,9792,4,3,105,108,114,9929,9935,9950,108,105,103,59,1,64259,4,2,105,108,9941,9945,103,59,1,64256,105,103,59,1,64260,59,3,55349,56611,108,105,103,59,1,64257,108,105,103,59,3,102,106,4,3,97,108,116,9975,9979,9984,116,59,1,9837,105,103,59,1,64258,110,115,59,1,9649,111,102,59,1,402,4,2,112,114,1e4,10005,102,59,3,55349,56663,4,2,97,107,10011,10016,108,108,59,1,8704,4,2,59,118,10022,10024,1,8916,59,1,10969,97,114,116,105,110,116,59,1,10765,4,2,97,111,10042,10159,4,2,99,115,10048,10155,4,6,49,50,51,52,53,55,10062,10102,10114,10135,10139,10151,4,6,50,51,52,53,54,56,10076,10083,10086,10093,10096,10099,5,189,1,59,10081,1,189,59,1,8531,5,188,1,59,10091,1,188,59,1,8533,59,1,8537,59,1,8539,4,2,51,53,10108,10111,59,1,8532,59,1,8534,4,3,52,53,56,10122,10129,10132,5,190,1,59,10127,1,190,59,1,8535,59,1,8540,53,59,1,8536,4,2,54,56,10145,10148,59,1,8538,59,1,8541,56,59,1,8542,108,59,1,8260,119,110,59,1,8994,99,114,59,3,55349,56507,4,17,69,97,98,99,100,101,102,103,105,106,108,110,111,114,115,116,118,10206,10217,10247,10254,10268,10273,10358,10363,10374,10380,10385,10406,10458,10464,10470,10497,10610,4,2,59,108,10212,10214,1,8807,59,1,10892,4,3,99,109,112,10225,10231,10244,117,116,101,59,1,501,109,97,4,2,59,100,10239,10241,1,947,59,1,989,59,1,10886,114,101,118,101,59,1,287,4,2,105,121,10260,10265,114,99,59,1,285,59,1,1075,111,116,59,1,289,4,4,59,108,113,115,10283,10285,10288,10308,1,8805,59,1,8923,4,3,59,113,115,10296,10298,10301,1,8805,59,1,8807,108,97,110,116,59,1,10878,4,4,59,99,100,108,10318,10320,10324,10345,1,10878,99,59,1,10921,111,116,4,2,59,111,10332,10334,1,10880,4,2,59,108,10340,10342,1,10882,59,1,10884,4,2,59,101,10351,10354,3,8923,65024,115,59,1,10900,114,59,3,55349,56612,4,2,59,103,10369,10371,1,8811,59,1,8921,109,101,108,59,1,8503,99,121,59,1,1107,4,4,59,69,97,106,10395,10397,10400,10403,1,8823,59,1,10898,59,1,10917,59,1,10916,4,4,69,97,101,115,10416,10419,10434,10453,59,1,8809,112,4,2,59,112,10426,10428,1,10890,114,111,120,59,1,10890,4,2,59,113,10440,10442,1,10888,4,2,59,113,10448,10450,1,10888,59,1,8809,105,109,59,1,8935,112,102,59,3,55349,56664,97,118,101,59,1,96,4,2,99,105,10476,10480,114,59,1,8458,109,4,3,59,101,108,10489,10491,10494,1,8819,59,1,10894,59,1,10896,5,62,6,59,99,100,108,113,114,10512,10514,10527,10532,10538,10545,1,62,4,2,99,105,10520,10523,59,1,10919,114,59,1,10874,111,116,59,1,8919,80,97,114,59,1,10645,117,101,115,116,59,1,10876,4,5,97,100,101,108,115,10557,10574,10579,10599,10605,4,2,112,114,10563,10570,112,114,111,120,59,1,10886,114,59,1,10616,111,116,59,1,8919,113,4,2,108,113,10586,10592,101,115,115,59,1,8923,108,101,115,115,59,1,10892,101,115,115,59,1,8823,105,109,59,1,8819,4,2,101,110,10616,10626,114,116,110,101,113,113,59,3,8809,65024,69,59,3,8809,65024,4,10,65,97,98,99,101,102,107,111,115,121,10653,10658,10713,10718,10724,10760,10765,10786,10850,10875,114,114,59,1,8660,4,4,105,108,109,114,10668,10674,10678,10684,114,115,112,59,1,8202,102,59,1,189,105,108,116,59,1,8459,4,2,100,114,10690,10695,99,121,59,1,1098,4,3,59,99,119,10703,10705,10710,1,8596,105,114,59,1,10568,59,1,8621,97,114,59,1,8463,105,114,99,59,1,293,4,3,97,108,114,10732,10748,10754,114,116,115,4,2,59,117,10741,10743,1,9829,105,116,59,1,9829,108,105,112,59,1,8230,99,111,110,59,1,8889,114,59,3,55349,56613,115,4,2,101,119,10772,10779,97,114,111,119,59,1,10533,97,114,111,119,59,1,10534,4,5,97,109,111,112,114,10798,10803,10809,10839,10844,114,114,59,1,8703,116,104,116,59,1,8763,107,4,2,108,114,10816,10827,101,102,116,97,114,114,111,119,59,1,8617,105,103,104,116,97,114,114,111,119,59,1,8618,102,59,3,55349,56665,98,97,114,59,1,8213,4,3,99,108,116,10858,10863,10869,114,59,3,55349,56509,97,115,104,59,1,8463,114,111,107,59,1,295,4,2,98,112,10881,10887,117,108,108,59,1,8259,104,101,110,59,1,8208,4,15,97,99,101,102,103,105,106,109,110,111,112,113,115,116,117,10925,10936,10958,10977,10990,11001,11039,11045,11101,11192,11220,11226,11237,11285,11299,99,117,116,101,5,237,1,59,10934,1,237,4,3,59,105,121,10944,10946,10955,1,8291,114,99,5,238,1,59,10953,1,238,59,1,1080,4,2,99,120,10964,10968,121,59,1,1077,99,108,5,161,1,59,10975,1,161,4,2,102,114,10983,10986,59,1,8660,59,3,55349,56614,114,97,118,101,5,236,1,59,10999,1,236,4,4,59,105,110,111,11011,11013,11028,11034,1,8520,4,2,105,110,11019,11024,110,116,59,1,10764,116,59,1,8749,102,105,110,59,1,10716,116,97,59,1,8489,108,105,103,59,1,307,4,3,97,111,112,11053,11092,11096,4,3,99,103,116,11061,11065,11088,114,59,1,299,4,3,101,108,112,11073,11076,11082,59,1,8465,105,110,101,59,1,8464,97,114,116,59,1,8465,104,59,1,305,102,59,1,8887,101,100,59,1,437,4,5,59,99,102,111,116,11113,11115,11121,11136,11142,1,8712,97,114,101,59,1,8453,105,110,4,2,59,116,11129,11131,1,8734,105,101,59,1,10717,100,111,116,59,1,305,4,5,59,99,101,108,112,11154,11156,11161,11179,11186,1,8747,97,108,59,1,8890,4,2,103,114,11167,11173,101,114,115,59,1,8484,99,97,108,59,1,8890,97,114,104,107,59,1,10775,114,111,100,59,1,10812,4,4,99,103,112,116,11202,11206,11211,11216,121,59,1,1105,111,110,59,1,303,102,59,3,55349,56666,97,59,1,953,114,111,100,59,1,10812,117,101,115,116,5,191,1,59,11235,1,191,4,2,99,105,11243,11248,114,59,3,55349,56510,110,4,5,59,69,100,115,118,11261,11263,11266,11271,11282,1,8712,59,1,8953,111,116,59,1,8949,4,2,59,118,11277,11279,1,8948,59,1,8947,59,1,8712,4,2,59,105,11291,11293,1,8290,108,100,101,59,1,297,4,2,107,109,11305,11310,99,121,59,1,1110,108,5,239,1,59,11316,1,239,4,6,99,102,109,111,115,117,11332,11346,11351,11357,11363,11380,4,2,105,121,11338,11343,114,99,59,1,309,59,1,1081,114,59,3,55349,56615,97,116,104,59,1,567,112,102,59,3,55349,56667,4,2,99,101,11369,11374,114,59,3,55349,56511,114,99,121,59,1,1112,107,99,121,59,1,1108,4,8,97,99,102,103,104,106,111,115,11404,11418,11433,11438,11445,11450,11455,11461,112,112,97,4,2,59,118,11413,11415,1,954,59,1,1008,4,2,101,121,11424,11430,100,105,108,59,1,311,59,1,1082,114,59,3,55349,56616,114,101,101,110,59,1,312,99,121,59,1,1093,99,121,59,1,1116,112,102,59,3,55349,56668,99,114,59,3,55349,56512,4,23,65,66,69,72,97,98,99,100,101,102,103,104,106,108,109,110,111,112,114,115,116,117,118,11515,11538,11544,11555,11560,11721,11780,11818,11868,12136,12160,12171,12203,12208,12246,12275,12327,12509,12523,12569,12641,12732,12752,4,3,97,114,116,11523,11528,11532,114,114,59,1,8666,114,59,1,8656,97,105,108,59,1,10523,97,114,114,59,1,10510,4,2,59,103,11550,11552,1,8806,59,1,10891,97,114,59,1,10594,4,9,99,101,103,109,110,112,113,114,116,11580,11586,11594,11600,11606,11624,11627,11636,11694,117,116,101,59,1,314,109,112,116,121,118,59,1,10676,114,97,110,59,1,8466,98,100,97,59,1,955,103,4,3,59,100,108,11615,11617,11620,1,10216,59,1,10641,101,59,1,10216,59,1,10885,117,111,5,171,1,59,11634,1,171,114,4,8,59,98,102,104,108,112,115,116,11655,11657,11669,11673,11677,11681,11685,11690,1,8592,4,2,59,102,11663,11665,1,8676,115,59,1,10527,115,59,1,10525,107,59,1,8617,112,59,1,8619,108,59,1,10553,105,109,59,1,10611,108,59,1,8610,4,3,59,97,101,11702,11704,11709,1,10923,105,108,59,1,10521,4,2,59,115,11715,11717,1,10925,59,3,10925,65024,4,3,97,98,114,11729,11734,11739,114,114,59,1,10508,114,107,59,1,10098,4,2,97,107,11745,11758,99,4,2,101,107,11752,11755,59,1,123,59,1,91,4,2,101,115,11764,11767,59,1,10635,108,4,2,100,117,11774,11777,59,1,10639,59,1,10637,4,4,97,101,117,121,11790,11796,11811,11815,114,111,110,59,1,318,4,2,100,105,11802,11807,105,108,59,1,316,108,59,1,8968,98,59,1,123,59,1,1083,4,4,99,113,114,115,11828,11832,11845,11864,97,59,1,10550,117,111,4,2,59,114,11840,11842,1,8220,59,1,8222,4,2,100,117,11851,11857,104,97,114,59,1,10599,115,104,97,114,59,1,10571,104,59,1,8626,4,5,59,102,103,113,115,11880,11882,12008,12011,12031,1,8804,116,4,5,97,104,108,114,116,11895,11913,11935,11947,11996,114,114,111,119,4,2,59,116,11905,11907,1,8592,97,105,108,59,1,8610,97,114,112,111,111,110,4,2,100,117,11925,11931,111,119,110,59,1,8637,112,59,1,8636,101,102,116,97,114,114,111,119,115,59,1,8647,105,103,104,116,4,3,97,104,115,11959,11974,11984,114,114,111,119,4,2,59,115,11969,11971,1,8596,59,1,8646,97,114,112,111,111,110,115,59,1,8651,113,117,105,103,97,114,114,111,119,59,1,8621,104,114,101,101,116,105,109,101,115,59,1,8907,59,1,8922,4,3,59,113,115,12019,12021,12024,1,8804,59,1,8806,108,97,110,116,59,1,10877,4,5,59,99,100,103,115,12043,12045,12049,12070,12083,1,10877,99,59,1,10920,111,116,4,2,59,111,12057,12059,1,10879,4,2,59,114,12065,12067,1,10881,59,1,10883,4,2,59,101,12076,12079,3,8922,65024,115,59,1,10899,4,5,97,100,101,103,115,12095,12103,12108,12126,12131,112,112,114,111,120,59,1,10885,111,116,59,1,8918,113,4,2,103,113,12115,12120,116,114,59,1,8922,103,116,114,59,1,10891,116,114,59,1,8822,105,109,59,1,8818,4,3,105,108,114,12144,12150,12156,115,104,116,59,1,10620,111,111,114,59,1,8970,59,3,55349,56617,4,2,59,69,12166,12168,1,8822,59,1,10897,4,2,97,98,12177,12198,114,4,2,100,117,12184,12187,59,1,8637,4,2,59,108,12193,12195,1,8636,59,1,10602,108,107,59,1,9604,99,121,59,1,1113,4,5,59,97,99,104,116,12220,12222,12227,12235,12241,1,8810,114,114,59,1,8647,111,114,110,101,114,59,1,8990,97,114,100,59,1,10603,114,105,59,1,9722,4,2,105,111,12252,12258,100,111,116,59,1,320,117,115,116,4,2,59,97,12267,12269,1,9136,99,104,101,59,1,9136,4,4,69,97,101,115,12285,12288,12303,12322,59,1,8808,112,4,2,59,112,12295,12297,1,10889,114,111,120,59,1,10889,4,2,59,113,12309,12311,1,10887,4,2,59,113,12317,12319,1,10887,59,1,8808,105,109,59,1,8934,4,8,97,98,110,111,112,116,119,122,12345,12359,12364,12421,12446,12467,12474,12490,4,2,110,114,12351,12355,103,59,1,10220,114,59,1,8701,114,107,59,1,10214,103,4,3,108,109,114,12373,12401,12409,101,102,116,4,2,97,114,12382,12389,114,114,111,119,59,1,10229,105,103,104,116,97,114,114,111,119,59,1,10231,97,112,115,116,111,59,1,10236,105,103,104,116,97,114,114,111,119,59,1,10230,112,97,114,114,111,119,4,2,108,114,12433,12439,101,102,116,59,1,8619,105,103,104,116,59,1,8620,4,3,97,102,108,12454,12458,12462,114,59,1,10629,59,3,55349,56669,117,115,59,1,10797,105,109,101,115,59,1,10804,4,2,97,98,12480,12485,115,116,59,1,8727,97,114,59,1,95,4,3,59,101,102,12498,12500,12506,1,9674,110,103,101,59,1,9674,59,1,10731,97,114,4,2,59,108,12517,12519,1,40,116,59,1,10643,4,5,97,99,104,109,116,12535,12540,12548,12561,12564,114,114,59,1,8646,111,114,110,101,114,59,1,8991,97,114,4,2,59,100,12556,12558,1,8651,59,1,10605,59,1,8206,114,105,59,1,8895,4,6,97,99,104,105,113,116,12583,12589,12594,12597,12614,12635,113,117,111,59,1,8249,114,59,3,55349,56513,59,1,8624,109,4,3,59,101,103,12606,12608,12611,1,8818,59,1,10893,59,1,10895,4,2,98,117,12620,12623,59,1,91,111,4,2,59,114,12630,12632,1,8216,59,1,8218,114,111,107,59,1,322,5,60,8,59,99,100,104,105,108,113,114,12660,12662,12675,12680,12686,12692,12698,12705,1,60,4,2,99,105,12668,12671,59,1,10918,114,59,1,10873,111,116,59,1,8918,114,101,101,59,1,8907,109,101,115,59,1,8905,97,114,114,59,1,10614,117,101,115,116,59,1,10875,4,2,80,105,12711,12716,97,114,59,1,10646,4,3,59,101,102,12724,12726,12729,1,9667,59,1,8884,59,1,9666,114,4,2,100,117,12739,12746,115,104,97,114,59,1,10570,104,97,114,59,1,10598,4,2,101,110,12758,12768,114,116,110,101,113,113,59,3,8808,65024,69,59,3,8808,65024,4,14,68,97,99,100,101,102,104,105,108,110,111,112,115,117,12803,12809,12893,12908,12914,12928,12933,12937,13011,13025,13032,13049,13052,13069,68,111,116,59,1,8762,4,4,99,108,112,114,12819,12827,12849,12887,114,5,175,1,59,12825,1,175,4,2,101,116,12833,12836,59,1,9794,4,2,59,101,12842,12844,1,10016,115,101,59,1,10016,4,2,59,115,12855,12857,1,8614,116,111,4,4,59,100,108,117,12869,12871,12877,12883,1,8614,111,119,110,59,1,8615,101,102,116,59,1,8612,112,59,1,8613,107,101,114,59,1,9646,4,2,111,121,12899,12905,109,109,97,59,1,10793,59,1,1084,97,115,104,59,1,8212,97,115,117,114,101,100,97,110,103,108,101,59,1,8737,114,59,3,55349,56618,111,59,1,8487,4,3,99,100,110,12945,12954,12985,114,111,5,181,1,59,12952,1,181,4,4,59,97,99,100,12964,12966,12971,12976,1,8739,115,116,59,1,42,105,114,59,1,10992,111,116,5,183,1,59,12983,1,183,117,115,4,3,59,98,100,12995,12997,13e3,1,8722,59,1,8863,4,2,59,117,13006,13008,1,8760,59,1,10794,4,2,99,100,13017,13021,112,59,1,10971,114,59,1,8230,112,108,117,115,59,1,8723,4,2,100,112,13038,13044,101,108,115,59,1,8871,102,59,3,55349,56670,59,1,8723,4,2,99,116,13058,13063,114,59,3,55349,56514,112,111,115,59,1,8766,4,3,59,108,109,13077,13079,13087,1,956,116,105,109,97,112,59,1,8888,97,112,59,1,8888,4,24,71,76,82,86,97,98,99,100,101,102,103,104,105,106,108,109,111,112,114,115,116,117,118,119,13142,13165,13217,13229,13247,13330,13359,13414,13420,13508,13513,13579,13602,13626,13631,13762,13767,13855,13936,13995,14214,14285,14312,14432,4,2,103,116,13148,13152,59,3,8921,824,4,2,59,118,13158,13161,3,8811,8402,59,3,8811,824,4,3,101,108,116,13173,13200,13204,102,116,4,2,97,114,13181,13188,114,114,111,119,59,1,8653,105,103,104,116,97,114,114,111,119,59,1,8654,59,3,8920,824,4,2,59,118,13210,13213,3,8810,8402,59,3,8810,824,105,103,104,116,97,114,114,111,119,59,1,8655,4,2,68,100,13235,13241,97,115,104,59,1,8879,97,115,104,59,1,8878,4,5,98,99,110,112,116,13259,13264,13270,13275,13308,108,97,59,1,8711,117,116,101,59,1,324,103,59,3,8736,8402,4,5,59,69,105,111,112,13287,13289,13293,13298,13302,1,8777,59,3,10864,824,100,59,3,8779,824,115,59,1,329,114,111,120,59,1,8777,117,114,4,2,59,97,13316,13318,1,9838,108,4,2,59,115,13325,13327,1,9838,59,1,8469,4,2,115,117,13336,13344,112,5,160,1,59,13342,1,160,109,112,4,2,59,101,13352,13355,3,8782,824,59,3,8783,824,4,5,97,101,111,117,121,13371,13385,13391,13407,13411,4,2,112,114,13377,13380,59,1,10819,111,110,59,1,328,100,105,108,59,1,326,110,103,4,2,59,100,13399,13401,1,8775,111,116,59,3,10861,824,112,59,1,10818,59,1,1085,97,115,104,59,1,8211,4,7,59,65,97,100,113,115,120,13436,13438,13443,13466,13472,13478,13494,1,8800,114,114,59,1,8663,114,4,2,104,114,13450,13454,107,59,1,10532,4,2,59,111,13460,13462,1,8599,119,59,1,8599,111,116,59,3,8784,824,117,105,118,59,1,8802,4,2,101,105,13484,13489,97,114,59,1,10536,109,59,3,8770,824,105,115,116,4,2,59,115,13503,13505,1,8708,59,1,8708,114,59,3,55349,56619,4,4,69,101,115,116,13523,13527,13563,13568,59,3,8807,824,4,3,59,113,115,13535,13537,13559,1,8817,4,3,59,113,115,13545,13547,13551,1,8817,59,3,8807,824,108,97,110,116,59,3,10878,824,59,3,10878,824,105,109,59,1,8821,4,2,59,114,13574,13576,1,8815,59,1,8815,4,3,65,97,112,13587,13592,13597,114,114,59,1,8654,114,114,59,1,8622,97,114,59,1,10994,4,3,59,115,118,13610,13612,13623,1,8715,4,2,59,100,13618,13620,1,8956,59,1,8954,59,1,8715,99,121,59,1,1114,4,7,65,69,97,100,101,115,116,13647,13652,13656,13661,13665,13737,13742,114,114,59,1,8653,59,3,8806,824,114,114,59,1,8602,114,59,1,8229,4,4,59,102,113,115,13675,13677,13703,13725,1,8816,116,4,2,97,114,13684,13691,114,114,111,119,59,1,8602,105,103,104,116,97,114,114,111,119,59,1,8622,4,3,59,113,115,13711,13713,13717,1,8816,59,3,8806,824,108,97,110,116,59,3,10877,824,4,2,59,115,13731,13734,3,10877,824,59,1,8814,105,109,59,1,8820,4,2,59,114,13748,13750,1,8814,105,4,2,59,101,13757,13759,1,8938,59,1,8940,105,100,59,1,8740,4,2,112,116,13773,13778,102,59,3,55349,56671,5,172,3,59,105,110,13787,13789,13829,1,172,110,4,4,59,69,100,118,13800,13802,13806,13812,1,8713,59,3,8953,824,111,116,59,3,8949,824,4,3,97,98,99,13820,13823,13826,59,1,8713,59,1,8951,59,1,8950,105,4,2,59,118,13836,13838,1,8716,4,3,97,98,99,13846,13849,13852,59,1,8716,59,1,8958,59,1,8957,4,3,97,111,114,13863,13892,13899,114,4,4,59,97,115,116,13874,13876,13883,13888,1,8742,108,108,101,108,59,1,8742,108,59,3,11005,8421,59,3,8706,824,108,105,110,116,59,1,10772,4,3,59,99,101,13907,13909,13914,1,8832,117,101,59,1,8928,4,2,59,99,13920,13923,3,10927,824,4,2,59,101,13929,13931,1,8832,113,59,3,10927,824,4,4,65,97,105,116,13946,13951,13971,13982,114,114,59,1,8655,114,114,4,3,59,99,119,13961,13963,13967,1,8603,59,3,10547,824,59,3,8605,824,103,104,116,97,114,114,111,119,59,1,8603,114,105,4,2,59,101,13990,13992,1,8939,59,1,8941,4,7,99,104,105,109,112,113,117,14011,14036,14060,14080,14085,14090,14106,4,4,59,99,101,114,14021,14023,14028,14032,1,8833,117,101,59,1,8929,59,3,10928,824,59,3,55349,56515,111,114,116,4,2,109,112,14045,14050,105,100,59,1,8740,97,114,97,108,108,101,108,59,1,8742,109,4,2,59,101,14067,14069,1,8769,4,2,59,113,14075,14077,1,8772,59,1,8772,105,100,59,1,8740,97,114,59,1,8742,115,117,4,2,98,112,14098,14102,101,59,1,8930,101,59,1,8931,4,3,98,99,112,14114,14157,14171,4,4,59,69,101,115,14124,14126,14130,14133,1,8836,59,3,10949,824,59,1,8840,101,116,4,2,59,101,14141,14144,3,8834,8402,113,4,2,59,113,14151,14153,1,8840,59,3,10949,824,99,4,2,59,101,14164,14166,1,8833,113,59,3,10928,824,4,4,59,69,101,115,14181,14183,14187,14190,1,8837,59,3,10950,824,59,1,8841,101,116,4,2,59,101,14198,14201,3,8835,8402,113,4,2,59,113,14208,14210,1,8841,59,3,10950,824,4,4,103,105,108,114,14224,14228,14238,14242,108,59,1,8825,108,100,101,5,241,1,59,14236,1,241,103,59,1,8824,105,97,110,103,108,101,4,2,108,114,14254,14269,101,102,116,4,2,59,101,14263,14265,1,8938,113,59,1,8940,105,103,104,116,4,2,59,101,14279,14281,1,8939,113,59,1,8941,4,2,59,109,14291,14293,1,957,4,3,59,101,115,14301,14303,14308,1,35,114,111,59,1,8470,112,59,1,8199,4,9,68,72,97,100,103,105,108,114,115,14332,14338,14344,14349,14355,14369,14376,14408,14426,97,115,104,59,1,8877,97,114,114,59,1,10500,112,59,3,8781,8402,97,115,104,59,1,8876,4,2,101,116,14361,14365,59,3,8805,8402,59,3,62,8402,110,102,105,110,59,1,10718,4,3,65,101,116,14384,14389,14393,114,114,59,1,10498,59,3,8804,8402,4,2,59,114,14399,14402,3,60,8402,105,101,59,3,8884,8402,4,2,65,116,14414,14419,114,114,59,1,10499,114,105,101,59,3,8885,8402,105,109,59,3,8764,8402,4,3,65,97,110,14440,14445,14468,114,114,59,1,8662,114,4,2,104,114,14452,14456,107,59,1,10531,4,2,59,111,14462,14464,1,8598,119,59,1,8598,101,97,114,59,1,10535,4,18,83,97,99,100,101,102,103,104,105,108,109,111,112,114,115,116,117,118,14512,14515,14535,14560,14597,14603,14618,14643,14657,14662,14701,14741,14747,14769,14851,14877,14907,14916,59,1,9416,4,2,99,115,14521,14531,117,116,101,5,243,1,59,14529,1,243,116,59,1,8859,4,2,105,121,14541,14557,114,4,2,59,99,14548,14550,1,8858,5,244,1,59,14555,1,244,59,1,1086,4,5,97,98,105,111,115,14572,14577,14583,14587,14591,115,104,59,1,8861,108,97,99,59,1,337,118,59,1,10808,116,59,1,8857,111,108,100,59,1,10684,108,105,103,59,1,339,4,2,99,114,14609,14614,105,114,59,1,10687,59,3,55349,56620,4,3,111,114,116,14626,14630,14640,110,59,1,731,97,118,101,5,242,1,59,14638,1,242,59,1,10689,4,2,98,109,14649,14654,97,114,59,1,10677,59,1,937,110,116,59,1,8750,4,4,97,99,105,116,14672,14677,14693,14698,114,114,59,1,8634,4,2,105,114,14683,14687,114,59,1,10686,111,115,115,59,1,10683,110,101,59,1,8254,59,1,10688,4,3,97,101,105,14709,14714,14719,99,114,59,1,333,103,97,59,1,969,4,3,99,100,110,14727,14733,14736,114,111,110,59,1,959,59,1,10678,117,115,59,1,8854,112,102,59,3,55349,56672,4,3,97,101,108,14755,14759,14764,114,59,1,10679,114,112,59,1,10681,117,115,59,1,8853,4,7,59,97,100,105,111,115,118,14785,14787,14792,14831,14837,14841,14848,1,8744,114,114,59,1,8635,4,4,59,101,102,109,14802,14804,14817,14824,1,10845,114,4,2,59,111,14811,14813,1,8500,102,59,1,8500,5,170,1,59,14822,1,170,5,186,1,59,14829,1,186,103,111,102,59,1,8886,114,59,1,10838,108,111,112,101,59,1,10839,59,1,10843,4,3,99,108,111,14859,14863,14873,114,59,1,8500,97,115,104,5,248,1,59,14871,1,248,108,59,1,8856,105,4,2,108,109,14884,14893,100,101,5,245,1,59,14891,1,245,101,115,4,2,59,97,14901,14903,1,8855,115,59,1,10806,109,108,5,246,1,59,14914,1,246,98,97,114,59,1,9021,4,12,97,99,101,102,104,105,108,109,111,114,115,117,14948,14992,14996,15033,15038,15068,15090,15189,15192,15222,15427,15441,114,4,4,59,97,115,116,14959,14961,14976,14989,1,8741,5,182,2,59,108,14968,14970,1,182,108,101,108,59,1,8741,4,2,105,108,14982,14986,109,59,1,10995,59,1,11005,59,1,8706,121,59,1,1087,114,4,5,99,105,109,112,116,15009,15014,15019,15024,15027,110,116,59,1,37,111,100,59,1,46,105,108,59,1,8240,59,1,8869,101,110,107,59,1,8241,114,59,3,55349,56621,4,3,105,109,111,15046,15057,15063,4,2,59,118,15052,15054,1,966,59,1,981,109,97,116,59,1,8499,110,101,59,1,9742,4,3,59,116,118,15076,15078,15087,1,960,99,104,102,111,114,107,59,1,8916,59,1,982,4,2,97,117,15096,15119,110,4,2,99,107,15103,15115,107,4,2,59,104,15110,15112,1,8463,59,1,8462,118,59,1,8463,115,4,9,59,97,98,99,100,101,109,115,116,15140,15142,15148,15151,15156,15168,15171,15179,15184,1,43,99,105,114,59,1,10787,59,1,8862,105,114,59,1,10786,4,2,111,117,15162,15165,59,1,8724,59,1,10789,59,1,10866,110,5,177,1,59,15177,1,177,105,109,59,1,10790,119,111,59,1,10791,59,1,177,4,3,105,112,117,15200,15208,15213,110,116,105,110,116,59,1,10773,102,59,3,55349,56673,110,100,5,163,1,59,15220,1,163,4,10,59,69,97,99,101,105,110,111,115,117,15244,15246,15249,15253,15258,15334,15347,15367,15416,15421,1,8826,59,1,10931,112,59,1,10935,117,101,59,1,8828,4,2,59,99,15264,15266,1,10927,4,6,59,97,99,101,110,115,15280,15282,15290,15299,15303,15329,1,8826,112,112,114,111,120,59,1,10935,117,114,108,121,101,113,59,1,8828,113,59,1,10927,4,3,97,101,115,15311,15319,15324,112,112,114,111,120,59,1,10937,113,113,59,1,10933,105,109,59,1,8936,105,109,59,1,8830,109,101,4,2,59,115,15342,15344,1,8242,59,1,8473,4,3,69,97,115,15355,15358,15362,59,1,10933,112,59,1,10937,105,109,59,1,8936,4,3,100,102,112,15375,15378,15404,59,1,8719,4,3,97,108,115,15386,15392,15398,108,97,114,59,1,9006,105,110,101,59,1,8978,117,114,102,59,1,8979,4,2,59,116,15410,15412,1,8733,111,59,1,8733,105,109,59,1,8830,114,101,108,59,1,8880,4,2,99,105,15433,15438,114,59,3,55349,56517,59,1,968,110,99,115,112,59,1,8200,4,6,102,105,111,112,115,117,15462,15467,15472,15478,15485,15491,114,59,3,55349,56622,110,116,59,1,10764,112,102,59,3,55349,56674,114,105,109,101,59,1,8279,99,114,59,3,55349,56518,4,3,97,101,111,15499,15520,15534,116,4,2,101,105,15506,15515,114,110,105,111,110,115,59,1,8461,110,116,59,1,10774,115,116,4,2,59,101,15528,15530,1,63,113,59,1,8799,116,5,34,1,59,15540,1,34,4,21,65,66,72,97,98,99,100,101,102,104,105,108,109,110,111,112,114,115,116,117,120,15586,15609,15615,15620,15796,15855,15893,15931,15977,16001,16039,16183,16204,16222,16228,16285,16312,16318,16363,16408,16416,4,3,97,114,116,15594,15599,15603,114,114,59,1,8667,114,59,1,8658,97,105,108,59,1,10524,97,114,114,59,1,10511,97,114,59,1,10596,4,7,99,100,101,110,113,114,116,15636,15651,15656,15664,15687,15696,15770,4,2,101,117,15642,15646,59,3,8765,817,116,101,59,1,341,105,99,59,1,8730,109,112,116,121,118,59,1,10675,103,4,4,59,100,101,108,15675,15677,15680,15683,1,10217,59,1,10642,59,1,10661,101,59,1,10217,117,111,5,187,1,59,15694,1,187,114,4,11,59,97,98,99,102,104,108,112,115,116,119,15721,15723,15727,15739,15742,15746,15750,15754,15758,15763,15767,1,8594,112,59,1,10613,4,2,59,102,15733,15735,1,8677,115,59,1,10528,59,1,10547,115,59,1,10526,107,59,1,8618,112,59,1,8620,108,59,1,10565,105,109,59,1,10612,108,59,1,8611,59,1,8605,4,2,97,105,15776,15781,105,108,59,1,10522,111,4,2,59,110,15788,15790,1,8758,97,108,115,59,1,8474,4,3,97,98,114,15804,15809,15814,114,114,59,1,10509,114,107,59,1,10099,4,2,97,107,15820,15833,99,4,2,101,107,15827,15830,59,1,125,59,1,93,4,2,101,115,15839,15842,59,1,10636,108,4,2,100,117,15849,15852,59,1,10638,59,1,10640,4,4,97,101,117,121,15865,15871,15886,15890,114,111,110,59,1,345,4,2,100,105,15877,15882,105,108,59,1,343,108,59,1,8969,98,59,1,125,59,1,1088,4,4,99,108,113,115,15903,15907,15914,15927,97,59,1,10551,100,104,97,114,59,1,10601,117,111,4,2,59,114,15922,15924,1,8221,59,1,8221,104,59,1,8627,4,3,97,99,103,15939,15966,15970,108,4,4,59,105,112,115,15950,15952,15957,15963,1,8476,110,101,59,1,8475,97,114,116,59,1,8476,59,1,8477,116,59,1,9645,5,174,1,59,15975,1,174,4,3,105,108,114,15985,15991,15997,115,104,116,59,1,10621,111,111,114,59,1,8971,59,3,55349,56623,4,2,97,111,16007,16028,114,4,2,100,117,16014,16017,59,1,8641,4,2,59,108,16023,16025,1,8640,59,1,10604,4,2,59,118,16034,16036,1,961,59,1,1009,4,3,103,110,115,16047,16167,16171,104,116,4,6,97,104,108,114,115,116,16063,16081,16103,16130,16143,16155,114,114,111,119,4,2,59,116,16073,16075,1,8594,97,105,108,59,1,8611,97,114,112,111,111,110,4,2,100,117,16093,16099,111,119,110,59,1,8641,112,59,1,8640,101,102,116,4,2,97,104,16112,16120,114,114,111,119,115,59,1,8644,97,114,112,111,111,110,115,59,1,8652,105,103,104,116,97,114,114,111,119,115,59,1,8649,113,117,105,103,97,114,114,111,119,59,1,8605,104,114,101,101,116,105,109,101,115,59,1,8908,103,59,1,730,105,110,103,100,111,116,115,101,113,59,1,8787,4,3,97,104,109,16191,16196,16201,114,114,59,1,8644,97,114,59,1,8652,59,1,8207,111,117,115,116,4,2,59,97,16214,16216,1,9137,99,104,101,59,1,9137,109,105,100,59,1,10990,4,4,97,98,112,116,16238,16252,16257,16278,4,2,110,114,16244,16248,103,59,1,10221,114,59,1,8702,114,107,59,1,10215,4,3,97,102,108,16265,16269,16273,114,59,1,10630,59,3,55349,56675,117,115,59,1,10798,105,109,101,115,59,1,10805,4,2,97,112,16291,16304,114,4,2,59,103,16298,16300,1,41,116,59,1,10644,111,108,105,110,116,59,1,10770,97,114,114,59,1,8649,4,4,97,99,104,113,16328,16334,16339,16342,113,117,111,59,1,8250,114,59,3,55349,56519,59,1,8625,4,2,98,117,16348,16351,59,1,93,111,4,2,59,114,16358,16360,1,8217,59,1,8217,4,3,104,105,114,16371,16377,16383,114,101,101,59,1,8908,109,101,115,59,1,8906,105,4,4,59,101,102,108,16394,16396,16399,16402,1,9657,59,1,8885,59,1,9656,116,114,105,59,1,10702,108,117,104,97,114,59,1,10600,59,1,8478,4,19,97,98,99,100,101,102,104,105,108,109,111,112,113,114,115,116,117,119,122,16459,16466,16472,16572,16590,16672,16687,16746,16844,16850,16924,16963,16988,17115,17121,17154,17206,17614,17656,99,117,116,101,59,1,347,113,117,111,59,1,8218,4,10,59,69,97,99,101,105,110,112,115,121,16494,16496,16499,16513,16518,16531,16536,16556,16564,16569,1,8827,59,1,10932,4,2,112,114,16505,16508,59,1,10936,111,110,59,1,353,117,101,59,1,8829,4,2,59,100,16524,16526,1,10928,105,108,59,1,351,114,99,59,1,349,4,3,69,97,115,16544,16547,16551,59,1,10934,112,59,1,10938,105,109,59,1,8937,111,108,105,110,116,59,1,10771,105,109,59,1,8831,59,1,1089,111,116,4,3,59,98,101,16582,16584,16587,1,8901,59,1,8865,59,1,10854,4,7,65,97,99,109,115,116,120,16606,16611,16634,16642,16646,16652,16668,114,114,59,1,8664,114,4,2,104,114,16618,16622,107,59,1,10533,4,2,59,111,16628,16630,1,8600,119,59,1,8600,116,5,167,1,59,16640,1,167,105,59,1,59,119,97,114,59,1,10537,109,4,2,105,110,16659,16665,110,117,115,59,1,8726,59,1,8726,116,59,1,10038,114,4,2,59,111,16679,16682,3,55349,56624,119,110,59,1,8994,4,4,97,99,111,121,16697,16702,16716,16739,114,112,59,1,9839,4,2,104,121,16708,16713,99,121,59,1,1097,59,1,1096,114,116,4,2,109,112,16724,16729,105,100,59,1,8739,97,114,97,108,108,101,108,59,1,8741,5,173,1,59,16744,1,173,4,2,103,109,16752,16770,109,97,4,3,59,102,118,16762,16764,16767,1,963,59,1,962,59,1,962,4,8,59,100,101,103,108,110,112,114,16788,16790,16795,16806,16817,16828,16832,16838,1,8764,111,116,59,1,10858,4,2,59,113,16801,16803,1,8771,59,1,8771,4,2,59,69,16812,16814,1,10910,59,1,10912,4,2,59,69,16823,16825,1,10909,59,1,10911,101,59,1,8774,108,117,115,59,1,10788,97,114,114,59,1,10610,97,114,114,59,1,8592,4,4,97,101,105,116,16860,16883,16891,16904,4,2,108,115,16866,16878,108,115,101,116,109,105,110,117,115,59,1,8726,104,112,59,1,10803,112,97,114,115,108,59,1,10724,4,2,100,108,16897,16900,59,1,8739,101,59,1,8995,4,2,59,101,16910,16912,1,10922,4,2,59,115,16918,16920,1,10924,59,3,10924,65024,4,3,102,108,112,16932,16938,16958,116,99,121,59,1,1100,4,2,59,98,16944,16946,1,47,4,2,59,97,16952,16954,1,10692,114,59,1,9023,102,59,3,55349,56676,97,4,2,100,114,16970,16985,101,115,4,2,59,117,16978,16980,1,9824,105,116,59,1,9824,59,1,8741,4,3,99,115,117,16996,17028,17089,4,2,97,117,17002,17015,112,4,2,59,115,17009,17011,1,8851,59,3,8851,65024,112,4,2,59,115,17022,17024,1,8852,59,3,8852,65024,117,4,2,98,112,17035,17062,4,3,59,101,115,17043,17045,17048,1,8847,59,1,8849,101,116,4,2,59,101,17056,17058,1,8847,113,59,1,8849,4,3,59,101,115,17070,17072,17075,1,8848,59,1,8850,101,116,4,2,59,101,17083,17085,1,8848,113,59,1,8850,4,3,59,97,102,17097,17099,17112,1,9633,114,4,2,101,102,17106,17109,59,1,9633,59,1,9642,59,1,9642,97,114,114,59,1,8594,4,4,99,101,109,116,17131,17136,17142,17148,114,59,3,55349,56520,116,109,110,59,1,8726,105,108,101,59,1,8995,97,114,102,59,1,8902,4,2,97,114,17160,17172,114,4,2,59,102,17167,17169,1,9734,59,1,9733,4,2,97,110,17178,17202,105,103,104,116,4,2,101,112,17188,17197,112,115,105,108,111,110,59,1,1013,104,105,59,1,981,115,59,1,175,4,5,98,99,109,110,112,17218,17351,17420,17423,17427,4,9,59,69,100,101,109,110,112,114,115,17238,17240,17243,17248,17261,17267,17279,17285,17291,1,8834,59,1,10949,111,116,59,1,10941,4,2,59,100,17254,17256,1,8838,111,116,59,1,10947,117,108,116,59,1,10945,4,2,69,101,17273,17276,59,1,10955,59,1,8842,108,117,115,59,1,10943,97,114,114,59,1,10617,4,3,101,105,117,17299,17335,17339,116,4,3,59,101,110,17308,17310,17322,1,8834,113,4,2,59,113,17317,17319,1,8838,59,1,10949,101,113,4,2,59,113,17330,17332,1,8842,59,1,10955,109,59,1,10951,4,2,98,112,17345,17348,59,1,10965,59,1,10963,99,4,6,59,97,99,101,110,115,17366,17368,17376,17385,17389,17415,1,8827,112,112,114,111,120,59,1,10936,117,114,108,121,101,113,59,1,8829,113,59,1,10928,4,3,97,101,115,17397,17405,17410,112,112,114,111,120,59,1,10938,113,113,59,1,10934,105,109,59,1,8937,105,109,59,1,8831,59,1,8721,103,59,1,9834,4,13,49,50,51,59,69,100,101,104,108,109,110,112,115,17455,17462,17469,17476,17478,17481,17496,17509,17524,17530,17536,17548,17554,5,185,1,59,17460,1,185,5,178,1,59,17467,1,178,5,179,1,59,17474,1,179,1,8835,59,1,10950,4,2,111,115,17487,17491,116,59,1,10942,117,98,59,1,10968,4,2,59,100,17502,17504,1,8839,111,116,59,1,10948,115,4,2,111,117,17516,17520,108,59,1,10185,98,59,1,10967,97,114,114,59,1,10619,117,108,116,59,1,10946,4,2,69,101,17542,17545,59,1,10956,59,1,8843,108,117,115,59,1,10944,4,3,101,105,117,17562,17598,17602,116,4,3,59,101,110,17571,17573,17585,1,8835,113,4,2,59,113,17580,17582,1,8839,59,1,10950,101,113,4,2,59,113,17593,17595,1,8843,59,1,10956,109,59,1,10952,4,2,98,112,17608,17611,59,1,10964,59,1,10966,4,3,65,97,110,17622,17627,17650,114,114,59,1,8665,114,4,2,104,114,17634,17638,107,59,1,10534,4,2,59,111,17644,17646,1,8601,119,59,1,8601,119,97,114,59,1,10538,108,105,103,5,223,1,59,17664,1,223,4,13,97,98,99,100,101,102,104,105,111,112,114,115,119,17694,17709,17714,17737,17742,17749,17754,17860,17905,17957,17964,18090,18122,4,2,114,117,17700,17706,103,101,116,59,1,8982,59,1,964,114,107,59,1,9140,4,3,97,101,121,17722,17728,17734,114,111,110,59,1,357,100,105,108,59,1,355,59,1,1090,111,116,59,1,8411,108,114,101,99,59,1,8981,114,59,3,55349,56625,4,4,101,105,107,111,17764,17805,17836,17851,4,2,114,116,17770,17786,101,4,2,52,102,17777,17780,59,1,8756,111,114,101,59,1,8756,97,4,3,59,115,118,17795,17797,17802,1,952,121,109,59,1,977,59,1,977,4,2,99,110,17811,17831,107,4,2,97,115,17818,17826,112,112,114,111,120,59,1,8776,105,109,59,1,8764,115,112,59,1,8201,4,2,97,115,17842,17846,112,59,1,8776,105,109,59,1,8764,114,110,5,254,1,59,17858,1,254,4,3,108,109,110,17868,17873,17901,100,101,59,1,732,101,115,5,215,3,59,98,100,17884,17886,17898,1,215,4,2,59,97,17892,17894,1,8864,114,59,1,10801,59,1,10800,116,59,1,8749,4,3,101,112,115,17913,17917,17953,97,59,1,10536,4,4,59,98,99,102,17927,17929,17934,17939,1,8868,111,116,59,1,9014,105,114,59,1,10993,4,2,59,111,17945,17948,3,55349,56677,114,107,59,1,10970,97,59,1,10537,114,105,109,101,59,1,8244,4,3,97,105,112,17972,17977,18082,100,101,59,1,8482,4,7,97,100,101,109,112,115,116,17993,18051,18056,18059,18066,18072,18076,110,103,108,101,4,5,59,100,108,113,114,18009,18011,18017,18032,18035,1,9653,111,119,110,59,1,9663,101,102,116,4,2,59,101,18026,18028,1,9667,113,59,1,8884,59,1,8796,105,103,104,116,4,2,59,101,18045,18047,1,9657,113,59,1,8885,111,116,59,1,9708,59,1,8796,105,110,117,115,59,1,10810,108,117,115,59,1,10809,98,59,1,10701,105,109,101,59,1,10811,101,122,105,117,109,59,1,9186,4,3,99,104,116,18098,18111,18116,4,2,114,121,18104,18108,59,3,55349,56521,59,1,1094,99,121,59,1,1115,114,111,107,59,1,359,4,2,105,111,18128,18133,120,116,59,1,8812,104,101,97,100,4,2,108,114,18143,18154,101,102,116,97,114,114,111,119,59,1,8606,105,103,104,116,97,114,114,111,119,59,1,8608,4,18,65,72,97,98,99,100,102,103,104,108,109,111,112,114,115,116,117,119,18204,18209,18214,18234,18250,18268,18292,18308,18319,18343,18379,18397,18413,18504,18547,18553,18584,18603,114,114,59,1,8657,97,114,59,1,10595,4,2,99,114,18220,18230,117,116,101,5,250,1,59,18228,1,250,114,59,1,8593,114,4,2,99,101,18241,18245,121,59,1,1118,118,101,59,1,365,4,2,105,121,18256,18265,114,99,5,251,1,59,18263,1,251,59,1,1091,4,3,97,98,104,18276,18281,18287,114,114,59,1,8645,108,97,99,59,1,369,97,114,59,1,10606,4,2,105,114,18298,18304,115,104,116,59,1,10622,59,3,55349,56626,114,97,118,101,5,249,1,59,18317,1,249,4,2,97,98,18325,18338,114,4,2,108,114,18332,18335,59,1,8639,59,1,8638,108,107,59,1,9600,4,2,99,116,18349,18374,4,2,111,114,18355,18369,114,110,4,2,59,101,18363,18365,1,8988,114,59,1,8988,111,112,59,1,8975,114,105,59,1,9720,4,2,97,108,18385,18390,99,114,59,1,363,5,168,1,59,18395,1,168,4,2,103,112,18403,18408,111,110,59,1,371,102,59,3,55349,56678,4,6,97,100,104,108,115,117,18427,18434,18445,18470,18475,18494,114,114,111,119,59,1,8593,111,119,110,97,114,114,111,119,59,1,8597,97,114,112,111,111,110,4,2,108,114,18457,18463,101,102,116,59,1,8639,105,103,104,116,59,1,8638,117,115,59,1,8846,105,4,3,59,104,108,18484,18486,18489,1,965,59,1,978,111,110,59,1,965,112,97,114,114,111,119,115,59,1,8648,4,3,99,105,116,18512,18537,18542,4,2,111,114,18518,18532,114,110,4,2,59,101,18526,18528,1,8989,114,59,1,8989,111,112,59,1,8974,110,103,59,1,367,114,105,59,1,9721,99,114,59,3,55349,56522,4,3,100,105,114,18561,18566,18572,111,116,59,1,8944,108,100,101,59,1,361,105,4,2,59,102,18579,18581,1,9653,59,1,9652,4,2,97,109,18590,18595,114,114,59,1,8648,108,5,252,1,59,18601,1,252,97,110,103,108,101,59,1,10663,4,15,65,66,68,97,99,100,101,102,108,110,111,112,114,115,122,18643,18648,18661,18667,18847,18851,18857,18904,18909,18915,18931,18937,18943,18949,18996,114,114,59,1,8661,97,114,4,2,59,118,18656,18658,1,10984,59,1,10985,97,115,104,59,1,8872,4,2,110,114,18673,18679,103,114,116,59,1,10652,4,7,101,107,110,112,114,115,116,18695,18704,18711,18720,18742,18754,18810,112,115,105,108,111,110,59,1,1013,97,112,112,97,59,1,1008,111,116,104,105,110,103,59,1,8709,4,3,104,105,114,18728,18732,18735,105,59,1,981,59,1,982,111,112,116,111,59,1,8733,4,2,59,104,18748,18750,1,8597,111,59,1,1009,4,2,105,117,18760,18766,103,109,97,59,1,962,4,2,98,112,18772,18791,115,101,116,110,101,113,4,2,59,113,18784,18787,3,8842,65024,59,3,10955,65024,115,101,116,110,101,113,4,2,59,113,18803,18806,3,8843,65024,59,3,10956,65024,4,2,104,114,18816,18822,101,116,97,59,1,977,105,97,110,103,108,101,4,2,108,114,18834,18840,101,102,116,59,1,8882,105,103,104,116,59,1,8883,121,59,1,1074,97,115,104,59,1,8866,4,3,101,108,114,18865,18884,18890,4,3,59,98,101,18873,18875,18880,1,8744,97,114,59,1,8891,113,59,1,8794,108,105,112,59,1,8942,4,2,98,116,18896,18901,97,114,59,1,124,59,1,124,114,59,3,55349,56627,116,114,105,59,1,8882,115,117,4,2,98,112,18923,18927,59,3,8834,8402,59,3,8835,8402,112,102,59,3,55349,56679,114,111,112,59,1,8733,116,114,105,59,1,8883,4,2,99,117,18955,18960,114,59,3,55349,56523,4,2,98,112,18966,18981,110,4,2,69,101,18973,18977,59,3,10955,65024,59,3,8842,65024,110,4,2,69,101,18988,18992,59,3,10956,65024,59,3,8843,65024,105,103,122,97,103,59,1,10650,4,7,99,101,102,111,112,114,115,19020,19026,19061,19066,19072,19075,19089,105,114,99,59,1,373,4,2,100,105,19032,19055,4,2,98,103,19038,19043,97,114,59,1,10847,101,4,2,59,113,19050,19052,1,8743,59,1,8793,101,114,112,59,1,8472,114,59,3,55349,56628,112,102,59,3,55349,56680,59,1,8472,4,2,59,101,19081,19083,1,8768,97,116,104,59,1,8768,99,114,59,3,55349,56524,4,14,99,100,102,104,105,108,109,110,111,114,115,117,118,119,19125,19146,19152,19157,19173,19176,19192,19197,19202,19236,19252,19269,19286,19291,4,3,97,105,117,19133,19137,19142,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,116,114,105,59,1,9661,114,59,3,55349,56629,4,2,65,97,19163,19168,114,114,59,1,10234,114,114,59,1,10231,59,1,958,4,2,65,97,19182,19187,114,114,59,1,10232,114,114,59,1,10229,97,112,59,1,10236,105,115,59,1,8955,4,3,100,112,116,19210,19215,19230,111,116,59,1,10752,4,2,102,108,19221,19225,59,3,55349,56681,117,115,59,1,10753,105,109,101,59,1,10754,4,2,65,97,19242,19247,114,114,59,1,10233,114,114,59,1,10230,4,2,99,113,19258,19263,114,59,3,55349,56525,99,117,112,59,1,10758,4,2,112,116,19275,19281,108,117,115,59,1,10756,114,105,59,1,9651,101,101,59,1,8897,101,100,103,101,59,1,8896,4,8,97,99,101,102,105,111,115,117,19316,19335,19349,19357,19362,19367,19373,19379,99,4,2,117,121,19323,19332,116,101,5,253,1,59,19330,1,253,59,1,1103,4,2,105,121,19341,19346,114,99,59,1,375,59,1,1099,110,5,165,1,59,19355,1,165,114,59,3,55349,56630,99,121,59,1,1111,112,102,59,3,55349,56682,99,114,59,3,55349,56526,4,2,99,109,19385,19389,121,59,1,1102,108,5,255,1,59,19395,1,255,4,10,97,99,100,101,102,104,105,111,115,119,19419,19426,19441,19446,19462,19467,19472,19480,19486,19492,99,117,116,101,59,1,378,4,2,97,121,19432,19438,114,111,110,59,1,382,59,1,1079,111,116,59,1,380,4,2,101,116,19452,19458,116,114,102,59,1,8488,97,59,1,950,114,59,3,55349,56631,99,121,59,1,1078,103,114,97,114,114,59,1,8669,112,102,59,3,55349,56683,99,114,59,3,55349,56527,4,2,106,110,19498,19501,59,1,8205,106,59,1,8204])},147:function(e,t,n){"use strict";var r=n(6690).default,a=n(9728).default,i=n(4529),o=n(4551),s=i.CODE_POINTS,l=function(){function e(){r(this,e),this.html=null,this.pos=-1,this.lastGapPos=-1,this.lastCharPos=-1,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=65536}return a(e,[{key:"_err",value:function(){}},{key:"_addGap",value:function(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}},{key:"_processSurrogate",value:function(e){if(this.pos!==this.lastCharPos){var t=this.html.charCodeAt(this.pos+1);if(i.isSurrogatePair(t))return this.pos++,this._addGap(),i.getSurrogatePairCodePoint(e,t)}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,s.EOF;return this._err(o.surrogateInInputStream),e}},{key:"dropParsedChunk",value:function(){this.pos>this.bufferWaterline&&(this.lastCharPos-=this.pos,this.html=this.html.substring(this.pos),this.pos=0,this.lastGapPos=-1,this.gapStack=[])}},{key:"write",value:function(e,t){this.html?this.html+=e:this.html=e,this.lastCharPos=this.html.length-1,this.endOfChunkHit=!1,this.lastChunkWritten=t}},{key:"insertHtmlAtCurrentPos",value:function(e){this.html=this.html.substring(0,this.pos+1)+e+this.html.substring(this.pos+1,this.html.length),this.lastCharPos=this.html.length-1,this.endOfChunkHit=!1}},{key:"advance",value:function(){if(this.pos++,this.pos>this.lastCharPos)return this.endOfChunkHit=!this.lastChunkWritten,s.EOF;var e=this.html.charCodeAt(this.pos);return this.skipNextNewLine&&e===s.LINE_FEED?(this.skipNextNewLine=!1,this._addGap(),this.advance()):e===s.CARRIAGE_RETURN?(this.skipNextNewLine=!0,s.LINE_FEED):(this.skipNextNewLine=!1,i.isSurrogate(e)&&(e=this._processSurrogate(e)),e>31&&e<127||e===s.LINE_FEED||e===s.CARRIAGE_RETURN||e>159&&e<64976||this._checkForProblematicCharacters(e),e)}},{key:"_checkForProblematicCharacters",value:function(e){i.isControlCodePoint(e)?this._err(o.controlCharacterInInputStream):i.isUndefinedCodePoint(e)&&this._err(o.noncharacterInInputStream)}},{key:"retreat",value:function(){this.pos===this.lastGapPos&&(this.lastGapPos=this.gapStack.pop(),this.pos--),this.pos--}}]),e}();e.exports=l},3860:function(e,t,n){"use strict";var r=n(9539).DOCUMENT_MODE;t.createDocument=function(){return{nodeName:"#document",mode:r.NO_QUIRKS,childNodes:[]}},t.createDocumentFragment=function(){return{nodeName:"#document-fragment",childNodes:[]}},t.createElement=function(e,t,n){return{nodeName:e,tagName:e,attrs:n,namespaceURI:t,childNodes:[],parentNode:null}},t.createCommentNode=function(e){return{nodeName:"#comment",data:e,parentNode:null}};var a=function(e){return{nodeName:"#text",value:e,parentNode:null}},i=t.appendChild=function(e,t){e.childNodes.push(t),t.parentNode=e},o=t.insertBefore=function(e,t,n){var r=e.childNodes.indexOf(n);e.childNodes.splice(r,0,t),t.parentNode=e};t.setTemplateContent=function(e,t){e.content=t},t.getTemplateContent=function(e){return e.content},t.setDocumentType=function(e,t,n,r){for(var a=null,o=0;o<e.childNodes.length;o++)if("#documentType"===e.childNodes[o].nodeName){a=e.childNodes[o];break}a?(a.name=t,a.publicId=n,a.systemId=r):i(e,{nodeName:"#documentType",name:t,publicId:n,systemId:r})},t.setDocumentMode=function(e,t){e.mode=t},t.getDocumentMode=function(e){return e.mode},t.detachNode=function(e){if(e.parentNode){var t=e.parentNode.childNodes.indexOf(e);e.parentNode.childNodes.splice(t,1),e.parentNode=null}},t.insertText=function(e,t){if(e.childNodes.length){var n=e.childNodes[e.childNodes.length-1];if("#text"===n.nodeName)return void(n.value+=t)}i(e,a(t))},t.insertTextBefore=function(e,t,n){var r=e.childNodes[e.childNodes.indexOf(n)-1];r&&"#text"===r.nodeName?r.value+=t:o(e,a(t),n)},t.adoptAttributes=function(e,t){for(var n=[],r=0;r<e.attrs.length;r++)n.push(e.attrs[r].name);for(var a=0;a<t.length;a++)-1===n.indexOf(t[a].name)&&e.attrs.push(t[a])},t.getFirstChild=function(e){return e.childNodes[0]},t.getChildNodes=function(e){return e.childNodes},t.getParentNode=function(e){return e.parentNode},t.getAttrList=function(e){return e.attrs},t.getTagName=function(e){return e.tagName},t.getNamespaceURI=function(e){return e.namespaceURI},t.getTextNodeContent=function(e){return e.value},t.getCommentNodeContent=function(e){return e.data},t.getDocumentTypeNodeName=function(e){return e.name},t.getDocumentTypeNodePublicId=function(e){return e.publicId},t.getDocumentTypeNodeSystemId=function(e){return e.systemId},t.isTextNode=function(e){return"#text"===e.nodeName},t.isCommentNode=function(e){return"#comment"===e.nodeName},t.isDocumentTypeNode=function(e){return"#documentType"===e.nodeName},t.isElementNode=function(e){return!!e.tagName},t.setNodeSourceCodeLocation=function(e,t){e.sourceCodeLocation=t},t.getNodeSourceCodeLocation=function(e){return e.sourceCodeLocation},t.updateNodeSourceCodeLocation=function(e,t){e.sourceCodeLocation=Object.assign(e.sourceCodeLocation,t)}},3874:function(e){"use strict";e.exports=function(e,t){return[e,t=t||Object.create(null)].reduce((function(e,t){return Object.keys(t).forEach((function(n){e[n]=t[n]})),e}),Object.create(null))}},1458:function(e,t,n){"use strict";var r=n(6690).default,a=n(9728).default,i=function(){function e(t){r(this,e);for(var n={},a=this._getOverriddenMethods(this,n),i=0,o=Object.keys(a);i<o.length;i++){var s=o[i];"function"===typeof a[s]&&(n[s]=t[s],t[s]=a[s])}}return a(e,[{key:"_getOverriddenMethods",value:function(){throw new Error("Not implemented")}}]),e}();i.install=function(e,t,n){e.__mixins||(e.__mixins=[]);for(var r=0;r<e.__mixins.length;r++)if(e.__mixins[r].constructor===t)return e.__mixins[r];var a=new t(e,n);return e.__mixins.push(a),a},e.exports=i},888:function(e,t,n){"use strict";var r=n(9047);function a(){}function i(){}i.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,i,o){if(o!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:a};return n.PropTypes=n,n}},2007:function(e,t,n){e.exports=n(888)()},9047:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4463:function(e,t,n){"use strict";var r=n(2791),a=n(5296);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var o=new Set,s={};function l(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(s[e]=t,e=0;e<t.length;e++)o.add(t[e])}var u=!("undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement),d=Object.prototype.hasOwnProperty,p=/^[: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][: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]*$/,m={},f={};function g(e,t,n,r,a,i,o){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var h={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){h[e]=new g(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];h[t]=new g(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){h[e]=new g(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){h[e]=new g(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){h[e]=new g(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){h[e]=new g(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){h[e]=new g(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){h[e]=new g(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){h[e]=new g(e,5,!1,e.toLowerCase(),null,!1,!1)}));var b=/[\-:]([a-z])/g;function E(e){return e[1].toUpperCase()}function y(e,t,n,r){var a=h.hasOwnProperty(t)?h[t]:null;(null!==a?0!==a.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,r){if(null===t||"undefined"===typeof t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,a,r)&&(n=null),r||null===a?function(e){return!!d.call(f,e)||!d.call(m,e)&&(p.test(e)?f[e]=!0:(m[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):a.mustUseProperty?e[a.propertyName]=null===n?3!==a.type&&"":n:(t=a.attributeName,r=a.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(a=a.type)||4===a&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(b,E);h[t]=new g(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(b,E);h[t]=new g(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(b,E);h[t]=new g(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){h[e]=new g(e,1,!1,e.toLowerCase(),null,!1,!1)})),h.xlinkHref=new g("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){h[e]=new g(e,1,!1,e.toLowerCase(),null,!0,!0)}));var T=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,S=Symbol.for("react.element"),v=Symbol.for("react.portal"),A=Symbol.for("react.fragment"),_=Symbol.for("react.strict_mode"),k=Symbol.for("react.profiler"),C=Symbol.for("react.provider"),w=Symbol.for("react.context"),N=Symbol.for("react.forward_ref"),I=Symbol.for("react.suspense"),R=Symbol.for("react.suspense_list"),x=Symbol.for("react.memo"),O=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var L=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var P=Symbol.iterator;function D(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=P&&e[P]||e["@@iterator"])?e:null}var M,F=Object.assign;function U(e){if(void 0===M)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);M=t&&t[1]||""}return"\n"+M+e}var B=!1;function H(e,t){if(!e||B)return"";B=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"===typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(c){var r=c}Reflect.construct(e,[],t)}else{try{t.call()}catch(c){r=c}e.call(t.prototype)}else{try{throw Error()}catch(c){r=c}e()}}catch(c){if(c&&r&&"string"===typeof c.stack){for(var a=c.stack.split("\n"),i=r.stack.split("\n"),o=a.length-1,s=i.length-1;1<=o&&0<=s&&a[o]!==i[s];)s--;for(;1<=o&&0<=s;o--,s--)if(a[o]!==i[s]){if(1!==o||1!==s)do{if(o--,0>--s||a[o]!==i[s]){var l="\n"+a[o].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}}while(1<=o&&0<=s);break}}}finally{B=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?U(e):""}function G(e){switch(e.tag){case 5:return U(e.type);case 16:return U("Lazy");case 13:return U("Suspense");case 19:return U("SuspenseList");case 0:case 2:case 15:return e=H(e.type,!1);case 11:return e=H(e.type.render,!1);case 1:return e=H(e.type,!0);default:return""}}function z(e){if(null==e)return null;if("function"===typeof e)return e.displayName||e.name||null;if("string"===typeof e)return e;switch(e){case A:return"Fragment";case v:return"Portal";case k:return"Profiler";case _:return"StrictMode";case I:return"Suspense";case R:return"SuspenseList"}if("object"===typeof e)switch(e.$$typeof){case w:return(e.displayName||"Context")+".Consumer";case C:return(e._context.displayName||"Context")+".Provider";case N:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case x:return null!==(t=e.displayName||null)?t:z(e.type)||"Memo";case O:t=e._payload,e=e._init;try{return z(e(t))}catch(n){}}return null}function $(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return z(t);case 8:return t===_?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"===typeof t)return t.displayName||t.name||null;if("string"===typeof t)return t}return null}function j(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function V(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function W(e){e._valueTracker||(e._valueTracker=function(e){var t=V(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&"undefined"!==typeof n&&"function"===typeof n.get&&"function"===typeof n.set){var a=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){r=""+e,i.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function K(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=V(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function q(e){if("undefined"===typeof(e=e||("undefined"!==typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Y(e,t){var n=t.checked;return F({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function X(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=j(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function Z(e,t){null!=(t=t.checked)&&y(e,"checked",t,!1)}function Q(e,t){Z(e,t);var n=j(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,j(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function J(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&q(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(n=""+j(n),t=null,a=0;a<e.length;a++){if(e[a].value===n)return e[a].selected=!0,void(r&&(e[a].defaultSelected=!0));null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function re(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(i(91));return F({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function ae(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(i(92));if(te(n)){if(1<n.length)throw Error(i(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:j(n)}}function ie(e,t){var n=j(t.value),r=j(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function oe(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function se(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function le(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?se(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ce,ue,de=(ue=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ce=ce||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ce.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return ue(e,t)}))}:ue);function pe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var me={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},fe=["Webkit","ms","Moz","O"];function ge(e,t,n){return null==t||"boolean"===typeof t||""===t?"":n||"number"!==typeof t||0===t||me.hasOwnProperty(e)&&me[e]?(""+t).trim():t+"px"}function he(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),a=ge(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}Object.keys(me).forEach((function(e){fe.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),me[t]=me[e]}))}));var be=F({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Ee(e,t){if(t){if(be[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(i(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(i(60));if("object"!==typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(i(61))}if(null!=t.style&&"object"!==typeof t.style)throw Error(i(62))}}function ye(e,t){if(-1===e.indexOf("-"))return"string"===typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Te=null;function Se(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var ve=null,Ae=null,_e=null;function ke(e){if(e=ya(e)){if("function"!==typeof ve)throw Error(i(280));var t=e.stateNode;t&&(t=Sa(t),ve(e.stateNode,e.type,t))}}function Ce(e){Ae?_e?_e.push(e):_e=[e]:Ae=e}function we(){if(Ae){var e=Ae,t=_e;if(_e=Ae=null,ke(e),t)for(e=0;e<t.length;e++)ke(t[e])}}function Ne(e,t){return e(t)}function Ie(){}var Re=!1;function xe(e,t,n){if(Re)return e(t,n);Re=!0;try{return Ne(e,t,n)}finally{Re=!1,(null!==Ae||null!==_e)&&(Ie(),we())}}function Oe(e,t){var n=e.stateNode;if(null===n)return null;var r=Sa(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!==typeof n)throw Error(i(231,t,typeof n));return n}var Le=!1;if(u)try{var Pe={};Object.defineProperty(Pe,"passive",{get:function(){Le=!0}}),window.addEventListener("test",Pe,Pe),window.removeEventListener("test",Pe,Pe)}catch(ue){Le=!1}function De(e,t,n,r,a,i,o,s,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(u){this.onError(u)}}var Me=!1,Fe=null,Ue=!1,Be=null,He={onError:function(e){Me=!0,Fe=e}};function Ge(e,t,n,r,a,i,o,s,l){Me=!1,Fe=null,De.apply(He,arguments)}function ze(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!==(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function $e(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function je(e){if(ze(e)!==e)throw Error(i(188))}function Ve(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=ze(e)))throw Error(i(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(null===a)break;var o=a.alternate;if(null===o){if(null!==(r=a.return)){n=r;continue}break}if(a.child===o.child){for(o=a.child;o;){if(o===n)return je(a),e;if(o===r)return je(a),t;o=o.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=o;else{for(var s=!1,l=a.child;l;){if(l===n){s=!0,n=a,r=o;break}if(l===r){s=!0,r=a,n=o;break}l=l.sibling}if(!s){for(l=o.child;l;){if(l===n){s=!0,n=o,r=a;break}if(l===r){s=!0,r=o,n=a;break}l=l.sibling}if(!s)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(3!==n.tag)throw Error(i(188));return n.stateNode.current===n?e:t}(e))?We(e):null}function We(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=We(e);if(null!==t)return t;e=e.sibling}return null}var Ke=a.unstable_scheduleCallback,qe=a.unstable_cancelCallback,Ye=a.unstable_shouldYield,Xe=a.unstable_requestPaint,Ze=a.unstable_now,Qe=a.unstable_getCurrentPriorityLevel,Je=a.unstable_ImmediatePriority,et=a.unstable_UserBlockingPriority,tt=a.unstable_NormalPriority,nt=a.unstable_LowPriority,rt=a.unstable_IdlePriority,at=null,it=null;var ot=Math.clz32?Math.clz32:function(e){return 0===(e>>>=0)?32:31-(st(e)/lt|0)|0},st=Math.log,lt=Math.LN2;var ct=64,ut=4194304;function dt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function pt(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,a=e.suspendedLanes,i=e.pingedLanes,o=268435455&n;if(0!==o){var s=o&~a;0!==s?r=dt(s):0!==(i&=o)&&(r=dt(i))}else 0!==(o=n&~a)?r=dt(o):0!==i&&(r=dt(i));if(0===r)return 0;if(0!==t&&t!==r&&0===(t&a)&&((a=r&-r)>=(i=t&-t)||16===a&&0!==(4194240&i)))return t;if(0!==(4&r)&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)a=1<<(n=31-ot(t)),r|=e[n],t&=~a;return r}function mt(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function ft(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function gt(){var e=ct;return 0===(4194240&(ct<<=1))&&(ct=64),e}function ht(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function bt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-ot(t)]=n}function Et(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-ot(n),a=1<<r;a&t|e[r]&t&&(e[r]|=t),n&=~a}}var yt=0;function Tt(e){return 1<(e&=-e)?4<e?0!==(268435455&e)?16:536870912:4:1}var St,vt,At,_t,kt,Ct=!1,wt=[],Nt=null,It=null,Rt=null,xt=new Map,Ot=new Map,Lt=[],Pt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Dt(e,t){switch(e){case"focusin":case"focusout":Nt=null;break;case"dragenter":case"dragleave":It=null;break;case"mouseover":case"mouseout":Rt=null;break;case"pointerover":case"pointerout":xt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Ot.delete(t.pointerId)}}function Mt(e,t,n,r,a,i){return null===e||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:i,targetContainers:[a]},null!==t&&(null!==(t=ya(t))&&vt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a),e)}function Ft(e){var t=Ea(e.target);if(null!==t){var n=ze(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=$e(n)))return e.blockedOn=t,void kt(e.priority,(function(){At(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Ut(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Yt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=ya(n))&&vt(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);Te=r,n.target.dispatchEvent(r),Te=null,t.shift()}return!0}function Bt(e,t,n){Ut(e)&&n.delete(t)}function Ht(){Ct=!1,null!==Nt&&Ut(Nt)&&(Nt=null),null!==It&&Ut(It)&&(It=null),null!==Rt&&Ut(Rt)&&(Rt=null),xt.forEach(Bt),Ot.forEach(Bt)}function Gt(e,t){e.blockedOn===t&&(e.blockedOn=null,Ct||(Ct=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,Ht)))}function zt(e){function t(t){return Gt(t,e)}if(0<wt.length){Gt(wt[0],e);for(var n=1;n<wt.length;n++){var r=wt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==Nt&&Gt(Nt,e),null!==It&&Gt(It,e),null!==Rt&&Gt(Rt,e),xt.forEach(t),Ot.forEach(t),n=0;n<Lt.length;n++)(r=Lt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<Lt.length&&null===(n=Lt[0]).blockedOn;)Ft(n),null===n.blockedOn&&Lt.shift()}var $t=T.ReactCurrentBatchConfig,jt=!0;function Vt(e,t,n,r){var a=yt,i=$t.transition;$t.transition=null;try{yt=1,Kt(e,t,n,r)}finally{yt=a,$t.transition=i}}function Wt(e,t,n,r){var a=yt,i=$t.transition;$t.transition=null;try{yt=4,Kt(e,t,n,r)}finally{yt=a,$t.transition=i}}function Kt(e,t,n,r){if(jt){var a=Yt(e,t,n,r);if(null===a)jr(e,t,r,qt,n),Dt(e,r);else if(function(e,t,n,r,a){switch(t){case"focusin":return Nt=Mt(Nt,e,t,n,r,a),!0;case"dragenter":return It=Mt(It,e,t,n,r,a),!0;case"mouseover":return Rt=Mt(Rt,e,t,n,r,a),!0;case"pointerover":var i=a.pointerId;return xt.set(i,Mt(xt.get(i)||null,e,t,n,r,a)),!0;case"gotpointercapture":return i=a.pointerId,Ot.set(i,Mt(Ot.get(i)||null,e,t,n,r,a)),!0}return!1}(a,e,t,n,r))r.stopPropagation();else if(Dt(e,r),4&t&&-1<Pt.indexOf(e)){for(;null!==a;){var i=ya(a);if(null!==i&&St(i),null===(i=Yt(e,t,n,r))&&jr(e,t,r,qt,n),i===a)break;a=i}null!==a&&r.stopPropagation()}else jr(e,t,r,null,n)}}var qt=null;function Yt(e,t,n,r){if(qt=null,null!==(e=Ea(e=Se(r))))if(null===(t=ze(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=$e(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return qt=e,null}function Xt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Qe()){case Je:return 1;case et:return 4;case tt:case nt:return 16;case rt:return 536870912;default:return 16}default:return 16}}var Zt=null,Qt=null,Jt=null;function en(){if(Jt)return Jt;var e,t,n=Qt,r=n.length,a="value"in Zt?Zt.value:Zt.textContent,i=a.length;for(e=0;e<r&&n[e]===a[e];e++);var o=r-e;for(t=1;t<=o&&n[r-t]===a[i-t];t++);return Jt=a.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function rn(){return!1}function an(e){function t(t,n,r,a,i){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=a,this.target=i,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(a):a[o]);return this.isDefaultPrevented=(null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue)?nn:rn,this.isPropagationStopped=rn,this}return F(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!==typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!==typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var on,sn,ln,cn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},un=an(cn),dn=F({},cn,{view:0,detail:0}),pn=an(dn),mn=F({},dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:kn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ln&&(ln&&"mousemove"===e.type?(on=e.screenX-ln.screenX,sn=e.screenY-ln.screenY):sn=on=0,ln=e),on)},movementY:function(e){return"movementY"in e?e.movementY:sn}}),fn=an(mn),gn=an(F({},mn,{dataTransfer:0})),hn=an(F({},dn,{relatedTarget:0})),bn=an(F({},cn,{animationName:0,elapsedTime:0,pseudoElement:0})),En=F({},cn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),yn=an(En),Tn=an(F({},cn,{data:0})),Sn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},vn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},An={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function _n(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=An[e])&&!!t[e]}function kn(){return _n}var Cn=F({},dn,{key:function(e){if(e.key){var t=Sn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?vn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:kn,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),wn=an(Cn),Nn=an(F({},mn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),In=an(F({},dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:kn})),Rn=an(F({},cn,{propertyName:0,elapsedTime:0,pseudoElement:0})),xn=F({},mn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),On=an(xn),Ln=[9,13,27,32],Pn=u&&"CompositionEvent"in window,Dn=null;u&&"documentMode"in document&&(Dn=document.documentMode);var Mn=u&&"TextEvent"in window&&!Dn,Fn=u&&(!Pn||Dn&&8<Dn&&11>=Dn),Un=String.fromCharCode(32),Bn=!1;function Hn(e,t){switch(e){case"keyup":return-1!==Ln.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Gn(e){return"object"===typeof(e=e.detail)&&"data"in e?e.data:null}var zn=!1;var $n={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function jn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!$n[e.type]:"textarea"===t}function Vn(e,t,n,r){Ce(r),0<(t=Wr(t,"onChange")).length&&(n=new un("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Wn=null,Kn=null;function qn(e){Ur(e,0)}function Yn(e){if(K(Ta(e)))return e}function Xn(e,t){if("change"===e)return t}var Zn=!1;if(u){var Qn;if(u){var Jn="oninput"in document;if(!Jn){var er=document.createElement("div");er.setAttribute("oninput","return;"),Jn="function"===typeof er.oninput}Qn=Jn}else Qn=!1;Zn=Qn&&(!document.documentMode||9<document.documentMode)}function tr(){Wn&&(Wn.detachEvent("onpropertychange",nr),Kn=Wn=null)}function nr(e){if("value"===e.propertyName&&Yn(Kn)){var t=[];Vn(t,Kn,e,Se(e)),xe(qn,t)}}function rr(e,t,n){"focusin"===e?(tr(),Kn=n,(Wn=t).attachEvent("onpropertychange",nr)):"focusout"===e&&tr()}function ar(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Yn(Kn)}function ir(e,t){if("click"===e)return Yn(t)}function or(e,t){if("input"===e||"change"===e)return Yn(t)}var sr="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t};function lr(e,t){if(sr(e,t))return!0;if("object"!==typeof e||null===e||"object"!==typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var a=n[r];if(!d.call(t,a)||!sr(e[a],t[a]))return!1}return!0}function cr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ur(e,t){var n,r=cr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=cr(r)}}function dr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function pr(){for(var e=window,t=q();t instanceof e.HTMLIFrameElement;){try{var n="string"===typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=q((e=t.contentWindow).document)}return t}function mr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function fr(e){var t=pr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&dr(n.ownerDocument.documentElement,n)){if(null!==r&&mr(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var a=n.textContent.length,i=Math.min(r.start,a);r=void 0===r.end?i:Math.min(r.end,a),!e.extend&&i>r&&(a=r,r=i,i=a),a=ur(n,i);var o=ur(n,r);a&&o&&(1!==e.rangeCount||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&((t=t.createRange()).setStart(a.node,a.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"===typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var gr=u&&"documentMode"in document&&11>=document.documentMode,hr=null,br=null,Er=null,yr=!1;function Tr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;yr||null==hr||hr!==q(r)||("selectionStart"in(r=hr)&&mr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},Er&&lr(Er,r)||(Er=r,0<(r=Wr(br,"onSelect")).length&&(t=new un("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=hr)))}function Sr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var vr={animationend:Sr("Animation","AnimationEnd"),animationiteration:Sr("Animation","AnimationIteration"),animationstart:Sr("Animation","AnimationStart"),transitionend:Sr("Transition","TransitionEnd")},Ar={},_r={};function kr(e){if(Ar[e])return Ar[e];if(!vr[e])return e;var t,n=vr[e];for(t in n)if(n.hasOwnProperty(t)&&t in _r)return Ar[e]=n[t];return e}u&&(_r=document.createElement("div").style,"AnimationEvent"in window||(delete vr.animationend.animation,delete vr.animationiteration.animation,delete vr.animationstart.animation),"TransitionEvent"in window||delete vr.transitionend.transition);var Cr=kr("animationend"),wr=kr("animationiteration"),Nr=kr("animationstart"),Ir=kr("transitionend"),Rr=new Map,xr="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Or(e,t){Rr.set(e,t),l(t,[e])}for(var Lr=0;Lr<xr.length;Lr++){var Pr=xr[Lr];Or(Pr.toLowerCase(),"on"+(Pr[0].toUpperCase()+Pr.slice(1)))}Or(Cr,"onAnimationEnd"),Or(wr,"onAnimationIteration"),Or(Nr,"onAnimationStart"),Or("dblclick","onDoubleClick"),Or("focusin","onFocus"),Or("focusout","onBlur"),Or(Ir,"onTransitionEnd"),c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),l("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),l("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),l("onBeforeInput",["compositionend","keypress","textInput","paste"]),l("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Dr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Mr=new Set("cancel close invalid load scroll toggle".split(" ").concat(Dr));function Fr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,a,o,s,l,c){if(Ge.apply(this,arguments),Me){if(!Me)throw Error(i(198));var u=Fe;Me=!1,Fe=null,Ue||(Ue=!0,Be=u)}}(r,t,void 0,e),e.currentTarget=null}function Ur(e,t){t=0!==(4&t);for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var i=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],l=s.instance,c=s.currentTarget;if(s=s.listener,l!==i&&a.isPropagationStopped())break e;Fr(a,s,c),i=l}else for(o=0;o<r.length;o++){if(l=(s=r[o]).instance,c=s.currentTarget,s=s.listener,l!==i&&a.isPropagationStopped())break e;Fr(a,s,c),i=l}}}if(Ue)throw e=Be,Ue=!1,Be=null,e}function Br(e,t){var n=t[ga];void 0===n&&(n=t[ga]=new Set);var r=e+"__bubble";n.has(r)||($r(t,e,2,!1),n.add(r))}function Hr(e,t,n){var r=0;t&&(r|=4),$r(n,e,r,t)}var Gr="_reactListening"+Math.random().toString(36).slice(2);function zr(e){if(!e[Gr]){e[Gr]=!0,o.forEach((function(t){"selectionchange"!==t&&(Mr.has(t)||Hr(t,!1,e),Hr(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Gr]||(t[Gr]=!0,Hr("selectionchange",!1,t))}}function $r(e,t,n,r){switch(Xt(t)){case 1:var a=Vt;break;case 4:a=Wt;break;default:a=Kt}n=a.bind(null,t,n,e),a=void 0,!Le||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(a=!0),r?void 0!==a?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):void 0!==a?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function jr(e,t,n,r,a){var i=r;if(0===(1&t)&&0===(2&t)&&null!==r)e:for(;;){if(null===r)return;var o=r.tag;if(3===o||4===o){var s=r.stateNode.containerInfo;if(s===a||8===s.nodeType&&s.parentNode===a)break;if(4===o)for(o=r.return;null!==o;){var l=o.tag;if((3===l||4===l)&&((l=o.stateNode.containerInfo)===a||8===l.nodeType&&l.parentNode===a))return;o=o.return}for(;null!==s;){if(null===(o=Ea(s)))return;if(5===(l=o.tag)||6===l){r=i=o;continue e}s=s.parentNode}}r=r.return}xe((function(){var r=i,a=Se(n),o=[];e:{var s=Rr.get(e);if(void 0!==s){var l=un,c=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":l=wn;break;case"focusin":c="focus",l=hn;break;case"focusout":c="blur",l=hn;break;case"beforeblur":case"afterblur":l=hn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=fn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=gn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=In;break;case Cr:case wr:case Nr:l=bn;break;case Ir:l=Rn;break;case"scroll":l=pn;break;case"wheel":l=On;break;case"copy":case"cut":case"paste":l=yn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=Nn}var u=0!==(4&t),d=!u&&"scroll"===e,p=u?null!==s?s+"Capture":null:s;u=[];for(var m,f=r;null!==f;){var g=(m=f).stateNode;if(5===m.tag&&null!==g&&(m=g,null!==p&&(null!=(g=Oe(f,p))&&u.push(Vr(f,g,m)))),d)break;f=f.return}0<u.length&&(s=new l(s,c,null,n,a),o.push({event:s,listeners:u}))}}if(0===(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(s="mouseover"===e||"pointerover"===e)||n===Te||!(c=n.relatedTarget||n.fromElement)||!Ea(c)&&!c[fa])&&(l||s)&&(s=a.window===a?a:(s=a.ownerDocument)?s.defaultView||s.parentWindow:window,l?(l=r,null!==(c=(c=n.relatedTarget||n.toElement)?Ea(c):null)&&(c!==(d=ze(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(l=null,c=r),l!==c)){if(u=fn,g="onMouseLeave",p="onMouseEnter",f="mouse","pointerout"!==e&&"pointerover"!==e||(u=Nn,g="onPointerLeave",p="onPointerEnter",f="pointer"),d=null==l?s:Ta(l),m=null==c?s:Ta(c),(s=new u(g,f+"leave",l,n,a)).target=d,s.relatedTarget=m,g=null,Ea(a)===r&&((u=new u(p,f+"enter",c,n,a)).target=m,u.relatedTarget=d,g=u),d=g,l&&c)e:{for(p=c,f=0,m=u=l;m;m=Kr(m))f++;for(m=0,g=p;g;g=Kr(g))m++;for(;0<f-m;)u=Kr(u),f--;for(;0<m-f;)p=Kr(p),m--;for(;f--;){if(u===p||null!==p&&u===p.alternate)break e;u=Kr(u),p=Kr(p)}u=null}else u=null;null!==l&&qr(o,s,l,u,!1),null!==c&&null!==d&&qr(o,d,c,u,!0)}if("select"===(l=(s=r?Ta(r):window).nodeName&&s.nodeName.toLowerCase())||"input"===l&&"file"===s.type)var h=Xn;else if(jn(s))if(Zn)h=or;else{h=ar;var b=rr}else(l=s.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===s.type||"radio"===s.type)&&(h=ir);switch(h&&(h=h(e,r))?Vn(o,h,n,a):(b&&b(e,s,r),"focusout"===e&&(b=s._wrapperState)&&b.controlled&&"number"===s.type&&ee(s,"number",s.value)),b=r?Ta(r):window,e){case"focusin":(jn(b)||"true"===b.contentEditable)&&(hr=b,br=r,Er=null);break;case"focusout":Er=br=hr=null;break;case"mousedown":yr=!0;break;case"contextmenu":case"mouseup":case"dragend":yr=!1,Tr(o,n,a);break;case"selectionchange":if(gr)break;case"keydown":case"keyup":Tr(o,n,a)}var E;if(Pn)e:{switch(e){case"compositionstart":var y="onCompositionStart";break e;case"compositionend":y="onCompositionEnd";break e;case"compositionupdate":y="onCompositionUpdate";break e}y=void 0}else zn?Hn(e,n)&&(y="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(y="onCompositionStart");y&&(Fn&&"ko"!==n.locale&&(zn||"onCompositionStart"!==y?"onCompositionEnd"===y&&zn&&(E=en()):(Qt="value"in(Zt=a)?Zt.value:Zt.textContent,zn=!0)),0<(b=Wr(r,y)).length&&(y=new Tn(y,e,null,n,a),o.push({event:y,listeners:b}),E?y.data=E:null!==(E=Gn(n))&&(y.data=E))),(E=Mn?function(e,t){switch(e){case"compositionend":return Gn(t);case"keypress":return 32!==t.which?null:(Bn=!0,Un);case"textInput":return(e=t.data)===Un&&Bn?null:e;default:return null}}(e,n):function(e,t){if(zn)return"compositionend"===e||!Pn&&Hn(e,t)?(e=en(),Jt=Qt=Zt=null,zn=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Fn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Wr(r,"onBeforeInput")).length&&(a=new Tn("onBeforeInput","beforeinput",null,n,a),o.push({event:a,listeners:r}),a.data=E))}Ur(o,t)}))}function Vr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Wr(e,t){for(var n=t+"Capture",r=[];null!==e;){var a=e,i=a.stateNode;5===a.tag&&null!==i&&(a=i,null!=(i=Oe(e,n))&&r.unshift(Vr(e,i,a)),null!=(i=Oe(e,t))&&r.push(Vr(e,i,a))),e=e.return}return r}function Kr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function qr(e,t,n,r,a){for(var i=t._reactName,o=[];null!==n&&n!==r;){var s=n,l=s.alternate,c=s.stateNode;if(null!==l&&l===r)break;5===s.tag&&null!==c&&(s=c,a?null!=(l=Oe(n,i))&&o.unshift(Vr(n,l,s)):a||null!=(l=Oe(n,i))&&o.push(Vr(n,l,s))),n=n.return}0!==o.length&&e.push({event:t,listeners:o})}var Yr=/\r\n?/g,Xr=/\u0000|\uFFFD/g;function Zr(e){return("string"===typeof e?e:""+e).replace(Yr,"\n").replace(Xr,"")}function Qr(e,t,n){if(t=Zr(t),Zr(e)!==t&&n)throw Error(i(425))}function Jr(){}var ea=null,ta=null;function na(e,t){return"textarea"===e||"noscript"===e||"string"===typeof t.children||"number"===typeof t.children||"object"===typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ra="function"===typeof setTimeout?setTimeout:void 0,aa="function"===typeof clearTimeout?clearTimeout:void 0,ia="function"===typeof Promise?Promise:void 0,oa="function"===typeof queueMicrotask?queueMicrotask:"undefined"!==typeof ia?function(e){return ia.resolve(null).then(e).catch(sa)}:ra;function sa(e){setTimeout((function(){throw e}))}function la(e,t){var n=t,r=0;do{var a=n.nextSibling;if(e.removeChild(n),a&&8===a.nodeType)if("/$"===(n=a.data)){if(0===r)return e.removeChild(a),void zt(t);r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++;n=a}while(n);zt(t)}function ca(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function ua(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var da=Math.random().toString(36).slice(2),pa="__reactFiber$"+da,ma="__reactProps$"+da,fa="__reactContainer$"+da,ga="__reactEvents$"+da,ha="__reactListeners$"+da,ba="__reactHandles$"+da;function Ea(e){var t=e[pa];if(t)return t;for(var n=e.parentNode;n;){if(t=n[fa]||n[pa]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=ua(e);null!==e;){if(n=e[pa])return n;e=ua(e)}return t}n=(e=n).parentNode}return null}function ya(e){return!(e=e[pa]||e[fa])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function Ta(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(i(33))}function Sa(e){return e[ma]||null}var va=[],Aa=-1;function _a(e){return{current:e}}function ka(e){0>Aa||(e.current=va[Aa],va[Aa]=null,Aa--)}function Ca(e,t){Aa++,va[Aa]=e.current,e.current=t}var wa={},Na=_a(wa),Ia=_a(!1),Ra=wa;function xa(e,t){var n=e.type.contextTypes;if(!n)return wa;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a,i={};for(a in n)i[a]=t[a];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Oa(e){return null!==(e=e.childContextTypes)&&void 0!==e}function La(){ka(Ia),ka(Na)}function Pa(e,t,n){if(Na.current!==wa)throw Error(i(168));Ca(Na,t),Ca(Ia,n)}function Da(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!==typeof r.getChildContext)return n;for(var a in r=r.getChildContext())if(!(a in t))throw Error(i(108,$(e)||"Unknown",a));return F({},n,r)}function Ma(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||wa,Ra=Na.current,Ca(Na,e),Ca(Ia,Ia.current),!0}function Fa(e,t,n){var r=e.stateNode;if(!r)throw Error(i(169));n?(e=Da(e,t,Ra),r.__reactInternalMemoizedMergedChildContext=e,ka(Ia),ka(Na),Ca(Na,e)):ka(Ia),Ca(Ia,n)}var Ua=null,Ba=!1,Ha=!1;function Ga(e){null===Ua?Ua=[e]:Ua.push(e)}function za(){if(!Ha&&null!==Ua){Ha=!0;var e=0,t=yt;try{var n=Ua;for(yt=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}Ua=null,Ba=!1}catch(a){throw null!==Ua&&(Ua=Ua.slice(e+1)),Ke(Je,za),a}finally{yt=t,Ha=!1}}return null}var $a=[],ja=0,Va=null,Wa=0,Ka=[],qa=0,Ya=null,Xa=1,Za="";function Qa(e,t){$a[ja++]=Wa,$a[ja++]=Va,Va=e,Wa=t}function Ja(e,t,n){Ka[qa++]=Xa,Ka[qa++]=Za,Ka[qa++]=Ya,Ya=e;var r=Xa;e=Za;var a=32-ot(r)-1;r&=~(1<<a),n+=1;var i=32-ot(t)+a;if(30<i){var o=a-a%5;i=(r&(1<<o)-1).toString(32),r>>=o,a-=o,Xa=1<<32-ot(t)+a|n<<a|r,Za=i+e}else Xa=1<<i|n<<a|r,Za=e}function ei(e){null!==e.return&&(Qa(e,1),Ja(e,1,0))}function ti(e){for(;e===Va;)Va=$a[--ja],$a[ja]=null,Wa=$a[--ja],$a[ja]=null;for(;e===Ya;)Ya=Ka[--qa],Ka[qa]=null,Za=Ka[--qa],Ka[qa]=null,Xa=Ka[--qa],Ka[qa]=null}var ni=null,ri=null,ai=!1,ii=null;function oi(e,t){var n=xc(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function si(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,ni=e,ri=ca(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,ni=e,ri=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Ya?{id:Xa,overflow:Za}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=xc(18,null,null,0)).stateNode=t,n.return=e,e.child=n,ni=e,ri=null,!0);default:return!1}}function li(e){return 0!==(1&e.mode)&&0===(128&e.flags)}function ci(e){if(ai){var t=ri;if(t){var n=t;if(!si(e,t)){if(li(e))throw Error(i(418));t=ca(n.nextSibling);var r=ni;t&&si(e,t)?oi(r,n):(e.flags=-4097&e.flags|2,ai=!1,ni=e)}}else{if(li(e))throw Error(i(418));e.flags=-4097&e.flags|2,ai=!1,ni=e}}}function ui(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;ni=e}function di(e){if(e!==ni)return!1;if(!ai)return ui(e),ai=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!na(e.type,e.memoizedProps)),t&&(t=ri)){if(li(e))throw pi(),Error(i(418));for(;t;)oi(e,t),t=ca(t.nextSibling)}if(ui(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(i(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){ri=ca(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}ri=null}}else ri=ni?ca(e.stateNode.nextSibling):null;return!0}function pi(){for(var e=ri;e;)e=ca(e.nextSibling)}function mi(){ri=ni=null,ai=!1}function fi(e){null===ii?ii=[e]:ii.push(e)}var gi=T.ReactCurrentBatchConfig;function hi(e,t){if(e&&e.defaultProps){for(var n in t=F({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var bi=_a(null),Ei=null,yi=null,Ti=null;function Si(){Ti=yi=Ei=null}function vi(e){var t=bi.current;ka(bi),e._currentValue=t}function Ai(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function _i(e,t){Ei=e,Ti=yi=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(Ts=!0),e.firstContext=null)}function ki(e){var t=e._currentValue;if(Ti!==e)if(e={context:e,memoizedValue:t,next:null},null===yi){if(null===Ei)throw Error(i(308));yi=e,Ei.dependencies={lanes:0,firstContext:e}}else yi=yi.next=e;return t}var Ci=null;function wi(e){null===Ci?Ci=[e]:Ci.push(e)}function Ni(e,t,n,r){var a=t.interleaved;return null===a?(n.next=n,wi(t)):(n.next=a.next,a.next=n),t.interleaved=n,Ii(e,r)}function Ii(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Ri=!1;function xi(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Oi(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Li(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Pi(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!==(2&Nl)){var a=r.pending;return null===a?t.next=t:(t.next=a.next,a.next=t),r.pending=t,Ii(e,n)}return null===(a=r.interleaved)?(t.next=t,wi(r)):(t.next=a.next,a.next=t),r.interleaved=t,Ii(e,n)}function Di(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!==(4194240&n))){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,Et(e,n)}}function Mi(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var a=null,i=null;if(null!==(n=n.firstBaseUpdate)){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===i?a=i=o:i=i.next=o,n=n.next}while(null!==n);null===i?a=i=t:i=i.next=t}else a=i=t;return n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:i,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Fi(e,t,n,r){var a=e.updateQueue;Ri=!1;var i=a.firstBaseUpdate,o=a.lastBaseUpdate,s=a.shared.pending;if(null!==s){a.shared.pending=null;var l=s,c=l.next;l.next=null,null===o?i=c:o.next=c,o=l;var u=e.alternate;null!==u&&((s=(u=u.updateQueue).lastBaseUpdate)!==o&&(null===s?u.firstBaseUpdate=c:s.next=c,u.lastBaseUpdate=l))}if(null!==i){var d=a.baseState;for(o=0,u=c=l=null,s=i;;){var p=s.lane,m=s.eventTime;if((r&p)===p){null!==u&&(u=u.next={eventTime:m,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var f=e,g=s;switch(p=t,m=n,g.tag){case 1:if("function"===typeof(f=g.payload)){d=f.call(m,d,p);break e}d=f;break e;case 3:f.flags=-65537&f.flags|128;case 0:if(null===(p="function"===typeof(f=g.payload)?f.call(m,d,p):f)||void 0===p)break e;d=F({},d,p);break e;case 2:Ri=!0}}null!==s.callback&&0!==s.lane&&(e.flags|=64,null===(p=a.effects)?a.effects=[s]:p.push(s))}else m={eventTime:m,lane:p,tag:s.tag,payload:s.payload,callback:s.callback,next:null},null===u?(c=u=m,l=d):u=u.next=m,o|=p;if(null===(s=s.next)){if(null===(s=a.shared.pending))break;s=(p=s).next,p.next=null,a.lastBaseUpdate=p,a.shared.pending=null}}if(null===u&&(l=d),a.baseState=l,a.firstBaseUpdate=c,a.lastBaseUpdate=u,null!==(t=a.shared.interleaved)){a=t;do{o|=a.lane,a=a.next}while(a!==t)}else null===i&&(a.shared.lanes=0);Ml|=o,e.lanes=o,e.memoizedState=d}}function Ui(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],a=r.callback;if(null!==a){if(r.callback=null,r=n,"function"!==typeof a)throw Error(i(191,a));a.call(r)}}}var Bi=(new r.Component).refs;function Hi(e,t,n,r){n=null===(n=n(r,t=e.memoizedState))||void 0===n?t:F({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var Gi={isMounted:function(e){return!!(e=e._reactInternals)&&ze(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=ec(),a=tc(e),i=Li(r,a);i.payload=t,void 0!==n&&null!==n&&(i.callback=n),null!==(t=Pi(e,i,a))&&(nc(t,e,a,r),Di(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=ec(),a=tc(e),i=Li(r,a);i.tag=1,i.payload=t,void 0!==n&&null!==n&&(i.callback=n),null!==(t=Pi(e,i,a))&&(nc(t,e,a,r),Di(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=ec(),r=tc(e),a=Li(n,r);a.tag=2,void 0!==t&&null!==t&&(a.callback=t),null!==(t=Pi(e,a,r))&&(nc(t,e,r,n),Di(t,e,r))}};function zi(e,t,n,r,a,i,o){return"function"===typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,i,o):!t.prototype||!t.prototype.isPureReactComponent||(!lr(n,r)||!lr(a,i))}function $i(e,t,n){var r=!1,a=wa,i=t.contextType;return"object"===typeof i&&null!==i?i=ki(i):(a=Oa(t)?Ra:Na.current,i=(r=null!==(r=t.contextTypes)&&void 0!==r)?xa(e,a):wa),t=new t(n,i),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=Gi,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=i),t}function ji(e,t,n,r){e=t.state,"function"===typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"===typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Gi.enqueueReplaceState(t,t.state,null)}function Vi(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs=Bi,xi(e);var i=t.contextType;"object"===typeof i&&null!==i?a.context=ki(i):(i=Oa(t)?Ra:Na.current,a.context=xa(e,i)),a.state=e.memoizedState,"function"===typeof(i=t.getDerivedStateFromProps)&&(Hi(e,t,i,n),a.state=e.memoizedState),"function"===typeof t.getDerivedStateFromProps||"function"===typeof a.getSnapshotBeforeUpdate||"function"!==typeof a.UNSAFE_componentWillMount&&"function"!==typeof a.componentWillMount||(t=a.state,"function"===typeof a.componentWillMount&&a.componentWillMount(),"function"===typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),t!==a.state&&Gi.enqueueReplaceState(a,a.state,null),Fi(e,n,a,r),a.state=e.memoizedState),"function"===typeof a.componentDidMount&&(e.flags|=4194308)}function Wi(e,t,n){if(null!==(e=n.ref)&&"function"!==typeof e&&"object"!==typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(i(309));var r=n.stateNode}if(!r)throw Error(i(147,e));var a=r,o=""+e;return null!==t&&null!==t.ref&&"function"===typeof t.ref&&t.ref._stringRef===o?t.ref:(t=function(e){var t=a.refs;t===Bi&&(t=a.refs={}),null===e?delete t[o]:t[o]=e},t._stringRef=o,t)}if("string"!==typeof e)throw Error(i(284));if(!n._owner)throw Error(i(290,e))}return e}function Ki(e,t){throw e=Object.prototype.toString.call(t),Error(i(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function qi(e){return(0,e._init)(e._payload)}function Yi(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function a(e,t){return(e=Lc(e,t)).index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function s(t){return e&&null===t.alternate&&(t.flags|=2),t}function l(e,t,n,r){return null===t||6!==t.tag?((t=Fc(n,e.mode,r)).return=e,t):((t=a(t,n)).return=e,t)}function c(e,t,n,r){var i=n.type;return i===A?d(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===i||"object"===typeof i&&null!==i&&i.$$typeof===O&&qi(i)===t.type)?((r=a(t,n.props)).ref=Wi(e,t,n),r.return=e,r):((r=Pc(n.type,n.key,n.props,null,e.mode,r)).ref=Wi(e,t,n),r.return=e,r)}function u(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Uc(n,e.mode,r)).return=e,t):((t=a(t,n.children||[])).return=e,t)}function d(e,t,n,r,i){return null===t||7!==t.tag?((t=Dc(n,e.mode,r,i)).return=e,t):((t=a(t,n)).return=e,t)}function p(e,t,n){if("string"===typeof t&&""!==t||"number"===typeof t)return(t=Fc(""+t,e.mode,n)).return=e,t;if("object"===typeof t&&null!==t){switch(t.$$typeof){case S:return(n=Pc(t.type,t.key,t.props,null,e.mode,n)).ref=Wi(e,null,t),n.return=e,n;case v:return(t=Uc(t,e.mode,n)).return=e,t;case O:return p(e,(0,t._init)(t._payload),n)}if(te(t)||D(t))return(t=Dc(t,e.mode,n,null)).return=e,t;Ki(e,t)}return null}function m(e,t,n,r){var a=null!==t?t.key:null;if("string"===typeof n&&""!==n||"number"===typeof n)return null!==a?null:l(e,t,""+n,r);if("object"===typeof n&&null!==n){switch(n.$$typeof){case S:return n.key===a?c(e,t,n,r):null;case v:return n.key===a?u(e,t,n,r):null;case O:return m(e,t,(a=n._init)(n._payload),r)}if(te(n)||D(n))return null!==a?null:d(e,t,n,r,null);Ki(e,n)}return null}function f(e,t,n,r,a){if("string"===typeof r&&""!==r||"number"===typeof r)return l(t,e=e.get(n)||null,""+r,a);if("object"===typeof r&&null!==r){switch(r.$$typeof){case S:return c(t,e=e.get(null===r.key?n:r.key)||null,r,a);case v:return u(t,e=e.get(null===r.key?n:r.key)||null,r,a);case O:return f(e,t,n,(0,r._init)(r._payload),a)}if(te(r)||D(r))return d(t,e=e.get(n)||null,r,a,null);Ki(t,r)}return null}function g(a,i,s,l){for(var c=null,u=null,d=i,g=i=0,h=null;null!==d&&g<s.length;g++){d.index>g?(h=d,d=null):h=d.sibling;var b=m(a,d,s[g],l);if(null===b){null===d&&(d=h);break}e&&d&&null===b.alternate&&t(a,d),i=o(b,i,g),null===u?c=b:u.sibling=b,u=b,d=h}if(g===s.length)return n(a,d),ai&&Qa(a,g),c;if(null===d){for(;g<s.length;g++)null!==(d=p(a,s[g],l))&&(i=o(d,i,g),null===u?c=d:u.sibling=d,u=d);return ai&&Qa(a,g),c}for(d=r(a,d);g<s.length;g++)null!==(h=f(d,a,g,s[g],l))&&(e&&null!==h.alternate&&d.delete(null===h.key?g:h.key),i=o(h,i,g),null===u?c=h:u.sibling=h,u=h);return e&&d.forEach((function(e){return t(a,e)})),ai&&Qa(a,g),c}function h(a,s,l,c){var u=D(l);if("function"!==typeof u)throw Error(i(150));if(null==(l=u.call(l)))throw Error(i(151));for(var d=u=null,g=s,h=s=0,b=null,E=l.next();null!==g&&!E.done;h++,E=l.next()){g.index>h?(b=g,g=null):b=g.sibling;var y=m(a,g,E.value,c);if(null===y){null===g&&(g=b);break}e&&g&&null===y.alternate&&t(a,g),s=o(y,s,h),null===d?u=y:d.sibling=y,d=y,g=b}if(E.done)return n(a,g),ai&&Qa(a,h),u;if(null===g){for(;!E.done;h++,E=l.next())null!==(E=p(a,E.value,c))&&(s=o(E,s,h),null===d?u=E:d.sibling=E,d=E);return ai&&Qa(a,h),u}for(g=r(a,g);!E.done;h++,E=l.next())null!==(E=f(g,a,h,E.value,c))&&(e&&null!==E.alternate&&g.delete(null===E.key?h:E.key),s=o(E,s,h),null===d?u=E:d.sibling=E,d=E);return e&&g.forEach((function(e){return t(a,e)})),ai&&Qa(a,h),u}return function e(r,i,o,l){if("object"===typeof o&&null!==o&&o.type===A&&null===o.key&&(o=o.props.children),"object"===typeof o&&null!==o){switch(o.$$typeof){case S:e:{for(var c=o.key,u=i;null!==u;){if(u.key===c){if((c=o.type)===A){if(7===u.tag){n(r,u.sibling),(i=a(u,o.props.children)).return=r,r=i;break e}}else if(u.elementType===c||"object"===typeof c&&null!==c&&c.$$typeof===O&&qi(c)===u.type){n(r,u.sibling),(i=a(u,o.props)).ref=Wi(r,u,o),i.return=r,r=i;break e}n(r,u);break}t(r,u),u=u.sibling}o.type===A?((i=Dc(o.props.children,r.mode,l,o.key)).return=r,r=i):((l=Pc(o.type,o.key,o.props,null,r.mode,l)).ref=Wi(r,i,o),l.return=r,r=l)}return s(r);case v:e:{for(u=o.key;null!==i;){if(i.key===u){if(4===i.tag&&i.stateNode.containerInfo===o.containerInfo&&i.stateNode.implementation===o.implementation){n(r,i.sibling),(i=a(i,o.children||[])).return=r,r=i;break e}n(r,i);break}t(r,i),i=i.sibling}(i=Uc(o,r.mode,l)).return=r,r=i}return s(r);case O:return e(r,i,(u=o._init)(o._payload),l)}if(te(o))return g(r,i,o,l);if(D(o))return h(r,i,o,l);Ki(r,o)}return"string"===typeof o&&""!==o||"number"===typeof o?(o=""+o,null!==i&&6===i.tag?(n(r,i.sibling),(i=a(i,o)).return=r,r=i):(n(r,i),(i=Fc(o,r.mode,l)).return=r,r=i),s(r)):n(r,i)}}var Xi=Yi(!0),Zi=Yi(!1),Qi={},Ji=_a(Qi),eo=_a(Qi),to=_a(Qi);function no(e){if(e===Qi)throw Error(i(174));return e}function ro(e,t){switch(Ca(to,t),Ca(eo,e),Ca(Ji,Qi),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:le(null,"");break;default:t=le(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}ka(Ji),Ca(Ji,t)}function ao(){ka(Ji),ka(eo),ka(to)}function io(e){no(to.current);var t=no(Ji.current),n=le(t,e.type);t!==n&&(Ca(eo,e),Ca(Ji,n))}function oo(e){eo.current===e&&(ka(Ji),ka(eo))}var so=_a(0);function lo(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!==(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var co=[];function uo(){for(var e=0;e<co.length;e++)co[e]._workInProgressVersionPrimary=null;co.length=0}var po=T.ReactCurrentDispatcher,mo=T.ReactCurrentBatchConfig,fo=0,go=null,ho=null,bo=null,Eo=!1,yo=!1,To=0,So=0;function vo(){throw Error(i(321))}function Ao(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!sr(e[n],t[n]))return!1;return!0}function _o(e,t,n,r,a,o){if(fo=o,go=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,po.current=null===e||null===e.memoizedState?ss:ls,e=n(r,a),yo){o=0;do{if(yo=!1,To=0,25<=o)throw Error(i(301));o+=1,bo=ho=null,t.updateQueue=null,po.current=cs,e=n(r,a)}while(yo)}if(po.current=os,t=null!==ho&&null!==ho.next,fo=0,bo=ho=go=null,Eo=!1,t)throw Error(i(300));return e}function ko(){var e=0!==To;return To=0,e}function Co(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===bo?go.memoizedState=bo=e:bo=bo.next=e,bo}function wo(){if(null===ho){var e=go.alternate;e=null!==e?e.memoizedState:null}else e=ho.next;var t=null===bo?go.memoizedState:bo.next;if(null!==t)bo=t,ho=e;else{if(null===e)throw Error(i(310));e={memoizedState:(ho=e).memoizedState,baseState:ho.baseState,baseQueue:ho.baseQueue,queue:ho.queue,next:null},null===bo?go.memoizedState=bo=e:bo=bo.next=e}return bo}function No(e,t){return"function"===typeof t?t(e):t}function Io(e){var t=wo(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=ho,a=r.baseQueue,o=n.pending;if(null!==o){if(null!==a){var s=a.next;a.next=o.next,o.next=s}r.baseQueue=a=o,n.pending=null}if(null!==a){o=a.next,r=r.baseState;var l=s=null,c=null,u=o;do{var d=u.lane;if((fo&d)===d)null!==c&&(c=c.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var p={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===c?(l=c=p,s=r):c=c.next=p,go.lanes|=d,Ml|=d}u=u.next}while(null!==u&&u!==o);null===c?s=r:c.next=l,sr(r,t.memoizedState)||(Ts=!0),t.memoizedState=r,t.baseState=s,t.baseQueue=c,n.lastRenderedState=r}if(null!==(e=n.interleaved)){a=e;do{o=a.lane,go.lanes|=o,Ml|=o,a=a.next}while(a!==e)}else null===a&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Ro(e){var t=wo(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(null!==a){n.pending=null;var s=a=a.next;do{o=e(o,s.action),s=s.next}while(s!==a);sr(o,t.memoizedState)||(Ts=!0),t.memoizedState=o,null===t.baseQueue&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function xo(){}function Oo(e,t){var n=go,r=wo(),a=t(),o=!sr(r.memoizedState,a);if(o&&(r.memoizedState=a,Ts=!0),r=r.queue,jo(Do.bind(null,n,r,e),[e]),r.getSnapshot!==t||o||null!==bo&&1&bo.memoizedState.tag){if(n.flags|=2048,Bo(9,Po.bind(null,n,r,a,t),void 0,null),null===Il)throw Error(i(349));0!==(30&fo)||Lo(n,t,a)}return a}function Lo(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=go.updateQueue)?(t={lastEffect:null,stores:null},go.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Po(e,t,n,r){t.value=n,t.getSnapshot=r,Mo(t)&&Fo(e)}function Do(e,t,n){return n((function(){Mo(t)&&Fo(e)}))}function Mo(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!sr(e,n)}catch(r){return!0}}function Fo(e){var t=Ii(e,1);null!==t&&nc(t,e,1,-1)}function Uo(e){var t=Co();return"function"===typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:No,lastRenderedState:e},t.queue=e,e=e.dispatch=ns.bind(null,go,e),[t.memoizedState,e]}function Bo(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=go.updateQueue)?(t={lastEffect:null,stores:null},go.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Ho(){return wo().memoizedState}function Go(e,t,n,r){var a=Co();go.flags|=e,a.memoizedState=Bo(1|t,n,void 0,void 0===r?null:r)}function zo(e,t,n,r){var a=wo();r=void 0===r?null:r;var i=void 0;if(null!==ho){var o=ho.memoizedState;if(i=o.destroy,null!==r&&Ao(r,o.deps))return void(a.memoizedState=Bo(t,n,i,r))}go.flags|=e,a.memoizedState=Bo(1|t,n,i,r)}function $o(e,t){return Go(8390656,8,e,t)}function jo(e,t){return zo(2048,8,e,t)}function Vo(e,t){return zo(4,2,e,t)}function Wo(e,t){return zo(4,4,e,t)}function Ko(e,t){return"function"===typeof t?(e=e(),t(e),function(){t(null)}):null!==t&&void 0!==t?(e=e(),t.current=e,function(){t.current=null}):void 0}function qo(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,zo(4,4,Ko.bind(null,t,e),n)}function Yo(){}function Xo(e,t){var n=wo();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Ao(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Zo(e,t){var n=wo();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Ao(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Qo(e,t,n){return 0===(21&fo)?(e.baseState&&(e.baseState=!1,Ts=!0),e.memoizedState=n):(sr(n,t)||(n=gt(),go.lanes|=n,Ml|=n,e.baseState=!0),t)}function Jo(e,t){var n=yt;yt=0!==n&&4>n?n:4,e(!0);var r=mo.transition;mo.transition={};try{e(!1),t()}finally{yt=n,mo.transition=r}}function es(){return wo().memoizedState}function ts(e,t,n){var r=tc(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},rs(e))as(t,n);else if(null!==(n=Ni(e,t,n,r))){nc(n,e,r,ec()),is(n,t,r)}}function ns(e,t,n){var r=tc(e),a={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(rs(e))as(t,a);else{var i=e.alternate;if(0===e.lanes&&(null===i||0===i.lanes)&&null!==(i=t.lastRenderedReducer))try{var o=t.lastRenderedState,s=i(o,n);if(a.hasEagerState=!0,a.eagerState=s,sr(s,o)){var l=t.interleaved;return null===l?(a.next=a,wi(t)):(a.next=l.next,l.next=a),void(t.interleaved=a)}}catch(c){}null!==(n=Ni(e,t,a,r))&&(nc(n,e,r,a=ec()),is(n,t,r))}}function rs(e){var t=e.alternate;return e===go||null!==t&&t===go}function as(e,t){yo=Eo=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function is(e,t,n){if(0!==(4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,Et(e,n)}}var os={readContext:ki,useCallback:vo,useContext:vo,useEffect:vo,useImperativeHandle:vo,useInsertionEffect:vo,useLayoutEffect:vo,useMemo:vo,useReducer:vo,useRef:vo,useState:vo,useDebugValue:vo,useDeferredValue:vo,useTransition:vo,useMutableSource:vo,useSyncExternalStore:vo,useId:vo,unstable_isNewReconciler:!1},ss={readContext:ki,useCallback:function(e,t){return Co().memoizedState=[e,void 0===t?null:t],e},useContext:ki,useEffect:$o,useImperativeHandle:function(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,Go(4194308,4,Ko.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Go(4194308,4,e,t)},useInsertionEffect:function(e,t){return Go(4,2,e,t)},useMemo:function(e,t){var n=Co();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Co();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=ts.bind(null,go,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},Co().memoizedState=e},useState:Uo,useDebugValue:Yo,useDeferredValue:function(e){return Co().memoizedState=e},useTransition:function(){var e=Uo(!1),t=e[0];return e=Jo.bind(null,e[1]),Co().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=go,a=Co();if(ai){if(void 0===n)throw Error(i(407));n=n()}else{if(n=t(),null===Il)throw Error(i(349));0!==(30&fo)||Lo(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,$o(Do.bind(null,r,o,e),[e]),r.flags|=2048,Bo(9,Po.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Co(),t=Il.identifierPrefix;if(ai){var n=Za;t=":"+t+"R"+(n=(Xa&~(1<<32-ot(Xa)-1)).toString(32)+n),0<(n=To++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=So++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},ls={readContext:ki,useCallback:Xo,useContext:ki,useEffect:jo,useImperativeHandle:qo,useInsertionEffect:Vo,useLayoutEffect:Wo,useMemo:Zo,useReducer:Io,useRef:Ho,useState:function(){return Io(No)},useDebugValue:Yo,useDeferredValue:function(e){return Qo(wo(),ho.memoizedState,e)},useTransition:function(){return[Io(No)[0],wo().memoizedState]},useMutableSource:xo,useSyncExternalStore:Oo,useId:es,unstable_isNewReconciler:!1},cs={readContext:ki,useCallback:Xo,useContext:ki,useEffect:jo,useImperativeHandle:qo,useInsertionEffect:Vo,useLayoutEffect:Wo,useMemo:Zo,useReducer:Ro,useRef:Ho,useState:function(){return Ro(No)},useDebugValue:Yo,useDeferredValue:function(e){var t=wo();return null===ho?t.memoizedState=e:Qo(t,ho.memoizedState,e)},useTransition:function(){return[Ro(No)[0],wo().memoizedState]},useMutableSource:xo,useSyncExternalStore:Oo,useId:es,unstable_isNewReconciler:!1};function us(e,t){try{var n="",r=t;do{n+=G(r),r=r.return}while(r);var a=n}catch(i){a="\nError generating stack: "+i.message+"\n"+i.stack}return{value:e,source:t,stack:a,digest:null}}function ds(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function ps(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}var ms="function"===typeof WeakMap?WeakMap:Map;function fs(e,t,n){(n=Li(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){jl||(jl=!0,Vl=r),ps(0,t)},n}function gs(e,t,n){(n=Li(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"===typeof r){var a=t.value;n.payload=function(){return r(a)},n.callback=function(){ps(0,t)}}var i=e.stateNode;return null!==i&&"function"===typeof i.componentDidCatch&&(n.callback=function(){ps(0,t),"function"!==typeof r&&(null===Wl?Wl=new Set([this]):Wl.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function hs(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new ms;var a=new Set;r.set(t,a)}else void 0===(a=r.get(t))&&(a=new Set,r.set(t,a));a.has(n)||(a.add(n),e=kc.bind(null,e,t,n),t.then(e,e))}function bs(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function Es(e,t,n,r,a){return 0===(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=Li(-1,1)).tag=2,Pi(n,t,1))),n.lanes|=1),e):(e.flags|=65536,e.lanes=a,e)}var ys=T.ReactCurrentOwner,Ts=!1;function Ss(e,t,n,r){t.child=null===e?Zi(t,null,n,r):Xi(t,e.child,n,r)}function vs(e,t,n,r,a){n=n.render;var i=t.ref;return _i(t,a),r=_o(e,t,n,r,i,a),n=ko(),null===e||Ts?(ai&&n&&ei(t),t.flags|=1,Ss(e,t,r,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,js(e,t,a))}function As(e,t,n,r,a){if(null===e){var i=n.type;return"function"!==typeof i||Oc(i)||void 0!==i.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Pc(n.type,null,r,t,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=i,_s(e,t,i,r,a))}if(i=e.child,0===(e.lanes&a)){var o=i.memoizedProps;if((n=null!==(n=n.compare)?n:lr)(o,r)&&e.ref===t.ref)return js(e,t,a)}return t.flags|=1,(e=Lc(i,r)).ref=t.ref,e.return=t,t.child=e}function _s(e,t,n,r,a){if(null!==e){var i=e.memoizedProps;if(lr(i,r)&&e.ref===t.ref){if(Ts=!1,t.pendingProps=r=i,0===(e.lanes&a))return t.lanes=e.lanes,js(e,t,a);0!==(131072&e.flags)&&(Ts=!0)}}return ws(e,t,n,r,a)}function ks(e,t,n){var r=t.pendingProps,a=r.children,i=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(0===(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Ca(Ll,Ol),Ol|=n;else{if(0===(1073741824&n))return e=null!==i?i.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Ca(Ll,Ol),Ol|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==i?i.baseLanes:n,Ca(Ll,Ol),Ol|=r}else null!==i?(r=i.baseLanes|n,t.memoizedState=null):r=n,Ca(Ll,Ol),Ol|=r;return Ss(e,t,a,n),t.child}function Cs(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function ws(e,t,n,r,a){var i=Oa(n)?Ra:Na.current;return i=xa(t,i),_i(t,a),n=_o(e,t,n,r,i,a),r=ko(),null===e||Ts?(ai&&r&&ei(t),t.flags|=1,Ss(e,t,n,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,js(e,t,a))}function Ns(e,t,n,r,a){if(Oa(n)){var i=!0;Ma(t)}else i=!1;if(_i(t,a),null===t.stateNode)$s(e,t),$i(t,n,r),Vi(t,n,r,a),r=!0;else if(null===e){var o=t.stateNode,s=t.memoizedProps;o.props=s;var l=o.context,c=n.contextType;"object"===typeof c&&null!==c?c=ki(c):c=xa(t,c=Oa(n)?Ra:Na.current);var u=n.getDerivedStateFromProps,d="function"===typeof u||"function"===typeof o.getSnapshotBeforeUpdate;d||"function"!==typeof o.UNSAFE_componentWillReceiveProps&&"function"!==typeof o.componentWillReceiveProps||(s!==r||l!==c)&&ji(t,o,r,c),Ri=!1;var p=t.memoizedState;o.state=p,Fi(t,r,o,a),l=t.memoizedState,s!==r||p!==l||Ia.current||Ri?("function"===typeof u&&(Hi(t,n,u,r),l=t.memoizedState),(s=Ri||zi(t,n,s,r,p,l,c))?(d||"function"!==typeof o.UNSAFE_componentWillMount&&"function"!==typeof o.componentWillMount||("function"===typeof o.componentWillMount&&o.componentWillMount(),"function"===typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount()),"function"===typeof o.componentDidMount&&(t.flags|=4194308)):("function"===typeof o.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),o.props=r,o.state=l,o.context=c,r=s):("function"===typeof o.componentDidMount&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,Oi(e,t),s=t.memoizedProps,c=t.type===t.elementType?s:hi(t.type,s),o.props=c,d=t.pendingProps,p=o.context,"object"===typeof(l=n.contextType)&&null!==l?l=ki(l):l=xa(t,l=Oa(n)?Ra:Na.current);var m=n.getDerivedStateFromProps;(u="function"===typeof m||"function"===typeof o.getSnapshotBeforeUpdate)||"function"!==typeof o.UNSAFE_componentWillReceiveProps&&"function"!==typeof o.componentWillReceiveProps||(s!==d||p!==l)&&ji(t,o,r,l),Ri=!1,p=t.memoizedState,o.state=p,Fi(t,r,o,a);var f=t.memoizedState;s!==d||p!==f||Ia.current||Ri?("function"===typeof m&&(Hi(t,n,m,r),f=t.memoizedState),(c=Ri||zi(t,n,c,r,p,f,l)||!1)?(u||"function"!==typeof o.UNSAFE_componentWillUpdate&&"function"!==typeof o.componentWillUpdate||("function"===typeof o.componentWillUpdate&&o.componentWillUpdate(r,f,l),"function"===typeof o.UNSAFE_componentWillUpdate&&o.UNSAFE_componentWillUpdate(r,f,l)),"function"===typeof o.componentDidUpdate&&(t.flags|=4),"function"===typeof o.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!==typeof o.componentDidUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!==typeof o.getSnapshotBeforeUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=f),o.props=r,o.state=f,o.context=l,r=c):("function"!==typeof o.componentDidUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!==typeof o.getSnapshotBeforeUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),r=!1)}return Is(e,t,n,r,i,a)}function Is(e,t,n,r,a,i){Cs(e,t);var o=0!==(128&t.flags);if(!r&&!o)return a&&Fa(t,n,!1),js(e,t,i);r=t.stateNode,ys.current=t;var s=o&&"function"!==typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&o?(t.child=Xi(t,e.child,null,i),t.child=Xi(t,null,s,i)):Ss(e,t,s,i),t.memoizedState=r.state,a&&Fa(t,n,!0),t.child}function Rs(e){var t=e.stateNode;t.pendingContext?Pa(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Pa(0,t.context,!1),ro(e,t.containerInfo)}function xs(e,t,n,r,a){return mi(),fi(a),t.flags|=256,Ss(e,t,n,r),t.child}var Os,Ls,Ps,Ds={dehydrated:null,treeContext:null,retryLane:0};function Ms(e){return{baseLanes:e,cachePool:null,transitions:null}}function Fs(e,t,n){var r,a=t.pendingProps,o=so.current,s=!1,l=0!==(128&t.flags);if((r=l)||(r=(null===e||null!==e.memoizedState)&&0!==(2&o)),r?(s=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(o|=1),Ca(so,1&o),null===e)return ci(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0===(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(l=a.children,e=a.fallback,s?(a=t.mode,s=t.child,l={mode:"hidden",children:l},0===(1&a)&&null!==s?(s.childLanes=0,s.pendingProps=l):s=Mc(l,a,0,null),e=Dc(e,a,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Ms(n),t.memoizedState=Ds,e):Us(t,l));if(null!==(o=e.memoizedState)&&null!==(r=o.dehydrated))return function(e,t,n,r,a,o,s){if(n)return 256&t.flags?(t.flags&=-257,Bs(e,t,s,r=ds(Error(i(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(o=r.fallback,a=t.mode,r=Mc({mode:"visible",children:r.children},a,0,null),(o=Dc(o,a,s,null)).flags|=2,r.return=t,o.return=t,r.sibling=o,t.child=r,0!==(1&t.mode)&&Xi(t,e.child,null,s),t.child.memoizedState=Ms(s),t.memoizedState=Ds,o);if(0===(1&t.mode))return Bs(e,t,s,null);if("$!"===a.data){if(r=a.nextSibling&&a.nextSibling.dataset)var l=r.dgst;return r=l,Bs(e,t,s,r=ds(o=Error(i(419)),r,void 0))}if(l=0!==(s&e.childLanes),Ts||l){if(null!==(r=Il)){switch(s&-s){case 4:a=2;break;case 16:a=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:a=32;break;case 536870912:a=268435456;break;default:a=0}0!==(a=0!==(a&(r.suspendedLanes|s))?0:a)&&a!==o.retryLane&&(o.retryLane=a,Ii(e,a),nc(r,e,a,-1))}return gc(),Bs(e,t,s,r=ds(Error(i(421))))}return"$?"===a.data?(t.flags|=128,t.child=e.child,t=wc.bind(null,e),a._reactRetry=t,null):(e=o.treeContext,ri=ca(a.nextSibling),ni=t,ai=!0,ii=null,null!==e&&(Ka[qa++]=Xa,Ka[qa++]=Za,Ka[qa++]=Ya,Xa=e.id,Za=e.overflow,Ya=t),(t=Us(t,r.children)).flags|=4096,t)}(e,t,l,a,r,o,n);if(s){s=a.fallback,l=t.mode,r=(o=e.child).sibling;var c={mode:"hidden",children:a.children};return 0===(1&l)&&t.child!==o?((a=t.child).childLanes=0,a.pendingProps=c,t.deletions=null):(a=Lc(o,c)).subtreeFlags=14680064&o.subtreeFlags,null!==r?s=Lc(r,s):(s=Dc(s,l,n,null)).flags|=2,s.return=t,a.return=t,a.sibling=s,t.child=a,a=s,s=t.child,l=null===(l=e.child.memoizedState)?Ms(n):{baseLanes:l.baseLanes|n,cachePool:null,transitions:l.transitions},s.memoizedState=l,s.childLanes=e.childLanes&~n,t.memoizedState=Ds,a}return e=(s=e.child).sibling,a=Lc(s,{mode:"visible",children:a.children}),0===(1&t.mode)&&(a.lanes=n),a.return=t,a.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=a,t.memoizedState=null,a}function Us(e,t){return(t=Mc({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Bs(e,t,n,r){return null!==r&&fi(r),Xi(t,e.child,null,n),(e=Us(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Hs(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),Ai(e.return,t,n)}function Gs(e,t,n,r,a){var i=e.memoizedState;null===i?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=a)}function zs(e,t,n){var r=t.pendingProps,a=r.revealOrder,i=r.tail;if(Ss(e,t,r.children,n),0!==(2&(r=so.current)))r=1&r|2,t.flags|=128;else{if(null!==e&&0!==(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Hs(e,n,t);else if(19===e.tag)Hs(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Ca(so,r),0===(1&t.mode))t.memoizedState=null;else switch(a){case"forwards":for(n=t.child,a=null;null!==n;)null!==(e=n.alternate)&&null===lo(e)&&(a=n),n=n.sibling;null===(n=a)?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),Gs(t,!1,a,n,i);break;case"backwards":for(n=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===lo(e)){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}Gs(t,!0,n,null,i);break;case"together":Gs(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function $s(e,t){0===(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function js(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Ml|=t.lanes,0===(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(i(153));if(null!==t.child){for(n=Lc(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Lc(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Vs(e,t){if(!ai)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Ws(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=14680064&a.subtreeFlags,r|=14680064&a.flags,a.return=e,a=a.sibling;else for(a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags,r|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Ks(e,t,n){var r=t.pendingProps;switch(ti(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ws(t),null;case 1:case 17:return Oa(t.type)&&La(),Ws(t),null;case 3:return r=t.stateNode,ao(),ka(Ia),ka(Na),uo(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(di(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0===(256&t.flags)||(t.flags|=1024,null!==ii&&(oc(ii),ii=null))),Ws(t),null;case 5:oo(t);var a=no(to.current);if(n=t.type,null!==e&&null!=t.stateNode)Ls(e,t,n,r),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(i(166));return Ws(t),null}if(e=no(Ji.current),di(t)){r=t.stateNode,n=t.type;var o=t.memoizedProps;switch(r[pa]=t,r[ma]=o,e=0!==(1&t.mode),n){case"dialog":Br("cancel",r),Br("close",r);break;case"iframe":case"object":case"embed":Br("load",r);break;case"video":case"audio":for(a=0;a<Dr.length;a++)Br(Dr[a],r);break;case"source":Br("error",r);break;case"img":case"image":case"link":Br("error",r),Br("load",r);break;case"details":Br("toggle",r);break;case"input":X(r,o),Br("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!o.multiple},Br("invalid",r);break;case"textarea":ae(r,o),Br("invalid",r)}for(var l in Ee(n,o),a=null,o)if(o.hasOwnProperty(l)){var c=o[l];"children"===l?"string"===typeof c?r.textContent!==c&&(!0!==o.suppressHydrationWarning&&Qr(r.textContent,c,e),a=["children",c]):"number"===typeof c&&r.textContent!==""+c&&(!0!==o.suppressHydrationWarning&&Qr(r.textContent,c,e),a=["children",""+c]):s.hasOwnProperty(l)&&null!=c&&"onScroll"===l&&Br("scroll",r)}switch(n){case"input":W(r),J(r,o,!0);break;case"textarea":W(r),oe(r);break;case"select":case"option":break;default:"function"===typeof o.onClick&&(r.onclick=Jr)}r=a,t.updateQueue=r,null!==r&&(t.flags|=4)}else{l=9===a.nodeType?a:a.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=se(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=l.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"===typeof r.is?e=l.createElement(n,{is:r.is}):(e=l.createElement(n),"select"===n&&(l=e,r.multiple?l.multiple=!0:r.size&&(l.size=r.size))):e=l.createElementNS(e,n),e[pa]=t,e[ma]=r,Os(e,t),t.stateNode=e;e:{switch(l=ye(n,r),n){case"dialog":Br("cancel",e),Br("close",e),a=r;break;case"iframe":case"object":case"embed":Br("load",e),a=r;break;case"video":case"audio":for(a=0;a<Dr.length;a++)Br(Dr[a],e);a=r;break;case"source":Br("error",e),a=r;break;case"img":case"image":case"link":Br("error",e),Br("load",e),a=r;break;case"details":Br("toggle",e),a=r;break;case"input":X(e,r),a=Y(e,r),Br("invalid",e);break;case"option":default:a=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},a=F({},r,{value:void 0}),Br("invalid",e);break;case"textarea":ae(e,r),a=re(e,r),Br("invalid",e)}for(o in Ee(n,a),c=a)if(c.hasOwnProperty(o)){var u=c[o];"style"===o?he(e,u):"dangerouslySetInnerHTML"===o?null!=(u=u?u.__html:void 0)&&de(e,u):"children"===o?"string"===typeof u?("textarea"!==n||""!==u)&&pe(e,u):"number"===typeof u&&pe(e,""+u):"suppressContentEditableWarning"!==o&&"suppressHydrationWarning"!==o&&"autoFocus"!==o&&(s.hasOwnProperty(o)?null!=u&&"onScroll"===o&&Br("scroll",e):null!=u&&y(e,o,u,l))}switch(n){case"input":W(e),J(e,r,!1);break;case"textarea":W(e),oe(e);break;case"option":null!=r.value&&e.setAttribute("value",""+j(r.value));break;case"select":e.multiple=!!r.multiple,null!=(o=r.value)?ne(e,!!r.multiple,o,!1):null!=r.defaultValue&&ne(e,!!r.multiple,r.defaultValue,!0);break;default:"function"===typeof a.onClick&&(e.onclick=Jr)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Ws(t),null;case 6:if(e&&null!=t.stateNode)Ps(0,t,e.memoizedProps,r);else{if("string"!==typeof r&&null===t.stateNode)throw Error(i(166));if(n=no(to.current),no(Ji.current),di(t)){if(r=t.stateNode,n=t.memoizedProps,r[pa]=t,(o=r.nodeValue!==n)&&null!==(e=ni))switch(e.tag){case 3:Qr(r.nodeValue,n,0!==(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Qr(r.nodeValue,n,0!==(1&e.mode))}o&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[pa]=t,t.stateNode=r}return Ws(t),null;case 13:if(ka(so),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(ai&&null!==ri&&0!==(1&t.mode)&&0===(128&t.flags))pi(),mi(),t.flags|=98560,o=!1;else if(o=di(t),null!==r&&null!==r.dehydrated){if(null===e){if(!o)throw Error(i(318));if(!(o=null!==(o=t.memoizedState)?o.dehydrated:null))throw Error(i(317));o[pa]=t}else mi(),0===(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Ws(t),o=!1}else null!==ii&&(oc(ii),ii=null),o=!0;if(!o)return 65536&t.flags?t:null}return 0!==(128&t.flags)?(t.lanes=n,t):((r=null!==r)!==(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,0!==(1&t.mode)&&(null===e||0!==(1&so.current)?0===Pl&&(Pl=3):gc())),null!==t.updateQueue&&(t.flags|=4),Ws(t),null);case 4:return ao(),null===e&&zr(t.stateNode.containerInfo),Ws(t),null;case 10:return vi(t.type._context),Ws(t),null;case 19:if(ka(so),null===(o=t.memoizedState))return Ws(t),null;if(r=0!==(128&t.flags),null===(l=o.rendering))if(r)Vs(o,!1);else{if(0!==Pl||null!==e&&0!==(128&e.flags))for(e=t.child;null!==e;){if(null!==(l=lo(e))){for(t.flags|=128,Vs(o,!1),null!==(r=l.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)e=r,(o=n).flags&=14680066,null===(l=o.alternate)?(o.childLanes=0,o.lanes=e,o.child=null,o.subtreeFlags=0,o.memoizedProps=null,o.memoizedState=null,o.updateQueue=null,o.dependencies=null,o.stateNode=null):(o.childLanes=l.childLanes,o.lanes=l.lanes,o.child=l.child,o.subtreeFlags=0,o.deletions=null,o.memoizedProps=l.memoizedProps,o.memoizedState=l.memoizedState,o.updateQueue=l.updateQueue,o.type=l.type,e=l.dependencies,o.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Ca(so,1&so.current|2),t.child}e=e.sibling}null!==o.tail&&Ze()>zl&&(t.flags|=128,r=!0,Vs(o,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=lo(l))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Vs(o,!0),null===o.tail&&"hidden"===o.tailMode&&!l.alternate&&!ai)return Ws(t),null}else 2*Ze()-o.renderingStartTime>zl&&1073741824!==n&&(t.flags|=128,r=!0,Vs(o,!1),t.lanes=4194304);o.isBackwards?(l.sibling=t.child,t.child=l):(null!==(n=o.last)?n.sibling=l:t.child=l,o.last=l)}return null!==o.tail?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Ze(),t.sibling=null,n=so.current,Ca(so,r?1&n|2:1&n),t):(Ws(t),null);case 22:case 23:return dc(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&0!==(1&t.mode)?0!==(1073741824&Ol)&&(Ws(t),6&t.subtreeFlags&&(t.flags|=8192)):Ws(t),null;case 24:case 25:return null}throw Error(i(156,t.tag))}function qs(e,t){switch(ti(t),t.tag){case 1:return Oa(t.type)&&La(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return ao(),ka(Ia),ka(Na),uo(),0!==(65536&(e=t.flags))&&0===(128&e)?(t.flags=-65537&e|128,t):null;case 5:return oo(t),null;case 13:if(ka(so),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(i(340));mi()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return ka(so),null;case 4:return ao(),null;case 10:return vi(t.type._context),null;case 22:case 23:return dc(),null;default:return null}}Os=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Ls=function(e,t,n,r){var a=e.memoizedProps;if(a!==r){e=t.stateNode,no(Ji.current);var i,o=null;switch(n){case"input":a=Y(e,a),r=Y(e,r),o=[];break;case"select":a=F({},a,{value:void 0}),r=F({},r,{value:void 0}),o=[];break;case"textarea":a=re(e,a),r=re(e,r),o=[];break;default:"function"!==typeof a.onClick&&"function"===typeof r.onClick&&(e.onclick=Jr)}for(u in Ee(n,r),n=null,a)if(!r.hasOwnProperty(u)&&a.hasOwnProperty(u)&&null!=a[u])if("style"===u){var l=a[u];for(i in l)l.hasOwnProperty(i)&&(n||(n={}),n[i]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(s.hasOwnProperty(u)?o||(o=[]):(o=o||[]).push(u,null));for(u in r){var c=r[u];if(l=null!=a?a[u]:void 0,r.hasOwnProperty(u)&&c!==l&&(null!=c||null!=l))if("style"===u)if(l){for(i in l)!l.hasOwnProperty(i)||c&&c.hasOwnProperty(i)||(n||(n={}),n[i]="");for(i in c)c.hasOwnProperty(i)&&l[i]!==c[i]&&(n||(n={}),n[i]=c[i])}else n||(o||(o=[]),o.push(u,n)),n=c;else"dangerouslySetInnerHTML"===u?(c=c?c.__html:void 0,l=l?l.__html:void 0,null!=c&&l!==c&&(o=o||[]).push(u,c)):"children"===u?"string"!==typeof c&&"number"!==typeof c||(o=o||[]).push(u,""+c):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(s.hasOwnProperty(u)?(null!=c&&"onScroll"===u&&Br("scroll",e),o||l===c||(o=[])):(o=o||[]).push(u,c))}n&&(o=o||[]).push("style",n);var u=o;(t.updateQueue=u)&&(t.flags|=4)}},Ps=function(e,t,n,r){n!==r&&(t.flags|=4)};var Ys=!1,Xs=!1,Zs="function"===typeof WeakSet?WeakSet:Set,Qs=null;function Js(e,t){var n=e.ref;if(null!==n)if("function"===typeof n)try{n(null)}catch(r){_c(e,t,r)}else n.current=null}function el(e,t,n){try{n()}catch(r){_c(e,t,r)}}var tl=!1;function nl(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var a=r=r.next;do{if((a.tag&e)===e){var i=a.destroy;a.destroy=void 0,void 0!==i&&el(t,n,i)}a=a.next}while(a!==r)}}function rl(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function al(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"===typeof t?t(e):t.current=e}}function il(e){var t=e.alternate;null!==t&&(e.alternate=null,il(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[pa],delete t[ma],delete t[ga],delete t[ha],delete t[ba])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ol(e){return 5===e.tag||3===e.tag||4===e.tag}function sl(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||ol(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function ll(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!==(n=n._reactRootContainer)&&void 0!==n||null!==t.onclick||(t.onclick=Jr));else if(4!==r&&null!==(e=e.child))for(ll(e,t,n),e=e.sibling;null!==e;)ll(e,t,n),e=e.sibling}function cl(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(cl(e,t,n),e=e.sibling;null!==e;)cl(e,t,n),e=e.sibling}var ul=null,dl=!1;function pl(e,t,n){for(n=n.child;null!==n;)ml(e,t,n),n=n.sibling}function ml(e,t,n){if(it&&"function"===typeof it.onCommitFiberUnmount)try{it.onCommitFiberUnmount(at,n)}catch(s){}switch(n.tag){case 5:Xs||Js(n,t);case 6:var r=ul,a=dl;ul=null,pl(e,t,n),dl=a,null!==(ul=r)&&(dl?(e=ul,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):ul.removeChild(n.stateNode));break;case 18:null!==ul&&(dl?(e=ul,n=n.stateNode,8===e.nodeType?la(e.parentNode,n):1===e.nodeType&&la(e,n),zt(e)):la(ul,n.stateNode));break;case 4:r=ul,a=dl,ul=n.stateNode.containerInfo,dl=!0,pl(e,t,n),ul=r,dl=a;break;case 0:case 11:case 14:case 15:if(!Xs&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){a=r=r.next;do{var i=a,o=i.destroy;i=i.tag,void 0!==o&&(0!==(2&i)||0!==(4&i))&&el(n,t,o),a=a.next}while(a!==r)}pl(e,t,n);break;case 1:if(!Xs&&(Js(n,t),"function"===typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){_c(n,t,s)}pl(e,t,n);break;case 21:pl(e,t,n);break;case 22:1&n.mode?(Xs=(r=Xs)||null!==n.memoizedState,pl(e,t,n),Xs=r):pl(e,t,n);break;default:pl(e,t,n)}}function fl(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Zs),t.forEach((function(t){var r=Nc.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function gl(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var a=n[r];try{var o=e,s=t,l=s;e:for(;null!==l;){switch(l.tag){case 5:ul=l.stateNode,dl=!1;break e;case 3:case 4:ul=l.stateNode.containerInfo,dl=!0;break e}l=l.return}if(null===ul)throw Error(i(160));ml(o,s,a),ul=null,dl=!1;var c=a.alternate;null!==c&&(c.return=null),a.return=null}catch(u){_c(a,t,u)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)hl(t,e),t=t.sibling}function hl(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(gl(t,e),bl(e),4&r){try{nl(3,e,e.return),rl(3,e)}catch(h){_c(e,e.return,h)}try{nl(5,e,e.return)}catch(h){_c(e,e.return,h)}}break;case 1:gl(t,e),bl(e),512&r&&null!==n&&Js(n,n.return);break;case 5:if(gl(t,e),bl(e),512&r&&null!==n&&Js(n,n.return),32&e.flags){var a=e.stateNode;try{pe(a,"")}catch(h){_c(e,e.return,h)}}if(4&r&&null!=(a=e.stateNode)){var o=e.memoizedProps,s=null!==n?n.memoizedProps:o,l=e.type,c=e.updateQueue;if(e.updateQueue=null,null!==c)try{"input"===l&&"radio"===o.type&&null!=o.name&&Z(a,o),ye(l,s);var u=ye(l,o);for(s=0;s<c.length;s+=2){var d=c[s],p=c[s+1];"style"===d?he(a,p):"dangerouslySetInnerHTML"===d?de(a,p):"children"===d?pe(a,p):y(a,d,p,u)}switch(l){case"input":Q(a,o);break;case"textarea":ie(a,o);break;case"select":var m=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!o.multiple;var f=o.value;null!=f?ne(a,!!o.multiple,f,!1):m!==!!o.multiple&&(null!=o.defaultValue?ne(a,!!o.multiple,o.defaultValue,!0):ne(a,!!o.multiple,o.multiple?[]:"",!1))}a[ma]=o}catch(h){_c(e,e.return,h)}}break;case 6:if(gl(t,e),bl(e),4&r){if(null===e.stateNode)throw Error(i(162));a=e.stateNode,o=e.memoizedProps;try{a.nodeValue=o}catch(h){_c(e,e.return,h)}}break;case 3:if(gl(t,e),bl(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{zt(t.containerInfo)}catch(h){_c(e,e.return,h)}break;case 4:default:gl(t,e),bl(e);break;case 13:gl(t,e),bl(e),8192&(a=e.child).flags&&(o=null!==a.memoizedState,a.stateNode.isHidden=o,!o||null!==a.alternate&&null!==a.alternate.memoizedState||(Gl=Ze())),4&r&&fl(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Xs=(u=Xs)||d,gl(t,e),Xs=u):gl(t,e),bl(e),8192&r){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!d&&0!==(1&e.mode))for(Qs=e,d=e.child;null!==d;){for(p=Qs=d;null!==Qs;){switch(f=(m=Qs).child,m.tag){case 0:case 11:case 14:case 15:nl(4,m,m.return);break;case 1:Js(m,m.return);var g=m.stateNode;if("function"===typeof g.componentWillUnmount){r=m,n=m.return;try{t=r,g.props=t.memoizedProps,g.state=t.memoizedState,g.componentWillUnmount()}catch(h){_c(r,n,h)}}break;case 5:Js(m,m.return);break;case 22:if(null!==m.memoizedState){Sl(p);continue}}null!==f?(f.return=m,Qs=f):Sl(p)}d=d.sibling}e:for(d=null,p=e;;){if(5===p.tag){if(null===d){d=p;try{a=p.stateNode,u?"function"===typeof(o=a.style).setProperty?o.setProperty("display","none","important"):o.display="none":(l=p.stateNode,s=void 0!==(c=p.memoizedProps.style)&&null!==c&&c.hasOwnProperty("display")?c.display:null,l.style.display=ge("display",s))}catch(h){_c(e,e.return,h)}}}else if(6===p.tag){if(null===d)try{p.stateNode.nodeValue=u?"":p.memoizedProps}catch(h){_c(e,e.return,h)}}else if((22!==p.tag&&23!==p.tag||null===p.memoizedState||p===e)&&null!==p.child){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;null===p.sibling;){if(null===p.return||p.return===e)break e;d===p&&(d=null),p=p.return}d===p&&(d=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:gl(t,e),bl(e),4&r&&fl(e);case 21:}}function bl(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(ol(n)){var r=n;break e}n=n.return}throw Error(i(160))}switch(r.tag){case 5:var a=r.stateNode;32&r.flags&&(pe(a,""),r.flags&=-33),cl(e,sl(e),a);break;case 3:case 4:var o=r.stateNode.containerInfo;ll(e,sl(e),o);break;default:throw Error(i(161))}}catch(s){_c(e,e.return,s)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function El(e,t,n){Qs=e,yl(e,t,n)}function yl(e,t,n){for(var r=0!==(1&e.mode);null!==Qs;){var a=Qs,i=a.child;if(22===a.tag&&r){var o=null!==a.memoizedState||Ys;if(!o){var s=a.alternate,l=null!==s&&null!==s.memoizedState||Xs;s=Ys;var c=Xs;if(Ys=o,(Xs=l)&&!c)for(Qs=a;null!==Qs;)l=(o=Qs).child,22===o.tag&&null!==o.memoizedState?vl(a):null!==l?(l.return=o,Qs=l):vl(a);for(;null!==i;)Qs=i,yl(i,t,n),i=i.sibling;Qs=a,Ys=s,Xs=c}Tl(e)}else 0!==(8772&a.subtreeFlags)&&null!==i?(i.return=a,Qs=i):Tl(e)}}function Tl(e){for(;null!==Qs;){var t=Qs;if(0!==(8772&t.flags)){var n=t.alternate;try{if(0!==(8772&t.flags))switch(t.tag){case 0:case 11:case 15:Xs||rl(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!Xs)if(null===n)r.componentDidMount();else{var a=t.elementType===t.type?n.memoizedProps:hi(t.type,n.memoizedProps);r.componentDidUpdate(a,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var o=t.updateQueue;null!==o&&Ui(t,o,r);break;case 3:var s=t.updateQueue;if(null!==s){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}Ui(t,s,n)}break;case 5:var l=t.stateNode;if(null===n&&4&t.flags){n=l;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&n.focus();break;case"img":c.src&&(n.src=c.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var d=u.memoizedState;if(null!==d){var p=d.dehydrated;null!==p&&zt(p)}}}break;default:throw Error(i(163))}Xs||512&t.flags&&al(t)}catch(m){_c(t,t.return,m)}}if(t===e){Qs=null;break}if(null!==(n=t.sibling)){n.return=t.return,Qs=n;break}Qs=t.return}}function Sl(e){for(;null!==Qs;){var t=Qs;if(t===e){Qs=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Qs=n;break}Qs=t.return}}function vl(e){for(;null!==Qs;){var t=Qs;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{rl(4,t)}catch(l){_c(t,n,l)}break;case 1:var r=t.stateNode;if("function"===typeof r.componentDidMount){var a=t.return;try{r.componentDidMount()}catch(l){_c(t,a,l)}}var i=t.return;try{al(t)}catch(l){_c(t,i,l)}break;case 5:var o=t.return;try{al(t)}catch(l){_c(t,o,l)}}}catch(l){_c(t,t.return,l)}if(t===e){Qs=null;break}var s=t.sibling;if(null!==s){s.return=t.return,Qs=s;break}Qs=t.return}}var Al,_l=Math.ceil,kl=T.ReactCurrentDispatcher,Cl=T.ReactCurrentOwner,wl=T.ReactCurrentBatchConfig,Nl=0,Il=null,Rl=null,xl=0,Ol=0,Ll=_a(0),Pl=0,Dl=null,Ml=0,Fl=0,Ul=0,Bl=null,Hl=null,Gl=0,zl=1/0,$l=null,jl=!1,Vl=null,Wl=null,Kl=!1,ql=null,Yl=0,Xl=0,Zl=null,Ql=-1,Jl=0;function ec(){return 0!==(6&Nl)?Ze():-1!==Ql?Ql:Ql=Ze()}function tc(e){return 0===(1&e.mode)?1:0!==(2&Nl)&&0!==xl?xl&-xl:null!==gi.transition?(0===Jl&&(Jl=gt()),Jl):0!==(e=yt)?e:e=void 0===(e=window.event)?16:Xt(e.type)}function nc(e,t,n,r){if(50<Xl)throw Xl=0,Zl=null,Error(i(185));bt(e,n,r),0!==(2&Nl)&&e===Il||(e===Il&&(0===(2&Nl)&&(Fl|=n),4===Pl&&sc(e,xl)),rc(e,r),1===n&&0===Nl&&0===(1&t.mode)&&(zl=Ze()+500,Ba&&za()))}function rc(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,i=e.pendingLanes;0<i;){var o=31-ot(i),s=1<<o,l=a[o];-1===l?0!==(s&n)&&0===(s&r)||(a[o]=mt(s,t)):l<=t&&(e.expiredLanes|=s),i&=~s}}(e,t);var r=pt(e,e===Il?xl:0);if(0===r)null!==n&&qe(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&qe(n),1===t)0===e.tag?function(e){Ba=!0,Ga(e)}(lc.bind(null,e)):Ga(lc.bind(null,e)),oa((function(){0===(6&Nl)&&za()})),n=null;else{switch(Tt(r)){case 1:n=Je;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=rt}n=Ic(n,ac.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function ac(e,t){if(Ql=-1,Jl=0,0!==(6&Nl))throw Error(i(327));var n=e.callbackNode;if(vc()&&e.callbackNode!==n)return null;var r=pt(e,e===Il?xl:0);if(0===r)return null;if(0!==(30&r)||0!==(r&e.expiredLanes)||t)t=hc(e,r);else{t=r;var a=Nl;Nl|=2;var o=fc();for(Il===e&&xl===t||($l=null,zl=Ze()+500,pc(e,t));;)try{Ec();break}catch(l){mc(e,l)}Si(),kl.current=o,Nl=a,null!==Rl?t=0:(Il=null,xl=0,t=Pl)}if(0!==t){if(2===t&&(0!==(a=ft(e))&&(r=a,t=ic(e,a))),1===t)throw n=Dl,pc(e,0),sc(e,r),rc(e,Ze()),n;if(6===t)sc(e,r);else{if(a=e.current.alternate,0===(30&r)&&!function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var a=n[r],i=a.getSnapshot;a=a.value;try{if(!sr(i(),a))return!1}catch(s){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(a)&&(2===(t=hc(e,r))&&(0!==(o=ft(e))&&(r=o,t=ic(e,o))),1===t))throw n=Dl,pc(e,0),sc(e,r),rc(e,Ze()),n;switch(e.finishedWork=a,e.finishedLanes=r,t){case 0:case 1:throw Error(i(345));case 2:case 5:Sc(e,Hl,$l);break;case 3:if(sc(e,r),(130023424&r)===r&&10<(t=Gl+500-Ze())){if(0!==pt(e,0))break;if(((a=e.suspendedLanes)&r)!==r){ec(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=ra(Sc.bind(null,e,Hl,$l),t);break}Sc(e,Hl,$l);break;case 4:if(sc(e,r),(4194240&r)===r)break;for(t=e.eventTimes,a=-1;0<r;){var s=31-ot(r);o=1<<s,(s=t[s])>a&&(a=s),r&=~o}if(r=a,10<(r=(120>(r=Ze()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*_l(r/1960))-r)){e.timeoutHandle=ra(Sc.bind(null,e,Hl,$l),r);break}Sc(e,Hl,$l);break;default:throw Error(i(329))}}}return rc(e,Ze()),e.callbackNode===n?ac.bind(null,e):null}function ic(e,t){var n=Bl;return e.current.memoizedState.isDehydrated&&(pc(e,t).flags|=256),2!==(e=hc(e,t))&&(t=Hl,Hl=n,null!==t&&oc(t)),e}function oc(e){null===Hl?Hl=e:Hl.push.apply(Hl,e)}function sc(e,t){for(t&=~Ul,t&=~Fl,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-ot(t),r=1<<n;e[n]=-1,t&=~r}}function lc(e){if(0!==(6&Nl))throw Error(i(327));vc();var t=pt(e,0);if(0===(1&t))return rc(e,Ze()),null;var n=hc(e,t);if(0!==e.tag&&2===n){var r=ft(e);0!==r&&(t=r,n=ic(e,r))}if(1===n)throw n=Dl,pc(e,0),sc(e,t),rc(e,Ze()),n;if(6===n)throw Error(i(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Sc(e,Hl,$l),rc(e,Ze()),null}function cc(e,t){var n=Nl;Nl|=1;try{return e(t)}finally{0===(Nl=n)&&(zl=Ze()+500,Ba&&za())}}function uc(e){null!==ql&&0===ql.tag&&0===(6&Nl)&&vc();var t=Nl;Nl|=1;var n=wl.transition,r=yt;try{if(wl.transition=null,yt=1,e)return e()}finally{yt=r,wl.transition=n,0===(6&(Nl=t))&&za()}}function dc(){Ol=Ll.current,ka(Ll)}function pc(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,aa(n)),null!==Rl)for(n=Rl.return;null!==n;){var r=n;switch(ti(r),r.tag){case 1:null!==(r=r.type.childContextTypes)&&void 0!==r&&La();break;case 3:ao(),ka(Ia),ka(Na),uo();break;case 5:oo(r);break;case 4:ao();break;case 13:case 19:ka(so);break;case 10:vi(r.type._context);break;case 22:case 23:dc()}n=n.return}if(Il=e,Rl=e=Lc(e.current,null),xl=Ol=t,Pl=0,Dl=null,Ul=Fl=Ml=0,Hl=Bl=null,null!==Ci){for(t=0;t<Ci.length;t++)if(null!==(r=(n=Ci[t]).interleaved)){n.interleaved=null;var a=r.next,i=n.pending;if(null!==i){var o=i.next;i.next=a,r.next=o}n.pending=r}Ci=null}return e}function mc(e,t){for(;;){var n=Rl;try{if(Si(),po.current=os,Eo){for(var r=go.memoizedState;null!==r;){var a=r.queue;null!==a&&(a.pending=null),r=r.next}Eo=!1}if(fo=0,bo=ho=go=null,yo=!1,To=0,Cl.current=null,null===n||null===n.return){Pl=1,Dl=t,Rl=null;break}e:{var o=e,s=n.return,l=n,c=t;if(t=xl,l.flags|=32768,null!==c&&"object"===typeof c&&"function"===typeof c.then){var u=c,d=l,p=d.tag;if(0===(1&d.mode)&&(0===p||11===p||15===p)){var m=d.alternate;m?(d.updateQueue=m.updateQueue,d.memoizedState=m.memoizedState,d.lanes=m.lanes):(d.updateQueue=null,d.memoizedState=null)}var f=bs(s);if(null!==f){f.flags&=-257,Es(f,s,l,0,t),1&f.mode&&hs(o,u,t),c=u;var g=(t=f).updateQueue;if(null===g){var h=new Set;h.add(c),t.updateQueue=h}else g.add(c);break e}if(0===(1&t)){hs(o,u,t),gc();break e}c=Error(i(426))}else if(ai&&1&l.mode){var b=bs(s);if(null!==b){0===(65536&b.flags)&&(b.flags|=256),Es(b,s,l,0,t),fi(us(c,l));break e}}o=c=us(c,l),4!==Pl&&(Pl=2),null===Bl?Bl=[o]:Bl.push(o),o=s;do{switch(o.tag){case 3:o.flags|=65536,t&=-t,o.lanes|=t,Mi(o,fs(0,c,t));break e;case 1:l=c;var E=o.type,y=o.stateNode;if(0===(128&o.flags)&&("function"===typeof E.getDerivedStateFromError||null!==y&&"function"===typeof y.componentDidCatch&&(null===Wl||!Wl.has(y)))){o.flags|=65536,t&=-t,o.lanes|=t,Mi(o,gs(o,l,t));break e}}o=o.return}while(null!==o)}Tc(n)}catch(T){t=T,Rl===n&&null!==n&&(Rl=n=n.return);continue}break}}function fc(){var e=kl.current;return kl.current=os,null===e?os:e}function gc(){0!==Pl&&3!==Pl&&2!==Pl||(Pl=4),null===Il||0===(268435455&Ml)&&0===(268435455&Fl)||sc(Il,xl)}function hc(e,t){var n=Nl;Nl|=2;var r=fc();for(Il===e&&xl===t||($l=null,pc(e,t));;)try{bc();break}catch(a){mc(e,a)}if(Si(),Nl=n,kl.current=r,null!==Rl)throw Error(i(261));return Il=null,xl=0,Pl}function bc(){for(;null!==Rl;)yc(Rl)}function Ec(){for(;null!==Rl&&!Ye();)yc(Rl)}function yc(e){var t=Al(e.alternate,e,Ol);e.memoizedProps=e.pendingProps,null===t?Tc(e):Rl=t,Cl.current=null}function Tc(e){var t=e;do{var n=t.alternate;if(e=t.return,0===(32768&t.flags)){if(null!==(n=Ks(n,t,Ol)))return void(Rl=n)}else{if(null!==(n=qs(n,t)))return n.flags&=32767,void(Rl=n);if(null===e)return Pl=6,void(Rl=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}if(null!==(t=t.sibling))return void(Rl=t);Rl=t=e}while(null!==t);0===Pl&&(Pl=5)}function Sc(e,t,n){var r=yt,a=wl.transition;try{wl.transition=null,yt=1,function(e,t,n,r){do{vc()}while(null!==ql);if(0!==(6&Nl))throw Error(i(327));n=e.finishedWork;var a=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(i(177));e.callbackNode=null,e.callbackPriority=0;var o=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var a=31-ot(n),i=1<<a;t[a]=0,r[a]=-1,e[a]=-1,n&=~i}}(e,o),e===Il&&(Rl=Il=null,xl=0),0===(2064&n.subtreeFlags)&&0===(2064&n.flags)||Kl||(Kl=!0,Ic(tt,(function(){return vc(),null}))),o=0!==(15990&n.flags),0!==(15990&n.subtreeFlags)||o){o=wl.transition,wl.transition=null;var s=yt;yt=1;var l=Nl;Nl|=4,Cl.current=null,function(e,t){if(ea=jt,mr(e=pr())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch(S){n=null;break e}var s=0,l=-1,c=-1,u=0,d=0,p=e,m=null;t:for(;;){for(var f;p!==n||0!==a&&3!==p.nodeType||(l=s+a),p!==o||0!==r&&3!==p.nodeType||(c=s+r),3===p.nodeType&&(s+=p.nodeValue.length),null!==(f=p.firstChild);)m=p,p=f;for(;;){if(p===e)break t;if(m===n&&++u===a&&(l=s),m===o&&++d===r&&(c=s),null!==(f=p.nextSibling))break;m=(p=m).parentNode}p=f}n=-1===l||-1===c?null:{start:l,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(ta={focusedElem:e,selectionRange:n},jt=!1,Qs=t;null!==Qs;)if(e=(t=Qs).child,0!==(1028&t.subtreeFlags)&&null!==e)e.return=t,Qs=e;else for(;null!==Qs;){t=Qs;try{var g=t.alternate;if(0!==(1024&t.flags))switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==g){var h=g.memoizedProps,b=g.memoizedState,E=t.stateNode,y=E.getSnapshotBeforeUpdate(t.elementType===t.type?h:hi(t.type,h),b);E.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var T=t.stateNode.containerInfo;1===T.nodeType?T.textContent="":9===T.nodeType&&T.documentElement&&T.removeChild(T.documentElement);break;default:throw Error(i(163))}}catch(S){_c(t,t.return,S)}if(null!==(e=t.sibling)){e.return=t.return,Qs=e;break}Qs=t.return}g=tl,tl=!1}(e,n),hl(n,e),fr(ta),jt=!!ea,ta=ea=null,e.current=n,El(n,e,a),Xe(),Nl=l,yt=s,wl.transition=o}else e.current=n;if(Kl&&(Kl=!1,ql=e,Yl=a),0===(o=e.pendingLanes)&&(Wl=null),function(e){if(it&&"function"===typeof it.onCommitFiberRoot)try{it.onCommitFiberRoot(at,e,void 0,128===(128&e.current.flags))}catch(t){}}(n.stateNode),rc(e,Ze()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)r((a=t[n]).value,{componentStack:a.stack,digest:a.digest});if(jl)throw jl=!1,e=Vl,Vl=null,e;0!==(1&Yl)&&0!==e.tag&&vc(),0!==(1&(o=e.pendingLanes))?e===Zl?Xl++:(Xl=0,Zl=e):Xl=0,za()}(e,t,n,r)}finally{wl.transition=a,yt=r}return null}function vc(){if(null!==ql){var e=Tt(Yl),t=wl.transition,n=yt;try{if(wl.transition=null,yt=16>e?16:e,null===ql)var r=!1;else{if(e=ql,ql=null,Yl=0,0!==(6&Nl))throw Error(i(331));var a=Nl;for(Nl|=4,Qs=e.current;null!==Qs;){var o=Qs,s=o.child;if(0!==(16&Qs.flags)){var l=o.deletions;if(null!==l){for(var c=0;c<l.length;c++){var u=l[c];for(Qs=u;null!==Qs;){var d=Qs;switch(d.tag){case 0:case 11:case 15:nl(8,d,o)}var p=d.child;if(null!==p)p.return=d,Qs=p;else for(;null!==Qs;){var m=(d=Qs).sibling,f=d.return;if(il(d),d===u){Qs=null;break}if(null!==m){m.return=f,Qs=m;break}Qs=f}}}var g=o.alternate;if(null!==g){var h=g.child;if(null!==h){g.child=null;do{var b=h.sibling;h.sibling=null,h=b}while(null!==h)}}Qs=o}}if(0!==(2064&o.subtreeFlags)&&null!==s)s.return=o,Qs=s;else e:for(;null!==Qs;){if(0!==(2048&(o=Qs).flags))switch(o.tag){case 0:case 11:case 15:nl(9,o,o.return)}var E=o.sibling;if(null!==E){E.return=o.return,Qs=E;break e}Qs=o.return}}var y=e.current;for(Qs=y;null!==Qs;){var T=(s=Qs).child;if(0!==(2064&s.subtreeFlags)&&null!==T)T.return=s,Qs=T;else e:for(s=y;null!==Qs;){if(0!==(2048&(l=Qs).flags))try{switch(l.tag){case 0:case 11:case 15:rl(9,l)}}catch(v){_c(l,l.return,v)}if(l===s){Qs=null;break e}var S=l.sibling;if(null!==S){S.return=l.return,Qs=S;break e}Qs=l.return}}if(Nl=a,za(),it&&"function"===typeof it.onPostCommitFiberRoot)try{it.onPostCommitFiberRoot(at,e)}catch(v){}r=!0}return r}finally{yt=n,wl.transition=t}}return!1}function Ac(e,t,n){e=Pi(e,t=fs(0,t=us(n,t),1),1),t=ec(),null!==e&&(bt(e,1,t),rc(e,t))}function _c(e,t,n){if(3===e.tag)Ac(e,e,n);else for(;null!==t;){if(3===t.tag){Ac(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"===typeof t.type.getDerivedStateFromError||"function"===typeof r.componentDidCatch&&(null===Wl||!Wl.has(r))){t=Pi(t,e=gs(t,e=us(n,e),1),1),e=ec(),null!==t&&(bt(t,1,e),rc(t,e));break}}t=t.return}}function kc(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=ec(),e.pingedLanes|=e.suspendedLanes&n,Il===e&&(xl&n)===n&&(4===Pl||3===Pl&&(130023424&xl)===xl&&500>Ze()-Gl?pc(e,0):Ul|=n),rc(e,t)}function Cc(e,t){0===t&&(0===(1&e.mode)?t=1:(t=ut,0===(130023424&(ut<<=1))&&(ut=4194304)));var n=ec();null!==(e=Ii(e,t))&&(bt(e,t,n),rc(e,n))}function wc(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Cc(e,n)}function Nc(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,a=e.memoizedState;null!==a&&(n=a.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(i(314))}null!==r&&r.delete(t),Cc(e,n)}function Ic(e,t){return Ke(e,t)}function Rc(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function xc(e,t,n,r){return new Rc(e,t,n,r)}function Oc(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Lc(e,t){var n=e.alternate;return null===n?((n=xc(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Pc(e,t,n,r,a,o){var s=2;if(r=e,"function"===typeof e)Oc(e)&&(s=1);else if("string"===typeof e)s=5;else e:switch(e){case A:return Dc(n.children,a,o,t);case _:s=8,a|=8;break;case k:return(e=xc(12,n,t,2|a)).elementType=k,e.lanes=o,e;case I:return(e=xc(13,n,t,a)).elementType=I,e.lanes=o,e;case R:return(e=xc(19,n,t,a)).elementType=R,e.lanes=o,e;case L:return Mc(n,a,o,t);default:if("object"===typeof e&&null!==e)switch(e.$$typeof){case C:s=10;break e;case w:s=9;break e;case N:s=11;break e;case x:s=14;break e;case O:s=16,r=null;break e}throw Error(i(130,null==e?e:typeof e,""))}return(t=xc(s,n,t,a)).elementType=e,t.type=r,t.lanes=o,t}function Dc(e,t,n,r){return(e=xc(7,e,r,t)).lanes=n,e}function Mc(e,t,n,r){return(e=xc(22,e,r,t)).elementType=L,e.lanes=n,e.stateNode={isHidden:!1},e}function Fc(e,t,n){return(e=xc(6,e,null,t)).lanes=n,e}function Uc(e,t,n){return(t=xc(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Bc(e,t,n,r,a){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ht(0),this.expirationTimes=ht(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ht(0),this.identifierPrefix=r,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function Hc(e,t,n,r,a,i,o,s,l){return e=new Bc(e,t,n,s,l),1===t?(t=1,!0===i&&(t|=8)):t=0,i=xc(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},xi(i),e}function Gc(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:v,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}function zc(e){if(!e)return wa;e:{if(ze(e=e._reactInternals)!==e||1!==e.tag)throw Error(i(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Oa(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(i(171))}if(1===e.tag){var n=e.type;if(Oa(n))return Da(e,n,t)}return t}function $c(e,t,n,r,a,i,o,s,l){return(e=Hc(n,r,!0,e,0,i,0,s,l)).context=zc(null),n=e.current,(i=Li(r=ec(),a=tc(n))).callback=void 0!==t&&null!==t?t:null,Pi(n,i,a),e.current.lanes=a,bt(e,a,r),rc(e,r),e}function jc(e,t,n,r){var a=t.current,i=ec(),o=tc(a);return n=zc(n),null===t.context?t.context=n:t.pendingContext=n,(t=Li(i,o)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=Pi(a,t,o))&&(nc(e,a,o,i),Di(e,a,o)),o}function Vc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Wc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Kc(e,t){Wc(e,t),(e=e.alternate)&&Wc(e,t)}Al=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||Ia.current)Ts=!0;else{if(0===(e.lanes&n)&&0===(128&t.flags))return Ts=!1,function(e,t,n){switch(t.tag){case 3:Rs(t),mi();break;case 5:io(t);break;case 1:Oa(t.type)&&Ma(t);break;case 4:ro(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,a=t.memoizedProps.value;Ca(bi,r._currentValue),r._currentValue=a;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(Ca(so,1&so.current),t.flags|=128,null):0!==(n&t.child.childLanes)?Fs(e,t,n):(Ca(so,1&so.current),null!==(e=js(e,t,n))?e.sibling:null);Ca(so,1&so.current);break;case 19:if(r=0!==(n&t.childLanes),0!==(128&e.flags)){if(r)return zs(e,t,n);t.flags|=128}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),Ca(so,so.current),r)break;return null;case 22:case 23:return t.lanes=0,ks(e,t,n)}return js(e,t,n)}(e,t,n);Ts=0!==(131072&e.flags)}else Ts=!1,ai&&0!==(1048576&t.flags)&&Ja(t,Wa,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;$s(e,t),e=t.pendingProps;var a=xa(t,Na.current);_i(t,n),a=_o(null,t,r,e,a,n);var o=ko();return t.flags|=1,"object"===typeof a&&null!==a&&"function"===typeof a.render&&void 0===a.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Oa(r)?(o=!0,Ma(t)):o=!1,t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,xi(t),a.updater=Gi,t.stateNode=a,a._reactInternals=t,Vi(t,r,e,n),t=Is(null,t,r,!0,o,n)):(t.tag=0,ai&&o&&ei(t),Ss(null,t,a,n),t=t.child),t;case 16:r=t.elementType;e:{switch($s(e,t),e=t.pendingProps,r=(a=r._init)(r._payload),t.type=r,a=t.tag=function(e){if("function"===typeof e)return Oc(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===N)return 11;if(e===x)return 14}return 2}(r),e=hi(r,e),a){case 0:t=ws(null,t,r,e,n);break e;case 1:t=Ns(null,t,r,e,n);break e;case 11:t=vs(null,t,r,e,n);break e;case 14:t=As(null,t,r,hi(r.type,e),n);break e}throw Error(i(306,r,""))}return t;case 0:return r=t.type,a=t.pendingProps,ws(e,t,r,a=t.elementType===r?a:hi(r,a),n);case 1:return r=t.type,a=t.pendingProps,Ns(e,t,r,a=t.elementType===r?a:hi(r,a),n);case 3:e:{if(Rs(t),null===e)throw Error(i(387));r=t.pendingProps,a=(o=t.memoizedState).element,Oi(e,t),Fi(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated){if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,256&t.flags){t=xs(e,t,r,n,a=us(Error(i(423)),t));break e}if(r!==a){t=xs(e,t,r,n,a=us(Error(i(424)),t));break e}for(ri=ca(t.stateNode.containerInfo.firstChild),ni=t,ai=!0,ii=null,n=Zi(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(mi(),r===a){t=js(e,t,n);break e}Ss(e,t,r,n)}t=t.child}return t;case 5:return io(t),null===e&&ci(t),r=t.type,a=t.pendingProps,o=null!==e?e.memoizedProps:null,s=a.children,na(r,a)?s=null:null!==o&&na(r,o)&&(t.flags|=32),Cs(e,t),Ss(e,t,s,n),t.child;case 6:return null===e&&ci(t),null;case 13:return Fs(e,t,n);case 4:return ro(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Xi(t,null,r,n):Ss(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,vs(e,t,r,a=t.elementType===r?a:hi(r,a),n);case 7:return Ss(e,t,t.pendingProps,n),t.child;case 8:case 12:return Ss(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,a=t.pendingProps,o=t.memoizedProps,s=a.value,Ca(bi,r._currentValue),r._currentValue=s,null!==o)if(sr(o.value,s)){if(o.children===a.children&&!Ia.current){t=js(e,t,n);break e}}else for(null!==(o=t.child)&&(o.return=t);null!==o;){var l=o.dependencies;if(null!==l){s=o.child;for(var c=l.firstContext;null!==c;){if(c.context===r){if(1===o.tag){(c=Li(-1,n&-n)).tag=2;var u=o.updateQueue;if(null!==u){var d=(u=u.shared).pending;null===d?c.next=c:(c.next=d.next,d.next=c),u.pending=c}}o.lanes|=n,null!==(c=o.alternate)&&(c.lanes|=n),Ai(o.return,n,t),l.lanes|=n;break}c=c.next}}else if(10===o.tag)s=o.type===t.type?null:o.child;else if(18===o.tag){if(null===(s=o.return))throw Error(i(341));s.lanes|=n,null!==(l=s.alternate)&&(l.lanes|=n),Ai(s,n,t),s=o.sibling}else s=o.child;if(null!==s)s.return=o;else for(s=o;null!==s;){if(s===t){s=null;break}if(null!==(o=s.sibling)){o.return=s.return,s=o;break}s=s.return}o=s}Ss(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=t.pendingProps.children,_i(t,n),r=r(a=ki(a)),t.flags|=1,Ss(e,t,r,n),t.child;case 14:return a=hi(r=t.type,t.pendingProps),As(e,t,r,a=hi(r.type,a),n);case 15:return _s(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:hi(r,a),$s(e,t),t.tag=1,Oa(r)?(e=!0,Ma(t)):e=!1,_i(t,n),$i(t,r,a),Vi(t,r,a,n),Is(null,t,r,!0,e,n);case 19:return zs(e,t,n);case 22:return ks(e,t,n)}throw Error(i(156,t.tag))};var qc="function"===typeof reportError?reportError:function(e){console.error(e)};function Yc(e){this._internalRoot=e}function Xc(e){this._internalRoot=e}function Zc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Qc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Jc(){}function eu(e,t,n,r,a){var i=n._reactRootContainer;if(i){var o=i;if("function"===typeof a){var s=a;a=function(){var e=Vc(o);s.call(e)}}jc(t,o,e,a)}else o=function(e,t,n,r,a){if(a){if("function"===typeof r){var i=r;r=function(){var e=Vc(o);i.call(e)}}var o=$c(t,r,e,0,null,!1,0,"",Jc);return e._reactRootContainer=o,e[fa]=o.current,zr(8===e.nodeType?e.parentNode:e),uc(),o}for(;a=e.lastChild;)e.removeChild(a);if("function"===typeof r){var s=r;r=function(){var e=Vc(l);s.call(e)}}var l=Hc(e,0,!1,null,0,!1,0,"",Jc);return e._reactRootContainer=l,e[fa]=l.current,zr(8===e.nodeType?e.parentNode:e),uc((function(){jc(t,l,n,r)})),l}(n,t,e,a,r);return Vc(o)}Xc.prototype.render=Yc.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(i(409));jc(e,t,null,null)},Xc.prototype.unmount=Yc.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;uc((function(){jc(null,e,null,null)})),t[fa]=null}},Xc.prototype.unstable_scheduleHydration=function(e){if(e){var t=_t();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Lt.length&&0!==t&&t<Lt[n].priority;n++);Lt.splice(n,0,e),0===n&&Ft(e)}},St=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=dt(t.pendingLanes);0!==n&&(Et(t,1|n),rc(t,Ze()),0===(6&Nl)&&(zl=Ze()+500,za()))}break;case 13:uc((function(){var t=Ii(e,1);if(null!==t){var n=ec();nc(t,e,1,n)}})),Kc(e,1)}},vt=function(e){if(13===e.tag){var t=Ii(e,134217728);if(null!==t)nc(t,e,134217728,ec());Kc(e,134217728)}},At=function(e){if(13===e.tag){var t=tc(e),n=Ii(e,t);if(null!==n)nc(n,e,t,ec());Kc(e,t)}},_t=function(){return yt},kt=function(e,t){var n=yt;try{return yt=e,t()}finally{yt=n}},ve=function(e,t,n){switch(t){case"input":if(Q(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=Sa(r);if(!a)throw Error(i(90));K(r),Q(r,a)}}}break;case"textarea":ie(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Ne=cc,Ie=uc;var tu={usingClientEntryPoint:!1,Events:[ya,Ta,Sa,Ce,we,cc]},nu={findFiberByHostInstance:Ea,bundleType:0,version:"18.2.0",rendererPackageName:"react-dom"},ru={bundleType:nu.bundleType,version:nu.version,rendererPackageName:nu.rendererPackageName,rendererConfig:nu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:T.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ve(e))?null:e.stateNode},findFiberByHostInstance:nu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0-next-9e3b772b8-20220608"};if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var au=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!au.isDisabled&&au.supportsFiber)try{at=au.inject(ru),it=au}catch(ue){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tu,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Zc(t))throw Error(i(200));return Gc(e,t,null,n)},t.createRoot=function(e,t){if(!Zc(e))throw Error(i(299));var n=!1,r="",a=qc;return null!==t&&void 0!==t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(a=t.onRecoverableError)),t=Hc(e,1,!1,null,0,n,0,r,a),e[fa]=t.current,zr(8===e.nodeType?e.parentNode:e),new Yc(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"===typeof e.render)throw Error(i(188));throw e=Object.keys(e).join(","),Error(i(268,e))}return e=null===(e=Ve(t))?null:e.stateNode},t.flushSync=function(e){return uc(e)},t.hydrate=function(e,t,n){if(!Qc(t))throw Error(i(200));return eu(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Zc(e))throw Error(i(405));var r=null!=n&&n.hydratedSources||null,a=!1,o="",s=qc;if(null!==n&&void 0!==n&&(!0===n.unstable_strictMode&&(a=!0),void 0!==n.identifierPrefix&&(o=n.identifierPrefix),void 0!==n.onRecoverableError&&(s=n.onRecoverableError)),t=$c(t,null,e,1,null!=n?n:null,a,0,o,s),e[fa]=t.current,zr(e),r)for(e=0;e<r.length;e++)a=(a=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,a]:t.mutableSourceEagerHydrationData.push(n,a);return new Xc(t)},t.render=function(e,t,n){if(!Qc(t))throw Error(i(200));return eu(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Qc(e))throw Error(i(40));return!!e._reactRootContainer&&(uc((function(){eu(null,null,e,!1,(function(){e._reactRootContainer=null,e[fa]=null}))})),!0)},t.unstable_batchedUpdates=cc,t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Qc(n))throw Error(i(200));if(null==e||void 0===e._reactInternals)throw Error(i(38));return eu(e,t,n,!1,r)},t.version="18.2.0-next-9e3b772b8-20220608"},1250:function(e,t,n){"use strict";var r=n(4164);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},4164:function(e,t,n){"use strict";!function e(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(4463)},1372:function(e,t){"use strict";var n=60103,r=60106,a=60107,i=60108,o=60114,s=60109,l=60110,c=60112,u=60113,d=60120,p=60115,m=60116,f=60121,g=60122,h=60117,b=60129,E=60131;if("function"===typeof Symbol&&Symbol.for){var y=Symbol.for;n=y("react.element"),r=y("react.portal"),a=y("react.fragment"),i=y("react.strict_mode"),o=y("react.profiler"),s=y("react.provider"),l=y("react.context"),c=y("react.forward_ref"),u=y("react.suspense"),d=y("react.suspense_list"),p=y("react.memo"),m=y("react.lazy"),f=y("react.block"),g=y("react.server.block"),h=y("react.fundamental"),b=y("react.debug_trace_mode"),E=y("react.legacy_hidden")}function T(e){if("object"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:switch(e=e.type){case a:case o:case i:case u:case d:return e;default:switch(e=e&&e.$$typeof){case l:case c:case m:case p:case s:return e;default:return t}}case r:return t}}}var S=s,v=n,A=c,_=a,k=m,C=p,w=r,N=o,I=i,R=u;t.ContextConsumer=l,t.ContextProvider=S,t.Element=v,t.ForwardRef=A,t.Fragment=_,t.Lazy=k,t.Memo=C,t.Portal=w,t.Profiler=N,t.StrictMode=I,t.Suspense=R,t.isAsyncMode=function(){return!1},t.isConcurrentMode=function(){return!1},t.isContextConsumer=function(e){return T(e)===l},t.isContextProvider=function(e){return T(e)===s},t.isElement=function(e){return"object"===typeof e&&null!==e&&e.$$typeof===n},t.isForwardRef=function(e){return T(e)===c},t.isFragment=function(e){return T(e)===a},t.isLazy=function(e){return T(e)===m},t.isMemo=function(e){return T(e)===p},t.isPortal=function(e){return T(e)===r},t.isProfiler=function(e){return T(e)===o},t.isStrictMode=function(e){return T(e)===i},t.isSuspense=function(e){return T(e)===u},t.isValidElementType=function(e){return"string"===typeof e||"function"===typeof e||e===a||e===o||e===b||e===i||e===u||e===d||e===E||"object"===typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===p||e.$$typeof===s||e.$$typeof===l||e.$$typeof===c||e.$$typeof===h||e.$$typeof===f||e[0]===g)},t.typeOf=T},7441:function(e,t,n){"use strict";e.exports=n(1372)},6374:function(e,t,n){"use strict";var r=n(2791),a=Symbol.for("react.element"),i=Symbol.for("react.fragment"),o=Object.prototype.hasOwnProperty,s=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var r,i={},c=null,u=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)o.call(t,r)&&!l.hasOwnProperty(r)&&(i[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===i[r]&&(i[r]=t[r]);return{$$typeof:a,type:e,key:c,ref:u,props:i,_owner:s.current}}t.Fragment=i,t.jsx=c,t.jsxs=c},9117:function(e,t){"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),m=Symbol.iterator;var f={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,h={};function b(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||f}function E(){}function y(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||f}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!==typeof e&&"function"!==typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},E.prototype=b.prototype;var T=y.prototype=new E;T.constructor=y,g(T,b.prototype),T.isPureReactComponent=!0;var S=Array.isArray,v=Object.prototype.hasOwnProperty,A={current:null},_={key:!0,ref:!0,__self:!0,__source:!0};function k(e,t,r){var a,i={},o=null,s=null;if(null!=t)for(a in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(o=""+t.key),t)v.call(t,a)&&!_.hasOwnProperty(a)&&(i[a]=t[a]);var l=arguments.length-2;if(1===l)i.children=r;else if(1<l){for(var c=Array(l),u=0;u<l;u++)c[u]=arguments[u+2];i.children=c}if(e&&e.defaultProps)for(a in l=e.defaultProps)void 0===i[a]&&(i[a]=l[a]);return{$$typeof:n,type:e,key:o,ref:s,props:i,_owner:A.current}}function C(e){return"object"===typeof e&&null!==e&&e.$$typeof===n}var w=/\/+/g;function N(e,t){return"object"===typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function I(e,t,a,i,o){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var l=!1;if(null===e)l=!0;else switch(s){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case n:case r:l=!0}}if(l)return o=o(l=e),e=""===i?"."+N(l,0):i,S(o)?(a="",null!=e&&(a=e.replace(w,"$&/")+"/"),I(o,t,a,"",(function(e){return e}))):null!=o&&(C(o)&&(o=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(o,a+(!o.key||l&&l.key===o.key?"":(""+o.key).replace(w,"$&/")+"/")+e)),t.push(o)),1;if(l=0,i=""===i?".":i+":",S(e))for(var c=0;c<e.length;c++){var u=i+N(s=e[c],c);l+=I(s,t,a,u,o)}else if(u=function(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=m&&e[m]||e["@@iterator"])?e:null}(e),"function"===typeof u)for(e=u.call(e),c=0;!(s=e.next()).done;)l+=I(s=s.value,t,a,u=i+N(s,c++),o);else if("object"===s)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return l}function R(e,t,n){if(null==e)return e;var r=[],a=0;return I(e,r,"","",(function(e){return t.call(n,e,a++)})),r}function x(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var O={current:null},L={transition:null},P={ReactCurrentDispatcher:O,ReactCurrentBatchConfig:L,ReactCurrentOwner:A};t.Children={map:R,forEach:function(e,t,n){R(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return R(e,(function(){t++})),t},toArray:function(e){return R(e,(function(e){return e}))||[]},only:function(e){if(!C(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=b,t.Fragment=a,t.Profiler=o,t.PureComponent=y,t.StrictMode=i,t.Suspense=u,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=P,t.cloneElement=function(e,t,r){if(null===e||void 0===e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var a=g({},e.props),i=e.key,o=e.ref,s=e._owner;if(null!=t){if(void 0!==t.ref&&(o=t.ref,s=A.current),void 0!==t.key&&(i=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)v.call(t,c)&&!_.hasOwnProperty(c)&&(a[c]=void 0===t[c]&&void 0!==l?l[c]:t[c])}var c=arguments.length-2;if(1===c)a.children=r;else if(1<c){l=Array(c);for(var u=0;u<c;u++)l[u]=arguments[u+2];a.children=l}return{$$typeof:n,type:e.type,key:i,ref:o,props:a,_owner:s}},t.createContext=function(e){return(e={$$typeof:l,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:s,_context:e},e.Consumer=e},t.createElement=k,t.createFactory=function(e){var t=k.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:c,render:e}},t.isValidElement=C,t.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:x}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=L.transition;L.transition={};try{e()}finally{L.transition=t}},t.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")},t.useCallback=function(e,t){return O.current.useCallback(e,t)},t.useContext=function(e){return O.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return O.current.useDeferredValue(e)},t.useEffect=function(e,t){return O.current.useEffect(e,t)},t.useId=function(){return O.current.useId()},t.useImperativeHandle=function(e,t,n){return O.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return O.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return O.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return O.current.useMemo(e,t)},t.useReducer=function(e,t,n){return O.current.useReducer(e,t,n)},t.useRef=function(e){return O.current.useRef(e)},t.useState=function(e){return O.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return O.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return O.current.useTransition()},t.version="18.2.0"},2791:function(e,t,n){"use strict";e.exports=n(9117)},184:function(e,t,n){"use strict";e.exports=n(6374)},8959:function(e,t,n){"use strict";var r="object"===typeof globalThis?globalThis:"object"===typeof self?self:"object"===typeof window?window:"object"===typeof n.g?n.g:{},a=function(){var e="Prism"in r,t=e?r.Prism:void 0;return function(){e?r.Prism=t:delete r.Prism;e=void 0,t=void 0}}();r.Prism={manual:!0,disableWorkerMessageHandler:!0};var i=n(6913),o=n(5434),s=n(3264),l=n(2357),c=n(9625),u=n(3052),d=n(7556);a();var p={}.hasOwnProperty;function m(){}m.prototype=s;var f=new m;function g(e){if("function"!==typeof e||!e.displayName)throw new Error("Expected `function` for `grammar`, got `"+e+"`");void 0===f.languages[e.displayName]&&e(f)}e.exports=f,f.highlight=function(e,t){var n,r=s.highlight;if("string"!==typeof e)throw new Error("Expected `string` for `value`, got `"+e+"`");if("Object"===f.util.type(t))n=t,t=null;else{if("string"!==typeof t)throw new Error("Expected `string` for `name`, got `"+t+"`");if(!p.call(f.languages,t))throw new Error("Unknown language: `"+t+"` is not registered");n=f.languages[t]}return r.call(this,e,n,t)},f.register=g,f.alias=function(e,t){var n,r,a,i,o=f.languages,s=e;t&&((s={})[e]=t);for(n in s)for(r=s[n],a=(r="string"===typeof r?[r]:r).length,i=-1;++i<a;)o[r[i]]=o[n]},f.registered=function(e){if("string"!==typeof e)throw new Error("Expected `string` for `language`, got `"+e+"`");return p.call(f.languages,e)},f.listLanguages=function(){var e,t=f.languages,n=[];for(e in t)p.call(t,e)&&"object"===typeof t[e]&&n.push(e);return n},g(l),g(c),g(u),g(d),f.util.encode=function(e){return e},f.Token.stringify=function(e,t,n){var r;if("string"===typeof e)return{type:"text",value:e};if("Array"===f.util.type(e))return function(e,t){var n,r=[],a=e.length,i=-1;for(;++i<a;)""!==(n=e[i])&&null!==n&&void 0!==n&&r.push(n);i=-1,a=r.length;for(;++i<a;)n=r[i],r[i]=f.Token.stringify(n,t,r);return r}(e,t);r={type:e.type,content:f.Token.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n},e.alias&&(r.classes=r.classes.concat(e.alias));return f.hooks.run("wrap",r),i(r.tag+"."+r.classes.join("."),function(e){var t;for(t in e)e[t]=o(e[t]);return e}(r.attributes),r.content)}},9158:function(e,t,n){"use strict";var r=n(8959);e.exports=r,r.register(n(9743)),r.register(n(6887)),r.register(n(8081)),r.register(n(2677)),r.register(n(2239)),r.register(n(3306)),r.register(n(5001)),r.register(n(6748)),r.register(n(4556)),r.register(n(5775)),r.register(n(118)),r.register(n(9134)),r.register(n(4144)),r.register(n(7209)),r.register(n(4865)),r.register(n(2083)),r.register(n(6054)),r.register(n(476)),r.register(n(9894)),r.register(n(4291)),r.register(n(3981)),r.register(n(9730)),r.register(n(7033)),r.register(n(7867)),r.register(n(9607)),r.register(n(150)),r.register(n(3098)),r.register(n(4786)),r.register(n(6938)),r.register(n(9784)),r.register(n(2689)),r.register(n(6514)),r.register(n(25)),r.register(n(7501)),r.register(n(272)),r.register(n(943)),r.register(n(9785)),r.register(n(9529)),r.register(n(1915)),r.register(n(3549)),r.register(n(4732)),r.register(n(6522)),r.register(n(3723)),r.register(n(423)),r.register(n(8593)),r.register(n(7916)),r.register(n(3281)),r.register(n(9333)),r.register(n(3524)),r.register(n(9689)),r.register(n(691)),r.register(n(4704)),r.register(n(3818)),r.register(n(583)),r.register(n(5462)),r.register(n(1717)),r.register(n(6655)),r.register(n(9442)),r.register(n(6412)),r.register(n(8818)),r.register(n(3386)),r.register(n(7837)),r.register(n(9845)),r.register(n(6268)),r.register(n(4326)),r.register(n(8331)),r.register(n(3596)),r.register(n(3972)),r.register(n(4665)),r.register(n(865)),r.register(n(6168)),r.register(n(8171)),r.register(n(6175)),r.register(n(4988)),r.register(n(2727)),r.register(n(4037)),r.register(n(9770)),r.register(n(1987)),r.register(n(1505)),r.register(n(8403)),r.register(n(9124)),r.register(n(8495)),r.register(n(1019)),r.register(n(3666)),r.register(n(5120)),r.register(n(214)),r.register(n(1903)),r.register(n(288)),r.register(n(78)),r.register(n(8558)),r.register(n(8430)),r.register(n(7986)),r.register(n(7865)),r.register(n(4490)),r.register(n(9233)),r.register(n(6647)),r.register(n(8237)),r.register(n(9814)),r.register(n(8661)),r.register(n(5727)),r.register(n(7761)),r.register(n(6722)),r.register(n(1469)),r.register(n(8340)),r.register(n(8925)),r.register(n(3298)),r.register(n(3390)),r.register(n(7145)),r.register(n(4600)),r.register(n(3409)),r.register(n(4197)),r.register(n(3269)),r.register(n(5543)),r.register(n(8428)),r.register(n(9285)),r.register(n(1570)),r.register(n(9298)),r.register(n(32)),r.register(n(6044)),r.register(n(1408)),r.register(n(750)),r.register(n(2327)),r.register(n(837)),r.register(n(7778)),r.register(n(2117)),r.register(n(3228)),r.register(n(765)),r.register(n(1905)),r.register(n(6776)),r.register(n(8714)),r.register(n(8471)),r.register(n(2286)),r.register(n(6513)),r.register(n(5999)),r.register(n(9405)),r.register(n(9135)),r.register(n(382)),r.register(n(1146)),r.register(n(3807)),r.register(n(3062)),r.register(n(5467)),r.register(n(2112)),r.register(n(1343)),r.register(n(6759)),r.register(n(9987)),r.register(n(7589)),r.register(n(7932)),r.register(n(595)),r.register(n(93)),r.register(n(4234)),r.register(n(1102)),r.register(n(2172)),r.register(n(1337)),r.register(n(5638)),r.register(n(54)),r.register(n(1741)),r.register(n(2089)),r.register(n(5739)),r.register(n(8347)),r.register(n(9899)),r.register(n(2420)),r.register(n(2019)),r.register(n(2618)),r.register(n(8659)),r.register(n(6e3)),r.register(n(7190)),r.register(n(1465)),r.register(n(9263)),r.register(n(4974)),r.register(n(6296)),r.register(n(6778)),r.register(n(6792)),r.register(n(6478)),r.register(n(6806)),r.register(n(347)),r.register(n(7976)),r.register(n(7484)),r.register(n(3205)),r.register(n(1797)),r.register(n(7241)),r.register(n(7304)),r.register(n(7613)),r.register(n(7363)),r.register(n(7953)),r.register(n(4986)),r.register(n(4970)),r.register(n(5725)),r.register(n(7415)),r.register(n(9164)),r.register(n(4973)),r.register(n(1344)),r.register(n(9862)),r.register(n(354)),r.register(n(883)),r.register(n(3983)),r.register(n(2935)),r.register(n(5888)),r.register(n(9596)),r.register(n(6395)),r.register(n(7679)),r.register(n(2406)),r.register(n(2014)),r.register(n(548)),r.register(n(6023)),r.register(n(4005)),r.register(n(9982)),r.register(n(4184)),r.register(n(8228)),r.register(n(7937)),r.register(n(5728)),r.register(n(1528)),r.register(n(6326)),r.register(n(771)),r.register(n(4840)),r.register(n(1357)),r.register(n(7719)),r.register(n(2284)),r.register(n(1254)),r.register(n(6442)),r.register(n(2034)),r.register(n(9676)),r.register(n(9895)),r.register(n(3775)),r.register(n(5767)),r.register(n(9093)),r.register(n(8768)),r.register(n(8517)),r.register(n(7942)),r.register(n(4457)),r.register(n(7740)),r.register(n(4038)),r.register(n(4585)),r.register(n(692)),r.register(n(3171)),r.register(n(2257)),r.register(n(5559)),r.register(n(9547)),r.register(n(9338)),r.register(n(5515)),r.register(n(4207)),r.register(n(7492)),r.register(n(6453)),r.register(n(6686)),r.register(n(7369)),r.register(n(7191)),r.register(n(3089)),r.register(n(4411)),r.register(n(9669)),r.register(n(4773)),r.register(n(3210)),r.register(n(2613)),r.register(n(4317)),r.register(n(1927)),r.register(n(6845)),r.register(n(4941)),r.register(n(9803)),r.register(n(1107)),r.register(n(1413)),r.register(n(3555)),r.register(n(7117)),r.register(n(3244)),r.register(n(3673)),r.register(n(8953)),r.register(n(6747)),r.register(n(4211)),r.register(n(8832)),r.register(n(8186)),r.register(n(3679)),r.register(n(1752)),r.register(n(243)),r.register(n(5133)),r.register(n(2195)),r.register(n(3672))},9743:function(e){"use strict";function t(e){e.languages.abap={comment:/^\*.*/m,string:/(`|')(?:\\.|(?!\1)[^\\\r\n])*\1/,"string-template":{pattern:/([|}])(?:\\.|[^\\|{\r\n])*(?=[|{])/,lookbehind:!0,alias:"string"},"eol-comment":{pattern:/(^|\s)".*/m,lookbehind:!0,alias:"comment"},keyword:{pattern:/(\s|\.|^)(?:SCIENTIFIC_WITH_LEADING_ZERO|SCALE_PRESERVING_SCIENTIFIC|RMC_COMMUNICATION_FAILURE|END-ENHANCEMENT-SECTION|MULTIPLY-CORRESPONDING|SUBTRACT-CORRESPONDING|VERIFICATION-MESSAGE|DIVIDE-CORRESPONDING|ENHANCEMENT-SECTION|CURRENCY_CONVERSION|RMC_SYSTEM_FAILURE|START-OF-SELECTION|MOVE-CORRESPONDING|RMC_INVALID_STATUS|CUSTOMER-FUNCTION|END-OF-DEFINITION|ENHANCEMENT-POINT|SYSTEM-EXCEPTIONS|ADD-CORRESPONDING|SCALE_PRESERVING|SELECTION-SCREEN|CURSOR-SELECTION|END-OF-SELECTION|LOAD-OF-PROGRAM|SCROLL-BOUNDARY|SELECTION-TABLE|EXCEPTION-TABLE|IMPLEMENTATIONS|PARAMETER-TABLE|RIGHT-JUSTIFIED|UNIT_CONVERSION|AUTHORITY-CHECK|LIST-PROCESSING|SIGN_AS_POSTFIX|COL_BACKGROUND|IMPLEMENTATION|INTERFACE-POOL|TRANSFORMATION|IDENTIFICATION|ENDENHANCEMENT|LINE-SELECTION|INITIALIZATION|LEFT-JUSTIFIED|SELECT-OPTIONS|SELECTION-SETS|COMMUNICATION|CORRESPONDING|DECIMAL_SHIFT|PRINT-CONTROL|VALUE-REQUEST|CHAIN-REQUEST|FUNCTION-POOL|FIELD-SYMBOLS|FUNCTIONALITY|INVERTED-DATE|SELECTION-SET|CLASS-METHODS|OUTPUT-LENGTH|CLASS-CODING|COL_NEGATIVE|ERRORMESSAGE|FIELD-GROUPS|HELP-REQUEST|NO-EXTENSION|NO-TOPOFPAGE|REDEFINITION|DISPLAY-MODE|ENDINTERFACE|EXIT-COMMAND|FIELD-SYMBOL|NO-SCROLLING|SHORTDUMP-ID|ACCESSPOLICY|CLASS-EVENTS|COL_POSITIVE|DECLARATIONS|ENHANCEMENTS|FILTER-TABLE|SWITCHSTATES|SYNTAX-CHECK|TRANSPORTING|ASYNCHRONOUS|SYNTAX-TRACE|TOKENIZATION|USER-COMMAND|WITH-HEADING|ABAP-SOURCE|BREAK-POINT|CHAIN-INPUT|COMPRESSION|FIXED-POINT|NEW-SECTION|NON-UNICODE|OCCURRENCES|RESPONSIBLE|SYSTEM-CALL|TRACE-TABLE|ABBREVIATED|CHAR-TO-HEX|END-OF-FILE|ENDFUNCTION|ENVIRONMENT|ASSOCIATION|COL_HEADING|EDITOR-CALL|END-OF-PAGE|ENGINEERING|IMPLEMENTED|INTENSIFIED|RADIOBUTTON|SYSTEM-EXIT|TOP-OF-PAGE|TRANSACTION|APPLICATION|CONCATENATE|DESTINATION|ENHANCEMENT|IMMEDIATELY|NO-GROUPING|PRECOMPILED|REPLACEMENT|TITLE-LINES|ACTIVATION|BYTE-ORDER|CLASS-POOL|CONNECTION|CONVERSION|DEFINITION|DEPARTMENT|EXPIRATION|INHERITING|MESSAGE-ID|NO-HEADING|PERFORMING|QUEUE-ONLY|RIGHTSPACE|SCIENTIFIC|STATUSINFO|STRUCTURES|SYNCPOINTS|WITH-TITLE|ATTRIBUTES|BOUNDARIES|CLASS-DATA|COL_NORMAL|DD\/MM\/YYYY|DESCENDING|INTERFACES|LINE-COUNT|MM\/DD\/YYYY|NON-UNIQUE|PRESERVING|SELECTIONS|STATEMENTS|SUBROUTINE|TRUNCATION|TYPE-POOLS|ARITHMETIC|BACKGROUND|ENDPROVIDE|EXCEPTIONS|IDENTIFIER|INDEX-LINE|OBLIGATORY|PARAMETERS|PERCENTAGE|PUSHBUTTON|RESOLUTION|COMPONENTS|DEALLOCATE|DISCONNECT|DUPLICATES|FIRST-LINE|HEAD-LINES|NO-DISPLAY|OCCURRENCE|RESPECTING|RETURNCODE|SUBMATCHES|TRACE-FILE|ASCENDING|BYPASSING|ENDMODULE|EXCEPTION|EXCLUDING|EXPORTING|INCREMENT|MATCHCODE|PARAMETER|PARTIALLY|PREFERRED|REFERENCE|REPLACING|RETURNING|SELECTION|SEPARATED|SPECIFIED|STATEMENT|TIMESTAMP|TYPE-POOL|ACCEPTING|APPENDAGE|ASSIGNING|COL_GROUP|COMPARING|CONSTANTS|DANGEROUS|IMPORTING|INSTANCES|LEFTSPACE|LOG-POINT|QUICKINFO|READ-ONLY|SCROLLING|SQLSCRIPT|STEP-LOOP|TOP-LINES|TRANSLATE|APPENDING|AUTHORITY|CHARACTER|COMPONENT|CONDITION|DIRECTORY|DUPLICATE|MESSAGING|RECEIVING|SUBSCREEN|ACCORDING|COL_TOTAL|END-LINES|ENDMETHOD|ENDSELECT|EXPANDING|EXTENSION|INCLUDING|INFOTYPES|INTERFACE|INTERVALS|LINE-SIZE|PF-STATUS|PROCEDURE|PROTECTED|REQUESTED|RESUMABLE|RIGHTPLUS|SAP-SPOOL|SECONDARY|STRUCTURE|SUBSTRING|TABLEVIEW|NUMOFCHAR|ADJACENT|ANALYSIS|ASSIGNED|BACKWARD|CHANNELS|CHECKBOX|CONTINUE|CRITICAL|DATAINFO|DD\/MM\/YY|DURATION|ENCODING|ENDCLASS|FUNCTION|LEFTPLUS|LINEFEED|MM\/DD\/YY|OVERFLOW|RECEIVED|SKIPPING|SORTABLE|STANDARD|SUBTRACT|SUPPRESS|TABSTRIP|TITLEBAR|TRUNCATE|UNASSIGN|WHENEVER|ANALYZER|COALESCE|COMMENTS|CONDENSE|DECIMALS|DEFERRED|ENDWHILE|EXPLICIT|KEYWORDS|MESSAGES|POSITION|PRIORITY|RECEIVER|RENAMING|TIMEZONE|TRAILING|ALLOCATE|CENTERED|CIRCULAR|CONTROLS|CURRENCY|DELETING|DESCRIBE|DISTANCE|ENDCATCH|EXPONENT|EXTENDED|GENERATE|IGNORING|INCLUDES|INTERNAL|MAJOR-ID|MODIFIER|NEW-LINE|OPTIONAL|PROPERTY|ROLLBACK|STARTING|SUPPLIED|ABSTRACT|CHANGING|CONTEXTS|CREATING|CUSTOMER|DATABASE|DAYLIGHT|DEFINING|DISTINCT|DIVISION|ENABLING|ENDCHAIN|ESCAPING|HARMLESS|IMPLICIT|INACTIVE|LANGUAGE|MINOR-ID|MULTIPLY|NEW-PAGE|NO-TITLE|POS_HIGH|SEPARATE|TEXTPOOL|TRANSFER|SELECTOR|DBMAXLEN|ITERATOR|ARCHIVE|BIT-XOR|BYTE-CO|COLLECT|COMMENT|CURRENT|DEFAULT|DISPLAY|ENDFORM|EXTRACT|LEADING|LISTBOX|LOCATOR|MEMBERS|METHODS|NESTING|POS_LOW|PROCESS|PROVIDE|RAISING|RESERVE|SECONDS|SUMMARY|VISIBLE|BETWEEN|BIT-AND|BYTE-CS|CLEANUP|COMPUTE|CONTROL|CONVERT|DATASET|ENDCASE|FORWARD|HEADERS|HOTSPOT|INCLUDE|INVERSE|KEEPING|NO-ZERO|OBJECTS|OVERLAY|PADDING|PATTERN|PROGRAM|REFRESH|SECTION|SUMMING|TESTING|VERSION|WINDOWS|WITHOUT|BIT-NOT|BYTE-CA|BYTE-NA|CASTING|CONTEXT|COUNTRY|DYNAMIC|ENABLED|ENDLOOP|EXECUTE|FRIENDS|HANDLER|HEADING|INITIAL|\*-INPUT|LOGFILE|MAXIMUM|MINIMUM|NO-GAPS|NO-SIGN|PRAGMAS|PRIMARY|PRIVATE|REDUCED|REPLACE|REQUEST|RESULTS|UNICODE|WARNING|ALIASES|BYTE-CN|BYTE-NS|CALLING|COL_KEY|COLUMNS|CONNECT|ENDEXEC|ENTRIES|EXCLUDE|FILTERS|FURTHER|HELP-ID|LOGICAL|MAPPING|MESSAGE|NAMETAB|OPTIONS|PACKAGE|PERFORM|RECEIVE|STATICS|VARYING|BINDING|CHARLEN|GREATER|XSTRLEN|ACCEPT|APPEND|DETAIL|ELSEIF|ENDING|ENDTRY|FORMAT|FRAMES|GIVING|HASHED|HEADER|IMPORT|INSERT|MARGIN|MODULE|NATIVE|OBJECT|OFFSET|REMOTE|RESUME|SAVING|SIMPLE|SUBMIT|TABBED|TOKENS|UNIQUE|UNPACK|UPDATE|WINDOW|YELLOW|ACTUAL|ASPECT|CENTER|CURSOR|DELETE|DIALOG|DIVIDE|DURING|ERRORS|EVENTS|EXTEND|FILTER|HANDLE|HAVING|IGNORE|LITTLE|MEMORY|NO-GAP|OCCURS|OPTION|PERSON|PLACES|PUBLIC|REDUCE|REPORT|RESULT|SINGLE|SORTED|SWITCH|SYNTAX|TARGET|VALUES|WRITER|ASSERT|BLOCKS|BOUNDS|BUFFER|CHANGE|COLUMN|COMMIT|CONCAT|COPIES|CREATE|DDMMYY|DEFINE|ENDIAN|ESCAPE|EXPAND|KERNEL|LAYOUT|LEGACY|LEVELS|MMDDYY|NUMBER|OUTPUT|RANGES|READER|RETURN|SCREEN|SEARCH|SELECT|SHARED|SOURCE|STABLE|STATIC|SUBKEY|SUFFIX|TABLES|UNWIND|YYMMDD|ASSIGN|BACKUP|BEFORE|BINARY|BIT-OR|BLANKS|CLIENT|CODING|COMMON|DEMAND|DYNPRO|EXCEPT|EXISTS|EXPORT|FIELDS|GLOBAL|GROUPS|LENGTH|LOCALE|MEDIUM|METHOD|MODIFY|NESTED|OTHERS|REJECT|SCROLL|SUPPLY|SYMBOL|ENDFOR|STRLEN|ALIGN|BEGIN|BOUND|ENDAT|ENTRY|EVENT|FINAL|FLUSH|GRANT|INNER|SHORT|USING|WRITE|AFTER|BLACK|BLOCK|CLOCK|COLOR|COUNT|DUMMY|EMPTY|ENDDO|ENDON|GREEN|INDEX|INOUT|LEAVE|LEVEL|LINES|MODIF|ORDER|OUTER|RANGE|RESET|RETRY|RIGHT|SMART|SPLIT|STYLE|TABLE|THROW|UNDER|UNTIL|UPPER|UTF-8|WHERE|ALIAS|BLANK|CLEAR|CLOSE|EXACT|FETCH|FIRST|FOUND|GROUP|LLANG|LOCAL|OTHER|REGEX|SPOOL|TITLE|TYPES|VALID|WHILE|ALPHA|BOXED|CATCH|CHAIN|CHECK|CLASS|COVER|ENDIF|EQUIV|FIELD|FLOOR|FRAME|INPUT|LOWER|MATCH|NODES|PAGES|PRINT|RAISE|ROUND|SHIFT|SPACE|SPOTS|STAMP|STATE|TASKS|TIMES|TRMAC|ULINE|UNION|VALUE|WIDTH|EQUAL|LOG10|TRUNC|BLOB|CASE|CEIL|CLOB|COND|EXIT|FILE|GAPS|HOLD|INCL|INTO|KEEP|KEYS|LAST|LINE|LONG|LPAD|MAIL|MODE|OPEN|PINK|READ|ROWS|TEST|THEN|ZERO|AREA|BACK|BADI|BYTE|CAST|EDIT|EXEC|FAIL|FIND|FKEQ|FONT|FREE|GKEQ|HIDE|INIT|ITNO|LATE|LOOP|MAIN|MARK|MOVE|NEXT|NULL|RISK|ROLE|UNIT|WAIT|ZONE|BASE|CALL|CODE|DATA|DATE|FKGE|GKGE|HIGH|KIND|LEFT|LIST|MASK|MESH|NAME|NODE|PACK|PAGE|POOL|SEND|SIGN|SIZE|SOME|STOP|TASK|TEXT|TIME|USER|VARY|WITH|WORD|BLUE|CONV|COPY|DEEP|ELSE|FORM|FROM|HINT|ICON|JOIN|LIKE|LOAD|ONLY|PART|SCAN|SKIP|SORT|TYPE|UNIX|VIEW|WHEN|WORK|ACOS|ASIN|ATAN|COSH|EACH|FRAC|LESS|RTTI|SINH|SQRT|TANH|AVG|BIT|DIV|ISO|LET|OUT|PAD|SQL|ALL|CI_|CPI|END|LOB|LPI|MAX|MIN|NEW|OLE|RUN|SET|\?TO|YES|ABS|ADD|AND|BIG|FOR|HDB|JOB|LOW|NOT|SAP|TRY|VIA|XML|ANY|GET|IDS|KEY|MOD|OFF|PUT|RAW|RED|REF|SUM|TAB|XSD|CNT|COS|EXP|LOG|SIN|TAN|XOR|AT|CO|CP|DO|GT|ID|IF|NS|OR|BT|CA|CS|GE|NA|NB|EQ|IN|LT|NE|NO|OF|ON|PF|TO|AS|BY|CN|IS|LE|NP|UP|E|I|M|O|Z|C|X)\b/i,lookbehind:!0},number:/\b\d+\b/,operator:{pattern:/(\s)(?:\*\*?|<[=>]?|>=?|\?=|[-+\/=])(?=\s)/,lookbehind:!0},"string-operator":{pattern:/(\s)&&?(?=\s)/,lookbehind:!0,alias:"keyword"},"token-operator":[{pattern:/(\w)(?:->?|=>|[~|{}])(?=\w)/,lookbehind:!0,alias:"punctuation"},{pattern:/[|{}]/,alias:"punctuation"}],punctuation:/[,.:()]/}}e.exports=t,t.displayName="abap",t.aliases=[]},6887:function(e){"use strict";function t(e){!function(e){var t="(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)";e.languages.abnf={comment:/;.*/,string:{pattern:/(?:%[is])?"[^"\n\r]*"/,greedy:!0,inside:{punctuation:/^%[is]/}},range:{pattern:/%(?:b[01]+-[01]+|d\d+-\d+|x[A-F\d]+-[A-F\d]+)/i,alias:"number"},terminal:{pattern:/%(?:b[01]+(?:\.[01]+)*|d\d+(?:\.\d+)*|x[A-F\d]+(?:\.[A-F\d]+)*)/i,alias:"number"},repetition:{pattern:/(^|[^\w-])(?:\d*\*\d*|\d+)/,lookbehind:!0,alias:"operator"},definition:{pattern:/(^[ \t]*)(?:[a-z][\w-]*|<[^<>\r\n]*>)(?=\s*=)/m,lookbehind:!0,alias:"keyword",inside:{punctuation:/<|>/}},"core-rule":{pattern:RegExp("(?:(^|[^<\\w-])"+t+"|<"+t+">)(?![\\w-])","i"),lookbehind:!0,alias:["rule","constant"],inside:{punctuation:/<|>/}},rule:{pattern:/(^|[^<\w-])[a-z][\w-]*|<[^<>\r\n]*>/i,lookbehind:!0,inside:{punctuation:/<|>/}},operator:/=\/?|\//,punctuation:/[()\[\]]/}}(e)}e.exports=t,t.displayName="abnf",t.aliases=[]},8081:function(e){"use strict";function t(e){e.languages.actionscript=e.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),e.languages.actionscript["class-name"].alias="function",delete e.languages.actionscript.parameter,delete e.languages.actionscript["literal-property"],e.languages.markup&&e.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:e.languages.markup}})}e.exports=t,t.displayName="actionscript",t.aliases=[]},2677:function(e){"use strict";function t(e){e.languages.ada={comment:/--.*/,string:/"(?:""|[^"\r\f\n])*"/,number:[{pattern:/\b\d(?:_?\d)*#[\dA-F](?:_?[\dA-F])*(?:\.[\dA-F](?:_?[\dA-F])*)?#(?:E[+-]?\d(?:_?\d)*)?/i},{pattern:/\b\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:E[+-]?\d(?:_?\d)*)?\b/i}],"attr-name":/\b'\w+/,keyword:/\b(?:abort|abs|abstract|accept|access|aliased|all|and|array|at|begin|body|case|constant|declare|delay|delta|digits|do|else|elsif|end|entry|exception|exit|for|function|generic|goto|if|in|interface|is|limited|loop|mod|new|not|null|of|others|out|overriding|package|pragma|private|procedure|protected|raise|range|record|rem|renames|requeue|return|reverse|select|separate|some|subtype|synchronized|tagged|task|terminate|then|type|until|use|when|while|with|xor)\b/i,boolean:/\b(?:false|true)\b/i,operator:/<[=>]?|>=?|=>?|:=|\/=?|\*\*?|[&+-]/,punctuation:/\.\.?|[,;():]/,char:/'.'/,variable:/\b[a-z](?:\w)*\b/i}}e.exports=t,t.displayName="ada",t.aliases=[]},2239:function(e){"use strict";function t(e){!function(e){e.languages.agda={comment:/\{-[\s\S]*?(?:-\}|$)|--.*/,string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},punctuation:/[(){}\u2983\u2984.;@]/,"class-name":{pattern:/((?:data|record) +)\S+/,lookbehind:!0},function:{pattern:/(^[ \t]*)(?!\s)[^:\r\n]+(?=:)/m,lookbehind:!0},operator:{pattern:/(^\s*|\s)(?:[=|:\u2200\u2192\u03bb\\?_]|->)(?=\s)/,lookbehind:!0},keyword:/\b(?:Set|abstract|constructor|data|eta-equality|field|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\b/}}(e)}e.exports=t,t.displayName="agda",t.aliases=[]},3306:function(e){"use strict";function t(e){e.languages.al={comment:/\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/'(?:''|[^'\r\n])*'(?!')|"(?:""|[^"\r\n])*"(?!")/,greedy:!0},function:{pattern:/(\b(?:event|procedure|trigger)\s+|(?:^|[^.])\.\s*)[a-z_]\w*(?=\s*\()/i,lookbehind:!0},keyword:[/\b(?:array|asserterror|begin|break|case|do|downto|else|end|event|exit|for|foreach|function|if|implements|in|indataset|interface|internal|local|of|procedure|program|protected|repeat|runonclient|securityfiltering|suppressdispose|temporary|then|to|trigger|until|var|while|with|withevents)\b/i,/\b(?:action|actions|addafter|addbefore|addfirst|addlast|area|assembly|chartpart|codeunit|column|controladdin|cuegroup|customizes|dataitem|dataset|dotnet|elements|enum|enumextension|extends|field|fieldattribute|fieldelement|fieldgroup|fieldgroups|fields|filter|fixed|grid|group|key|keys|label|labels|layout|modify|moveafter|movebefore|movefirst|movelast|page|pagecustomization|pageextension|part|profile|query|repeater|report|requestpage|schema|separator|systempart|table|tableelement|tableextension|textattribute|textelement|type|usercontrol|value|xmlport)\b/i],number:/\b(?:0x[\da-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)(?:F|LL?|U(?:LL?)?)?\b/i,boolean:/\b(?:false|true)\b/i,variable:/\b(?:Curr(?:FieldNo|Page|Report)|x?Rec|RequestOptionsPage)\b/,"class-name":/\b(?:automation|biginteger|bigtext|blob|boolean|byte|char|clienttype|code|completiontriggererrorlevel|connectiontype|database|dataclassification|datascope|date|dateformula|datetime|decimal|defaultlayout|dialog|dictionary|dotnetassembly|dotnettypedeclaration|duration|errorinfo|errortype|executioncontext|executionmode|fieldclass|fieldref|fieldtype|file|filterpagebuilder|guid|httpclient|httpcontent|httpheaders|httprequestmessage|httpresponsemessage|instream|integer|joker|jsonarray|jsonobject|jsontoken|jsonvalue|keyref|list|moduledependencyinfo|moduleinfo|none|notification|notificationscope|objecttype|option|outstream|pageresult|record|recordid|recordref|reportformat|securityfilter|sessionsettings|tableconnectiontype|tablefilter|testaction|testfield|testfilterfield|testpage|testpermissions|testrequestpage|text|textbuilder|textconst|textencoding|time|transactionmodel|transactiontype|variant|verbosity|version|view|views|webserviceactioncontext|webserviceactionresultcode|xmlattribute|xmlattributecollection|xmlcdata|xmlcomment|xmldeclaration|xmldocument|xmldocumenttype|xmlelement|xmlnamespacemanager|xmlnametable|xmlnode|xmlnodelist|xmlprocessinginstruction|xmlreadoptions|xmltext|xmlwriteoptions)\b/i,operator:/\.\.|:[=:]|[-+*/]=?|<>|[<>]=?|=|\b(?:and|div|mod|not|or|xor)\b/i,punctuation:/[()\[\]{}:.;,]/}}e.exports=t,t.displayName="al",t.aliases=[]},5001:function(e){"use strict";function t(e){e.languages.antlr4={comment:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,string:{pattern:/'(?:\\.|[^\\'\r\n])*'/,greedy:!0},"character-class":{pattern:/\[(?:\\.|[^\\\]\r\n])*\]/,greedy:!0,alias:"regex",inside:{range:{pattern:/([^[]|(?:^|[^\\])(?:\\\\)*\\\[)-(?!\])/,lookbehind:!0,alias:"punctuation"},escape:/\\(?:u(?:[a-fA-F\d]{4}|\{[a-fA-F\d]+\})|[pP]\{[=\w-]+\}|[^\r\nupP])/,punctuation:/[\[\]]/}},action:{pattern:/\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\}/,greedy:!0,inside:{content:{pattern:/(\{)[\s\S]+(?=\})/,lookbehind:!0},punctuation:/[{}]/}},command:{pattern:/(->\s*(?!\s))(?:\s*(?:,\s*)?\b[a-z]\w*(?:\s*\([^()\r\n]*\))?)+(?=\s*;)/i,lookbehind:!0,inside:{function:/\b\w+(?=\s*(?:[,(]|$))/,punctuation:/[,()]/}},annotation:{pattern:/@\w+(?:::\w+)*/,alias:"keyword"},label:{pattern:/#[ \t]*\w+/,alias:"punctuation"},keyword:/\b(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|parser|returns|throws|tokens)\b/,definition:[{pattern:/\b[a-z]\w*(?=\s*:)/,alias:["rule","class-name"]},{pattern:/\b[A-Z]\w*(?=\s*:)/,alias:["token","constant"]}],constant:/\b[A-Z][A-Z_]*\b/,operator:/\.\.|->|[|~]|[*+?]\??/,punctuation:/[;:()=]/},e.languages.g4=e.languages.antlr4}e.exports=t,t.displayName="antlr4",t.aliases=["g4"]},6748:function(e){"use strict";function t(e){e.languages.apacheconf={comment:/#.*/,"directive-inline":{pattern:/(^[\t ]*)\b(?:AcceptFilter|AcceptPathInfo|AccessFileName|Action|Add(?:Alt|AltByEncoding|AltByType|Charset|DefaultCharset|Description|Encoding|Handler|Icon|IconByEncoding|IconByType|InputFilter|Language|ModuleInfo|OutputFilter|OutputFilterByType|Type)|Alias|AliasMatch|Allow(?:CONNECT|EncodedSlashes|Methods|Override|OverrideList)?|Anonymous(?:_LogEmail|_MustGiveEmail|_NoUserID|_VerifyEmail)?|AsyncRequestWorkerFactor|Auth(?:BasicAuthoritative|BasicFake|BasicProvider|BasicUseDigestAlgorithm|DBDUserPWQuery|DBDUserRealmQuery|DBMGroupFile|DBMType|DBMUserFile|Digest(?:Algorithm|Domain|NonceLifetime|Provider|Qop|ShmemSize)|Form(?:Authoritative|Body|DisableNoStore|FakeBasicAuth|Location|LoginRequiredLocation|LoginSuccessLocation|LogoutLocation|Method|Mimetype|Password|Provider|SitePassphrase|Size|Username)|GroupFile|LDAP(?:AuthorizePrefix|BindAuthoritative|BindDN|BindPassword|CharsetConfig|CompareAsUser|CompareDNOnServer|DereferenceAliases|GroupAttribute|GroupAttributeIsDN|InitialBindAsUser|InitialBindPattern|MaxSubGroupDepth|RemoteUserAttribute|RemoteUserIsDN|SearchAsUser|SubGroupAttribute|SubGroupClass|Url)|Merging|Name|nCache(?:Context|Enable|ProvideFor|SOCache|Timeout)|nzFcgiCheckAuthnProvider|nzFcgiDefineProvider|Type|UserFile|zDBDLoginToReferer|zDBDQuery|zDBDRedirectQuery|zDBMType|zSendForbiddenOnFailure)|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferedLogs|BufferSize|Cache(?:DefaultExpire|DetailHeader|DirLength|DirLevels|Disable|Enable|File|Header|IgnoreCacheControl|IgnoreHeaders|IgnoreNoLastMod|IgnoreQueryString|IgnoreURLSessionIdentifiers|KeyBaseURL|LastModifiedFactor|Lock|LockMaxAge|LockPath|MaxExpire|MaxFileSize|MinExpire|MinFileSize|NegotiatedDocs|QuickHandler|ReadSize|ReadTime|Root|Socache(?:MaxSize|MaxTime|MinTime|ReadSize|ReadTime)?|StaleOnError|StoreExpired|StoreNoStore|StorePrivate)|CGIDScriptTimeout|CGIMapExtension|CharsetDefault|CharsetOptions|CharsetSourceEnc|CheckCaseOnly|CheckSpelling|ChrootDir|ContentDigest|CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking|CoreDumpDirectory|CustomLog|Dav|DavDepthInfinity|DavGenericLockDB|DavLockDB|DavMinTimeout|DBDExptime|DBDInitSQL|DBDKeep|DBDMax|DBDMin|DBDParams|DBDPersist|DBDPrepareSQL|DBDriver|DefaultIcon|DefaultLanguage|DefaultRuntimeDir|DefaultType|Define|Deflate(?:BufferSize|CompressionLevel|FilterNote|InflateLimitRequestBody|InflateRatio(?:Burst|Limit)|MemLevel|WindowSize)|Deny|DirectoryCheckHandler|DirectoryIndex|DirectoryIndexRedirect|DirectorySlash|DocumentRoot|DTracePrivileges|DumpIOInput|DumpIOOutput|EnableExceptionHook|EnableMMAP|EnableSendfile|Error|ErrorDocument|ErrorLog|ErrorLogFormat|Example|ExpiresActive|ExpiresByType|ExpiresDefault|ExtendedStatus|ExtFilterDefine|ExtFilterOptions|FallbackResource|FileETag|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace|ForceLanguagePriority|ForceType|ForensicLog|GprofDir|GracefulShutdownTimeout|Group|Header|HeaderName|Heartbeat(?:Address|Listen|MaxServers|Storage)|HostnameLookups|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|Index(?:HeadInsert|Ignore|IgnoreReset|Options|OrderDefault|StyleSheet)|InputSed|ISAPI(?:AppendLogToErrors|AppendLogToQuery|CacheFile|FakeAsync|LogNotSupported|ReadAheadBuffer)|KeepAlive|KeepAliveTimeout|KeptBodySize|LanguagePriority|LDAP(?:CacheEntries|CacheTTL|ConnectionPoolTTL|ConnectionTimeout|LibraryDebug|OpCacheEntries|OpCacheTTL|ReferralHopLimit|Referrals|Retries|RetryDelay|SharedCacheFile|SharedCacheSize|Timeout|TrustedClientCert|TrustedGlobalCert|TrustedMode|VerifyServerCert)|Limit(?:InternalRecursion|Request(?:Body|Fields|FieldSize|Line)|XMLRequestBody)|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|Lua(?:Hook(?:AccessChecker|AuthChecker|CheckUserID|Fixups|InsertFilter|Log|MapToStorage|TranslateName|TypeChecker)|Inherit|InputFilter|MapHandler|OutputFilter|PackageCPath|PackagePath|QuickHandler|Root|Scope)|Max(?:ConnectionsPerChild|KeepAliveRequests|MemFree|RangeOverlaps|RangeReversals|Ranges|RequestWorkers|SpareServers|SpareThreads|Threads)|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|MMapFile|ModemStandard|ModMimeUsePathInfo|MultiviewsMatch|Mutex|NameVirtualHost|NoProxy|NWSSLTrustedCerts|NWSSLUpgradeable|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|Proxy(?:AddHeaders|BadHeader|Block|Domain|ErrorOverride|ExpressDBMFile|ExpressDBMType|ExpressEnable|FtpDirCharset|FtpEscapeWildcards|FtpListOnWildcard|HTML(?:BufSize|CharsetOut|DocType|Enable|Events|Extended|Fixups|Interp|Links|Meta|StripComments|URLMap)|IOBufferSize|MaxForwards|Pass(?:Inherit|InterpolateEnv|Match|Reverse|ReverseCookieDomain|ReverseCookiePath)?|PreserveHost|ReceiveBufferSize|Remote|RemoteMatch|Requests|SCGIInternalRedirect|SCGISendfile|Set|SourceAddress|Status|Timeout|Via)|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIP(?:Header|InternalProxy|InternalProxyList|ProxiesHeader|TrustedProxy|TrustedProxyList)|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|Rewrite(?:Base|Cond|Engine|Map|Options|Rule)|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScoreBoardFile|Script(?:Alias|AliasMatch|InterpreterSource|Log|LogBuffer|LogLength|Sock)?|SecureListen|SeeRequestTail|SendBufferSize|Server(?:Admin|Alias|Limit|Name|Path|Root|Signature|Tokens)|Session(?:Cookie(?:Name|Name2|Remove)|Crypto(?:Cipher|Driver|Passphrase|PassphraseFile)|DBD(?:CookieName|CookieName2|CookieRemove|DeleteLabel|InsertLabel|PerUser|SelectLabel|UpdateLabel)|Env|Exclude|Header|Include|MaxAge)?|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|SSIEndTag|SSIErrorMsg|SSIETag|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSL(?:CACertificateFile|CACertificatePath|CADNRequestFile|CADNRequestPath|CARevocationCheck|CARevocationFile|CARevocationPath|CertificateChainFile|CertificateFile|CertificateKeyFile|CipherSuite|Compression|CryptoDevice|Engine|FIPS|HonorCipherOrder|InsecureRenegotiation|OCSP(?:DefaultResponder|Enable|OverrideResponder|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|UseRequestNonce)|OpenSSLConfCmd|Options|PassPhraseDialog|Protocol|Proxy(?:CACertificateFile|CACertificatePath|CARevocation(?:Check|File|Path)|CheckPeer(?:CN|Expire|Name)|CipherSuite|Engine|MachineCertificate(?:ChainFile|File|Path)|Protocol|Verify|VerifyDepth)|RandomSeed|RenegBufferSize|Require|RequireSSL|Session(?:Cache|CacheTimeout|TicketKeyFile|Tickets)|SRPUnknownUserSeed|SRPVerifierFile|Stapling(?:Cache|ErrorCacheTimeout|FakeTryLater|ForceURL|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|ReturnResponderErrors|StandardCacheTimeout)|StrictSNIVHostCheck|UserName|UseStapling|VerifyClient|VerifyDepth)|StartServers|StartThreads|Substitute|Suexec|SuexecUserGroup|ThreadLimit|ThreadsPerChild|ThreadStackSize|TimeOut|TraceEnable|TransferLog|TypesConfig|UnDefine|UndefMacro|UnsetEnv|Use|UseCanonicalName|UseCanonicalPhysicalPort|User|UserDir|VHostCGIMode|VHostCGIPrivs|VHostGroup|VHostPrivs|VHostSecure|VHostUser|Virtual(?:DocumentRoot|ScriptAlias)(?:IP)?|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\b/im,lookbehind:!0,alias:"property"},"directive-block":{pattern:/<\/?\b(?:Auth[nz]ProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|Require(?:All|Any|None)|VirtualHost)\b.*>/i,inside:{"directive-block":{pattern:/^<\/?\w+/,inside:{punctuation:/^<\/?/},alias:"tag"},"directive-block-parameter":{pattern:/.*[^>]/,inside:{punctuation:/:/,string:{pattern:/("|').*\1/,inside:{variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/}}},alias:"attr-value"},punctuation:/>/},alias:"tag"},"directive-flags":{pattern:/\[(?:[\w=],?)+\]/,alias:"keyword"},string:{pattern:/("|').*\1/,inside:{variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/}},variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/,regex:/\^?.*\$|\^.*\$?/}}e.exports=t,t.displayName="apacheconf",t.aliases=[]},4556:function(e,t,n){"use strict";var r=n(7740);function a(e){e.register(r),function(e){var t=/\b(?:(?:after|before)(?=\s+[a-z])|abstract|activate|and|any|array|as|asc|autonomous|begin|bigdecimal|blob|boolean|break|bulk|by|byte|case|cast|catch|char|class|collect|commit|const|continue|currency|date|datetime|decimal|default|delete|desc|do|double|else|end|enum|exception|exit|export|extends|final|finally|float|for|from|get(?=\s*[{};])|global|goto|group|having|hint|if|implements|import|in|inner|insert|instanceof|int|integer|interface|into|join|like|limit|list|long|loop|map|merge|new|not|null|nulls|number|object|of|on|or|outer|override|package|parallel|pragma|private|protected|public|retrieve|return|rollback|select|set|short|sObject|sort|static|string|super|switch|synchronized|system|testmethod|then|this|throw|time|transaction|transient|trigger|try|undelete|update|upsert|using|virtual|void|webservice|when|where|while|(?:inherited|with|without)\s+sharing)\b/i,n=/\b(?:(?=[a-z_]\w*\s*[<\[])|(?!<keyword>))[A-Z_]\w*(?:\s*\.\s*[A-Z_]\w*)*\b(?:\s*(?:\[\s*\]|<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>))*/.source.replace(/<keyword>/g,(function(){return t.source}));function r(e){return RegExp(e.replace(/<CLASS-NAME>/g,(function(){return n})),"i")}var a={keyword:t,punctuation:/[()\[\]{};,:.<>]/};e.languages.apex={comment:e.languages.clike.comment,string:e.languages.clike.string,sql:{pattern:/((?:[=,({:]|\breturn)\s*)\[[^\[\]]*\]/i,lookbehind:!0,greedy:!0,alias:"language-sql",inside:e.languages.sql},annotation:{pattern:/@\w+\b/,alias:"punctuation"},"class-name":[{pattern:r(/(\b(?:class|enum|extends|implements|instanceof|interface|new|trigger\s+\w+\s+on)\s+)<CLASS-NAME>/.source),lookbehind:!0,inside:a},{pattern:r(/(\(\s*)<CLASS-NAME>(?=\s*\)\s*[\w(])/.source),lookbehind:!0,inside:a},{pattern:r(/<CLASS-NAME>(?=\s*\w+\s*[;=,(){:])/.source),inside:a}],trigger:{pattern:/(\btrigger\s+)\w+\b/i,lookbehind:!0,alias:"class-name"},keyword:t,function:/\b[a-z_]\w*(?=\s*\()/i,boolean:/\b(?:false|true)\b/i,number:/(?:\B\.\d+|\b\d+(?:\.\d+|L)?)\b/i,operator:/[!=](?:==?)?|\?\.?|&&|\|\||--|\+\+|[-+*/^&|]=?|:|<<?=?|>{1,3}=?/,punctuation:/[()\[\]{};,.]/}}(e)}e.exports=a,a.displayName="apex",a.aliases=[]},5775:function(e){"use strict";function t(e){e.languages.apl={comment:/(?:\u235d|#[! ]).*$/m,string:{pattern:/'(?:[^'\r\n]|'')*'/,greedy:!0},number:/\xaf?(?:\d*\.?\b\d+(?:e[+\xaf]?\d+)?|\xaf|\u221e)(?:j\xaf?(?:(?:\d+(?:\.\d+)?|\.\d+)(?:e[+\xaf]?\d+)?|\xaf|\u221e))?/i,statement:/:[A-Z][a-z][A-Za-z]*\b/,"system-function":{pattern:/\u2395[A-Z]+/i,alias:"function"},constant:/[\u236c\u233e#\u2395\u235e]/,function:/[-+\xd7\xf7\u2308\u230a\u2223|\u2373\u2378?*\u235f\u25cb!\u2339<\u2264=>\u2265\u2260\u2261\u2262\u220a\u2377\u222a\u2229~\u2228\u2227\u2371\u2372\u2374,\u236a\u233d\u2296\u2349\u2191\u2193\u2282\u2283\u2286\u2287\u2337\u234b\u2352\u22a4\u22a5\u2355\u234e\u22a3\u22a2\u2341\u2342\u2248\u236f\u2197\xa4\u2192]/,"monadic-operator":{pattern:/[\\\/\u233f\u2340\xa8\u2368\u2336&\u2225]/,alias:"operator"},"dyadic-operator":{pattern:/[.\u2363\u2360\u2364\u2218\u2338@\u233a\u2365]/,alias:"operator"},assignment:{pattern:/\u2190/,alias:"keyword"},punctuation:/[\[;\]()\u25c7\u22c4]/,dfn:{pattern:/[{}\u237a\u2375\u2376\u2379\u2207\u236b:]/,alias:"builtin"}}}e.exports=t,t.displayName="apl",t.aliases=[]},118:function(e){"use strict";function t(e){e.languages.applescript={comment:[/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,/--.+/,/#.+/],string:/"(?:\\.|[^"\\\r\n])*"/,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e-?\d+)?\b/i,operator:[/[&=\u2260\u2264\u2265*+\-\/\xf7^]|[<>]=?/,/\b(?:(?:begin|end|start)s? with|(?:contains?|(?:does not|doesn't) contain)|(?:is|isn't|is not) (?:contained by|in)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:comes|(?:does not|doesn't) come) (?:after|before)|(?:is|isn't|is not) equal(?: to)?|(?:(?:does not|doesn't) equal|equal to|equals|is not|isn't)|(?:a )?(?:ref(?: to)?|reference to)|(?:and|as|div|mod|not|or))\b/],keyword:/\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\b/,"class-name":/\b(?:POSIX file|RGB color|alias|application|boolean|centimeters|centimetres|class|constant|cubic centimeters|cubic centimetres|cubic feet|cubic inches|cubic meters|cubic metres|cubic yards|date|degrees Celsius|degrees Fahrenheit|degrees Kelvin|feet|file|gallons|grams|inches|integer|kilograms|kilometers|kilometres|list|liters|litres|meters|metres|miles|number|ounces|pounds|quarts|real|record|reference|script|square feet|square kilometers|square kilometres|square meters|square metres|square miles|square yards|text|yards)\b/,punctuation:/[{}():,\xac\xab\xbb\u300a\u300b]/}}e.exports=t,t.displayName="applescript",t.aliases=[]},9134:function(e){"use strict";function t(e){e.languages.aql={comment:/\/\/.*|\/\*[\s\S]*?\*\//,property:{pattern:/([{,]\s*)(?:(?!\d)\w+|(["'\xb4`])(?:(?!\2)[^\\\r\n]|\\.)*\2)(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\.)*\1/,greedy:!0},identifier:{pattern:/([\xb4`])(?:(?!\1)[^\\\r\n]|\\.)*\1/,greedy:!0},variable:/@@?\w+/,keyword:[{pattern:/(\bWITH\s+)COUNT(?=\s+INTO\b)/i,lookbehind:!0},/\b(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_PATHS|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WINDOW|WITH)\b/i,{pattern:/(^|[^\w.[])(?:KEEP|PRUNE|SEARCH|TO)\b/i,lookbehind:!0},{pattern:/(^|[^\w.[])(?:CURRENT|NEW|OLD)\b/,lookbehind:!0},{pattern:/\bOPTIONS(?=\s*\{)/i}],function:/\b(?!\d)\w+(?=\s*\()/,boolean:/\b(?:false|true)\b/i,range:{pattern:/\.\./,alias:"operator"},number:[/\b0b[01]+/i,/\b0x[0-9a-f]+/i,/(?:\B\.\d+|\b(?:0|[1-9]\d*)(?:\.\d+)?)(?:e[+-]?\d+)?/i],operator:/\*{2,}|[=!]~|[!=<>]=?|&&|\|\||[-+*/%]/,punctuation:/::|[?.:,;()[\]{}]/}}e.exports=t,t.displayName="aql",t.aliases=[]},4144:function(e,t,n){"use strict";var r=n(8593);function a(e){e.register(r),e.languages.arduino=e.languages.extend("cpp",{keyword:/\b(?:String|array|bool|boolean|break|byte|case|catch|continue|default|do|double|else|finally|for|function|goto|if|in|instanceof|int|integer|long|loop|new|null|return|setup|string|switch|throw|try|void|while|word)\b/,constant:/\b(?:ANALOG_MESSAGE|DEFAULT|DIGITAL_MESSAGE|EXTERNAL|FIRMATA_STRING|HIGH|INPUT|INPUT_PULLUP|INTERNAL|INTERNAL1V1|INTERNAL2V56|LED_BUILTIN|LOW|OUTPUT|REPORT_ANALOG|REPORT_DIGITAL|SET_PIN_MODE|SYSEX_START|SYSTEM_RESET)\b/,builtin:/\b(?:Audio|BSSID|Bridge|Client|Console|EEPROM|Esplora|EsploraTFT|Ethernet|EthernetClient|EthernetServer|EthernetUDP|File|FileIO|FileSystem|Firmata|GPRS|GSM|GSMBand|GSMClient|GSMModem|GSMPIN|GSMScanner|GSMServer|GSMVoiceCall|GSM_SMS|HttpClient|IPAddress|IRread|Keyboard|KeyboardController|LiquidCrystal|LiquidCrystal_I2C|Mailbox|Mouse|MouseController|PImage|Process|RSSI|RobotControl|RobotMotor|SD|SPI|SSID|Scheduler|Serial|Server|Servo|SoftwareSerial|Stepper|Stream|TFT|Task|USBHost|WiFi|WiFiClient|WiFiServer|WiFiUDP|Wire|YunClient|YunServer|abs|addParameter|analogRead|analogReadResolution|analogReference|analogWrite|analogWriteResolution|answerCall|attach|attachGPRS|attachInterrupt|attached|autoscroll|available|background|beep|begin|beginPacket|beginSD|beginSMS|beginSpeaker|beginTFT|beginTransmission|beginWrite|bit|bitClear|bitRead|bitSet|bitWrite|blink|blinkVersion|buffer|changePIN|checkPIN|checkPUK|checkReg|circle|cityNameRead|cityNameWrite|clear|clearScreen|click|close|compassRead|config|connect|connected|constrain|cos|countryNameRead|countryNameWrite|createChar|cursor|debugPrint|delay|delayMicroseconds|detach|detachInterrupt|digitalRead|digitalWrite|disconnect|display|displayLogos|drawBMP|drawCompass|encryptionType|end|endPacket|endSMS|endTransmission|endWrite|exists|exitValue|fill|find|findUntil|flush|gatewayIP|get|getAsynchronously|getBand|getButton|getCurrentCarrier|getIMEI|getKey|getModifiers|getOemKey|getPINUsed|getResult|getSignalStrength|getSocket|getVoiceCallStatus|getXChange|getYChange|hangCall|height|highByte|home|image|interrupts|isActionDone|isDirectory|isListening|isPIN|isPressed|isValid|keyPressed|keyReleased|keyboardRead|knobRead|leftToRight|line|lineFollowConfig|listen|listenOnLocalhost|loadImage|localIP|lowByte|macAddress|maintain|map|max|messageAvailable|micros|millis|min|mkdir|motorsStop|motorsWrite|mouseDragged|mouseMoved|mousePressed|mouseReleased|move|noAutoscroll|noBlink|noBuffer|noCursor|noDisplay|noFill|noInterrupts|noListenOnLocalhost|noStroke|noTone|onReceive|onRequest|open|openNextFile|overflow|parseCommand|parseFloat|parseInt|parsePacket|pauseMode|peek|pinMode|playFile|playMelody|point|pointTo|position|pow|prepare|press|print|printFirmwareVersion|printVersion|println|process|processInput|pulseIn|put|random|randomSeed|read|readAccelerometer|readBlue|readButton|readBytes|readBytesUntil|readGreen|readJoystickButton|readJoystickSwitch|readJoystickX|readJoystickY|readLightSensor|readMessage|readMicrophone|readNetworks|readRed|readSlider|readString|readStringUntil|readTemperature|ready|rect|release|releaseAll|remoteIP|remoteNumber|remotePort|remove|requestFrom|retrieveCallingNumber|rewindDirectory|rightToLeft|rmdir|robotNameRead|robotNameWrite|run|runAsynchronously|runShellCommand|runShellCommandAsynchronously|running|scanNetworks|scrollDisplayLeft|scrollDisplayRight|seek|sendAnalog|sendDigitalPortPair|sendDigitalPorts|sendString|sendSysex|serialEvent|setBand|setBitOrder|setClockDivider|setCursor|setDNS|setDataMode|setFirmwareVersion|setMode|setPINUsed|setSpeed|setTextSize|setTimeout|shiftIn|shiftOut|shutdown|sin|size|sqrt|startLoop|step|stop|stroke|subnetMask|switchPIN|tan|tempoWrite|text|tone|transfer|tuneWrite|turn|updateIR|userNameRead|userNameWrite|voiceCall|waitContinue|width|write|writeBlue|writeGreen|writeJSON|writeMessage|writeMicroseconds|writeRGB|writeRed|yield)\b/}),e.languages.ino=e.languages.arduino}e.exports=a,a.displayName="arduino",a.aliases=["ino"]},7209:function(e){"use strict";function t(e){e.languages.arff={comment:/%.*/,string:{pattern:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/@(?:attribute|data|end|relation)\b/i,number:/\b\d+(?:\.\d+)?\b/,punctuation:/[{},]/}}e.exports=t,t.displayName="arff",t.aliases=[]},4865:function(e){"use strict";function t(e){!function(e){var t={pattern:/(^[ \t]*)\[(?!\[)(?:(["'$`])(?:(?!\2)[^\\]|\\.)*\2|\[(?:[^\[\]\\]|\\.)*\]|[^\[\]\\"'$`]|\\.)*\]/m,lookbehind:!0,inside:{quoted:{pattern:/([$`])(?:(?!\1)[^\\]|\\.)*\1/,inside:{punctuation:/^[$`]|[$`]$/}},interpreted:{pattern:/'(?:[^'\\]|\\.)*'/,inside:{punctuation:/^'|'$/}},string:/"(?:[^"\\]|\\.)*"/,variable:/\w+(?==)/,punctuation:/^\[|\]$|,/,operator:/=/,"attr-value":/(?!^\s+$).+/}},n=e.languages.asciidoc={"comment-block":{pattern:/^(\/{4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1/m,alias:"comment"},table:{pattern:/^\|={3,}(?:(?:\r?\n|\r(?!\n)).*)*?(?:\r?\n|\r)\|={3,}$/m,inside:{specifiers:{pattern:/(?:(?:(?:\d+(?:\.\d+)?|\.\d+)[+*](?:[<^>](?:\.[<^>])?|\.[<^>])?|[<^>](?:\.[<^>])?|\.[<^>])[a-z]*|[a-z]+)(?=\|)/,alias:"attr-value"},punctuation:{pattern:/(^|[^\\])[|!]=*/,lookbehind:!0}}},"passthrough-block":{pattern:/^(\+{4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1$/m,inside:{punctuation:/^\++|\++$/}},"literal-block":{pattern:/^(-{4,}|\.{4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1$/m,inside:{punctuation:/^(?:-+|\.+)|(?:-+|\.+)$/}},"other-block":{pattern:/^(--|\*{4,}|_{4,}|={4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1$/m,inside:{punctuation:/^(?:-+|\*+|_+|=+)|(?:-+|\*+|_+|=+)$/}},"list-punctuation":{pattern:/(^[ \t]*)(?:-|\*{1,5}|\.{1,5}|(?:[a-z]|\d+)\.|[xvi]+\))(?= )/im,lookbehind:!0,alias:"punctuation"},"list-label":{pattern:/(^[ \t]*)[a-z\d].+(?::{2,4}|;;)(?=\s)/im,lookbehind:!0,alias:"symbol"},"indented-block":{pattern:/((\r?\n|\r)\2)([ \t]+)\S.*(?:(?:\r?\n|\r)\3.+)*(?=\2{2}|$)/,lookbehind:!0},comment:/^\/\/.*/m,title:{pattern:/^.+(?:\r?\n|\r)(?:={3,}|-{3,}|~{3,}|\^{3,}|\+{3,})$|^={1,5} .+|^\.(?![\s.]).*/m,alias:"important",inside:{punctuation:/^(?:\.|=+)|(?:=+|-+|~+|\^+|\++)$/}},"attribute-entry":{pattern:/^:[^:\r\n]+:(?: .*?(?: \+(?:\r?\n|\r).*?)*)?$/m,alias:"tag"},attributes:t,hr:{pattern:/^'{3,}$/m,alias:"punctuation"},"page-break":{pattern:/^<{3,}$/m,alias:"punctuation"},admonition:{pattern:/^(?:CAUTION|IMPORTANT|NOTE|TIP|WARNING):/m,alias:"keyword"},callout:[{pattern:/(^[ \t]*)<?\d*>/m,lookbehind:!0,alias:"symbol"},{pattern:/<\d+>/,alias:"symbol"}],macro:{pattern:/\b[a-z\d][a-z\d-]*::?(?:[^\s\[\]]*\[(?:[^\]\\"']|(["'])(?:(?!\1)[^\\]|\\.)*\1|\\.)*\])/,inside:{function:/^[a-z\d-]+(?=:)/,punctuation:/^::?/,attributes:{pattern:/(?:\[(?:[^\]\\"']|(["'])(?:(?!\1)[^\\]|\\.)*\1|\\.)*\])/,inside:t.inside}}},inline:{pattern:/(^|[^\\])(?:(?:\B\[(?:[^\]\\"']|(["'])(?:(?!\2)[^\\]|\\.)*\2|\\.)*\])?(?:\b_(?!\s)(?: _|[^_\\\r\n]|\\.)+(?:(?:\r?\n|\r)(?: _|[^_\\\r\n]|\\.)+)*_\b|\B``(?!\s).+?(?:(?:\r?\n|\r).+?)*''\B|\B`(?!\s)(?:[^`'\s]|\s+\S)+['`]\B|\B(['*+#])(?!\s)(?: \3|(?!\3)[^\\\r\n]|\\.)+(?:(?:\r?\n|\r)(?: \3|(?!\3)[^\\\r\n]|\\.)+)*\3\B)|(?:\[(?:[^\]\\"']|(["'])(?:(?!\4)[^\\]|\\.)*\4|\\.)*\])?(?:(__|\*\*|\+\+\+?|##|\$\$|[~^]).+?(?:(?:\r?\n|\r).+?)*\5|\{[^}\r\n]+\}|\[\[\[?.+?(?:(?:\r?\n|\r).+?)*\]?\]\]|<<.+?(?:(?:\r?\n|\r).+?)*>>|\(\(\(?.+?(?:(?:\r?\n|\r).+?)*\)?\)\)))/m,lookbehind:!0,inside:{attributes:t,url:{pattern:/^(?:\[\[\[?.+?\]?\]\]|<<.+?>>)$/,inside:{punctuation:/^(?:\[\[\[?|<<)|(?:\]\]\]?|>>)$/}},"attribute-ref":{pattern:/^\{.+\}$/,inside:{variable:{pattern:/(^\{)[a-z\d,+_-]+/,lookbehind:!0},operator:/^[=?!#%@$]|!(?=[:}])/,punctuation:/^\{|\}$|::?/}},italic:{pattern:/^(['_])[\s\S]+\1$/,inside:{punctuation:/^(?:''?|__?)|(?:''?|__?)$/}},bold:{pattern:/^\*[\s\S]+\*$/,inside:{punctuation:/^\*\*?|\*\*?$/}},punctuation:/^(?:``?|\+{1,3}|##?|\$\$|[~^]|\(\(\(?)|(?:''?|\+{1,3}|##?|\$\$|[~^`]|\)?\)\))$/}},replacement:{pattern:/\((?:C|R|TM)\)/,alias:"builtin"},entity:/&#?[\da-z]{1,8};/i,"line-continuation":{pattern:/(^| )\+$/m,lookbehind:!0,alias:"punctuation"}};function r(e){for(var t={},r=0,a=(e=e.split(" ")).length;r<a;r++)t[e[r]]=n[e[r]];return t}t.inside.interpreted.inside.rest=r("macro inline replacement entity"),n["passthrough-block"].inside.rest=r("macro"),n["literal-block"].inside.rest=r("callout"),n.table.inside.rest=r("comment-block passthrough-block literal-block other-block list-punctuation indented-block comment title attribute-entry attributes hr page-break admonition list-label callout macro inline replacement entity line-continuation"),n["other-block"].inside.rest=r("table list-punctuation indented-block comment attribute-entry attributes hr page-break admonition list-label macro inline replacement entity line-continuation"),n.title.inside.rest=r("macro inline replacement entity"),e.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.value.replace(/&/,"&"))})),e.languages.adoc=e.languages.asciidoc}(e)}e.exports=t,t.displayName="asciidoc",t.aliases=["adoc"]},2083:function(e){"use strict";function t(e){e.languages.asm6502={comment:/;.*/,directive:{pattern:/\.\w+(?= )/,alias:"property"},string:/(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,"op-code":{pattern:/\b(?:ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA|adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya)\b/,alias:"keyword"},"hex-number":{pattern:/#?\$[\da-f]{1,4}\b/i,alias:"number"},"binary-number":{pattern:/#?%[01]+\b/,alias:"number"},"decimal-number":{pattern:/#?\b\d+\b/,alias:"number"},register:{pattern:/\b[xya]\b/i,alias:"variable"},punctuation:/[(),:]/}}e.exports=t,t.displayName="asm6502",t.aliases=[]},6054:function(e){"use strict";function t(e){e.languages.asmatmel={comment:{pattern:/;.*/,greedy:!0},string:{pattern:/(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},constant:/\b(?:PORT[A-Z]|DDR[A-Z]|(?:DD|P)[A-Z](?:\d|[0-2]\d|3[01]))\b/,directive:{pattern:/\.\w+(?= )/,alias:"property"},"r-register":{pattern:/\br(?:\d|[12]\d|3[01])\b/,alias:"variable"},"op-code":{pattern:/\b(?:ADC|ADD|ADIW|AND|ANDI|ASR|BCLR|BLD|BRBC|BRBS|BRCC|BRCS|BREAK|BREQ|BRGE|BRHC|BRHS|BRID|BRIE|BRLO|BRLT|BRMI|BRNE|BRPL|BRSH|BRTC|BRTS|BRVC|BRVS|BSET|BST|CALL|CBI|CBR|CLC|CLH|CLI|CLN|CLR|CLS|CLT|CLV|CLZ|COM|CP|CPC|CPI|CPSE|DEC|DES|EICALL|EIJMP|ELPM|EOR|FMUL|FMULS|FMULSU|ICALL|IJMP|IN|INC|JMP|LAC|LAS|LAT|LD|LD[A-Za-z0-9]|LPM|LSL|LSR|MOV|MOVW|MUL|MULS|MULSU|NEG|NOP|OR|ORI|OUT|POP|PUSH|RCALL|RET|RETI|RJMP|ROL|ROR|SBC|SBCI|SBI|SBIC|SBIS|SBIW|SBR|SBRC|SBRS|SEC|SEH|SEI|SEN|SER|SES|SET|SEV|SEZ|SLEEP|SPM|ST|ST[A-Z0-9]|SUB|SUBI|SWAP|TST|WDR|XCH|adc|add|adiw|and|andi|asr|bclr|bld|brbc|brbs|brcc|brcs|break|breq|brge|brhc|brhs|brid|brie|brlo|brlt|brmi|brne|brpl|brsh|brtc|brts|brvc|brvs|bset|bst|call|cbi|cbr|clc|clh|cli|cln|clr|cls|clt|clv|clz|com|cp|cpc|cpi|cpse|dec|des|eicall|eijmp|elpm|eor|fmul|fmuls|fmulsu|icall|ijmp|in|inc|jmp|lac|las|lat|ld|ld[a-z0-9]|lpm|lsl|lsr|mov|movw|mul|muls|mulsu|neg|nop|or|ori|out|pop|push|rcall|ret|reti|rjmp|rol|ror|sbc|sbci|sbi|sbic|sbis|sbiw|sbr|sbrc|sbrs|sec|seh|sei|sen|ser|ses|set|sev|sez|sleep|spm|st|st[a-zA-Z0-9]|sub|subi|swap|tst|wdr|xch)\b/,alias:"keyword"},"hex-number":{pattern:/#?\$[\da-f]{2,4}\b/i,alias:"number"},"binary-number":{pattern:/#?%[01]+\b/,alias:"number"},"decimal-number":{pattern:/#?\b\d+\b/,alias:"number"},register:{pattern:/\b[acznvshtixy]\b/i,alias:"variable"},operator:/>>=?|<<=?|&&?|\|\|?|[-+*/%&|^!=<>?]=?/,punctuation:/[(),:]/}}e.exports=t,t.displayName="asmatmel",t.aliases=[]},476:function(e,t,n){"use strict";var r=n(3281);function a(e){e.register(r),e.languages.aspnet=e.languages.extend("markup",{"page-directive":{pattern:/<%\s*@.*%>/,alias:"tag",inside:{"page-directive":{pattern:/<%\s*@\s*(?:Assembly|Control|Implements|Import|Master(?:Type)?|OutputCache|Page|PreviousPageType|Reference|Register)?|%>/i,alias:"tag"},rest:e.languages.markup.tag.inside}},directive:{pattern:/<%.*%>/,alias:"tag",inside:{directive:{pattern:/<%\s*?[$=%#:]{0,2}|%>/,alias:"tag"},rest:e.languages.csharp}}}),e.languages.aspnet.tag.pattern=/<(?!%)\/?[^\s>\/]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/,e.languages.insertBefore("inside","punctuation",{directive:e.languages.aspnet.directive},e.languages.aspnet.tag.inside["attr-value"]),e.languages.insertBefore("aspnet","comment",{"asp-comment":{pattern:/<%--[\s\S]*?--%>/,alias:["asp","comment"]}}),e.languages.insertBefore("aspnet",e.languages.javascript?"script":"tag",{"asp-script":{pattern:/(<script(?=.*runat=['"]?server\b)[^>]*>)[\s\S]*?(?=<\/script>)/i,lookbehind:!0,alias:["asp","script"],inside:e.languages.csharp||{}}})}e.exports=a,a.displayName="aspnet",a.aliases=[]},9894:function(e){"use strict";function t(e){e.languages.autohotkey={comment:[{pattern:/(^|\s);.*/,lookbehind:!0},{pattern:/(^[\t ]*)\/\*(?:[\r\n](?![ \t]*\*\/)|[^\r\n])*(?:[\r\n][ \t]*\*\/)?/m,lookbehind:!0,greedy:!0}],tag:{pattern:/^([ \t]*)[^\s,`":]+(?=:[ \t]*$)/m,lookbehind:!0},string:/"(?:[^"\n\r]|"")*"/,variable:/%\w+%/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/\?|\/\/?=?|:=|\|[=|]?|&[=&]?|\+[=+]?|-[=-]?|\*[=*]?|<(?:<=?|>|=)?|>>?=?|[.^!=~]=?|\b(?:AND|NOT|OR)\b/,boolean:/\b(?:false|true)\b/,selector:/\b(?:AutoTrim|BlockInput|Break|Click|ClipWait|Continue|Control|ControlClick|ControlFocus|ControlGet|ControlGetFocus|ControlGetPos|ControlGetText|ControlMove|ControlSend|ControlSendRaw|ControlSetText|CoordMode|Critical|DetectHiddenText|DetectHiddenWindows|Drive|DriveGet|DriveSpaceFree|EnvAdd|EnvDiv|EnvGet|EnvMult|EnvSet|EnvSub|EnvUpdate|Exit|ExitApp|FileAppend|FileCopy|FileCopyDir|FileCreateDir|FileCreateShortcut|FileDelete|FileEncoding|FileGetAttrib|FileGetShortcut|FileGetSize|FileGetTime|FileGetVersion|FileInstall|FileMove|FileMoveDir|FileRead|FileReadLine|FileRecycle|FileRecycleEmpty|FileRemoveDir|FileSelectFile|FileSelectFolder|FileSetAttrib|FileSetTime|FormatTime|GetKeyState|Gosub|Goto|GroupActivate|GroupAdd|GroupClose|GroupDeactivate|Gui|GuiControl|GuiControlGet|Hotkey|ImageSearch|IniDelete|IniRead|IniWrite|Input|InputBox|KeyWait|ListHotkeys|ListLines|ListVars|Loop|Menu|MouseClick|MouseClickDrag|MouseGetPos|MouseMove|MsgBox|OnExit|OutputDebug|Pause|PixelGetColor|PixelSearch|PostMessage|Process|Progress|Random|RegDelete|RegRead|RegWrite|Reload|Repeat|Return|Run|RunAs|RunWait|Send|SendEvent|SendInput|SendMessage|SendMode|SendPlay|SendRaw|SetBatchLines|SetCapslockState|SetControlDelay|SetDefaultMouseSpeed|SetEnv|SetFormat|SetKeyDelay|SetMouseDelay|SetNumlockState|SetRegView|SetScrollLockState|SetStoreCapslockMode|SetTimer|SetTitleMatchMode|SetWinDelay|SetWorkingDir|Shutdown|Sleep|Sort|SoundBeep|SoundGet|SoundGetWaveVolume|SoundPlay|SoundSet|SoundSetWaveVolume|SplashImage|SplashTextOff|SplashTextOn|SplitPath|StatusBarGetText|StatusBarWait|StringCaseSense|StringGetPos|StringLeft|StringLen|StringLower|StringMid|StringReplace|StringRight|StringSplit|StringTrimLeft|StringTrimRight|StringUpper|Suspend|SysGet|Thread|ToolTip|Transform|TrayTip|URLDownloadToFile|WinActivate|WinActivateBottom|WinClose|WinGet|WinGetActiveStats|WinGetActiveTitle|WinGetClass|WinGetPos|WinGetText|WinGetTitle|WinHide|WinKill|WinMaximize|WinMenuSelectItem|WinMinimize|WinMinimizeAll|WinMinimizeAllUndo|WinMove|WinRestore|WinSet|WinSetTitle|WinShow|WinWait|WinWaitActive|WinWaitClose|WinWaitNotActive)\b/i,constant:/\b(?:a_ahkpath|a_ahkversion|a_appdata|a_appdatacommon|a_autotrim|a_batchlines|a_caretx|a_carety|a_computername|a_controldelay|a_cursor|a_dd|a_ddd|a_dddd|a_defaultmousespeed|a_desktop|a_desktopcommon|a_detecthiddentext|a_detecthiddenwindows|a_endchar|a_eventinfo|a_exitreason|a_fileencoding|a_formatfloat|a_formatinteger|a_gui|a_guicontrol|a_guicontrolevent|a_guievent|a_guiheight|a_guiwidth|a_guix|a_guiy|a_hour|a_iconfile|a_iconhidden|a_iconnumber|a_icontip|a_index|a_ipaddress1|a_ipaddress2|a_ipaddress3|a_ipaddress4|a_is64bitos|a_isadmin|a_iscompiled|a_iscritical|a_ispaused|a_issuspended|a_isunicode|a_keydelay|a_language|a_lasterror|a_linefile|a_linenumber|a_loopfield|a_loopfileattrib|a_loopfiledir|a_loopfileext|a_loopfilefullpath|a_loopfilelongpath|a_loopfilename|a_loopfileshortname|a_loopfileshortpath|a_loopfilesize|a_loopfilesizekb|a_loopfilesizemb|a_loopfiletimeaccessed|a_loopfiletimecreated|a_loopfiletimemodified|a_loopreadline|a_loopregkey|a_loopregname|a_loopregsubkey|a_loopregtimemodified|a_loopregtype|a_mday|a_min|a_mm|a_mmm|a_mmmm|a_mon|a_mousedelay|a_msec|a_mydocuments|a_now|a_nowutc|a_numbatchlines|a_ostype|a_osversion|a_priorhotkey|a_priorkey|a_programfiles|a_programs|a_programscommon|a_ptrsize|a_regview|a_screendpi|a_screenheight|a_screenwidth|a_scriptdir|a_scriptfullpath|a_scripthwnd|a_scriptname|a_sec|a_space|a_startmenu|a_startmenucommon|a_startup|a_startupcommon|a_stringcasesense|a_tab|a_temp|a_thisfunc|a_thishotkey|a_thislabel|a_thismenu|a_thismenuitem|a_thismenuitempos|a_tickcount|a_timeidle|a_timeidlephysical|a_timesincepriorhotkey|a_timesincethishotkey|a_titlematchmode|a_titlematchmodespeed|a_username|a_wday|a_windelay|a_windir|a_workingdir|a_yday|a_year|a_yweek|a_yyyy|clipboard|clipboardall|comspec|errorlevel|programfiles)\b/i,builtin:/\b(?:abs|acos|asc|asin|atan|ceil|chr|class|comobjactive|comobjarray|comobjconnect|comobjcreate|comobjerror|comobjflags|comobjget|comobjquery|comobjtype|comobjvalue|cos|dllcall|exp|fileexist|Fileopen|floor|format|il_add|il_create|il_destroy|instr|isfunc|islabel|IsObject|ln|log|ltrim|lv_add|lv_delete|lv_deletecol|lv_getcount|lv_getnext|lv_gettext|lv_insert|lv_insertcol|lv_modify|lv_modifycol|lv_setimagelist|mod|numget|numput|onmessage|regexmatch|regexreplace|registercallback|round|rtrim|sb_seticon|sb_setparts|sb_settext|sin|sqrt|strlen|strreplace|strsplit|substr|tan|tv_add|tv_delete|tv_get|tv_getchild|tv_getcount|tv_getnext|tv_getparent|tv_getprev|tv_getselection|tv_gettext|tv_modify|varsetcapacity|winactive|winexist|__Call|__Get|__New|__Set)\b/i,symbol:/\b(?:alt|altdown|altup|appskey|backspace|browser_back|browser_favorites|browser_forward|browser_home|browser_refresh|browser_search|browser_stop|bs|capslock|ctrl|ctrlbreak|ctrldown|ctrlup|del|delete|down|end|enter|esc|escape|f1|f10|f11|f12|f13|f14|f15|f16|f17|f18|f19|f2|f20|f21|f22|f23|f24|f3|f4|f5|f6|f7|f8|f9|home|ins|insert|joy1|joy10|joy11|joy12|joy13|joy14|joy15|joy16|joy17|joy18|joy19|joy2|joy20|joy21|joy22|joy23|joy24|joy25|joy26|joy27|joy28|joy29|joy3|joy30|joy31|joy32|joy4|joy5|joy6|joy7|joy8|joy9|joyaxes|joybuttons|joyinfo|joyname|joypov|joyr|joyu|joyv|joyx|joyy|joyz|lalt|launch_app1|launch_app2|launch_mail|launch_media|lbutton|lcontrol|lctrl|left|lshift|lwin|lwindown|lwinup|mbutton|media_next|media_play_pause|media_prev|media_stop|numlock|numpad0|numpad1|numpad2|numpad3|numpad4|numpad5|numpad6|numpad7|numpad8|numpad9|numpadadd|numpadclear|numpaddel|numpaddiv|numpaddot|numpaddown|numpadend|numpadenter|numpadhome|numpadins|numpadleft|numpadmult|numpadpgdn|numpadpgup|numpadright|numpadsub|numpadup|pgdn|pgup|printscreen|ralt|rbutton|rcontrol|rctrl|right|rshift|rwin|rwindown|rwinup|scrolllock|shift|shiftdown|shiftup|space|tab|up|volume_down|volume_mute|volume_up|wheeldown|wheelleft|wheelright|wheelup|xbutton1|xbutton2)\b/i,important:/#\b(?:AllowSameLineComments|ClipboardTimeout|CommentFlag|DerefChar|ErrorStdOut|EscapeChar|HotkeyInterval|HotkeyModifierTimeout|Hotstring|If|IfTimeout|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Include|IncludeAgain|InputLevel|InstallKeybdHook|InstallMouseHook|KeyHistory|MaxHotkeysPerInterval|MaxMem|MaxThreads|MaxThreadsBuffer|MaxThreadsPerHotkey|MenuMaskKey|NoEnv|NoTrayIcon|Persistent|SingleInstance|UseHook|Warn|WinActivateForce)\b/i,keyword:/\b(?:Abort|AboveNormal|Add|ahk_class|ahk_exe|ahk_group|ahk_id|ahk_pid|All|Alnum|Alpha|AltSubmit|AltTab|AltTabAndMenu|AltTabMenu|AltTabMenuDismiss|AlwaysOnTop|AutoSize|Background|BackgroundTrans|BelowNormal|between|BitAnd|BitNot|BitOr|BitShiftLeft|BitShiftRight|BitXOr|Bold|Border|Button|ByRef|Catch|Checkbox|Checked|CheckedGray|Choose|ChooseString|Close|Color|ComboBox|Contains|ControlList|Count|Date|DateTime|Days|DDL|Default|DeleteAll|Delimiter|Deref|Destroy|Digit|Disable|Disabled|DropDownList|Edit|Eject|Else|Enable|Enabled|Error|Exist|Expand|ExStyle|FileSystem|Finally|First|Flash|Float|FloatFast|Focus|Font|for|global|Grid|Group|GroupBox|GuiClose|GuiContextMenu|GuiDropFiles|GuiEscape|GuiSize|Hdr|Hidden|Hide|High|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|Hours|HScroll|Icon|IconSmall|ID|IDLast|If|IfEqual|IfExist|IfGreater|IfGreaterOrEqual|IfInString|IfLess|IfLessOrEqual|IfMsgBox|IfNotEqual|IfNotExist|IfNotInString|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Ignore|ImageList|in|Integer|IntegerFast|Interrupt|is|italic|Join|Label|LastFound|LastFoundExist|Limit|Lines|List|ListBox|ListView|local|Lock|Logoff|Low|Lower|Lowercase|MainWindow|Margin|Maximize|MaximizeBox|MaxSize|Minimize|MinimizeBox|MinMax|MinSize|Minutes|MonthCal|Mouse|Move|Multi|NA|No|NoActivate|NoDefault|NoHide|NoIcon|NoMainWindow|norm|Normal|NoSort|NoSortHdr|NoStandard|Not|NoTab|NoTimers|Number|Off|Ok|On|OwnDialogs|Owner|Parse|Password|Picture|Pixel|Pos|Pow|Priority|ProcessName|Radio|Range|Read|ReadOnly|Realtime|Redraw|Region|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|Relative|Rename|Report|Resize|Restore|Retry|RGB|Screen|Seconds|Section|Serial|SetLabel|ShiftAltTab|Show|Single|Slider|SortDesc|Standard|static|Status|StatusBar|StatusCD|strike|Style|Submit|SysMenu|Tab2|TabStop|Text|Theme|Throw|Tile|ToggleCheck|ToggleEnable|ToolWindow|Top|Topmost|TransColor|Transparent|Tray|TreeView|Try|TryAgain|Type|UnCheck|underline|Unicode|Unlock|Until|UpDown|Upper|Uppercase|UseErrorLevel|Vis|VisFirst|Visible|VScroll|Wait|WaitClose|WantCtrlA|WantF2|WantReturn|While|Wrap|Xdigit|xm|xp|xs|Yes|ym|yp|ys)\b/i,function:/[^(); \t,\n+*\-=?>:\\\/<&%\[\]]+(?=\()/,punctuation:/[{}[\]():,]/}}e.exports=t,t.displayName="autohotkey",t.aliases=[]},4291:function(e){"use strict";function t(e){e.languages.autoit={comment:[/;.*/,{pattern:/(^[\t ]*)#(?:comments-start|cs)[\s\S]*?^[ \t]*#(?:ce|comments-end)/m,lookbehind:!0}],url:{pattern:/(^[\t ]*#include\s+)(?:<[^\r\n>]+>|"[^\r\n"]+")/m,lookbehind:!0},string:{pattern:/(["'])(?:\1\1|(?!\1)[^\r\n])*\1/,greedy:!0,inside:{variable:/([%$@])\w+\1/}},directive:{pattern:/(^[\t ]*)#[\w-]+/m,lookbehind:!0,alias:"keyword"},function:/\b\w+(?=\()/,variable:/[$@]\w+/,keyword:/\b(?:Case|Const|Continue(?:Case|Loop)|Default|Dim|Do|Else(?:If)?|End(?:Func|If|Select|Switch|With)|Enum|Exit(?:Loop)?|For|Func|Global|If|In|Local|Next|Null|ReDim|Select|Static|Step|Switch|Then|To|Until|Volatile|WEnd|While|With)\b/i,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,boolean:/\b(?:False|True)\b/i,operator:/<[=>]?|[-+*\/=&>]=?|[?^]|\b(?:And|Not|Or)\b/i,punctuation:/[\[\]().,:]/}}e.exports=t,t.displayName="autoit",t.aliases=[]},3981:function(e){"use strict";function t(e){!function(e){function t(e,t,n){return RegExp(function(e,t){return e.replace(/<<(\d+)>>/g,(function(e,n){return t[+n]}))}(e,t),n||"")}var n=/bool|clip|float|int|string|val/.source,r=[[/is(?:bool|clip|float|int|string)|defined|(?:(?:internal)?function|var)?exists?/.source,/apply|assert|default|eval|import|nop|select|undefined/.source,/opt_(?:allowfloataudio|avipadscanlines|dwchannelmask|enable_(?:b64a|planartopackedrgb|v210|y3_10_10|y3_10_16)|usewaveextensible|vdubplanarhack)|set(?:cachemode|maxcpu|memorymax|planarlegacyalignment|workingdir)/.source,/hex(?:value)?|value/.source,/abs|ceil|continued(?:denominator|numerator)?|exp|floor|fmod|frac|log(?:10)?|max|min|muldiv|pi|pow|rand|round|sign|spline|sqrt/.source,/a?sinh?|a?cosh?|a?tan[2h]?/.source,/(?:bit(?:and|not|x?or|[lr]?shift[aslu]?|sh[lr]|sa[lr]|[lr]rotatel?|ro[rl]|te?st|set(?:count)?|cl(?:ea)?r|ch(?:an)?ge?))/.source,/average(?:[bgr]|chroma[uv]|luma)|(?:[rgb]|chroma[uv]|luma|rgb|[yuv](?=difference(?:fromprevious|tonext)))difference(?:fromprevious|tonext)?|[yuvrgb]plane(?:median|min|max|minmaxdifference)/.source,/getprocessinfo|logmsg|script(?:dir(?:utf8)?|file(?:utf8)?|name(?:utf8)?)|setlogparams/.source,/chr|(?:fill|find|left|mid|replace|rev|right)str|format|[lu]case|ord|str(?:cmpi?|fromutf8|len|toutf8)|time|trim(?:all|left|right)/.source,/isversionorgreater|version(?:number|string)/.source,/buildpixeltype|colorspacenametopixeltype/.source,/addautoloaddir|on(?:cpu|cuda)|prefetch|setfiltermtmode/.source].join("|"),[/has(?:audio|video)/.source,/height|width/.source,/frame(?:count|rate)|framerate(?:denominator|numerator)/.source,/getparity|is(?:field|frame)based/.source,/bitspercomponent|componentsize|hasalpha|is(?:planar(?:rgba?)?|interleaved|rgb(?:24|32|48|64)?|y(?:8|u(?:va?|y2))?|yv(?:12|16|24|411)|420|422|444|packedrgb)|numcomponents|pixeltype/.source,/audio(?:bits|channels|duration|length(?:[fs]|hi|lo)?|rate)|isaudio(?:float|int)/.source].join("|"),[/avi(?:file)?source|directshowsource|image(?:reader|source|sourceanim)|opendmlsource|segmented(?:avisource|directshowsource)|wavsource/.source,/coloryuv|convertbacktoyuy2|convertto(?:RGB(?:24|32|48|64)|(?:planar)?RGBA?|Y8?|YV(?:12|16|24|411)|YUVA?(?:411|420|422|444)|YUY2)|fixluminance|gr[ae]yscale|invert|levels|limiter|mergea?rgb|merge(?:chroma|luma)|rgbadjust|show(?:alpha|blue|green|red)|swapuv|tweak|[uv]toy8?|ytouv/.source,/(?:colorkey|reset)mask|layer|mask(?:hs)?|merge|overlay|subtract/.source,/addborders|(?:bicubic|bilinear|blackman|gauss|lanczos4|lanczos|point|sinc|spline(?:16|36|64))resize|crop(?:bottom)?|flip(?:horizontal|vertical)|(?:horizontal|vertical)?reduceby2|letterbox|skewrows|turn(?:180|left|right)/.source,/blur|fixbrokenchromaupsampling|generalconvolution|(?:spatial|temporal)soften|sharpen/.source,/trim|(?:un)?alignedsplice|(?:assume|assumescaled|change|convert)FPS|(?:delete|duplicate)frame|dissolve|fade(?:in|io|out)[02]?|freezeframe|interleave|loop|reverse|select(?:even|odd|(?:range)?every)/.source,/assume[bt]ff|assume(?:field|frame)based|bob|complementparity|doubleweave|peculiarblend|pulldown|separate(?:columns|fields|rows)|swapfields|weave(?:columns|rows)?/.source,/amplify(?:db)?|assumesamplerate|audiodub(?:ex)?|audiotrim|convertaudioto(?:(?:8|16|24|32)bit|float)|converttomono|delayaudio|ensurevbrmp3sync|get(?:left|right)?channel|kill(?:audio|video)|mergechannels|mixaudio|monotostereo|normalize|resampleaudio|ssrc|supereq|timestretch/.source,/animate|applyrange|conditional(?:filter|reader|select)|frameevaluate|scriptclip|tcp(?:server|source)|writefile(?:end|if|start)?/.source,/imagewriter/.source,/blackness|blankclip|colorbars(?:hd)?|compare|dumpfiltergraph|echo|histogram|info|messageclip|preroll|setgraphanalysis|show(?:framenumber|smpte|time)|showfiveversions|stack(?:horizontal|vertical)|subtitle|tone|version/.source].join("|")].join("|");e.languages.avisynth={comment:[{pattern:/(^|[^\\])\[\*(?:[^\[*]|\[(?!\*)|\*(?!\])|\[\*(?:[^\[*]|\[(?!\*)|\*(?!\]))*\*\])*\*\]/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\$])#.*/,lookbehind:!0,greedy:!0}],argument:{pattern:t(/\b(?:<<0>>)\s+("?)\w+\1/.source,[n],"i"),inside:{keyword:/^\w+/}},"argument-label":{pattern:/([,(][\s\\]*)\w+\s*=(?!=)/,lookbehind:!0,inside:{"argument-name":{pattern:/^\w+/,alias:"punctuation"},punctuation:/=$/}},string:[{pattern:/"""[\s\S]*?"""/,greedy:!0},{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0,inside:{constant:{pattern:/\b(?:DEFAULT_MT_MODE|(?:MAINSCRIPT|PROGRAM|SCRIPT)DIR|(?:MACHINE|USER)_(?:CLASSIC|PLUS)_PLUGINS)\b/}}}],variable:/\b(?:last)\b/i,boolean:/\b(?:false|no|true|yes)\b/i,keyword:/\b(?:catch|else|for|function|global|if|return|try|while|__END__)\b/i,constant:/\bMT_(?:MULTI_INSTANCE|NICE_FILTER|SERIALIZED|SPECIAL_MT)\b/,"builtin-function":{pattern:t(/\b(?:<<0>>)\b/.source,[r],"i"),alias:"function"},"type-cast":{pattern:t(/\b(?:<<0>>)(?=\s*\()/.source,[n],"i"),alias:"keyword"},function:{pattern:/\b[a-z_]\w*(?=\s*\()|(\.)[a-z_]\w*\b/i,lookbehind:!0},"line-continuation":{pattern:/(^[ \t]*)\\|\\(?=[ \t]*$)/m,lookbehind:!0,alias:"punctuation"},number:/\B\$(?:[\da-f]{6}|[\da-f]{8})\b|(?:(?:\b|\B-)\d+(?:\.\d*)?\b|\B\.\d+\b)/i,operator:/\+\+?|[!=<>]=?|&&|\|\||[?:*/%-]/,punctuation:/[{}\[\]();,.]/},e.languages.avs=e.languages.avisynth}(e)}e.exports=t,t.displayName="avisynth",t.aliases=["avs"]},9730:function(e){"use strict";function t(e){e.languages["avro-idl"]={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/(^|[^\\])"(?:[^\r\n"\\]|\\.)*"/,lookbehind:!0,greedy:!0},annotation:{pattern:/@(?:[$\w.-]|`[^\r\n`]+`)+/,greedy:!0,alias:"function"},"function-identifier":{pattern:/`[^\r\n`]+`(?=\s*\()/,greedy:!0,alias:"function"},identifier:{pattern:/`[^\r\n`]+`/,greedy:!0},"class-name":{pattern:/(\b(?:enum|error|protocol|record|throws)\b\s+)[$\w]+/,lookbehind:!0,greedy:!0},keyword:/\b(?:array|boolean|bytes|date|decimal|double|enum|error|false|fixed|float|idl|import|int|local_timestamp_ms|long|map|null|oneway|protocol|record|schema|string|throws|time_ms|timestamp_ms|true|union|uuid|void)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:[{pattern:/(^|[^\w.])-?(?:(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|0x(?:[a-f0-9]+(?:\.[a-f0-9]*)?|\.[a-f0-9]+)(?:p[+-]?\d+)?)[dfl]?(?![\w.])/i,lookbehind:!0},/-?\b(?:Infinity|NaN)\b/],operator:/=/,punctuation:/[()\[\]{}<>.:,;-]/},e.languages.avdl=e.languages["avro-idl"]}e.exports=t,t.displayName="avroIdl",t.aliases=[]},7033:function(e){"use strict";function t(e){!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],i=r.variable[1].inside,o=0;o<a.length;o++)i[a[o]]=e.languages.bash[a[o]];e.languages.shell=e.languages.bash}(e)}e.exports=t,t.displayName="bash",t.aliases=["shell"]},7867:function(e){"use strict";function t(e){e.languages.basic={comment:{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},string:{pattern:/"(?:""|[!#$%&'()*,\/:;<=>?^\w +\-.])*"/,greedy:!0},number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,keyword:/\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SELECT CASE|SHARED|SHELL|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|\b)/i,function:/\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|\b)/i,operator:/<[=>]?|>=?|[+\-*\/^=&]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i,punctuation:/[,;:()]/}}e.exports=t,t.displayName="basic",t.aliases=[]},9607:function(e){"use strict";function t(e){!function(e){var t=/%%?[~:\w]+%?|!\S+!/,n={pattern:/\/[a-z?]+(?=[ :]|$):?|-[a-z]\b|--[a-z-]+\b/im,alias:"attr-name",inside:{punctuation:/:/}},r=/"(?:[\\"]"|[^"])*"(?!")/,a=/(?:\b|-)\d+\b/;e.languages.batch={comment:[/^::.*/m,{pattern:/((?:^|[&(])[ \t]*)rem\b(?:[^^&)\r\n]|\^(?:\r\n|[\s\S]))*/im,lookbehind:!0}],label:{pattern:/^:.*/m,alias:"property"},command:[{pattern:/((?:^|[&(])[ \t]*)for(?: \/[a-z?](?:[ :](?:"[^"]*"|[^\s"/]\S*))?)* \S+ in \([^)]+\) do/im,lookbehind:!0,inside:{keyword:/\b(?:do|in)\b|^for\b/i,string:r,parameter:n,variable:t,number:a,punctuation:/[()',]/}},{pattern:/((?:^|[&(])[ \t]*)if(?: \/[a-z?](?:[ :](?:"[^"]*"|[^\s"/]\S*))?)* (?:not )?(?:cmdextversion \d+|defined \w+|errorlevel \d+|exist \S+|(?:"[^"]*"|(?!")(?:(?!==)\S)+)?(?:==| (?:equ|geq|gtr|leq|lss|neq) )(?:"[^"]*"|[^\s"]\S*))/im,lookbehind:!0,inside:{keyword:/\b(?:cmdextversion|defined|errorlevel|exist|not)\b|^if\b/i,string:r,parameter:n,variable:t,number:a,operator:/\^|==|\b(?:equ|geq|gtr|leq|lss|neq)\b/i}},{pattern:/((?:^|[&()])[ \t]*)else\b/im,lookbehind:!0,inside:{keyword:/^else\b/i}},{pattern:/((?:^|[&(])[ \t]*)set(?: \/[a-z](?:[ :](?:"[^"]*"|[^\s"/]\S*))?)* (?:[^^&)\r\n]|\^(?:\r\n|[\s\S]))*/im,lookbehind:!0,inside:{keyword:/^set\b/i,string:r,parameter:n,variable:[t,/\w+(?=(?:[*\/%+\-&^|]|<<|>>)?=)/],number:a,operator:/[*\/%+\-&^|]=?|<<=?|>>=?|[!~_=]/,punctuation:/[()',]/}},{pattern:/((?:^|[&(])[ \t]*@?)\w+\b(?:"(?:[\\"]"|[^"])*"(?!")|[^"^&)\r\n]|\^(?:\r\n|[\s\S]))*/m,lookbehind:!0,inside:{keyword:/^\w+\b/,string:r,parameter:n,label:{pattern:/(^\s*):\S+/m,lookbehind:!0,alias:"property"},variable:t,number:a,operator:/\^/}}],operator:/[&@]/,punctuation:/[()']/}}(e)}e.exports=t,t.displayName="batch",t.aliases=[]},150:function(e){"use strict";function t(e){e.languages.bbcode={tag:{pattern:/\[\/?[^\s=\]]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'"\]=]+))?(?:\s+[^\s=\]]+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'"\]=]+))*\s*\]/,inside:{tag:{pattern:/^\[\/?[^\s=\]]+/,inside:{punctuation:/^\[\/?/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'"\]=]+)/,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\]/,"attr-name":/[^\s=\]]+/}}},e.languages.shortcode=e.languages.bbcode}e.exports=t,t.displayName="bbcode",t.aliases=["shortcode"]},3098:function(e){"use strict";function t(e){e.languages.bicep={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],property:[{pattern:/([\r\n][ \t]*)[a-z_]\w*(?=[ \t]*:)/i,lookbehind:!0},{pattern:/([\r\n][ \t]*)'(?:\\.|\$(?!\{)|[^'\\\r\n$])*'(?=[ \t]*:)/,lookbehind:!0,greedy:!0}],string:[{pattern:/'''[^'][\s\S]*?'''/,greedy:!0},{pattern:/(^|[^\\'])'(?:\\.|\$(?!\{)|[^'\\\r\n$])*'/,lookbehind:!0,greedy:!0}],"interpolated-string":{pattern:/(^|[^\\'])'(?:\\.|\$(?:(?!\{)|\{[^{}\r\n]*\})|[^'\\\r\n$])*'/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/\$\{[^{}\r\n]*\}/,inside:{expression:{pattern:/(^\$\{)[\s\S]+(?=\}$)/,lookbehind:!0},punctuation:/^\$\{|\}$/}},string:/[\s\S]+/}},datatype:{pattern:/(\b(?:output|param)\b[ \t]+\w+[ \t]+)\w+\b/,lookbehind:!0,alias:"class-name"},boolean:/\b(?:false|true)\b/,keyword:/\b(?:existing|for|if|in|module|null|output|param|resource|targetScope|var)\b/,decorator:/@\w+\b/,function:/\b[a-z_]\w*(?=[ \t]*\()/i,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/,punctuation:/[{}[\];(),.:]/},e.languages.bicep["interpolated-string"].inside.interpolation.inside.expression.inside=e.languages.bicep}e.exports=t,t.displayName="bicep",t.aliases=[]},4786:function(e){"use strict";function t(e){e.languages.birb=e.languages.extend("clike",{string:{pattern:/r?("|')(?:\\.|(?!\1)[^\\])*\1/,greedy:!0},"class-name":[/\b[A-Z](?:[\d_]*[a-zA-Z]\w*)?\b/,/\b(?:[A-Z]\w*|(?!(?:var|void)\b)[a-z]\w*)(?=\s+\w+\s*[;,=()])/],keyword:/\b(?:assert|break|case|class|const|default|else|enum|final|follows|for|grab|if|nest|new|next|noSeeb|return|static|switch|throw|var|void|while)\b/,operator:/\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?|:/,variable:/\b[a-z_]\w*\b/}),e.languages.insertBefore("birb","function",{metadata:{pattern:/<\w+>/,greedy:!0,alias:"symbol"}})}e.exports=t,t.displayName="birb",t.aliases=[]},6938:function(e,t,n){"use strict";var r=n(272);function a(e){e.register(r),e.languages.bison=e.languages.extend("c",{}),e.languages.insertBefore("bison","comment",{bison:{pattern:/^(?:[^%]|%(?!%))*%%[\s\S]*?%%/,inside:{c:{pattern:/%\{[\s\S]*?%\}|\{(?:\{[^}]*\}|[^{}])*\}/,inside:{delimiter:{pattern:/^%?\{|%?\}$/,alias:"punctuation"},"bison-variable":{pattern:/[$@](?:<[^\s>]+>)?[\w$]+/,alias:"variable",inside:{punctuation:/<|>/}},rest:e.languages.c}},comment:e.languages.c.comment,string:e.languages.c.string,property:/\S+(?=:)/,keyword:/%\w+/,number:{pattern:/(^|[^@])\b(?:0x[\da-f]+|\d+)/i,lookbehind:!0},punctuation:/%[%?]|[|:;\[\]<>]/}}})}e.exports=a,a.displayName="bison",a.aliases=[]},9784:function(e){"use strict";function t(e){e.languages.bnf={string:{pattern:/"[^\r\n"]*"|'[^\r\n']*'/},definition:{pattern:/<[^<>\r\n\t]+>(?=\s*::=)/,alias:["rule","keyword"],inside:{punctuation:/^<|>$/}},rule:{pattern:/<[^<>\r\n\t]+>/,inside:{punctuation:/^<|>$/}},operator:/::=|[|()[\]{}*+?]|\.{3}/},e.languages.rbnf=e.languages.bnf}e.exports=t,t.displayName="bnf",t.aliases=["rbnf"]},2689:function(e){"use strict";function t(e){e.languages.brainfuck={pointer:{pattern:/<|>/,alias:"keyword"},increment:{pattern:/\+/,alias:"inserted"},decrement:{pattern:/-/,alias:"deleted"},branching:{pattern:/\[|\]/,alias:"important"},operator:/[.,]/,comment:/\S+/}}e.exports=t,t.displayName="brainfuck",t.aliases=[]},6514:function(e){"use strict";function t(e){e.languages.brightscript={comment:/(?:\brem|').*/i,"directive-statement":{pattern:/(^[\t ]*)#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if).*/im,lookbehind:!0,alias:"property",inside:{"error-message":{pattern:/(^#error).+/,lookbehind:!0},directive:{pattern:/^#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if)/,alias:"keyword"},expression:{pattern:/[\s\S]+/,inside:null}}},property:{pattern:/([\r\n{,][\t ]*)(?:(?!\d)\w+|"(?:[^"\r\n]|"")*"(?!"))(?=[ \t]*:)/,lookbehind:!0,greedy:!0},string:{pattern:/"(?:[^"\r\n]|"")*"(?!")/,greedy:!0},"class-name":{pattern:/(\bAs[\t ]+)\w+/i,lookbehind:!0},keyword:/\b(?:As|Dim|Each|Else|Elseif|End|Exit|For|Function|Goto|If|In|Print|Return|Step|Stop|Sub|Then|To|While)\b/i,boolean:/\b(?:false|true)\b/i,function:/\b(?!\d)\w+(?=[\t ]*\()/,number:/(?:\b\d+(?:\.\d+)?(?:[ed][+-]\d+)?|&h[a-f\d]+)\b[%&!#]?/i,operator:/--|\+\+|>>=?|<<=?|<>|[-+*/\\<>]=?|[:^=?]|\b(?:and|mod|not|or)\b/i,punctuation:/[.,;()[\]{}]/,constant:/\b(?:LINE_NUM)\b/i},e.languages.brightscript["directive-statement"].inside.expression.inside=e.languages.brightscript}e.exports=t,t.displayName="brightscript",t.aliases=[]},25:function(e){"use strict";function t(e){e.languages.bro={comment:{pattern:/(^|[^\\$])#.*/,lookbehind:!0,inside:{italic:/\b(?:FIXME|TODO|XXX)\b/}},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},boolean:/\b[TF]\b/,function:{pattern:/(\b(?:event|function|hook)[ \t]+)\w+(?:::\w+)?/,lookbehind:!0},builtin:/(?:@(?:load(?:-(?:plugin|sigs))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME))|(?:&?(?:add_func|create_expire|default|delete_func|encrypt|error_handler|expire_func|group|log|mergeable|optional|persistent|priority|raw_output|read_expire|redef|rotate_interval|rotate_size|synchronized|type_column|write_expire))/,constant:{pattern:/(\bconst[ \t]+)\w+/i,lookbehind:!0},keyword:/\b(?:add|addr|alarm|any|bool|break|const|continue|count|delete|double|else|enum|event|export|file|for|function|global|hook|if|in|int|interval|local|module|next|of|opaque|pattern|port|print|record|return|schedule|set|string|subnet|table|time|timeout|using|vector|when)\b/,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&|\|\|?|\?|\*|\/|~|\^|%/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,punctuation:/[{}[\];(),.:]/}}e.exports=t,t.displayName="bro",t.aliases=[]},7501:function(e){"use strict";function t(e){e.languages.bsl={comment:/\/\/.*/,string:[{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},{pattern:/'(?:[^'\r\n\\]|\\.)*'/}],keyword:[{pattern:/(^|[^\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:\u043f\u043e\u043a\u0430|\u0434\u043b\u044f|\u043d\u043e\u0432\u044b\u0439|\u043f\u0440\u0435\u0440\u0432\u0430\u0442\u044c|\u043f\u043e\u043f\u044b\u0442\u043a\u0430|\u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435|\u0432\u044b\u0437\u0432\u0430\u0442\u044c\u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435|\u0438\u043d\u0430\u0447\u0435|\u043a\u043e\u043d\u0435\u0446\u043f\u043e\u043f\u044b\u0442\u043a\u0438|\u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043e|\u0444\u0443\u043d\u043a\u0446\u0438\u044f|\u043f\u0435\u0440\u0435\u043c|\u0432\u043e\u0437\u0432\u0440\u0430\u0442|\u043a\u043e\u043d\u0435\u0446\u0444\u0443\u043d\u043a\u0446\u0438\u0438|\u0435\u0441\u043b\u0438|\u0438\u043d\u0430\u0447\u0435\u0435\u0441\u043b\u0438|\u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430|\u043a\u043e\u043d\u0435\u0446\u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b|\u0442\u043e\u0433\u0434\u0430|\u0437\u043d\u0430\u0447|\u044d\u043a\u0441\u043f\u043e\u0440\u0442|\u043a\u043e\u043d\u0435\u0446\u0435\u0441\u043b\u0438|\u0438\u0437|\u043a\u0430\u0436\u0434\u043e\u0433\u043e|\u0438\u0441\u0442\u0438\u043d\u0430|\u043b\u043e\u0436\u044c|\u043f\u043e|\u0446\u0438\u043a\u043b|\u043a\u043e\u043d\u0435\u0446\u0446\u0438\u043a\u043b\u0430|\u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c)(?![\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])/i,lookbehind:!0},{pattern:/\b(?:break|do|each|else|elseif|enddo|endfunction|endif|endprocedure|endtry|except|execute|export|false|for|function|if|in|new|null|procedure|raise|return|then|to|true|try|undefined|val|var|while)\b/i}],number:{pattern:/(^(?=\d)|[^\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:\d+(?:\.\d*)?|\.\d+)(?:E[+-]?\d+)?/i,lookbehind:!0},operator:[/[<>+\-*/]=?|[%=]/,{pattern:/(^|[^\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:\u0438|\u0438\u043b\u0438|\u043d\u0435)(?![\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])/i,lookbehind:!0},{pattern:/\b(?:and|not|or)\b/i}],punctuation:/\(\.|\.\)|[()\[\]:;,.]/,directive:[{pattern:/^([ \t]*)&.*/m,lookbehind:!0,greedy:!0,alias:"important"},{pattern:/^([ \t]*)#.*/gm,lookbehind:!0,greedy:!0,alias:"important"}]},e.languages.oscript=e.languages.bsl}e.exports=t,t.displayName="bsl",t.aliases=[]},272:function(e){"use strict";function t(e){e.languages.c=e.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),e.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),e.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},e.languages.c.string],char:e.languages.c.char,comment:e.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:e.languages.c}}}}),e.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete e.languages.c.boolean}e.exports=t,t.displayName="c",t.aliases=[]},943:function(e){"use strict";function t(e){e.languages.cfscript=e.languages.extend("clike",{comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,inside:{annotation:{pattern:/(?:^|[^.])@[\w\.]+/,alias:"punctuation"}}},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],keyword:/\b(?:abstract|break|catch|component|continue|default|do|else|extends|final|finally|for|function|if|in|include|package|private|property|public|remote|required|rethrow|return|static|switch|throw|try|var|while|xml)\b(?!\s*=)/,operator:[/\+\+|--|&&|\|\||::|=>|[!=]==|<=?|>=?|[-+*/%&|^!=<>]=?|\?(?:\.|:)?|[?:]/,/\b(?:and|contains|eq|equal|eqv|gt|gte|imp|is|lt|lte|mod|not|or|xor)\b/],scope:{pattern:/\b(?:application|arguments|cgi|client|cookie|local|session|super|this|variables)\b/,alias:"global"},type:{pattern:/\b(?:any|array|binary|boolean|date|guid|numeric|query|string|struct|uuid|void|xml)\b/,alias:"builtin"}}),e.languages.insertBefore("cfscript","keyword",{"function-variable":{pattern:/[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"}}),delete e.languages.cfscript["class-name"],e.languages.cfc=e.languages.cfscript}e.exports=t,t.displayName="cfscript",t.aliases=[]},9785:function(e,t,n){"use strict";var r=n(8593);function a(e){e.register(r),e.languages.chaiscript=e.languages.extend("clike",{string:{pattern:/(^|[^\\])'(?:[^'\\]|\\[\s\S])*'/,lookbehind:!0,greedy:!0},"class-name":[{pattern:/(\bclass\s+)\w+/,lookbehind:!0},{pattern:/(\b(?:attr|def)\s+)\w+(?=\s*::)/,lookbehind:!0}],keyword:/\b(?:attr|auto|break|case|catch|class|continue|def|default|else|finally|for|fun|global|if|return|switch|this|try|var|while)\b/,number:[e.languages.cpp.number,/\b(?:Infinity|NaN)\b/],operator:/>>=?|<<=?|\|\||&&|:[:=]?|--|\+\+|[=!<>+\-*/%|&^]=?|[?~]|`[^`\r\n]{1,4}`/}),e.languages.insertBefore("chaiscript","operator",{"parameter-type":{pattern:/([,(]\s*)\w+(?=\s+\w)/,lookbehind:!0,alias:"class-name"}}),e.languages.insertBefore("chaiscript","string",{"string-interpolation":{pattern:/(^|[^\\])"(?:[^"$\\]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*"/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\}/,lookbehind:!0,inside:{"interpolation-expression":{pattern:/(^\$\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.chaiscript},"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"}}},string:/[\s\S]+/}}})}e.exports=a,a.displayName="chaiscript",a.aliases=[]},9529:function(e){"use strict";function t(e){e.languages.cil={comment:/\/\/.*/,string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},directive:{pattern:/(^|\W)\.[a-z]+(?=\s)/,lookbehind:!0,alias:"class-name"},variable:/\[[\w\.]+\]/,keyword:/\b(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|u?int(?:8|16|32|64)?|iant|idispatch|implements|import|initonly|instance|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)\b/,function:/\b(?:(?:constrained|no|readonly|tail|unaligned|volatile)\.)?(?:conv\.(?:[iu][1248]?|ovf\.[iu][1248]?(?:\.un)?|r\.un|r4|r8)|ldc\.(?:i4(?:\.\d+|\.[mM]1|\.s)?|i8|r4|r8)|ldelem(?:\.[iu][1248]?|\.r[48]|\.ref|a)?|ldind\.(?:[iu][1248]?|r[48]|ref)|stelem\.?(?:i[1248]?|r[48]|ref)?|stind\.(?:i[1248]?|r[48]|ref)?|end(?:fault|filter|finally)|ldarg(?:\.[0-3s]|a(?:\.s)?)?|ldloc(?:\.\d+|\.s)?|sub(?:\.ovf(?:\.un)?)?|mul(?:\.ovf(?:\.un)?)?|add(?:\.ovf(?:\.un)?)?|stloc(?:\.[0-3s])?|refany(?:type|val)|blt(?:\.un)?(?:\.s)?|ble(?:\.un)?(?:\.s)?|bgt(?:\.un)?(?:\.s)?|bge(?:\.un)?(?:\.s)?|unbox(?:\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\.s)?|bne\.un(?:\.s)?|ldloca(?:\.s)?|brzero(?:\.s)?|brtrue(?:\.s)?|brnull(?:\.s)?|brinst(?:\.s)?|starg(?:\.s)?|leave(?:\.s)?|shr(?:\.un)?|rem(?:\.un)?|div(?:\.un)?|clt(?:\.un)?|alignment|castclass|ldvirtftn|beq(?:\.s)?|ckfinite|ldsflda|ldtoken|localloc|mkrefany|rethrow|cgt\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|cgt|ceq|box|and|or|br)\b/,boolean:/\b(?:false|true)\b/,number:/\b-?(?:0x[0-9a-f]+|\d+)(?:\.[0-9a-f]+)?\b/i,punctuation:/[{}[\];(),:=]|IL_[0-9A-Za-z]+/}}e.exports=t,t.displayName="cil",t.aliases=[]},3052:function(e){"use strict";function t(e){e.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}e.exports=t,t.displayName="clike",t.aliases=[]},1915:function(e){"use strict";function t(e){e.languages.clojure={comment:{pattern:/;.*/,greedy:!0},string:{pattern:/"(?:[^"\\]|\\.)*"/,greedy:!0},char:/\\\w+/,symbol:{pattern:/(^|[\s()\[\]{},])::?[\w*+!?'<>=/.-]+/,lookbehind:!0},keyword:{pattern:/(\()(?:-|->|->>|\.|\.\.|\*|\/|\+|<|<=|=|==|>|>=|accessor|agent|agent-errors|aget|alength|all-ns|alter|and|append-child|apply|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|await|await-for|bean|binding|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|boolean|branch\?|butlast|byte|cast|char|children|class|clear-agent-errors|comment|commute|comp|comparator|complement|concat|cond|conj|cons|constantly|construct-proxy|contains\?|count|create-ns|create-struct|cycle|dec|declare|def|def-|definline|definterface|defmacro|defmethod|defmulti|defn|defn-|defonce|defproject|defprotocol|defrecord|defstruct|deftype|deref|difference|disj|dissoc|distinct|do|doall|doc|dorun|doseq|dosync|dotimes|doto|double|down|drop|drop-while|edit|end\?|ensure|eval|every\?|false\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|flush|fn|fnseq|for|frest|gensym|get|get-proxy-class|hash-map|hash-set|identical\?|identity|if|if-let|if-not|import|in-ns|inc|index|insert-child|insert-left|insert-right|inspect-table|inspect-tree|instance\?|int|interleave|intersection|into|into-array|iterate|join|key|keys|keyword|keyword\?|last|lazy-cat|lazy-cons|left|lefts|let|line-seq|list|list\*|load|load-file|locking|long|loop|macroexpand|macroexpand-1|make-array|make-node|map|map-invert|map\?|mapcat|max|max-key|memfn|merge|merge-with|meta|min|min-key|monitor-enter|name|namespace|neg\?|new|newline|next|nil\?|node|not|not-any\?|not-every\?|not=|ns|ns-imports|ns-interns|ns-map|ns-name|ns-publics|ns-refers|ns-resolve|ns-unmap|nth|nthrest|or|parse|partial|path|peek|pop|pos\?|pr|pr-str|print|print-str|println|println-str|prn|prn-str|project|proxy|proxy-mappings|quot|quote|rand|rand-int|range|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|recur|reduce|ref|ref-set|refer|rem|remove|remove-method|remove-ns|rename|rename-keys|repeat|replace|replicate|resolve|rest|resultset-seq|reverse|rfirst|right|rights|root|rrest|rseq|second|select|select-keys|send|send-off|seq|seq-zip|seq\?|set|set!|short|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|special-symbol\?|split-at|split-with|str|string\?|struct|struct-map|subs|subvec|symbol|symbol\?|sync|take|take-nth|take-while|test|throw|time|to-array|to-array-2d|tree-seq|true\?|try|union|up|update-proxy|val|vals|var|var-get|var-set|var\?|vector|vector-zip|vector\?|when|when-first|when-let|when-not|with-local-vars|with-meta|with-open|with-out-str|xml-seq|xml-zip|zero\?|zipmap|zipper)(?=[\s)]|$)/,lookbehind:!0},boolean:/\b(?:false|nil|true)\b/,number:{pattern:/(^|[^\w$@])(?:\d+(?:[/.]\d+)?(?:e[+-]?\d+)?|0x[a-f0-9]+|[1-9]\d?r[a-z0-9]+)[lmn]?(?![\w$@])/i,lookbehind:!0},function:{pattern:/((?:^|[^'])\()[\w*+!?'<>=/.-]+(?=[\s)]|$)/,lookbehind:!0},operator:/[#@^`~]/,punctuation:/[{}\[\](),]/}}e.exports=t,t.displayName="clojure",t.aliases=[]},3549:function(e){"use strict";function t(e){e.languages.cmake={comment:/#.*/,string:{pattern:/"(?:[^\\"]|\\.)*"/,greedy:!0,inside:{interpolation:{pattern:/\$\{(?:[^{}$]|\$\{[^{}$]*\})*\}/,inside:{punctuation:/\$\{|\}/,variable:/\w+/}}}},variable:/\b(?:CMAKE_\w+|\w+_(?:(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT|VERSION(?:_MAJOR|_MINOR|_PATCH|_TWEAK)?)|(?:ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERRORS|WARNINGS)|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_(?:BINARY_DIR|DESCRIPTION|HOMEPAGE_URL|NAME|SOURCE_DIR|VERSION|VERSION_(?:MAJOR|MINOR|PATCH|TWEAK))|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE|XCODE_VERSION))\b/,property:/\b(?:cxx_\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\w+|\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|GLOBAL_KEYWORD|GLOBAL_PROJECT_TYPES|GLOBAL_ROOTNAMESPACE|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)\b/,keyword:/\b(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\s*\()\b/,boolean:/\b(?:FALSE|OFF|ON|TRUE)\b/,namespace:/\b(?:INTERFACE|PRIVATE|PROPERTIES|PUBLIC|SHARED|STATIC|TARGET_OBJECTS)\b/,operator:/\b(?:AND|DEFINED|EQUAL|GREATER|LESS|MATCHES|NOT|OR|STREQUAL|STRGREATER|STRLESS|VERSION_EQUAL|VERSION_GREATER|VERSION_LESS)\b/,inserted:{pattern:/\b\w+::\w+\b/,alias:"class-name"},number:/\b\d+(?:\.\d+)*\b/,function:/\b[a-z_]\w*(?=\s*\()\b/i,punctuation:/[()>}]|\$[<{]/}}e.exports=t,t.displayName="cmake",t.aliases=[]},4732:function(e){"use strict";function t(e){e.languages.cobol={comment:{pattern:/\*>.*|(^[ \t]*)\*.*/m,lookbehind:!0,greedy:!0},string:{pattern:/[xzgn]?(?:"(?:[^\r\n"]|"")*"(?!")|'(?:[^\r\n']|'')*'(?!'))/i,greedy:!0},level:{pattern:/(^[ \t]*)\d+\b/m,lookbehind:!0,greedy:!0,alias:"number"},"class-name":{pattern:/(\bpic(?:ture)?\s+)(?:(?:[-\w$/,:*+<>]|\.(?!\s|$))(?:\(\d+\))?)+/i,lookbehind:!0,inside:{number:{pattern:/(\()\d+/,lookbehind:!0},punctuation:/[()]/}},keyword:{pattern:/(^|[^\w-])(?:ABORT|ACCEPT|ACCESS|ADD|ADDRESS|ADVANCING|AFTER|ALIGNED|ALL|ALPHABET|ALPHABETIC|ALPHABETIC-LOWER|ALPHABETIC-UPPER|ALPHANUMERIC|ALPHANUMERIC-EDITED|ALSO|ALTER|ALTERNATE|ANY|ARE|AREA|AREAS|AS|ASCENDING|ASCII|ASSIGN|ASSOCIATED-DATA|ASSOCIATED-DATA-LENGTH|AT|ATTRIBUTE|AUTHOR|AUTO|AUTO-SKIP|BACKGROUND-COLOR|BACKGROUND-COLOUR|BASIS|BEEP|BEFORE|BEGINNING|BELL|BINARY|BIT|BLANK|BLINK|BLOCK|BOTTOM|BOUNDS|BY|BYFUNCTION|BYTITLE|CALL|CANCEL|CAPABLE|CCSVERSION|CD|CF|CH|CHAINING|CHANGED|CHANNEL|CHARACTER|CHARACTERS|CLASS|CLASS-ID|CLOCK-UNITS|CLOSE|CLOSE-DISPOSITION|COBOL|CODE|CODE-SET|COL|COLLATING|COLUMN|COM-REG|COMMA|COMMITMENT|COMMON|COMMUNICATION|COMP|COMP-1|COMP-2|COMP-3|COMP-4|COMP-5|COMPUTATIONAL|COMPUTATIONAL-1|COMPUTATIONAL-2|COMPUTATIONAL-3|COMPUTATIONAL-4|COMPUTATIONAL-5|COMPUTE|CONFIGURATION|CONTAINS|CONTENT|CONTINUE|CONTROL|CONTROL-POINT|CONTROLS|CONVENTION|CONVERTING|COPY|CORR|CORRESPONDING|COUNT|CRUNCH|CURRENCY|CURSOR|DATA|DATA-BASE|DATE|DATE-COMPILED|DATE-WRITTEN|DAY|DAY-OF-WEEK|DBCS|DE|DEBUG-CONTENTS|DEBUG-ITEM|DEBUG-LINE|DEBUG-NAME|DEBUG-SUB-1|DEBUG-SUB-2|DEBUG-SUB-3|DEBUGGING|DECIMAL-POINT|DECLARATIVES|DEFAULT|DEFAULT-DISPLAY|DEFINITION|DELETE|DELIMITED|DELIMITER|DEPENDING|DESCENDING|DESTINATION|DETAIL|DFHRESP|DFHVALUE|DISABLE|DISK|DISPLAY|DISPLAY-1|DIVIDE|DIVISION|DONTCARE|DOUBLE|DOWN|DUPLICATES|DYNAMIC|EBCDIC|EGCS|EGI|ELSE|EMI|EMPTY-CHECK|ENABLE|END|END-ACCEPT|END-ADD|END-CALL|END-COMPUTE|END-DELETE|END-DIVIDE|END-EVALUATE|END-IF|END-MULTIPLY|END-OF-PAGE|END-PERFORM|END-READ|END-RECEIVE|END-RETURN|END-REWRITE|END-SEARCH|END-START|END-STRING|END-SUBTRACT|END-UNSTRING|END-WRITE|ENDING|ENTER|ENTRY|ENTRY-PROCEDURE|ENVIRONMENT|EOL|EOP|EOS|ERASE|ERROR|ESCAPE|ESI|EVALUATE|EVENT|EVERY|EXCEPTION|EXCLUSIVE|EXHIBIT|EXIT|EXPORT|EXTEND|EXTENDED|EXTERNAL|FD|FILE|FILE-CONTROL|FILLER|FINAL|FIRST|FOOTING|FOR|FOREGROUND-COLOR|FOREGROUND-COLOUR|FROM|FULL|FUNCTION|FUNCTION-POINTER|FUNCTIONNAME|GENERATE|GIVING|GLOBAL|GO|GOBACK|GRID|GROUP|HEADING|HIGH-VALUE|HIGH-VALUES|HIGHLIGHT|I-O|I-O-CONTROL|ID|IDENTIFICATION|IF|IMPLICIT|IMPORT|IN|INDEX|INDEXED|INDICATE|INITIAL|INITIALIZE|INITIATE|INPUT|INPUT-OUTPUT|INSPECT|INSTALLATION|INTEGER|INTO|INVALID|INVOKE|IS|JUST|JUSTIFIED|KANJI|KEPT|KEY|KEYBOARD|LABEL|LANGUAGE|LAST|LB|LD|LEADING|LEFT|LEFTLINE|LENGTH|LENGTH-CHECK|LIBACCESS|LIBPARAMETER|LIBRARY|LIMIT|LIMITS|LINAGE|LINAGE-COUNTER|LINE|LINE-COUNTER|LINES|LINKAGE|LIST|LOCAL|LOCAL-STORAGE|LOCK|LONG-DATE|LONG-TIME|LOW-VALUE|LOW-VALUES|LOWER|LOWLIGHT|MEMORY|MERGE|MESSAGE|MMDDYYYY|MODE|MODULES|MORE-LABELS|MOVE|MULTIPLE|MULTIPLY|NAMED|NATIONAL|NATIONAL-EDITED|NATIVE|NEGATIVE|NETWORK|NEXT|NO|NO-ECHO|NULL|NULLS|NUMBER|NUMERIC|NUMERIC-DATE|NUMERIC-EDITED|NUMERIC-TIME|OBJECT-COMPUTER|OCCURS|ODT|OF|OFF|OMITTED|ON|OPEN|OPTIONAL|ORDER|ORDERLY|ORGANIZATION|OTHER|OUTPUT|OVERFLOW|OVERLINE|OWN|PACKED-DECIMAL|PADDING|PAGE|PAGE-COUNTER|PASSWORD|PERFORM|PF|PH|PIC|PICTURE|PLUS|POINTER|PORT|POSITION|POSITIVE|PRINTER|PRINTING|PRIVATE|PROCEDURE|PROCEDURE-POINTER|PROCEDURES|PROCEED|PROCESS|PROGRAM|PROGRAM-ID|PROGRAM-LIBRARY|PROMPT|PURGE|QUEUE|QUOTE|QUOTES|RANDOM|RD|READ|READER|REAL|RECEIVE|RECEIVED|RECORD|RECORDING|RECORDS|RECURSIVE|REDEFINES|REEL|REF|REFERENCE|REFERENCES|RELATIVE|RELEASE|REMAINDER|REMARKS|REMOTE|REMOVAL|REMOVE|RENAMES|REPLACE|REPLACING|REPORT|REPORTING|REPORTS|REQUIRED|RERUN|RESERVE|RESET|RETURN|RETURN-CODE|RETURNING|REVERSE-VIDEO|REVERSED|REWIND|REWRITE|RF|RH|RIGHT|ROUNDED|RUN|SAME|SAVE|SCREEN|SD|SEARCH|SECTION|SECURE|SECURITY|SEGMENT|SEGMENT-LIMIT|SELECT|SEND|SENTENCE|SEPARATE|SEQUENCE|SEQUENTIAL|SET|SHARED|SHAREDBYALL|SHAREDBYRUNUNIT|SHARING|SHIFT-IN|SHIFT-OUT|SHORT-DATE|SIGN|SIZE|SORT|SORT-CONTROL|SORT-CORE-SIZE|SORT-FILE-SIZE|SORT-MERGE|SORT-MESSAGE|SORT-MODE-SIZE|SORT-RETURN|SOURCE|SOURCE-COMPUTER|SPACE|SPACES|SPECIAL-NAMES|STANDARD|STANDARD-1|STANDARD-2|START|STATUS|STOP|STRING|SUB-QUEUE-1|SUB-QUEUE-2|SUB-QUEUE-3|SUBTRACT|SUM|SUPPRESS|SYMBOL|SYMBOLIC|SYNC|SYNCHRONIZED|TABLE|TALLY|TALLYING|TAPE|TASK|TERMINAL|TERMINATE|TEST|TEXT|THEN|THREAD|THREAD-LOCAL|THROUGH|THRU|TIME|TIMER|TIMES|TITLE|TO|TODAYS-DATE|TODAYS-NAME|TOP|TRAILING|TRUNCATED|TYPE|TYPEDEF|UNDERLINE|UNIT|UNSTRING|UNTIL|UP|UPON|USAGE|USE|USING|VALUE|VALUES|VARYING|VIRTUAL|WAIT|WHEN|WHEN-COMPILED|WITH|WORDS|WORKING-STORAGE|WRITE|YEAR|YYYYDDD|YYYYMMDD|ZERO-FILL|ZEROES|ZEROS)(?![\w-])/i,lookbehind:!0},boolean:{pattern:/(^|[^\w-])(?:false|true)(?![\w-])/i,lookbehind:!0},number:{pattern:/(^|[^\w-])(?:[+-]?(?:(?:\d+(?:[.,]\d+)?|[.,]\d+)(?:e[+-]?\d+)?|zero))(?![\w-])/i,lookbehind:!0},operator:[/<>|[<>]=?|[=+*/&]/,{pattern:/(^|[^\w-])(?:-|and|equal|greater|less|not|or|than)(?![\w-])/i,lookbehind:!0}],punctuation:/[.:,()]/}}e.exports=t,t.displayName="cobol",t.aliases=[]},6522:function(e){"use strict";function t(e){!function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(e)}e.exports=t,t.displayName="coffeescript",t.aliases=["coffee"]},3723:function(e){"use strict";function t(e){e.languages.concurnas={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\/\/.*)/,lookbehind:!0,greedy:!0},langext:{pattern:/\b\w+\s*\|\|[\s\S]+?\|\|/,greedy:!0,inside:{"class-name":/^\w+/,string:{pattern:/(^\s*\|\|)[\s\S]+(?=\|\|$)/,lookbehind:!0},punctuation:/\|\|/}},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/,lookbehind:!0},keyword:/\b(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)\b/,boolean:/\b(?:false|true)\b/,number:/\b0b[01][01_]*L?\b|\b0x(?:[\da-f_]*\.)?[\da-f_p+-]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfls]?/i,punctuation:/[{}[\];(),.:]/,operator:/<==|>==|=>|->|<-|<>|&==|&<>|\?:?|\.\?|\+\+|--|[-+*/=<>]=?|[!^~]|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/,annotation:{pattern:/@(?:\w+:)?(?:\w+|\[[^\]]+\])?/,alias:"builtin"}},e.languages.insertBefore("concurnas","langext",{"regex-literal":{pattern:/\br("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:e.languages.concurnas},regex:/[\s\S]+/}},"string-literal":{pattern:/(?:\B|\bs)("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:e.languages.concurnas},string:/[\s\S]+/}}}),e.languages.conc=e.languages.concurnas}e.exports=t,t.displayName="concurnas",t.aliases=["conc"]},423:function(e){"use strict";function t(e){!function(e){for(var t=/\(\*(?:[^(*]|\((?!\*)|\*(?!\))|<self>)*\*\)/.source,n=0;n<2;n++)t=t.replace(/<self>/g,(function(){return t}));t=t.replace(/<self>/g,"[]"),e.languages.coq={comment:RegExp(t),string:{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},attribute:[{pattern:RegExp(/#\[(?:[^\[\]("]|"(?:[^"]|"")*"(?!")|\((?!\*)|<comment>)*\]/.source.replace(/<comment>/g,(function(){return t}))),greedy:!0,alias:"attr-name",inside:{comment:RegExp(t),string:{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},operator:/=/,punctuation:/^#\[|\]$|[,()]/}},{pattern:/\b(?:Cumulative|Global|Local|Monomorphic|NonCumulative|Polymorphic|Private|Program)\b/,alias:"attr-name"}],keyword:/\b(?:Abort|About|Add|Admit|Admitted|All|Arguments|As|Assumptions|Axiom|Axioms|Back|BackTo|Backtrace|BinOp|BinOpSpec|BinRel|Bind|Blacklist|Canonical|Case|Cd|Check|Class|Classes|Close|CoFixpoint|CoInductive|Coercion|Coercions|Collection|Combined|Compute|Conjecture|Conjectures|Constant|Constants|Constraint|Constructors|Context|Corollary|Create|CstOp|Custom|Cut|Debug|Declare|Defined|Definition|Delimit|Dependencies|Dependent|Derive|Diffs|Drop|Elimination|End|Entry|Equality|Eval|Example|Existential|Existentials|Existing|Export|Extern|Extraction|Fact|Fail|Field|File|Firstorder|Fixpoint|Flags|Focus|From|Funclass|Function|Functional|GC|Generalizable|Goal|Grab|Grammar|Graph|Guarded|Haskell|Heap|Hide|Hint|HintDb|Hints|Hypotheses|Hypothesis|IF|Identity|Immediate|Implicit|Implicits|Import|Include|Induction|Inductive|Infix|Info|Initial|InjTyp|Inline|Inspect|Instance|Instances|Intro|Intros|Inversion|Inversion_clear|JSON|Language|Left|Lemma|Let|Lia|Libraries|Library|Load|LoadPath|Locate|Ltac|Ltac2|ML|Match|Method|Minimality|Module|Modules|Morphism|Next|NoInline|Notation|Number|OCaml|Obligation|Obligations|Opaque|Open|Optimize|Parameter|Parameters|Parametric|Path|Paths|Prenex|Preterm|Primitive|Print|Profile|Projections|Proof|Prop|PropBinOp|PropOp|PropUOp|Property|Proposition|Pwd|Qed|Quit|Rec|Record|Recursive|Redirect|Reduction|Register|Relation|Remark|Remove|Require|Reserved|Reset|Resolve|Restart|Rewrite|Right|Ring|Rings|SProp|Saturate|Save|Scheme|Scope|Scopes|Search|SearchHead|SearchPattern|SearchRewrite|Section|Separate|Set|Setoid|Show|Signatures|Solve|Solver|Sort|Sortclass|Sorted|Spec|Step|Strategies|Strategy|String|Structure|SubClass|Subgraph|SuchThat|Tactic|Term|TestCompile|Theorem|Time|Timeout|To|Transparent|Type|Typeclasses|Types|Typing|UnOp|UnOpSpec|Undelimit|Undo|Unfocus|Unfocused|Unfold|Universe|Universes|Unshelve|Variable|Variables|Variant|Verbose|View|Visibility|Zify|_|apply|as|at|by|cofix|else|end|exists|exists2|fix|for|forall|fun|if|in|let|match|measure|move|removed|return|struct|then|using|wf|where|with)\b/,number:/\b(?:0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]+)?(?:p[+-]?\d[\d_]*)?|\d[\d_]*(?:\.[\d_]+)?(?:e[+-]?\d[\d_]*)?)\b/i,punct:{pattern:/@\{|\{\||\[=|:>/,alias:"punctuation"},operator:/\/\\|\\\/|\.{2,3}|:{1,2}=|\*\*|[-=]>|<(?:->?|[+:=>]|<:)|>(?:=|->)|\|[-|]?|[-!%&*+/<=>?@^~']/,punctuation:/\.\(|`\(|@\{|`\{|\{\||\[=|:>|[:.,;(){}\[\]]/}}(e)}e.exports=t,t.displayName="coq",t.aliases=[]},8593:function(e,t,n){"use strict";var r=n(272);function a(e){e.register(r),function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(e)}e.exports=a,a.displayName="cpp",a.aliases=[]},7916:function(e,t,n){"use strict";var r=n(6326);function a(e){e.register(r),function(e){e.languages.crystal=e.languages.extend("ruby",{keyword:[/\b(?:__DIR__|__END_LINE__|__FILE__|__LINE__|abstract|alias|annotation|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|ifdef|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|ptr|require|rescue|return|select|self|sizeof|struct|super|then|type|typeof|undef|uninitialized|union|unless|until|when|while|with|yield)\b/,{pattern:/(\.\s*)(?:is_a|responds_to)\?/,lookbehind:!0}],number:/\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\da-fA-F_]*[\da-fA-F]|(?:\d(?:[\d_]*\d)?)(?:\.[\d_]*\d)?(?:[eE][+-]?[\d_]*\d)?)(?:_(?:[uif](?:8|16|32|64))?)?\b/,operator:[/->/,e.languages.ruby.operator],punctuation:/[(){}[\].,;\\]/}),e.languages.insertBefore("crystal","string-literal",{attribute:{pattern:/@\[.*?\]/,inside:{delimiter:{pattern:/^@\[|\]$/,alias:"punctuation"},attribute:{pattern:/^(\s*)\w+/,lookbehind:!0,alias:"class-name"},args:{pattern:/\S(?:[\s\S]*\S)?/,inside:e.languages.crystal}}},expansion:{pattern:/\{(?:\{.*?\}|%.*?%)\}/,inside:{content:{pattern:/^(\{.)[\s\S]+(?=.\}$)/,lookbehind:!0,inside:e.languages.crystal},delimiter:{pattern:/^\{[\{%]|[\}%]\}$/,alias:"operator"}}},char:{pattern:/'(?:[^\\\r\n]{1,2}|\\(?:.|u(?:[A-Fa-f0-9]{1,4}|\{[A-Fa-f0-9]{1,6}\})))'/,greedy:!0}})}(e)}e.exports=a,a.displayName="crystal",a.aliases=[]},3281:function(e){"use strict";function t(e){!function(e){function t(e,t){return e.replace(/<<(\d+)>>/g,(function(e,n){return"(?:"+t[+n]+")"}))}function n(e,n,r){return RegExp(t(e,n),r||"")}function r(e,t){for(var n=0;n<t;n++)e=e.replace(/<<self>>/g,(function(){return"(?:"+e+")"}));return e.replace(/<<self>>/g,"[^\\s\\S]")}var a="bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",i="class enum interface record struct",o="add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",s="abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield";function l(e){return"\\b(?:"+e.trim().replace(/ /g,"|")+")\\b"}var c=l(i),u=RegExp(l(a+" "+i+" "+o+" "+s)),d=l(i+" "+o+" "+s),p=l(a+" "+i+" "+s),m=r(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source,2),f=r(/\((?:[^()]|<<self>>)*\)/.source,2),g=/@?\b[A-Za-z_]\w*\b/.source,h=t(/<<0>>(?:\s*<<1>>)?/.source,[g,m]),b=t(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source,[d,h]),E=/\[\s*(?:,\s*)*\]/.source,y=t(/<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,[b,E]),T=t(/[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[m,f,E]),S=t(/\(<<0>>+(?:,<<0>>+)+\)/.source,[T]),v=t(/(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,[S,b,E]),A={keyword:u,punctuation:/[<>()?,.:[\]]/},_=/'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source,k=/"(?:\\.|[^\\"\r\n])*"/.source,C=/@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;e.languages.csharp=e.languages.extend("clike",{string:[{pattern:n(/(^|[^$\\])<<0>>/.source,[C]),lookbehind:!0,greedy:!0},{pattern:n(/(^|[^@$\\])<<0>>/.source,[k]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:n(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source,[b]),lookbehind:!0,inside:A},{pattern:n(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source,[g,v]),lookbehind:!0,inside:A},{pattern:n(/(\busing\s+)<<0>>(?=\s*=)/.source,[g]),lookbehind:!0},{pattern:n(/(\b<<0>>\s+)<<1>>/.source,[c,h]),lookbehind:!0,inside:A},{pattern:n(/(\bcatch\s*\(\s*)<<0>>/.source,[b]),lookbehind:!0,inside:A},{pattern:n(/(\bwhere\s+)<<0>>/.source,[g]),lookbehind:!0},{pattern:n(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source,[y]),lookbehind:!0,inside:A},{pattern:n(/\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/.source,[v,p,g]),inside:A}],keyword:u,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),e.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:n(/([(,]\s*)<<0>>(?=\s*:)/.source,[g]),lookbehind:!0,alias:"punctuation"}}),e.languages.insertBefore("csharp","class-name",{namespace:{pattern:n(/(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,[g]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:n(/(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/.source,[f]),lookbehind:!0,alias:"class-name",inside:A},"return-type":{pattern:n(/<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,[v,b]),inside:A,alias:"class-name"},"constructor-invocation":{pattern:n(/(\bnew\s+)<<0>>(?=\s*[[({])/.source,[v]),lookbehind:!0,inside:A,alias:"class-name"},"generic-method":{pattern:n(/<<0>>\s*<<1>>(?=\s*\()/.source,[g,m]),inside:{function:n(/^<<0>>/.source,[g]),generic:{pattern:RegExp(m),alias:"class-name",inside:A}}},"type-list":{pattern:n(/\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/.source,[c,h,g,v,u.source,f,/\bnew\s*\(\s*\)/.source]),lookbehind:!0,inside:{"record-arguments":{pattern:n(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source,[h,f]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:u,"class-name":{pattern:RegExp(v),greedy:!0,inside:A},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var w=k+"|"+_,N=t(/\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,[w]),I=r(t(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[N]),2),R=/\b(?:assembly|event|field|method|module|param|property|return|type)\b/.source,x=t(/<<0>>(?:\s*\(<<1>>*\))?/.source,[b,I]);e.languages.insertBefore("csharp","class-name",{attribute:{pattern:n(/((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/.source,[R,x]),lookbehind:!0,greedy:!0,inside:{target:{pattern:n(/^<<0>>(?=\s*:)/.source,[R]),alias:"keyword"},"attribute-arguments":{pattern:n(/\(<<0>>*\)/.source,[I]),inside:e.languages.csharp},"class-name":{pattern:RegExp(b),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var O=/:[^}\r\n]+/.source,L=r(t(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[N]),2),P=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[L,O]),D=r(t(/[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/.source,[w]),2),M=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[D,O]);function F(t,r){return{interpolation:{pattern:n(/((?:^|[^{])(?:\{\{)*)<<0>>/.source,[t]),lookbehind:!0,inside:{"format-string":{pattern:n(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source,[r,O]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:n(/(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,[P]),lookbehind:!0,greedy:!0,inside:F(P,L)},{pattern:n(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source,[M]),lookbehind:!0,greedy:!0,inside:F(M,D)}],char:{pattern:RegExp(_),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp}(e)}e.exports=t,t.displayName="csharp",t.aliases=["dotnet","cs"]},9333:function(e,t,n){"use strict";var r=n(3281);function a(e){e.register(r),function(e){var t=/\/(?![/*])|\/\/.*[\r\n]|\/\*[^*]*(?:\*(?!\/)[^*]*)*\*\//.source,n=/@(?!")|"(?:[^\r\n\\"]|\\.)*"|@"(?:[^\\"]|""|\\[\s\S])*"(?!")/.source+"|"+/'(?:(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'|(?=[^\\](?!')))/.source;function r(e,r){for(var a=0;a<r;a++)e=e.replace(/<self>/g,(function(){return"(?:"+e+")"}));return e.replace(/<self>/g,"[^\\s\\S]").replace(/<str>/g,"(?:"+n+")").replace(/<comment>/g,"(?:"+t+")")}var a=r(/\((?:[^()'"@/]|<str>|<comment>|<self>)*\)/.source,2),i=r(/\[(?:[^\[\]'"@/]|<str>|<comment>|<self>)*\]/.source,2),o=r(/\{(?:[^{}'"@/]|<str>|<comment>|<self>)*\}/.source,2),s=r(/<(?:[^<>'"@/]|<str>|<comment>|<self>)*>/.source,2),l=/(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?/.source,c=/(?!\d)[^\s>\/=$<%]+/.source+l+/\s*\/?>/.source,u=/\B@?/.source+"(?:"+/<([a-zA-Z][\w:]*)/.source+l+/\s*>/.source+"(?:"+/[^<]/.source+"|"+/<\/?(?!\1\b)/.source+c+"|"+r(/<\1/.source+l+/\s*>/.source+"(?:"+/[^<]/.source+"|"+/<\/?(?!\1\b)/.source+c+"|<self>)*"+/<\/\1\s*>/.source,2)+")*"+/<\/\1\s*>/.source+"|"+/</.source+c+")";e.languages.cshtml=e.languages.extend("markup",{});var d={pattern:/\S[\s\S]*/,alias:"language-csharp",inside:e.languages.insertBefore("csharp","string",{html:{pattern:RegExp(u),greedy:!0,inside:e.languages.cshtml}},{csharp:e.languages.extend("csharp",{})})};e.languages.insertBefore("cshtml","prolog",{"razor-comment":{pattern:/@\*[\s\S]*?\*@/,greedy:!0,alias:"comment"},block:{pattern:RegExp(/(^|[^@])@/.source+"(?:"+[o,/(?:code|functions)\s*/.source+o,/(?:for|foreach|lock|switch|using|while)\s*/.source+a+/\s*/.source+o,/do\s*/.source+o+/\s*while\s*/.source+a+/(?:\s*;)?/.source,/try\s*/.source+o+/\s*catch\s*/.source+a+/\s*/.source+o+/\s*finally\s*/.source+o,/if\s*/.source+a+/\s*/.source+o+"(?:"+/\s*else/.source+"(?:"+/\s+if\s*/.source+a+")?"+/\s*/.source+o+")*"].join("|")+")"),lookbehind:!0,greedy:!0,inside:{keyword:/^@\w*/,csharp:d}},directive:{pattern:/^([ \t]*)@(?:addTagHelper|attribute|implements|inherits|inject|layout|model|namespace|page|preservewhitespace|removeTagHelper|section|tagHelperPrefix|using)(?=\s).*/m,lookbehind:!0,greedy:!0,inside:{keyword:/^@\w+/,csharp:d}},value:{pattern:RegExp(/(^|[^@])@/.source+/(?:await\b\s*)?/.source+"(?:"+/\w+\b/.source+"|"+a+")(?:"+/[?!]?\.\w+\b/.source+"|"+a+"|"+i+"|"+s+a+")*"),lookbehind:!0,greedy:!0,alias:"variable",inside:{keyword:/^@/,csharp:d}},"delegate-operator":{pattern:/(^|[^@])@(?=<)/,lookbehind:!0,alias:"operator"}}),e.languages.razor=e.languages.cshtml}(e)}e.exports=a,a.displayName="cshtml",a.aliases=["razor"]},3524:function(e){"use strict";function t(e){!function(e){function t(e){return RegExp(/([ \t])/.source+"(?:"+e+")"+/(?=[\s;]|$)/.source,"i")}e.languages.csp={directive:{pattern:/(^|[\s;])(?:base-uri|block-all-mixed-content|(?:child|connect|default|font|frame|img|manifest|media|object|prefetch|script|style|worker)-src|disown-opener|form-action|frame-(?:ancestors|options)|input-protection(?:-(?:clip|selectors))?|navigate-to|plugin-types|policy-uri|referrer|reflected-xss|report-(?:to|uri)|require-sri-for|sandbox|(?:script|style)-src-(?:attr|elem)|upgrade-insecure-requests)(?=[\s;]|$)/i,lookbehind:!0,alias:"property"},scheme:{pattern:t(/[a-z][a-z0-9.+-]*:/.source),lookbehind:!0},none:{pattern:t(/'none'/.source),lookbehind:!0,alias:"keyword"},nonce:{pattern:t(/'nonce-[-+/\w=]+'/.source),lookbehind:!0,alias:"number"},hash:{pattern:t(/'sha(?:256|384|512)-[-+/\w=]+'/.source),lookbehind:!0,alias:"number"},host:{pattern:t(/[a-z][a-z0-9.+-]*:\/\/[^\s;,']*/.source+"|"+/\*[^\s;,']*/.source+"|"+/[a-z0-9-]+(?:\.[a-z0-9-]+)+(?::[\d*]+)?(?:\/[^\s;,']*)?/.source),lookbehind:!0,alias:"url",inside:{important:/\*/}},keyword:[{pattern:t(/'unsafe-[a-z-]+'/.source),lookbehind:!0,alias:"unsafe"},{pattern:t(/'[a-z-]+'/.source),lookbehind:!0,alias:"safe"}],punctuation:/;/}}(e)}e.exports=t,t.displayName="csp",t.aliases=[]},9689:function(e){"use strict";function t(e){!function(e){var t,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},a={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:r,number:a,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:a})}(e)}e.exports=t,t.displayName="cssExtras",t.aliases=[]},9625:function(e){"use strict";function t(e){!function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(e)}e.exports=t,t.displayName="css",t.aliases=[]},691:function(e){"use strict";function t(e){e.languages.csv={value:/[^\r\n,"]+|"(?:[^"]|"")*"(?!")/,punctuation:/,/}}e.exports=t,t.displayName="csv",t.aliases=[]},4704:function(e){"use strict";function t(e){e.languages.cypher={comment:/\/\/.*/,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/,greedy:!0},"class-name":{pattern:/(:\s*)(?:\w+|`(?:[^`\\\r\n])*`)(?=\s*[{):])/,lookbehind:!0,greedy:!0},relationship:{pattern:/(-\[\s*(?:\w+\s*|`(?:[^`\\\r\n])*`\s*)?:\s*|\|\s*:\s*)(?:\w+|`(?:[^`\\\r\n])*`)/,lookbehind:!0,greedy:!0,alias:"property"},identifier:{pattern:/`(?:[^`\\\r\n])*`/,greedy:!0},variable:/\$\w+/,keyword:/\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)\b/i,function:/\b\w+\b(?=\s*\()/,boolean:/\b(?:false|null|true)\b/i,number:/\b(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)\b/,operator:/:|<--?|--?>?|<>|=~?|[<>]=?|[+*/%^|]|\.\.\.?/,punctuation:/[()[\]{},;.]/}}e.exports=t,t.displayName="cypher",t.aliases=[]},3818:function(e){"use strict";function t(e){e.languages.d=e.languages.extend("clike",{comment:[{pattern:/^\s*#!.+/,greedy:!0},{pattern:RegExp(/(^|[^\\])/.source+"(?:"+[/\/\+(?:\/\+(?:[^+]|\+(?!\/))*\+\/|(?!\/\+)[\s\S])*?\+\//.source,/\/\/.*/.source,/\/\*[\s\S]*?\*\//.source].join("|")+")"),lookbehind:!0,greedy:!0}],string:[{pattern:RegExp([/\b[rx]"(?:\\[\s\S]|[^\\"])*"[cwd]?/.source,/\bq"(?:\[[\s\S]*?\]|\([\s\S]*?\)|<[\s\S]*?>|\{[\s\S]*?\})"/.source,/\bq"((?!\d)\w+)$[\s\S]*?^\1"/.source,/\bq"(.)[\s\S]*?\2"/.source,/(["`])(?:\\[\s\S]|(?!\3)[^\\])*\3[cwd]?/.source].join("|"),"m"),greedy:!0},{pattern:/\bq\{(?:\{[^{}]*\}|[^{}])*\}/,greedy:!0,alias:"token-string"}],keyword:/\$|\b(?:__(?:(?:DATE|EOF|FILE|FUNCTION|LINE|MODULE|PRETTY_FUNCTION|TIMESTAMP|TIME|VENDOR|VERSION)__|gshared|parameters|traits|vector)|abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|dstring|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|ptrdiff_t|public|pure|real|ref|return|scope|shared|short|size_t|static|string|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|wstring)\b/,number:[/\b0x\.?[a-f\d_]+(?:(?!\.\.)\.[a-f\d_]*)?(?:p[+-]?[a-f\d_]+)?[ulfi]{0,4}/i,{pattern:/((?:\.\.)?)(?:\b0b\.?|\b|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:e[+-]?\d[\d_]*)?[ulfi]{0,4}/i,lookbehind:!0}],operator:/\|[|=]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[>=]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[*\/%^~])=?/}),e.languages.insertBefore("d","string",{char:/'(?:\\(?:\W|\w+)|[^\\])'/}),e.languages.insertBefore("d","keyword",{property:/\B@\w*/}),e.languages.insertBefore("d","function",{register:{pattern:/\b(?:[ABCD][LHX]|E?(?:BP|DI|SI|SP)|[BS]PL|[ECSDGF]S|CR[0234]|[DS]IL|DR[012367]|E[ABCD]X|X?MM[0-7]|R(?:1[0-5]|[89])[BWD]?|R[ABCD]X|R[BS]P|R[DS]I|TR[3-7]|XMM(?:1[0-5]|[89])|YMM(?:1[0-5]|\d))\b|\bST(?:\([0-7]\)|\b)/,alias:"variable"}})}e.exports=t,t.displayName="d",t.aliases=[]},583:function(e){"use strict";function t(e){!function(e){var t=[/\b(?:async|sync|yield)\*/,/\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extends|extension|external|factory|final|finally|for|get|hide|if|implements|import|in|interface|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/],n=/(^|[^\w.])(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,r={pattern:RegExp(n+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}}}};e.languages.dart=e.languages.extend("clike",{"class-name":[r,{pattern:RegExp(n+/[A-Z]\w*(?=\s+\w+\s*[;,=()])/.source),lookbehind:!0,inside:r.inside}],keyword:t,operator:/\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/}),e.languages.insertBefore("dart","string",{"string-literal":{pattern:/r?(?:("""|''')[\s\S]*?\1|(["'])(?:\\.|(?!\2)[^\\\r\n])*\2(?!\2))/,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,lookbehind:!0,inside:{punctuation:/^\$\{?|\}$/,expression:{pattern:/[\s\S]+/,inside:e.languages.dart}}},string:/[\s\S]+/}},string:void 0}),e.languages.insertBefore("dart","class-name",{metadata:{pattern:/@\w+/,alias:"function"}}),e.languages.insertBefore("dart","class-name",{generics:{pattern:/<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}}})}(e)}e.exports=t,t.displayName="dart",t.aliases=[]},5462:function(e){"use strict";function t(e){!function(e){e.languages.dataweave={url:/\b[A-Za-z]+:\/\/[\w/:.?=&-]+|\burn:[\w:.?=&-]+/,property:{pattern:/(?:\b\w+#)?(?:"(?:\\.|[^\\"\r\n])*"|\b\w+)(?=\s*[:@])/,greedy:!0},string:{pattern:/(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0},"mime-type":/\b(?:application|audio|image|multipart|text|video)\/[\w+-]+/,date:{pattern:/\|[\w:+-]+\|/,greedy:!0},comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],regex:{pattern:/\/(?:[^\\\/\r\n]|\\[^\r\n])+\//,greedy:!0},keyword:/\b(?:and|as|at|case|do|else|fun|if|input|is|match|not|ns|null|or|output|type|unless|update|using|var)\b/,function:/\b[A-Z_]\w*(?=\s*\()/i,number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\];(),.:@]/,operator:/<<|>>|->|[<>~=]=?|!=|--?-?|\+\+?|!|\?/,boolean:/\b(?:false|true)\b/}}(e)}e.exports=t,t.displayName="dataweave",t.aliases=[]},1717:function(e){"use strict";function t(e){e.languages.dax={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/).*)/,lookbehind:!0},"data-field":{pattern:/'(?:[^']|'')*'(?!')(?:\[[ \w\xA0-\uFFFF]+\])?|\w+\[[ \w\xA0-\uFFFF]+\]/,alias:"symbol"},measure:{pattern:/\[[ \w\xA0-\uFFFF]+\]/,alias:"constant"},string:{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},function:/\b(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\.DIST|BETA\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\.DIST|CHISQ\.DIST\.RT|CHISQ\.INV|CHISQ\.INV\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\.NORM|CONFIDENCE\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\.DIST|NORM\.INV|NORM\.S\.DIST|NORM\.S\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\.EXC|PERCENTILE\.INC|PERCENTILEX\.EXC|PERCENTILEX\.INC|PERMUT|PI|POISSON\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\.P|STDEV\.S|STDEVX\.P|STDEVX\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\.DIST|T\.DIST\.2T|T\.DIST\.RT|T\.INV|T\.INV\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\.P|VAR\.S|VARX\.P|VARX\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\s*\()/i,keyword:/\b(?:DEFINE|EVALUATE|MEASURE|ORDER\s+BY|RETURN|VAR|START\s+AT|ASC|DESC)\b/i,boolean:{pattern:/\b(?:FALSE|NULL|TRUE)\b/i,alias:"constant"},number:/\b\d+(?:\.\d*)?|\B\.\d+\b/,operator:/:=|[-+*\/=^]|&&?|\|\||<(?:=>?|<|>)?|>[>=]?|\b(?:IN|NOT)\b/i,punctuation:/[;\[\](){}`,.]/}}e.exports=t,t.displayName="dax",t.aliases=[]},6655:function(e){"use strict";function t(e){e.languages.dhall={comment:/--.*|\{-(?:[^-{]|-(?!\})|\{(?!-)|\{-(?:[^-{]|-(?!\})|\{(?!-))*-\})*-\}/,string:{pattern:/"(?:[^"\\]|\\.)*"|''(?:[^']|'(?!')|'''|''\$\{)*''(?!'|\$)/,greedy:!0,inside:{interpolation:{pattern:/\$\{[^{}]*\}/,inside:{expression:{pattern:/(^\$\{)[\s\S]+(?=\}$)/,lookbehind:!0,alias:"language-dhall",inside:null},punctuation:/\$\{|\}/}}}},label:{pattern:/`[^`]*`/,greedy:!0},url:{pattern:/\bhttps?:\/\/[\w.:%!$&'*+;=@~-]+(?:\/[\w.:%!$&'*+;=@~-]*)*(?:\?[/?\w.:%!$&'*+;=@~-]*)?/,greedy:!0},env:{pattern:/\benv:(?:(?!\d)\w+|"(?:[^"\\=]|\\.)*")/,greedy:!0,inside:{function:/^env/,operator:/^:/,variable:/[\s\S]+/}},hash:{pattern:/\bsha256:[\da-fA-F]{64}\b/,inside:{function:/sha256/,operator:/:/,number:/[\da-fA-F]{64}/}},keyword:/\b(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)\b|\u2200/,builtin:/\b(?:None|Some)\b/,boolean:/\b(?:False|True)\b/,number:/\bNaN\b|-?\bInfinity\b|[+-]?\b(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/,operator:/\/\\|\/\/\\\\|&&|\|\||===|[!=]=|\/\/|->|\+\+|::|[+*#@=:?<>|\\\u2227\u2a53\u2261\u2afd\u03bb\u2192]/,punctuation:/\.\.|[{}\[\](),./]/,"class-name":/\b[A-Z]\w*\b/},e.languages.dhall.string.inside.interpolation.inside.expression.inside=e.languages.dhall}e.exports=t,t.displayName="dhall",t.aliases=[]},9442:function(e){"use strict";function t(e){!function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var r=t[n],a=[];/^\w+$/.test(n)||a.push(/\w+/.exec(n)[0]),"diff"===n&&a.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:a,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(e)}e.exports=t,t.displayName="diff",t.aliases=[]},6412:function(e,t,n){"use strict";var r=n(595);function a(e){e.register(r),function(e){e.languages.django={comment:/^\{#[\s\S]*?#\}$/,tag:{pattern:/(^\{%[+-]?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%][+-]?|[+-]?[}%]\}$/,alias:"punctuation"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},filter:{pattern:/(\|)\w+/,lookbehind:!0,alias:"function"},test:{pattern:/(\bis\s+(?:not\s+)?)(?!not\b)\w+/,lookbehind:!0,alias:"function"},function:/\b[a-z_]\w+(?=\s*\()/i,keyword:/\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,number:/\b\d+(?:\.\d+)?\b/,boolean:/[Ff]alse|[Nn]one|[Tt]rue/,variable:/\b\w+\b/,punctuation:/[{}[\](),.:;]/};var t=/\{\{[\s\S]*?\}\}|\{%[\s\S]*?%\}|\{#[\s\S]*?#\}/g,n=e.languages["markup-templating"];e.hooks.add("before-tokenize",(function(e){n.buildPlaceholders(e,"django",t)})),e.hooks.add("after-tokenize",(function(e){n.tokenizePlaceholders(e,"django")})),e.languages.jinja2=e.languages.django,e.hooks.add("before-tokenize",(function(e){n.buildPlaceholders(e,"jinja2",t)})),e.hooks.add("after-tokenize",(function(e){n.tokenizePlaceholders(e,"jinja2")}))}(e)}e.exports=a,a.displayName="django",a.aliases=["jinja2"]},8818:function(e){"use strict";function t(e){e.languages["dns-zone-file"]={comment:/;.*/,string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0},variable:[{pattern:/(^\$ORIGIN[ \t]+)\S+/m,lookbehind:!0},{pattern:/(^|\s)@(?=\s|$)/,lookbehind:!0}],keyword:/^\$(?:INCLUDE|ORIGIN|TTL)(?=\s|$)/m,class:{pattern:/(^|\s)(?:CH|CS|HS|IN)(?=\s|$)/,lookbehind:!0,alias:"keyword"},type:{pattern:/(^|\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?=\s|$)/,lookbehind:!0,alias:"keyword"},punctuation:/[()]/},e.languages["dns-zone"]=e.languages["dns-zone-file"]}e.exports=t,t.displayName="dnsZoneFile",t.aliases=[]},3386:function(e){"use strict";function t(e){!function(e){var t=/\\[\r\n](?:\s|\\[\r\n]|#.*(?!.))*(?![\s#]|\\[\r\n])/.source,n=/(?:[ \t]+(?![ \t])(?:<SP_BS>)?|<SP_BS>)/.source.replace(/<SP_BS>/g,(function(){return t})),r=/"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"|'(?:[^'\\\r\n]|\\(?:\r\n|[\s\S]))*'/.source,a=/--[\w-]+=(?:<STR>|(?!["'])(?:[^\s\\]|\\.)+)/.source.replace(/<STR>/g,(function(){return r})),i={pattern:RegExp(r),greedy:!0},o={pattern:/(^[ \t]*)#.*/m,lookbehind:!0,greedy:!0};function s(e,t){return e=e.replace(/<OPT>/g,(function(){return a})).replace(/<SP>/g,(function(){return n})),RegExp(e,t)}e.languages.docker={instruction:{pattern:/(^[ \t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)(?:\\.|[^\r\n\\])*(?:\\$(?:\s|#.*$)*(?![\s#])(?:\\.|[^\r\n\\])*)*/im,lookbehind:!0,greedy:!0,inside:{options:{pattern:s(/(^(?:ONBUILD<SP>)?\w+<SP>)<OPT>(?:<SP><OPT>)*/.source,"i"),lookbehind:!0,greedy:!0,inside:{property:{pattern:/(^|\s)--[\w-]+/,lookbehind:!0},string:[i,{pattern:/(=)(?!["'])(?:[^\s\\]|\\.)+/,lookbehind:!0}],operator:/\\$/m,punctuation:/=/}},keyword:[{pattern:s(/(^(?:ONBUILD<SP>)?HEALTHCHECK<SP>(?:<OPT><SP>)*)(?:CMD|NONE)\b/.source,"i"),lookbehind:!0,greedy:!0},{pattern:s(/(^(?:ONBUILD<SP>)?FROM<SP>(?:<OPT><SP>)*(?!--)[^ \t\\]+<SP>)AS/.source,"i"),lookbehind:!0,greedy:!0},{pattern:s(/(^ONBUILD<SP>)\w+/.source,"i"),lookbehind:!0,greedy:!0},{pattern:/^\w+/,greedy:!0}],comment:o,string:i,variable:/\$(?:\w+|\{[^{}"'\\]*\})/,operator:/\\$/m}},comment:o},e.languages.dockerfile=e.languages.docker}(e)}e.exports=t,t.displayName="docker",t.aliases=["dockerfile"]},7837:function(e){"use strict";function t(e){!function(e){var t="(?:"+[/[a-zA-Z_\x80-\uFFFF][\w\x80-\uFFFF]*/.source,/-?(?:\.\d+|\d+(?:\.\d*)?)/.source,/"[^"\\]*(?:\\[\s\S][^"\\]*)*"/.source,/<(?:[^<>]|(?!<!--)<(?:[^<>"']|"[^"]*"|'[^']*')+>|<!--(?:[^-]|-(?!->))*-->)*>/.source].join("|")+")",n={markup:{pattern:/(^<)[\s\S]+(?=>$)/,lookbehind:!0,alias:["language-markup","language-html","language-xml"],inside:e.languages.markup}};function r(e,n){return RegExp(e.replace(/<ID>/g,(function(){return t})),n)}e.languages.dot={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\/|^#.*/m,greedy:!0},"graph-name":{pattern:r(/(\b(?:digraph|graph|subgraph)[ \t\r\n]+)<ID>/.source,"i"),lookbehind:!0,greedy:!0,alias:"class-name",inside:n},"attr-value":{pattern:r(/(=[ \t\r\n]*)<ID>/.source),lookbehind:!0,greedy:!0,inside:n},"attr-name":{pattern:r(/([\[;, \t\r\n])<ID>(?=[ \t\r\n]*=)/.source),lookbehind:!0,greedy:!0,inside:n},keyword:/\b(?:digraph|edge|graph|node|strict|subgraph)\b/i,"compass-point":{pattern:/(:[ \t\r\n]*)(?:[ewc_]|[ns][ew]?)(?![\w\x80-\uFFFF])/,lookbehind:!0,alias:"builtin"},node:{pattern:r(/(^|[^-.\w\x80-\uFFFF\\])<ID>/.source),lookbehind:!0,greedy:!0,inside:n},operator:/[=:]|-[->]/,punctuation:/[\[\]{};,]/},e.languages.gv=e.languages.dot}(e)}e.exports=t,t.displayName="dot",t.aliases=["gv"]},9845:function(e){"use strict";function t(e){e.languages.ebnf={comment:/\(\*[\s\S]*?\*\)/,string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,greedy:!0},special:{pattern:/\?[^?\r\n]*\?/,greedy:!0,alias:"class-name"},definition:{pattern:/^([\t ]*)[a-z]\w*(?:[ \t]+[a-z]\w*)*(?=\s*=)/im,lookbehind:!0,alias:["rule","keyword"]},rule:/\b[a-z]\w*(?:[ \t]+[a-z]\w*)*\b/i,punctuation:/\([:/]|[:/]\)|[.,;()[\]{}]/,operator:/[-=|*/!]/}}e.exports=t,t.displayName="ebnf",t.aliases=[]},6268:function(e){"use strict";function t(e){e.languages.editorconfig={comment:/[;#].*/,section:{pattern:/(^[ \t]*)\[.+\]/m,lookbehind:!0,alias:"selector",inside:{regex:/\\\\[\[\]{},!?.*]/,operator:/[!?]|\.\.|\*{1,2}/,punctuation:/[\[\]{},]/}},key:{pattern:/(^[ \t]*)[^\s=]+(?=[ \t]*=)/m,lookbehind:!0,alias:"attr-name"},value:{pattern:/=.*/,alias:"attr-value",inside:{punctuation:/^=/}}}}e.exports=t,t.displayName="editorconfig",t.aliases=[]},4326:function(e){"use strict";function t(e){e.languages.eiffel={comment:/--.*/,string:[{pattern:/"([^[]*)\[[\s\S]*?\]\1"/,greedy:!0},{pattern:/"([^{]*)\{[\s\S]*?\}\1"/,greedy:!0},{pattern:/"(?:%(?:(?!\n)\s)*\n\s*%|%\S|[^%"\r\n])*"/,greedy:!0}],char:/'(?:%.|[^%'\r\n])+'/,keyword:/\b(?:across|agent|alias|all|and|as|assign|attached|attribute|check|class|convert|create|Current|debug|deferred|detachable|do|else|elseif|end|ensure|expanded|export|external|feature|from|frozen|if|implies|inherit|inspect|invariant|like|local|loop|not|note|obsolete|old|once|or|Precursor|redefine|rename|require|rescue|Result|retry|select|separate|some|then|undefine|until|variant|Void|when|xor)\b/i,boolean:/\b(?:False|True)\b/i,"class-name":/\b[A-Z][\dA-Z_]*\b/,number:[/\b0[xcb][\da-f](?:_*[\da-f])*\b/i,/(?:\b\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?e[+-]?)?\d(?:_*\d)*\b|\b\d(?:_*\d)*\b\.?/i],punctuation:/:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[{}[\];(),:?]/,operator:/\\\\|\|\.\.\||\.\.|\/[~\/=]?|[><]=?|[-+*^=~]/}}e.exports=t,t.displayName="eiffel",t.aliases=[]},8331:function(e,t,n){"use strict";var r=n(595);function a(e){e.register(r),function(e){e.languages.ejs={delimiter:{pattern:/^<%[-_=]?|[-_]?%>$/,alias:"punctuation"},comment:/^#[\s\S]*/,"language-javascript":{pattern:/[\s\S]+/,inside:e.languages.javascript}},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"ejs",/<%(?!%)[\s\S]+?%>/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"ejs")})),e.languages.eta=e.languages.ejs}(e)}e.exports=a,a.displayName="ejs",a.aliases=["eta"]},3596:function(e){"use strict";function t(e){e.languages.elixir={doc:{pattern:/@(?:doc|moduledoc)\s+(?:("""|''')[\s\S]*?\1|("|')(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2)/,inside:{attribute:/^@\w+/,string:/['"][\s\S]+/}},comment:{pattern:/#.*/,greedy:!0},regex:{pattern:/~[rR](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|[^\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[uismxfr]*/,greedy:!0},string:[{pattern:/~[cCsSwW](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|#\{[^}]+\}|#(?!\{)|[^#\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[csa]?/,greedy:!0,inside:{}},{pattern:/("""|''')[\s\S]*?\1/,greedy:!0,inside:{}},{pattern:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0,inside:{}}],atom:{pattern:/(^|[^:]):\w+/,lookbehind:!0,alias:"symbol"},module:{pattern:/\b[A-Z]\w*\b/,alias:"class-name"},"attr-name":/\b\w+\??:(?!:)/,argument:{pattern:/(^|[^&])&\d+/,lookbehind:!0,alias:"variable"},attribute:{pattern:/@\w+/,alias:"variable"},function:/\b[_a-zA-Z]\w*[?!]?(?:(?=\s*(?:\.\s*)?\()|(?=\/\d))/,number:/\b(?:0[box][a-f\d_]+|\d[\d_]*)(?:\.[\d_]+)?(?:e[+-]?[\d_]+)?\b/i,keyword:/\b(?:after|alias|and|case|catch|cond|def(?:callback|delegate|exception|impl|macro|module|n|np|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|quote|raise|require|rescue|try|unless|unquote|use|when)\b/,boolean:/\b(?:false|nil|true)\b/,operator:[/\bin\b|&&?|\|[|>]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*\/^]/,{pattern:/([^<])<(?!<)/,lookbehind:!0},{pattern:/([^>])>(?!>)/,lookbehind:!0}],punctuation:/<<|>>|[.,%\[\]{}()]/},e.languages.elixir.string.forEach((function(t){t.inside={interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"},rest:e.languages.elixir}}}}))}e.exports=t,t.displayName="elixir",t.aliases=[]},3972:function(e){"use strict";function t(e){e.languages.elm={comment:/--.*|\{-[\s\S]*?-\}/,char:{pattern:/'(?:[^\\'\r\n]|\\(?:[abfnrtv\\']|\d+|x[0-9a-fA-F]+|u\{[0-9a-fA-F]+\}))'/,greedy:!0},string:[{pattern:/"""[\s\S]*?"""/,greedy:!0},{pattern:/"(?:[^\\"\r\n]|\\.)*"/,greedy:!0}],"import-statement":{pattern:/(^[\t ]*)import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+(?:[A-Z]\w*)(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m,lookbehind:!0,inside:{keyword:/\b(?:as|exposing|import)\b/}},keyword:/\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b/,builtin:/\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\b/,number:/\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0x[0-9a-f]+)\b/i,operator:/\s\.\s|[+\-/*=.$<>:&|^?%#@~!]{2,}|[+\-/*=$<>:&|^?%#@~!]/,hvariable:/\b(?:[A-Z]\w*\.)*[a-z]\w*\b/,constant:/\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/,punctuation:/[{}[\]|(),.:]/}}e.exports=t,t.displayName="elm",t.aliases=[]},4665:function(e,t,n){"use strict";var r=n(6326),a=n(595);function i(e){e.register(r),e.register(a),function(e){e.languages.erb={delimiter:{pattern:/^(\s*)<%=?|%>(?=\s*$)/,lookbehind:!0,alias:"punctuation"},ruby:{pattern:/\s*\S[\s\S]*/,alias:"language-ruby",inside:e.languages.ruby}},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"erb",/<%=?(?:[^\r\n]|[\r\n](?!=begin)|[\r\n]=begin\s(?:[^\r\n]|[\r\n](?!=end))*[\r\n]=end)+?%>/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"erb")}))}(e)}e.exports=i,i.displayName="erb",i.aliases=[]},865:function(e){"use strict";function t(e){e.languages.erlang={comment:/%.+/,string:{pattern:/"(?:\\.|[^\\"\r\n])*"/,greedy:!0},"quoted-function":{pattern:/'(?:\\.|[^\\'\r\n])+'(?=\()/,alias:"function"},"quoted-atom":{pattern:/'(?:\\.|[^\\'\r\n])+'/,alias:"atom"},boolean:/\b(?:false|true)\b/,keyword:/\b(?:after|case|catch|end|fun|if|of|receive|try|when)\b/,number:[/\$\\?./,/\b\d+#[a-z0-9]+/i,/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i],function:/\b[a-z][\w@]*(?=\()/,variable:{pattern:/(^|[^@])(?:\b|\?)[A-Z_][\w@]*/,lookbehind:!0},operator:[/[=\/<>:]=|=[:\/]=|\+\+?|--?|[=*\/!]|\b(?:and|andalso|band|bnot|bor|bsl|bsr|bxor|div|not|or|orelse|rem|xor)\b/,{pattern:/(^|[^<])<(?!<)/,lookbehind:!0},{pattern:/(^|[^>])>(?!>)/,lookbehind:!0}],atom:/\b[a-z][\w@]*/,punctuation:/[()[\]{}:;,.#|]|<<|>>/}}e.exports=t,t.displayName="erlang",t.aliases=[]},6168:function(e,t,n){"use strict";var r=n(6759),a=n(595);function i(e){e.register(r),e.register(a),function(e){e.languages.etlua={delimiter:{pattern:/^<%[-=]?|-?%>$/,alias:"punctuation"},"language-lua":{pattern:/[\s\S]+/,inside:e.languages.lua}},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"etlua",/<%[\s\S]+?%>/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"etlua")}))}(e)}e.exports=i,i.displayName="etlua",i.aliases=[]},8171:function(e){"use strict";function t(e){e.languages["excel-formula"]={comment:{pattern:/(\bN\(\s*)"(?:[^"]|"")*"(?=\s*\))/i,lookbehind:!0,greedy:!0},string:{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},reference:{pattern:/(?:'[^']*'|(?:[^\s()[\]{}<>*?"';,$&]*\[[^^\s()[\]{}<>*?"']+\])?\w+)!/,greedy:!0,alias:"string",inside:{operator:/!$/,punctuation:/'/,sheet:{pattern:/[^[\]]+$/,alias:"function"},file:{pattern:/\[[^[\]]+\]$/,inside:{punctuation:/[[\]]/}},path:/[\s\S]+/}},"function-name":{pattern:/\b[A-Z]\w*(?=\()/i,alias:"keyword"},range:{pattern:/\$?\b(?:[A-Z]+\$?\d+:\$?[A-Z]+\$?\d+|[A-Z]+:\$?[A-Z]+|\d+:\$?\d+)\b/i,alias:"property",inside:{operator:/:/,cell:/\$?[A-Z]+\$?\d+/i,column:/\$?[A-Z]+/i,row:/\$?\d+/}},cell:{pattern:/\b[A-Z]+\d+\b|\$[A-Za-z]+\$?\d+\b|\b[A-Za-z]+\$\d+\b/,alias:"property"},number:/(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:e[+-]?\d+)?\b/i,boolean:/\b(?:FALSE|TRUE)\b/i,operator:/[-+*/^%=&,]|<[=>]?|>=?/,punctuation:/[[\]();{}|]/},e.languages.xlsx=e.languages.xls=e.languages["excel-formula"]}e.exports=t,t.displayName="excelFormula",t.aliases=[]},6175:function(e){"use strict";function t(e){!function(e){var t={function:/\b(?:BUGS?|FIX(?:MES?)?|NOTES?|TODOS?|XX+|HACKS?|WARN(?:ING)?|\?{2,}|!{2,})\b/},n={number:/\\[^\s']|%\w/},r={comment:[{pattern:/(^|\s)(?:! .*|!$)/,lookbehind:!0,inside:t},{pattern:/(^|\s)\/\*\s[\s\S]*?\*\/(?=\s|$)/,lookbehind:!0,greedy:!0,inside:t},{pattern:/(^|\s)!\[(={0,6})\[\s[\s\S]*?\]\2\](?=\s|$)/,lookbehind:!0,greedy:!0,inside:t}],number:[{pattern:/(^|\s)[+-]?\d+(?=\s|$)/,lookbehind:!0},{pattern:/(^|\s)[+-]?0(?:b[01]+|o[0-7]+|d\d+|x[\dA-F]+)(?=\s|$)/i,lookbehind:!0},{pattern:/(^|\s)[+-]?\d+\/\d+\.?(?=\s|$)/,lookbehind:!0},{pattern:/(^|\s)\+?\d+\+\d+\/\d+(?=\s|$)/,lookbehind:!0},{pattern:/(^|\s)-\d+-\d+\/\d+(?=\s|$)/,lookbehind:!0},{pattern:/(^|\s)[+-]?(?:\d*\.\d+|\d+\.\d*|\d+)(?:e[+-]?\d+)?(?=\s|$)/i,lookbehind:!0},{pattern:/(^|\s)NAN:\s+[\da-fA-F]+(?=\s|$)/,lookbehind:!0},{pattern:/(^|\s)[+-]?0(?:b1\.[01]*|o1\.[0-7]*|d1\.\d*|x1\.[\dA-F]*)p\d+(?=\s|$)/i,lookbehind:!0}],regexp:{pattern:/(^|\s)R\/\s(?:\\\S|[^\\/])*\/(?:[idmsr]*|[idmsr]+-[idmsr]+)(?=\s|$)/,lookbehind:!0,alias:"number",inside:{variable:/\\\S/,keyword:/[+?*\[\]^$(){}.|]/,operator:{pattern:/(\/)[idmsr]+(?:-[idmsr]+)?/,lookbehind:!0}}},boolean:{pattern:/(^|\s)[tf](?=\s|$)/,lookbehind:!0},"custom-string":{pattern:/(^|\s)[A-Z0-9\-]+"\s(?:\\\S|[^"\\])*"/,lookbehind:!0,greedy:!0,alias:"string",inside:{number:/\\\S|%\w|\//}},"multiline-string":[{pattern:/(^|\s)STRING:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*;(?=\s|$)/,lookbehind:!0,greedy:!0,alias:"string",inside:{number:n.number,"semicolon-or-setlocal":{pattern:/([\r\n][ \t]*);(?=\s|$)/,lookbehind:!0,alias:"function"}}},{pattern:/(^|\s)HEREDOC:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*\S+(?=\s|$)/,lookbehind:!0,greedy:!0,alias:"string",inside:n},{pattern:/(^|\s)\[(={0,6})\[\s[\s\S]*?\]\2\](?=\s|$)/,lookbehind:!0,greedy:!0,alias:"string",inside:n}],"special-using":{pattern:/(^|\s)USING:(?:\s\S+)*(?=\s+;(?:\s|$))/,lookbehind:!0,alias:"function",inside:{string:{pattern:/(\s)[^:\s]+/,lookbehind:!0}}},"stack-effect-delimiter":[{pattern:/(^|\s)(?:call|eval|execute)?\((?=\s)/,lookbehind:!0,alias:"operator"},{pattern:/(\s)--(?=\s)/,lookbehind:!0,alias:"operator"},{pattern:/(\s)\)(?=\s|$)/,lookbehind:!0,alias:"operator"}],combinators:{pattern:null,lookbehind:!0,alias:"keyword"},"kernel-builtin":{pattern:null,lookbehind:!0,alias:"variable"},"sequences-builtin":{pattern:null,lookbehind:!0,alias:"variable"},"math-builtin":{pattern:null,lookbehind:!0,alias:"variable"},"constructor-word":{pattern:/(^|\s)<(?!=+>|-+>)\S+>(?=\s|$)/,lookbehind:!0,alias:"keyword"},"other-builtin-syntax":{pattern:null,lookbehind:!0,alias:"operator"},"conventionally-named-word":{pattern:/(^|\s)(?!")(?:(?:change|new|set|with)-\S+|\$\S+|>[^>\s]+|[^:>\s]+>|[^>\s]+>[^>\s]+|\+[^+\s]+\+|[^?\s]+\?|\?[^?\s]+|[^>\s]+>>|>>[^>\s]+|[^<\s]+<<|\([^()\s]+\)|[^!\s]+!|[^*\s]\S*\*|[^.\s]\S*\.)(?=\s|$)/,lookbehind:!0,alias:"keyword"},"colon-syntax":{pattern:/(^|\s)(?:[A-Z0-9\-]+#?)?:{1,2}\s+(?:;\S+|(?!;)\S+)(?=\s|$)/,lookbehind:!0,greedy:!0,alias:"function"},"semicolon-or-setlocal":{pattern:/(\s)(?:;|:>)(?=\s|$)/,lookbehind:!0,alias:"function"},"curly-brace-literal-delimiter":[{pattern:/(^|\s)[a-z]*\{(?=\s)/i,lookbehind:!0,alias:"operator"},{pattern:/(\s)\}(?=\s|$)/,lookbehind:!0,alias:"operator"}],"quotation-delimiter":[{pattern:/(^|\s)\[(?=\s)/,lookbehind:!0,alias:"operator"},{pattern:/(\s)\](?=\s|$)/,lookbehind:!0,alias:"operator"}],"normal-word":{pattern:/(^|\s)[^"\s]\S*(?=\s|$)/,lookbehind:!0},string:{pattern:/"(?:\\\S|[^"\\])*"/,greedy:!0,inside:n}},a=function(e){return(e+"").replace(/([.?*+\^$\[\]\\(){}|\-])/g,"\\$1")},i=function(e){return new RegExp("(^|\\s)(?:"+e.map(a).join("|")+")(?=\\s|$)")},o={"kernel-builtin":["or","2nipd","4drop","tuck","wrapper","nip","wrapper?","callstack>array","die","dupd","callstack","callstack?","3dup","hashcode","pick","4nip","build",">boolean","nipd","clone","5nip","eq?","?","=","swapd","2over","clear","2dup","get-retainstack","not","tuple?","dup","3nipd","call","-rotd","object","drop","assert=","assert?","-rot","execute","boa","get-callstack","curried?","3drop","pickd","overd","over","roll","3nip","swap","and","2nip","rotd","throw","(clone)","hashcode*","spin","reach","4dup","equal?","get-datastack","assert","2drop","<wrapper>","boolean?","identity-hashcode","identity-tuple?","null","composed?","new","5drop","rot","-roll","xor","identity-tuple","boolean"],"other-builtin-syntax":["=======","recursive","flushable",">>","<<<<<<","M\\","B","PRIVATE>","\\","======","final","inline","delimiter","deprecated","<PRIVATE",">>>>>>","<<<<<<<","parse-complex","malformed-complex","read-only",">>>>>>>","call-next-method","<<","foldable","$","$[","${"],"sequences-builtin":["member-eq?","mismatch","append","assert-sequence=","longer","repetition","clone-like","3sequence","assert-sequence?","last-index-from","reversed","index-from","cut*","pad-tail","join-as","remove-eq!","concat-as","but-last","snip","nths","nth","sequence","longest","slice?","<slice>","remove-nth","tail-slice","empty?","tail*","member?","virtual-sequence?","set-length","drop-prefix","iota","unclip","bounds-error?","unclip-last-slice","non-negative-integer-expected","non-negative-integer-expected?","midpoint@","longer?","?set-nth","?first","rest-slice","prepend-as","prepend","fourth","sift","subseq-start","new-sequence","?last","like","first4","1sequence","reverse","slice","virtual@","repetition?","set-last","index","4sequence","max-length","set-second","immutable-sequence","first2","first3","supremum","unclip-slice","suffix!","insert-nth","tail","3append","short","suffix","concat","flip","immutable?","reverse!","2sequence","sum","delete-all","indices","snip-slice","<iota>","check-slice","sequence?","head","append-as","halves","sequence=","collapse-slice","?second","slice-error?","product","bounds-check?","bounds-check","immutable","virtual-exemplar","harvest","remove","pad-head","last","set-fourth","cartesian-product","remove-eq","shorten","shorter","reversed?","shorter?","shortest","head-slice","pop*","tail-slice*","but-last-slice","iota?","append!","cut-slice","new-resizable","head-slice*","sequence-hashcode","pop","set-nth","?nth","second","join","immutable-sequence?","<reversed>","3append-as","virtual-sequence","subseq?","remove-nth!","length","last-index","lengthen","assert-sequence","copy","move","third","first","tail?","set-first","prefix","bounds-error","<repetition>","exchange","surround","cut","min-length","set-third","push-all","head?","subseq-start-from","delete-slice","rest","sum-lengths","head*","infimum","remove!","glue","slice-error","subseq","push","replace-slice","subseq-as","unclip-last"],"math-builtin":["number=","next-power-of-2","?1+","fp-special?","imaginary-part","float>bits","number?","fp-infinity?","bignum?","fp-snan?","denominator","gcd","*","+","fp-bitwise=","-","u>=","/",">=","bitand","power-of-2?","log2-expects-positive","neg?","<","log2",">","integer?","number","bits>double","2/","zero?","bits>float","float?","shift","ratio?","rect>","even?","ratio","fp-sign","bitnot",">fixnum","complex?","/i","integer>fixnum","/f","sgn",">bignum","next-float","u<","u>","mod","recip","rational",">float","2^","integer","fixnum?","neg","fixnum","sq","bignum",">rect","bit?","fp-qnan?","simple-gcd","complex","<fp-nan>","real",">fraction","double>bits","bitor","rem","fp-nan-payload","real-part","log2-expects-positive?","prev-float","align","unordered?","float","fp-nan?","abs","bitxor","integer>fixnum-strict","u<=","odd?","<=","/mod",">integer","real?","rational?","numerator"]};Object.keys(o).forEach((function(e){r[e].pattern=i(o[e])}));r.combinators.pattern=i(["2bi","while","2tri","bi*","4dip","both?","same?","tri@","curry","prepose","3bi","?if","tri*","2keep","3keep","curried","2keepd","when","2bi*","2tri*","4keep","bi@","keepdd","do","unless*","tri-curry","if*","loop","bi-curry*","when*","2bi@","2tri@","with","2with","either?","bi","until","3dip","3curry","tri-curry*","tri-curry@","bi-curry","keepd","compose","2dip","if","3tri","unless","tuple","keep","2curry","tri","most","while*","dip","composed","bi-curry@","find-last-from","trim-head-slice","map-as","each-from","none?","trim-tail","partition","if-empty","accumulate*","reject!","find-from","accumulate-as","collector-for-as","reject","map","map-sum","accumulate!","2each-from","follow","supremum-by","map!","unless-empty","collector","padding","reduce-index","replicate-as","infimum-by","trim-tail-slice","count","find-index","filter","accumulate*!","reject-as","map-integers","map-find","reduce","selector","interleave","2map","filter-as","binary-reduce","map-index-as","find","produce","filter!","replicate","cartesian-map","cartesian-each","find-index-from","map-find-last","3map-as","3map","find-last","selector-as","2map-as","2map-reduce","accumulate","each","each-index","accumulate*-as","when-empty","all?","collector-as","push-either","new-like","collector-for","2selector","push-if","2all?","map-reduce","3each","any?","trim-slice","2reduce","change-nth","produce-as","2each","trim","trim-head","cartesian-find","map-index","if-zero","each-integer","unless-zero","(find-integer)","when-zero","find-last-integer","(all-integers?)","times","(each-integer)","find-integer","all-integers?","unless-negative","if-positive","when-positive","when-negative","unless-positive","if-negative","case","2cleave","cond>quot","case>quot","3cleave","wrong-values","to-fixed-point","alist>quot","cond","cleave","call-effect","recursive-hashcode","spread","deep-spread>quot","2||","0||","n||","0&&","2&&","3||","1||","1&&","n&&","3&&","smart-unless*","keep-inputs","reduce-outputs","smart-when*","cleave>array","smart-with","smart-apply","smart-if","inputs/outputs","output>sequence-n","map-outputs","map-reduce-outputs","dropping","output>array","smart-map-reduce","smart-2map-reduce","output>array-n","nullary","input<sequence","append-outputs","drop-inputs","inputs","smart-2reduce","drop-outputs","smart-reduce","preserving","smart-when","outputs","append-outputs-as","smart-unless","smart-if*","sum-outputs","input<sequence-unsafe","output>sequence"]),e.languages.factor=r}(e)}e.exports=t,t.displayName="factor",t.aliases=[]},4988:function(e){"use strict";function t(e){!function(e){e.languages.false={comment:{pattern:/\{[^}]*\}/},string:{pattern:/"[^"]*"/,greedy:!0},"character-code":{pattern:/'(?:[^\r]|\r\n?)/,alias:"number"},"assembler-code":{pattern:/\d+`/,alias:"important"},number:/\d+/,operator:/[-!#$%&'*+,./:;=>?@\\^_`|~\xdf\xf8]/,punctuation:/\[|\]/,variable:/[a-z]/,"non-standard":{pattern:/[()<BDO\xae]/,alias:"bold"}}}(e)}e.exports=t,t.displayName="$false",t.aliases=[]},2727:function(e){"use strict";function t(e){e.languages["firestore-security-rules"]=e.languages.extend("clike",{comment:/\/\/.*/,keyword:/\b(?:allow|function|if|match|null|return|rules_version|service)\b/,operator:/&&|\|\||[<>!=]=?|[-+*/%]|\b(?:in|is)\b/}),delete e.languages["firestore-security-rules"]["class-name"],e.languages.insertBefore("firestore-security-rules","keyword",{path:{pattern:/(^|[\s(),])(?:\/(?:[\w\xA0-\uFFFF]+|\{[\w\xA0-\uFFFF]+(?:=\*\*)?\}|\$\([\w\xA0-\uFFFF.]+\)))+/,lookbehind:!0,greedy:!0,inside:{variable:{pattern:/\{[\w\xA0-\uFFFF]+(?:=\*\*)?\}|\$\([\w\xA0-\uFFFF.]+\)/,inside:{operator:/=/,keyword:/\*\*/,punctuation:/[.$(){}]/}},punctuation:/\//}},method:{pattern:/(\ballow\s+)[a-z]+(?:\s*,\s*[a-z]+)*(?=\s*[:;])/,lookbehind:!0,alias:"builtin",inside:{punctuation:/,/}}})}e.exports=t,t.displayName="firestoreSecurityRules",t.aliases=[]},4037:function(e){"use strict";function t(e){!function(e){e.languages.flow=e.languages.extend("javascript",{}),e.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|any|mixed|null|void)\b/,alias:"tag"}]}),e.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}(e)}e.exports=t,t.displayName="flow",t.aliases=[]},9770:function(e){"use strict";function t(e){e.languages.fortran={"quoted-number":{pattern:/[BOZ](['"])[A-F0-9]+\1/i,alias:"number"},string:{pattern:/(?:\b\w+_)?(['"])(?:\1\1|&(?:\r\n?|\n)(?:[ \t]*!.*(?:\r\n?|\n)|(?![ \t]*!))|(?!\1).)*(?:\1|&)/,inside:{comment:{pattern:/(&(?:\r\n?|\n)\s*)!.*/,lookbehind:!0}}},comment:{pattern:/!.*/,greedy:!0},boolean:/\.(?:FALSE|TRUE)\.(?:_\w+)?/i,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[ED][+-]?\d+)?(?:_\w+)?/i,keyword:[/\b(?:CHARACTER|COMPLEX|DOUBLE ?PRECISION|INTEGER|LOGICAL|REAL)\b/i,/\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\b/i,/\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\b/i,/\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEIF|ELSEWHERE|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\b/i],operator:[/\*\*|\/\/|=>|[=\/]=|[<>]=?|::|[+\-*=%]|\.[A-Z]+\./i,{pattern:/(^|(?!\().)\/(?!\))/,lookbehind:!0}],punctuation:/\(\/|\/\)|[(),;:&]/}}e.exports=t,t.displayName="fortran",t.aliases=[]},1987:function(e){"use strict";function t(e){e.languages.fsharp=e.languages.extend("clike",{comment:[{pattern:/(^|[^\\])\(\*(?!\))[\s\S]*?\*\)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(?:"""[\s\S]*?"""|@"(?:""|[^"])*"|"(?:\\[\s\S]|[^\\"])*")B?/,greedy:!0},"class-name":{pattern:/(\b(?:exception|inherit|interface|new|of|type)\s+|\w\s*:\s*|\s:\??>\s*)[.\w]+\b(?:\s*(?:->|\*)\s*[.\w]+\b)*(?!\s*[:.])/,lookbehind:!0,inside:{operator:/->|\*/,punctuation:/\./}},keyword:/\b(?:let|return|use|yield)(?:!\B|\b)|\b(?:abstract|and|as|asr|assert|atomic|base|begin|break|checked|class|component|const|constraint|constructor|continue|default|delegate|do|done|downcast|downto|eager|elif|else|end|event|exception|extern|external|false|finally|fixed|for|fun|function|functor|global|if|in|include|inherit|inline|interface|internal|land|lazy|lor|lsl|lsr|lxor|match|member|method|mixin|mod|module|mutable|namespace|new|not|null|object|of|open|or|override|parallel|private|process|protected|public|pure|rec|sealed|select|sig|static|struct|tailcall|then|to|trait|true|try|type|upcast|val|virtual|void|volatile|when|while|with)\b/,number:[/\b0x[\da-fA-F]+(?:LF|lf|un)?\b/,/\b0b[01]+(?:uy|y)?\b/,/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[fm]|e[+-]?\d+)?\b/i,/\b\d+(?:[IlLsy]|UL|u[lsy]?)?\b/],operator:/([<>~&^])\1\1|([*.:<>&])\2|<-|->|[!=:]=|<?\|{1,3}>?|\??(?:<=|>=|<>|[-+*/%=<>])\??|[!?^&]|~[+~-]|:>|:\?>?/}),e.languages.insertBefore("fsharp","keyword",{preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(^#)\b(?:else|endif|if|light|line|nowarn)\b/,lookbehind:!0,alias:"keyword"}}}}),e.languages.insertBefore("fsharp","punctuation",{"computation-expression":{pattern:/\b[_a-z]\w*(?=\s*\{)/i,alias:"keyword"}}),e.languages.insertBefore("fsharp","string",{annotation:{pattern:/\[<.+?>\]/,greedy:!0,inside:{punctuation:/^\[<|>\]$/,"class-name":{pattern:/^\w+$|(^|;\s*)[A-Z]\w*(?=\()/,lookbehind:!0},"annotation-content":{pattern:/[\s\S]+/,inside:e.languages.fsharp}}},char:{pattern:/'(?:[^\\']|\\(?:.|\d{3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}|U[a-fA-F\d]{8}))'B?/,greedy:!0}})}e.exports=t,t.displayName="fsharp",t.aliases=[]},1505:function(e,t,n){"use strict";var r=n(595);function a(e){e.register(r),function(e){for(var t=/[^<()"']|\((?:<expr>)*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^\\"]|\\.)*"|'(?:[^\\']|\\.)*'/.source,n=0;n<2;n++)t=t.replace(/<expr>/g,(function(){return t}));t=t.replace(/<expr>/g,/[^\s\S]/.source);var r={comment:/<#--[\s\S]*?-->/,string:[{pattern:/\br("|')(?:(?!\1)[^\\]|\\.)*\1/,greedy:!0},{pattern:RegExp(/("|')(?:(?!\1|\$\{)[^\\]|\\.|\$\{(?:(?!\})(?:<expr>))*\})*\1/.source.replace(/<expr>/g,(function(){return t}))),greedy:!0,inside:{interpolation:{pattern:RegExp(/((?:^|[^\\])(?:\\\\)*)\$\{(?:(?!\})(?:<expr>))*\}/.source.replace(/<expr>/g,(function(){return t}))),lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:null}}}}],keyword:/\b(?:as)\b/,boolean:/\b(?:false|true)\b/,"builtin-function":{pattern:/((?:^|[^?])\?\s*)\w+/,lookbehind:!0,alias:"function"},function:/\b\w+(?=\s*\()/,number:/\b\d+(?:\.\d+)?\b/,operator:/\.\.[<*!]?|->|--|\+\+|&&|\|\||\?{1,2}|[-+*/%!=<>]=?|\b(?:gt|gte|lt|lte)\b/,punctuation:/[,;.:()[\]{}]/};r.string[1].inside.interpolation.inside.rest=r,e.languages.ftl={"ftl-comment":{pattern:/^<#--[\s\S]*/,alias:"comment"},"ftl-directive":{pattern:/^<[\s\S]+>$/,inside:{directive:{pattern:/(^<\/?)[#@][a-z]\w*/i,lookbehind:!0,alias:"keyword"},punctuation:/^<\/?|\/?>$/,content:{pattern:/\s*\S[\s\S]*/,alias:"ftl",inside:r}}},"ftl-interpolation":{pattern:/^\$\{[\s\S]*\}$/,inside:{punctuation:/^\$\{|\}$/,content:{pattern:/\s*\S[\s\S]*/,alias:"ftl",inside:r}}}},e.hooks.add("before-tokenize",(function(n){var r=RegExp(/<#--[\s\S]*?-->|<\/?[#@][a-zA-Z](?:<expr>)*?>|\$\{(?:<expr>)*?\}/.source.replace(/<expr>/g,(function(){return t})),"gi");e.languages["markup-templating"].buildPlaceholders(n,"ftl",r)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"ftl")}))}(e)}e.exports=a,a.displayName="ftl",a.aliases=[]},8403:function(e){"use strict";function t(e){e.languages.gap={shell:{pattern:/^gap>[\s\S]*?(?=^gap>|$(?![\s\S]))/m,greedy:!0,inside:{gap:{pattern:/^(gap>).+(?:(?:\r(?:\n|(?!\n))|\n)>.*)*/,lookbehind:!0,inside:null},punctuation:/^gap>/}},comment:{pattern:/#.*/,greedy:!0},string:{pattern:/(^|[^\\'"])(?:'(?:[^\r\n\\']|\\.){1,10}'|"(?:[^\r\n\\"]|\\.)*"(?!")|"""[\s\S]*?""")/,lookbehind:!0,greedy:!0,inside:{continuation:{pattern:/([\r\n])>/,lookbehind:!0,alias:"punctuation"}}},keyword:/\b(?:Assert|Info|IsBound|QUIT|TryNextMethod|Unbind|and|atomic|break|continue|do|elif|else|end|fi|for|function|if|in|local|mod|not|od|or|quit|readonly|readwrite|rec|repeat|return|then|until|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:{pattern:/(^|[^\w.]|\.\.)(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?(?:_[a-z]?)?(?=$|[^\w.]|\.\.)/,lookbehind:!0},continuation:{pattern:/([\r\n])>/,lookbehind:!0,alias:"punctuation"},operator:/->|[-+*/^~=!]|<>|[<>]=?|:=|\.\./,punctuation:/[()[\]{},;.:]/},e.languages.gap.shell.inside.gap.inside=e.languages.gap}e.exports=t,t.displayName="gap",t.aliases=[]},9124:function(e){"use strict";function t(e){e.languages.gcode={comment:/;.*|\B\(.*?\)\B/,string:{pattern:/"(?:""|[^"])*"/,greedy:!0},keyword:/\b[GM]\d+(?:\.\d+)?\b/,property:/\b[A-Z]/,checksum:{pattern:/(\*)\d+/,lookbehind:!0,alias:"number"},punctuation:/[:*]/}}e.exports=t,t.displayName="gcode",t.aliases=[]},8495:function(e){"use strict";function t(e){e.languages.gdscript={comment:/#.*/,string:{pattern:/@?(?:("|')(?:(?!\1)[^\n\\]|\\[\s\S])*\1(?!"|')|"""(?:[^\\]|\\[\s\S])*?""")/,greedy:!0},"class-name":{pattern:/(^(?:class|class_name|extends)[ \t]+|^export\([ \t]*|\bas[ \t]+|(?:\b(?:const|var)[ \t]|[,(])[ \t]*\w+[ \t]*:[ \t]*|->[ \t]*)[a-zA-Z_]\w*/m,lookbehind:!0},keyword:/\b(?:and|as|assert|break|breakpoint|class|class_name|const|continue|elif|else|enum|export|extends|for|func|if|in|is|master|mastersync|match|not|null|onready|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|signal|static|tool|var|while|yield)\b/,function:/\b[a-z_]\w*(?=[ \t]*\()/i,variable:/\$\w+/,number:[/\b0b[01_]+\b|\b0x[\da-fA-F_]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.[\d_]+)(?:e[+-]?[\d_]+)?\b/,/\b(?:INF|NAN|PI|TAU)\b/],constant:/\b[A-Z][A-Z_\d]*\b/,boolean:/\b(?:false|true)\b/,operator:/->|:=|&&|\|\||<<|>>|[-+*/%&|!<>=]=?|[~^]/,punctuation:/[.:,;()[\]{}]/}}e.exports=t,t.displayName="gdscript",t.aliases=[]},1019:function(e){"use strict";function t(e){e.languages.gedcom={"line-value":{pattern:/(^[\t ]*\d+ +(?:@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@ +)?\w+ ).+/m,lookbehind:!0,inside:{pointer:{pattern:/^@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@$/,alias:"variable"}}},tag:{pattern:/(^[\t ]*\d+ +(?:@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@ +)?)\w+/m,lookbehind:!0,alias:"string"},level:{pattern:/(^[\t ]*)\d+/m,lookbehind:!0,alias:"number"},pointer:{pattern:/@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@/,alias:"variable"}}}e.exports=t,t.displayName="gedcom",t.aliases=[]},3666:function(e){"use strict";function t(e){!function(e){var t=/(?:\r?\n|\r)[ \t]*\|.+\|(?:(?!\|).)*/.source;e.languages.gherkin={pystring:{pattern:/("""|''')[\s\S]+?\1/,alias:"string"},comment:{pattern:/(^[ \t]*)#.*/m,lookbehind:!0},tag:{pattern:/(^[ \t]*)@\S*/m,lookbehind:!0},feature:{pattern:/((?:^|\r?\n|\r)[ \t]*)(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Caracter\xedstica|Egenskab|Egenskap|Eiginleiki|Feature|F\u012b\u010da|Fitur|Fonctionnalit\xe9|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Func\u0163ionalitate|Func\u021bionalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalit\u0101te|Funkcionalnost|Funkcja|Funksie|Funktionalit\xe4t|Funktionalit\xe9it|Funzionalit\xe0|Hwaet|Hw\xe6t|Jellemz\u0151|Karakteristik|Lastnost|Mak|Mogucnost|laH|Mogu\u0107nost|Moznosti|Mo\u017enosti|OH HAI|Omadus|Ominaisuus|Osobina|\xd6zellik|Potrzeba biznesowa|perbogh|poQbogh malja'|Po\u017eadavek|Po\u017eiadavka|Pretty much|Qap|Qu'meH 'ut|Savyb\u0117|T\xednh n\u0103ng|Trajto|Vermo\xeb|Vlastnos\u0165|W\u0142a\u015bciwo\u015b\u0107|Zna\u010dilnost|\u0394\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1|\u039b\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1|\u041c\u043e\u0433\u0443\u045b\u043d\u043e\u0441\u0442|\u041c\u04e9\u043c\u043a\u0438\u043d\u043b\u0435\u043a|\u041e\u0441\u043e\u0431\u0438\u043d\u0430|\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e|\u04ae\u0437\u0435\u043d\u0447\u04d9\u043b\u0435\u043a\u043b\u0435\u043b\u0435\u043a|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442|\u0424\u0443\u043d\u043a\u0446\u0438\u044f|\u0424\u0443\u043d\u043a\u0446\u0456\u043e\u043d\u0430\u043b|\u05ea\u05db\u05d5\u05e0\u05d4|\u062e\u0627\u0635\u064a\u0629|\u062e\u0635\u0648\u0635\u06cc\u062a|\u0635\u0644\u0627\u062d\u06cc\u062a|\u06a9\u0627\u0631\u0648\u0628\u0627\u0631 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a|\u0648\u0650\u06cc\u0698\u06af\u06cc|\u0930\u0942\u092a \u0932\u0947\u0916|\u0a16\u0a3e\u0a38\u0a40\u0a05\u0a24|\u0a28\u0a15\u0a36 \u0a28\u0a41\u0a39\u0a3e\u0a30|\u0a2e\u0a41\u0a39\u0a3e\u0a02\u0a26\u0a30\u0a3e|\u0c17\u0c41\u0c23\u0c2e\u0c41|\u0cb9\u0cc6\u0c9a\u0ccd\u0c9a\u0cb3|\u0e04\u0e27\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e17\u0e32\u0e07\u0e18\u0e38\u0e23\u0e01\u0e34\u0e08|\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16|\u0e42\u0e04\u0e23\u0e07\u0e2b\u0e25\u0e31\u0e01|\uae30\ub2a5|\u30d5\u30a3\u30fc\u30c1\u30e3|\u529f\u80fd|\u6a5f\u80fd):(?:[^:\r\n]+(?:\r?\n|\r|$))*/,lookbehind:!0,inside:{important:{pattern:/(:)[^\r\n]+/,lookbehind:!0},keyword:/[^:\r\n]+:/}},scenario:{pattern:/(^[ \t]*)(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|\xc6r|Agtergrond|All y'all|Antecedentes|Antecedents|Atbur\xf0ar\xe1s|Atbur\xf0ar\xe1sir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|B\u1ed1i c\u1ea3nh|Cefndir|Cenario|Cen\xe1rio|Cenario de Fundo|Cen\xe1rio de Fundo|Cenarios|Cen\xe1rios|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|D\xe6mi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delinea\xe7\xe3o do Cen\xe1rio|Dis is what went down|D\u1eef li\u1ec7u|Dyagram Senaryo|Dyagram senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cen\xe1rio|EXAMPLZ|Examples|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgat\xf3k\xf6nyv|Forgat\xf3k\xf6nyv v\xe1zlat|Fundo|Ge\xe7mi\u015f|Grundlage|Hannergrond|ghantoH|H\xe1tt\xe9r|Heave to|Istorik|Juhtumid|Keadaan|Khung k\u1ecbch b\u1ea3n|Khung t\xecnh hu\u1ed1ng|K\u1ecbch b\u1ea3n|Koncept|Konsep skenario|Kont\xe8ks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut chovnatlh|lut|lutmey|L\xfdsing Atbur\xf0ar\xe1sar|L\xfdsing D\xe6ma|MISHUN SRSLY|MISHUN|Menggariskan Senario|mo'|N\xe1\u010drt Scen\xe1ra|N\xe1\u010drt Sc\xe9n\xe1\u0159e|N\xe1\u010drt Scen\xe1ru|Oris scenarija|\xd6rnekler|Osnova|Osnova Scen\xe1ra|Osnova sc\xe9n\xe1\u0159e|Osnutek|Ozadje|Paraugs|Pavyzd\u017eiai|P\xe9ld\xe1k|Piem\u0113ri|Plan du sc\xe9nario|Plan du Sc\xe9nario|Plan Senaryo|Plan senaryo|Plang vum Szenario|Pozad\xed|Pozadie|Pozadina|Pr\xedklady|P\u0159\xedklady|Primer|Primeri|Primjeri|Przyk\u0142ady|Raamstsenaarium|Reckon it's like|Rerefons|Scen\xe1r|Sc\xe9n\xe1\u0159|Scenarie|Scenarij|Scenarijai|Scenarijaus \u0161ablonas|Scenariji|Scen\u0101rijs|Scen\u0101rijs p\u0113c parauga|Scenarijus|Scenario|Sc\xe9nario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se \xf0e|Se the|Se \xfee|Senario|Senaryo Deskripsyon|Senaryo deskripsyon|Senaryo|Senaryo tasla\u011f\u0131|Shiver me timbers|Situ\u0101cija|Situai|Situasie Uiteensetting|Situasie|Skenario konsep|Skenario|Skica|Structura scenariu|Structur\u0103 scenariu|Struktura scenarija|Stsenaarium|Swa hwaer swa|Swa|Swa hw\xe6r swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|T\xecnh hu\u1ed1ng|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo-ho-ho|You'll wanna|Za\u0142o\u017cenia|\u03a0\u03b1\u03c1\u03b1\u03b4\u03b5\u03af\u03b3\u03bc\u03b1\u03c4\u03b1|\u03a0\u03b5\u03c1\u03b9\u03b3\u03c1\u03b1\u03c6\u03ae \u03a3\u03b5\u03bd\u03b1\u03c1\u03af\u03bf\u03c5|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03b1|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03bf|\u03a5\u03c0\u03cc\u03b2\u03b1\u03b8\u03c1\u03bf|\u041a\u0435\u0440\u0435\u0448|\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442|\u041a\u043e\u043d\u0446\u0435\u043f\u0442|\u041c\u0438\u0441\u0430\u043b\u043b\u0430\u0440|\u041c\u0438\u0441\u043e\u043b\u043b\u0430\u0440|\u041e\u0441\u043d\u043e\u0432\u0430|\u041f\u0435\u0440\u0435\u0434\u0443\u043c\u043e\u0432\u0430|\u041f\u043e\u0437\u0430\u0434\u0438\u043d\u0430|\u041f\u0440\u0435\u0434\u0438\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0438\u043a\u043b\u0430\u0434\u0438|\u041f\u0440\u0438\u043c\u0435\u0440|\u041f\u0440\u0438\u043c\u0435\u0440\u0438|\u041f\u0440\u0438\u043c\u0435\u0440\u044b|\u0420\u0430\u043c\u043a\u0430 \u043d\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u043a\u0438\u0446\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u044e|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0441\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439\u043d\u044b\u04a3 \u0442\u04e9\u0437\u0435\u043b\u0435\u0448\u0435|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u043e|\u0421\u0446\u0435\u043d\u0430\u0440\u0456\u0439|\u0422\u0430\u0440\u0438\u0445|\u04ae\u0440\u043d\u04d9\u043a\u043b\u04d9\u0440|\u05d3\u05d5\u05d2\u05de\u05d0\u05d5\u05ea|\u05e8\u05e7\u05e2|\u05ea\u05d1\u05e0\u05d9\u05ea \u05ea\u05e8\u05d7\u05d9\u05e9|\u05ea\u05e8\u05d7\u05d9\u05e9|\u0627\u0644\u062e\u0644\u0641\u064a\u0629|\u0627\u0644\u06af\u0648\u06cc \u0633\u0646\u0627\u0631\u06cc\u0648|\u0627\u0645\u062b\u0644\u0629|\u067e\u0633 \u0645\u0646\u0638\u0631|\u0632\u0645\u06cc\u0646\u0647|\u0633\u0646\u0627\u0631\u06cc\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648 \u0645\u062e\u0637\u0637|\u0645\u062b\u0627\u0644\u06cc\u06ba|\u0645\u0646\u0638\u0631 \u0646\u0627\u0645\u06d2 \u06a9\u0627 \u062e\u0627\u06a9\u06c1|\u0645\u0646\u0638\u0631\u0646\u0627\u0645\u06c1|\u0646\u0645\u0648\u0646\u0647 \u0647\u0627|\u0909\u0926\u093e\u0939\u0930\u0923|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f \u0930\u0942\u092a\u0930\u0947\u0916\u093e|\u092a\u0943\u0937\u094d\u0920\u092d\u0942\u092e\u093f|\u0a09\u0a26\u0a3e\u0a39\u0a30\u0a28\u0a3e\u0a02|\u0a2a\u0a1f\u0a15\u0a25\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a22\u0a3e\u0a02\u0a1a\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a30\u0a42\u0a2a \u0a30\u0a47\u0a16\u0a3e|\u0a2a\u0a3f\u0a1b\u0a4b\u0a15\u0a5c|\u0c09\u0c26\u0c3e\u0c39\u0c30\u0c23\u0c32\u0c41|\u0c15\u0c25\u0c28\u0c02|\u0c28\u0c47\u0c2a\u0c25\u0c4d\u0c2f\u0c02|\u0c38\u0c28\u0c4d\u0c28\u0c3f\u0c35\u0c47\u0c36\u0c02|\u0c89\u0ca6\u0cbe\u0cb9\u0cb0\u0ca3\u0cc6\u0c97\u0cb3\u0cc1|\u0c95\u0ca5\u0cbe\u0cb8\u0cbe\u0cb0\u0cbe\u0c82\u0cb6|\u0cb5\u0cbf\u0cb5\u0cb0\u0ca3\u0cc6|\u0cb9\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6\u0cb2\u0cc6|\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e41\u0e19\u0e27\u0e04\u0e34\u0e14|\u0e2a\u0e23\u0e38\u0e1b\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\ubc30\uacbd|\uc2dc\ub098\ub9ac\uc624|\uc2dc\ub098\ub9ac\uc624 \uac1c\uc694|\uc608|\u30b5\u30f3\u30d7\u30eb|\u30b7\u30ca\u30ea\u30aa|\u30b7\u30ca\u30ea\u30aa\u30a2\u30a6\u30c8\u30e9\u30a4\u30f3|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8|\u30c6\u30f3\u30d7\u30ec|\u4f8b|\u4f8b\u5b50|\u5267\u672c|\u5267\u672c\u5927\u7eb2|\u5287\u672c|\u5287\u672c\u5927\u7db1|\u573a\u666f|\u573a\u666f\u5927\u7eb2|\u5834\u666f|\u5834\u666f\u5927\u7db1|\u80cc\u666f):[^:\r\n]*/m,lookbehind:!0,inside:{important:{pattern:/(:)[^\r\n]*/,lookbehind:!0},keyword:/[^:\r\n]+:/}},"table-body":{pattern:RegExp("("+t+")(?:"+t+")+"),lookbehind:!0,inside:{outline:{pattern:/<[^>]+>/,alias:"variable"},td:{pattern:/\s*[^\s|][^|]*/,alias:"string"},punctuation:/\|/}},"table-head":{pattern:RegExp(t),inside:{th:{pattern:/\s*[^\s|][^|]*/,alias:"variable"},punctuation:/\|/}},atrule:{pattern:/(^[ \t]+)(?:'a|'ach|'ej|7|a|A tak\xe9|A taktie\u017e|A tie\u017e|A z\xe1rove\u0148|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|At\xe8s|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Bi\u1ebft|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|C\xe2nd|Cand|Cando|Ce|Cuando|\u010ce|\xd0a \xf0e|\xd0a|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Da\u0163i fiind|Da\u021bi fiind|DEN|Dato|De|Den youse gotta|Dengan|Diberi|Diyelim ki|Donada|Donat|Donita\u0135o|Do|Dun|Duota|\xd0urh|Eeldades|Ef|E\u011fer ki|Entao|Ent\xe3o|Ent\xf3n|E|En|Entonces|Epi|\xc9s|Etant donn\xe9e|Etant donn\xe9|Et|\xc9tant donn\xe9es|\xc9tant donn\xe9e|\xc9tant donn\xe9|Etant donn\xe9es|Etant donn\xe9s|\xc9tant donn\xe9s|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Je\u015bli|Je\u017celi|Kad|Kada|Kadar|Kai|Kaj|Kdy\u017e|Ke\u010f|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|L\xe8 sa a|L\xe8|Logo|Lorsqu'<|Lorsque|m\xe4|Maar|Mais|Maj\u0105c|Ma|Majd|Maka|Manawa|Mas|Men|Menawa|Mutta|Nalika|Nalikaning|Nanging|N\xe5r|N\xe4r|Nato|Nh\u01b0ng|Niin|Njuk|O zaman|Och|Og|Oletetaan|Ond|Onda|Oraz|Pak|Pero|Per\xf2|Podano|Pokia\u013e|Pokud|Potem|Potom|Privzeto|Pryd|Quan|Quand|Quando|qaSDI'|S\xe5|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|\u015ei|\u0218i|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Th\xec|Thurh|Toda|Too right|Un|Und|ugeholl|V\xe0|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za p\u0159edpokladu|Zadan|Zadani|Zadano|Zadate|Zadato|Zak\u0142adaj\u0105c|Zaradi|Zatati|\xdea \xfee|\xdea|\xde\xe1|\xdeegar|\xdeurh|\u0391\u03bb\u03bb\u03ac|\u0394\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03bf\u03c5|\u039a\u03b1\u03b9|\u038c\u03c4\u03b1\u03bd|\u03a4\u03cc\u03c4\u03b5|\u0410 \u0442\u0430\u043a\u043e\u0436|\u0410\u0433\u0430\u0440|\u0410\u043b\u0435|\u0410\u043b\u0438|\u0410\u043c\u043c\u043e|\u0410|\u04d8\u0433\u04d9\u0440|\u04d8\u0439\u0442\u0438\u043a|\u04d8\u043c\u043c\u0430|\u0411\u0438\u0440\u043e\u043a|\u0412\u0430|\u0412\u04d9|\u0414\u0430\u0434\u0435\u043d\u043e|\u0414\u0430\u043d\u043e|\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c|\u0415\u0441\u043b\u0438|\u0417\u0430\u0434\u0430\u0442\u0435|\u0417\u0430\u0434\u0430\u0442\u0438|\u0417\u0430\u0434\u0430\u0442\u043e|\u0418|\u0406|\u041a \u0442\u043e\u043c\u0443 \u0436\u0435|\u041a\u0430\u0434\u0430|\u041a\u0430\u0434|\u041a\u043e\u0433\u0430\u0442\u043e|\u041a\u043e\u0433\u0434\u0430|\u041a\u043e\u043b\u0438|\u041b\u04d9\u043a\u0438\u043d|\u041b\u0435\u043a\u0438\u043d|\u041d\u04d9\u0442\u0438\u0497\u04d9\u0434\u04d9|\u041d\u0435\u0445\u0430\u0439|\u041d\u043e|\u041e\u043d\u0434\u0430|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e, \u0449\u043e|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e|\u041f\u0443\u0441\u0442\u044c|\u0422\u0430\u043a\u0436\u0435|\u0422\u0430|\u0422\u043e\u0433\u0434\u0430|\u0422\u043e\u0434\u0456|\u0422\u043e|\u0423\u043d\u0434\u0430|\u04ba\u04d9\u043c|\u042f\u043a\u0449\u043e|\u05d0\u05d1\u05dc|\u05d0\u05d6\u05d9|\u05d0\u05d6|\u05d1\u05d4\u05d9\u05e0\u05ea\u05df|\u05d5\u05d2\u05dd|\u05db\u05d0\u05e9\u05e8|\u0622\u0646\u06af\u0627\u0647|\u0627\u0630\u0627\u064b|\u0627\u06af\u0631|\u0627\u0645\u0627|\u0627\u0648\u0631|\u0628\u0627 \u0641\u0631\u0636|\u0628\u0627\u0644\u0641\u0631\u0636|\u0628\u0641\u0631\u0636|\u067e\u06be\u0631|\u062a\u0628|\u062b\u0645|\u062c\u0628|\u0639\u0646\u062f\u0645\u0627|\u0641\u0631\u0636 \u06a9\u06cc\u0627|\u0644\u0643\u0646|\u0644\u06cc\u06a9\u0646|\u0645\u062a\u0649|\u0647\u0646\u06af\u0627\u0645\u06cc|\u0648|\u0905\u0917\u0930|\u0914\u0930|\u0915\u0926\u093e|\u0915\u093f\u0928\u094d\u0924\u0941|\u091a\u0942\u0902\u0915\u093f|\u091c\u092c|\u0924\u0925\u093e|\u0924\u0926\u093e|\u0924\u092c|\u092a\u0930\u0928\u094d\u0924\u0941|\u092a\u0930|\u092f\u0926\u093f|\u0a05\u0a24\u0a47|\u0a1c\u0a26\u0a4b\u0a02|\u0a1c\u0a3f\u0a35\u0a47\u0a02 \u0a15\u0a3f|\u0a1c\u0a47\u0a15\u0a30|\u0a24\u0a26|\u0a2a\u0a30|\u0c05\u0c2a\u0c4d\u0c2a\u0c41\u0c21\u0c41|\u0c08 \u0c2a\u0c30\u0c3f\u0c38\u0c4d\u0c25\u0c3f\u0c24\u0c3f\u0c32\u0c4b|\u0c15\u0c3e\u0c28\u0c3f|\u0c1a\u0c46\u0c2a\u0c4d\u0c2a\u0c2c\u0c21\u0c3f\u0c28\u0c26\u0c3f|\u0c2e\u0c30\u0c3f\u0c2f\u0c41|\u0c86\u0ca6\u0cb0\u0cc6|\u0ca8\u0c82\u0ca4\u0cb0|\u0ca8\u0cbf\u0cd5\u0ca1\u0cbf\u0ca6|\u0cae\u0ca4\u0ccd\u0ca4\u0cc1|\u0cb8\u0ccd\u0ca5\u0cbf\u0ca4\u0cbf\u0caf\u0ca8\u0ccd\u0ca8\u0cc1|\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e43\u0e2b\u0e49|\u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19|\u0e41\u0e15\u0e48|\u0e40\u0e21\u0e37\u0e48\u0e2d|\u0e41\u0e25\u0e30|\uadf8\ub7ec\uba74<|\uadf8\ub9ac\uace0<|\ub2e8<|\ub9cc\uc57d<|\ub9cc\uc77c<|\uba3c\uc800<|\uc870\uac74<|\ud558\uc9c0\ub9cc<|\u304b\u3064<|\u3057\u304b\u3057<|\u305f\u3060\u3057<|\u306a\u3089\u3070<|\u3082\u3057<|\u4e26\u4e14<|\u4f46\u3057<|\u4f46\u662f<|\u5047\u5982<|\u5047\u5b9a<|\u5047\u8a2d<|\u5047\u8bbe<|\u524d\u63d0<|\u540c\u65f6<|\u540c\u6642<|\u5e76\u4e14<|\u5f53<|\u7576<|\u800c\u4e14<|\u90a3\u4e48<|\u90a3\u9ebc<)(?=[ \t])/m,lookbehind:!0},string:{pattern:/"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*'/,inside:{outline:{pattern:/<[^>]+>/,alias:"variable"}}},outline:{pattern:/<[^>]+>/,alias:"variable"}}}(e)}e.exports=t,t.displayName="gherkin",t.aliases=[]},5120:function(e){"use strict";function t(e){e.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m}}e.exports=t,t.displayName="git",t.aliases=[]},214:function(e,t,n){"use strict";var r=n(272);function a(e){e.register(r),e.languages.glsl=e.languages.extend("c",{keyword:/\b(?:active|asm|atomic_uint|attribute|[ibdu]?vec[234]|bool|break|buffer|case|cast|centroid|class|coherent|common|const|continue|d?mat[234](?:x[234])?|default|discard|do|double|else|enum|extern|external|false|filter|fixed|flat|float|for|fvec[234]|goto|half|highp|hvec[234]|[iu]?sampler2DMS(?:Array)?|[iu]?sampler2DRect|[iu]?samplerBuffer|[iu]?samplerCube|[iu]?samplerCubeArray|[iu]?sampler[123]D|[iu]?sampler[12]DArray|[iu]?image2DMS(?:Array)?|[iu]?image2DRect|[iu]?imageBuffer|[iu]?imageCube|[iu]?imageCubeArray|[iu]?image[123]D|[iu]?image[12]DArray|if|in|inline|inout|input|int|interface|invariant|layout|long|lowp|mediump|namespace|noinline|noperspective|out|output|partition|patch|precise|precision|public|readonly|resource|restrict|return|sample|sampler[12]DArrayShadow|sampler[12]DShadow|sampler2DRectShadow|sampler3DRect|samplerCubeArrayShadow|samplerCubeShadow|shared|short|sizeof|smooth|static|struct|subroutine|superp|switch|template|this|true|typedef|uint|uniform|union|unsigned|using|varying|void|volatile|while|writeonly)\b/})}e.exports=a,a.displayName="glsl",a.aliases=[]},1903:function(e){"use strict";function t(e){e.languages.gamemakerlanguage=e.languages.gml=e.languages.extend("clike",{keyword:/\b(?:break|case|continue|default|do|else|enum|exit|for|globalvar|if|repeat|return|switch|until|var|while)\b/,number:/(?:\b0x[\da-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ulf]{0,4}/i,operator:/--|\+\+|[-+%/=]=?|!=|\*\*?=?|<[<=>]?|>[=>]?|&&?|\^\^?|\|\|?|~|\b(?:and|at|not|or|with|xor)\b/,constant:/\b(?:GM_build_date|GM_version|action_(?:continue|restart|reverse|stop)|all|gamespeed_(?:fps|microseconds)|global|local|noone|other|pi|pointer_(?:invalid|null)|self|timezone_(?:local|utc)|undefined|ev_(?:create|destroy|step|alarm|keyboard|mouse|collision|other|draw|draw_(?:begin|end|post|pre)|keypress|keyrelease|trigger|(?:left|middle|no|right)_button|(?:left|middle|right)_press|(?:left|middle|right)_release|mouse_(?:enter|leave|wheel_down|wheel_up)|global_(?:left|middle|right)_button|global_(?:left|middle|right)_press|global_(?:left|middle|right)_release|joystick(?:1|2)_(?:button1|button2|button3|button4|button5|button6|button7|button8|down|left|right|up)|outside|boundary|game_start|game_end|room_start|room_end|no_more_lives|animation_end|end_of_path|no_more_health|user\d|gui|gui_begin|gui_end|step_(?:begin|end|normal))|vk_(?:alt|anykey|backspace|control|delete|down|end|enter|escape|home|insert|left|nokey|pagedown|pageup|pause|printscreen|return|right|shift|space|tab|up|f\d|numpad\d|add|decimal|divide|lalt|lcontrol|lshift|multiply|ralt|rcontrol|rshift|subtract)|achievement_(?:filter_(?:all_players|favorites_only|friends_only)|friends_info|info|leaderboard_info|our_info|pic_loaded|show_(?:achievement|bank|friend_picker|leaderboard|profile|purchase_prompt|ui)|type_challenge|type_score_challenge)|asset_(?:font|object|path|room|script|shader|sound|sprite|tiles|timeline|unknown)|audio_(?:3d|falloff_(?:exponent_distance|exponent_distance_clamped|inverse_distance|inverse_distance_clamped|linear_distance|linear_distance_clamped|none)|mono|new_system|old_system|stereo)|bm_(?:add|complex|dest_alpha|dest_color|dest_colour|inv_dest_alpha|inv_dest_color|inv_dest_colour|inv_src_alpha|inv_src_color|inv_src_colour|max|normal|one|src_alpha|src_alpha_sat|src_color|src_colour|subtract|zero)|browser_(?:chrome|firefox|ie|ie_mobile|not_a_browser|opera|safari|safari_mobile|tizen|unknown|windows_store)|buffer_(?:bool|f16|f32|f64|fast|fixed|generalerror|grow|invalidtype|network|outofbounds|outofspace|s16|s32|s8|seek_end|seek_relative|seek_start|string|text|u16|u32|u64|u8|vbuffer|wrap)|c_(?:aqua|black|blue|dkgray|fuchsia|gray|green|lime|ltgray|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)|cmpfunc_(?:always|equal|greater|greaterequal|less|lessequal|never|notequal)|cr_(?:appstart|arrow|beam|cross|default|drag|handpoint|hourglass|none|size_all|size_nesw|size_ns|size_nwse|size_we|uparrow)|cull_(?:clockwise|counterclockwise|noculling)|device_(?:emulator|tablet)|device_ios_(?:ipad|ipad_retina|iphone|iphone5|iphone6|iphone6plus|iphone_retina|unknown)|display_(?:landscape|landscape_flipped|portrait|portrait_flipped)|dll_(?:cdecl|cdel|stdcall)|ds_type_(?:grid|list|map|priority|queue|stack)|ef_(?:cloud|ellipse|explosion|firework|flare|rain|ring|smoke|smokeup|snow|spark|star)|fa_(?:archive|bottom|center|directory|hidden|left|middle|readonly|right|sysfile|top|volumeid)|fb_login_(?:default|fallback_to_webview|forcing_safari|forcing_webview|no_fallback_to_webview|use_system_account)|iap_(?:available|canceled|ev_consume|ev_product|ev_purchase|ev_restore|ev_storeload|failed|purchased|refunded|status_available|status_loading|status_processing|status_restoring|status_unavailable|status_uninitialised|storeload_failed|storeload_ok|unavailable)|leaderboard_type_(?:number|time_mins_secs)|lighttype_(?:dir|point)|matrix_(?:projection|view|world)|mb_(?:any|left|middle|none|right)|network_(?:config_(?:connect_timeout|disable_reliable_udp|enable_reliable_udp|use_non_blocking_socket)|socket_(?:bluetooth|tcp|udp)|type_(?:connect|data|disconnect|non_blocking_connect))|of_challenge_(?:lose|tie|win)|os_(?:android|ios|linux|macosx|ps3|ps4|psvita|unknown|uwp|win32|win8native|windows|winphone|xboxone)|phy_debug_render_(?:aabb|collision_pairs|coms|core_shapes|joints|obb|shapes)|phy_joint_(?:anchor_1_x|anchor_1_y|anchor_2_x|anchor_2_y|angle|angle_limits|damping_ratio|frequency|length_1|length_2|lower_angle_limit|max_force|max_length|max_motor_force|max_motor_torque|max_torque|motor_force|motor_speed|motor_torque|reaction_force_x|reaction_force_y|reaction_torque|speed|translation|upper_angle_limit)|phy_particle_data_flag_(?:category|color|colour|position|typeflags|velocity)|phy_particle_flag_(?:colormixing|colourmixing|elastic|powder|spring|tensile|viscous|wall|water|zombie)|phy_particle_group_flag_(?:rigid|solid)|pr_(?:linelist|linestrip|pointlist|trianglefan|trianglelist|trianglestrip)|ps_(?:distr|shape)_(?:diamond|ellipse|gaussian|invgaussian|line|linear|rectangle)|pt_shape_(?:circle|cloud|disk|explosion|flare|line|pixel|ring|smoke|snow|spark|sphere|square|star)|ty_(?:real|string)|gp_(?:face\d|axislh|axislv|axisrh|axisrv|padd|padl|padr|padu|select|shoulderl|shoulderlb|shoulderr|shoulderrb|start|stickl|stickr)|lb_disp_(?:none|numeric|time_ms|time_sec)|lb_sort_(?:ascending|descending|none)|ov_(?:achievements|community|friends|gamegroup|players|settings)|ugc_(?:filetype_(?:community|microtrans)|list_(?:Favorited|Followed|Published|Subscribed|UsedOrPlayed|VotedDown|VotedOn|VotedUp|WillVoteLater)|match_(?:AllGuides|Artwork|Collections|ControllerBindings|IntegratedGuides|Items|Items_Mtx|Items_ReadyToUse|Screenshots|UsableInGame|Videos|WebGuides)|query_(?:AcceptedForGameRankedByAcceptanceDate|CreatedByFriendsRankedByPublicationDate|FavoritedByFriendsRankedByPublicationDate|NotYetRated)|query_RankedBy(?:NumTimesReported|PublicationDate|TextSearch|TotalVotesAsc|Trend|Vote|VotesUp)|result_success|sortorder_CreationOrder(?:Asc|Desc)|sortorder_(?:ForModeration|LastUpdatedDesc|SubscriptionDateDesc|TitleAsc|VoteScoreDesc)|visibility_(?:friends_only|private|public))|vertex_usage_(?:binormal|blendindices|blendweight|color|colour|depth|fog|normal|position|psize|sample|tangent|texcoord|textcoord)|vertex_type_(?:float\d|color|colour|ubyte4)|input_type|layerelementtype_(?:background|instance|oldtilemap|particlesystem|sprite|tile|tilemap|undefined)|se_(?:chorus|compressor|echo|equalizer|flanger|gargle|none|reverb)|text_type|tile_(?:flip|index_mask|mirror|rotate)|(?:obj|rm|scr|spr)\w+)\b/,variable:/\b(?:alarm|application_surface|async_load|background_(?:alpha|blend|color|colour|foreground|height|hspeed|htiled|index|showcolor|showcolour|visible|vspeed|vtiled|width|x|xscale|y|yscale)|bbox_(?:bottom|left|right|top)|browser_(?:height|width)|caption_(?:health|lives|score)|current_(?:day|hour|minute|month|second|time|weekday|year)|cursor_sprite|debug_mode|delta_time|direction|display_aa|error_(?:last|occurred)|event_(?:action|number|object|type)|fps|fps_real|friction|game_(?:display|project|save)_(?:id|name)|gamemaker_(?:pro|registered|version)|gravity|gravity_direction|(?:h|v)speed|health|iap_data|id|image_(?:alpha|angle|blend|depth|index|number|speed|xscale|yscale)|instance_(?:count|id)|keyboard_(?:key|lastchar|lastkey|string)|layer|lives|mask_index|mouse_(?:button|lastbutton|x|y)|object_index|os_(?:browser|device|type|version)|path_(?:endaction|index|orientation|position|positionprevious|scale|speed)|persistent|phy_(?:rotation|(?:col_normal|collision|com|linear_velocity|position|speed)_(?:x|y)|angular_(?:damping|velocity)|position_(?:x|y)previous|speed|linear_damping|bullet|fixed_rotation|active|mass|inertia|dynamic|kinematic|sleeping|collision_points)|pointer_(?:invalid|null)|room|room_(?:caption|first|height|last|persistent|speed|width)|score|secure_mode|show_(?:health|lives|score)|solid|speed|sprite_(?:height|index|width|xoffset|yoffset)|temp_directory|timeline_(?:index|loop|position|running|speed)|transition_(?:color|kind|steps)|undefined|view_(?:angle|current|enabled|(?:h|v)(?:border|speed)|(?:h|w|x|y)port|(?:h|w|x|y)view|object|surface_id|visible)|visible|webgl_enabled|working_directory|(?:x|y)(?:previous|start)|x|y|argument(?:_relitive|_count|\d)|argument|global|local|other|self)\b/})}e.exports=t,t.displayName="gml",t.aliases=[]},288:function(e){"use strict";function t(e){e.languages.gn={comment:{pattern:/#.*/,greedy:!0},"string-literal":{pattern:/(^|[^\\"])"(?:[^\r\n"\\]|\\.)*"/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\{[\s\S]*?\}|[a-zA-Z_]\w*|0x[a-fA-F0-9]{2})/,lookbehind:!0,inside:{number:/^\$0x[\s\S]{2}$/,variable:/^\$\w+$/,"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:null}}},string:/[\s\S]+/}},keyword:/\b(?:else|if)\b/,boolean:/\b(?:false|true)\b/,"builtin-function":{pattern:/\b(?:assert|defined|foreach|import|pool|print|template|tool|toolchain)(?=\s*\()/i,alias:"keyword"},function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:current_cpu|current_os|current_toolchain|default_toolchain|host_cpu|host_os|root_build_dir|root_gen_dir|root_out_dir|target_cpu|target_gen_dir|target_os|target_out_dir)\b/,number:/-?\b\d+\b/,operator:/[-+!=<>]=?|&&|\|\|/,punctuation:/[(){}[\],.]/},e.languages.gn["string-literal"].inside.interpolation.inside.expression.inside=e.languages.gn,e.languages.gni=e.languages.gn}e.exports=t,t.displayName="gn",t.aliases=["gni"]},78:function(e){"use strict";function t(e){e.languages["go-mod"]=e.languages["go-module"]={comment:{pattern:/\/\/.*/,greedy:!0},version:{pattern:/(^|[\s()[\],])v\d+\.\d+\.\d+(?:[+-][-+.\w]*)?(?![^\s()[\],])/,lookbehind:!0,alias:"number"},"go-version":{pattern:/((?:^|\s)go\s+)\d+(?:\.\d+){1,2}/,lookbehind:!0,alias:"number"},keyword:{pattern:/^([ \t]*)(?:exclude|go|module|replace|require|retract)\b/m,lookbehind:!0},operator:/=>/,punctuation:/[()[\],]/}}e.exports=t,t.displayName="goModule",t.aliases=[]},8558:function(e){"use strict";function t(e){e.languages.go=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),e.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete e.languages.go["class-name"]}e.exports=t,t.displayName="go",t.aliases=[]},8430:function(e){"use strict";function t(e){e.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:e.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},e.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!==typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n<t.length;){var r=t[n++];if("keyword"===r.type&&"mutation"===r.content){var a=[];if(d(["definition-mutation","punctuation"])&&"("===u(1).content){n+=2;var i=p(/^\($/,/^\)$/);if(-1===i)continue;for(;n<i;n++){var o=u(0);"variable"===o.type&&(m(o,"variable-input"),a.push(o.content))}n=i+1}if(d(["punctuation","property-query"])&&"{"===u(0).content&&(n++,m(u(0),"property-mutation"),a.length>0)){var s=p(/^\{$/,/^\}$/);if(-1===s)continue;for(var l=n;l<s;l++){var c=t[l];"variable"===c.type&&a.indexOf(c.content)>=0&&m(c,"variable-input")}}}}function u(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n<e.length;n++){var r=u(n+t);if(!r||r.type!==e[n])return!1}return!0}function p(e,r){for(var a=1,i=n;i<t.length;i++){var o=t[i],s=o.content;if("punctuation"===o.type&&"string"===typeof s)if(e.test(s))a++;else if(r.test(s)&&0===--a)return i}return-1}function m(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}}))}e.exports=t,t.displayName="graphql",t.aliases=[]},7986:function(e){"use strict";function t(e){e.languages.groovy=e.languages.extend("clike",{string:[{pattern:/("""|''')(?:[^\\]|\\[\s\S])*?\1|\$\/(?:[^/$]|\$(?:[/$]|(?![/$]))|\/(?!\$))*\/\$/,greedy:!0},{pattern:/(["'/])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0}],keyword:/\b(?:abstract|as|assert|boolean|break|byte|case|catch|char|class|const|continue|def|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|in|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\b/,number:/\b(?:0b[01_]+|0x[\da-f_]+(?:\.[\da-f_p\-]+)?|[\d_]+(?:\.[\d_]+)?(?:e[+-]?\d+)?)[glidf]?\b/i,operator:{pattern:/(^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[@&]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[|=]?|\/=?|\^=?|%=?)/,lookbehind:!0},punctuation:/\.+|[{}[\];(),:$]/}),e.languages.insertBefore("groovy","string",{shebang:{pattern:/#!.+/,alias:"comment"}}),e.languages.insertBefore("groovy","punctuation",{"spock-block":/\b(?:and|cleanup|expect|given|setup|then|when|where):/}),e.languages.insertBefore("groovy","function",{annotation:{pattern:/(^|[^.])@\w+/,lookbehind:!0,alias:"punctuation"}}),e.hooks.add("wrap",(function(t){if("groovy"===t.language&&"string"===t.type){var n=t.content.value[0];if("'"!=n){var r=/([^\\])(?:\$(?:\{.*?\}|[\w.]+))/;"$"===n&&(r=/([^\$])(?:\$(?:\{.*?\}|[\w.]+))/),t.content.value=t.content.value.replace(/</g,"<").replace(/&/g,"&"),t.content=e.highlight(t.content.value,{expression:{pattern:r,lookbehind:!0,inside:e.languages.groovy}}),t.classes.push("/"===n?"regex":"gstring")}}}))}e.exports=t,t.displayName="groovy",t.aliases=[]},7865:function(e,t,n){"use strict";var r=n(6326);function a(e){e.register(r),function(e){e.languages.haml={"multiline-comment":{pattern:/((?:^|\r?\n|\r)([\t ]*))(?:\/|-#).*(?:(?:\r?\n|\r)\2[\t ].+)*/,lookbehind:!0,alias:"comment"},"multiline-code":[{pattern:/((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*,[\t ]*(?:(?:\r?\n|\r)\2[\t ].*,[\t ]*)*(?:(?:\r?\n|\r)\2[\t ].+)/,lookbehind:!0,inside:e.languages.ruby},{pattern:/((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*(?:(?:\r?\n|\r)\2[\t ].*\|[\t ]*)*/,lookbehind:!0,inside:e.languages.ruby}],filter:{pattern:/((?:^|\r?\n|\r)([\t ]*)):[\w-]+(?:(?:\r?\n|\r)(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/,lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"symbol"}}},markup:{pattern:/((?:^|\r?\n|\r)[\t ]*)<.+/,lookbehind:!0,inside:e.languages.markup},doctype:{pattern:/((?:^|\r?\n|\r)[\t ]*)!!!(?: .+)?/,lookbehind:!0},tag:{pattern:/((?:^|\r?\n|\r)[\t ]*)[%.#][\w\-#.]*[\w\-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^{}])+\}|\[[^\]]+\])*[\/<>]*/,lookbehind:!0,inside:{attributes:[{pattern:/(^|[^#])\{(?:\{[^}]+\}|[^{}])+\}/,lookbehind:!0,inside:e.languages.ruby},{pattern:/\([^)]+\)/,inside:{"attr-value":{pattern:/(=\s*)(?:"(?:\\.|[^\\"\r\n])*"|[^)\s]+)/,lookbehind:!0},"attr-name":/[\w:-]+(?=\s*!?=|\s*[,)])/,punctuation:/[=(),]/}},{pattern:/\[[^\]]+\]/,inside:e.languages.ruby}],punctuation:/[<>]/}},code:{pattern:/((?:^|\r?\n|\r)[\t ]*(?:[~-]|[&!]?=)).+/,lookbehind:!0,inside:e.languages.ruby},interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"},ruby:{pattern:/[\s\S]+/,inside:e.languages.ruby}}},punctuation:{pattern:/((?:^|\r?\n|\r)[\t ]*)[~=\-&!]+/,lookbehind:!0}};for(var t=["css",{filter:"coffee",language:"coffeescript"},"erb","javascript","less","markdown","ruby","scss","textile"],n={},r=0,a=t.length;r<a;r++){var i=t[r];i="string"===typeof i?{filter:i,language:i}:i,e.languages[i.language]&&(n["filter-"+i.filter]={pattern:RegExp("((?:^|\\r?\\n|\\r)([\\t ]*)):{{filter_name}}(?:(?:\\r?\\n|\\r)(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+".replace("{{filter_name}}",(function(){return i.filter}))),lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"symbol"},text:{pattern:/[\s\S]+/,alias:[i.language,"language-"+i.language],inside:e.languages[i.language]}}})}e.languages.insertBefore("haml","filter",n)}(e)}e.exports=a,a.displayName="haml",a.aliases=[]},4490:function(e,t,n){"use strict";var r=n(595);function a(e){e.register(r),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")})),e.languages.hbs=e.languages.handlebars}(e)}e.exports=a,a.displayName="handlebars",a.aliases=["hbs"]},9233:function(e){"use strict";function t(e){e.languages.haskell={comment:{pattern:/(^|[^-!#$%*+=?&@|~.:<>^\\\/])(?:--(?:(?=.)[^-!#$%*+=?&@|~.:<>^\\\/].*|$)|\{-[\s\S]*?-\})/m,lookbehind:!0},char:{pattern:/'(?:[^\\']|\\(?:[abfnrtv\\"'&]|\^[A-Z@[\]^_]|ACK|BEL|BS|CAN|CR|DC1|DC2|DC3|DC4|DEL|DLE|EM|ENQ|EOT|ESC|ETB|ETX|FF|FS|GS|HT|LF|NAK|NUL|RS|SI|SO|SOH|SP|STX|SUB|SYN|US|VT|\d+|o[0-7]+|x[0-9a-fA-F]+))'/,alias:"string"},string:{pattern:/"(?:[^\\"]|\\(?:\S|\s+\\))*"/,greedy:!0},keyword:/\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/,"import-statement":{pattern:/(^[\t ]*)import\s+(?:qualified\s+)?(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*(?:\s+as\s+(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m,lookbehind:!0,inside:{keyword:/\b(?:as|hiding|import|qualified)\b/,punctuation:/\./}},builtin:/\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b/,number:/\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0o[0-7]+|0x[0-9a-f]+)\b/i,operator:[{pattern:/`(?:[A-Z][\w']*\.)*[_a-z][\w']*`/,greedy:!0},{pattern:/(\s)\.(?=\s)/,lookbehind:!0},/[-!#$%*+=?&@|~:<>^\\\/][-!#$%*+=?&@|~.:<>^\\\/]*|\.[-!#$%*+=?&@|~.:<>^\\\/]+/],hvariable:{pattern:/\b(?:[A-Z][\w']*\.)*[_a-z][\w']*/,inside:{punctuation:/\./}},constant:{pattern:/\b(?:[A-Z][\w']*\.)*[A-Z][\w']*/,inside:{punctuation:/\./}},punctuation:/[{}[\];(),.:]/},e.languages.hs=e.languages.haskell}e.exports=t,t.displayName="haskell",t.aliases=["hs"]},6647:function(e){"use strict";function t(e){e.languages.haxe=e.languages.extend("clike",{string:{pattern:/"(?:[^"\\]|\\[\s\S])*"/,greedy:!0},"class-name":[{pattern:/(\b(?:abstract|class|enum|extends|implements|interface|new|typedef)\s+)[A-Z_]\w*/,lookbehind:!0},/\b[A-Z]\w*/],keyword:/\bthis\b|\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|final|for|from|function|if|implements|import|in|inline|interface|macro|new|null|operator|overload|override|package|private|public|return|static|super|switch|throw|to|try|typedef|untyped|using|var|while)(?!\.)\b/,function:{pattern:/\b[a-z_]\w*(?=\s*(?:<[^<>]*>\s*)?\()/i,greedy:!0},operator:/\.{3}|\+\+|--|&&|\|\||->|=>|(?:<<?|>{1,3}|[-+*/%!=&|^])=?|[?:~]/}),e.languages.insertBefore("haxe","string",{"string-interpolation":{pattern:/'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{interpolation:{pattern:/(^|[^\\])\$(?:\w+|\{[^{}]+\})/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.haxe}}},string:/[\s\S]+/}}}),e.languages.insertBefore("haxe","class-name",{regex:{pattern:/~\/(?:[^\/\\\r\n]|\\.)+\/[a-z]*/,greedy:!0,inside:{"regex-flags":/\b[a-z]+$/,"regex-source":{pattern:/^(~\/)[\s\S]+(?=\/$)/,lookbehind:!0,alias:"language-regex",inside:e.languages.regex},"regex-delimiter":/^~\/|\/$/}}}),e.languages.insertBefore("haxe","keyword",{preprocessor:{pattern:/#(?:else|elseif|end|if)\b.*/,alias:"property"},metadata:{pattern:/@:?[\w.]+/,alias:"symbol"},reification:{pattern:/\$(?:\w+|(?=\{))/,alias:"important"}})}e.exports=t,t.displayName="haxe",t.aliases=[]},8237:function(e){"use strict";function t(e){e.languages.hcl={comment:/(?:\/\/|#).*|\/\*[\s\S]*?(?:\*\/|$)/,heredoc:{pattern:/<<-?(\w+\b)[\s\S]*?^[ \t]*\1/m,greedy:!0,alias:"string"},keyword:[{pattern:/(?:data|resource)\s+(?:"(?:\\[\s\S]|[^\\"])*")(?=\s+"[\w-]+"\s+\{)/i,inside:{type:{pattern:/(resource|data|\s+)(?:"(?:\\[\s\S]|[^\\"])*")/i,lookbehind:!0,alias:"variable"}}},{pattern:/(?:backend|module|output|provider|provisioner|variable)\s+(?:[\w-]+|"(?:\\[\s\S]|[^\\"])*")\s+(?=\{)/i,inside:{type:{pattern:/(backend|module|output|provider|provisioner|variable)\s+(?:[\w-]+|"(?:\\[\s\S]|[^\\"])*")\s+/i,lookbehind:!0,alias:"variable"}}},/[\w-]+(?=\s+\{)/],property:[/[-\w\.]+(?=\s*=(?!=))/,/"(?:\\[\s\S]|[^\\"])+"(?=\s*[:=])/],string:{pattern:/"(?:[^\\$"]|\\[\s\S]|\$(?:(?=")|\$+(?!\$)|[^"${])|\$\{(?:[^{}"]|"(?:[^\\"]|\\[\s\S])*")*\})*"/,greedy:!0,inside:{interpolation:{pattern:/(^|[^$])\$\{(?:[^{}"]|"(?:[^\\"]|\\[\s\S])*")*\}/,lookbehind:!0,inside:{type:{pattern:/(\b(?:count|data|local|module|path|self|terraform|var)\b\.)[\w\*]+/i,lookbehind:!0,alias:"variable"},keyword:/\b(?:count|data|local|module|path|self|terraform|var)\b/i,function:/\w+(?=\()/,string:{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0},number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i,punctuation:/[!\$#%&'()*+,.\/;<=>@\[\\\]^`{|}~?:]/}}}},number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i,boolean:/\b(?:false|true)\b/i,punctuation:/[=\[\]{}]/}}e.exports=t,t.displayName="hcl",t.aliases=[]},9814:function(e,t,n){"use strict";var r=n(272);function a(e){e.register(r),e.languages.hlsl=e.languages.extend("c",{"class-name":[e.languages.c["class-name"],/\b(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|ComputeShader|ConsumeStructuredBuffer|DepthStencilState|DepthStencilView|DomainShader|GeometryShader|Hullshader|InputPatch|LineStream|OutputPatch|PixelShader|PointStream|RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture(?:1D|1DArray|2D|2DArray|3D)|RasterizerState|RenderTargetView|SamplerComparisonState|SamplerState|StructuredBuffer|Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray)|TriangleStream|VertexShader)\b/],keyword:[/\b(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_major|compile|compile_fragment|const|const_cast|continue|default|delete|discard|do|dynamic_cast|else|enum|explicit|export|extern|for|friend|fxgroup|goto|groupshared|if|in|inline|inout|interface|line|lineadj|linear|long|matrix|mutable|namespace|new|nointerpolation|noperspective|operator|out|packoffset|pass|pixelfragment|point|precise|private|protected|public|register|reinterpret_cast|return|row_major|sample|sampler|shared|short|signed|sizeof|snorm|stateblock|stateblock_state|static|static_cast|string|struct|switch|tbuffer|technique|technique10|technique11|template|texture|this|throw|triangle|triangleadj|try|typedef|typename|uniform|union|unorm|unsigned|using|vector|vertexfragment|virtual|void|volatile|while)\b/,/\b(?:bool|double|dword|float|half|int|min(?:10float|12int|16(?:float|int|uint))|uint)(?:[1-4](?:x[1-4])?)?\b/],number:/(?:(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[eE][+-]?\d+)?|\b0x[\da-fA-F]+)[fFhHlLuU]?\b/,boolean:/\b(?:false|true)\b/})}e.exports=a,a.displayName="hlsl",a.aliases=[]},8661:function(e){"use strict";function t(e){e.languages.hoon={comment:{pattern:/::.*/,greedy:!0},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},constant:/%(?:\.[ny]|[\w-]+)/,"class-name":/@(?:[a-z0-9-]*[a-z0-9])?|\*/i,function:/(?:\+[-+] {2})?(?:[a-z](?:[a-z0-9-]*[a-z0-9])?)/,keyword:/\.[\^\+\*=\?]|![><:\.=\?!]|=[>|:,\.\-\^<+;/~\*\?]|\?[>|:\.\-\^<\+&~=@!]|\|[\$_%:\.\-\^~\*=@\?]|\+[|\$\+\*]|:[_\-\^\+~\*]|%[_:\.\-\^\+~\*=]|\^[|:\.\-\+&~\*=\?]|\$[|_%:<>\-\^&~@=\?]|;[:<\+;\/~\*=]|~[>|\$_%<\+\/&=\?!]|--|==/}}e.exports=t,t.displayName="hoon",t.aliases=[]},5727:function(e){"use strict";function t(e){e.languages.hpkp={directive:{pattern:/\b(?:includeSubDomains|max-age|pin-sha256|preload|report-to|report-uri|strict)(?=[\s;=]|$)/i,alias:"property"},operator:/=/,punctuation:/;/}}e.exports=t,t.displayName="hpkp",t.aliases=[]},7761:function(e){"use strict";function t(e){e.languages.hsts={directive:{pattern:/\b(?:includeSubDomains|max-age|preload)(?=[\s;=]|$)/i,alias:"property"},operator:/=/,punctuation:/;/}}e.exports=t,t.displayName="hsts",t.aliases=[]},6722:function(e){"use strict";function t(e){!function(e){function t(e){return RegExp("(^(?:"+e+"):[ \t]*(?![ \t]))[^]+","i")}e.languages.http={"request-line":{pattern:/^(?:CONNECT|DELETE|GET|HEAD|OPTIONS|PATCH|POST|PRI|PUT|SEARCH|TRACE)\s(?:https?:\/\/|\/)\S*\sHTTP\/[\d.]+/m,inside:{method:{pattern:/^[A-Z]+\b/,alias:"property"},"request-target":{pattern:/^(\s)(?:https?:\/\/|\/)\S*(?=\s)/,lookbehind:!0,alias:"url",inside:e.languages.uri},"http-version":{pattern:/^(\s)HTTP\/[\d.]+/,lookbehind:!0,alias:"property"}}},"response-status":{pattern:/^HTTP\/[\d.]+ \d+ .+/m,inside:{"http-version":{pattern:/^HTTP\/[\d.]+/,alias:"property"},"status-code":{pattern:/^(\s)\d+(?=\s)/,lookbehind:!0,alias:"number"},"reason-phrase":{pattern:/^(\s).+/,lookbehind:!0,alias:"string"}}},header:{pattern:/^[\w-]+:.+(?:(?:\r\n?|\n)[ \t].+)*/m,inside:{"header-value":[{pattern:t(/Content-Security-Policy/.source),lookbehind:!0,alias:["csp","languages-csp"],inside:e.languages.csp},{pattern:t(/Public-Key-Pins(?:-Report-Only)?/.source),lookbehind:!0,alias:["hpkp","languages-hpkp"],inside:e.languages.hpkp},{pattern:t(/Strict-Transport-Security/.source),lookbehind:!0,alias:["hsts","languages-hsts"],inside:e.languages.hsts},{pattern:t(/[^:]+/.source),lookbehind:!0}],"header-name":{pattern:/^[^:]+/,alias:"keyword"},punctuation:/^:/}}};var n,r=e.languages,a={"application/javascript":r.javascript,"application/json":r.json||r.javascript,"application/xml":r.xml,"text/xml":r.xml,"text/html":r.html,"text/css":r.css,"text/plain":r.plain},i={"application/json":!0,"application/xml":!0};function o(e){var t=e.replace(/^[a-z]+\//,"");return"(?:"+e+"|"+("\\w+/(?:[\\w.-]+\\+)+"+t+"(?![+\\w.-])")+")"}for(var s in a)if(a[s]){n=n||{};var l=i[s]?o(s):s;n[s.replace(/\//g,"-")]={pattern:RegExp("("+/content-type:\s*/.source+l+/(?:(?:\r\n?|\n)[\w-].*)*(?:\r(?:\n|(?!\n))|\n)/.source+")"+/[^ \t\w-][\s\S]*/.source,"i"),lookbehind:!0,inside:a[s]}}n&&e.languages.insertBefore("http","header",n)}(e)}e.exports=t,t.displayName="http",t.aliases=[]},1469:function(e){"use strict";function t(e){e.languages.ichigojam={comment:/(?:\B'|REM)(?:[^\n\r]*)/i,string:{pattern:/"(?:""|[!#$%&'()*,\/:;<=>?^\w +\-.])*"/,greedy:!0},number:/\B#[0-9A-F]+|\B`[01]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,keyword:/\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GOTO|GSB|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RIGHT|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\$|\b)/i,function:/\b(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\$|\b)/i,label:/(?:\B@\S+)/,operator:/<[=>]?|>=?|\|\||&&|[+\-*\/=|&^~!]|\b(?:AND|NOT|OR)\b/i,punctuation:/[\[,;:()\]]/}}e.exports=t,t.displayName="ichigojam",t.aliases=[]},8340:function(e){"use strict";function t(e){e.languages.icon={comment:/#.*/,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n_]|\\.|_(?!\1)(?:\r\n|[\s\S]))*\1/,greedy:!0},number:/\b(?:\d+r[a-z\d]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b|\.\d+\b/i,"builtin-keyword":{pattern:/&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)\b/,alias:"variable"},directive:{pattern:/\$\w+/,alias:"builtin"},keyword:/\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)\b/,function:/\b(?!\d)\w+(?=\s*[({]|\s*!\s*\[)/,operator:/[+-]:(?!=)|(?:[\/?@^%&]|\+\+?|--?|==?=?|~==?=?|\*\*?|\|\|\|?|<(?:->?|<?=?)|>>?=?)(?::=)?|:(?:=:?)?|[!.\\|~]/,punctuation:/[\[\](){},;]/}}e.exports=t,t.displayName="icon",t.aliases=[]},8925:function(e){"use strict";function t(e){!function(e){function t(e,n){return n<=0?/[]/.source:e.replace(/<SELF>/g,(function(){return t(e,n-1)}))}var n=/'[{}:=,](?:[^']|'')*'(?!')/,r={pattern:/''/,greedy:!0,alias:"operator"},a={pattern:n,greedy:!0,inside:{escape:r}},i=t(/\{(?:[^{}']|'(?![{},'])|''|<STR>|<SELF>)*\}/.source.replace(/<STR>/g,(function(){return n.source})),8),o={pattern:RegExp(i),inside:{message:{pattern:/^(\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:null},"message-delimiter":{pattern:/./,alias:"punctuation"}}};e.languages["icu-message-format"]={argument:{pattern:RegExp(i),greedy:!0,inside:{content:{pattern:/^(\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:{"argument-name":{pattern:/^(\s*)[^{}:=,\s]+/,lookbehind:!0},"choice-style":{pattern:/^(\s*,\s*choice\s*,\s*)\S(?:[\s\S]*\S)?/,lookbehind:!0,inside:{punctuation:/\|/,range:{pattern:/^(\s*)[+-]?(?:\d+(?:\.\d*)?|\u221e)\s*[<#\u2264]/,lookbehind:!0,inside:{operator:/[<#\u2264]/,number:/\S+/}},rest:null}},"plural-style":{pattern:/^(\s*,\s*(?:plural|selectordinal)\s*,\s*)\S(?:[\s\S]*\S)?/,lookbehind:!0,inside:{offset:/^offset:\s*\d+/,"nested-message":o,selector:{pattern:/=\d+|[^{}:=,\s]+/,inside:{keyword:/^(?:few|many|one|other|two|zero)$/}}}},"select-style":{pattern:/^(\s*,\s*select\s*,\s*)\S(?:[\s\S]*\S)?/,lookbehind:!0,inside:{"nested-message":o,selector:{pattern:/[^{}:=,\s]+/,inside:{keyword:/^other$/}}}},keyword:/\b(?:choice|plural|select|selectordinal)\b/,"arg-type":{pattern:/\b(?:date|duration|number|ordinal|spellout|time)\b/,alias:"keyword"},"arg-skeleton":{pattern:/(,\s*)::[^{}:=,\s]+/,lookbehind:!0},"arg-style":{pattern:/(,\s*)(?:currency|full|integer|long|medium|percent|short)(?=\s*$)/,lookbehind:!0},"arg-style-text":{pattern:RegExp(/(^\s*,\s*(?=\S))/.source+t(/(?:[^{}']|'[^']*'|\{(?:<SELF>)?\})+/.source,8)+"$"),lookbehind:!0,alias:"string"},punctuation:/,/}},"argument-delimiter":{pattern:/./,alias:"operator"}}},escape:r,string:a},o.inside.message.inside=e.languages["icu-message-format"],e.languages["icu-message-format"].argument.inside.content.inside["choice-style"].inside.rest=e.languages["icu-message-format"]}(e)}e.exports=t,t.displayName="icuMessageFormat",t.aliases=[]},3298:function(e,t,n){"use strict";var r=n(9233);function a(e){e.register(r),e.languages.idris=e.languages.extend("haskell",{comment:{pattern:/(?:(?:--|\|\|\|).*$|\{-[\s\S]*?-\})/m},keyword:/\b(?:Type|case|class|codata|constructor|corecord|data|do|dsl|else|export|if|implementation|implicit|import|impossible|in|infix|infixl|infixr|instance|interface|let|module|mutual|namespace|of|parameters|partial|postulate|private|proof|public|quoteGoal|record|rewrite|syntax|then|total|using|where|with)\b/,builtin:void 0}),e.languages.insertBefore("idris","keyword",{"import-statement":{pattern:/(^\s*import\s+)(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*/m,lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.idr=e.languages.idris}e.exports=a,a.displayName="idris",a.aliases=["idr"]},3390:function(e){"use strict";function t(e){e.languages.iecst={comment:[{pattern:/(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\(\*[\s\S]*?(?:\*\)|$)|\{[\s\S]*?(?:\}|$))/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:[/\b(?:END_)?(?:PROGRAM|CONFIGURATION|INTERFACE|FUNCTION_BLOCK|FUNCTION|ACTION|TRANSITION|TYPE|STRUCT|(?:INITIAL_)?STEP|NAMESPACE|LIBRARY|CHANNEL|FOLDER|RESOURCE|VAR_(?:ACCESS|CONFIG|EXTERNAL|GLOBAL|INPUT|IN_OUT|OUTPUT|TEMP)|VAR|METHOD|PROPERTY)\b/i,/\b(?:AT|BY|(?:END_)?(?:CASE|FOR|IF|REPEAT|WHILE)|CONSTANT|CONTINUE|DO|ELSE|ELSIF|EXIT|EXTENDS|FROM|GET|GOTO|IMPLEMENTS|JMP|NON_RETAIN|OF|PRIVATE|PROTECTED|PUBLIC|RETAIN|RETURN|SET|TASK|THEN|TO|UNTIL|USING|WITH|__CATCH|__ENDTRY|__FINALLY|__TRY)\b/],"class-name":/\b(?:ANY|ARRAY|BOOL|BYTE|U?(?:D|L|S)?INT|(?:D|L)?WORD|DATE(?:_AND_TIME)?|DT|L?REAL|POINTER|STRING|TIME(?:_OF_DAY)?|TOD)\b/,address:{pattern:/%[IQM][XBWDL][\d.]*|%[IQ][\d.]*/,alias:"symbol"},number:/\b(?:16#[\da-f]+|2#[01_]+|0x[\da-f]+)\b|\b(?:D|DT|T|TOD)#[\d_shmd:]*|\b[A-Z]*#[\d.,_]*|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/,operator:/S?R?:?=>?|&&?|\*\*?|<[=>]?|>=?|[-:^/+#]|\b(?:AND|EQ|EXPT|GE|GT|LE|LT|MOD|NE|NOT|OR|XOR)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,punctuation:/[()[\].,;]/}}e.exports=t,t.displayName="iecst",t.aliases=[]},7145:function(e){"use strict";function t(e){!function(e){e.languages.ignore={comment:/^#.*/m,entry:{pattern:/\S(?:.*(?:(?:\\ )|\S))?/,alias:"string",inside:{operator:/^!|\*\*?|\?/,regex:{pattern:/(^|[^\\])\[[^\[\]]*\]/,lookbehind:!0},punctuation:/\//}}},e.languages.gitignore=e.languages.ignore,e.languages.hgignore=e.languages.ignore,e.languages.npmignore=e.languages.ignore}(e)}e.exports=t,t.displayName="ignore",t.aliases=["gitignore","hgignore","npmignore"]},4600:function(e){"use strict";function t(e){e.languages.inform7={string:{pattern:/"[^"]*"/,inside:{substitution:{pattern:/\[[^\[\]]+\]/,inside:{delimiter:{pattern:/\[|\]/,alias:"punctuation"}}}}},comment:{pattern:/\[[^\[\]]+\]/,greedy:!0},title:{pattern:/^[ \t]*(?:book|chapter|part(?! of)|section|table|volume)\b.+/im,alias:"important"},number:{pattern:/(^|[^-])(?:\b\d+(?:\.\d+)?(?:\^\d+)?(?:(?!\d)\w+)?|\b(?:eight|eleven|five|four|nine|one|seven|six|ten|three|twelve|two))\b(?!-)/i,lookbehind:!0},verb:{pattern:/(^|[^-])\b(?:answering|applying to|are|asking|attacking|be(?:ing)?|burning|buying|called|carries|carry(?! out)|carrying|climbing|closing|conceal(?:ing|s)?|consulting|contain(?:ing|s)?|cutting|drinking|dropping|eating|enclos(?:es?|ing)|entering|examining|exiting|getting|giving|going|ha(?:s|ve|ving)|hold(?:ing|s)?|impl(?:ies|y)|incorporat(?:es?|ing)|inserting|is|jumping|kissing|listening|locking|looking|mean(?:ing|s)?|opening|provid(?:es?|ing)|pulling|pushing|putting|relat(?:es?|ing)|removing|searching|see(?:ing|s)?|setting|showing|singing|sleeping|smelling|squeezing|support(?:ing|s)?|swearing|switching|taking|tasting|telling|thinking|throwing|touching|turning|tying|unlock(?:ing|s)?|var(?:ies|y|ying)|waiting|waking|waving|wear(?:ing|s)?)\b(?!-)/i,lookbehind:!0,alias:"operator"},keyword:{pattern:/(^|[^-])\b(?:after|before|carry out|check|continue the action|definition(?= *:)|do nothing|else|end (?:if|the story|unless)|every turn|if|include|instead(?: of)?|let|move|no|now|otherwise|repeat|report|resume the story|rule for|running through|say(?:ing)?|stop the action|test|try(?:ing)?|understand|unless|use|when|while|yes)\b(?!-)/i,lookbehind:!0},property:{pattern:/(^|[^-])\b(?:adjacent(?! to)|carried|closed|concealed|contained|dark|described|edible|empty|enclosed|enterable|even|female|fixed in place|full|handled|held|improper-named|incorporated|inedible|invisible|lighted|lit|lock(?:able|ed)|male|marked for listing|mentioned|negative|neuter|non-(?:empty|full|recurring)|odd|opaque|open(?:able)?|plural-named|portable|positive|privately-named|proper-named|provided|publically-named|pushable between rooms|recurring|related|rubbing|scenery|seen|singular-named|supported|swinging|switch(?:able|ed(?: off| on)?)|touch(?:able|ed)|transparent|unconcealed|undescribed|unlit|unlocked|unmarked for listing|unmentioned|unopenable|untouchable|unvisited|variable|visible|visited|wearable|worn)\b(?!-)/i,lookbehind:!0,alias:"symbol"},position:{pattern:/(^|[^-])\b(?:above|adjacent to|back side of|below|between|down|east|everywhere|front side|here|in|inside(?: from)?|north(?:east|west)?|nowhere|on(?: top of)?|other side|outside(?: from)?|parts? of|regionally in|south(?:east|west)?|through|up|west|within)\b(?!-)/i,lookbehind:!0,alias:"keyword"},type:{pattern:/(^|[^-])\b(?:actions?|activit(?:ies|y)|actors?|animals?|backdrops?|containers?|devices?|directions?|doors?|holders?|kinds?|lists?|m[ae]n|nobody|nothing|nouns?|numbers?|objects?|people|persons?|player(?:'s holdall)?|regions?|relations?|rooms?|rule(?:book)?s?|scenes?|someone|something|supporters?|tables?|texts?|things?|time|vehicles?|wom[ae]n)\b(?!-)/i,lookbehind:!0,alias:"variable"},punctuation:/[.,:;(){}]/},e.languages.inform7.string.inside.substitution.inside.rest=e.languages.inform7,e.languages.inform7.string.inside.substitution.inside.rest.text={pattern:/\S(?:\s*\S)*/,alias:"comment"}}e.exports=t,t.displayName="inform7",t.aliases=[]},3409:function(e){"use strict";function t(e){e.languages.ini={comment:{pattern:/(^[ \f\t\v]*)[#;][^\n\r]*/m,lookbehind:!0},section:{pattern:/(^[ \f\t\v]*)\[[^\n\r\]]*\]?/m,lookbehind:!0,inside:{"section-name":{pattern:/(^\[[ \f\t\v]*)[^ \f\t\v\]]+(?:[ \f\t\v]+[^ \f\t\v\]]+)*/,lookbehind:!0,alias:"selector"},punctuation:/\[|\]/}},key:{pattern:/(^[ \f\t\v]*)[^ \f\n\r\t\v=]+(?:[ \f\t\v]+[^ \f\n\r\t\v=]+)*(?=[ \f\t\v]*=)/m,lookbehind:!0,alias:"attr-name"},value:{pattern:/(=[ \f\t\v]*)[^ \f\n\r\t\v]+(?:[ \f\t\v]+[^ \f\n\r\t\v]+)*/,lookbehind:!0,alias:"attr-value",inside:{"inner-value":{pattern:/^("|').+(?=\1$)/,lookbehind:!0}}},punctuation:/=/}}e.exports=t,t.displayName="ini",t.aliases=[]},4197:function(e){"use strict";function t(e){e.languages.io={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\/\/.*|#.*)/,lookbehind:!0,greedy:!0},"triple-quoted-string":{pattern:/"""(?:\\[\s\S]|(?!""")[^\\])*"""/,greedy:!0,alias:"string"},string:{pattern:/"(?:\\.|[^\\\r\n"])*"/,greedy:!0},keyword:/\b(?:activate|activeCoroCount|asString|block|break|call|catch|clone|collectGarbage|compileString|continue|do|doFile|doMessage|doString|else|elseif|exit|for|foreach|forward|getEnvironmentVariable|getSlot|hasSlot|if|ifFalse|ifNil|ifNilEval|ifTrue|isActive|isNil|isResumable|list|message|method|parent|pass|pause|perform|performWithArgList|print|println|proto|raise|raiseResumable|removeSlot|resend|resume|schedulerSleepSeconds|self|sender|setSchedulerSleepSeconds|setSlot|shallowCopy|slotNames|super|system|then|thisBlock|thisContext|try|type|uniqueId|updateSlot|wait|while|write|yield)\b/,builtin:/\b(?:Array|AudioDevice|AudioMixer|BigNum|Block|Box|Buffer|CFunction|CGI|Color|Curses|DBM|DNSResolver|DOConnection|DOProxy|DOServer|Date|Directory|Duration|DynLib|Error|Exception|FFT|File|Fnmatch|Font|Future|GL|GLE|GLScissor|GLU|GLUCylinder|GLUQuadric|GLUSphere|GLUT|Host|Image|Importer|LinkList|List|Lobby|Locals|MD5|MP3Decoder|MP3Encoder|Map|Message|Movie|Notification|Number|Object|OpenGL|Point|Protos|Random|Regex|SGML|SGMLElement|SGMLParser|SQLite|Sequence|Server|ShowMessage|SleepyCat|SleepyCatCursor|Socket|SocketManager|Sound|Soup|Store|String|Tree|UDPSender|UPDReceiver|URL|User|Warning|WeakLink)\b/,boolean:/\b(?:false|nil|true)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e-?\d+)?/i,operator:/[=!*/%+\-^&|]=|>>?=?|<<?=?|:?:?=|\+\+?|--?|\*\*?|\/\/?|%|\|\|?|&&?|\b(?:and|not|or|return)\b|@@?|\?\??|\.\./,punctuation:/[{}[\];(),.:]/}}e.exports=t,t.displayName="io",t.aliases=[]},3269:function(e){"use strict";function t(e){e.languages.j={comment:{pattern:/\bNB\..*/,greedy:!0},string:{pattern:/'(?:''|[^'\r\n])*'/,greedy:!0},keyword:/\b(?:(?:CR|LF|adverb|conjunction|def|define|dyad|monad|noun|verb)\b|(?:assert|break|case|catch[dt]?|continue|do|else|elseif|end|fcase|for|for_\w+|goto_\w+|if|label_\w+|return|select|throw|try|while|whilst)\.)/,verb:{pattern:/(?!\^:|;\.|[=!][.:])(?:\{(?:\.|::?)?|p(?:\.\.?|:)|[=!\]]|[<>+*\-%$|,#][.:]?|[?^]\.?|[;\[]:?|[~}"i][.:]|[ACeEIjLor]\.|(?:[_\/\\qsux]|_?\d):)/,alias:"keyword"},number:/\b_?(?:(?!\d:)\d+(?:\.\d+)?(?:(?:ad|ar|[ejpx])_?\d+(?:\.\d+)?)*(?:b_?[\da-z]+(?:\.[\da-z]+)?)?|_\b(?!\.))/,adverb:{pattern:/[~}]|[\/\\]\.?|[bfM]\.|t[.:]/,alias:"builtin"},operator:/[=a][.:]|_\./,conjunction:{pattern:/&(?:\.:?|:)?|[.:@][.:]?|[!D][.:]|[;dHT]\.|`:?|[\^LS]:|"/,alias:"variable"},punctuation:/[()]/}}e.exports=t,t.displayName="j",t.aliases=[]},5543:function(e){"use strict";function t(e){!function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=/(^|[^\w.])(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,r={pattern:RegExp(n+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(n+/[A-Z]\w*(?=\s+\w+\s*[;,=()])/.source),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0}}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!<keyword>)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0,inside:{punctuation:/\./}}})}(e)}e.exports=t,t.displayName="java",t.aliases=[]},8428:function(e,t,n){"use strict";var r=n(5543),a=n(9285);function i(e){e.register(r),e.register(a),function(e){var t=/(^(?:[\t ]*(?:\*\s*)*))[^*\s].*$/m,n=/#\s*\w+(?:\s*\([^()]*\))?/.source,r=/(?:\b[a-zA-Z]\w+\s*\.\s*)*\b[A-Z]\w*(?:\s*<mem>)?|<mem>/.source.replace(/<mem>/g,(function(){return n}));e.languages.javadoc=e.languages.extend("javadoclike",{}),e.languages.insertBefore("javadoc","keyword",{reference:{pattern:RegExp(/(@(?:exception|link|linkplain|see|throws|value)\s+(?:\*\s*)?)/.source+"(?:"+r+")"),lookbehind:!0,inside:{function:{pattern:/(#\s*)\w+(?=\s*\()/,lookbehind:!0},field:{pattern:/(#\s*)\w+/,lookbehind:!0},namespace:{pattern:/\b(?:[a-z]\w*\s*\.\s*)+/,inside:{punctuation:/\./}},"class-name":/\b[A-Z]\w*/,keyword:e.languages.java.keyword,punctuation:/[#()[\],.]/}},"class-name":{pattern:/(@param\s+)<[A-Z]\w*>/,lookbehind:!0,inside:{punctuation:/[.<>]/}},"code-section":[{pattern:/(\{@code\s+(?!\s))(?:[^\s{}]|\s+(?![\s}])|\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\})+(?=\s*\})/,lookbehind:!0,inside:{code:{pattern:t,lookbehind:!0,inside:e.languages.java,alias:"language-java"}}},{pattern:/(<(code|pre|tt)>(?!<code>)\s*)\S(?:\S|\s+\S)*?(?=\s*<\/\2>)/,lookbehind:!0,inside:{line:{pattern:t,lookbehind:!0,inside:{tag:e.languages.markup.tag,entity:e.languages.markup.entity,code:{pattern:/.+/,inside:e.languages.java,alias:"language-java"}}}}}],tag:e.languages.markup.tag,entity:e.languages.markup.entity}),e.languages.javadoclike.addSupport("java",e.languages.javadoc)}(e)}e.exports=i,i.displayName="javadoc",i.aliases=[]},9285:function(e){"use strict";function t(e){!function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,n){"string"===typeof t&&(t=[t]),t.forEach((function(t){!function(t,n){var r="doc-comment",a=e.languages[t];if(a){var i=a[r];if(!i){var o={"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}};i=(a=e.languages.insertBefore(t,"comment",o))[r]}if(i instanceof RegExp&&(i=a[r]={pattern:i}),Array.isArray(i))for(var s=0,l=i.length;s<l;s++)i[s]instanceof RegExp&&(i[s]={pattern:i[s]}),n(i[s]);else n(i)}}(t,(function(e){e.inside||(e.inside={}),e.inside.rest=n}))}))}}),t.addSupport(["java","javascript","php"],t)}(e)}e.exports=t,t.displayName="javadoclike",t.aliases=[]},7556:function(e){"use strict";function t(e){e.languages.javascript=e.languages.extend("clike",{"class-name":[e.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),e.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,e.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:e.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:e.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:e.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:e.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:e.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),e.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:e.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),e.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),e.languages.markup&&(e.languages.markup.tag.addInlined("script","javascript"),e.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),e.languages.js=e.languages.javascript}e.exports=t,t.displayName="javascript",t.aliases=["js"]},1570:function(e){"use strict";function t(e){e.languages.javastacktrace={summary:{pattern:/^([\t ]*)(?:(?:Caused by:|Suppressed:|Exception in thread "[^"]*")[\t ]+)?[\w$.]+(?::.*)?$/m,lookbehind:!0,inside:{keyword:{pattern:/^([\t ]*)(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m,lookbehind:!0},string:{pattern:/^(\s*)"[^"]*"/,lookbehind:!0},exceptions:{pattern:/^(:?\s*)[\w$.]+(?=:|$)/,lookbehind:!0,inside:{"class-name":/[\w$]+$/,namespace:/\b[a-z]\w*\b/,punctuation:/\./}},message:{pattern:/(:\s*)\S.*/,lookbehind:!0,alias:"string"},punctuation:/:/}},"stack-frame":{pattern:/^([\t ]*)at (?:[\w$./]|@[\w$.+-]*\/)+(?:<init>)?\([^()]*\)/m,lookbehind:!0,inside:{keyword:{pattern:/^(\s*)at(?= )/,lookbehind:!0},source:[{pattern:/(\()\w+\.\w+:\d+(?=\))/,lookbehind:!0,inside:{file:/^\w+\.\w+/,punctuation:/:/,"line-number":{pattern:/\b\d+\b/,alias:"number"}}},{pattern:/(\()[^()]*(?=\))/,lookbehind:!0,inside:{keyword:/^(?:Native Method|Unknown Source)$/}}],"class-name":/[\w$]+(?=\.(?:<init>|[\w$]+)\()/,function:/(?:<init>|[\w$]+)(?=\()/,"class-loader":{pattern:/(\s)[a-z]\w*(?:\.[a-z]\w*)*(?=\/[\w@$.]*\/)/,lookbehind:!0,alias:"namespace",inside:{punctuation:/\./}},module:{pattern:/([\s/])[a-z]\w*(?:\.[a-z]\w*)*(?:@[\w$.+-]*)?(?=\/)/,lookbehind:!0,inside:{version:{pattern:/(@)[\s\S]+/,lookbehind:!0,alias:"number"},punctuation:/[@.]/}},namespace:{pattern:/(?:\b[a-z]\w*\.)+/,inside:{punctuation:/\./}},punctuation:/[()/.]/}},more:{pattern:/^([\t ]*)\.{3} \d+ [a-z]+(?: [a-z]+)*/m,lookbehind:!0,inside:{punctuation:/\.{3}/,number:/\d+/,keyword:/\b[a-z]+(?: [a-z]+)*\b/}}}}e.exports=t,t.displayName="javastacktrace",t.aliases=[]},9298:function(e){"use strict";function t(e){e.languages.jexl={string:/(["'])(?:\\[\s\S]|(?!\1)[^\\])*\1/,transform:{pattern:/(\|\s*)[a-zA-Z\u0430-\u044f\u0410-\u042f_\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$][\w\u0430-\u044f\u0410-\u042f\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$]*/,alias:"function",lookbehind:!0},function:/[a-zA-Z\u0430-\u044f\u0410-\u042f_\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$][\w\u0430-\u044f\u0410-\u042f\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$]*\s*(?=\()/,number:/\b\d+(?:\.\d+)?\b|\B\.\d+\b/,operator:/[<>!]=?|-|\+|&&|==|\|\|?|\/\/?|[?:*^%]/,boolean:/\b(?:false|true)\b/,keyword:/\bin\b/,punctuation:/[{}[\](),.]/}}e.exports=t,t.displayName="jexl",t.aliases=[]},32:function(e){"use strict";function t(e){e.languages.jolie=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\[\s\S]|[^"\\])*"/,lookbehind:!0,greedy:!0},"class-name":{pattern:/((?:\b(?:as|courier|embed|in|inputPort|outputPort|service)\b|@)[ \t]*)\w+/,lookbehind:!0},keyword:/\b(?:as|cH|comp|concurrent|constants|courier|cset|csets|default|define|else|embed|embedded|execution|exit|extender|for|foreach|forward|from|global|if|import|in|include|init|inputPort|install|instanceof|interface|is_defined|linkIn|linkOut|main|new|nullProcess|outputPort|over|private|provide|public|scope|sequential|service|single|spawn|synchronized|this|throw|throws|type|undef|until|while|with)\b/,function:/\b[a-z_]\w*(?=[ \t]*[@(])/i,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?l?/i,operator:/-[-=>]?|\+[+=]?|<[<=]?|[>=*!]=?|&&|\|\||[?\/%^@|]/,punctuation:/[()[\]{},;.:]/,builtin:/\b(?:Byte|any|bool|char|double|enum|float|int|length|long|ranges|regex|string|undefined|void)\b/}),e.languages.insertBefore("jolie","keyword",{aggregates:{pattern:/(\bAggregates\s*:\s*)(?:\w+(?:\s+with\s+\w+)?\s*,\s*)*\w+(?:\s+with\s+\w+)?/,lookbehind:!0,inside:{keyword:/\bwith\b/,"class-name":/\w+/,punctuation:/,/}},redirects:{pattern:/(\bRedirects\s*:\s*)(?:\w+\s*=>\s*\w+\s*,\s*)*(?:\w+\s*=>\s*\w+)/,lookbehind:!0,inside:{punctuation:/,/,"class-name":/\w+/,operator:/=>/}},property:{pattern:/\b(?:Aggregates|[Ii]nterfaces|Java|Javascript|Jolie|[Ll]ocation|OneWay|[Pp]rotocol|Redirects|RequestResponse)\b(?=[ \t]*:)/}})}e.exports=t,t.displayName="jolie",t.aliases=[]},6044:function(e){"use strict";function t(e){!function(e){var t=/\\\((?:[^()]|\([^()]*\))*\)/.source,n=RegExp(/(^|[^\\])"(?:[^"\r\n\\]|\\[^\r\n(]|__)*"/.source.replace(/__/g,(function(){return t}))),r={interpolation:{pattern:RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+t),lookbehind:!0,inside:{content:{pattern:/^(\\\()[\s\S]+(?=\)$)/,lookbehind:!0,inside:null},punctuation:/^\\\(|\)$/}}},a=e.languages.jq={comment:/#.*/,property:{pattern:RegExp(n.source+/(?=\s*:(?!:))/.source),lookbehind:!0,greedy:!0,inside:r},string:{pattern:n,lookbehind:!0,greedy:!0,inside:r},function:{pattern:/(\bdef\s+)[a-z_]\w+/i,lookbehind:!0},variable:/\B\$\w+/,"property-literal":{pattern:/\b[a-z_]\w*(?=\s*:(?!:))/i,alias:"property"},keyword:/\b(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)\b/,boolean:/\b(?:false|true)\b/,number:/(?:\b\d+\.|\B\.)?\b\d+(?:[eE][+-]?\d+)?\b/,operator:[{pattern:/\|=?/,alias:"pipe"},/\.\.|[!=<>]?=|\?\/\/|\/\/=?|[-+*/%]=?|[<>?]|\b(?:and|not|or)\b/],"c-style-function":{pattern:/\b[a-z_]\w*(?=\s*\()/i,alias:"function"},punctuation:/::|[()\[\]{},:;]|\.(?=\s*[\[\w$])/,dot:{pattern:/\./,alias:"important"}};r.interpolation.inside.content.inside=a}(e)}e.exports=t,t.displayName="jq",t.aliases=[]},1408:function(e){"use strict";function t(e){!function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r<n.length;r++){var a=n[r],i=e.languages.javascript[a];"RegExp"===e.util.type(i)&&(i=e.languages.javascript[a]={pattern:i});var o=i.inside||{};i.inside=o,o["maybe-class-name"]=/^[A-Z][\s\S]*/}}(e)}e.exports=t,t.displayName="jsExtras",t.aliases=[]},750:function(e){"use strict";function t(e){!function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],i=r.pattern.source;function o(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function l(t,n,r){var a={code:t,grammar:n,language:r};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(a.code,a.grammar),e.hooks.run("after-tokenize",a),a.tokens}function c(t){var n={};n["interpolation-punctuation"]=a;var i=e.tokenize(t,n);if(3===i.length){var o=[1,1];o.push.apply(o,l(i[1],e.languages.javascript,"javascript")),i.splice.apply(i,o)}return new e.Token("interpolation",i,r.alias,t)}function u(t,n,r){var a=e.tokenize(t,{interpolation:{pattern:RegExp(i),lookbehind:!0}}),o=0,u={},d=l(a.map((function(e){if("string"===typeof e)return e;for(var n,a=e.content;-1!==t.indexOf(n=s(o++,r)););return u[n]=a,n})).join(""),n,r),p=Object.keys(u);return o=0,function e(t){for(var n=0;n<t.length;n++){if(o>=p.length)return;var r=t[n];if("string"===typeof r||"string"===typeof r.content){var a=p[o],i="string"===typeof r?r:r.content,s=i.indexOf(a);if(-1!==s){++o;var l=i.substring(0,s),d=c(u[a]),m=i.substring(s+a.length),f=[];if(l&&f.push(l),f.push(d),m){var g=[m];e(g),f.push.apply(f,g)}"string"===typeof r?(t.splice.apply(t,[n,1].concat(f)),n+=f.length-1):r.content=f}}else{var h=r.content;Array.isArray(h)?e(h):e([h])}}}(d),new e.Token(r,d,"language-"+r,t)}e.languages.javascript["template-string"]=[o("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),o("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),o("svg",/\bsvg/.source),o("markdown",/\b(?:markdown|md)/.source),o("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),o("sql",/\bsql/.source),t].filter(Boolean);var d={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function p(e){return"string"===typeof e?e:Array.isArray(e)?e.map(p).join(""):p(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in d&&function t(n){for(var r=0,a=n.length;r<a;r++){var i=n[r];if("string"!==typeof i){var o=i.content;if(Array.isArray(o))if("template-string"===i.type){var s=o[1];if(3===o.length&&"string"!==typeof s&&"embedded-code"===s.type){var l=p(s),c=s.alias,d=Array.isArray(c)?c[0]:c,m=e.languages[d];if(!m)continue;o[1]=u(l,m,d)}}else t(o);else"string"!==typeof o&&t([o])}}}(t.tokens)}))}(e)}e.exports=t,t.displayName="jsTemplates",t.aliases=[]},2327:function(e,t,n){"use strict";var r=n(9285),a=n(9669);function i(e){e.register(r),e.register(a),function(e){var t=e.languages.javascript,n=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source,r="(@(?:arg|argument|param|property)\\s+(?:"+n+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(r+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(r+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g,(function(){return n}))),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{string:t.string,number:t.number,boolean:t.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:t,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(e)}e.exports=i,i.displayName="jsdoc",i.aliases=[]},837:function(e){"use strict";function t(e){e.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},e.languages.webmanifest=e.languages.json}e.exports=t,t.displayName="json",t.aliases=["webmanifest"]},7778:function(e,t,n){"use strict";var r=n(837);function a(e){e.register(r),function(e){var t=/("|')(?:\\(?:\r\n?|\n|.)|(?!\1)[^\\\r\n])*\1/;e.languages.json5=e.languages.extend("json",{property:[{pattern:RegExp(t.source+"(?=\\s*:)"),greedy:!0},{pattern:/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/,alias:"unquoted"}],string:{pattern:t,greedy:!0},number:/[+-]?\b(?:NaN|Infinity|0x[a-fA-F\d]+)\b|[+-]?(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[eE][+-]?\d+\b)?/})}(e)}e.exports=a,a.displayName="json5",a.aliases=[]},2117:function(e,t,n){"use strict";var r=n(837);function a(e){e.register(r),e.languages.jsonp=e.languages.extend("json",{punctuation:/[{}[\]();,.]/}),e.languages.insertBefore("jsonp","punctuation",{function:/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*\()/})}e.exports=a,a.displayName="jsonp",a.aliases=[]},3228:function(e){"use strict";function t(e){e.languages.jsstacktrace={"error-message":{pattern:/^\S.*/m,alias:"string"},"stack-frame":{pattern:/(^[ \t]+)at[ \t].*/m,lookbehind:!0,inside:{"not-my-code":{pattern:/^at[ \t]+(?!\s)(?:node\.js|<unknown>|.*(?:node_modules|\(<anonymous>\)|\(<unknown>|<anonymous>$|\(internal\/|\(node\.js)).*/m,alias:"comment"},filename:{pattern:/(\bat\s+(?!\s)|\()(?:[a-zA-Z]:)?[^():]+(?=:)/,lookbehind:!0,alias:"url"},function:{pattern:/(\bat\s+(?:new\s+)?)(?!\s)[_$a-zA-Z\xA0-\uFFFF<][.$\w\xA0-\uFFFF<>]*/,lookbehind:!0,inside:{punctuation:/\./}},punctuation:/[()]/,keyword:/\b(?:at|new)\b/,alias:{pattern:/\[(?:as\s+)?(?!\s)[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\]/,alias:"variable"},"line-number":{pattern:/:\d+(?::\d+)?\b/,alias:"number",inside:{punctuation:/:/}}}}}}e.exports=t,t.displayName="jsstacktrace",t.aliases=[]},765:function(e){"use strict";function t(e){!function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,a=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function i(e,t){return e=e.replace(/<S>/g,(function(){return n})).replace(/<BRACES>/g,(function(){return r})).replace(/<SPREAD>/g,(function(){return a})),RegExp(e,t)}a=i(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=i(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:i(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:i(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var o=function e(t){return t?"string"===typeof t?t:"string"===typeof t.content?t.content:t.content.map(e).join(""):""},s=function t(n){for(var r=[],a=0;a<n.length;a++){var i=n[a],s=!1;if("string"!==typeof i&&("tag"===i.type&&i.content[0]&&"tag"===i.content[0].type?"</"===i.content[0].content[0].content?r.length>0&&r[r.length-1].tagName===o(i.content[0].content[1])&&r.pop():"/>"===i.content[i.content.length-1].content||r.push({tagName:o(i.content[0].content[1]),openedBraces:0}):r.length>0&&"punctuation"===i.type&&"{"===i.content?r[r.length-1].openedBraces++:r.length>0&&r[r.length-1].openedBraces>0&&"punctuation"===i.type&&"}"===i.content?r[r.length-1].openedBraces--:s=!0),(s||"string"===typeof i)&&r.length>0&&0===r[r.length-1].openedBraces){var l=o(i);a<n.length-1&&("string"===typeof n[a+1]||"plain-text"===n[a+1].type)&&(l+=o(n[a+1]),n.splice(a+1,1)),a>0&&("string"===typeof n[a-1]||"plain-text"===n[a-1].type)&&(l=o(n[a-1])+l,n.splice(a-1,1),a--),n[a]=new e.Token("plain-text",l,null,l)}i.content&&"string"!==typeof i.content&&t(i.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||s(e.tokens)}))}(e)}e.exports=t,t.displayName="jsx",t.aliases=[]},1905:function(e){"use strict";function t(e){e.languages.julia={comment:{pattern:/(^|[^\\])(?:#=(?:[^#=]|=(?!#)|#(?!=)|#=(?:[^#=]|=(?!#)|#(?!=))*=#)*=#|#.*)/,lookbehind:!0},regex:{pattern:/r"(?:\\.|[^"\\\r\n])*"[imsx]{0,4}/,greedy:!0},string:{pattern:/"""[\s\S]+?"""|(?:\b\w+)?"(?:\\.|[^"\\\r\n])*"|`(?:[^\\`\r\n]|\\.)*`/,greedy:!0},char:{pattern:/(^|[^\w'])'(?:\\[^\r\n][^'\r\n]*|[^\\\r\n])'/,lookbehind:!0,greedy:!0},keyword:/\b(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|in|let|local|macro|module|print|println|quote|return|struct|try|type|typealias|using|while)\b/,boolean:/\b(?:false|true)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[box])?(?:[\da-f]+(?:_[\da-f]+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[efp][+-]?\d+(?:_\d+)*)?j?/i,operator:/&&|\|\||[-+*^%\xf7\u22bb&$\\]=?|\/[\/=]?|!=?=?|\|[=>]?|<(?:<=?|[=:|])?|>(?:=|>>?=?)?|==?=?|[~\u2260\u2264\u2265'\u221a\u221b]/,punctuation:/::?|[{}[\]();,.?]/,constant:/\b(?:(?:Inf|NaN)(?:16|32|64)?|im|pi)\b|[\u03c0\u212f]/}}e.exports=t,t.displayName="julia",t.aliases=[]},6776:function(e){"use strict";function t(e){e.languages.keepalived={comment:{pattern:/[#!].*/,greedy:!0},string:{pattern:/(^|[^\\])(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/,lookbehind:!0,greedy:!0},ip:{pattern:RegExp(/\b(?:(?:(?:[\da-f]{1,4}:){7}[\da-f]{1,4}|(?:[\da-f]{1,4}:){6}:[\da-f]{1,4}|(?:[\da-f]{1,4}:){5}:(?:[\da-f]{1,4}:)?[\da-f]{1,4}|(?:[\da-f]{1,4}:){4}:(?:[\da-f]{1,4}:){0,2}[\da-f]{1,4}|(?:[\da-f]{1,4}:){3}:(?:[\da-f]{1,4}:){0,3}[\da-f]{1,4}|(?:[\da-f]{1,4}:){2}:(?:[\da-f]{1,4}:){0,4}[\da-f]{1,4}|(?:[\da-f]{1,4}:){6}<ipv4>|(?:[\da-f]{1,4}:){0,5}:<ipv4>|::(?:[\da-f]{1,4}:){0,5}<ipv4>|[\da-f]{1,4}::(?:[\da-f]{1,4}:){0,5}[\da-f]{1,4}|::(?:[\da-f]{1,4}:){0,6}[\da-f]{1,4}|(?:[\da-f]{1,4}:){1,7}:)(?:\/\d{1,3})?|<ipv4>(?:\/\d{1,2})?)\b/.source.replace(/<ipv4>/g,(function(){return/(?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d))/.source})),"i"),alias:"number"},path:{pattern:/(\s)\/(?:[^\/\s]+\/)*[^\/\s]*|\b[a-zA-Z]:\\(?:[^\\\s]+\\)*[^\\\s]*/,lookbehind:!0,alias:"string"},variable:/\$\{?\w+\}?/,email:{pattern:/[\w-]+@[\w-]+(?:\.[\w-]{2,3}){1,2}/,alias:"string"},"conditional-configuration":{pattern:/@\^?[\w-]+/,alias:"variable"},operator:/=/,property:/\b(?:BFD_CHECK|DNS_CHECK|FILE_CHECK|HTTP_GET|MISC_CHECK|NAME|PING_CHECK|SCRIPTS|SMTP_CHECK|SSL|SSL_GET|TCP_CHECK|UDP_CHECK|accept|advert_int|alpha|auth_pass|auth_type|authentication|bfd_cpu_affinity|bfd_instance|bfd_no_swap|bfd_priority|bfd_process_name|bfd_rlimit_rttime|bfd_rt_priority|bind_if|bind_port|bindto|ca|certificate|check_unicast_src|checker|checker_cpu_affinity|checker_log_all_failures|checker_no_swap|checker_priority|checker_rlimit_rttime|checker_rt_priority|child_wait_time|connect_ip|connect_port|connect_timeout|dbus_service_name|debug|default_interface|delay|delay_before_retry|delay_loop|digest|dont_track_primary|dynamic|dynamic_interfaces|enable_(?:dbus|script_security|sni|snmp_checker|snmp_rfc|snmp_rfcv2|snmp_rfcv3|snmp_vrrp|traps)|end|fall|fast_recovery|file|flag-[123]|fork_delay|full_command|fwmark|garp_group|garp_interval|garp_lower_prio_delay|garp_lower_prio_repeat|garp_master_delay|garp_master_refresh|garp_master_refresh_repeat|garp_master_repeat|global_defs|global_tracking|gna_interval|group|ha_suspend|hashed|helo_name|higher_prio_send_advert|hoplimit|http_protocol|hysteresis|idle_tx|include|inhibit_on_failure|init_fail|init_file|instance|interface|interfaces|interval|ip_family|ipvs_process_name|keepalived.conf|kernel_rx_buf_size|key|linkbeat_interfaces|linkbeat_use_polling|log_all_failures|log_unknown_vrids|lower_prio_no_advert|lthreshold|lvs_flush|lvs_flush_onstop|lvs_method|lvs_netlink_cmd_rcv_bufs|lvs_netlink_cmd_rcv_bufs_force|lvs_netlink_monitor_rcv_bufs|lvs_netlink_monitor_rcv_bufs_force|lvs_notify_fifo|lvs_notify_fifo_script|lvs_sched|lvs_sync_daemon|max_auto_priority|max_hops|mcast_src_ip|mh-fallback|mh-port|min_auto_priority_delay|min_rx|min_tx|misc_dynamic|misc_path|misc_timeout|multiplier|name|namespace_with_ipsets|native_ipv6|neighbor_ip|net_namespace|net_namespace_ipvs|nftables|nftables_counters|nftables_ifindex|nftables_priority|no_accept|no_checker_emails|no_email_faults|nopreempt|notification_email|notification_email_from|notify|notify_backup|notify_deleted|notify_down|notify_fault|notify_fifo|notify_fifo_script|notify_master|notify_master_rx_lower_pri|notify_priority_changes|notify_stop|notify_up|old_unicast_checksum|omega|ops|param_match|passive|password|path|persistence_engine|persistence_granularity|persistence_timeout|preempt|preempt_delay|priority|process|process_monitor_rcv_bufs|process_monitor_rcv_bufs_force|process_name|process_names|promote_secondaries|protocol|proxy_arp|proxy_arp_pvlan|quorum|quorum_down|quorum_max|quorum_up|random_seed|real_server|regex|regex_max_offset|regex_min_offset|regex_no_match|regex_options|regex_stack|reload_repeat|reload_time_file|require_reply|retry|rise|router_id|rs_init_notifies|script|script_user|sh-fallback|sh-port|shutdown_script|shutdown_script_timeout|skip_check_adv_addr|smtp_alert|smtp_alert_checker|smtp_alert_vrrp|smtp_connect_timeout|smtp_helo_name|smtp_server|snmp_socket|sorry_server|sorry_server_inhibit|sorry_server_lvs_method|source_ip|start|startup_script|startup_script_timeout|state|static_ipaddress|static_routes|static_rules|status_code|step|strict_mode|sync_group_tracking_weight|terminate_delay|timeout|track_bfd|track_file|track_group|track_interface|track_process|track_script|track_src_ip|ttl|type|umask|unicast_peer|unicast_src_ip|unicast_ttl|url|use_ipvlan|use_pid_dir|use_vmac|user|uthreshold|val[123]|version|virtual_ipaddress|virtual_ipaddress_excluded|virtual_router_id|virtual_routes|virtual_rules|virtual_server|virtual_server_group|virtualhost|vmac_xmit_base|vrrp|vrrp_(?:check_unicast_src|cpu_affinity|garp_interval|garp_lower_prio_delay|garp_lower_prio_repeat|garp_master_delay|garp_master_refresh|garp_master_refresh_repeat|garp_master_repeat|gna_interval|higher_prio_send_advert|instance|ipsets|iptables|lower_prio_no_advert|mcast_group4|mcast_group6|min_garp|netlink_cmd_rcv_bufs|netlink_cmd_rcv_bufs_force|netlink_monitor_rcv_bufs|netlink_monitor_rcv_bufs_force|no_swap|notify_fifo|notify_fifo_script|notify_priority_changes|priority|process_name|rlimit_rttime|rt_priority|rx_bufs_multiplier|rx_bufs_policy|script|skip_check_adv_addr|startup_delay|strict|sync_group|track_process|version)|warmup|weight)\b/,constant:/\b(?:A|AAAA|AH|BACKUP|CNAME|DR|MASTER|MX|NAT|NS|PASS|SCTP|SOA|TCP|TUN|TXT|UDP|dh|fo|lblc|lblcr|lc|mh|nq|ovf|rr|sed|sh|wlc|wrr)\b/,number:{pattern:/(^|[^\w.-])-?\d+(?:\.\d+)?/,lookbehind:!0},boolean:/\b(?:false|no|off|on|true|yes)\b/,punctuation:/[\{\}]/}}e.exports=t,t.displayName="keepalived",t.aliases=[]},8714:function(e){"use strict";function t(e){e.languages.keyman={comment:{pattern:/\bc .*/i,greedy:!0},string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,greedy:!0},"virtual-key":{pattern:/\[\s*(?:(?:ALT|CAPS|CTRL|LALT|LCTRL|NCAPS|RALT|RCTRL|SHIFT)\s+)*(?:[TKU]_[\w?]+|[A-E]\d\d?|"[^"\r\n]*"|'[^'\r\n]*')\s*\]/i,greedy:!0,alias:"function"},"header-keyword":{pattern:/&\w+/,alias:"bold"},"header-statement":{pattern:/\b(?:bitmap|bitmaps|caps always off|caps on only|copyright|hotkey|language|layout|message|name|shift frees caps|version)\b/i,alias:"bold"},"rule-keyword":{pattern:/\b(?:any|baselayout|beep|call|context|deadkey|dk|if|index|layer|notany|nul|outs|platform|reset|return|save|set|store|use)\b/i,alias:"keyword"},"structural-keyword":{pattern:/\b(?:ansi|begin|group|match|nomatch|unicode|using keys)\b/i,alias:"keyword"},"compile-target":{pattern:/\$(?:keyman|keymanonly|keymanweb|kmfl|weaver):/i,alias:"property"},number:/\b(?:U\+[\dA-F]+|d\d+|x[\da-f]+|\d+)\b/i,operator:/[+>\\$]|\.\./,punctuation:/[()=,]/}}e.exports=t,t.displayName="keyman",t.aliases=[]},8471:function(e){"use strict";function t(e){!function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(e)}e.exports=t,t.displayName="kotlin",t.aliases=["kt","kts"]},2286:function(e){"use strict";function t(e){!function(e){var t=/\s\x00-\x1f\x22-\x2f\x3a-\x3f\x5b-\x5e\x60\x7b-\x7e/.source;function n(e,n){return RegExp(e.replace(/<nonId>/g,t),n)}e.languages.kumir={comment:{pattern:/\|.*/},prolog:{pattern:/#.*/,greedy:!0},string:{pattern:/"[^\n\r"]*"|'[^\n\r']*'/,greedy:!0},boolean:{pattern:n(/(^|[<nonId>])(?:\u0434\u0430|\u043d\u0435\u0442)(?=[<nonId>]|$)/.source),lookbehind:!0},"operator-word":{pattern:n(/(^|[<nonId>])(?:\u0438|\u0438\u043b\u0438|\u043d\u0435)(?=[<nonId>]|$)/.source),lookbehind:!0,alias:"keyword"},"system-variable":{pattern:n(/(^|[<nonId>])\u0437\u043d\u0430\u0447(?=[<nonId>]|$)/.source),lookbehind:!0,alias:"keyword"},type:[{pattern:n(/(^|[<nonId>])(?:\u0432\u0435\u0449|\u043b\u0438\u0442|\u043b\u043e\u0433|\u0441\u0438\u043c|\u0446\u0435\u043b)(?:\x20*\u0442\u0430\u0431)?(?=[<nonId>]|$)/.source),lookbehind:!0,alias:"builtin"},{pattern:n(/(^|[<nonId>])(?:\u043a\u043e\u043c\u043f\u043b|\u0441\u043a\u0430\u043d\u043a\u043e\u0434|\u0444\u0430\u0439\u043b|\u0446\u0432\u0435\u0442)(?=[<nonId>]|$)/.source),lookbehind:!0,alias:"important"}],keyword:{pattern:n(/(^|[<nonId>])(?:\u0430\u043b\u0433|\u0430\u0440\u0433(?:\x20*\u0440\u0435\u0437)?|\u0432\u0432\u043e\u0434|\u0412\u041a\u041b\u042e\u0427\u0418\u0422\u042c|\u0432\u0441[\u0435\u0451]|\u0432\u044b\u0431\u043e\u0440|\u0432\u044b\u0432\u043e\u0434|\u0432\u044b\u0445\u043e\u0434|\u0434\u0430\u043d\u043e|\u0434\u043b\u044f|\u0434\u043e|\u0434\u0441|\u0435\u0441\u043b\u0438|\u0438\u043d\u0430\u0447\u0435|\u0438\u0441\u043f|\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c|\u043a\u043e\u043d(?:(?:\x20+|_)\u0438\u0441\u043f)?|\u043a\u0446(?:(?:\x20+|_)\u043f\u0440\u0438)?|\u043d\u0430\u0434\u043e|\u043d\u0430\u0447|\u043d\u0441|\u043d\u0446|\u043e\u0442|\u043f\u0430\u0443\u0437\u0430|\u043f\u043e\u043a\u0430|\u043f\u0440\u0438|\u0440\u0430\u0437\u0430?|\u0440\u0435\u0437|\u0441\u0442\u043e\u043f|\u0442\u0430\u0431|\u0442\u043e|\u0443\u0442\u0432|\u0448\u0430\u0433)(?=[<nonId>]|$)/.source),lookbehind:!0},name:{pattern:n(/(^|[<nonId>])[^\d<nonId>][^<nonId>]*(?:\x20+[^<nonId>]+)*(?=[<nonId>]|$)/.source),lookbehind:!0},number:{pattern:n(/(^|[<nonId>])(?:\B\$[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)(?=[<nonId>]|$)/.source,"i"),lookbehind:!0},punctuation:/:=|[(),:;\[\]]/,"operator-char":{pattern:/\*\*?|<[=>]?|>=?|[-+/=]/,alias:"operator"}},e.languages.kum=e.languages.kumir}(e)}e.exports=t,t.displayName="kumir",t.aliases=["kum"]},6513:function(e){"use strict";function t(e){e.languages.kusto={comment:{pattern:/\/\/.*/,greedy:!0},string:{pattern:/```[\s\S]*?```|[hH]?(?:"(?:[^\r\n\\"]|\\.)*"|'(?:[^\r\n\\']|\\.)*'|@(?:"[^\r\n"]*"|'[^\r\n']*'))/,greedy:!0},verb:{pattern:/(\|\s*)[a-z][\w-]*/i,lookbehind:!0,alias:"keyword"},command:{pattern:/\.[a-z][a-z\d-]*\b/,alias:"keyword"},"class-name":/\b(?:bool|datetime|decimal|dynamic|guid|int|long|real|string|timespan)\b/,keyword:/\b(?:access|alias|and|anti|as|asc|auto|between|by|(?:contains|(?:ends|starts)with|has(?:perfix|suffix)?)(?:_cs)?|database|declare|desc|external|from|fullouter|has_all|in|ingestion|inline|inner|innerunique|into|(?:left|right)(?:anti(?:semi)?|inner|outer|semi)?|let|like|local|not|of|on|or|pattern|print|query_parameters|range|restrict|schema|set|step|table|tables|to|view|where|with|matches\s+regex|nulls\s+(?:first|last))(?![\w-])/,boolean:/\b(?:false|null|true)\b/,function:/\b[a-z_]\w*(?=\s*\()/,datetime:[{pattern:/\b(?:(?:Fri|Friday|Mon|Monday|Sat|Saturday|Sun|Sunday|Thu|Thursday|Tue|Tuesday|Wed|Wednesday)\s*,\s*)?\d{1,2}(?:\s+|-)(?:Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)(?:\s+|-)\d{2}\s+\d{2}:\d{2}(?::\d{2})?(?:\s*(?:\b(?:[A-Z]|(?:[ECMT][DS]|GM|U)T)|[+-]\d{4}))?\b/,alias:"number"},{pattern:/[+-]?\b(?:\d{4}-\d{2}-\d{2}(?:[ T]\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?)?|\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?)Z?/,alias:"number"}],number:/\b(?:0x[0-9A-Fa-f]+|\d+(?:\.\d+)?(?:[Ee][+-]?\d+)?)(?:(?:min|sec|[mn\xb5]s|[dhms]|microsecond|tick)\b)?|[+-]?\binf\b/,operator:/=>|[!=]~|[!=<>]=?|[-+*/%|]|\.\./,punctuation:/[()\[\]{},;.:]/}}e.exports=t,t.displayName="kusto",t.aliases=[]},5999:function(e){"use strict";function t(e){!function(e){var t=/\\(?:[^a-z()[\]]|[a-z*]+)/i,n={"equation-command":{pattern:t,alias:"regex"}};e.languages.latex={comment:/%.*/,cdata:{pattern:/(\\begin\{((?:lstlisting|verbatim)\*?)\})[\s\S]*?(?=\\end\{\2\})/,lookbehind:!0},equation:[{pattern:/\$\$(?:\\[\s\S]|[^\\$])+\$\$|\$(?:\\[\s\S]|[^\\$])+\$|\\\([\s\S]*?\\\)|\\\[[\s\S]*?\\\]/,inside:n,alias:"string"},{pattern:/(\\begin\{((?:align|eqnarray|equation|gather|math|multline)\*?)\})[\s\S]*?(?=\\end\{\2\})/,lookbehind:!0,inside:n,alias:"string"}],keyword:{pattern:/(\\(?:begin|cite|documentclass|end|label|ref|usepackage)(?:\[[^\]]+\])?\{)[^}]+(?=\})/,lookbehind:!0},url:{pattern:/(\\url\{)[^}]+(?=\})/,lookbehind:!0},headline:{pattern:/(\\(?:chapter|frametitle|paragraph|part|section|subparagraph|subsection|subsubparagraph|subsubsection|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{)[^}]+(?=\})/,lookbehind:!0,alias:"class-name"},function:{pattern:t,alias:"selector"},punctuation:/[[\]{}&]/},e.languages.tex=e.languages.latex,e.languages.context=e.languages.latex}(e)}e.exports=t,t.displayName="latex",t.aliases=["tex","context"]},9405:function(e,t,n){"use strict";var r=n(595),a=n(7304);function i(e){e.register(r),e.register(a),function(e){e.languages.latte={comment:/^\{\*[\s\S]*/,"latte-tag":{pattern:/(^\{(?:\/(?=[a-z]))?)(?:[=_]|[a-z]\w*\b(?!\())/i,lookbehind:!0,alias:"important"},delimiter:{pattern:/^\{\/?|\}$/,alias:"punctuation"},php:{pattern:/\S(?:[\s\S]*\S)?/,alias:"language-php",inside:e.languages.php}};var t=e.languages.extend("markup",{});e.languages.insertBefore("inside","attr-value",{"n-attr":{pattern:/n:[\w-]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+))?/,inside:{"attr-name":{pattern:/^[^\s=]+/,alias:"important"},"attr-value":{pattern:/=[\s\S]+/,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}],php:{pattern:/\S(?:[\s\S]*\S)?/,inside:e.languages.php}}}}}},t.tag),e.hooks.add("before-tokenize",(function(n){if("latte"===n.language){e.languages["markup-templating"].buildPlaceholders(n,"latte",/\{\*[\s\S]*?\*\}|\{[^'"\s{}*](?:[^"'/{}]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|\/\*(?:[^*]|\*(?!\/))*\*\/)*\}/g),n.grammar=t}})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"latte")}))}(e)}e.exports=i,i.displayName="latte",i.aliases=[]},9135:function(e){"use strict";function t(e){e.languages.less=e.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),e.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}})}e.exports=t,t.displayName="less",t.aliases=[]},382:function(e,t,n){"use strict";var r=n(2284);function a(e){e.register(r),function(e){for(var t=/\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|<expr>)*\)/.source,n=0;n<5;n++)t=t.replace(/<expr>/g,(function(){return t}));t=t.replace(/<expr>/g,/[^\s\S]/.source);var r=e.languages.lilypond={comment:/%(?:(?!\{).*|\{[\s\S]*?%\})/,"embedded-scheme":{pattern:RegExp(/(^|[=\s])#(?:"(?:[^"\\]|\\.)*"|[^\s()"]*(?:[^\s()]|<expr>))/.source.replace(/<expr>/g,(function(){return t})),"m"),lookbehind:!0,greedy:!0,inside:{scheme:{pattern:/^(#)[\s\S]+$/,lookbehind:!0,alias:"language-scheme",inside:{"embedded-lilypond":{pattern:/#\{[\s\S]*?#\}/,greedy:!0,inside:{punctuation:/^#\{|#\}$/,lilypond:{pattern:/[\s\S]+/,alias:"language-lilypond",inside:null}}},rest:e.languages.scheme}},punctuation:/#/}},string:{pattern:/"(?:[^"\\]|\\.)*"/,greedy:!0},"class-name":{pattern:/(\\new\s+)[\w-]+/,lookbehind:!0},keyword:{pattern:/\\[a-z][-\w]*/i,inside:{punctuation:/^\\/}},operator:/[=|]|<<|>>/,punctuation:{pattern:/(^|[a-z\d])(?:'+|,+|[_^]?-[_^]?(?:[-+^!>._]|(?=\d))|[_^]\.?|[.!])|[{}()[\]<>^~]|\\[()[\]<>\\!]|--|__/,lookbehind:!0},number:/\b\d+(?:\/\d+)?\b/};r["embedded-scheme"].inside.scheme.inside["embedded-lilypond"].inside.lilypond.inside=r,e.languages.ly=r}(e)}e.exports=a,a.displayName="lilypond",a.aliases=[]},1146:function(e,t,n){"use strict";var r=n(595);function a(e){e.register(r),e.languages.liquid={comment:{pattern:/(^\{%\s*comment\s*%\})[\s\S]+(?=\{%\s*endcomment\s*%\}$)/,lookbehind:!0},delimiter:{pattern:/^\{(?:\{\{|[%\{])-?|-?(?:\}\}|[%\}])\}$/,alias:"punctuation"},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},keyword:/\b(?:as|assign|break|(?:end)?(?:capture|case|comment|for|form|if|paginate|raw|style|tablerow|unless)|continue|cycle|decrement|echo|else|elsif|in|include|increment|limit|liquid|offset|range|render|reversed|section|when|with)\b/,object:/\b(?:address|all_country_option_tags|article|block|blog|cart|checkout|collection|color|country|country_option_tags|currency|current_page|current_tags|customer|customer_address|date|discount_allocation|discount_application|external_video|filter|filter_value|font|forloop|fulfillment|generic_file|gift_card|group|handle|image|line_item|link|linklist|localization|location|measurement|media|metafield|model|model_source|order|page|page_description|page_image|page_title|part|policy|product|product_option|recommendations|request|robots|routes|rule|script|search|selling_plan|selling_plan_allocation|selling_plan_group|shipping_method|shop|shop_locale|sitemap|store_availability|tax_line|template|theme|transaction|unit_price_measurement|user_agent|variant|video|video_source)\b/,function:[{pattern:/(\|\s*)\w+/,lookbehind:!0,alias:"filter"},{pattern:/(\.\s*)(?:first|last|size)/,lookbehind:!0}],boolean:/\b(?:false|nil|true)\b/,range:{pattern:/\.\./,alias:"operator"},number:/\b\d+(?:\.\d+)?\b/,operator:/[!=]=|<>|[<>]=?|[|?:=-]|\b(?:and|contains(?=\s)|or)\b/,punctuation:/[.,\[\]()]/,empty:{pattern:/\bempty\b/,alias:"keyword"}},e.hooks.add("before-tokenize",(function(t){var n=!1;e.languages["markup-templating"].buildPlaceholders(t,"liquid",/\{%\s*comment\s*%\}[\s\S]*?\{%\s*endcomment\s*%\}|\{(?:%[\s\S]*?%|\{\{[\s\S]*?\}\}|\{[\s\S]*?\})\}/g,(function(e){var t=/^\{%-?\s*(\w+)/.exec(e);if(t){var r=t[1];if("raw"===r&&!n)return n=!0,!0;if("endraw"===r)return n=!1,!0}return!n}))})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"liquid")}))}e.exports=a,a.displayName="liquid",a.aliases=[]},3807:function(e){"use strict";function t(e){!function(e){function t(e){return RegExp(/(\()/.source+"(?:"+e+")"+/(?=[\s\)])/.source)}function n(e){return RegExp(/([\s([])/.source+"(?:"+e+")"+/(?=[\s)])/.source)}var r=/(?!\d)[-+*/~!@$%^=<>{}\w]+/.source,a="&"+r,i="(\\()",o=/(?:[^()]|\((?:[^()]|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\))*\))*/.source,s={heading:{pattern:/;;;.*/,alias:["comment","title"]},comment:/;.*/,string:{pattern:/"(?:[^"\\]|\\.)*"/,greedy:!0,inside:{argument:/[-A-Z]+(?=[.,\s])/,symbol:RegExp("`"+r+"'")}},"quoted-symbol":{pattern:RegExp("#?'"+r),alias:["variable","symbol"]},"lisp-property":{pattern:RegExp(":"+r),alias:"property"},splice:{pattern:RegExp(",@?"+r),alias:["symbol","variable"]},keyword:[{pattern:RegExp("(\\()(?:and|(?:cl-)?letf|cl-loop|cond|cons|error|if|(?:lexical-)?let\\*?|message|not|null|or|provide|require|setq|unless|use-package|when|while)(?=\\s)"),lookbehind:!0},{pattern:RegExp("(\\()(?:append|by|collect|concat|do|finally|for|in|return)(?=\\s)"),lookbehind:!0}],declare:{pattern:t(/declare/.source),lookbehind:!0,alias:"keyword"},interactive:{pattern:t(/interactive/.source),lookbehind:!0,alias:"keyword"},boolean:{pattern:n(/nil|t/.source),lookbehind:!0},number:{pattern:n(/[-+]?\d+(?:\.\d*)?/.source),lookbehind:!0},defvar:{pattern:RegExp("(\\()def(?:const|custom|group|var)\\s+"+r),lookbehind:!0,inside:{keyword:/^def[a-z]+/,variable:RegExp(r)}},defun:{pattern:RegExp(i+/(?:cl-)?(?:defmacro|defun\*?)\s+/.source+r+/\s+\(/.source+o+/\)/.source),lookbehind:!0,greedy:!0,inside:{keyword:/^(?:cl-)?def\S+/,arguments:null,function:{pattern:RegExp("(^\\s)"+r),lookbehind:!0},punctuation:/[()]/}},lambda:{pattern:RegExp("(\\()lambda\\s+\\(\\s*(?:&?"+r+"(?:\\s+&?"+r+")*\\s*)?\\)"),lookbehind:!0,greedy:!0,inside:{keyword:/^lambda/,arguments:null,punctuation:/[()]/}},car:{pattern:RegExp(i+r),lookbehind:!0},punctuation:[/(?:['`,]?\(|[)\[\]])/,{pattern:/(\s)\.(?=\s)/,lookbehind:!0}]},l={"lisp-marker":RegExp(a),varform:{pattern:RegExp(/\(/.source+r+/\s+(?=\S)/.source+o+/\)/.source),inside:s},argument:{pattern:RegExp(/(^|[\s(])/.source+r),lookbehind:!0,alias:"variable"},rest:s},c="\\S+(?:\\s+\\S+)*",u={pattern:RegExp(i+o+"(?=\\))"),lookbehind:!0,inside:{"rest-vars":{pattern:RegExp("&(?:body|rest)\\s+"+c),inside:l},"other-marker-vars":{pattern:RegExp("&(?:aux|optional)\\s+"+c),inside:l},keys:{pattern:RegExp("&key\\s+"+c+"(?:\\s+&allow-other-keys)?"),inside:l},argument:{pattern:RegExp(r),alias:"variable"},punctuation:/[()]/}};s.lambda.inside.arguments=u,s.defun.inside.arguments=e.util.clone(u),s.defun.inside.arguments.inside.sublist=u,e.languages.lisp=s,e.languages.elisp=s,e.languages.emacs=s,e.languages["emacs-lisp"]=s}(e)}e.exports=t,t.displayName="lisp",t.aliases=[]},3062:function(e){"use strict";function t(e){e.languages.livescript={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\])#.*/,lookbehind:!0}],"interpolated-string":{pattern:/(^|[^"])("""|")(?:\\[\s\S]|(?!\2)[^\\])*\2(?!")/,lookbehind:!0,greedy:!0,inside:{variable:{pattern:/(^|[^\\])#[a-z_](?:-?[a-z]|[\d_])*/m,lookbehind:!0},interpolation:{pattern:/(^|[^\\])#\{[^}]+\}/m,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^#\{|\}$/,alias:"variable"}}},string:/[\s\S]+/}},string:[{pattern:/('''|')(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0},{pattern:/<\[[\s\S]*?\]>/,greedy:!0},/\\[^\s,;\])}]+/],regex:[{pattern:/\/\/(?:\[[^\r\n\]]*\]|\\.|(?!\/\/)[^\\\[])+\/\/[gimyu]{0,5}/,greedy:!0,inside:{comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0}}},{pattern:/\/(?:\[[^\r\n\]]*\]|\\.|[^/\\\r\n\[])+\/[gimyu]{0,5}/,greedy:!0}],keyword:{pattern:/(^|(?!-).)\b(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)\b/m,lookbehind:!0},"keyword-operator":{pattern:/(^|[^-])\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?: not|nt)?|not|of|or|til|to|typeof|with|xor)(?!-)\b)/m,lookbehind:!0,alias:"operator"},boolean:{pattern:/(^|[^-])\b(?:false|no|off|on|true|yes)(?!-)\b/m,lookbehind:!0},argument:{pattern:/(^|(?!\.&\.)[^&])&(?!&)\d*/m,lookbehind:!0,alias:"variable"},number:/\b(?:\d+~[\da-z]+|\d[\d_]*(?:\.\d[\d_]*)?(?:[a-z]\w*)?)/i,identifier:/[a-z_](?:-?[a-z]|[\d_])*/i,operator:[{pattern:/( )\.(?= )/,lookbehind:!0},/\.(?:[=~]|\.\.?)|\.(?:[&|^]|<<|>>>?)\.|:(?:=|:=?)|&&|\|[|>]|<(?:<<?<?|--?!?|~~?!?|[|=?])?|>[>=?]?|-(?:->?|>)?|\+\+?|@@?|%%?|\*\*?|!(?:~?=|--?>|~?~>)?|~(?:~?>|=)?|==?|\^\^?|[\/?]/],punctuation:/[(){}\[\]|.,:;`]/},e.languages.livescript["interpolated-string"].inside.interpolation.inside.rest=e.languages.livescript}e.exports=t,t.displayName="livescript",t.aliases=[]},5467:function(e){"use strict";function t(e){!function(e){e.languages.llvm={comment:/;.*/,string:{pattern:/"[^"]*"/,greedy:!0},boolean:/\b(?:false|true)\b/,variable:/[%@!#](?:(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+|\d+)/i,label:/(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+:/i,type:{pattern:/\b(?:double|float|fp128|half|i[1-9]\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)\b/,alias:"class-name"},keyword:/\b[a-z_][a-z_0-9]*\b/,number:/[+-]?\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b|\b0x[\dA-Fa-f]+\b|\b0xK[\dA-Fa-f]{20}\b|\b0x[ML][\dA-Fa-f]{32}\b|\b0xH[\dA-Fa-f]{4}\b/,punctuation:/[{}[\];(),.!*=<>]/}}(e)}e.exports=t,t.displayName="llvm",t.aliases=[]},2112:function(e){"use strict";function t(e){e.languages.log={string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?![st] | \w)(?:[^'\\\r\n]|\\.)*'/,greedy:!0},exception:{pattern:/(^|[^\w.])[a-z][\w.]*(?:Error|Exception):.*(?:(?:\r\n?|\n)[ \t]*(?:at[ \t].+|\.{3}.*|Caused by:.*))+(?:(?:\r\n?|\n)[ \t]*\.\.\. .*)?/,lookbehind:!0,greedy:!0,alias:["javastacktrace","language-javastacktrace"],inside:e.languages.javastacktrace||{keyword:/\bat\b/,function:/[a-z_][\w$]*(?=\()/,punctuation:/[.:()]/}},level:[{pattern:/\b(?:ALERT|CRIT|CRITICAL|EMERG|EMERGENCY|ERR|ERROR|FAILURE|FATAL|SEVERE)\b/,alias:["error","important"]},{pattern:/\b(?:WARN|WARNING|WRN)\b/,alias:["warning","important"]},{pattern:/\b(?:DISPLAY|INF|INFO|NOTICE|STATUS)\b/,alias:["info","keyword"]},{pattern:/\b(?:DBG|DEBUG|FINE)\b/,alias:["debug","keyword"]},{pattern:/\b(?:FINER|FINEST|TRACE|TRC|VERBOSE|VRB)\b/,alias:["trace","comment"]}],property:{pattern:/((?:^|[\]|])[ \t]*)[a-z_](?:[\w-]|\b\/\b)*(?:[. ]\(?\w(?:[\w-]|\b\/\b)*\)?)*:(?=\s)/im,lookbehind:!0},separator:{pattern:/(^|[^-+])-{3,}|={3,}|\*{3,}|- - /m,lookbehind:!0,alias:"comment"},url:/\b(?:file|ftp|https?):\/\/[^\s|,;'"]*[^\s|,;'">.]/,email:{pattern:/(^|\s)[-\w+.]+@[a-z][a-z0-9-]*(?:\.[a-z][a-z0-9-]*)+(?=\s)/,lookbehind:!0,alias:"url"},"ip-address":{pattern:/\b(?:\d{1,3}(?:\.\d{1,3}){3})\b/,alias:"constant"},"mac-address":{pattern:/\b[a-f0-9]{2}(?::[a-f0-9]{2}){5}\b/i,alias:"constant"},domain:{pattern:/(^|\s)[a-z][a-z0-9-]*(?:\.[a-z][a-z0-9-]*)*\.[a-z][a-z0-9-]+(?=\s)/,lookbehind:!0,alias:"constant"},uuid:{pattern:/\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/i,alias:"constant"},hash:{pattern:/\b(?:[a-f0-9]{32}){1,2}\b/i,alias:"constant"},"file-path":{pattern:/\b[a-z]:[\\/][^\s|,;:(){}\[\]"']+|(^|[\s:\[\](>|])\.{0,2}\/\w[^\s|,;:(){}\[\]"']*/i,lookbehind:!0,greedy:!0,alias:"string"},date:{pattern:RegExp(/\b\d{4}[-/]\d{2}[-/]\d{2}(?:T(?=\d{1,2}:)|(?=\s\d{1,2}:))/.source+"|"+/\b\d{1,4}[-/ ](?:\d{1,2}|Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)[-/ ]\d{2,4}T?\b/.source+"|"+/\b(?:(?:Fri|Mon|Sat|Sun|Thu|Tue|Wed)(?:\s{1,2}(?:Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep))?|Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)\s{1,2}\d{1,2}\b/.source,"i"),alias:"number"},time:{pattern:/\b\d{1,2}:\d{1,2}:\d{1,2}(?:[.,:]\d+)?(?:\s?[+-]\d{2}:?\d{2}|Z)?\b/,alias:"number"},boolean:/\b(?:false|null|true)\b/i,number:{pattern:/(^|[^.\w])(?:0x[a-f0-9]+|0o[0-7]+|0b[01]+|v?\d[\da-f]*(?:\.\d+)*(?:e[+-]?\d+)?[a-z]{0,3}\b)\b(?!\.\w)/i,lookbehind:!0},operator:/[;:?<=>~/@!$%&+\-|^(){}*#]/,punctuation:/[\[\].,]/}}e.exports=t,t.displayName="log",t.aliases=[]},1343:function(e){"use strict";function t(e){e.languages.lolcode={comment:[/\bOBTW\s[\s\S]*?\sTLDR\b/,/\bBTW.+/],string:{pattern:/"(?::.|[^":])*"/,inside:{variable:/:\{[^}]+\}/,symbol:[/:\([a-f\d]+\)/i,/:\[[^\]]+\]/,/:[)>o":]/]},greedy:!0},number:/(?:\B-)?(?:\b\d+(?:\.\d*)?|\B\.\d+)/,symbol:{pattern:/(^|\s)(?:A )?(?:BUKKIT|NOOB|NUMBAR|NUMBR|TROOF|YARN)(?=\s|,|$)/,lookbehind:!0,inside:{keyword:/A(?=\s)/}},label:{pattern:/((?:^|\s)(?:IM IN YR|IM OUTTA YR) )[a-zA-Z]\w*/,lookbehind:!0,alias:"string"},function:{pattern:/((?:^|\s)(?:HOW IZ I|I IZ|IZ) )[a-zA-Z]\w*/,lookbehind:!0},keyword:[{pattern:/(^|\s)(?:AN|FOUND YR|GIMMEH|GTFO|HAI|HAS A|HOW IZ I|I HAS A|I IZ|IF U SAY SO|IM IN YR|IM OUTTA YR|IS NOW(?: A)?|ITZ(?: A)?|IZ|KTHX|KTHXBYE|LIEK(?: A)?|MAEK|MEBBE|MKAY|NERFIN|NO WAI|O HAI IM|O RLY\?|OIC|OMG|OMGWTF|R|SMOOSH|SRS|TIL|UPPIN|VISIBLE|WILE|WTF\?|YA RLY|YR)(?=\s|,|$)/,lookbehind:!0},/'Z(?=\s|,|$)/],boolean:{pattern:/(^|\s)(?:FAIL|WIN)(?=\s|,|$)/,lookbehind:!0},variable:{pattern:/(^|\s)IT(?=\s|,|$)/,lookbehind:!0},operator:{pattern:/(^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:ALL|ANY|BIGGR|BOTH|DIFF|EITHER|MOD|PRODUKT|QUOSHUNT|SMALLR|SUM|WON) OF)(?=\s|,|$)/,lookbehind:!0},punctuation:/\.{3}|\u2026|,|!/}}e.exports=t,t.displayName="lolcode",t.aliases=[]},6759:function(e){"use strict";function t(e){e.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[^z]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:!0},number:/\b0x[a-f\d]+(?:\.[a-f\d]*)?(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|(?:\.\d*)?(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,function:/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/}}e.exports=t,t.displayName="lua",t.aliases=[]},9987:function(e){"use strict";function t(e){e.languages.magma={output:{pattern:/^(>.*(?:\r(?:\n|(?!\n))|\n))(?!>)(?:.+|(?:\r(?:\n|(?!\n))|\n)(?!>).*)(?:(?:\r(?:\n|(?!\n))|\n)(?!>).*)*/m,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/(^|[^\\"])"(?:[^\r\n\\"]|\\.)*"/,lookbehind:!0,greedy:!0},keyword:/\b(?:_|adj|and|assert|assert2|assert3|assigned|break|by|case|cat|catch|clear|cmpeq|cmpne|continue|declare|default|delete|diff|div|do|elif|else|end|eq|error|eval|exists|exit|for|forall|forward|fprintf|freeze|function|ge|gt|if|iload|import|in|intrinsic|is|join|le|load|local|lt|meet|mod|ne|not|notadj|notin|notsubset|or|print|printf|procedure|quit|random|read|readi|repeat|require|requirege|requirerange|restore|return|save|sdiff|select|subset|then|time|to|try|until|vprint|vprintf|vtime|when|where|while|xor)\b/,boolean:/\b(?:false|true)\b/,generator:{pattern:/\b[a-z_]\w*(?=\s*<)/i,alias:"class-name"},function:/\b[a-z_]\w*(?=\s*\()/i,number:{pattern:/(^|[^\w.]|\.\.)(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?(?:_[a-z]?)?(?=$|[^\w.]|\.\.)/,lookbehind:!0},operator:/->|[-+*/^~!|#=]|:=|\.\./,punctuation:/[()[\]{}<>,;.:]/}}e.exports=t,t.displayName="magma",t.aliases=[]},7589:function(e){"use strict";function t(e){e.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/}}e.exports=t,t.displayName="makefile",t.aliases=[]},7932:function(e){"use strict";function t(e){!function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),i=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+i+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+i+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+i+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!==typeof t)for(var n=0,r=t.length;n<r;n++){var a=t[n];if("code"===a.type){var i=a.content[1],o=a.content[3];if(i&&o&&"code-language"===i.type&&"code-block"===o.type&&"string"===typeof i.content){var s=i.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),l="language-"+(s=(/[a-z][\w-]*/i.exec(s)||[""])[0].toLowerCase());o.alias?"string"===typeof o.alias?o.alias=[o.alias,l]:o.alias.push(l):o.alias=[l]}}else e(a.content)}}(e.tokens)})),e.hooks.add("wrap",(function(t){if("code-block"===t.type){for(var n="",r=0,a=t.classes.length;r<a;r++){var i=t.classes[r],c=/language-(.+)/.exec(i);if(c){n=c[1];break}}var u=e.languages[n];if(u)t.content=e.highlight(function(e){var t=e.replace(o,"");return t=t.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(e,t){var n;if("#"===(t=t.toLowerCase())[0])return n="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),l(n);var r=s[t];return r||e}))}(t.content.value),u,n);else if(n&&"none"!==n&&e.plugins.autoloader){var d="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random());t.attributes.id=d,e.plugins.autoloader.loadLanguages(n,(function(){var t=document.getElementById(d);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))}))}}}));var o=RegExp(e.languages.markup.tag.pattern.source,"gi"),s={amp:"&",lt:"<",gt:">",quot:'"'},l=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(e)}e.exports=t,t.displayName="markdown",t.aliases=["md"]},595:function(e){"use strict";function t(e){!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,i){if(n.language===r){var o=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"===typeof i&&!i(e))return e;for(var a,s=o.length;-1!==n.code.indexOf(a=t(r,s));)++s;return o[s]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,i=Object.keys(n.tokenStack);!function o(s){for(var l=0;l<s.length&&!(a>=i.length);l++){var c=s[l];if("string"===typeof c||c.content&&"string"===typeof c.content){var u=i[a],d=n.tokenStack[u],p="string"===typeof c?c:c.content,m=t(r,u),f=p.indexOf(m);if(f>-1){++a;var g=p.substring(0,f),h=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=p.substring(f+m.length),E=[];g&&E.push.apply(E,o([g])),E.push(h),b&&E.push.apply(E,o([b])),"string"===typeof c?s.splice.apply(s,[l,1].concat(E)):c.content=E}}else c.content&&o(c.content)}return s}(n.tokens)}}}})}(e)}e.exports=t,t.displayName="markupTemplating",t.aliases=[]},2357:function(e){"use strict";function t(e){e.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},e.languages.markup.tag.inside["attr-value"].inside.entity=e.languages.markup.entity,e.languages.markup.doctype.inside["internal-subset"].inside=e.languages.markup,e.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.value.replace(/&/,"&"))})),Object.defineProperty(e.languages.markup.tag,"addInlined",{value:function(t,n){var r={};r["language-"+n]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:e.languages[n]},r.cdata=/^<!\[CDATA\[|\]\]>$/i;var a={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:r}};a["language-"+n]={pattern:/[\s\S]+/,inside:e.languages[n]};var i={};i[t]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return t})),"i"),lookbehind:!0,greedy:!0,inside:a},e.languages.insertBefore("markup","cdata",i)}}),Object.defineProperty(e.languages.markup.tag,"addAttribute",{value:function(t,n){e.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+t+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[n,"language-"+n],inside:e.languages[n]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),e.languages.html=e.languages.markup,e.languages.mathml=e.languages.markup,e.languages.svg=e.languages.markup,e.languages.xml=e.languages.extend("markup",{}),e.languages.ssml=e.languages.xml,e.languages.atom=e.languages.xml,e.languages.rss=e.languages.xml}e.exports=t,t.displayName="markup",t.aliases=["html","mathml","svg","xml","ssml","atom","rss"]},93:function(e){"use strict";function t(e){e.languages.matlab={comment:[/%\{[\s\S]*?\}%/,/%.+/],string:{pattern:/\B'(?:''|[^'\r\n])*'/,greedy:!0},number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[eE][+-]?\d+)?(?:[ij])?|\b[ij]\b/,keyword:/\b(?:NaN|break|case|catch|continue|else|elseif|end|for|function|if|inf|otherwise|parfor|pause|pi|return|switch|try|while)\b/,function:/\b(?!\d)\w+(?=\s*\()/,operator:/\.?[*^\/\\']|[+\-:@]|[<>=~]=?|&&?|\|\|?/,punctuation:/\.{3}|[.,;\[\](){}!]/}}e.exports=t,t.displayName="matlab",t.aliases=[]},4234:function(e){"use strict";function t(e){!function(e){var t=/\b(?:about|and|animate|as|at|attributes|by|case|catch|collect|continue|coordsys|do|else|exit|fn|for|from|function|global|if|in|local|macroscript|mapped|max|not|of|off|on|or|parameters|persistent|plugin|rcmenu|return|rollout|set|struct|then|throw|to|tool|try|undo|utility|when|where|while|with)\b/i;e.languages.maxscript={comment:{pattern:/\/\*[\s\S]*?(?:\*\/|$)|--.*/,greedy:!0},string:{pattern:/(^|[^"\\@])(?:"(?:[^"\\]|\\[\s\S])*"|@"[^"]*")/,lookbehind:!0,greedy:!0},path:{pattern:/\$(?:[\w/\\.*?]|'[^']*')*/,greedy:!0,alias:"string"},"function-call":{pattern:RegExp("((?:"+/^/.source+"|"+/[;=<>+\-*/^({\[]/.source+"|"+/\b(?:and|by|case|catch|collect|do|else|if|in|not|or|return|then|to|try|where|while|with)\b/.source+")[ \t]*)(?!"+t.source+")"+/[a-z_]\w*\b/.source+"(?=[ \t]*(?:(?!"+t.source+")"+/[a-z_]/.source+"|"+/\d|-\.?\d/.source+"|"+/[({'"$@#?]/.source+"))","im"),lookbehind:!0,greedy:!0,alias:"function"},"function-definition":{pattern:/(\b(?:fn|function)\s+)\w+\b/i,lookbehind:!0,alias:"function"},argument:{pattern:/\b[a-z_]\w*(?=:)/i,alias:"attr-name"},keyword:t,boolean:/\b(?:false|true)\b/,time:{pattern:/(^|[^\w.])(?:(?:(?:\d+(?:\.\d*)?|\.\d+)(?:[eEdD][+-]\d+|[LP])?[msft])+|\d+:\d+(?:\.\d*)?)(?![\w.:])/,lookbehind:!0,alias:"number"},number:[{pattern:/(^|[^\w.])(?:(?:\d+(?:\.\d*)?|\.\d+)(?:[eEdD][+-]\d+|[LP])?|0x[a-fA-F0-9]+)(?![\w.:])/,lookbehind:!0},/\b(?:e|pi)\b/],constant:/\b(?:dontcollect|ok|silentValue|undefined|unsupplied)\b/,color:{pattern:/\b(?:black|blue|brown|gray|green|orange|red|white|yellow)\b/i,alias:"constant"},operator:/[-+*/<>=!]=?|[&^?]|#(?!\()/,punctuation:/[()\[\]{}.:,;]|#(?=\()|\\$/m}}(e)}e.exports=t,t.displayName="maxscript",t.aliases=[]},1102:function(e){"use strict";function t(e){e.languages.mel={comment:/\/\/.*/,code:{pattern:/`(?:\\.|[^\\`\r\n])*`/,greedy:!0,alias:"italic",inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"}}},string:{pattern:/"(?:\\.|[^\\"\r\n])*"/,greedy:!0},variable:/\$\w+/,number:/\b0x[\da-fA-F]+\b|\b\d+(?:\.\d*)?|\B\.\d+/,flag:{pattern:/-[^\d\W]\w*/,alias:"operator"},keyword:/\b(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)\b/,function:/\b\w+(?=\()|\b(?:CBG|HfAddAttractorToAS|HfAssignAS|HfBuildEqualMap|HfBuildFurFiles|HfBuildFurImages|HfCancelAFR|HfConnectASToHF|HfCreateAttractor|HfDeleteAS|HfEditAS|HfPerformCreateAS|HfRemoveAttractorFromAS|HfSelectAttached|HfSelectAttractors|HfUnAssignAS|Mayatomr|about|abs|addAttr|addAttributeEditorNodeHelp|addDynamic|addNewShelfTab|addPP|addPanelCategory|addPrefixToName|advanceToNextDrivenKey|affectedNet|affects|aimConstraint|air|alias|aliasAttr|align|alignCtx|alignCurve|alignSurface|allViewFit|ambientLight|angle|angleBetween|animCone|animCurveEditor|animDisplay|animView|annotate|appendStringArray|applicationName|applyAttrPreset|applyTake|arcLenDimContext|arcLengthDimension|arclen|arrayMapper|art3dPaintCtx|artAttrCtx|artAttrPaintVertexCtx|artAttrSkinPaintCtx|artAttrTool|artBuildPaintMenu|artFluidAttrCtx|artPuttyCtx|artSelectCtx|artSetPaintCtx|artUserPaintCtx|assignCommand|assignInputDevice|assignViewportFactories|attachCurve|attachDeviceAttr|attachSurface|attrColorSliderGrp|attrCompatibility|attrControlGrp|attrEnumOptionMenu|attrEnumOptionMenuGrp|attrFieldGrp|attrFieldSliderGrp|attrNavigationControlGrp|attrPresetEditWin|attributeExists|attributeInfo|attributeMenu|attributeQuery|autoKeyframe|autoPlace|bakeClip|bakeFluidShading|bakePartialHistory|bakeResults|bakeSimulation|basename|basenameEx|batchRender|bessel|bevel|bevelPlus|binMembership|bindSkin|blend2|blendShape|blendShapeEditor|blendShapePanel|blendTwoAttr|blindDataType|boneLattice|boundary|boxDollyCtx|boxZoomCtx|bufferCurve|buildBookmarkMenu|buildKeyframeMenu|button|buttonManip|cacheFile|cacheFileCombine|cacheFileMerge|cacheFileTrack|camera|cameraView|canCreateManip|canvas|capitalizeString|catch|catchQuiet|ceil|changeSubdivComponentDisplayLevel|changeSubdivRegion|channelBox|character|characterMap|characterOutlineEditor|characterize|chdir|checkBox|checkBoxGrp|checkDefaultRenderGlobals|choice|circle|circularFillet|clamp|clear|clearCache|clip|clipEditor|clipEditorCurrentTimeCtx|clipSchedule|clipSchedulerOutliner|clipTrimBefore|closeCurve|closeSurface|cluster|cmdFileOutput|cmdScrollFieldExecuter|cmdScrollFieldReporter|cmdShell|coarsenSubdivSelectionList|collision|color|colorAtPoint|colorEditor|colorIndex|colorIndexSliderGrp|colorSliderButtonGrp|colorSliderGrp|columnLayout|commandEcho|commandLine|commandPort|compactHairSystem|componentEditor|compositingInterop|computePolysetVolume|condition|cone|confirmDialog|connectAttr|connectControl|connectDynamic|connectJoint|connectionInfo|constrain|constrainValue|constructionHistory|container|containsMultibyte|contextInfo|control|convertFromOldLayers|convertIffToPsd|convertLightmap|convertSolidTx|convertTessellation|convertUnit|copyArray|copyFlexor|copyKey|copySkinWeights|cos|cpButton|cpCache|cpClothSet|cpCollision|cpConstraint|cpConvClothToMesh|cpForces|cpGetSolverAttr|cpPanel|cpProperty|cpRigidCollisionFilter|cpSeam|cpSetEdit|cpSetSolverAttr|cpSolver|cpSolverTypes|cpTool|cpUpdateClothUVs|createDisplayLayer|createDrawCtx|createEditor|createLayeredPsdFile|createMotionField|createNewShelf|createNode|createRenderLayer|createSubdivRegion|cross|crossProduct|ctxAbort|ctxCompletion|ctxEditMode|ctxTraverse|currentCtx|currentTime|currentTimeCtx|currentUnit|curve|curveAddPtCtx|curveCVCtx|curveEPCtx|curveEditorCtx|curveIntersect|curveMoveEPCtx|curveOnSurface|curveSketchCtx|cutKey|cycleCheck|cylinder|dagPose|date|defaultLightListCheckBox|defaultNavigation|defineDataServer|defineVirtualDevice|deformer|deg_to_rad|delete|deleteAttr|deleteShadingGroupsAndMaterials|deleteShelfTab|deleteUI|deleteUnusedBrushes|delrandstr|detachCurve|detachDeviceAttr|detachSurface|deviceEditor|devicePanel|dgInfo|dgdirty|dgeval|dgtimer|dimWhen|directKeyCtx|directionalLight|dirmap|dirname|disable|disconnectAttr|disconnectJoint|diskCache|displacementToPoly|displayAffected|displayColor|displayCull|displayLevelOfDetail|displayPref|displayRGBColor|displaySmoothness|displayStats|displayString|displaySurface|distanceDimContext|distanceDimension|doBlur|dolly|dollyCtx|dopeSheetEditor|dot|dotProduct|doubleProfileBirailSurface|drag|dragAttrContext|draggerContext|dropoffLocator|duplicate|duplicateCurve|duplicateSurface|dynCache|dynControl|dynExport|dynExpression|dynGlobals|dynPaintEditor|dynParticleCtx|dynPref|dynRelEdPanel|dynRelEditor|dynamicLoad|editAttrLimits|editDisplayLayerGlobals|editDisplayLayerMembers|editRenderLayerAdjustment|editRenderLayerGlobals|editRenderLayerMembers|editor|editorTemplate|effector|emit|emitter|enableDevice|encodeString|endString|endsWith|env|equivalent|equivalentTol|erf|error|eval|evalDeferred|evalEcho|event|exactWorldBoundingBox|exclusiveLightCheckBox|exec|executeForEachObject|exists|exp|expression|expressionEditorListen|extendCurve|extendSurface|extrude|fcheck|fclose|feof|fflush|fgetline|fgetword|file|fileBrowserDialog|fileDialog|fileExtension|fileInfo|filetest|filletCurve|filter|filterCurve|filterExpand|filterStudioImport|findAllIntersections|findAnimCurves|findKeyframe|findMenuItem|findRelatedSkinCluster|finder|firstParentOf|fitBspline|flexor|floatEq|floatField|floatFieldGrp|floatScrollBar|floatSlider|floatSlider2|floatSliderButtonGrp|floatSliderGrp|floor|flow|fluidCacheInfo|fluidEmitter|fluidVoxelInfo|flushUndo|fmod|fontDialog|fopen|formLayout|format|fprint|frameLayout|fread|freeFormFillet|frewind|fromNativePath|fwrite|gamma|gauss|geometryConstraint|getApplicationVersionAsFloat|getAttr|getClassification|getDefaultBrush|getFileList|getFluidAttr|getInputDeviceRange|getMayaPanelTypes|getModifiers|getPanel|getParticleAttr|getPluginResource|getenv|getpid|glRender|glRenderEditor|globalStitch|gmatch|goal|gotoBindPose|grabColor|gradientControl|gradientControlNoAttr|graphDollyCtx|graphSelectContext|graphTrackCtx|gravity|grid|gridLayout|group|groupObjectsByName|hardenPointCurve|hardware|hardwareRenderPanel|headsUpDisplay|headsUpMessage|help|helpLine|hermite|hide|hilite|hitTest|hotBox|hotkey|hotkeyCheck|hsv_to_rgb|hudButton|hudSlider|hudSliderButton|hwReflectionMap|hwRender|hwRenderLoad|hyperGraph|hyperPanel|hyperShade|hypot|iconTextButton|iconTextCheckBox|iconTextRadioButton|iconTextRadioCollection|iconTextScrollList|iconTextStaticLabel|ikHandle|ikHandleCtx|ikHandleDisplayScale|ikSolver|ikSplineHandleCtx|ikSystem|ikSystemInfo|ikfkDisplayMethod|illustratorCurves|image|imfPlugins|inheritTransform|insertJoint|insertJointCtx|insertKeyCtx|insertKnotCurve|insertKnotSurface|instance|instanceable|instancer|intField|intFieldGrp|intScrollBar|intSlider|intSliderGrp|interToUI|internalVar|intersect|iprEngine|isAnimCurve|isConnected|isDirty|isParentOf|isSameObject|isTrue|isValidObjectName|isValidString|isValidUiName|isolateSelect|itemFilter|itemFilterAttr|itemFilterRender|itemFilterType|joint|jointCluster|jointCtx|jointDisplayScale|jointLattice|keyTangent|keyframe|keyframeOutliner|keyframeRegionCurrentTimeCtx|keyframeRegionDirectKeyCtx|keyframeRegionDollyCtx|keyframeRegionInsertKeyCtx|keyframeRegionMoveKeyCtx|keyframeRegionScaleKeyCtx|keyframeRegionSelectKeyCtx|keyframeRegionSetKeyCtx|keyframeRegionTrackCtx|keyframeStats|lassoContext|lattice|latticeDeformKeyCtx|launch|launchImageEditor|layerButton|layeredShaderPort|layeredTexturePort|layout|layoutDialog|lightList|lightListEditor|lightListPanel|lightlink|lineIntersection|linearPrecision|linstep|listAnimatable|listAttr|listCameras|listConnections|listDeviceAttachments|listHistory|listInputDeviceAxes|listInputDeviceButtons|listInputDevices|listMenuAnnotation|listNodeTypes|listPanelCategories|listRelatives|listSets|listTransforms|listUnselected|listerEditor|loadFluid|loadNewShelf|loadPlugin|loadPluginLanguageResources|loadPrefObjects|localizedPanelLabel|lockNode|loft|log|longNameOf|lookThru|ls|lsThroughFilter|lsType|lsUI|mag|makeIdentity|makeLive|makePaintable|makeRoll|makeSingleSurface|makeTubeOn|makebot|manipMoveContext|manipMoveLimitsCtx|manipOptions|manipRotateContext|manipRotateLimitsCtx|manipScaleContext|manipScaleLimitsCtx|marker|match|max|memory|menu|menuBarLayout|menuEditor|menuItem|menuItemToShelf|menuSet|menuSetPref|messageLine|min|minimizeApp|mirrorJoint|modelCurrentTimeCtx|modelEditor|modelPanel|mouse|movIn|movOut|move|moveIKtoFK|moveKeyCtx|moveVertexAlongDirection|multiProfileBirailSurface|mute|nParticle|nameCommand|nameField|namespace|namespaceInfo|newPanelItems|newton|nodeCast|nodeIconButton|nodeOutliner|nodePreset|nodeType|noise|nonLinear|normalConstraint|normalize|nurbsBoolean|nurbsCopyUVSet|nurbsCube|nurbsEditUV|nurbsPlane|nurbsSelect|nurbsSquare|nurbsToPoly|nurbsToPolygonsPref|nurbsToSubdiv|nurbsToSubdivPref|nurbsUVSet|nurbsViewDirectionVector|objExists|objectCenter|objectLayer|objectType|objectTypeUI|obsoleteProc|oceanNurbsPreviewPlane|offsetCurve|offsetCurveOnSurface|offsetSurface|openGLExtension|openMayaPref|optionMenu|optionMenuGrp|optionVar|orbit|orbitCtx|orientConstraint|outlinerEditor|outlinerPanel|overrideModifier|paintEffectsDisplay|pairBlend|palettePort|paneLayout|panel|panelConfiguration|panelHistory|paramDimContext|paramDimension|paramLocator|parent|parentConstraint|particle|particleExists|particleInstancer|particleRenderInfo|partition|pasteKey|pathAnimation|pause|pclose|percent|performanceOptions|pfxstrokes|pickWalk|picture|pixelMove|planarSrf|plane|play|playbackOptions|playblast|plugAttr|plugNode|pluginInfo|pluginResourceUtil|pointConstraint|pointCurveConstraint|pointLight|pointMatrixMult|pointOnCurve|pointOnSurface|pointPosition|poleVectorConstraint|polyAppend|polyAppendFacetCtx|polyAppendVertex|polyAutoProjection|polyAverageNormal|polyAverageVertex|polyBevel|polyBlendColor|polyBlindData|polyBoolOp|polyBridgeEdge|polyCacheMonitor|polyCheck|polyChipOff|polyClipboard|polyCloseBorder|polyCollapseEdge|polyCollapseFacet|polyColorBlindData|polyColorDel|polyColorPerVertex|polyColorSet|polyCompare|polyCone|polyCopyUV|polyCrease|polyCreaseCtx|polyCreateFacet|polyCreateFacetCtx|polyCube|polyCut|polyCutCtx|polyCylinder|polyCylindricalProjection|polyDelEdge|polyDelFacet|polyDelVertex|polyDuplicateAndConnect|polyDuplicateEdge|polyEditUV|polyEditUVShell|polyEvaluate|polyExtrudeEdge|polyExtrudeFacet|polyExtrudeVertex|polyFlipEdge|polyFlipUV|polyForceUV|polyGeoSampler|polyHelix|polyInfo|polyInstallAction|polyLayoutUV|polyListComponentConversion|polyMapCut|polyMapDel|polyMapSew|polyMapSewMove|polyMergeEdge|polyMergeEdgeCtx|polyMergeFacet|polyMergeFacetCtx|polyMergeUV|polyMergeVertex|polyMirrorFace|polyMoveEdge|polyMoveFacet|polyMoveFacetUV|polyMoveUV|polyMoveVertex|polyNormal|polyNormalPerVertex|polyNormalizeUV|polyOptUvs|polyOptions|polyOutput|polyPipe|polyPlanarProjection|polyPlane|polyPlatonicSolid|polyPoke|polyPrimitive|polyPrism|polyProjection|polyPyramid|polyQuad|polyQueryBlindData|polyReduce|polySelect|polySelectConstraint|polySelectConstraintMonitor|polySelectCtx|polySelectEditCtx|polySeparate|polySetToFaceNormal|polySewEdge|polyShortestPathCtx|polySmooth|polySoftEdge|polySphere|polySphericalProjection|polySplit|polySplitCtx|polySplitEdge|polySplitRing|polySplitVertex|polyStraightenUVBorder|polySubdivideEdge|polySubdivideFacet|polyToSubdiv|polyTorus|polyTransfer|polyTriangulate|polyUVSet|polyUnite|polyWedgeFace|popen|popupMenu|pose|pow|preloadRefEd|print|progressBar|progressWindow|projFileViewer|projectCurve|projectTangent|projectionContext|projectionManip|promptDialog|propModCtx|propMove|psdChannelOutliner|psdEditTextureFile|psdExport|psdTextureFile|putenv|pwd|python|querySubdiv|quit|rad_to_deg|radial|radioButton|radioButtonGrp|radioCollection|radioMenuItemCollection|rampColorPort|rand|randomizeFollicles|randstate|rangeControl|readTake|rebuildCurve|rebuildSurface|recordAttr|recordDevice|redo|reference|referenceEdit|referenceQuery|refineSubdivSelectionList|refresh|refreshAE|registerPluginResource|rehash|reloadImage|removeJoint|removeMultiInstance|removePanelCategory|rename|renameAttr|renameSelectionList|renameUI|render|renderGlobalsNode|renderInfo|renderLayerButton|renderLayerParent|renderLayerPostProcess|renderLayerUnparent|renderManip|renderPartition|renderQualityNode|renderSettings|renderThumbnailUpdate|renderWindowEditor|renderWindowSelectContext|renderer|reorder|reorderDeformers|requires|reroot|resampleFluid|resetAE|resetPfxToPolyCamera|resetTool|resolutionNode|retarget|reverseCurve|reverseSurface|revolve|rgb_to_hsv|rigidBody|rigidSolver|roll|rollCtx|rootOf|rot|rotate|rotationInterpolation|roundConstantRadius|rowColumnLayout|rowLayout|runTimeCommand|runup|sampleImage|saveAllShelves|saveAttrPreset|saveFluid|saveImage|saveInitialState|saveMenu|savePrefObjects|savePrefs|saveShelf|saveToolSettings|scale|scaleBrushBrightness|scaleComponents|scaleConstraint|scaleKey|scaleKeyCtx|sceneEditor|sceneUIReplacement|scmh|scriptCtx|scriptEditorInfo|scriptJob|scriptNode|scriptTable|scriptToShelf|scriptedPanel|scriptedPanelType|scrollField|scrollLayout|sculpt|searchPathArray|seed|selLoadSettings|select|selectContext|selectCurveCV|selectKey|selectKeyCtx|selectKeyframeRegionCtx|selectMode|selectPref|selectPriority|selectType|selectedNodes|selectionConnection|separator|setAttr|setAttrEnumResource|setAttrMapping|setAttrNiceNameResource|setConstraintRestPosition|setDefaultShadingGroup|setDrivenKeyframe|setDynamic|setEditCtx|setEditor|setFluidAttr|setFocus|setInfinity|setInputDeviceMapping|setKeyCtx|setKeyPath|setKeyframe|setKeyframeBlendshapeTargetWts|setMenuMode|setNodeNiceNameResource|setNodeTypeFlag|setParent|setParticleAttr|setPfxToPolyCamera|setPluginResource|setProject|setStampDensity|setStartupMessage|setState|setToolTo|setUITemplate|setXformManip|sets|shadingConnection|shadingGeometryRelCtx|shadingLightRelCtx|shadingNetworkCompare|shadingNode|shapeCompare|shelfButton|shelfLayout|shelfTabLayout|shellField|shortNameOf|showHelp|showHidden|showManipCtx|showSelectionInTitle|showShadingGroupAttrEditor|showWindow|sign|simplify|sin|singleProfileBirailSurface|size|sizeBytes|skinCluster|skinPercent|smoothCurve|smoothTangentSurface|smoothstep|snap2to2|snapKey|snapMode|snapTogetherCtx|snapshot|soft|softMod|softModCtx|sort|sound|soundControl|source|spaceLocator|sphere|sphrand|spotLight|spotLightPreviewPort|spreadSheetEditor|spring|sqrt|squareSurface|srtContext|stackTrace|startString|startsWith|stitchAndExplodeShell|stitchSurface|stitchSurfacePoints|strcmp|stringArrayCatenate|stringArrayContains|stringArrayCount|stringArrayInsertAtIndex|stringArrayIntersector|stringArrayRemove|stringArrayRemoveAtIndex|stringArrayRemoveDuplicates|stringArrayRemoveExact|stringArrayToString|stringToStringArray|strip|stripPrefixFromName|stroke|subdAutoProjection|subdCleanTopology|subdCollapse|subdDuplicateAndConnect|subdEditUV|subdListComponentConversion|subdMapCut|subdMapSewMove|subdMatchTopology|subdMirror|subdToBlind|subdToPoly|subdTransferUVsToCache|subdiv|subdivCrease|subdivDisplaySmoothness|substitute|substituteAllString|substituteGeometry|substring|surface|surfaceSampler|surfaceShaderList|swatchDisplayPort|switchTable|symbolButton|symbolCheckBox|sysFile|system|tabLayout|tan|tangentConstraint|texLatticeDeformContext|texManipContext|texMoveContext|texMoveUVShellContext|texRotateContext|texScaleContext|texSelectContext|texSelectShortestPathCtx|texSmudgeUVContext|texWinToolCtx|text|textCurves|textField|textFieldButtonGrp|textFieldGrp|textManip|textScrollList|textToShelf|textureDisplacePlane|textureHairColor|texturePlacementContext|textureWindow|threadCount|threePointArcCtx|timeControl|timePort|timerX|toNativePath|toggle|toggleAxis|toggleWindowVisibility|tokenize|tokenizeList|tolerance|tolower|toolButton|toolCollection|toolDropped|toolHasOptions|toolPropertyWindow|torus|toupper|trace|track|trackCtx|transferAttributes|transformCompare|transformLimits|translator|trim|trunc|truncateFluidCache|truncateHairCache|tumble|tumbleCtx|turbulence|twoPointArcCtx|uiRes|uiTemplate|unassignInputDevice|undo|undoInfo|ungroup|uniform|unit|unloadPlugin|untangleUV|untitledFileName|untrim|upAxis|updateAE|userCtx|uvLink|uvSnapshot|validateShelfName|vectorize|view2dToolCtx|viewCamera|viewClipPlane|viewFit|viewHeadOn|viewLookAt|viewManip|viewPlace|viewSet|visor|volumeAxis|vortex|waitCursor|warning|webBrowser|webBrowserPrefs|whatIs|window|windowPref|wire|wireContext|workspace|wrinkle|wrinkleContext|writeTake|xbmLangPathList|xform)\b/,operator:[/\+[+=]?|-[-=]?|&&|\|\||[<>]=|[*\/!=]=?|[%^]/,{pattern:/(^|[^<])<(?!<)/,lookbehind:!0},{pattern:/(^|[^>])>(?!>)/,lookbehind:!0}],punctuation:/<<|>>|[.,:;?\[\](){}]/},e.languages.mel.code.inside.rest=e.languages.mel}e.exports=t,t.displayName="mel",t.aliases=[]},2172:function(e){"use strict";function t(e){e.languages.mermaid={comment:{pattern:/%%.*/,greedy:!0},style:{pattern:/^([ \t]*(?:classDef|linkStyle|style)[ \t]+[\w$-]+[ \t]+)\w.*[^\s;]/m,lookbehind:!0,inside:{property:/\b\w[\w-]*(?=[ \t]*:)/,operator:/:/,punctuation:/,/}},"inter-arrow-label":{pattern:/([^<>ox.=-])(?:-[-.]|==)(?![<>ox.=-])[ \t]*(?:"[^"\r\n]*"|[^\s".=-](?:[^\r\n.=-]*[^\s.=-])?)[ \t]*(?:\.+->?|--+[->]|==+[=>])(?![<>ox.=-])/,lookbehind:!0,greedy:!0,inside:{arrow:{pattern:/(?:\.+->?|--+[->]|==+[=>])$/,alias:"operator"},label:{pattern:/^([\s\S]{2}[ \t]*)\S(?:[\s\S]*\S)?/,lookbehind:!0,alias:"property"},"arrow-head":{pattern:/^\S+/,alias:["arrow","operator"]}}},arrow:[{pattern:/(^|[^{}|o.-])[|}][|o](?:--|\.\.)[|o][|{](?![{}|o.-])/,lookbehind:!0,alias:"operator"},{pattern:/(^|[^<>ox.=-])(?:[<ox](?:==+|--+|-\.*-)[>ox]?|(?:==+|--+|-\.*-)[>ox]|===+|---+|-\.+-)(?![<>ox.=-])/,lookbehind:!0,alias:"operator"},{pattern:/(^|[^<>()x-])(?:--?(?:>>|[x>)])(?![<>()x])|(?:<<|[x<(])--?(?!-))/,lookbehind:!0,alias:"operator"},{pattern:/(^|[^<>|*o.-])(?:[*o]--|--[*o]|<\|?(?:--|\.\.)|(?:--|\.\.)\|?>|--|\.\.)(?![<>|*o.-])/,lookbehind:!0,alias:"operator"}],label:{pattern:/(^|[^|<])\|(?:[^\r\n"|]|"[^"\r\n]*")+\|/,lookbehind:!0,greedy:!0,alias:"property"},text:{pattern:/(?:[(\[{]+|\b>)(?:[^\r\n"()\[\]{}]|"[^"\r\n]*")+(?:[)\]}]+|>)/,alias:"string"},string:{pattern:/"[^"\r\n]*"/,greedy:!0},annotation:{pattern:/<<(?:abstract|choice|enumeration|fork|interface|join|service)>>|\[\[(?:choice|fork|join)\]\]/i,alias:"important"},keyword:[{pattern:/(^[ \t]*)(?:action|callback|class|classDef|classDiagram|click|direction|erDiagram|flowchart|gantt|gitGraph|graph|journey|link|linkStyle|pie|requirementDiagram|sequenceDiagram|stateDiagram|stateDiagram-v2|style|subgraph)(?![\w$-])/m,lookbehind:!0,greedy:!0},{pattern:/(^[ \t]*)(?:activate|alt|and|as|autonumber|deactivate|else|end(?:[ \t]+note)?|loop|opt|par|participant|rect|state|note[ \t]+(?:over|(?:left|right)[ \t]+of))(?![\w$-])/im,lookbehind:!0,greedy:!0}],entity:/#[a-z0-9]+;/,operator:{pattern:/(\w[ \t]*)&(?=[ \t]*\w)|:::|:/,lookbehind:!0},punctuation:/[(){};]/}}e.exports=t,t.displayName="mermaid",t.aliases=[]},1337:function(e){"use strict";function t(e){e.languages.mizar={comment:/::.+/,keyword:/@proof\b|\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|end|environ|equals|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|iff?|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:ies|y)|when|where|with|wrt)\b/,parameter:{pattern:/\$(?:10|\d)/,alias:"variable"},variable:/\b\w+(?=:)/,number:/(?:\b|-)\d+\b/,operator:/\.\.\.|->|&|\.?=/,punctuation:/\(#|#\)|[,:;\[\](){}]/}}e.exports=t,t.displayName="mizar",t.aliases=[]},5638:function(e){"use strict";function t(e){!function(e){var t=["$eq","$gt","$gte","$in","$lt","$lte","$ne","$nin","$and","$not","$nor","$or","$exists","$type","$expr","$jsonSchema","$mod","$regex","$text","$where","$geoIntersects","$geoWithin","$near","$nearSphere","$all","$elemMatch","$size","$bitsAllClear","$bitsAllSet","$bitsAnyClear","$bitsAnySet","$comment","$elemMatch","$meta","$slice","$currentDate","$inc","$min","$max","$mul","$rename","$set","$setOnInsert","$unset","$addToSet","$pop","$pull","$push","$pullAll","$each","$position","$slice","$sort","$bit","$addFields","$bucket","$bucketAuto","$collStats","$count","$currentOp","$facet","$geoNear","$graphLookup","$group","$indexStats","$limit","$listLocalSessions","$listSessions","$lookup","$match","$merge","$out","$planCacheStats","$project","$redact","$replaceRoot","$replaceWith","$sample","$set","$skip","$sort","$sortByCount","$unionWith","$unset","$unwind","$setWindowFields","$abs","$accumulator","$acos","$acosh","$add","$addToSet","$allElementsTrue","$and","$anyElementTrue","$arrayElemAt","$arrayToObject","$asin","$asinh","$atan","$atan2","$atanh","$avg","$binarySize","$bsonSize","$ceil","$cmp","$concat","$concatArrays","$cond","$convert","$cos","$dateFromParts","$dateToParts","$dateFromString","$dateToString","$dayOfMonth","$dayOfWeek","$dayOfYear","$degreesToRadians","$divide","$eq","$exp","$filter","$first","$floor","$function","$gt","$gte","$hour","$ifNull","$in","$indexOfArray","$indexOfBytes","$indexOfCP","$isArray","$isNumber","$isoDayOfWeek","$isoWeek","$isoWeekYear","$last","$last","$let","$literal","$ln","$log","$log10","$lt","$lte","$ltrim","$map","$max","$mergeObjects","$meta","$min","$millisecond","$minute","$mod","$month","$multiply","$ne","$not","$objectToArray","$or","$pow","$push","$radiansToDegrees","$range","$reduce","$regexFind","$regexFindAll","$regexMatch","$replaceOne","$replaceAll","$reverseArray","$round","$rtrim","$second","$setDifference","$setEquals","$setIntersection","$setIsSubset","$setUnion","$size","$sin","$slice","$split","$sqrt","$stdDevPop","$stdDevSamp","$strcasecmp","$strLenBytes","$strLenCP","$substr","$substrBytes","$substrCP","$subtract","$sum","$switch","$tan","$toBool","$toDate","$toDecimal","$toDouble","$toInt","$toLong","$toObjectId","$toString","$toLower","$toUpper","$trim","$trunc","$type","$week","$year","$zip","$count","$dateAdd","$dateDiff","$dateSubtract","$dateTrunc","$getField","$rand","$sampleRate","$setField","$unsetField","$comment","$explain","$hint","$max","$maxTimeMS","$min","$orderby","$query","$returnKey","$showDiskLoc","$natural"],n="(?:"+(t=t.map((function(e){return e.replace("$","\\$")}))).join("|")+")\\b";e.languages.mongodb=e.languages.extend("javascript",{}),e.languages.insertBefore("mongodb","string",{property:{pattern:/(?:(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)(?=\s*:)/,greedy:!0,inside:{keyword:RegExp("^(['\"])?"+n+"(?:\\1)?$")}}}),e.languages.mongodb.string.inside={url:{pattern:/https?:\/\/[-\w@:%.+~#=]{1,256}\.[a-z0-9()]{1,6}\b[-\w()@:%+.~#?&/=]*/i,greedy:!0},entity:{pattern:/\b(?:(?:[01]?\d\d?|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d\d?|2[0-4]\d|25[0-5])\b/,greedy:!0}},e.languages.insertBefore("mongodb","constant",{builtin:{pattern:RegExp("\\b(?:"+["ObjectId","Code","BinData","DBRef","Timestamp","NumberLong","NumberDecimal","MaxKey","MinKey","RegExp","ISODate","UUID"].join("|")+")\\b"),alias:"keyword"}})}(e)}e.exports=t,t.displayName="mongodb",t.aliases=[]},54:function(e){"use strict";function t(e){e.languages.monkey={comment:{pattern:/^#Rem\s[\s\S]*?^#End|'.+/im,greedy:!0},string:{pattern:/"[^"\r\n]*"/,greedy:!0},preprocessor:{pattern:/(^[ \t]*)#.+/m,lookbehind:!0,greedy:!0,alias:"property"},function:/\b\w+(?=\()/,"type-char":{pattern:/\b[?%#$]/,alias:"class-name"},number:{pattern:/((?:\.\.)?)(?:(?:\b|\B-\.?|\B\.)\d+(?:(?!\.\.)\.\d*)?|\$[\da-f]+)/i,lookbehind:!0},keyword:/\b(?:Abstract|Array|Bool|Case|Catch|Class|Const|Continue|Default|Eachin|Else|ElseIf|End|EndIf|Exit|Extends|Extern|False|Field|Final|Float|For|Forever|Function|Global|If|Implements|Import|Inline|Int|Interface|Local|Method|Module|New|Next|Null|Object|Private|Property|Public|Repeat|Return|Select|Self|Step|Strict|String|Super|Then|Throw|To|True|Try|Until|Void|Wend|While)\b/i,operator:/\.\.|<[=>]?|>=?|:?=|(?:[+\-*\/&~|]|\b(?:Mod|Shl|Shr)\b)=?|\b(?:And|Not|Or)\b/i,punctuation:/[.,:;()\[\]]/}}e.exports=t,t.displayName="monkey",t.aliases=[]},1741:function(e){"use strict";function t(e){e.languages.moonscript={comment:/--.*/,string:[{pattern:/'[^']*'|\[(=*)\[[\s\S]*?\]\1\]/,greedy:!0},{pattern:/"[^"]*"/,greedy:!0,inside:{interpolation:{pattern:/#\{[^{}]*\}/,inside:{moonscript:{pattern:/(^#\{)[\s\S]+(?=\})/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/#\{|\}/,alias:"punctuation"}}}}}],"class-name":[{pattern:/(\b(?:class|extends)[ \t]+)\w+/,lookbehind:!0},/\b[A-Z]\w*/],keyword:/\b(?:class|continue|do|else|elseif|export|extends|for|from|if|import|in|local|nil|return|self|super|switch|then|unless|using|when|while|with)\b/,variable:/@@?\w*/,property:{pattern:/\b(?!\d)\w+(?=:)|(:)(?!\d)\w+/,lookbehind:!0},function:{pattern:/\b(?:_G|_VERSION|assert|collectgarbage|coroutine\.(?:create|resume|running|status|wrap|yield)|debug\.(?:debug|getfenv|gethook|getinfo|getlocal|getmetatable|getregistry|getupvalue|setfenv|sethook|setlocal|setmetatable|setupvalue|traceback)|dofile|error|getfenv|getmetatable|io\.(?:close|flush|input|lines|open|output|popen|read|stderr|stdin|stdout|tmpfile|type|write)|ipairs|load|loadfile|loadstring|math\.(?:abs|acos|asin|atan|atan2|ceil|cos|cosh|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|pi|pow|rad|random|randomseed|sin|sinh|sqrt|tan|tanh)|module|next|os\.(?:clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\.(?:cpath|loaded|loadlib|path|preload|seeall)|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|string\.(?:byte|char|dump|find|format|gmatch|gsub|len|lower|match|rep|reverse|sub|upper)|table\.(?:concat|insert|maxn|remove|sort)|tonumber|tostring|type|unpack|xpcall)\b/,inside:{punctuation:/\./}},boolean:/\b(?:false|true)\b/,number:/(?:\B\.\d+|\b\d+\.\d+|\b\d+(?=[eE]))(?:[eE][-+]?\d+)?\b|\b(?:0x[a-fA-F\d]+|\d+)(?:U?LL)?\b/,operator:/\.{3}|[-=]>|~=|(?:[-+*/%<>!=]|\.\.)=?|[:#^]|\b(?:and|or)\b=?|\b(?:not)\b/,punctuation:/[.,()[\]{}\\]/},e.languages.moonscript.string[1].inside.interpolation.inside.moonscript.inside=e.languages.moonscript,e.languages.moon=e.languages.moonscript}e.exports=t,t.displayName="moonscript",t.aliases=["moon"]},2089:function(e){"use strict";function t(e){e.languages.n1ql={comment:{pattern:/\/\*[\s\S]*?(?:$|\*\/)|--.*/,greedy:!0},string:{pattern:/(["'])(?:\\[\s\S]|(?!\1)[^\\]|\1\1)*\1/,greedy:!0},identifier:{pattern:/`(?:\\[\s\S]|[^\\`]|``)*`/,greedy:!0},parameter:/\$[\w.]+/,keyword:/\b(?:ADVISE|ALL|ALTER|ANALYZE|AS|ASC|AT|BEGIN|BINARY|BOOLEAN|BREAK|BUCKET|BUILD|BY|CALL|CAST|CLUSTER|COLLATE|COLLECTION|COMMIT|COMMITTED|CONNECT|CONTINUE|CORRELATE|CORRELATED|COVER|CREATE|CURRENT|DATABASE|DATASET|DATASTORE|DECLARE|DECREMENT|DELETE|DERIVED|DESC|DESCRIBE|DISTINCT|DO|DROP|EACH|ELEMENT|EXCEPT|EXCLUDE|EXECUTE|EXPLAIN|FETCH|FILTER|FLATTEN|FLUSH|FOLLOWING|FOR|FORCE|FROM|FTS|FUNCTION|GOLANG|GRANT|GROUP|GROUPS|GSI|HASH|HAVING|IF|IGNORE|ILIKE|INCLUDE|INCREMENT|INDEX|INFER|INLINE|INNER|INSERT|INTERSECT|INTO|IS|ISOLATION|JAVASCRIPT|JOIN|KEY|KEYS|KEYSPACE|KNOWN|LANGUAGE|LAST|LEFT|LET|LETTING|LEVEL|LIMIT|LSM|MAP|MAPPING|MATCHED|MATERIALIZED|MERGE|MINUS|MISSING|NAMESPACE|NEST|NL|NO|NTH_VALUE|NULL|NULLS|NUMBER|OBJECT|OFFSET|ON|OPTION|OPTIONS|ORDER|OTHERS|OUTER|OVER|PARSE|PARTITION|PASSWORD|PATH|POOL|PRECEDING|PREPARE|PRIMARY|PRIVATE|PRIVILEGE|PROBE|PROCEDURE|PUBLIC|RANGE|RAW|REALM|REDUCE|RENAME|RESPECT|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLLBACK|ROW|ROWS|SATISFIES|SAVEPOINT|SCHEMA|SCOPE|SELECT|SELF|SEMI|SET|SHOW|SOME|START|STATISTICS|STRING|SYSTEM|TIES|TO|TRAN|TRANSACTION|TRIGGER|TRUNCATE|UNBOUNDED|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNSET|UPDATE|UPSERT|USE|USER|USING|VALIDATE|VALUE|VALUES|VIA|VIEW|WHERE|WHILE|WINDOW|WITH|WORK|XOR)\b/i,function:/\b[a-z_]\w*(?=\s*\()/i,boolean:/\b(?:FALSE|TRUE)\b/i,number:/(?:\b\d+\.|\B\.)\d+e[+\-]?\d+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/%]|!=|==?|\|\||<[>=]?|>=?|\b(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY|EXISTS|FIRST|IN|LIKE|NOT|OR|THEN|VALUED|WHEN|WITHIN)\b/i,punctuation:/[;[\](),.{}:]/}}e.exports=t,t.displayName="n1ql",t.aliases=[]},5739:function(e){"use strict";function t(e){e.languages.n4js=e.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),e.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),e.languages.n4jsd=e.languages.n4js}e.exports=t,t.displayName="n4js",t.aliases=["n4jsd"]},8347:function(e){"use strict";function t(e){e.languages["nand2tetris-hdl"]={comment:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,keyword:/\b(?:BUILTIN|CHIP|CLOCKED|IN|OUT|PARTS)\b/,boolean:/\b(?:false|true)\b/,function:/\b[A-Za-z][A-Za-z0-9]*(?=\()/,number:/\b\d+\b/,operator:/=|\.\./,punctuation:/[{}[\];(),:]/}}e.exports=t,t.displayName="nand2tetrisHdl",t.aliases=[]},9899:function(e){"use strict";function t(e){!function(e){var t=/\{[^\r\n\[\]{}]*\}/,n={"quoted-string":{pattern:/"(?:[^"\\]|\\.)*"/,alias:"operator"},"command-param-id":{pattern:/(\s)\w+:/,lookbehind:!0,alias:"property"},"command-param-value":[{pattern:t,alias:"selector"},{pattern:/([\t ])\S+/,lookbehind:!0,greedy:!0,alias:"operator"},{pattern:/\S(?:.*\S)?/,alias:"operator"}]};function r(e){return"string"===typeof e?e:Array.isArray(e)?e.map(r).join(""):r(e.content)}e.languages.naniscript={comment:{pattern:/^([\t ]*);.*/m,lookbehind:!0},define:{pattern:/^>.+/m,alias:"tag",inside:{value:{pattern:/(^>\w+[\t ]+)(?!\s)[^{}\r\n]+/,lookbehind:!0,alias:"operator"},key:{pattern:/(^>)\w+/,lookbehind:!0}}},label:{pattern:/^([\t ]*)#[\t ]*\w+[\t ]*$/m,lookbehind:!0,alias:"regex"},command:{pattern:/^([\t ]*)@\w+(?=[\t ]|$).*/m,lookbehind:!0,alias:"function",inside:{"command-name":/^@\w+/,expression:{pattern:t,greedy:!0,alias:"selector"},"command-params":{pattern:/\s*\S[\s\S]*/,inside:n}}},"generic-text":{pattern:/(^[ \t]*)[^#@>;\s].*/m,lookbehind:!0,alias:"punctuation",inside:{"escaped-char":/\\[{}\[\]"]/,expression:{pattern:t,greedy:!0,alias:"selector"},"inline-command":{pattern:/\[[\t ]*\w[^\r\n\[\]]*\]/,greedy:!0,alias:"function",inside:{"command-params":{pattern:/(^\[[\t ]*\w+\b)[\s\S]+(?=\]$)/,lookbehind:!0,inside:n},"command-param-name":{pattern:/^(\[[\t ]*)\w+/,lookbehind:!0,alias:"name"},"start-stop-char":/[\[\]]/}}}}},e.languages.nani=e.languages.naniscript,e.hooks.add("after-tokenize",(function(e){e.tokens.forEach((function(e){if("string"!==typeof e&&"generic-text"===e.type){var t=r(e);(function(e){for(var t="[]{}",n=[],r=0;r<e.length;r++){var a=e[r],i=t.indexOf(a);if(-1!==i)if(i%2===0)n.push(i+1);else if(n.pop()!==i)return!1}return 0===n.length})(t)||(e.type="bad-line",e.content=t)}}))}))}(e)}e.exports=t,t.displayName="naniscript",t.aliases=[]},2420:function(e){"use strict";function t(e){e.languages.nasm={comment:/;.*$/m,string:/(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,label:{pattern:/(^\s*)[A-Za-z._?$][\w.?$@~#]*:/m,lookbehind:!0,alias:"function"},keyword:[/\[?BITS (?:16|32|64)\]?/,{pattern:/(^\s*)section\s*[a-z.]+:?/im,lookbehind:!0},/(?:extern|global)[^;\r\n]*/i,/(?:CPU|DEFAULT|FLOAT).*$/m],register:{pattern:/\b(?:st\d|[xyz]mm\d\d?|[cdt]r\d|r\d\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|di|si|sp)|[cdefgs]s)\b/i,alias:"variable"},number:/(?:\b|(?=\$))(?:0[hx](?:\.[\da-f]+|[\da-f]+(?:\.[\da-f]+)?)(?:p[+-]?\d+)?|\d[\da-f]+[hx]|\$\d[\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\d+|(?:\d+(?:\.\d+)?|\.\d+)(?:\.?e[+-]?\d+)?[dt]?)\b/i,operator:/[\[\]*+\-\/%<>=&|$!]/}}e.exports=t,t.displayName="nasm",t.aliases=[]},2019:function(e){"use strict";function t(e){e.languages.neon={comment:{pattern:/#.*/,greedy:!0},datetime:{pattern:/(^|[[{(=:,\s])\d\d\d\d-\d\d?-\d\d?(?:(?:[Tt]| +)\d\d?:\d\d:\d\d(?:\.\d*)? *(?:Z|[-+]\d\d?(?::?\d\d)?)?)?(?=$|[\]}),\s])/,lookbehind:!0,alias:"number"},key:{pattern:/(^|[[{(,\s])[^,:=[\]{}()'"\s]+(?=\s*:(?:$|[\]}),\s])|\s*=)/,lookbehind:!0,alias:"atrule"},number:{pattern:/(^|[[{(=:,\s])[+-]?(?:0x[\da-fA-F]+|0o[0-7]+|0b[01]+|(?:\d+(?:\.\d*)?|\.?\d+)(?:[eE][+-]?\d+)?)(?=$|[\]}),:=\s])/,lookbehind:!0},boolean:{pattern:/(^|[[{(=:,\s])(?:false|no|true|yes)(?=$|[\]}),:=\s])/i,lookbehind:!0},null:{pattern:/(^|[[{(=:,\s])(?:null)(?=$|[\]}),:=\s])/i,lookbehind:!0,alias:"keyword"},string:{pattern:/(^|[[{(=:,\s])(?:('''|""")\r?\n(?:(?:[^\r\n]|\r?\n(?![\t ]*\2))*\r?\n)?[\t ]*\2|'[^'\r\n]*'|"(?:\\.|[^\\"\r\n])*")/,lookbehind:!0,greedy:!0},literal:{pattern:/(^|[[{(=:,\s])(?:[^#"',:=[\]{}()\s`-]|[:-][^"',=[\]{}()\s])(?:[^,:=\]})(\s]|:(?![\s,\]})]|$)|[ \t]+[^#,:=\]})(\s])*/,lookbehind:!0,alias:"string"},punctuation:/[,:=[\]{}()-]/}}e.exports=t,t.displayName="neon",t.aliases=[]},2618:function(e){"use strict";function t(e){e.languages.nevod={comment:/\/\/.*|(?:\/\*[\s\S]*?(?:\*\/|$))/,string:{pattern:/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))!?\*?/,greedy:!0,inside:{"string-attrs":/!$|!\*$|\*$/}},namespace:{pattern:/(@namespace\s+)[a-zA-Z0-9\-.]+(?=\s*\{)/,lookbehind:!0},pattern:{pattern:/(@pattern\s+)?#?[a-zA-Z0-9\-.]+(?:\s*\(\s*(?:~\s*)?[a-zA-Z0-9\-.]+\s*(?:,\s*(?:~\s*)?[a-zA-Z0-9\-.]*)*\))?(?=\s*=)/,lookbehind:!0,inside:{"pattern-name":{pattern:/^#?[a-zA-Z0-9\-.]+/,alias:"class-name"},fields:{pattern:/\(.*\)/,inside:{"field-name":{pattern:/[a-zA-Z0-9\-.]+/,alias:"variable"},punctuation:/[,()]/,operator:{pattern:/~/,alias:"field-hidden-mark"}}}}},search:{pattern:/(@search\s+|#)[a-zA-Z0-9\-.]+(?:\.\*)?(?=\s*;)/,alias:"function",lookbehind:!0},keyword:/@(?:having|inside|namespace|outside|pattern|require|search|where)\b/,"standard-pattern":{pattern:/\b(?:Alpha|AlphaNum|Any|Blank|End|LineBreak|Num|NumAlpha|Punct|Space|Start|Symbol|Word|WordBreak)\b(?:\([a-zA-Z0-9\-.,\s+]*\))?/,inside:{"standard-pattern-name":{pattern:/^[a-zA-Z0-9\-.]+/,alias:"builtin"},quantifier:{pattern:/\b\d+(?:\s*\+|\s*-\s*\d+)?(?!\w)/,alias:"number"},"standard-pattern-attr":{pattern:/[a-zA-Z0-9\-.]+/,alias:"builtin"},punctuation:/[,()]/}},quantifier:{pattern:/\b\d+(?:\s*\+|\s*-\s*\d+)?(?!\w)/,alias:"number"},operator:[{pattern:/=/,alias:"pattern-def"},{pattern:/&/,alias:"conjunction"},{pattern:/~/,alias:"exception"},{pattern:/\?/,alias:"optionality"},{pattern:/[[\]]/,alias:"repetition"},{pattern:/[{}]/,alias:"variation"},{pattern:/[+_]/,alias:"sequence"},{pattern:/\.{2,3}/,alias:"span"}],"field-capture":[{pattern:/([a-zA-Z0-9\-.]+\s*\()\s*[a-zA-Z0-9\-.]+\s*:\s*[a-zA-Z0-9\-.]+(?:\s*,\s*[a-zA-Z0-9\-.]+\s*:\s*[a-zA-Z0-9\-.]+)*(?=\s*\))/,lookbehind:!0,inside:{"field-name":{pattern:/[a-zA-Z0-9\-.]+/,alias:"variable"},colon:/:/}},{pattern:/[a-zA-Z0-9\-.]+\s*:/,inside:{"field-name":{pattern:/[a-zA-Z0-9\-.]+/,alias:"variable"},colon:/:/}}],punctuation:/[:;,()]/,name:/[a-zA-Z0-9\-.]+/}}e.exports=t,t.displayName="nevod",t.aliases=[]},8659:function(e){"use strict";function t(e){!function(e){var t=/\$(?:\w[a-z\d]*(?:_[^\x00-\x1F\s"'\\()$]*)?|\{[^}\s"'\\]+\})/i;e.languages.nginx={comment:{pattern:/(^|[\s{};])#.*/,lookbehind:!0,greedy:!0},directive:{pattern:/(^|\s)\w(?:[^;{}"'\\\s]|\\.|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\s+(?:#.*(?!.)|(?![#\s])))*?(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:{string:{pattern:/((?:^|[^\\])(?:\\\\)*)(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/,lookbehind:!0,greedy:!0,inside:{escape:{pattern:/\\["'\\nrt]/,alias:"entity"},variable:t}},comment:{pattern:/(\s)#.*/,lookbehind:!0,greedy:!0},keyword:{pattern:/^\S+/,greedy:!0},boolean:{pattern:/(\s)(?:off|on)(?!\S)/,lookbehind:!0},number:{pattern:/(\s)\d+[a-z]*(?!\S)/i,lookbehind:!0},variable:t}},punctuation:/[{};]/}}(e)}e.exports=t,t.displayName="nginx",t.aliases=[]},6e3:function(e){"use strict";function t(e){e.languages.nim={comment:{pattern:/#.*/,greedy:!0},string:{pattern:/(?:\b(?!\d)(?:\w|\\x[89a-fA-F][0-9a-fA-F])+)?(?:"""[\s\S]*?"""(?!")|"(?:\\[\s\S]|""|[^"\\])*")/,greedy:!0},char:{pattern:/'(?:\\(?:\d+|x[\da-fA-F]{0,2}|.)|[^'])'/,greedy:!0},function:{pattern:/(?:(?!\d)(?:\w|\\x[89a-fA-F][0-9a-fA-F])+|`[^`\r\n]+`)\*?(?:\[[^\]]+\])?(?=\s*\()/,greedy:!0,inside:{operator:/\*$/}},identifier:{pattern:/`[^`\r\n]+`/,greedy:!0,inside:{punctuation:/`/}},number:/\b(?:0[xXoObB][\da-fA-F_]+|\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:[eE][+-]?\d[\d_]*)?)(?:'?[iuf]\d*)?/,keyword:/\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\b/,operator:{pattern:/(^|[({\[](?=\.\.)|(?![({\[]\.).)(?:(?:[=+\-*\/<>@$~&%|!?^:\\]|\.\.|\.(?![)}\]]))+|\b(?:and|div|in|is|isnot|mod|not|notin|of|or|shl|shr|xor)\b)/m,lookbehind:!0},punctuation:/[({\[]\.|\.[)}\]]|[`(){}\[\],:]/}}e.exports=t,t.displayName="nim",t.aliases=[]},7190:function(e){"use strict";function t(e){e.languages.nix={comment:{pattern:/\/\*[\s\S]*?\*\/|#.*/,greedy:!0},string:{pattern:/"(?:[^"\\]|\\[\s\S])*"|''(?:(?!'')[\s\S]|''(?:'|\\|\$\{))*''/,greedy:!0,inside:{interpolation:{pattern:/(^|(?:^|(?!'').)[^\\])\$\{(?:[^{}]|\{[^}]*\})*\}/,lookbehind:!0,inside:null}}},url:[/\b(?:[a-z]{3,7}:\/\/)[\w\-+%~\/.:#=?&]+/,{pattern:/([^\/])(?:[\w\-+%~.:#=?&]*(?!\/\/)[\w\-+%~\/.:#=?&])?(?!\/\/)\/[\w\-+%~\/.:#=?&]*/,lookbehind:!0}],antiquotation:{pattern:/\$(?=\{)/,alias:"important"},number:/\b\d+\b/,keyword:/\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\b/,function:/\b(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:Tarball|url)|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf)\b|\bfoldl'\B/,boolean:/\b(?:false|true)\b/,operator:/[=!<>]=?|\+\+?|\|\||&&|\/\/|->?|[?@]/,punctuation:/[{}()[\].,:;]/},e.languages.nix.string.inside.interpolation.inside=e.languages.nix}e.exports=t,t.displayName="nix",t.aliases=[]},1465:function(e){"use strict";function t(e){e.languages.nsis={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|[#;].*)/,lookbehind:!0,greedy:!0},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:{pattern:/(^[\t ]*)(?:Abort|Add(?:BrandingImage|Size)|AdvSplash|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|BG(?:Font|Gradient|Image)|Banner|BrandingText|BringToFront|CRCCheck|Call(?:InstDLL)?|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|Create(?:Directory|Font|ShortCut)|Delete(?:INISec|INIStr|RegKey|RegValue)?|Detail(?:Print|sButtonText)|Dialer|Dir(?:Text|Var|Verify)|EnableWindow|Enum(?:RegKey|RegValue)|Exch|Exec(?:Shell(?:Wait)?|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read|ReadByte|ReadUTF16LE|ReadWord|Seek|Write|WriteByte|WriteUTF16LE|WriteWord)?|Find(?:Close|First|Next|Window)|FlushINI|Get(?:CurInstType|CurrentAddress|DLLVersion(?:Local)?|DlgItem|ErrorLevel|FileTime(?:Local)?|FullPathName|Function(?:Address|End)?|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|InstProgressFlags|Inst(?:Type(?:GetText|SetText)?)|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|Int(?:64|Ptr)?CmpU?|Int(?:64)?Fmt|Int(?:Ptr)?Op|IsWindow|Lang(?:DLL|String)|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|Manifest(?:DPIAware|SupportedOS)|Math|MessageBox|MiscButtonText|NSISdl|Name|Nop|OutFile|PE(?:DllCharacteristics|SubsysVer)|Page(?:Callbacks)?|Pop|Push|Quit|RMDir|Read(?:EnvStr|INIStr|RegDWORD|RegStr)|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|SearchPath|Section(?:End|GetFlags|GetInstTypes|GetSize|GetText|Group|In|SetFlags|SetInstTypes|SetSize|SetText)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress|Compressor(?:DictSize)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|ErrorLevel|Errors|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|RegView|ShellVarContext|Silent)|Show(?:InstDetails|UninstDetails|Window)|Silent(?:Install|UnInstall)|Sleep|SpaceTexts|Splash|StartMenu|Str(?:CmpS?|Cpy|Len)|SubCaption|System|UnRegDLL|Unicode|UninstPage|Uninstall(?:ButtonText|Caption|Icon|SubCaption|Text)|UserInfo|VI(?:AddVersionKey|FileVersion|ProductVersion)|VPatch|Var|WindowIcon|Write(?:INIStr|Reg(?:Bin|DWORD|ExpandStr|MultiStr|None|Str)|Uninstaller)|XPStyle|ns(?:Dialogs|Exec))\b/m,lookbehind:!0},property:/\b(?:ARCHIVE|FILE_(?:ATTRIBUTE_ARCHIVE|ATTRIBUTE_NORMAL|ATTRIBUTE_OFFLINE|ATTRIBUTE_READONLY|ATTRIBUTE_SYSTEM|ATTRIBUTE_TEMPORARY)|HK(?:(?:CR|CU|LM)(?:32|64)?|DD|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_CONFIG|CURRENT_USER|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON1|DEFBUTTON2|DEFBUTTON3|DEFBUTTON4|ICONEXCLAMATION|ICONINFORMATION|ICONQUESTION|ICONSTOP|OK|OKCANCEL|RETRYCANCEL|RIGHT|RTLREADING|SETFOREGROUND|TOPMOST|USERICON|YESNO)|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY|admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user)\b/,constant:/\$\{[!\w\.:\^-]+\}|\$\([!\w\.:\^-]+\)/,variable:/\$\w[\w\.]*/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--?|\+\+?|<=?|>=?|==?=?|&&?|\|\|?|[?*\/~^%]/,punctuation:/[{}[\];(),.:]/,important:{pattern:/(^[\t ]*)!(?:addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversion|gettlbversion|if|ifdef|ifmacrodef|ifmacrondef|ifndef|include|insertmacro|macro|macroend|makensis|packhdr|pragma|searchparse|searchreplace|system|tempfile|undef|verbose|warning)\b/im,lookbehind:!0}}}e.exports=t,t.displayName="nsis",t.aliases=[]},9263:function(e,t,n){"use strict";var r=n(272);function a(e){e.register(r),e.languages.objectivec=e.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete e.languages.objectivec["class-name"],e.languages.objc=e.languages.objectivec}e.exports=a,a.displayName="objectivec",a.aliases=["objc"]},4974:function(e){"use strict";function t(e){e.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/}}e.exports=t,t.displayName="ocaml",t.aliases=[]},6296:function(e,t,n){"use strict";var r=n(272);function a(e){e.register(r),function(e){e.languages.opencl=e.languages.extend("c",{keyword:/\b(?:(?:__)?(?:constant|global|kernel|local|private|read_only|read_write|write_only)|__attribute__|auto|(?:bool|u?(?:char|int|long|short)|half|quad)(?:2|3|4|8|16)?|break|case|complex|const|continue|(?:double|float)(?:16(?:x(?:1|2|4|8|16))?|1x(?:1|2|4|8|16)|2(?:x(?:1|2|4|8|16))?|3|4(?:x(?:1|2|4|8|16))?|8(?:x(?:1|2|4|8|16))?)?|default|do|else|enum|extern|for|goto|if|imaginary|inline|packed|pipe|register|restrict|return|signed|sizeof|static|struct|switch|typedef|uniform|union|unsigned|void|volatile|while)\b/,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[fuhl]{0,4}/i,boolean:/\b(?:false|true)\b/,"constant-opencl-kernel":{pattern:/\b(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FILTER_(?:LINEAR|NEAREST)|(?:GLOBAL|LOCAL)_MEM_FENCE|NORMALIZED_COORDS_(?:FALSE|TRUE))|CL_(?:BGRA|(?:HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?[Ax]?|(?:(?:UN)?SIGNED|[US]NORM)_(?:INT(?:8|16|32))|UNORM_(?:INT_101010|SHORT_(?:555|565)))|(?:DBL|FLT|HALF)_(?:DIG|EPSILON|(?:MAX|MIN)(?:(?:_10)?_EXP)?|MANT_DIG)|FLT_RADIX|HUGE_VALF?|(?:INT|LONG|SCHAR|SHRT)_(?:MAX|MIN)|INFINITY|MAXFLOAT|M_(?:[12]_PI|2_SQRTPI|E|LN(?:2|10)|LOG(?:2|10)E?|PI(?:_[24])?|SQRT(?:1_2|2))(?:_F|_H)?|NAN|(?:UCHAR|UINT|ULONG|USHRT)_MAX)\b/,alias:"constant"}}),e.languages.insertBefore("opencl","class-name",{"builtin-type":{pattern:/\b(?:_cl_(?:command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|cl_(?:image_format|mem_fence_flags)|clk_event_t|event_t|image(?:1d_(?:array_|buffer_)?t|2d_(?:array_(?:depth_|msaa_depth_|msaa_)?|depth_|msaa_depth_|msaa_)?t|3d_t)|intptr_t|ndrange_t|ptrdiff_t|queue_t|reserve_id_t|sampler_t|size_t|uintptr_t)\b/,alias:"keyword"}});var t={"type-opencl-host":{pattern:/\b(?:cl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(?:order|type)|(?:u?(?:char|int|long|short)|double|float)(?:2|3|4|8|16)?|command_(?:queue(?:_info|_properties)?|type)|context(?:_info|_properties)?|device_(?:exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(?:event|sampler)(?:_info)?|filter_mode|half|image_info|kernel(?:_info|_work_group_info)?|map_flags|mem(?:_flags|_info|_object_type)?|platform_(?:id|info)|profiling_info|program(?:_build_info|_info)?))\b/,alias:"keyword"},"boolean-opencl-host":{pattern:/\bCL_(?:FALSE|TRUE)\b/,alias:"boolean"},"constant-opencl-host":{pattern:/\bCL_(?:A|ABGR|ADDRESS_(?:CLAMP(?:_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(?:ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(?:ACQUIRE_GL_OBJECTS|BARRIER|COPY_(?:BUFFER(?:_RECT|_TO_IMAGE)?|IMAGE(?:_TO_BUFFER)?)|FILL_(?:BUFFER|IMAGE)|MAP(?:_BUFFER|_IMAGE)|MARKER|MIGRATE(?:_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(?:BUFFER(?:_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(?:FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(?:BUFFER(?:_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(?:DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(?:_STENCIL)?|DEVICE_(?:ADDRESS_BITS|AFFINITY_DOMAIN_(?:L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(?:MEM_(?:CACHELINE_SIZE|CACHE_SIZE|CACHE_TYPE|SIZE)|VARIABLE_PREFERRED_TOTAL_SIZE)|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(?:2D_MAX_(?:HEIGHT|WIDTH)|3D_MAX_(?:DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(?:CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(?:EVENTS|QUEUES)|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(?:AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(?:AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(?:ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(?:GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(?:ON_(?:DEVICE_(?:MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(?:ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(?:_ACCELERATOR|_ALL|_CPU|_CUSTOM|_DEFAULT|_GPU)?|VENDOR(?:_ID)?|VERSION)|DRIVER_VERSION|EVENT_(?:COMMAND_(?:EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(?:KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(?:LINEAR|NEAREST)|FLOAT|FP_(?:CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(?:ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(?:ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(?:ARG_(?:ACCESS_(?:NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(?:CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(?:CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(?:FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(?:ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(?:ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(?:CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(?:HOST_MEMORY|RESOURCES)|PIPE_(?:MAX_PACKETS|PACKET_SIZE)|PLATFORM_(?:EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(?:COMMAND_(?:COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(?:BINARIES|BINARY_SIZES|BINARY_TYPE(?:_COMPILED_OBJECT|_EXECUTABLE|_LIBRARY|_NONE)?|BUILD_(?:GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(?:CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(?:ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(?:ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(?:UN)?SIGNED_INT(?:8|16|32)|SNORM_INT(?:8|16)|SUBMITTED|SUCCESS|UNORM_INT(?:8|16|24|_101010|_101010_2)|UNORM_SHORT_(?:555|565)|VERSION_(?:1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)\b/,alias:"constant"},"function-opencl-host":{pattern:/\bcl(?:BuildProgram|CloneKernel|CompileProgram|Create(?:Buffer|CommandQueue(?:WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(?:Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue(?:(?:Barrier|Marker)(?:WithWaitList)?|Copy(?:Buffer(?:Rect|ToImage)?|Image(?:ToBuffer)?)|(?:Fill|Map)(?:Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(?:Read|Write)(?:Buffer(?:Rect)?|Image)|SVM(?:Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(?:CommandQueueInfo|ContextInfo|Device(?:AndHostTimer|IDs|Info)|Event(?:Profiling)?Info|ExtensionFunctionAddress(?:ForPlatform)?|HostTimer|ImageInfo|Kernel(?:ArgInfo|Info|SubGroupInfo|WorkGroupInfo)|MemObjectInfo|PipeInfo|Platform(?:IDs|Info)|Program(?:Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|(?:Release|Retain)(?:CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(?:Alloc|Free)|Set(?:CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel|Kernel(?:Arg(?:SVMPointer)?|ExecInfo)|MemObjectDestructorCallback|UserEventStatus)|Unload(?:Platform)?Compiler|WaitForEvents)\b/,alias:"function"}};e.languages.insertBefore("c","keyword",t),e.languages.cpp&&(t["type-opencl-host-cpp"]={pattern:/\b(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|Sampler|UserEvent)\b/,alias:"keyword"},e.languages.insertBefore("cpp","keyword",t))}(e)}e.exports=a,a.displayName="opencl",a.aliases=[]},6778:function(e){"use strict";function t(e){e.languages.openqasm={comment:/\/\*[\s\S]*?\*\/|\/\/.*/,string:{pattern:/"[^"\r\n\t]*"|'[^'\r\n\t]*'/,greedy:!0},keyword:/\b(?:CX|OPENQASM|U|barrier|boxas|boxto|break|const|continue|ctrl|def|defcal|defcalgrammar|delay|else|end|for|gate|gphase|if|in|include|inv|kernel|lengthof|let|measure|pow|reset|return|rotary|stretchinf|while)\b|#pragma\b/,"class-name":/\b(?:angle|bit|bool|creg|fixed|float|int|length|qreg|qubit|stretch|uint)\b/,function:/\b(?:cos|exp|ln|popcount|rotl|rotr|sin|sqrt|tan)\b(?=\s*\()/,constant:/\b(?:euler|pi|tau)\b|\u03c0|\ud835\udf0f|\u2107/,number:{pattern:/(^|[^.\w$])(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?(?:dt|ns|us|\xb5s|ms|s)?/i,lookbehind:!0},operator:/->|>>=?|<<=?|&&|\|\||\+\+|--|[!=<>&|~^+\-*/%]=?|@/,punctuation:/[(){}\[\];,:.]/},e.languages.qasm=e.languages.openqasm}e.exports=t,t.displayName="openqasm",t.aliases=["qasm"]},6792:function(e){"use strict";function t(e){e.languages.oz={comment:{pattern:/\/\*[\s\S]*?\*\/|%.*/,greedy:!0},string:{pattern:/"(?:[^"\\]|\\[\s\S])*"/,greedy:!0},atom:{pattern:/'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,alias:"builtin"},keyword:/\$|\[\]|\b(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\b/,function:[/\b[a-z][A-Za-z\d]*(?=\()/,{pattern:/(\{)[A-Z][A-Za-z\d]*\b/,lookbehind:!0}],number:/\b(?:0[bx][\da-f]+|\d+(?:\.\d*)?(?:e~?\d+)?)\b|&(?:[^\\]|\\(?:\d{3}|.))/i,variable:/`(?:[^`\\]|\\.)+`/,"attr-name":/\b\w+(?=[ \t]*:(?![:=]))/,operator:/:(?:=|::?)|<[-:=]?|=(?:=|<?:?)|>=?:?|\\=:?|!!?|[|#+\-*\/,~^@]|\b(?:andthen|div|mod|orelse)\b/,punctuation:/[\[\](){}.:;?]/}}e.exports=t,t.displayName="oz",t.aliases=[]},6478:function(e){"use strict";function t(e){e.languages.parigp={comment:/\/\*[\s\S]*?\*\/|\\\\.*/,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"/,greedy:!0},keyword:function(){var e=["breakpoint","break","dbg_down","dbg_err","dbg_up","dbg_x","forcomposite","fordiv","forell","forpart","forprime","forstep","forsubgroup","forvec","for","iferr","if","local","my","next","return","until","while"];return e=e.map((function(e){return e.split("").join(" *")})).join("|"),RegExp("\\b(?:"+e+")\\b")}(),function:/\b\w(?:[\w ]*\w)?(?= *\()/,number:{pattern:/((?:\. *\. *)?)(?:\b\d(?: *\d)*(?: *(?!\. *\.)\.(?: *\d)*)?|\. *\d(?: *\d)*)(?: *e *(?:[+-] *)?\d(?: *\d)*)?/i,lookbehind:!0},operator:/\. *\.|[*\/!](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\+(?: *[+=])?|-(?: *[-=>])?|<(?: *>|(?: *<)?(?: *=)?)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\(?: *\/)?(?: *=)?|&(?: *&)?|\| *\||['#~^]/,punctuation:/[\[\]{}().,:;|]/}}e.exports=t,t.displayName="parigp",t.aliases=[]},6806:function(e){"use strict";function t(e){!function(e){var t=e.languages.parser=e.languages.extend("markup",{keyword:{pattern:/(^|[^^])(?:\^(?:case|eval|for|if|switch|throw)\b|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)\b)/,lookbehind:!0},variable:{pattern:/(^|[^^])\B\$(?:\w+|(?=[.{]))(?:(?:\.|::?)\w+)*(?:\.|::?)?/,lookbehind:!0,inside:{punctuation:/\.|:+/}},function:{pattern:/(^|[^^])\B[@^]\w+(?:(?:\.|::?)\w+)*(?:\.|::?)?/,lookbehind:!0,inside:{keyword:{pattern:/(^@)(?:GET_|SET_)/,lookbehind:!0},punctuation:/\.|:+/}},escape:{pattern:/\^(?:[$^;@()\[\]{}"':]|#[a-f\d]*)/i,alias:"builtin"},punctuation:/[\[\](){};]/});t=e.languages.insertBefore("parser","keyword",{"parser-comment":{pattern:/(\s)#.*/,lookbehind:!0,alias:"comment"},expression:{pattern:/(^|[^^])\((?:[^()]|\((?:[^()]|\((?:[^()])*\))*\))*\)/,greedy:!0,lookbehind:!0,inside:{string:{pattern:/(^|[^^])(["'])(?:(?!\2)[^^]|\^[\s\S])*\2/,lookbehind:!0},keyword:t.keyword,variable:t.variable,function:t.function,boolean:/\b(?:false|true)\b/,number:/\b(?:0x[a-f\d]+|\d+(?:\.\d*)?(?:e[+-]?\d+)?)\b/i,escape:t.escape,operator:/[~+*\/\\%]|!(?:\|\|?|=)?|&&?|\|\|?|==|<[<=]?|>[>=]?|-[fd]?|\b(?:def|eq|ge|gt|in|is|le|lt|ne)\b/,punctuation:t.punctuation}}}),e.languages.insertBefore("inside","punctuation",{expression:t.expression,keyword:t.keyword,variable:t.variable,function:t.function,escape:t.escape,"parser-punctuation":{pattern:t.punctuation,alias:"punctuation"}},t.tag.inside["attr-value"])}(e)}e.exports=t,t.displayName="parser",t.aliases=[]},347:function(e){"use strict";function t(e){e.languages.pascal={directive:{pattern:/\{\$[\s\S]*?\}/,greedy:!0,alias:["marco","property"]},comment:{pattern:/\(\*[\s\S]*?\*\)|\{[\s\S]*?\}|\/\/.*/,greedy:!0},string:{pattern:/(?:'(?:''|[^'\r\n])*'(?!')|#[&$%]?[a-f\d]+)+|\^[a-z]/i,greedy:!0},asm:{pattern:/(\basm\b)[\s\S]+?(?=\bend\s*[;[])/i,lookbehind:!0,greedy:!0,inside:null},keyword:[{pattern:/(^|[^&])\b(?:absolute|array|asm|begin|case|const|constructor|destructor|do|downto|else|end|file|for|function|goto|if|implementation|inherited|inline|interface|label|nil|object|of|operator|packed|procedure|program|record|reintroduce|repeat|self|set|string|then|to|type|unit|until|uses|var|while|with)\b/i,lookbehind:!0},{pattern:/(^|[^&])\b(?:dispose|exit|false|new|true)\b/i,lookbehind:!0},{pattern:/(^|[^&])\b(?:class|dispinterface|except|exports|finalization|finally|initialization|inline|library|on|out|packed|property|raise|resourcestring|threadvar|try)\b/i,lookbehind:!0},{pattern:/(^|[^&])\b(?:absolute|abstract|alias|assembler|bitpacked|break|cdecl|continue|cppdecl|cvar|default|deprecated|dynamic|enumerator|experimental|export|external|far|far16|forward|generic|helper|implements|index|interrupt|iochecks|local|message|name|near|nodefault|noreturn|nostackframe|oldfpccall|otherwise|overload|override|pascal|platform|private|protected|public|published|read|register|reintroduce|result|safecall|saveregisters|softfloat|specialize|static|stdcall|stored|strict|unaligned|unimplemented|varargs|virtual|write)\b/i,lookbehind:!0}],number:[/(?:[&%]\d+|\$[a-f\d]+)/i,/\b\d+(?:\.\d+)?(?:e[+-]?\d+)?/i],operator:[/\.\.|\*\*|:=|<[<=>]?|>[>=]?|[+\-*\/]=?|[@^=]/,{pattern:/(^|[^&])\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\b/,lookbehind:!0}],punctuation:/\(\.|\.\)|[()\[\]:;,.]/},e.languages.pascal.asm.inside=e.languages.extend("pascal",{asm:void 0,keyword:void 0,operator:void 0}),e.languages.objectpascal=e.languages.pascal}e.exports=t,t.displayName="pascal",t.aliases=["objectpascal"]},7976:function(e){"use strict";function t(e){!function(e){var t=/\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\)/.source,n=/(?:\b\w+(?:<braces>)?|<braces>)/.source.replace(/<braces>/g,(function(){return t})),r=e.languages.pascaligo={comment:/\(\*[\s\S]+?\*\)|\/\/.*/,string:{pattern:/(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1|\^[a-z]/i,greedy:!0},"class-name":[{pattern:RegExp(/(\btype\s+\w+\s+is\s+)<type>/.source.replace(/<type>/g,(function(){return n})),"i"),lookbehind:!0,inside:null},{pattern:RegExp(/<type>(?=\s+is\b)/.source.replace(/<type>/g,(function(){return n})),"i"),inside:null},{pattern:RegExp(/(:\s*)<type>/.source.replace(/<type>/g,(function(){return n}))),lookbehind:!0,inside:null}],keyword:{pattern:/(^|[^&])\b(?:begin|block|case|const|else|end|fail|for|from|function|if|is|nil|of|remove|return|skip|then|type|var|while|with)\b/i,lookbehind:!0},boolean:{pattern:/(^|[^&])\b(?:False|True)\b/i,lookbehind:!0},builtin:{pattern:/(^|[^&])\b(?:bool|int|list|map|nat|record|string|unit)\b/i,lookbehind:!0},function:/\b\w+(?=\s*\()/,number:[/%[01]+|&[0-7]+|\$[a-f\d]+/i,/\b\d+(?:\.\d+)?(?:e[+-]?\d+)?(?:mtz|n)?/i],operator:/->|=\/=|\.\.|\*\*|:=|<[<=>]?|>[>=]?|[+\-*\/]=?|[@^=|]|\b(?:and|mod|or)\b/,punctuation:/\(\.|\.\)|[()\[\]:;,.{}]/},a=["comment","keyword","builtin","operator","punctuation"].reduce((function(e,t){return e[t]=r[t],e}),{});r["class-name"].forEach((function(e){e.inside=a}))}(e)}e.exports=t,t.displayName="pascaligo",t.aliases=[]},7484:function(e){"use strict";function t(e){e.languages.pcaxis={string:/"[^"]*"/,keyword:{pattern:/((?:^|;)\s*)[-A-Z\d]+(?:\s*\[[-\w]+\])?(?:\s*\("[^"]*"(?:,\s*"[^"]*")*\))?(?=\s*=)/,lookbehind:!0,greedy:!0,inside:{keyword:/^[-A-Z\d]+/,language:{pattern:/^(\s*)\[[-\w]+\]/,lookbehind:!0,inside:{punctuation:/^\[|\]$/,property:/[-\w]+/}},"sub-key":{pattern:/^(\s*)\S[\s\S]*/,lookbehind:!0,inside:{parameter:{pattern:/"[^"]*"/,alias:"property"},punctuation:/^\(|\)$|,/}}}},operator:/=/,tlist:{pattern:/TLIST\s*\(\s*\w+(?:(?:\s*,\s*"[^"]*")+|\s*,\s*"[^"]*"-"[^"]*")?\s*\)/,greedy:!0,inside:{function:/^TLIST/,property:{pattern:/^(\s*\(\s*)\w+/,lookbehind:!0},string:/"[^"]*"/,punctuation:/[(),]/,operator:/-/}},punctuation:/[;,]/,number:{pattern:/(^|\s)\d+(?:\.\d+)?(?!\S)/,lookbehind:!0},boolean:/NO|YES/},e.languages.px=e.languages.pcaxis}e.exports=t,t.displayName="pcaxis",t.aliases=["px"]},3205:function(e){"use strict";function t(e){e.languages.peoplecode={comment:RegExp([/\/\*[\s\S]*?\*\//.source,/\bREM[^;]*;/.source,/<\*(?:[^<*]|\*(?!>)|<(?!\*)|<\*(?:(?!\*>)[\s\S])*\*>)*\*>/.source,/\/\+[\s\S]*?\+\//.source].join("|")),string:{pattern:/'(?:''|[^'\r\n])*'(?!')|"(?:""|[^"\r\n])*"(?!")/,greedy:!0},variable:/%\w+/,"function-definition":{pattern:/((?:^|[^\w-])(?:function|method)\s+)\w+/i,lookbehind:!0,alias:"function"},"class-name":{pattern:/((?:^|[^-\w])(?:as|catch|class|component|create|extends|global|implements|instance|local|of|property|returns)\s+)\w+(?::\w+)*/i,lookbehind:!0,inside:{punctuation:/:/}},keyword:/\b(?:abstract|alias|as|catch|class|component|constant|create|declare|else|end-(?:class|evaluate|for|function|get|if|method|set|try|while)|evaluate|extends|for|function|get|global|if|implements|import|instance|library|local|method|null|of|out|peopleCode|private|program|property|protected|readonly|ref|repeat|returns?|set|step|then|throw|to|try|until|value|when(?:-other)?|while)\b/i,"operator-keyword":{pattern:/\b(?:and|not|or)\b/i,alias:"operator"},function:/[_a-z]\w*(?=\s*\()/i,boolean:/\b(?:false|true)\b/i,number:/\b\d+(?:\.\d+)?\b/,operator:/<>|[<>]=?|!=|\*\*|[-+*/|=@]/,punctuation:/[:.;,()[\]]/},e.languages.pcode=e.languages.peoplecode}e.exports=t,t.displayName="peoplecode",t.aliases=["pcode"]},1797:function(e){"use strict";function t(e){!function(e){var t=/(?:\((?:[^()\\]|\\[\s\S])*\)|\{(?:[^{}\\]|\\[\s\S])*\}|\[(?:[^[\]\\]|\\[\s\S])*\]|<(?:[^<>\\]|\\[\s\S])*>)/.source;e.languages.perl={comment:[{pattern:/(^\s*)=\w[\s\S]*?=cut.*/m,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\$])#.*/,lookbehind:!0,greedy:!0}],string:[{pattern:RegExp(/\b(?:q|qq|qw|qx)(?![a-zA-Z0-9])\s*/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,t].join("|")+")"),greedy:!0},{pattern:/("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/'(?:[^'\\\r\n]|\\.)*'/,greedy:!0}],regex:[{pattern:RegExp(/\b(?:m|qr)(?![a-zA-Z0-9])\s*/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,t].join("|")+")"+/[msixpodualngc]*/.source),greedy:!0},{pattern:RegExp(/(^|[^-])\b(?:s|tr|y)(?![a-zA-Z0-9])\s*/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,/([a-zA-Z0-9])(?:(?!\3)[^\\]|\\[\s\S])*\3(?:(?!\3)[^\\]|\\[\s\S])*\3/.source,t+/\s*/.source+t].join("|")+")"+/[msixpodualngcer]*/.source),lookbehind:!0,greedy:!0},{pattern:/\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|x|xor)\b))/,greedy:!0}],variable:[/[&*$@%]\{\^[A-Z]+\}/,/[&*$@%]\^[A-Z_]/,/[&*$@%]#?(?=\{)/,/[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+(?![\w$]))+(?:::)*/,/[&*$@%]\d+/,/(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/],filehandle:{pattern:/<(?![<=])\S*?>|\b_\b/,alias:"symbol"},"v-string":{pattern:/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/,alias:"string"},function:{pattern:/(\bsub[ \t]+)\w+/,lookbehind:!0},keyword:/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/,number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/,operator:/-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)\b/,punctuation:/[{}[\];(),:]/}}(e)}e.exports=t,t.displayName="perl",t.aliases=[]},7241:function(e,t,n){"use strict";var r=n(7304);function a(e){e.register(r),e.languages.insertBefore("php","variable",{this:{pattern:/\$this\b/,alias:"keyword"},global:/\$(?:GLOBALS|HTTP_RAW_POST_DATA|_(?:COOKIE|ENV|FILES|GET|POST|REQUEST|SERVER|SESSION)|argc|argv|http_response_header|php_errormsg)\b/,scope:{pattern:/\b[\w\\]+::/,inside:{keyword:/\b(?:parent|self|static)\b/,punctuation:/::|\\/}}})}e.exports=a,a.displayName="phpExtras",a.aliases=[]},7304:function(e,t,n){"use strict";var r=n(595);function a(e){e.register(r),function(e){var t=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,n=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],r=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,a=/<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,i=/[{}\[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:t,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s+)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:r,operator:a,punctuation:i};var o={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},s=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:o}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:o}}];e.languages.insertBefore("php","variable",{string:s,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:t,string:s,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,number:r,operator:a,punctuation:i}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),e.hooks.add("before-tokenize",(function(t){if(/<\?/.test(t.code)){e.languages["markup-templating"].buildPlaceholders(t,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)}})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"php")}))}(e)}e.exports=a,a.displayName="php",a.aliases=[]},7613:function(e,t,n){"use strict";var r=n(7304),a=n(9285);function i(e){e.register(r),e.register(a),function(e){var t=/(?:\b[a-zA-Z]\w*|[|\\[\]])+/.source;e.languages.phpdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp("(@(?:global|param|property(?:-read|-write)?|var)\\s+(?:"+t+"\\s+)?)\\$\\w+"),lookbehind:!0}}),e.languages.insertBefore("phpdoc","keyword",{"class-name":[{pattern:RegExp("(@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\\s+)"+t),lookbehind:!0,inside:{keyword:/\b(?:array|bool|boolean|callback|double|false|float|int|integer|mixed|null|object|resource|self|string|true|void)\b/,punctuation:/[|\\[\]()]/}}]}),e.languages.javadoclike.addSupport("php",e.languages.phpdoc)}(e)}e.exports=i,i.displayName="phpdoc",i.aliases=[]},7363:function(e,t,n){"use strict";var r=n(7740);function a(e){e.register(r),e.languages.plsql=e.languages.extend("sql",{comment:{pattern:/\/\*[\s\S]*?\*\/|--.*/,greedy:!0},keyword:/\b(?:A|ACCESSIBLE|ADD|AGENT|AGGREGATE|ALL|ALTER|AND|ANY|ARRAY|AS|ASC|AT|ATTRIBUTE|AUTHID|AVG|BEGIN|BETWEEN|BFILE_BASE|BINARY|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BULK|BY|BYTE|C|CALL|CALLING|CASCADE|CASE|CHAR|CHARACTER|CHARSET|CHARSETFORM|CHARSETID|CHAR_BASE|CHECK|CLOB_BASE|CLONE|CLOSE|CLUSTER|CLUSTERS|COLAUTH|COLLECT|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPILED|COMPRESS|CONNECT|CONSTANT|CONSTRUCTOR|CONTEXT|CONTINUE|CONVERT|COUNT|CRASH|CREATE|CREDENTIAL|CURRENT|CURSOR|CUSTOMDATUM|DANGLING|DATA|DATE|DATE_BASE|DAY|DECLARE|DEFAULT|DEFINE|DELETE|DESC|DETERMINISTIC|DIRECTORY|DISTINCT|DOUBLE|DROP|DURATION|ELEMENT|ELSE|ELSIF|EMPTY|END|ESCAPE|EXCEPT|EXCEPTION|EXCEPTIONS|EXCLUSIVE|EXECUTE|EXISTS|EXIT|EXTERNAL|FETCH|FINAL|FIRST|FIXED|FLOAT|FOR|FORALL|FORCE|FROM|FUNCTION|GENERAL|GOTO|GRANT|GROUP|HASH|HAVING|HEAP|HIDDEN|HOUR|IDENTIFIED|IF|IMMEDIATE|IMMUTABLE|IN|INCLUDING|INDEX|INDEXES|INDICATOR|INDICES|INFINITE|INSERT|INSTANTIABLE|INT|INTERFACE|INTERSECT|INTERVAL|INTO|INVALIDATE|IS|ISOLATION|JAVA|LANGUAGE|LARGE|LEADING|LENGTH|LEVEL|LIBRARY|LIKE|LIKE2|LIKE4|LIKEC|LIMIT|LIMITED|LOCAL|LOCK|LONG|LOOP|MAP|MAX|MAXLEN|MEMBER|MERGE|MIN|MINUS|MINUTE|MOD|MODE|MODIFY|MONTH|MULTISET|MUTABLE|NAME|NAN|NATIONAL|NATIVE|NCHAR|NEW|NOCOMPRESS|NOCOPY|NOT|NOWAIT|NULL|NUMBER_BASE|OBJECT|OCICOLL|OCIDATE|OCIDATETIME|OCIDURATION|OCIINTERVAL|OCILOBLOCATOR|OCINUMBER|OCIRAW|OCIREF|OCIREFCURSOR|OCIROWID|OCISTRING|OCITYPE|OF|OLD|ON|ONLY|OPAQUE|OPEN|OPERATOR|OPTION|OR|ORACLE|ORADATA|ORDER|ORGANIZATION|ORLANY|ORLVARY|OTHERS|OUT|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETER|PARAMETERS|PARENT|PARTITION|PASCAL|PERSISTABLE|PIPE|PIPELINED|PLUGGABLE|POLYMORPHIC|PRAGMA|PRECISION|PRIOR|PRIVATE|PROCEDURE|PUBLIC|RAISE|RANGE|RAW|READ|RECORD|REF|REFERENCE|RELIES_ON|REM|REMAINDER|RENAME|RESOURCE|RESULT|RESULT_CACHE|RETURN|RETURNING|REVERSE|REVOKE|ROLLBACK|ROW|SAMPLE|SAVE|SAVEPOINT|SB1|SB2|SB4|SECOND|SEGMENT|SELECT|SELF|SEPARATE|SEQUENCE|SERIALIZABLE|SET|SHARE|SHORT|SIZE|SIZE_T|SOME|SPARSE|SQL|SQLCODE|SQLDATA|SQLNAME|SQLSTATE|STANDARD|START|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUM|SYNONYM|TABAUTH|TABLE|TDO|THE|THEN|TIME|TIMESTAMP|TIMEZONE_ABBR|TIMEZONE_HOUR|TIMEZONE_MINUTE|TIMEZONE_REGION|TO|TRAILING|TRANSACTION|TRANSACTIONAL|TRUSTED|TYPE|UB1|UB2|UB4|UNDER|UNION|UNIQUE|UNPLUG|UNSIGNED|UNTRUSTED|UPDATE|USE|USING|VALIST|VALUE|VALUES|VARIABLE|VARIANCE|VARRAY|VARYING|VIEW|VIEWS|VOID|WHEN|WHERE|WHILE|WITH|WORK|WRAPPED|WRITE|YEAR|ZONE)\b/i,operator:/:=?|=>|[<>^~!]=|\.\.|\|\||\*\*|[-+*/%<>=@]/}),e.languages.insertBefore("plsql","operator",{label:{pattern:/<<\s*\w+\s*>>/,alias:"symbol"}})}e.exports=a,a.displayName="plsql",a.aliases=[]},7953:function(e){"use strict";function t(e){e.languages.powerquery={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},"quoted-identifier":{pattern:/#"(?:[^"\r\n]|"")*"(?!")/,greedy:!0},string:{pattern:/(?:#!)?"(?:[^"\r\n]|"")*"(?!")/,greedy:!0},constant:[/\bDay\.(?:Friday|Monday|Saturday|Sunday|Thursday|Tuesday|Wednesday)\b/,/\bTraceLevel\.(?:Critical|Error|Information|Verbose|Warning)\b/,/\bOccurrence\.(?:All|First|Last)\b/,/\bOrder\.(?:Ascending|Descending)\b/,/\bRoundingMode\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)\b/,/\bMissingField\.(?:Error|Ignore|UseNull)\b/,/\bQuoteStyle\.(?:Csv|None)\b/,/\bJoinKind\.(?:FullOuter|Inner|LeftAnti|LeftOuter|RightAnti|RightOuter)\b/,/\bGroupKind\.(?:Global|Local)\b/,/\bExtraValues\.(?:Error|Ignore|List)\b/,/\bJoinAlgorithm\.(?:Dynamic|LeftHash|LeftIndex|PairwiseHash|RightHash|RightIndex|SortMerge)\b/,/\bJoinSide\.(?:Left|Right)\b/,/\bPrecision\.(?:Decimal|Double)\b/,/\bRelativePosition\.From(?:End|Start)\b/,/\bTextEncoding\.(?:Ascii|BigEndianUnicode|Unicode|Utf16|Utf8|Windows)\b/,/\b(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Function|Int16|Int32|Int64|Int8|List|Logical|None|Number|Record|Table|Text|Time)\.Type\b/,/\bnull\b/],boolean:/\b(?:false|true)\b/,keyword:/\b(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwise|section|shared|then|try|type)\b|#(?:binary|date|datetime|datetimezone|duration|infinity|nan|sections|shared|table|time)\b/,function:{pattern:/(^|[^#\w.])[a-z_][\w.]*(?=\s*\()/i,lookbehind:!0},"data-type":{pattern:/\b(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time)\b/,alias:"class-name"},number:{pattern:/\b0x[\da-f]+\b|(?:[+-]?(?:\b\d+\.)?\b\d+|[+-]\.\d+|(^|[^.])\B\.\d+)(?:e[+-]?\d+)?\b/i,lookbehind:!0},operator:/[-+*\/&?@^]|<(?:=>?|>)?|>=?|=>?|\.\.\.?/,punctuation:/[,;\[\](){}]/},e.languages.pq=e.languages.powerquery,e.languages.mscript=e.languages.powerquery}e.exports=t,t.displayName="powerquery",t.aliases=[]},4986:function(e){"use strict";function t(e){!function(e){var t=e.languages.powershell={comment:[{pattern:/(^|[^`])<#[\s\S]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.*/,lookbehind:!0}],string:[{pattern:/"(?:`[\s\S]|[^`"])*"/,greedy:!0,inside:null},{pattern:/'(?:[^']|'')*'/,greedy:!0}],namespace:/\[[a-z](?:\[(?:\[[^\]]*\]|[^\[\]])*\]|[^\[\]])*\]/i,boolean:/\$(?:false|true)\b/i,variable:/\$\w+\b/,function:[/\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i,/\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i],keyword:/\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,operator:{pattern:/(^|\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\b|-[-=]?|\+[+=]?|[*\/%]=?)/i,lookbehind:!0},punctuation:/[|{}[\];(),.]/};t.string[0].inside={function:{pattern:/(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/,lookbehind:!0,inside:t},boolean:t.boolean,variable:t.variable}}(e)}e.exports=t,t.displayName="powershell",t.aliases=[]},4970:function(e){"use strict";function t(e){e.languages.processing=e.languages.extend("clike",{keyword:/\b(?:break|case|catch|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\b/,function:/\b\w+(?=\s*\()/,operator:/<[<=]?|>[>=]?|&&?|\|\|?|[%?]|[!=+\-*\/]=?/}),e.languages.insertBefore("processing","number",{constant:/\b(?!XML\b)[A-Z][A-Z\d_]+\b/,type:{pattern:/\b(?:boolean|byte|char|color|double|float|int|[A-Z]\w*)\b/,alias:"class-name"}})}e.exports=t,t.displayName="processing",t.aliases=[]},5725:function(e){"use strict";function t(e){e.languages.prolog={comment:{pattern:/\/\*[\s\S]*?\*\/|%.*/,greedy:!0},string:{pattern:/(["'])(?:\1\1|\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1(?!\1)/,greedy:!0},builtin:/\b(?:fx|fy|xf[xy]?|yfx?)\b/,function:/\b[a-z]\w*(?:(?=\()|\/\d+)/,number:/\b\d+(?:\.\d*)?/,operator:/[:\\=><\-?*@\/;+^|!$.]+|\b(?:is|mod|not|xor)\b/,punctuation:/[(){}\[\],]/}}e.exports=t,t.displayName="prolog",t.aliases=[]},7415:function(e){"use strict";function t(e){!function(e){var t=["on","ignoring","group_right","group_left","by","without"],n=["sum","min","max","avg","group","stddev","stdvar","count","count_values","bottomk","topk","quantile"].concat(t,["offset"]);e.languages.promql={comment:{pattern:/(^[ \t]*)#.*/m,lookbehind:!0},"vector-match":{pattern:new RegExp("((?:"+t.join("|")+")\\s*)\\([^)]*\\)"),lookbehind:!0,inside:{"label-key":{pattern:/\b[^,]+\b/,alias:"attr-name"},punctuation:/[(),]/}},"context-labels":{pattern:/\{[^{}]*\}/,inside:{"label-key":{pattern:/\b[a-z_]\w*(?=\s*(?:=|![=~]))/,alias:"attr-name"},"label-value":{pattern:/(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0,alias:"attr-value"},punctuation:/\{|\}|=~?|![=~]|,/}},"context-range":[{pattern:/\[[\w\s:]+\]/,inside:{punctuation:/\[|\]|:/,"range-duration":{pattern:/\b(?:\d+(?:[smhdwy]|ms))+\b/i,alias:"number"}}},{pattern:/(\boffset\s+)\w+/,lookbehind:!0,inside:{"range-duration":{pattern:/\b(?:\d+(?:[smhdwy]|ms))+\b/i,alias:"number"}}}],keyword:new RegExp("\\b(?:"+n.join("|")+")\\b","i"),function:/\b[a-z_]\w*(?=\s*\()/i,number:/[-+]?(?:(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:e[-+]?\d+)?\b|\b(?:0x[0-9a-f]+|nan|inf)\b)/i,operator:/[\^*/%+-]|==|!=|<=|<|>=|>|\b(?:and|or|unless)\b/i,punctuation:/[{};()`,.[\]]/}}(e)}e.exports=t,t.displayName="promql",t.aliases=[]},9164:function(e){"use strict";function t(e){e.languages.properties={comment:/^[ \t]*[#!].*$/m,"attr-value":{pattern:/(^[ \t]*(?:\\(?:\r\n|[\s\S])|[^\\\s:=])+(?: *[=:] *(?! )| ))(?:\\(?:\r\n|[\s\S])|[^\\\r\n])+/m,lookbehind:!0},"attr-name":/^[ \t]*(?:\\(?:\r\n|[\s\S])|[^\\\s:=])+(?= *[=:]| )/m,punctuation:/[=:]/}}e.exports=t,t.displayName="properties",t.aliases=[]},4973:function(e){"use strict";function t(e){!function(e){var t=/\b(?:bool|bytes|double|s?fixed(?:32|64)|float|[su]?int(?:32|64)|string)\b/;e.languages.protobuf=e.languages.extend("clike",{"class-name":[{pattern:/(\b(?:enum|extend|message|service)\s+)[A-Za-z_]\w*(?=\s*\{)/,lookbehind:!0},{pattern:/(\b(?:rpc\s+\w+|returns)\s*\(\s*(?:stream\s+)?)\.?[A-Za-z_]\w*(?:\.[A-Za-z_]\w*)*(?=\s*\))/,lookbehind:!0}],keyword:/\b(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\s+\w)|service|stream|syntax|to)\b(?!\s*=\s*\d)/,function:/\b[a-z_]\w*(?=\s*\()/i}),e.languages.insertBefore("protobuf","operator",{map:{pattern:/\bmap<\s*[\w.]+\s*,\s*[\w.]+\s*>(?=\s+[a-z_]\w*\s*[=;])/i,alias:"class-name",inside:{punctuation:/[<>.,]/,builtin:t}},builtin:t,"positional-class-name":{pattern:/(?:\b|\B\.)[a-z_]\w*(?:\.[a-z_]\w*)*(?=\s+[a-z_]\w*\s*[=;])/i,alias:"class-name",inside:{punctuation:/\./}},annotation:{pattern:/(\[\s*)[a-z_]\w*(?=\s*=)/i,lookbehind:!0}})}(e)}e.exports=t,t.displayName="protobuf",t.aliases=[]},1344:function(e){"use strict";function t(e){e.languages.psl={comment:{pattern:/#.*/,greedy:!0},string:{pattern:/"(?:\\.|[^\\"])*"/,greedy:!0,inside:{symbol:/\\[ntrbA-Z"\\]/}},"heredoc-string":{pattern:/<<<([a-zA-Z_]\w*)[\r\n](?:.*[\r\n])*?\1\b/,alias:"string",greedy:!0},keyword:/\b(?:__multi|__single|case|default|do|else|elsif|exit|export|for|foreach|function|if|last|line|local|next|requires|return|switch|until|while|word)\b/,constant:/\b(?:ALARM|CHART_ADD_GRAPH|CHART_DELETE_GRAPH|CHART_DESTROY|CHART_LOAD|CHART_PRINT|EOF|OFFLINE|OK|PSL_PROF_LOG|R_CHECK_HORIZ|R_CHECK_VERT|R_CLICKER|R_COLUMN|R_FRAME|R_ICON|R_LABEL|R_LABEL_CENTER|R_LIST_MULTIPLE|R_LIST_MULTIPLE_ND|R_LIST_SINGLE|R_LIST_SINGLE_ND|R_MENU|R_POPUP|R_POPUP_SCROLLED|R_RADIO_HORIZ|R_RADIO_VERT|R_ROW|R_SCALE_HORIZ|R_SCALE_VERT|R_SEP_HORIZ|R_SEP_VERT|R_SPINNER|R_TEXT_FIELD|R_TEXT_FIELD_LABEL|R_TOGGLE|TRIM_LEADING|TRIM_LEADING_AND_TRAILING|TRIM_REDUNDANT|TRIM_TRAILING|VOID|WARN)\b/,boolean:/\b(?:FALSE|False|NO|No|TRUE|True|YES|Yes|false|no|true|yes)\b/,variable:/\b(?:PslDebug|errno|exit_status)\b/,builtin:{pattern:/\b(?:PslExecute|PslFunctionCall|PslFunctionExists|PslSetOptions|_snmp_debug|acos|add_diary|annotate|annotate_get|ascii_to_ebcdic|asctime|asin|atan|atexit|batch_set|blackout|cat|ceil|chan_exists|change_state|close|code_cvt|cond_signal|cond_wait|console_type|convert_base|convert_date|convert_locale_date|cos|cosh|create|date|dcget_text|destroy|destroy_lock|dget_text|difference|dump_hist|ebcdic_to_ascii|encrypt|event_archive|event_catalog_get|event_check|event_query|event_range_manage|event_range_query|event_report|event_schedule|event_trigger|event_trigger2|execute|exists|exp|fabs|file|floor|fmod|fopen|fseek|ftell|full_discovery|get|get_chan_info|get_ranges|get_text|get_vars|getenv|gethostinfo|getpid|getpname|grep|history|history_get_retention|in_transition|index|int|internal|intersection|is_var|isnumber|join|kill|length|lines|lock|lock_info|log|log10|loge|matchline|msg_check|msg_get_format|msg_get_severity|msg_printf|msg_sprintf|ntharg|nthargf|nthline|nthlinef|num_bytes|num_consoles|pconfig|popen|poplines|pow|print|printf|proc_exists|process|random|read|readln|refresh_parameters|remote_check|remote_close|remote_event_query|remote_event_trigger|remote_file_send|remote_open|remove|replace|rindex|sec_check_priv|sec_store_get|sec_store_set|set|set_alarm_ranges|set_locale|share|sin|sinh|sleep|snmp_agent_config|snmp_agent_start|snmp_agent_stop|snmp_close|snmp_config|snmp_get|snmp_get_next|snmp_h_get|snmp_h_get_next|snmp_h_set|snmp_open|snmp_set|snmp_trap_ignore|snmp_trap_listen|snmp_trap_raise_std_trap|snmp_trap_receive|snmp_trap_register_im|snmp_trap_send|snmp_walk|sopen|sort|splitline|sprintf|sqrt|srandom|str_repeat|strcasecmp|subset|substr|system|tail|tan|tanh|text_domain|time|tmpnam|tolower|toupper|trace_psl_process|trim|union|unique|unlock|unset|va_arg|va_start|write)\b/,alias:"builtin-function"},"foreach-variable":{pattern:/(\bforeach\s+(?:(?:\w+\b|"(?:\\.|[^\\"])*")\s+){0,2})[_a-zA-Z]\w*(?=\s*\()/,lookbehind:!0,greedy:!0},function:/\b[_a-z]\w*\b(?=\s*\()/i,number:/\b(?:0x[0-9a-f]+|\d+(?:\.\d+)?)\b/i,operator:/--|\+\+|&&=?|\|\|=?|<<=?|>>=?|[=!]~|[-+*/%&|^!=<>]=?|\.|[:?]/,punctuation:/[(){}\[\];,]/}}e.exports=t,t.displayName="psl",t.aliases=[]},9862:function(e){"use strict";function t(e){!function(e){e.languages.pug={comment:{pattern:/(^([\t ]*))\/\/.*(?:(?:\r?\n|\r)\2[\t ].+)*/m,lookbehind:!0},"multiline-script":{pattern:/(^([\t ]*)script\b.*\.[\t ]*)(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/m,lookbehind:!0,inside:e.languages.javascript},filter:{pattern:/(^([\t ]*)):.+(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/m,lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"},text:/\S[\s\S]*/}},"multiline-plain-text":{pattern:/(^([\t ]*)[\w\-#.]+\.[\t ]*)(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/m,lookbehind:!0},markup:{pattern:/(^[\t ]*)<.+/m,lookbehind:!0,inside:e.languages.markup},doctype:{pattern:/((?:^|\n)[\t ]*)doctype(?: .+)?/,lookbehind:!0},"flow-control":{pattern:/(^[\t ]*)(?:case|default|each|else|if|unless|when|while)\b(?: .+)?/m,lookbehind:!0,inside:{each:{pattern:/^each .+? in\b/,inside:{keyword:/\b(?:each|in)\b/,punctuation:/,/}},branch:{pattern:/^(?:case|default|else|if|unless|when|while)\b/,alias:"keyword"},rest:e.languages.javascript}},keyword:{pattern:/(^[\t ]*)(?:append|block|extends|include|prepend)\b.+/m,lookbehind:!0},mixin:[{pattern:/(^[\t ]*)mixin .+/m,lookbehind:!0,inside:{keyword:/^mixin/,function:/\w+(?=\s*\(|\s*$)/,punctuation:/[(),.]/}},{pattern:/(^[\t ]*)\+.+/m,lookbehind:!0,inside:{name:{pattern:/^\+\w+/,alias:"function"},rest:e.languages.javascript}}],script:{pattern:/(^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]).+/m,lookbehind:!0,inside:e.languages.javascript},"plain-text":{pattern:/(^[\t ]*(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]).+/m,lookbehind:!0},tag:{pattern:/(^[\t ]*)(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m,lookbehind:!0,inside:{attributes:[{pattern:/&[^(]+\([^)]+\)/,inside:e.languages.javascript},{pattern:/\([^)]+\)/,inside:{"attr-value":{pattern:/(=\s*(?!\s))(?:\{[^}]*\}|[^,)\r\n]+)/,lookbehind:!0,inside:e.languages.javascript},"attr-name":/[\w-]+(?=\s*!?=|\s*[,)])/,punctuation:/[!=(),]+/}}],punctuation:/:/,"attr-id":/#[\w\-]+/,"attr-class":/\.[\w\-]+/}},code:[{pattern:/(^[\t ]*(?:-|!?=)).+/m,lookbehind:!0,inside:e.languages.javascript}],punctuation:/[.\-!=|]+/};for(var t=/(^([\t ]*)):<filter_name>(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/.source,n=[{filter:"atpl",language:"twig"},{filter:"coffee",language:"coffeescript"},"ejs","handlebars","less","livescript","markdown",{filter:"sass",language:"scss"},"stylus"],r={},a=0,i=n.length;a<i;a++){var o=n[a];o="string"===typeof o?{filter:o,language:o}:o,e.languages[o.language]&&(r["filter-"+o.filter]={pattern:RegExp(t.replace("<filter_name>",(function(){return o.filter})),"m"),lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"},text:{pattern:/\S[\s\S]*/,alias:[o.language,"language-"+o.language],inside:e.languages[o.language]}}})}e.languages.insertBefore("pug","filter",r)}(e)}e.exports=t,t.displayName="pug",t.aliases=[]},354:function(e){"use strict";function t(e){!function(e){e.languages.puppet={heredoc:[{pattern:/(@\("([^"\r\n\/):]+)"(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r(?!\n)))*?[ \t]*(?:\|[ \t]*)?(?:-[ \t]*)?\2/,lookbehind:!0,alias:"string",inside:{punctuation:/(?=\S).*\S(?= *$)/}},{pattern:/(@\(([^"\r\n\/):]+)(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r(?!\n)))*?[ \t]*(?:\|[ \t]*)?(?:-[ \t]*)?\2/,lookbehind:!0,greedy:!0,alias:"string",inside:{punctuation:/(?=\S).*\S(?= *$)/}},{pattern:/@\("?(?:[^"\r\n\/):]+)"?(?:\/[nrts$uL]*)?\)/,alias:"string",inside:{punctuation:{pattern:/(\().+?(?=\))/,lookbehind:!0}}}],"multiline-comment":{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0,greedy:!0,alias:"comment"},regex:{pattern:/((?:\bnode\s+|[~=\(\[\{,]\s*|[=+]>\s*|^\s*))\/(?:[^\/\\]|\\[\s\S])+\/(?:[imx]+\b|\B)/,lookbehind:!0,greedy:!0,inside:{"extended-regex":{pattern:/^\/(?:[^\/\\]|\\[\s\S])+\/[im]*x[im]*$/,inside:{comment:/#.*/}}}},comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},string:{pattern:/(["'])(?:\$\{(?:[^'"}]|(["'])(?:(?!\2)[^\\]|\\[\s\S])*\2)+\}|\$(?!\{)|(?!\1)[^\\$]|\\[\s\S])*\1/,greedy:!0,inside:{"double-quoted":{pattern:/^"[\s\S]*"$/,inside:{}}}},variable:{pattern:/\$(?:::)?\w+(?:::\w+)*/,inside:{punctuation:/::/}},"attr-name":/(?:\b\w+|\*)(?=\s*=>)/,function:[{pattern:/(\.)(?!\d)\w+/,lookbehind:!0},/\b(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\b|\b(?!\d)\w+(?=\()/],number:/\b(?:0x[a-f\d]+|\d+(?:\.\d+)?(?:e-?\d+)?)\b/i,boolean:/\b(?:false|true)\b/,keyword:/\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\b/,datatype:{pattern:/\b(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)\b/,alias:"symbol"},operator:/=[=~>]?|![=~]?|<(?:<\|?|[=~|-])?|>[>=]?|->?|~>|\|>?>?|[*\/%+?]|\b(?:and|in|or)\b/,punctuation:/[\[\]{}().,;]|:+/};var t=[{pattern:/(^|[^\\])\$\{(?:[^'"{}]|\{[^}]*\}|(["'])(?:(?!\2)[^\\]|\\[\s\S])*\2)+\}/,lookbehind:!0,inside:{"short-variable":{pattern:/(^\$\{)(?!\w+\()(?:::)?\w+(?:::\w+)*/,lookbehind:!0,alias:"variable",inside:{punctuation:/::/}},delimiter:{pattern:/^\$/,alias:"variable"},rest:e.languages.puppet}},{pattern:/(^|[^\\])\$(?:::)?\w+(?:::\w+)*/,lookbehind:!0,alias:"variable",inside:{punctuation:/::/}}];e.languages.puppet.heredoc[0].inside.interpolation=t,e.languages.puppet.string.inside["double-quoted"].inside.interpolation=t}(e)}e.exports=t,t.displayName="puppet",t.aliases=[]},883:function(e){"use strict";function t(e){!function(e){e.languages.pure={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0},/#!.+/],"inline-lang":{pattern:/%<[\s\S]+?%>/,greedy:!0,inside:{lang:{pattern:/(^%< *)-\*-.+?-\*-/,lookbehind:!0,alias:"comment"},delimiter:{pattern:/^%<.*|%>$/,alias:"punctuation"}}},string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0},number:{pattern:/((?:\.\.)?)(?:\b(?:inf|nan)\b|\b0x[\da-f]+|(?:\b(?:0b)?\d+(?:\.\d+)?|\B\.\d+)(?:e[+-]?\d+)?L?)/i,lookbehind:!0},keyword:/\b(?:NULL|ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)\b/,function:/\b(?:abs|add_(?:addr|constdef|(?:fundef|interface|macdef|typedef)(?:_at)?|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_c?string(?:_pointer)?|byte_(?:matrix|pointer)|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float(?:_matrix|_pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|sentry|short|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)\b/,special:{pattern:/\b__[a-z]+__\b/i,alias:"builtin"},operator:/(?:[!"#$%&'*+,\-.\/:<=>?@\\^`|~\u00a1-\u00bf\u00d7-\u00f7\u20d0-\u2bff]|\b_+\b)+|\b(?:and|div|mod|not|or)\b/,punctuation:/[(){}\[\];,|]/};var t=/%< *-\*- *<lang>\d* *-\*-[\s\S]+?%>/.source;["c",{lang:"c++",alias:"cpp"},"fortran"].forEach((function(n){var r=n;if("string"!==typeof n&&(r=n.alias,n=n.lang),e.languages[r]){var a={};a["inline-lang-"+r]={pattern:RegExp(t.replace("<lang>",n.replace(/([.+*?\/\\(){}\[\]])/g,"\\$1")),"i"),inside:e.util.clone(e.languages.pure["inline-lang"].inside)},a["inline-lang-"+r].inside.rest=e.util.clone(e.languages[r]),e.languages.insertBefore("pure","inline-lang",a)}})),e.languages.c&&(e.languages.pure["inline-lang"].inside.rest=e.util.clone(e.languages.c))}(e)}e.exports=t,t.displayName="pure",t.aliases=[]},3983:function(e){"use strict";function t(e){e.languages.purebasic=e.languages.extend("clike",{comment:/;.*/,keyword:/\b(?:align|and|as|break|calldebugger|case|compilercase|compilerdefault|compilerelse|compilerelseif|compilerendif|compilerendselect|compilererror|compilerif|compilerselect|continue|data|datasection|debug|debuglevel|declare|declarec|declarecdll|declaredll|declaremodule|default|define|dim|disableasm|disabledebugger|disableexplicit|else|elseif|enableasm|enabledebugger|enableexplicit|end|enddatasection|enddeclaremodule|endenumeration|endif|endimport|endinterface|endmacro|endmodule|endprocedure|endselect|endstructure|endstructureunion|endwith|enumeration|extends|fakereturn|for|foreach|forever|global|gosub|goto|if|import|importc|includebinary|includefile|includepath|interface|macro|module|newlist|newmap|next|not|or|procedure|procedurec|procedurecdll|proceduredll|procedurereturn|protected|prototype|prototypec|read|redim|repeat|restore|return|runtime|select|shared|static|step|structure|structureunion|swap|threaded|to|until|wend|while|with|xincludefile|xor)\b/i,function:/\b\w+(?:\.\w+)?\s*(?=\()/,number:/(?:\$[\da-f]+|\b-?(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?)\b/i,operator:/(?:@\*?|\?|\*)\w+|-[>-]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|?\||[~^%?*/@]/}),e.languages.insertBefore("purebasic","keyword",{tag:/#\w+\$?/,asm:{pattern:/(^[\t ]*)!.*/m,lookbehind:!0,alias:"tag",inside:{comment:/;.*/,string:{pattern:/(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},"label-reference-anonymous":{pattern:/(!\s*j[a-z]+\s+)@[fb]/i,lookbehind:!0,alias:"fasm-label"},"label-reference-addressed":{pattern:/(!\s*j[a-z]+\s+)[A-Z._?$@][\w.?$@~#]*/i,lookbehind:!0,alias:"fasm-label"},keyword:[/\b(?:extern|global)\b[^;\r\n]*/i,/\b(?:CPU|DEFAULT|FLOAT)\b.*/],function:{pattern:/^([\t ]*!\s*)[\da-z]+(?=\s|$)/im,lookbehind:!0},"function-inline":{pattern:/(:\s*)[\da-z]+(?=\s)/i,lookbehind:!0,alias:"function"},label:{pattern:/^([\t ]*!\s*)[A-Za-z._?$@][\w.?$@~#]*(?=:)/m,lookbehind:!0,alias:"fasm-label"},register:/\b(?:st\d|[xyz]mm\d\d?|[cdt]r\d|r\d\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|di|si|sp)|[cdefgs]s|mm\d+)\b/i,number:/(?:\b|-|(?=\$))(?:0[hx](?:[\da-f]*\.)?[\da-f]+(?:p[+-]?\d+)?|\d[\da-f]+[hx]|\$\d[\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\d+|(?:\d+(?:\.\d+)?|\.\d+)(?:\.?e[+-]?\d+)?[dt]?)\b/i,operator:/[\[\]*+\-/%<>=&|$!,.:]/}}}),delete e.languages.purebasic["class-name"],delete e.languages.purebasic.boolean,e.languages.pbfasm=e.languages.purebasic}e.exports=t,t.displayName="purebasic",t.aliases=[]},2935:function(e,t,n){"use strict";var r=n(9233);function a(e){e.register(r),e.languages.purescript=e.languages.extend("haskell",{keyword:/\b(?:ado|case|class|data|derive|do|else|forall|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b|\u2200/,"import-statement":{pattern:/(^[\t ]*)import\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*(?:\s+as\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m,lookbehind:!0,inside:{keyword:/\b(?:as|hiding|import)\b/,punctuation:/\./}},builtin:/\b(?:absurd|add|ap|append|apply|between|bind|bottom|clamp|compare|comparing|compose|conj|const|degree|discard|disj|div|eq|flap|flip|gcd|identity|ifM|join|lcm|liftA1|liftM1|map|max|mempty|min|mod|mul|negate|not|notEq|one|otherwise|recip|show|sub|top|unit|unless|unlessM|void|when|whenM|zero)\b/,operator:[e.languages.haskell.operator[0],e.languages.haskell.operator[2],/[\xa2-\xa6\xa8\xa9\xac\xae-\xb1\xb4\xb8\xd7\xf7\u02c2-\u02c5\u02d2-\u02df\u02e5-\u02eb\u02ed\u02ef-\u02ff\u0375\u0384\u0385\u03f6\u0482\u058d-\u058f\u0606-\u0608\u060b\u060e\u060f\u06de\u06e9\u06fd\u06fe\u07f6\u07fe\u07ff\u09f2\u09f3\u09fa\u09fb\u0af1\u0b70\u0bf3-\u0bfa\u0c7f\u0d4f\u0d79\u0e3f\u0f01-\u0f03\u0f13\u0f15-\u0f17\u0f1a-\u0f1f\u0f34\u0f36\u0f38\u0fbe-\u0fc5\u0fc7-\u0fcc\u0fce\u0fcf\u0fd5-\u0fd8\u109e\u109f\u1390-\u1399\u166d\u17db\u1940\u19de-\u19ff\u1b61-\u1b6a\u1b74-\u1b7c\u1fbd\u1fbf-\u1fc1\u1fcd-\u1fcf\u1fdd-\u1fdf\u1fed-\u1fef\u1ffd\u1ffe\u2044\u2052\u207a-\u207c\u208a-\u208c\u20a0-\u20bf\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211e-\u2123\u2125\u2127\u2129\u212e\u213a\u213b\u2140-\u2144\u214a-\u214d\u214f\u218a\u218b\u2190-\u2307\u230c-\u2328\u232b-\u2426\u2440-\u244a\u249c-\u24e9\u2500-\u2767\u2794-\u27c4\u27c7-\u27e5\u27f0-\u2982\u2999-\u29d7\u29dc-\u29fb\u29fe-\u2b73\u2b76-\u2b95\u2b97-\u2bff\u2ce5-\u2cea\u2e50\u2e51\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3004\u3012\u3013\u3020\u3036\u3037\u303e\u303f\u309b\u309c\u3190\u3191\u3196-\u319f\u31c0-\u31e3\u3200-\u321e\u322a-\u3247\u3250\u3260-\u327f\u328a-\u32b0\u32c0-\u33ff\u4dc0-\u4dff\ua490-\ua4c6\ua700-\ua716\ua720\ua721\ua789\ua78a\ua828-\ua82b\ua836-\ua839\uaa77-\uaa79\uab5b\uab6a\uab6b\ufb29\ufbb2-\ufbc1\ufdfc\ufdfd\ufe62\ufe64-\ufe66\ufe69\uff04\uff0b\uff1c-\uff1e\uff3e\uff40\uff5c\uff5e\uffe0-\uffe6\uffe8-\uffee\ufffc\ufffd]/]}),e.languages.purs=e.languages.purescript}e.exports=a,a.displayName="purescript",a.aliases=["purs"]},5888:function(e){"use strict";function t(e){e.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},e.languages.python["string-interpolation"].inside.interpolation.inside.rest=e.languages.python,e.languages.py=e.languages.python}e.exports=t,t.displayName="python",t.aliases=["py"]},9596:function(e){"use strict";function t(e){e.languages.q={string:/"(?:\\.|[^"\\\r\n])*"/,comment:[{pattern:/([\t )\]}])\/.*/,lookbehind:!0,greedy:!0},{pattern:/(^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r(?!\n)))*?(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/,lookbehind:!0,greedy:!0},{pattern:/^\\[\t ]*(?:\r?\n|\r)[\s\S]+/m,greedy:!0},{pattern:/^#!.+/m,greedy:!0}],symbol:/`(?::\S+|[\w.]*)/,datetime:{pattern:/0N[mdzuvt]|0W[dtz]|\d{4}\.\d\d(?:m|\.\d\d(?:T(?:\d\d(?::\d\d(?::\d\d(?:[.:]\d\d\d)?)?)?)?)?[dz]?)|\d\d:\d\d(?::\d\d(?:[.:]\d\d\d)?)?[uvt]?/,alias:"number"},number:/\b(?![01]:)(?:0N[hje]?|0W[hj]?|0[wn]|0x[\da-fA-F]+|\d+(?:\.\d*)?(?:e[+-]?\d+)?[hjfeb]?)/,keyword:/\\\w+\b|\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\b/,adverb:{pattern:/['\/\\]:?|\beach\b/,alias:"function"},verb:{pattern:/(?:\B\.\B|\b[01]:|<[=>]?|>=?|[:+\-*%,!?~=|$&#@^]):?|\b_\b:?/,alias:"operator"},punctuation:/[(){}\[\];.]/}}e.exports=t,t.displayName="q",t.aliases=[]},6395:function(e){"use strict";function t(e){!function(e){for(var t=/"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'/.source,n=/\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\//.source,r=/(?:[^\\()[\]{}"'/]|<string>|\/(?![*/])|<comment>|\(<expr>*\)|\[<expr>*\]|\{<expr>*\}|\\[\s\S])/.source.replace(/<string>/g,(function(){return t})).replace(/<comment>/g,(function(){return n})),a=0;a<2;a++)r=r.replace(/<expr>/g,(function(){return r}));r=r.replace(/<expr>/g,"[^\\s\\S]"),e.languages.qml={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},"javascript-function":{pattern:RegExp(/((?:^|;)[ \t]*)function\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*\(<js>*\)\s*\{<js>*\}/.source.replace(/<js>/g,(function(){return r})),"m"),lookbehind:!0,greedy:!0,alias:"language-javascript",inside:e.languages.javascript},"class-name":{pattern:/((?:^|[:;])[ \t]*)(?!\d)\w+(?=[ \t]*\{|[ \t]+on\b)/m,lookbehind:!0},property:[{pattern:/((?:^|[;{])[ \t]*)(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m,lookbehind:!0},{pattern:/((?:^|[;{])[ \t]*)property[ \t]+(?!\d)\w+(?:\.\w+)*[ \t]+(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m,lookbehind:!0,inside:{keyword:/^property/,property:/\w+(?:\.\w+)*/}}],"javascript-expression":{pattern:RegExp(/(:[ \t]*)(?![\s;}[])(?:(?!$|[;}])<js>)+/.source.replace(/<js>/g,(function(){return r})),"m"),lookbehind:!0,greedy:!0,alias:"language-javascript",inside:e.languages.javascript},string:{pattern:/"(?:\\.|[^\\"\r\n])*"/,greedy:!0},keyword:/\b(?:as|import|on)\b/,punctuation:/[{}[\]:;,]/}}(e)}e.exports=t,t.displayName="qml",t.aliases=[]},7679:function(e){"use strict";function t(e){e.languages.qore=e.languages.extend("clike",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:\/\/|#).*)/,lookbehind:!0},string:{pattern:/("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0},keyword:/\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:bool|date|float|int|list|number|string)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\b/,boolean:/\b(?:false|true)\b/i,function:/\$?\b(?!\d)\w+(?=\()/,number:/\b(?:0b[01]+|0x(?:[\da-f]*\.)?[\da-fp\-]+|(?:\d+(?:\.\d+)?|\.\d+)(?:e\d+)?[df]|(?:\d+(?:\.\d+)?|\.\d+))\b/i,operator:{pattern:/(^|[^.])(?:\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\|[|=]?|[*\/%^]=?|[~?])/,lookbehind:!0},variable:/\$(?!\d)\w+\b/})}e.exports=t,t.displayName="qore",t.aliases=[]},2406:function(e){"use strict";function t(e){!function(e){function t(e,t){return e.replace(/<<(\d+)>>/g,(function(e,n){return"(?:"+t[+n]+")"}))}function n(e,n,r){return RegExp(t(e,n),r||"")}var r=RegExp("\\b(?:"+("Adj BigInt Bool Ctl Double false Int One Pauli PauliI PauliX PauliY PauliZ Qubit Range Result String true Unit Zero"+" "+"Adjoint adjoint apply as auto body borrow borrowing Controlled controlled distribute elif else fail fixup for function if in internal intrinsic invert is let mutable namespace new newtype open operation repeat return self set until use using while within").trim().replace(/ /g,"|")+")\\b"),a=t(/<<0>>(?:\s*\.\s*<<0>>)*/.source,[/\b[A-Za-z_]\w*\b/.source]),i={keyword:r,punctuation:/[<>()?,.:[\]]/},o=/"(?:\\.|[^\\"])*"/.source;e.languages.qsharp=e.languages.extend("clike",{comment:/\/\/.*/,string:[{pattern:n(/(^|[^$\\])<<0>>/.source,[o]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:n(/(\b(?:as|open)\s+)<<0>>(?=\s*(?:;|as\b))/.source,[a]),lookbehind:!0,inside:i},{pattern:n(/(\bnamespace\s+)<<0>>(?=\s*\{)/.source,[a]),lookbehind:!0,inside:i}],keyword:r,number:/(?:\b0(?:x[\da-f]+|b[01]+|o[0-7]+)|(?:\B\.\d+|\b\d+(?:\.\d*)?)(?:e[-+]?\d+)?)l?\b/i,operator:/\band=|\bor=|\band\b|\bnot\b|\bor\b|<[-=]|[-=]>|>>>=?|<<<=?|\^\^\^=?|\|\|\|=?|&&&=?|w\/=?|~~~|[*\/+\-^=!%]=?/,punctuation:/::|[{}[\];(),.:]/}),e.languages.insertBefore("qsharp","number",{range:{pattern:/\.\./,alias:"operator"}});var s=function(e,t){for(var n=0;n<t;n++)e=e.replace(/<<self>>/g,(function(){return"(?:"+e+")"}));return e.replace(/<<self>>/g,"[^\\s\\S]")}(t(/\{(?:[^"{}]|<<0>>|<<self>>)*\}/.source,[o]),2);e.languages.insertBefore("qsharp","string",{"interpolation-string":{pattern:n(/\$"(?:\\.|<<0>>|[^\\"{])*"/.source,[s]),greedy:!0,inside:{interpolation:{pattern:n(/((?:^|[^\\])(?:\\\\)*)<<0>>/.source,[s]),lookbehind:!0,inside:{punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-qsharp",inside:e.languages.qsharp}}},string:/[\s\S]+/}}})}(e),e.languages.qs=e.languages.qsharp}e.exports=t,t.displayName="qsharp",t.aliases=["qs"]},2014:function(e){"use strict";function t(e){e.languages.r={comment:/#.*/,string:{pattern:/(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},"percent-operator":{pattern:/%[^%\s]*%/,alias:"operator"},boolean:/\b(?:FALSE|TRUE)\b/,ellipsis:/\.\.(?:\.|\d+)/,number:[/\b(?:Inf|NaN)\b/,/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+(?:\.\d*)?|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/],keyword:/\b(?:NA|NA_character_|NA_complex_|NA_integer_|NA_real_|NULL|break|else|for|function|if|in|next|repeat|while)\b/,operator:/->?>?|<(?:=|<?-)?|[>=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/,punctuation:/[(){}\[\],;]/}}e.exports=t,t.displayName="r",t.aliases=[]},548:function(e,t,n){"use strict";var r=n(2284);function a(e){e.register(r),e.languages.racket=e.languages.extend("scheme",{"lambda-parameter":{pattern:/([(\[]lambda\s+[(\[])[^()\[\]'\s]+/,lookbehind:!0}}),e.languages.insertBefore("racket","string",{lang:{pattern:/^#lang.+/m,greedy:!0,alias:"keyword"}}),e.languages.rkt=e.languages.racket}e.exports=a,a.displayName="racket",a.aliases=["rkt"]},6023:function(e){"use strict";function t(e){e.languages.reason=e.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),e.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete e.languages.reason.function}e.exports=t,t.displayName="reason",t.aliases=[]},4005:function(e){"use strict";function t(e){!function(e){var t={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},n=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/,r="(?:[^\\\\-]|"+n.source+")",a=RegExp(r+"-"+r),i={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"};e.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:a,inside:{escape:n,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":t,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:n}},"special-escape":t,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":i}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:n,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":i}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}}}(e)}e.exports=t,t.displayName="regex",t.aliases=[]},9982:function(e){"use strict";function t(e){e.languages.rego={comment:/#.*/,property:{pattern:/(^|[^\\.])(?:"(?:\\.|[^\\"\r\n])*"|`[^`]*`|\b[a-z_]\w*\b)(?=\s*:(?!=))/i,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:as|default|else|import|not|null|package|set(?=\s*\()|some|with)\b/,boolean:/\b(?:false|true)\b/,function:{pattern:/\b[a-z_]\w*\b(?:\s*\.\s*\b[a-z_]\w*\b)*(?=\s*\()/i,inside:{namespace:/\b\w+\b(?=\s*\.)/,punctuation:/\./}},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,operator:/[-+*/%|&]|[<>:=]=?|!=|\b_\b/,punctuation:/[,;.\[\]{}()]/}}e.exports=t,t.displayName="rego",t.aliases=[]},4184:function(e){"use strict";function t(e){e.languages.renpy={comment:{pattern:/(^|[^\\])#.+/,lookbehind:!0},string:{pattern:/("""|''')[\s\S]+?\1|("|')(?:\\.|(?!\2)[^\\])*\2|(?:^#?(?:(?:[0-9a-fA-F]){3}|[0-9a-fA-F]{6})$)/m,greedy:!0},function:/\b[a-z_]\w*(?=\()/i,property:/\b(?:Update|UpdateVersion|action|activate_sound|adv_nvl_transition|after_load_transition|align|alpha|alt|anchor|antialias|area|auto|background|bar_invert|bar_resizing|bar_vertical|black_color|bold|bottom_bar|bottom_gutter|bottom_margin|bottom_padding|box_reverse|box_wrap|can_update|caret|child|color|crop|default_afm_enable|default_afm_time|default_fullscreen|default_text_cps|developer|directory_name|drag_handle|drag_joined|drag_name|drag_raise|draggable|dragged|drop_shadow|drop_shadow_color|droppable|dropped|easein|easeout|edgescroll|end_game_transition|end_splash_transition|enter_replay_transition|enter_sound|enter_transition|enter_yesno_transition|executable_name|exit_replay_transition|exit_sound|exit_transition|exit_yesno_transition|fadein|fadeout|first_indent|first_spacing|fit_first|focus|focus_mask|font|foreground|game_main_transition|get_installed_packages|google_play_key|google_play_salt|ground|has_music|has_sound|has_voice|height|help|hinting|hover|hover_background|hover_color|hover_sound|hovered|hyperlink_functions|idle|idle_color|image_style|include_update|insensitive|insensitive_background|insensitive_color|inside|intra_transition|italic|justify|kerning|keyboard_focus|language|layer_clipping|layers|layout|left_bar|left_gutter|left_margin|left_padding|length|line_leading|line_overlap_split|line_spacing|linear|main_game_transition|main_menu_music|maximum|min_width|minimum|minwidth|modal|mouse|mousewheel|name|narrator_menu|newline_indent|nvl_adv_transition|offset|order_reverse|outlines|overlay_functions|pos|position|prefix|radius|range|rest_indent|right_bar|right_gutter|right_margin|right_padding|rotate|rotate_pad|ruby_style|sample_sound|save_directory|say_attribute_transition|screen_height|screen_width|scrollbars|selected_hover|selected_hover_color|selected_idle|selected_idle_color|selected_insensitive|show_side_image|show_two_window|side_spacing|side_xpos|side_ypos|size|size_group|slow_cps|slow_cps_multiplier|spacing|strikethrough|subpixel|text_align|text_style|text_xpos|text_y_fudge|text_ypos|thumb|thumb_offset|thumb_shadow|thumbnail_height|thumbnail_width|time|top_bar|top_gutter|top_margin|top_padding|translations|underline|unscrollable|update|value|version|version_name|version_tuple|vertical|width|window_hide_transition|window_icon|window_left_padding|window_show_transition|window_title|windows_icon|xadjustment|xalign|xanchor|xanchoraround|xaround|xcenter|xfill|xinitial|xmargin|xmaximum|xminimum|xoffset|xofsset|xpadding|xpos|xsize|xzoom|yadjustment|yalign|yanchor|yanchoraround|yaround|ycenter|yfill|yinitial|ymargin|ymaximum|yminimum|yoffset|ypadding|ypos|ysize|ysizexysize|yzoom|zoom|zorder)\b/,tag:/\b(?:bar|block|button|buttoscreenn|drag|draggroup|fixed|frame|grid|[hv]box|hotbar|hotspot|image|imagebutton|imagemap|input|key|label|menu|mm_menu_frame|mousearea|nvl|parallel|screen|self|side|tag|text|textbutton|timer|vbar|viewport|window)\b|\$/,keyword:/\b(?:None|add|adjustment|alignaround|allow|angle|animation|around|as|assert|behind|box_layout|break|build|cache|call|center|changed|child_size|choice|circles|class|clear|clicked|clipping|clockwise|config|contains|continue|corner1|corner2|counterclockwise|def|default|define|del|delay|disabled|disabled_text|dissolve|elif|else|event|except|exclude|exec|expression|fade|finally|for|from|function|global|gm_root|has|hide|id|if|import|in|init|is|jump|knot|lambda|left|less_rounded|mm_root|movie|music|null|on|onlayer|pass|pause|persistent|play|print|python|queue|raise|random|renpy|repeat|return|right|rounded_window|scene|scope|set|show|slow|slow_abortable|slow_done|sound|stop|store|style|style_group|substitute|suffix|theme|transform|transform_anchor|transpose|try|ui|unhovered|updater|use|voice|while|widget|widget_hover|widget_selected|widget_text|yield)\b/,boolean:/\b(?:[Ff]alse|[Tt]rue)\b/,number:/(?:\b(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?)|\B\.\d+)(?:e[+-]?\d+)?j?/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:and|at|not|or|with)\b/,punctuation:/[{}[\];(),.:]/},e.languages.rpy=e.languages.renpy}e.exports=t,t.displayName="renpy",t.aliases=["rpy"]},8228:function(e){"use strict";function t(e){e.languages.rest={table:[{pattern:/(^[\t ]*)(?:\+[=-]+)+\+(?:\r?\n|\r)(?:\1[+|].+[+|](?:\r?\n|\r))+\1(?:\+[=-]+)+\+/m,lookbehind:!0,inside:{punctuation:/\||(?:\+[=-]+)+\+/}},{pattern:/(^[\t ]*)=+ [ =]*=(?:(?:\r?\n|\r)\1.+)+(?:\r?\n|\r)\1=+ [ =]*=(?=(?:\r?\n|\r){2}|\s*$)/m,lookbehind:!0,inside:{punctuation:/[=-]+/}}],"substitution-def":{pattern:/(^[\t ]*\.\. )\|(?:[^|\s](?:[^|]*[^|\s])?)\| [^:]+::/m,lookbehind:!0,inside:{substitution:{pattern:/^\|(?:[^|\s]|[^|\s][^|]*[^|\s])\|/,alias:"attr-value",inside:{punctuation:/^\||\|$/}},directive:{pattern:/( )(?! )[^:]+::/,lookbehind:!0,alias:"function",inside:{punctuation:/::$/}}}},"link-target":[{pattern:/(^[\t ]*\.\. )\[[^\]]+\]/m,lookbehind:!0,alias:"string",inside:{punctuation:/^\[|\]$/}},{pattern:/(^[\t ]*\.\. )_(?:`[^`]+`|(?:[^:\\]|\\.)+):/m,lookbehind:!0,alias:"string",inside:{punctuation:/^_|:$/}}],directive:{pattern:/(^[\t ]*\.\. )[^:]+::/m,lookbehind:!0,alias:"function",inside:{punctuation:/::$/}},comment:{pattern:/(^[\t ]*\.\.)(?:(?: .+)?(?:(?:\r?\n|\r).+)+| .+)(?=(?:\r?\n|\r){2}|$)/m,lookbehind:!0},title:[{pattern:/^(([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2+)(?:\r?\n|\r).+(?:\r?\n|\r)\1$/m,inside:{punctuation:/^[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+|[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+$/,important:/.+/}},{pattern:/(^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2+(?=\r?\n|\r|$)/,lookbehind:!0,inside:{punctuation:/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+$/,important:/.+/}}],hr:{pattern:/((?:\r?\n|\r){2})([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2{3,}(?=(?:\r?\n|\r){2})/,lookbehind:!0,alias:"punctuation"},field:{pattern:/(^[\t ]*):[^:\r\n]+:(?= )/m,lookbehind:!0,alias:"attr-name"},"command-line-option":{pattern:/(^[\t ]*)(?:[+-][a-z\d]|(?:--|\/)[a-z\d-]+)(?:[ =](?:[a-z][\w-]*|<[^<>]+>))?(?:, (?:[+-][a-z\d]|(?:--|\/)[a-z\d-]+)(?:[ =](?:[a-z][\w-]*|<[^<>]+>))?)*(?=(?:\r?\n|\r)? {2,}\S)/im,lookbehind:!0,alias:"symbol"},"literal-block":{pattern:/::(?:\r?\n|\r){2}([ \t]+)(?![ \t]).+(?:(?:\r?\n|\r)\1.+)*/,inside:{"literal-block-punctuation":{pattern:/^::/,alias:"punctuation"}}},"quoted-literal-block":{pattern:/::(?:\r?\n|\r){2}([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]).*(?:(?:\r?\n|\r)\1.*)*/,inside:{"literal-block-punctuation":{pattern:/^(?:::|([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\1*)/m,alias:"punctuation"}}},"list-bullet":{pattern:/(^[\t ]*)(?:[*+\-\u2022\u2023\u2043]|\(?(?:\d+|[a-z]|[ivxdclm]+)\)|(?:\d+|[a-z]|[ivxdclm]+)\.)(?= )/im,lookbehind:!0,alias:"punctuation"},"doctest-block":{pattern:/(^[\t ]*)>>> .+(?:(?:\r?\n|\r).+)*/m,lookbehind:!0,inside:{punctuation:/^>>>/}},inline:[{pattern:/(^|[\s\-:\/'"<(\[{])(?::[^:]+:`.*?`|`.*?`:[^:]+:|(\*\*?|``?|\|)(?!\s)(?:(?!\2).)*\S\2(?=[\s\-.,:;!?\\\/'")\]}]|$))/m,lookbehind:!0,inside:{bold:{pattern:/(^\*\*).+(?=\*\*$)/,lookbehind:!0},italic:{pattern:/(^\*).+(?=\*$)/,lookbehind:!0},"inline-literal":{pattern:/(^``).+(?=``$)/,lookbehind:!0,alias:"symbol"},role:{pattern:/^:[^:]+:|:[^:]+:$/,alias:"function",inside:{punctuation:/^:|:$/}},"interpreted-text":{pattern:/(^`).+(?=`$)/,lookbehind:!0,alias:"attr-value"},substitution:{pattern:/(^\|).+(?=\|$)/,lookbehind:!0,alias:"attr-value"},punctuation:/\*\*?|``?|\|/}}],link:[{pattern:/\[[^\[\]]+\]_(?=[\s\-.,:;!?\\\/'")\]}]|$)/,alias:"string",inside:{punctuation:/^\[|\]_$/}},{pattern:/(?:\b[a-z\d]+(?:[_.:+][a-z\d]+)*_?_|`[^`]+`_?_|_`[^`]+`)(?=[\s\-.,:;!?\\\/'")\]}]|$)/i,alias:"string",inside:{punctuation:/^_?`|`$|`?_?_$/}}],punctuation:{pattern:/(^[\t ]*)(?:\|(?= |$)|(?:---?|\u2014|\.\.|__)(?= )|\.\.$)/m,lookbehind:!0}}}e.exports=t,t.displayName="rest",t.aliases=[]},7937:function(e){"use strict";function t(e){e.languages.rip={comment:{pattern:/#.*/,greedy:!0},char:{pattern:/\B`[^\s`'",.:;#\/\\()<>\[\]{}]\b/,greedy:!0},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},regex:{pattern:/(^|[^/])\/(?!\/)(?:\[[^\n\r\]]*\]|\\.|[^/\\\r\n\[])+\/(?=\s*(?:$|[\r\n,.;})]))/,lookbehind:!0,greedy:!0},keyword:/(?:=>|->)|\b(?:case|catch|class|else|exit|finally|if|raise|return|switch|try)\b/,builtin:/@|\bSystem\b/,boolean:/\b(?:false|true)\b/,date:/\b\d{4}-\d{2}-\d{2}\b/,time:/\b\d{2}:\d{2}:\d{2}\b/,datetime:/\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\b/,symbol:/:[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/,number:/[+-]?\b(?:\d+\.\d+|\d+)\b/,punctuation:/(?:\.{2,3})|[`,.:;=\/\\()<>\[\]{}]/,reference:/[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/}}e.exports=t,t.displayName="rip",t.aliases=[]},5728:function(e){"use strict";function t(e){e.languages.roboconf={comment:/#.*/,keyword:{pattern:/(^|\s)(?:(?:external|import)\b|(?:facet|instance of)(?=[ \t]+[\w-]+[ \t]*\{))/,lookbehind:!0},component:{pattern:/[\w-]+(?=[ \t]*\{)/,alias:"variable"},property:/[\w.-]+(?=[ \t]*:)/,value:{pattern:/(=[ \t]*(?![ \t]))[^,;]+/,lookbehind:!0,alias:"attr-value"},optional:{pattern:/\(optional\)/,alias:"builtin"},wildcard:{pattern:/(\.)\*/,lookbehind:!0,alias:"operator"},punctuation:/[{},.;:=]/}}e.exports=t,t.displayName="roboconf",t.aliases=[]},1528:function(e){"use strict";function t(e){!function(e){var t={pattern:/(^[ \t]*| {2}|\t)#.*/m,lookbehind:!0,greedy:!0},n={pattern:/((?:^|[^\\])(?:\\{2})*)[$@&%]\{(?:[^{}\r\n]|\{[^{}\r\n]*\})*\}/,lookbehind:!0,inside:{punctuation:/^[$@&%]\{|\}$/}};function r(e,r){var a={"section-header":{pattern:/^ ?\*{3}.+?\*{3}/,alias:"keyword"}};for(var i in r)a[i]=r[i];return a.tag={pattern:/([\r\n](?: {2}|\t)[ \t]*)\[[-\w]+\]/,lookbehind:!0,inside:{punctuation:/\[|\]/}},a.variable=n,a.comment=t,{pattern:RegExp(/^ ?\*{3}[ \t]*<name>[ \t]*\*{3}(?:.|[\r\n](?!\*{3}))*/.source.replace(/<name>/g,(function(){return e})),"im"),alias:"section",inside:a}}var a={pattern:/(\[Documentation\](?: {2}|\t)[ \t]*)(?![ \t]|#)(?:.|(?:\r\n?|\n)[ \t]*\.{3})+/,lookbehind:!0,alias:"string"},i={pattern:/([\r\n] ?)(?!#)(?:\S(?:[ \t]\S)*)+/,lookbehind:!0,alias:"function",inside:{variable:n}},o={pattern:/([\r\n](?: {2}|\t)[ \t]*)(?!\[|\.{3}|#)(?:\S(?:[ \t]\S)*)+/,lookbehind:!0,inside:{variable:n}};e.languages.robotframework={settings:r("Settings",{documentation:{pattern:/([\r\n] ?Documentation(?: {2}|\t)[ \t]*)(?![ \t]|#)(?:.|(?:\r\n?|\n)[ \t]*\.{3})+/,lookbehind:!0,alias:"string"},property:{pattern:/([\r\n] ?)(?!\.{3}|#)(?:\S(?:[ \t]\S)*)+/,lookbehind:!0}}),variables:r("Variables"),"test-cases":r("Test Cases",{"test-name":i,documentation:a,property:o}),keywords:r("Keywords",{"keyword-name":i,documentation:a,property:o}),tasks:r("Tasks",{"task-name":i,documentation:a,property:o}),comment:t},e.languages.robot=e.languages.robotframework}(e)}e.exports=t,t.displayName="robotframework",t.aliases=[]},6326:function(e){"use strict";function t(e){!function(e){e.languages.ruby=e.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),e.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var t={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete e.languages.ruby.function;var n="(?:"+[/([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,/\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,/<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source].join("|")+")",r=/(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source;e.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp(/%r/.source+n+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+r),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\r\n{(,][ \t]*)/.source+r+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),e.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp(/%[qQiIwWs]?/.source+n),greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(/%x/.source+n),greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete e.languages.ruby.string,e.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),e.languages.rb=e.languages.ruby}(e)}e.exports=t,t.displayName="ruby",t.aliases=["rb"]},771:function(e){"use strict";function t(e){!function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,n=0;n<2;n++)t=t.replace(/<self>/g,(function(){return t}));t=t.replace(/<self>/g,(function(){return/[^\s\S]/.source})),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(e)}e.exports=t,t.displayName="rust",t.aliases=[]},4840:function(e){"use strict";function t(e){!function(e){var t=/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))/.source,n=/\b(?:\d[\da-f]*x|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,r={pattern:RegExp(t+"[bx]"),alias:"number"},a={pattern:/&[a-z_]\w*/i},i={pattern:/((?:^|\s|=|\())%(?:ABORT|BY|CMS|COPY|DISPLAY|DO|ELSE|END|EVAL|GLOBAL|GO|GOTO|IF|INC|INCLUDE|INDEX|INPUT|KTRIM|LENGTH|LET|LIST|LOCAL|PUT|QKTRIM|QSCAN|QSUBSTR|QSYSFUNC|QUPCASE|RETURN|RUN|SCAN|SUBSTR|SUPERQ|SYMDEL|SYMEXIST|SYMGLOBL|SYMLOCAL|SYSCALL|SYSEVALF|SYSEXEC|SYSFUNC|SYSGET|SYSRPUT|THEN|TO|TSO|UNQUOTE|UNTIL|UPCASE|WHILE|WINDOW)\b/i,lookbehind:!0,alias:"keyword"},o={pattern:/(^|\s)(?:proc\s+\w+|data(?!=)|quit|run)\b/i,alias:"keyword",lookbehind:!0},s=[/\/\*[\s\S]*?\*\//,{pattern:/(^[ \t]*|;\s*)\*[^;]*;/m,lookbehind:!0}],l={pattern:RegExp(t),greedy:!0},c=/[$%@.(){}\[\];,\\]/,u={pattern:/%?\b\w+(?=\()/,alias:"keyword"},d={function:u,"arg-value":{pattern:/(=\s*)[A-Z\.]+/i,lookbehind:!0},operator:/=/,"macro-variable":a,arg:{pattern:/[A-Z]+/i,alias:"keyword"},number:n,"numeric-constant":r,punctuation:c,string:l},p={pattern:/\b(?:format|put)\b=?[\w'$.]+/i,inside:{keyword:/^(?:format|put)(?==)/i,equals:/=/,format:{pattern:/(?:\w|\$\d)+\.\d?/,alias:"number"}}},m={pattern:/\b(?:format|put)\s+[\w']+(?:\s+[$.\w]+)+(?=;)/i,inside:{keyword:/^(?:format|put)/i,format:{pattern:/[\w$]+\.\d?/,alias:"number"}}},f={pattern:/((?:^|\s)=?)(?:catname|checkpoint execute_always|dm|endsas|filename|footnote|%include|libname|%list|lock|missing|options|page|resetline|%run|sasfile|skip|sysecho|title\d?)\b/i,lookbehind:!0,alias:"keyword"},g={pattern:/(^|\s)(?:submit(?:\s+(?:load|norun|parseonly))?|endsubmit)\b/i,lookbehind:!0,alias:"keyword"},h=/aStore|accessControl|aggregation|audio|autotune|bayesianNetClassifier|bioMedImage|boolRule|builtins|cardinality|cdm|clustering|conditionalRandomFields|configuration|copula|countreg|dataDiscovery|dataPreprocess|dataSciencePilot|dataStep|decisionTree|deduplication|deepLearn|deepNeural|deepRnn|ds2|ecm|entityRes|espCluster|explainModel|factmac|fastKnn|fcmpact|fedSql|freqTab|gVarCluster|gam|gleam|graphSemiSupLearn|hiddenMarkovModel|hyperGroup|ica|image|iml|kernalPca|langModel|ldaTopic|loadStreams|mbc|mixed|mlTools|modelPublishing|network|neuralNet|nmf|nonParametricBayes|nonlinear|optNetwork|optimization|panel|pca|percentile|phreg|pls|qkb|qlim|quantreg|recommend|regression|reinforcementLearn|robustPca|ruleMining|sampling|sandwich|sccasl|search(?:Analytics)?|sentimentAnalysis|sequence|session(?:Prop)?|severity|simSystem|simple|smartData|sparkEmbeddedProcess|sparseML|spatialreg|spc|stabilityMonitoring|svDataDescription|svm|table|text(?:Filters|Frequency|Mining|Parse|Rule(?:Develop|Score)|Topic|Util)|timeData|transpose|tsInfo|tsReconcile|uniTimeSeries|varReduce/.source,b={pattern:RegExp(/(^|\s)(?:action\s+)?(?:<act>)\.[a-z]+\b[^;]+/.source.replace(/<act>/g,(function(){return h})),"i"),lookbehind:!0,inside:{keyword:RegExp(/(?:<act>)\.[a-z]+\b/.source.replace(/<act>/g,(function(){return h})),"i"),action:{pattern:/(?:action)/i,alias:"keyword"},comment:s,function:u,"arg-value":d["arg-value"],operator:d.operator,argument:d.arg,number:n,"numeric-constant":r,punctuation:c,string:l}},E={pattern:/((?:^|\s)=?)(?:after|analysis|and|array|barchart|barwidth|begingraph|by|call|cas|cbarline|cfill|class(?:lev)?|close|column|computed?|contains|continue|data(?==)|define|delete|describe|document|do\s+over|do|dol|drop|dul|else|end(?:comp|source)?|entryTitle|eval(?:uate)?|exec(?:ute)?|exit|file(?:name)?|fill(?:attrs)?|flist|fnc|function(?:list)?|global|goto|group(?:by)?|headline|headskip|histogram|if|infile|keep|keylabel|keyword|label|layout|leave|legendlabel|length|libname|loadactionset|merge|midpoints|_?null_|name|noobs|nowd|ods|options|or|otherwise|out(?:put)?|over(?:lay)?|plot|print|put|raise|ranexp|rannor|rbreak|retain|return|select|session|sessref|set|source|statgraph|sum|summarize|table|temp|terminate|then\s+do|then|title\d?|to|var|when|where|xaxisopts|y2axisopts|yaxisopts)\b/i,lookbehind:!0};e.languages.sas={datalines:{pattern:/^([ \t]*)(?:cards|(?:data)?lines);[\s\S]+?^[ \t]*;/im,lookbehind:!0,alias:"string",inside:{keyword:{pattern:/^(?:cards|(?:data)?lines)/i},punctuation:/;/}},"proc-sql":{pattern:/(^proc\s+(?:fed)?sql(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|data|quit|run);|(?![\s\S]))/im,lookbehind:!0,inside:{sql:{pattern:RegExp(/^[ \t]*(?:select|alter\s+table|(?:create|describe|drop)\s+(?:index|table(?:\s+constraints)?|view)|create\s+unique\s+index|insert\s+into|update)(?:<str>|[^;"'])+;/.source.replace(/<str>/g,(function(){return t})),"im"),alias:"language-sql",inside:e.languages.sql},"global-statements":f,"sql-statements":{pattern:/(^|\s)(?:disconnect\s+from|begin|commit|exec(?:ute)?|reset|rollback|validate)\b/i,lookbehind:!0,alias:"keyword"},number:n,"numeric-constant":r,punctuation:c,string:l}},"proc-groovy":{pattern:/(^proc\s+groovy(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|data|quit|run);|(?![\s\S]))/im,lookbehind:!0,inside:{comment:s,groovy:{pattern:RegExp(/(^[ \t]*submit(?:\s+(?:load|norun|parseonly))?)(?:<str>|[^"'])+?(?=endsubmit;)/.source.replace(/<str>/g,(function(){return t})),"im"),lookbehind:!0,alias:"language-groovy",inside:e.languages.groovy},keyword:E,"submit-statement":g,"global-statements":f,number:n,"numeric-constant":r,punctuation:c,string:l}},"proc-lua":{pattern:/(^proc\s+lua(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|data|quit|run);|(?![\s\S]))/im,lookbehind:!0,inside:{comment:s,lua:{pattern:RegExp(/(^[ \t]*submit(?:\s+(?:load|norun|parseonly))?)(?:<str>|[^"'])+?(?=endsubmit;)/.source.replace(/<str>/g,(function(){return t})),"im"),lookbehind:!0,alias:"language-lua",inside:e.languages.lua},keyword:E,"submit-statement":g,"global-statements":f,number:n,"numeric-constant":r,punctuation:c,string:l}},"proc-cas":{pattern:/(^proc\s+cas(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|quit|data);|(?![\s\S]))/im,lookbehind:!0,inside:{comment:s,"statement-var":{pattern:/((?:^|\s)=?)saveresult\s[^;]+/im,lookbehind:!0,inside:{statement:{pattern:/^saveresult\s+\S+/i,inside:{keyword:/^(?:saveresult)/i}},rest:d}},"cas-actions":b,statement:{pattern:/((?:^|\s)=?)(?:default|(?:un)?set|on|output|upload)[^;]+/im,lookbehind:!0,inside:d},step:o,keyword:E,function:u,format:p,altformat:m,"global-statements":f,number:n,"numeric-constant":r,punctuation:c,string:l}},"proc-args":{pattern:RegExp(/(^proc\s+\w+\s+)(?!\s)(?:[^;"']|<str>)+;/.source.replace(/<str>/g,(function(){return t})),"im"),lookbehind:!0,inside:d},"macro-keyword":i,"macro-variable":a,"macro-string-functions":{pattern:/((?:^|\s|=))%(?:BQUOTE|NRBQUOTE|NRQUOTE|NRSTR|QUOTE|STR)\(.*?(?:[^%]\))/i,lookbehind:!0,inside:{function:{pattern:/%(?:BQUOTE|NRBQUOTE|NRQUOTE|NRSTR|QUOTE|STR)/i,alias:"keyword"},"macro-keyword":i,"macro-variable":a,"escaped-char":{pattern:/%['"()<>=\xac^~;,#]/},punctuation:c}},"macro-declaration":{pattern:/^%macro[^;]+(?=;)/im,inside:{keyword:/%macro/i}},"macro-end":{pattern:/^%mend[^;]+(?=;)/im,inside:{keyword:/%mend/i}},macro:{pattern:/%_\w+(?=\()/,alias:"keyword"},input:{pattern:/\binput\s[-\w\s/*.$&]+;/i,inside:{input:{alias:"keyword",pattern:/^input/i},comment:s,number:n,"numeric-constant":r}},"options-args":{pattern:/(^options)[-'"|/\\<>*+=:()\w\s]*(?=;)/im,lookbehind:!0,inside:d},"cas-actions":b,comment:s,function:u,format:p,altformat:m,"numeric-constant":r,datetime:{pattern:RegExp(t+"(?:dt?|t)"),alias:"number"},string:l,step:o,keyword:E,"operator-keyword":{pattern:/\b(?:eq|ge|gt|in|le|lt|ne|not)\b/i,alias:"operator"},number:n,operator:/\*\*?|\|\|?|!!?|\xa6\xa6?|<[>=]?|>[<=]?|[-+\/=&]|[~\xac^]=?/,punctuation:c}}(e)}e.exports=t,t.displayName="sas",t.aliases=[]},1357:function(e){"use strict";function t(e){!function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(e)}e.exports=t,t.displayName="sass",t.aliases=[]},7719:function(e,t,n){"use strict";var r=n(5543);function a(e){e.register(r),e.languages.scala=e.languages.extend("java",{"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/,number:/\b0x(?:[\da-f]*\.)?[\da-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e\d+)?[dfl]?/i,builtin:/\b(?:Any|AnyRef|AnyVal|Boolean|Byte|Char|Double|Float|Int|Long|Nothing|Short|String|Unit)\b/,symbol:/'[^\d\s\\]\w*/}),e.languages.insertBefore("scala","triple-quoted-string",{"string-interpolation":{pattern:/\b[a-z]\w*(?:"""(?:[^$]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*?"""|"(?:[^$"\r\n]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*")/i,greedy:!0,inside:{id:{pattern:/^\w+/,greedy:!0,alias:"function"},escape:{pattern:/\\\$"|\$[$"]/,greedy:!0,alias:"symbol"},interpolation:{pattern:/\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,greedy:!0,inside:{punctuation:/^\$\{?|\}$/,expression:{pattern:/[\s\S]+/,inside:e.languages.scala}}},string:/[\s\S]+/}}}),delete e.languages.scala["class-name"],delete e.languages.scala.function}e.exports=a,a.displayName="scala",a.aliases=[]},2284:function(e){"use strict";function t(e){!function(e){e.languages.scheme={comment:/;.*|#;\s*(?:\((?:[^()]|\([^()]*\))*\)|\[(?:[^\[\]]|\[[^\[\]]*\])*\])|#\|(?:[^#|]|#(?!\|)|\|(?!#)|#\|(?:[^#|]|#(?!\|)|\|(?!#))*\|#)*\|#/,string:{pattern:/"(?:[^"\\]|\\.)*"/,greedy:!0},symbol:{pattern:/'[^()\[\]#'\s]+/,greedy:!0},char:{pattern:/#\\(?:[ux][a-fA-F\d]+\b|[-a-zA-Z]+\b|[\uD800-\uDBFF][\uDC00-\uDFFF]|\S)/,greedy:!0},"lambda-parameter":[{pattern:/((?:^|[^'`#])[(\[]lambda\s+)(?:[^|()\[\]'\s]+|\|(?:[^\\|]|\\.)*\|)/,lookbehind:!0},{pattern:/((?:^|[^'`#])[(\[]lambda\s+[(\[])[^()\[\]']+/,lookbehind:!0}],keyword:{pattern:/((?:^|[^'`#])[(\[])(?:begin|case(?:-lambda)?|cond(?:-expand)?|define(?:-library|-macro|-record-type|-syntax|-values)?|defmacro|delay(?:-force)?|do|else|except|export|guard|if|import|include(?:-ci|-library-declarations)?|lambda|let(?:rec)?(?:-syntax|-values|\*)?|let\*-values|only|parameterize|prefix|(?:quasi-?)?quote|rename|set!|syntax-(?:case|rules)|unless|unquote(?:-splicing)?|when)(?=[()\[\]\s]|$)/,lookbehind:!0},builtin:{pattern:/((?:^|[^'`#])[(\[])(?:abs|and|append|apply|assoc|ass[qv]|binary-port\?|boolean=?\?|bytevector(?:-append|-copy|-copy!|-length|-u8-ref|-u8-set!|\?)?|caar|cadr|call-with-(?:current-continuation|port|values)|call\/cc|car|cdar|cddr|cdr|ceiling|char(?:->integer|-ready\?|\?|<\?|<=\?|=\?|>\?|>=\?)|close-(?:input-port|output-port|port)|complex\?|cons|current-(?:error|input|output)-port|denominator|dynamic-wind|eof-object\??|eq\?|equal\?|eqv\?|error|error-object(?:-irritants|-message|\?)|eval|even\?|exact(?:-integer-sqrt|-integer\?|\?)?|expt|features|file-error\?|floor(?:-quotient|-remainder|\/)?|flush-output-port|for-each|gcd|get-output-(?:bytevector|string)|inexact\??|input-port(?:-open\?|\?)|integer(?:->char|\?)|lcm|length|list(?:->string|->vector|-copy|-ref|-set!|-tail|\?)?|make-(?:bytevector|list|parameter|string|vector)|map|max|member|memq|memv|min|modulo|negative\?|newline|not|null\?|number(?:->string|\?)|numerator|odd\?|open-(?:input|output)-(?:bytevector|string)|or|output-port(?:-open\?|\?)|pair\?|peek-char|peek-u8|port\?|positive\?|procedure\?|quotient|raise|raise-continuable|rational\?|rationalize|read-(?:bytevector|bytevector!|char|error\?|line|string|u8)|real\?|remainder|reverse|round|set-c[ad]r!|square|string(?:->list|->number|->symbol|->utf8|->vector|-append|-copy|-copy!|-fill!|-for-each|-length|-map|-ref|-set!|\?|<\?|<=\?|=\?|>\?|>=\?)?|substring|symbol(?:->string|\?|=\?)|syntax-error|textual-port\?|truncate(?:-quotient|-remainder|\/)?|u8-ready\?|utf8->string|values|vector(?:->list|->string|-append|-copy|-copy!|-fill!|-for-each|-length|-map|-ref|-set!|\?)?|with-exception-handler|write-(?:bytevector|char|string|u8)|zero\?)(?=[()\[\]\s]|$)/,lookbehind:!0},operator:{pattern:/((?:^|[^'`#])[(\[])(?:[-+*%/]|[<>]=?|=>?)(?=[()\[\]\s]|$)/,lookbehind:!0},number:{pattern:RegExp(function(e){for(var t in e)e[t]=e[t].replace(/<[\w\s]+>/g,(function(t){return"(?:"+e[t].trim()+")"}));return e[t]}({"<ureal dec>":/\d+(?:\/\d+)|(?:\d+(?:\.\d*)?|\.\d+)(?:[esfdl][+-]?\d+)?/.source,"<real dec>":/[+-]?<ureal dec>|[+-](?:inf|nan)\.0/.source,"<imaginary dec>":/[+-](?:<ureal dec>|(?:inf|nan)\.0)?i/.source,"<complex dec>":/<real dec>(?:@<real dec>|<imaginary dec>)?|<imaginary dec>/.source,"<num dec>":/(?:#d(?:#[ei])?|#[ei](?:#d)?)?<complex dec>/.source,"<ureal box>":/[0-9a-f]+(?:\/[0-9a-f]+)?/.source,"<real box>":/[+-]?<ureal box>|[+-](?:inf|nan)\.0/.source,"<imaginary box>":/[+-](?:<ureal box>|(?:inf|nan)\.0)?i/.source,"<complex box>":/<real box>(?:@<real box>|<imaginary box>)?|<imaginary box>/.source,"<num box>":/#[box](?:#[ei])?|(?:#[ei])?#[box]<complex box>/.source,"<number>":/(^|[()\[\]\s])(?:<num dec>|<num box>)(?=[()\[\]\s]|$)/.source}),"i"),lookbehind:!0},boolean:{pattern:/(^|[()\[\]\s])#(?:[ft]|false|true)(?=[()\[\]\s]|$)/,lookbehind:!0},function:{pattern:/((?:^|[^'`#])[(\[])(?:[^|()\[\]'\s]+|\|(?:[^\\|]|\\.)*\|)(?=[()\[\]\s]|$)/,lookbehind:!0},identifier:{pattern:/(^|[()\[\]\s])\|(?:[^\\|]|\\.)*\|(?=[()\[\]\s]|$)/,lookbehind:!0,greedy:!0},punctuation:/[()\[\]']/}}(e)}e.exports=t,t.displayName="scheme",t.aliases=[]},1254:function(e){"use strict";function t(e){e.languages.scss=e.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),e.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),e.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),e.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),e.languages.scss.atrule.inside.rest=e.languages.scss}e.exports=t,t.displayName="scss",t.aliases=[]},6442:function(e,t,n){"use strict";var r=n(7033);function a(e){e.register(r),function(e){var t=[/"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/.source,/'[^']*'/.source,/\$'(?:[^'\\]|\\[\s\S])*'/.source,/<<-?\s*(["']?)(\w+)\1\s[\s\S]*?[\r\n]\2/.source].join("|");e.languages["shell-session"]={command:{pattern:RegExp(/^/.source+"(?:"+/[^\s@:$#%*!/\\]+@[^\r\n@:$#%*!/\\]+(?::[^\0-\x1F$#%*?"<>:;|]+)?/.source+"|"+/[/~.][^\0-\x1F$#%*?"<>@:;|]*/.source+")?"+/[$#%](?=\s)/.source+/(?:[^\\\r\n \t'"<$]|[ \t](?:(?!#)|#.*$)|\\(?:[^\r]|\r\n?)|\$(?!')|<(?!<)|<<str>>)+/.source.replace(/<<str>>/g,(function(){return t})),"m"),greedy:!0,inside:{info:{pattern:/^[^#$%]+/,alias:"punctuation",inside:{user:/^[^\s@:$#%*!/\\]+@[^\r\n@:$#%*!/\\]+/,punctuation:/:/,path:/[\s\S]+/}},bash:{pattern:/(^[$#%]\s*)\S[\s\S]*/,lookbehind:!0,alias:"language-bash",inside:e.languages.bash},"shell-symbol":{pattern:/^[$#%]/,alias:"important"}}},output:/.(?:.*(?:[\r\n]|.$))*/},e.languages["sh-session"]=e.languages.shellsession=e.languages["shell-session"]}(e)}e.exports=a,a.displayName="shellSession",a.aliases=[]},2034:function(e){"use strict";function t(e){e.languages.smali={comment:/#.*/,string:{pattern:/"(?:[^\r\n\\"]|\\.)*"|'(?:[^\r\n\\']|\\(?:.|u[\da-fA-F]{4}))'/,greedy:!0},"class-name":{pattern:/(^|[^L])L(?:(?:\w+|`[^`\r\n]*`)\/)*(?:[\w$]+|`[^`\r\n]*`)(?=\s*;)/,lookbehind:!0,inside:{"class-name":{pattern:/(^L|\/)(?:[\w$]+|`[^`\r\n]*`)$/,lookbehind:!0},namespace:{pattern:/^(L)(?:(?:\w+|`[^`\r\n]*`)\/)+/,lookbehind:!0,inside:{punctuation:/\//}},builtin:/^L/}},builtin:[{pattern:/([();\[])[BCDFIJSVZ]+/,lookbehind:!0},{pattern:/([\w$>]:)[BCDFIJSVZ]/,lookbehind:!0}],keyword:[{pattern:/(\.end\s+)[\w-]+/,lookbehind:!0},{pattern:/(^|[^\w.-])\.(?!\d)[\w-]+/,lookbehind:!0},{pattern:/(^|[^\w.-])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\w.-])/,lookbehind:!0}],function:{pattern:/(^|[^\w.-])(?:\w+|<[\w$-]+>)(?=\()/,lookbehind:!0},field:{pattern:/[\w$]+(?=:)/,alias:"variable"},register:{pattern:/(^|[^\w.-])[vp]\d(?![\w.-])/,lookbehind:!0,alias:"variable"},boolean:{pattern:/(^|[^\w.-])(?:false|true)(?![\w.-])/,lookbehind:!0},number:{pattern:/(^|[^/\w.-])-?(?:NAN|INFINITY|0x(?:[\dA-F]+(?:\.[\dA-F]*)?|\.[\dA-F]+)(?:p[+-]?[\dA-F]+)?|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)[dflst]?(?![\w.-])/i,lookbehind:!0},label:{pattern:/(:)\w+/,lookbehind:!0,alias:"property"},operator:/->|\.\.|[\[=]/,punctuation:/[{}(),;:]/}}e.exports=t,t.displayName="smali",t.aliases=[]},9676:function(e){"use strict";function t(e){e.languages.smalltalk={comment:{pattern:/"(?:""|[^"])*"/,greedy:!0},char:{pattern:/\$./,greedy:!0},string:{pattern:/'(?:''|[^'])*'/,greedy:!0},symbol:/#[\da-z]+|#(?:-|([+\/\\*~<>=@%|&?!])\1?)|#(?=\()/i,"block-arguments":{pattern:/(\[\s*):[^\[|]*\|/,lookbehind:!0,inside:{variable:/:[\da-z]+/i,punctuation:/\|/}},"temporary-variables":{pattern:/\|[^|]+\|/,inside:{variable:/[\da-z]+/i,punctuation:/\|/}},keyword:/\b(?:new|nil|self|super)\b/,boolean:/\b(?:false|true)\b/,number:[/\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/,/\b\d+(?:\.\d+)?(?:e-?\d+)?/],operator:/[<=]=?|:=|~[~=]|\/\/?|\\\\|>[>=]?|[!^+\-*&|,@]/,punctuation:/[.;:?\[\](){}]/}}e.exports=t,t.displayName="smalltalk",t.aliases=[]},9895:function(e,t,n){"use strict";var r=n(595);function a(e){e.register(r),function(e){e.languages.smarty={comment:{pattern:/^\{\*[\s\S]*?\*\}/,greedy:!0},"embedded-php":{pattern:/^\{php\}[\s\S]*?\{\/php\}/,greedy:!0,inside:{smarty:{pattern:/^\{php\}|\{\/php\}$/,inside:null},php:{pattern:/[\s\S]+/,alias:"language-php",inside:e.languages.php}}},string:[{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0,inside:{interpolation:{pattern:/\{[^{}]*\}|`[^`]*`/,inside:{"interpolation-punctuation":{pattern:/^[{`]|[`}]$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:null}}},variable:/\$\w+/}},{pattern:/'(?:\\.|[^'\\\r\n])*'/,greedy:!0}],keyword:{pattern:/(^\{\/?)[a-z_]\w*\b(?!\()/i,lookbehind:!0,greedy:!0},delimiter:{pattern:/^\{\/?|\}$/,greedy:!0,alias:"punctuation"},number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,variable:[/\$(?!\d)\w+/,/#(?!\d)\w+#/,{pattern:/(\.|->|\w\s*=)(?!\d)\w+\b(?!\()/,lookbehind:!0},{pattern:/(\[)(?!\d)\w+(?=\])/,lookbehind:!0}],function:{pattern:/(\|\s*)@?[a-z_]\w*|\b[a-z_]\w*(?=\()/i,lookbehind:!0},"attr-name":/\b[a-z_]\w*(?=\s*=)/i,boolean:/\b(?:false|no|off|on|true|yes)\b/,punctuation:/[\[\](){}.,:`]|->/,operator:[/[+\-*\/%]|==?=?|[!<>]=?|&&|\|\|?/,/\bis\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?\b/,/\b(?:and|eq|gt?e|gt|lt?e|lt|mod|neq?|not|or)\b/]},e.languages.smarty["embedded-php"].inside.smarty.inside=e.languages.smarty,e.languages.smarty.string[0].inside.interpolation.inside.expression.inside=e.languages.smarty;var t=/"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*'/,n=RegExp(/\{\*[\s\S]*?\*\}/.source+"|"+/\{php\}[\s\S]*?\{\/php\}/.source+"|"+/\{(?:[^{}"']|<str>|\{(?:[^{}"']|<str>|\{(?:[^{}"']|<str>)*\})*\})*\}/.source.replace(/<str>/g,(function(){return t.source})),"g");e.hooks.add("before-tokenize",(function(t){var r=!1;e.languages["markup-templating"].buildPlaceholders(t,"smarty",n,(function(e){return"{/literal}"===e&&(r=!1),!r&&("{literal}"===e&&(r=!0),!0)}))})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"smarty")}))}(e)}e.exports=a,a.displayName="smarty",a.aliases=[]},3775:function(e){"use strict";function t(e){!function(e){var t=/\b(?:abstype|and|andalso|as|case|datatype|do|else|end|eqtype|exception|fn|fun|functor|handle|if|in|include|infix|infixr|let|local|nonfix|of|op|open|orelse|raise|rec|sharing|sig|signature|struct|structure|then|type|val|where|while|with|withtype)\b/i;e.languages.sml={comment:/\(\*(?:[^*(]|\*(?!\))|\((?!\*)|\(\*(?:[^*(]|\*(?!\))|\((?!\*))*\*\))*\*\)/,string:{pattern:/#?"(?:[^"\\]|\\.)*"/,greedy:!0},"class-name":[{pattern:RegExp(/((?:^|[^:]):\s*)<TERMINAL>(?:\s*(?:(?:\*|->)\s*<TERMINAL>|,\s*<TERMINAL>(?:(?=<NOT-LAST>)|(?!<NOT-LAST>)\s+<LONG-ID>)))*/.source.replace(/<NOT-LAST>/g,(function(){return/\s*(?:[*,]|->)/.source})).replace(/<TERMINAL>/g,(function(){return/(?:'[\w']*|<LONG-ID>|\((?:[^()]|\([^()]*\))*\)|\{(?:[^{}]|\{[^{}]*\})*\})(?:\s+<LONG-ID>)*/.source})).replace(/<LONG-ID>/g,(function(){return/(?!<KEYWORD>)[a-z\d_][\w'.]*/.source})).replace(/<KEYWORD>/g,(function(){return t.source})),"i"),lookbehind:!0,greedy:!0,inside:null},{pattern:/((?:^|[^\w'])(?:datatype|exception|functor|signature|structure|type)\s+)[a-z_][\w'.]*/i,lookbehind:!0}],function:{pattern:/((?:^|[^\w'])fun\s+)[a-z_][\w'.]*/i,lookbehind:!0},keyword:t,variable:{pattern:/(^|[^\w'])'[\w']*/,lookbehind:!0},number:/~?\b(?:\d+(?:\.\d+)?(?:e~?\d+)?|0x[\da-f]+)\b/i,word:{pattern:/\b0w(?:\d+|x[\da-f]+)\b/i,alias:"constant"},boolean:/\b(?:false|true)\b/i,operator:/\.\.\.|:[>=:]|=>?|->|[<>]=?|[!+\-*/^#|@~]/,punctuation:/[(){}\[\].:,;]/},e.languages.sml["class-name"][0].inside=e.languages.sml,e.languages.smlnj=e.languages.sml}(e)}e.exports=t,t.displayName="sml",t.aliases=["smlnj"]},5767:function(e){"use strict";function t(e){e.languages.solidity=e.languages.extend("clike",{"class-name":{pattern:/(\b(?:contract|enum|interface|library|new|struct|using)\s+)(?!\d)[\w$]+/,lookbehind:!0},keyword:/\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\b/,operator:/=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-+*/%^&|<>!=]=?|[~?]/}),e.languages.insertBefore("solidity","keyword",{builtin:/\b(?:address|bool|byte|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|string|bytes(?:[1-9]|[12]\d|3[0-2])?)\b/}),e.languages.insertBefore("solidity","number",{version:{pattern:/([<>]=?|\^)\d+\.\d+\.\d+\b/,lookbehind:!0,alias:"number"}}),e.languages.sol=e.languages.solidity}e.exports=t,t.displayName="solidity",t.aliases=["sol"]},9093:function(e){"use strict";function t(e){!function(e){var t={pattern:/\{[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}\}/i,alias:"constant",inside:{punctuation:/[{}]/}};e.languages["solution-file"]={comment:{pattern:/#.*/,greedy:!0},string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,greedy:!0,inside:{guid:t}},object:{pattern:/^([ \t]*)(?:([A-Z]\w*)\b(?=.*(?:\r\n?|\n)(?:\1[ \t].*(?:\r\n?|\n))*\1End\2(?=[ \t]*$))|End[A-Z]\w*(?=[ \t]*$))/m,lookbehind:!0,greedy:!0,alias:"keyword"},property:{pattern:/^([ \t]*)(?!\s)[^\r\n"#=()]*[^\s"#=()](?=\s*=)/m,lookbehind:!0,inside:{guid:t}},guid:t,number:/\b\d+(?:\.\d+)*\b/,boolean:/\b(?:FALSE|TRUE)\b/,operator:/=/,punctuation:/[(),]/},e.languages.sln=e.languages["solution-file"]}(e)}e.exports=t,t.displayName="solutionFile",t.aliases=[]},8768:function(e,t,n){"use strict";var r=n(595);function a(e){e.register(r),function(e){var t=/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,n=/\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b|\b0x[\dA-F]+\b/;e.languages.soy={comment:[/\/\*[\s\S]*?\*\//,{pattern:/(\s)\/\/.*/,lookbehind:!0,greedy:!0}],"command-arg":{pattern:/(\{+\/?\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\s+)\.?[\w.]+/,lookbehind:!0,alias:"string",inside:{punctuation:/\./}},parameter:{pattern:/(\{+\/?\s*@?param\??\s+)\.?[\w.]+/,lookbehind:!0,alias:"variable"},keyword:[{pattern:/(\{+\/?[^\S\r\n]*)(?:\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\??|rb|sp|switch|template|xid)/,lookbehind:!0},/\b(?:any|as|attributes|bool|css|float|html|in|int|js|list|map|null|number|string|uri)\b/],delimiter:{pattern:/^\{+\/?|\/?\}+$/,alias:"punctuation"},property:/\w+(?==)/,variable:{pattern:/\$[^\W\d]\w*(?:\??(?:\.\w+|\[[^\]]+\]))*/,inside:{string:{pattern:t,greedy:!0},number:n,punctuation:/[\[\].?]/}},string:{pattern:t,greedy:!0},function:[/\w+(?=\()/,{pattern:/(\|[^\S\r\n]*)\w+/,lookbehind:!0}],boolean:/\b(?:false|true)\b/,number:n,operator:/\?:?|<=?|>=?|==?|!=|[+*/%-]|\b(?:and|not|or)\b/,punctuation:/[{}()\[\]|.,:]/},e.hooks.add("before-tokenize",(function(t){var n=!1;e.languages["markup-templating"].buildPlaceholders(t,"soy",/\{\{.+?\}\}|\{.+?\}|\s\/\/.*|\/\*[\s\S]*?\*\//g,(function(e){return"{/literal}"===e&&(n=!1),!n&&("{literal}"===e&&(n=!0),!0)}))})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"soy")}))}(e)}e.exports=a,a.displayName="soy",a.aliases=[]},8517:function(e,t,n){"use strict";var r=n(3089);function a(e){e.register(r),e.languages.sparql=e.languages.extend("turtle",{boolean:/\b(?:false|true)\b/i,variable:{pattern:/[?$]\w+/,greedy:!0}}),e.languages.insertBefore("sparql","punctuation",{keyword:[/\b(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DELETE|DESC|DESCRIBE|DISTINCT|DROP|EXISTS|FILTER|FROM|GROUP|HAVING|INSERT|INTO|LIMIT|LOAD|MINUS|MOVE|NAMED|NOT|NOW|OFFSET|OPTIONAL|ORDER|RAND|REDUCED|SELECT|SEPARATOR|SERVICE|SILENT|STRUUID|UNION|USING|UUID|VALUES|WHERE)\b/i,/\b(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE_FOR_URI|FLOOR|GROUP_CONCAT|HOURS|IF|IRI|isBLANK|isIRI|isLITERAL|isNUMERIC|isURI|LANG|LANGMATCHES|LCASE|MAX|MD5|MIN|MINUTES|MONTH|REGEX|REPLACE|ROUND|sameTerm|SAMPLE|SECONDS|SHA1|SHA256|SHA384|SHA512|STR|STRAFTER|STRBEFORE|STRDT|STRENDS|STRLANG|STRLEN|STRSTARTS|SUBSTR|SUM|TIMEZONE|TZ|UCASE|URI|YEAR)\b(?=\s*\()/i,/\b(?:BASE|GRAPH|PREFIX)\b/i]}),e.languages.rq=e.languages.sparql}e.exports=a,a.displayName="sparql",a.aliases=["rq"]},7942:function(e){"use strict";function t(e){e.languages["splunk-spl"]={comment:/`comment\("(?:\\.|[^\\"])*"\)`/,string:{pattern:/"(?:\\.|[^\\"])*"/,greedy:!0},keyword:/\b(?:abstract|accum|addcoltotals|addinfo|addtotals|analyzefields|anomalies|anomalousvalue|anomalydetection|append|appendcols|appendcsv|appendlookup|appendpipe|arules|associate|audit|autoregress|bin|bucket|bucketdir|chart|cluster|cofilter|collect|concurrency|contingency|convert|correlate|datamodel|dbinspect|dedup|delete|delta|diff|erex|eval|eventcount|eventstats|extract|fieldformat|fields|fieldsummary|filldown|fillnull|findtypes|folderize|foreach|format|from|gauge|gentimes|geom|geomfilter|geostats|head|highlight|history|iconify|input|inputcsv|inputlookup|iplocation|join|kmeans|kv|kvform|loadjob|localize|localop|lookup|makecontinuous|makemv|makeresults|map|mcollect|metadata|metasearch|meventcollect|mstats|multikv|multisearch|mvcombine|mvexpand|nomv|outlier|outputcsv|outputlookup|outputtext|overlap|pivot|predict|rangemap|rare|regex|relevancy|reltime|rename|replace|rest|return|reverse|rex|rtorder|run|savedsearch|script|scrub|search|searchtxn|selfjoin|sendemail|set|setfields|sichart|sirare|sistats|sitimechart|sitop|sort|spath|stats|strcat|streamstats|table|tags|tail|timechart|timewrap|top|transaction|transpose|trendline|tscollect|tstats|typeahead|typelearner|typer|union|uniq|untable|where|x11|xmlkv|xmlunescape|xpath|xyseries)\b/i,"operator-word":{pattern:/\b(?:and|as|by|not|or|xor)\b/i,alias:"operator"},function:/\b\w+(?=\s*\()/,property:/\b\w+(?=\s*=(?!=))/,date:{pattern:/\b\d{1,2}\/\d{1,2}\/\d{1,4}(?:(?::\d{1,2}){3})?\b/,alias:"number"},number:/\b\d+(?:\.\d+)?\b/,boolean:/\b(?:f|false|t|true)\b/i,operator:/[<>=]=?|[-+*/%|]/,punctuation:/[()[\],]/}}e.exports=t,t.displayName="splunkSpl",t.aliases=[]},4457:function(e){"use strict";function t(e){e.languages.sqf=e.languages.extend("clike",{string:{pattern:/"(?:(?:"")?[^"])*"(?!")|'(?:[^'])*'/,greedy:!0},keyword:/\b(?:breakOut|breakTo|call|case|catch|default|do|echo|else|execFSM|execVM|exitWith|for|forEach|forEachMember|forEachMemberAgent|forEachMemberTeam|from|goto|if|nil|preprocessFile|preprocessFileLineNumbers|private|scopeName|spawn|step|switch|then|throw|to|try|while|with)\b/i,boolean:/\b(?:false|true)\b/i,function:/\b(?:abs|accTime|acos|action|actionIDs|actionKeys|actionKeysImages|actionKeysNames|actionKeysNamesArray|actionName|actionParams|activateAddons|activatedAddons|activateKey|add3DENConnection|add3DENEventHandler|add3DENLayer|addAction|addBackpack|addBackpackCargo|addBackpackCargoGlobal|addBackpackGlobal|addCamShake|addCuratorAddons|addCuratorCameraArea|addCuratorEditableObjects|addCuratorEditingArea|addCuratorPoints|addEditorObject|addEventHandler|addForce|addForceGeneratorRTD|addGoggles|addGroupIcon|addHandgunItem|addHeadgear|addItem|addItemCargo|addItemCargoGlobal|addItemPool|addItemToBackpack|addItemToUniform|addItemToVest|addLiveStats|addMagazine|addMagazineAmmoCargo|addMagazineCargo|addMagazineCargoGlobal|addMagazineGlobal|addMagazinePool|addMagazines|addMagazineTurret|addMenu|addMenuItem|addMissionEventHandler|addMPEventHandler|addMusicEventHandler|addOwnedMine|addPlayerScores|addPrimaryWeaponItem|addPublicVariableEventHandler|addRating|addResources|addScore|addScoreSide|addSecondaryWeaponItem|addSwitchableUnit|addTeamMember|addToRemainsCollector|addTorque|addUniform|addVehicle|addVest|addWaypoint|addWeapon|addWeaponCargo|addWeaponCargoGlobal|addWeaponGlobal|addWeaponItem|addWeaponPool|addWeaponTurret|admin|agent|agents|AGLToASL|aimedAtTarget|aimPos|airDensityCurveRTD|airDensityRTD|airplaneThrottle|airportSide|AISFinishHeal|alive|all3DENEntities|allAirports|allControls|allCurators|allCutLayers|allDead|allDeadMen|allDisplays|allGroups|allMapMarkers|allMines|allMissionObjects|allow3DMode|allowCrewInImmobile|allowCuratorLogicIgnoreAreas|allowDamage|allowDammage|allowFileOperations|allowFleeing|allowGetIn|allowSprint|allPlayers|allSimpleObjects|allSites|allTurrets|allUnits|allUnitsUAV|allVariables|ammo|ammoOnPylon|animate|animateBay|animateDoor|animatePylon|animateSource|animationNames|animationPhase|animationSourcePhase|animationState|append|apply|armoryPoints|arrayIntersect|asin|ASLToAGL|ASLToATL|assert|assignAsCargo|assignAsCargoIndex|assignAsCommander|assignAsDriver|assignAsGunner|assignAsTurret|assignCurator|assignedCargo|assignedCommander|assignedDriver|assignedGunner|assignedItems|assignedTarget|assignedTeam|assignedVehicle|assignedVehicleRole|assignItem|assignTeam|assignToAirport|atan|atan2|atg|ATLToASL|attachedObject|attachedObjects|attachedTo|attachObject|attachTo|attackEnabled|backpack|backpackCargo|backpackContainer|backpackItems|backpackMagazines|backpackSpaceFor|behaviour|benchmark|binocular|blufor|boundingBox|boundingBoxReal|boundingCenter|briefingName|buildingExit|buildingPos|buldozer_EnableRoadDiag|buldozer_IsEnabledRoadDiag|buldozer_LoadNewRoads|buldozer_reloadOperMap|buttonAction|buttonSetAction|cadetMode|callExtension|camCommand|camCommit|camCommitPrepared|camCommitted|camConstuctionSetParams|camCreate|camDestroy|cameraEffect|cameraEffectEnableHUD|cameraInterest|cameraOn|cameraView|campaignConfigFile|camPreload|camPreloaded|camPrepareBank|camPrepareDir|camPrepareDive|camPrepareFocus|camPrepareFov|camPrepareFovRange|camPreparePos|camPrepareRelPos|camPrepareTarget|camSetBank|camSetDir|camSetDive|camSetFocus|camSetFov|camSetFovRange|camSetPos|camSetRelPos|camSetTarget|camTarget|camUseNVG|canAdd|canAddItemToBackpack|canAddItemToUniform|canAddItemToVest|cancelSimpleTaskDestination|canFire|canMove|canSlingLoad|canStand|canSuspend|canTriggerDynamicSimulation|canUnloadInCombat|canVehicleCargo|captive|captiveNum|cbChecked|cbSetChecked|ceil|channelEnabled|cheatsEnabled|checkAIFeature|checkVisibility|civilian|className|clear3DENAttribute|clear3DENInventory|clearAllItemsFromBackpack|clearBackpackCargo|clearBackpackCargoGlobal|clearForcesRTD|clearGroupIcons|clearItemCargo|clearItemCargoGlobal|clearItemPool|clearMagazineCargo|clearMagazineCargoGlobal|clearMagazinePool|clearOverlay|clearRadio|clearVehicleInit|clearWeaponCargo|clearWeaponCargoGlobal|clearWeaponPool|clientOwner|closeDialog|closeDisplay|closeOverlay|collapseObjectTree|collect3DENHistory|collectiveRTD|combatMode|commandArtilleryFire|commandChat|commander|commandFire|commandFollow|commandFSM|commandGetOut|commandingMenu|commandMove|commandRadio|commandStop|commandSuppressiveFire|commandTarget|commandWatch|comment|commitOverlay|compile|compileFinal|completedFSM|composeText|configClasses|configFile|configHierarchy|configName|configNull|configProperties|configSourceAddonList|configSourceMod|configSourceModList|confirmSensorTarget|connectTerminalToUAV|controlNull|controlsGroupCtrl|copyFromClipboard|copyToClipboard|copyWaypoints|cos|count|countEnemy|countFriendly|countSide|countType|countUnknown|create3DENComposition|create3DENEntity|createAgent|createCenter|createDialog|createDiaryLink|createDiaryRecord|createDiarySubject|createDisplay|createGearDialog|createGroup|createGuardedPoint|createLocation|createMarker|createMarkerLocal|createMenu|createMine|createMissionDisplay|createMPCampaignDisplay|createSimpleObject|createSimpleTask|createSite|createSoundSource|createTask|createTeam|createTrigger|createUnit|createVehicle|createVehicleCrew|createVehicleLocal|crew|ctAddHeader|ctAddRow|ctClear|ctCurSel|ctData|ctFindHeaderRows|ctFindRowHeader|ctHeaderControls|ctHeaderCount|ctRemoveHeaders|ctRemoveRows|ctrlActivate|ctrlAddEventHandler|ctrlAngle|ctrlAutoScrollDelay|ctrlAutoScrollRewind|ctrlAutoScrollSpeed|ctrlChecked|ctrlClassName|ctrlCommit|ctrlCommitted|ctrlCreate|ctrlDelete|ctrlEnable|ctrlEnabled|ctrlFade|ctrlHTMLLoaded|ctrlIDC|ctrlIDD|ctrlMapAnimAdd|ctrlMapAnimClear|ctrlMapAnimCommit|ctrlMapAnimDone|ctrlMapCursor|ctrlMapMouseOver|ctrlMapScale|ctrlMapScreenToWorld|ctrlMapWorldToScreen|ctrlModel|ctrlModelDirAndUp|ctrlModelScale|ctrlParent|ctrlParentControlsGroup|ctrlPosition|ctrlRemoveAllEventHandlers|ctrlRemoveEventHandler|ctrlScale|ctrlSetActiveColor|ctrlSetAngle|ctrlSetAutoScrollDelay|ctrlSetAutoScrollRewind|ctrlSetAutoScrollSpeed|ctrlSetBackgroundColor|ctrlSetChecked|ctrlSetDisabledColor|ctrlSetEventHandler|ctrlSetFade|ctrlSetFocus|ctrlSetFont|ctrlSetFontH1|ctrlSetFontH1B|ctrlSetFontH2|ctrlSetFontH2B|ctrlSetFontH3|ctrlSetFontH3B|ctrlSetFontH4|ctrlSetFontH4B|ctrlSetFontH5|ctrlSetFontH5B|ctrlSetFontH6|ctrlSetFontH6B|ctrlSetFontHeight|ctrlSetFontHeightH1|ctrlSetFontHeightH2|ctrlSetFontHeightH3|ctrlSetFontHeightH4|ctrlSetFontHeightH5|ctrlSetFontHeightH6|ctrlSetFontHeightSecondary|ctrlSetFontP|ctrlSetFontPB|ctrlSetFontSecondary|ctrlSetForegroundColor|ctrlSetModel|ctrlSetModelDirAndUp|ctrlSetModelScale|ctrlSetPixelPrecision|ctrlSetPosition|ctrlSetScale|ctrlSetStructuredText|ctrlSetText|ctrlSetTextColor|ctrlSetTextColorSecondary|ctrlSetTextSecondary|ctrlSetTooltip|ctrlSetTooltipColorBox|ctrlSetTooltipColorShade|ctrlSetTooltipColorText|ctrlShow|ctrlShown|ctrlText|ctrlTextHeight|ctrlTextSecondary|ctrlTextWidth|ctrlType|ctrlVisible|ctRowControls|ctRowCount|ctSetCurSel|ctSetData|ctSetHeaderTemplate|ctSetRowTemplate|ctSetValue|ctValue|curatorAddons|curatorCamera|curatorCameraArea|curatorCameraAreaCeiling|curatorCoef|curatorEditableObjects|curatorEditingArea|curatorEditingAreaType|curatorMouseOver|curatorPoints|curatorRegisteredObjects|curatorSelected|curatorWaypointCost|current3DENOperation|currentChannel|currentCommand|currentMagazine|currentMagazineDetail|currentMagazineDetailTurret|currentMagazineTurret|currentMuzzle|currentNamespace|currentTask|currentTasks|currentThrowable|currentVisionMode|currentWaypoint|currentWeapon|currentWeaponMode|currentWeaponTurret|currentZeroing|cursorObject|cursorTarget|customChat|customRadio|cutFadeOut|cutObj|cutRsc|cutText|damage|date|dateToNumber|daytime|deActivateKey|debriefingText|debugFSM|debugLog|deg|delete3DENEntities|deleteAt|deleteCenter|deleteCollection|deleteEditorObject|deleteGroup|deleteGroupWhenEmpty|deleteIdentity|deleteLocation|deleteMarker|deleteMarkerLocal|deleteRange|deleteResources|deleteSite|deleteStatus|deleteTeam|deleteVehicle|deleteVehicleCrew|deleteWaypoint|detach|detectedMines|diag_activeMissionFSMs|diag_activeScripts|diag_activeSQFScripts|diag_activeSQSScripts|diag_captureFrame|diag_captureFrameToFile|diag_captureSlowFrame|diag_codePerformance|diag_drawMode|diag_dynamicSimulationEnd|diag_enable|diag_enabled|diag_fps|diag_fpsMin|diag_frameNo|diag_lightNewLoad|diag_list|diag_log|diag_logSlowFrame|diag_mergeConfigFile|diag_recordTurretLimits|diag_setLightNew|diag_tickTime|diag_toggle|dialog|diarySubjectExists|didJIP|didJIPOwner|difficulty|difficultyEnabled|difficultyEnabledRTD|difficultyOption|direction|directSay|disableAI|disableCollisionWith|disableConversation|disableDebriefingStats|disableMapIndicators|disableNVGEquipment|disableRemoteSensors|disableSerialization|disableTIEquipment|disableUAVConnectability|disableUserInput|displayAddEventHandler|displayCtrl|displayNull|displayParent|displayRemoveAllEventHandlers|displayRemoveEventHandler|displaySetEventHandler|dissolveTeam|distance|distance2D|distanceSqr|distributionRegion|do3DENAction|doArtilleryFire|doFire|doFollow|doFSM|doGetOut|doMove|doorPhase|doStop|doSuppressiveFire|doTarget|doWatch|drawArrow|drawEllipse|drawIcon|drawIcon3D|drawLine|drawLine3D|drawLink|drawLocation|drawPolygon|drawRectangle|drawTriangle|driver|drop|dynamicSimulationDistance|dynamicSimulationDistanceCoef|dynamicSimulationEnabled|dynamicSimulationSystemEnabled|east|edit3DENMissionAttributes|editObject|editorSetEventHandler|effectiveCommander|emptyPositions|enableAI|enableAIFeature|enableAimPrecision|enableAttack|enableAudioFeature|enableAutoStartUpRTD|enableAutoTrimRTD|enableCamShake|enableCaustics|enableChannel|enableCollisionWith|enableCopilot|enableDebriefingStats|enableDiagLegend|enableDynamicSimulation|enableDynamicSimulationSystem|enableEndDialog|enableEngineArtillery|enableEnvironment|enableFatigue|enableGunLights|enableInfoPanelComponent|enableIRLasers|enableMimics|enablePersonTurret|enableRadio|enableReload|enableRopeAttach|enableSatNormalOnDetail|enableSaving|enableSentences|enableSimulation|enableSimulationGlobal|enableStamina|enableStressDamage|enableTeamSwitch|enableTraffic|enableUAVConnectability|enableUAVWaypoints|enableVehicleCargo|enableVehicleSensor|enableWeaponDisassembly|endl|endLoadingScreen|endMission|engineOn|enginesIsOnRTD|enginesPowerRTD|enginesRpmRTD|enginesTorqueRTD|entities|environmentEnabled|estimatedEndServerTime|estimatedTimeLeft|evalObjectArgument|everyBackpack|everyContainer|exec|execEditorScript|exp|expectedDestination|exportJIPMessages|eyeDirection|eyePos|face|faction|fadeMusic|fadeRadio|fadeSound|fadeSpeech|failMission|fillWeaponsFromPool|find|findCover|findDisplay|findEditorObject|findEmptyPosition|findEmptyPositionReady|findIf|findNearestEnemy|finishMissionInit|finite|fire|fireAtTarget|firstBackpack|flag|flagAnimationPhase|flagOwner|flagSide|flagTexture|fleeing|floor|flyInHeight|flyInHeightASL|fog|fogForecast|fogParams|forceAddUniform|forceAtPositionRTD|forcedMap|forceEnd|forceFlagTexture|forceFollowRoad|forceGeneratorRTD|forceMap|forceRespawn|forceSpeed|forceWalk|forceWeaponFire|forceWeatherChange|forgetTarget|format|formation|formationDirection|formationLeader|formationMembers|formationPosition|formationTask|formatText|formLeader|freeLook|fromEditor|fuel|fullCrew|gearIDCAmmoCount|gearSlotAmmoCount|gearSlotData|get3DENActionState|get3DENAttribute|get3DENCamera|get3DENConnections|get3DENEntity|get3DENEntityID|get3DENGrid|get3DENIconsVisible|get3DENLayerEntities|get3DENLinesVisible|get3DENMissionAttribute|get3DENMouseOver|get3DENSelected|getAimingCoef|getAllEnvSoundControllers|getAllHitPointsDamage|getAllOwnedMines|getAllSoundControllers|getAmmoCargo|getAnimAimPrecision|getAnimSpeedCoef|getArray|getArtilleryAmmo|getArtilleryComputerSettings|getArtilleryETA|getAssignedCuratorLogic|getAssignedCuratorUnit|getBackpackCargo|getBleedingRemaining|getBurningValue|getCameraViewDirection|getCargoIndex|getCenterOfMass|getClientState|getClientStateNumber|getCompatiblePylonMagazines|getConnectedUAV|getContainerMaxLoad|getCursorObjectParams|getCustomAimCoef|getDammage|getDescription|getDir|getDirVisual|getDLCAssetsUsage|getDLCAssetsUsageByName|getDLCs|getDLCUsageTime|getEditorCamera|getEditorMode|getEditorObjectScope|getElevationOffset|getEngineTargetRpmRTD|getEnvSoundController|getFatigue|getFieldManualStartPage|getForcedFlagTexture|getFriend|getFSMVariable|getFuelCargo|getGroupIcon|getGroupIconParams|getGroupIcons|getHideFrom|getHit|getHitIndex|getHitPointDamage|getItemCargo|getMagazineCargo|getMarkerColor|getMarkerPos|getMarkerSize|getMarkerType|getMass|getMissionConfig|getMissionConfigValue|getMissionDLCs|getMissionLayerEntities|getMissionLayers|getModelInfo|getMousePosition|getMusicPlayedTime|getNumber|getObjectArgument|getObjectChildren|getObjectDLC|getObjectMaterials|getObjectProxy|getObjectTextures|getObjectType|getObjectViewDistance|getOxygenRemaining|getPersonUsedDLCs|getPilotCameraDirection|getPilotCameraPosition|getPilotCameraRotation|getPilotCameraTarget|getPlateNumber|getPlayerChannel|getPlayerScores|getPlayerUID|getPlayerUIDOld|getPos|getPosASL|getPosASLVisual|getPosASLW|getPosATL|getPosATLVisual|getPosVisual|getPosWorld|getPylonMagazines|getRelDir|getRelPos|getRemoteSensorsDisabled|getRepairCargo|getResolution|getRotorBrakeRTD|getShadowDistance|getShotParents|getSlingLoad|getSoundController|getSoundControllerResult|getSpeed|getStamina|getStatValue|getSuppression|getTerrainGrid|getTerrainHeightASL|getText|getTotalDLCUsageTime|getTrimOffsetRTD|getUnitLoadout|getUnitTrait|getUserMFDText|getUserMFDValue|getVariable|getVehicleCargo|getWeaponCargo|getWeaponSway|getWingsOrientationRTD|getWingsPositionRTD|getWPPos|glanceAt|globalChat|globalRadio|goggles|group|groupChat|groupFromNetId|groupIconSelectable|groupIconsVisible|groupId|groupOwner|groupRadio|groupSelectedUnits|groupSelectUnit|grpNull|gunner|gusts|halt|handgunItems|handgunMagazine|handgunWeapon|handsHit|hasInterface|hasPilotCamera|hasWeapon|hcAllGroups|hcGroupParams|hcLeader|hcRemoveAllGroups|hcRemoveGroup|hcSelected|hcSelectGroup|hcSetGroup|hcShowBar|hcShownBar|headgear|hideBody|hideObject|hideObjectGlobal|hideSelection|hint|hintC|hintCadet|hintSilent|hmd|hostMission|htmlLoad|HUDMovementLevels|humidity|image|importAllGroups|importance|in|inArea|inAreaArray|incapacitatedState|independent|inflame|inflamed|infoPanel|infoPanelComponentEnabled|infoPanelComponents|infoPanels|inGameUISetEventHandler|inheritsFrom|initAmbientLife|inPolygon|inputAction|inRangeOfArtillery|insertEditorObject|intersect|is3DEN|is3DENMultiplayer|isAbleToBreathe|isAgent|isAimPrecisionEnabled|isArray|isAutoHoverOn|isAutonomous|isAutoStartUpEnabledRTD|isAutotest|isAutoTrimOnRTD|isBleeding|isBurning|isClass|isCollisionLightOn|isCopilotEnabled|isDamageAllowed|isDedicated|isDLCAvailable|isEngineOn|isEqualTo|isEqualType|isEqualTypeAll|isEqualTypeAny|isEqualTypeArray|isEqualTypeParams|isFilePatchingEnabled|isFlashlightOn|isFlatEmpty|isForcedWalk|isFormationLeader|isGroupDeletedWhenEmpty|isHidden|isInRemainsCollector|isInstructorFigureEnabled|isIRLaserOn|isKeyActive|isKindOf|isLaserOn|isLightOn|isLocalized|isManualFire|isMarkedForCollection|isMultiplayer|isMultiplayerSolo|isNil|isNull|isNumber|isObjectHidden|isObjectRTD|isOnRoad|isPipEnabled|isPlayer|isRealTime|isRemoteExecuted|isRemoteExecutedJIP|isServer|isShowing3DIcons|isSimpleObject|isSprintAllowed|isStaminaEnabled|isSteamMission|isStreamFriendlyUIEnabled|isStressDamageEnabled|isText|isTouchingGround|isTurnedOut|isTutHintsEnabled|isUAVConnectable|isUAVConnected|isUIContext|isUniformAllowed|isVehicleCargo|isVehicleRadarOn|isVehicleSensorEnabled|isWalking|isWeaponDeployed|isWeaponRested|itemCargo|items|itemsWithMagazines|join|joinAs|joinAsSilent|joinSilent|joinString|kbAddDatabase|kbAddDatabaseTargets|kbAddTopic|kbHasTopic|kbReact|kbRemoveTopic|kbTell|kbWasSaid|keyImage|keyName|knowsAbout|land|landAt|landResult|language|laserTarget|lbAdd|lbClear|lbColor|lbColorRight|lbCurSel|lbData|lbDelete|lbIsSelected|lbPicture|lbPictureRight|lbSelection|lbSetColor|lbSetColorRight|lbSetCurSel|lbSetData|lbSetPicture|lbSetPictureColor|lbSetPictureColorDisabled|lbSetPictureColorSelected|lbSetPictureRight|lbSetPictureRightColor|lbSetPictureRightColorDisabled|lbSetPictureRightColorSelected|lbSetSelectColor|lbSetSelectColorRight|lbSetSelected|lbSetText|lbSetTextRight|lbSetTooltip|lbSetValue|lbSize|lbSort|lbSortByValue|lbText|lbTextRight|lbValue|leader|leaderboardDeInit|leaderboardGetRows|leaderboardInit|leaderboardRequestRowsFriends|leaderboardRequestRowsGlobal|leaderboardRequestRowsGlobalAroundUser|leaderboardsRequestUploadScore|leaderboardsRequestUploadScoreKeepBest|leaderboardState|leaveVehicle|libraryCredits|libraryDisclaimers|lifeState|lightAttachObject|lightDetachObject|lightIsOn|lightnings|limitSpeed|linearConversion|lineBreak|lineIntersects|lineIntersectsObjs|lineIntersectsSurfaces|lineIntersectsWith|linkItem|list|listObjects|listRemoteTargets|listVehicleSensors|ln|lnbAddArray|lnbAddColumn|lnbAddRow|lnbClear|lnbColor|lnbColorRight|lnbCurSelRow|lnbData|lnbDeleteColumn|lnbDeleteRow|lnbGetColumnsPosition|lnbPicture|lnbPictureRight|lnbSetColor|lnbSetColorRight|lnbSetColumnsPos|lnbSetCurSelRow|lnbSetData|lnbSetPicture|lnbSetPictureColor|lnbSetPictureColorRight|lnbSetPictureColorSelected|lnbSetPictureColorSelectedRight|lnbSetPictureRight|lnbSetText|lnbSetTextRight|lnbSetValue|lnbSize|lnbSort|lnbSortByValue|lnbText|lnbTextRight|lnbValue|load|loadAbs|loadBackpack|loadFile|loadGame|loadIdentity|loadMagazine|loadOverlay|loadStatus|loadUniform|loadVest|local|localize|locationNull|locationPosition|lock|lockCameraTo|lockCargo|lockDriver|locked|lockedCargo|lockedDriver|lockedTurret|lockIdentity|lockTurret|lockWP|log|logEntities|logNetwork|logNetworkTerminate|lookAt|lookAtPos|magazineCargo|magazines|magazinesAllTurrets|magazinesAmmo|magazinesAmmoCargo|magazinesAmmoFull|magazinesDetail|magazinesDetailBackpack|magazinesDetailUniform|magazinesDetailVest|magazinesTurret|magazineTurretAmmo|mapAnimAdd|mapAnimClear|mapAnimCommit|mapAnimDone|mapCenterOnCamera|mapGridPosition|markAsFinishedOnSteam|markerAlpha|markerBrush|markerColor|markerDir|markerPos|markerShape|markerSize|markerText|markerType|max|members|menuAction|menuAdd|menuChecked|menuClear|menuCollapse|menuData|menuDelete|menuEnable|menuEnabled|menuExpand|menuHover|menuPicture|menuSetAction|menuSetCheck|menuSetData|menuSetPicture|menuSetValue|menuShortcut|menuShortcutText|menuSize|menuSort|menuText|menuURL|menuValue|min|mineActive|mineDetectedBy|missionConfigFile|missionDifficulty|missionName|missionNamespace|missionStart|missionVersion|modelToWorld|modelToWorldVisual|modelToWorldVisualWorld|modelToWorldWorld|modParams|moonIntensity|moonPhase|morale|move|move3DENCamera|moveInAny|moveInCargo|moveInCommander|moveInDriver|moveInGunner|moveInTurret|moveObjectToEnd|moveOut|moveTime|moveTo|moveToCompleted|moveToFailed|musicVolume|name|nameSound|nearEntities|nearestBuilding|nearestLocation|nearestLocations|nearestLocationWithDubbing|nearestObject|nearestObjects|nearestTerrainObjects|nearObjects|nearObjectsReady|nearRoads|nearSupplies|nearTargets|needReload|netId|netObjNull|newOverlay|nextMenuItemIndex|nextWeatherChange|nMenuItems|numberOfEnginesRTD|numberToDate|objectCurators|objectFromNetId|objectParent|objNull|objStatus|onBriefingGear|onBriefingGroup|onBriefingNotes|onBriefingPlan|onBriefingTeamSwitch|onCommandModeChanged|onDoubleClick|onEachFrame|onGroupIconClick|onGroupIconOverEnter|onGroupIconOverLeave|onHCGroupSelectionChanged|onMapSingleClick|onPlayerConnected|onPlayerDisconnected|onPreloadFinished|onPreloadStarted|onShowNewObject|onTeamSwitch|openCuratorInterface|openDLCPage|openDSInterface|openMap|openSteamApp|openYoutubeVideo|opfor|orderGetIn|overcast|overcastForecast|owner|param|params|parseNumber|parseSimpleArray|parseText|parsingNamespace|particlesQuality|pi|pickWeaponPool|pitch|pixelGrid|pixelGridBase|pixelGridNoUIScale|pixelH|pixelW|playableSlotsNumber|playableUnits|playAction|playActionNow|player|playerRespawnTime|playerSide|playersNumber|playGesture|playMission|playMove|playMoveNow|playMusic|playScriptedMission|playSound|playSound3D|position|positionCameraToWorld|posScreenToWorld|posWorldToScreen|ppEffectAdjust|ppEffectCommit|ppEffectCommitted|ppEffectCreate|ppEffectDestroy|ppEffectEnable|ppEffectEnabled|ppEffectForceInNVG|precision|preloadCamera|preloadObject|preloadSound|preloadTitleObj|preloadTitleRsc|primaryWeapon|primaryWeaponItems|primaryWeaponMagazine|priority|processDiaryLink|processInitCommands|productVersion|profileName|profileNamespace|profileNameSteam|progressLoadingScreen|progressPosition|progressSetPosition|publicVariable|publicVariableClient|publicVariableServer|pushBack|pushBackUnique|putWeaponPool|queryItemsPool|queryMagazinePool|queryWeaponPool|rad|radioChannelAdd|radioChannelCreate|radioChannelRemove|radioChannelSetCallSign|radioChannelSetLabel|radioVolume|rain|rainbow|random|rank|rankId|rating|rectangular|registeredTasks|registerTask|reload|reloadEnabled|remoteControl|remoteExec|remoteExecCall|remoteExecutedOwner|remove3DENConnection|remove3DENEventHandler|remove3DENLayer|removeAction|removeAll3DENEventHandlers|removeAllActions|removeAllAssignedItems|removeAllContainers|removeAllCuratorAddons|removeAllCuratorCameraAreas|removeAllCuratorEditingAreas|removeAllEventHandlers|removeAllHandgunItems|removeAllItems|removeAllItemsWithMagazines|removeAllMissionEventHandlers|removeAllMPEventHandlers|removeAllMusicEventHandlers|removeAllOwnedMines|removeAllPrimaryWeaponItems|removeAllWeapons|removeBackpack|removeBackpackGlobal|removeCuratorAddons|removeCuratorCameraArea|removeCuratorEditableObjects|removeCuratorEditingArea|removeDrawIcon|removeDrawLinks|removeEventHandler|removeFromRemainsCollector|removeGoggles|removeGroupIcon|removeHandgunItem|removeHeadgear|removeItem|removeItemFromBackpack|removeItemFromUniform|removeItemFromVest|removeItems|removeMagazine|removeMagazineGlobal|removeMagazines|removeMagazinesTurret|removeMagazineTurret|removeMenuItem|removeMissionEventHandler|removeMPEventHandler|removeMusicEventHandler|removeOwnedMine|removePrimaryWeaponItem|removeSecondaryWeaponItem|removeSimpleTask|removeSwitchableUnit|removeTeamMember|removeUniform|removeVest|removeWeapon|removeWeaponAttachmentCargo|removeWeaponCargo|removeWeaponGlobal|removeWeaponTurret|reportRemoteTarget|requiredVersion|resetCamShake|resetSubgroupDirection|resistance|resize|resources|respawnVehicle|restartEditorCamera|reveal|revealMine|reverse|reversedMouseY|roadAt|roadsConnectedTo|roleDescription|ropeAttachedObjects|ropeAttachedTo|ropeAttachEnabled|ropeAttachTo|ropeCreate|ropeCut|ropeDestroy|ropeDetach|ropeEndPosition|ropeLength|ropes|ropeUnwind|ropeUnwound|rotorsForcesRTD|rotorsRpmRTD|round|runInitScript|safeZoneH|safeZoneW|safeZoneWAbs|safeZoneX|safeZoneXAbs|safeZoneY|save3DENInventory|saveGame|saveIdentity|saveJoysticks|saveOverlay|saveProfileNamespace|saveStatus|saveVar|savingEnabled|say|say2D|say3D|score|scoreSide|screenshot|screenToWorld|scriptDone|scriptName|scriptNull|scudState|secondaryWeapon|secondaryWeaponItems|secondaryWeaponMagazine|select|selectBestPlaces|selectDiarySubject|selectedEditorObjects|selectEditorObject|selectionNames|selectionPosition|selectLeader|selectMax|selectMin|selectNoPlayer|selectPlayer|selectRandom|selectRandomWeighted|selectWeapon|selectWeaponTurret|sendAUMessage|sendSimpleCommand|sendTask|sendTaskResult|sendUDPMessage|serverCommand|serverCommandAvailable|serverCommandExecutable|serverName|serverTime|set|set3DENAttribute|set3DENAttributes|set3DENGrid|set3DENIconsVisible|set3DENLayer|set3DENLinesVisible|set3DENLogicType|set3DENMissionAttribute|set3DENMissionAttributes|set3DENModelsVisible|set3DENObjectType|set3DENSelected|setAccTime|setActualCollectiveRTD|setAirplaneThrottle|setAirportSide|setAmmo|setAmmoCargo|setAmmoOnPylon|setAnimSpeedCoef|setAperture|setApertureNew|setArmoryPoints|setAttributes|setAutonomous|setBehaviour|setBleedingRemaining|setBrakesRTD|setCameraInterest|setCamShakeDefParams|setCamShakeParams|setCamUseTI|setCaptive|setCenterOfMass|setCollisionLight|setCombatMode|setCompassOscillation|setConvoySeparation|setCuratorCameraAreaCeiling|setCuratorCoef|setCuratorEditingAreaType|setCuratorWaypointCost|setCurrentChannel|setCurrentTask|setCurrentWaypoint|setCustomAimCoef|setCustomWeightRTD|setDamage|setDammage|setDate|setDebriefingText|setDefaultCamera|setDestination|setDetailMapBlendPars|setDir|setDirection|setDrawIcon|setDriveOnPath|setDropInterval|setDynamicSimulationDistance|setDynamicSimulationDistanceCoef|setEditorMode|setEditorObjectScope|setEffectCondition|setEngineRpmRTD|setFace|setFaceAnimation|setFatigue|setFeatureType|setFlagAnimationPhase|setFlagOwner|setFlagSide|setFlagTexture|setFog|setForceGeneratorRTD|setFormation|setFormationTask|setFormDir|setFriend|setFromEditor|setFSMVariable|setFuel|setFuelCargo|setGroupIcon|setGroupIconParams|setGroupIconsSelectable|setGroupIconsVisible|setGroupId|setGroupIdGlobal|setGroupOwner|setGusts|setHideBehind|setHit|setHitIndex|setHitPointDamage|setHorizonParallaxCoef|setHUDMovementLevels|setIdentity|setImportance|setInfoPanel|setLeader|setLightAmbient|setLightAttenuation|setLightBrightness|setLightColor|setLightDayLight|setLightFlareMaxDistance|setLightFlareSize|setLightIntensity|setLightnings|setLightUseFlare|setLocalWindParams|setMagazineTurretAmmo|setMarkerAlpha|setMarkerAlphaLocal|setMarkerBrush|setMarkerBrushLocal|setMarkerColor|setMarkerColorLocal|setMarkerDir|setMarkerDirLocal|setMarkerPos|setMarkerPosLocal|setMarkerShape|setMarkerShapeLocal|setMarkerSize|setMarkerSizeLocal|setMarkerText|setMarkerTextLocal|setMarkerType|setMarkerTypeLocal|setMass|setMimic|setMousePosition|setMusicEffect|setMusicEventHandler|setName|setNameSound|setObjectArguments|setObjectMaterial|setObjectMaterialGlobal|setObjectProxy|setObjectTexture|setObjectTextureGlobal|setObjectViewDistance|setOvercast|setOwner|setOxygenRemaining|setParticleCircle|setParticleClass|setParticleFire|setParticleParams|setParticleRandom|setPilotCameraDirection|setPilotCameraRotation|setPilotCameraTarget|setPilotLight|setPiPEffect|setPitch|setPlateNumber|setPlayable|setPlayerRespawnTime|setPos|setPosASL|setPosASL2|setPosASLW|setPosATL|setPosition|setPosWorld|setPylonLoadOut|setPylonsPriority|setRadioMsg|setRain|setRainbow|setRandomLip|setRank|setRectangular|setRepairCargo|setRotorBrakeRTD|setShadowDistance|setShotParents|setSide|setSimpleTaskAlwaysVisible|setSimpleTaskCustomData|setSimpleTaskDescription|setSimpleTaskDestination|setSimpleTaskTarget|setSimpleTaskType|setSimulWeatherLayers|setSize|setSkill|setSlingLoad|setSoundEffect|setSpeaker|setSpeech|setSpeedMode|setStamina|setStaminaScheme|setStatValue|setSuppression|setSystemOfUnits|setTargetAge|setTaskMarkerOffset|setTaskResult|setTaskState|setTerrainGrid|setText|setTimeMultiplier|setTitleEffect|setToneMapping|setToneMappingParams|setTrafficDensity|setTrafficDistance|setTrafficGap|setTrafficSpeed|setTriggerActivation|setTriggerArea|setTriggerStatements|setTriggerText|setTriggerTimeout|setTriggerType|setType|setUnconscious|setUnitAbility|setUnitLoadout|setUnitPos|setUnitPosWeak|setUnitRank|setUnitRecoilCoefficient|setUnitTrait|setUnloadInCombat|setUserActionText|setUserMFDText|setUserMFDValue|setVariable|setVectorDir|setVectorDirAndUp|setVectorUp|setVehicleAmmo|setVehicleAmmoDef|setVehicleArmor|setVehicleCargo|setVehicleId|setVehicleInit|setVehicleLock|setVehiclePosition|setVehicleRadar|setVehicleReceiveRemoteTargets|setVehicleReportOwnPosition|setVehicleReportRemoteTargets|setVehicleTIPars|setVehicleVarName|setVelocity|setVelocityModelSpace|setVelocityTransformation|setViewDistance|setVisibleIfTreeCollapsed|setWantedRpmRTD|setWaves|setWaypointBehaviour|setWaypointCombatMode|setWaypointCompletionRadius|setWaypointDescription|setWaypointForceBehaviour|setWaypointFormation|setWaypointHousePosition|setWaypointLoiterRadius|setWaypointLoiterType|setWaypointName|setWaypointPosition|setWaypointScript|setWaypointSpeed|setWaypointStatements|setWaypointTimeout|setWaypointType|setWaypointVisible|setWeaponReloadingTime|setWind|setWindDir|setWindForce|setWindStr|setWingForceScaleRTD|setWPPos|show3DIcons|showChat|showCinemaBorder|showCommandingMenu|showCompass|showCuratorCompass|showGPS|showHUD|showLegend|showMap|shownArtilleryComputer|shownChat|shownCompass|shownCuratorCompass|showNewEditorObject|shownGPS|shownHUD|shownMap|shownPad|shownRadio|shownScoretable|shownUAVFeed|shownWarrant|shownWatch|showPad|showRadio|showScoretable|showSubtitles|showUAVFeed|showWarrant|showWatch|showWaypoint|showWaypoints|side|sideAmbientLife|sideChat|sideEmpty|sideEnemy|sideFriendly|sideLogic|sideRadio|sideUnknown|simpleTasks|simulationEnabled|simulCloudDensity|simulCloudOcclusion|simulInClouds|simulWeatherSync|sin|size|sizeOf|skill|skillFinal|skipTime|sleep|sliderPosition|sliderRange|sliderSetPosition|sliderSetRange|sliderSetSpeed|sliderSpeed|slingLoadAssistantShown|soldierMagazines|someAmmo|sort|soundVolume|speaker|speed|speedMode|splitString|sqrt|squadParams|stance|startLoadingScreen|stop|stopEngineRTD|stopped|str|sunOrMoon|supportInfo|suppressFor|surfaceIsWater|surfaceNormal|surfaceType|swimInDepth|switchableUnits|switchAction|switchCamera|switchGesture|switchLight|switchMove|synchronizedObjects|synchronizedTriggers|synchronizedWaypoints|synchronizeObjectsAdd|synchronizeObjectsRemove|synchronizeTrigger|synchronizeWaypoint|systemChat|systemOfUnits|tan|targetKnowledge|targets|targetsAggregate|targetsQuery|taskAlwaysVisible|taskChildren|taskCompleted|taskCustomData|taskDescription|taskDestination|taskHint|taskMarkerOffset|taskNull|taskParent|taskResult|taskState|taskType|teamMember|teamMemberNull|teamName|teams|teamSwitch|teamSwitchEnabled|teamType|terminate|terrainIntersect|terrainIntersectASL|terrainIntersectAtASL|text|textLog|textLogFormat|tg|time|timeMultiplier|titleCut|titleFadeOut|titleObj|titleRsc|titleText|toArray|toFixed|toLower|toString|toUpper|triggerActivated|triggerActivation|triggerArea|triggerAttachedVehicle|triggerAttachObject|triggerAttachVehicle|triggerDynamicSimulation|triggerStatements|triggerText|triggerTimeout|triggerTimeoutCurrent|triggerType|turretLocal|turretOwner|turretUnit|tvAdd|tvClear|tvCollapse|tvCollapseAll|tvCount|tvCurSel|tvData|tvDelete|tvExpand|tvExpandAll|tvPicture|tvPictureRight|tvSetColor|tvSetCurSel|tvSetData|tvSetPicture|tvSetPictureColor|tvSetPictureColorDisabled|tvSetPictureColorSelected|tvSetPictureRight|tvSetPictureRightColor|tvSetPictureRightColorDisabled|tvSetPictureRightColorSelected|tvSetSelectColor|tvSetText|tvSetTooltip|tvSetValue|tvSort|tvSortByValue|tvText|tvTooltip|tvValue|type|typeName|typeOf|UAVControl|uiNamespace|uiSleep|unassignCurator|unassignItem|unassignTeam|unassignVehicle|underwater|uniform|uniformContainer|uniformItems|uniformMagazines|unitAddons|unitAimPosition|unitAimPositionVisual|unitBackpack|unitIsUAV|unitPos|unitReady|unitRecoilCoefficient|units|unitsBelowHeight|unlinkItem|unlockAchievement|unregisterTask|updateDrawIcon|updateMenuItem|updateObjectTree|useAIOperMapObstructionTest|useAISteeringComponent|useAudioTimeForMoves|userInputDisabled|vectorAdd|vectorCos|vectorCrossProduct|vectorDiff|vectorDir|vectorDirVisual|vectorDistance|vectorDistanceSqr|vectorDotProduct|vectorFromTo|vectorMagnitude|vectorMagnitudeSqr|vectorModelToWorld|vectorModelToWorldVisual|vectorMultiply|vectorNormalized|vectorUp|vectorUpVisual|vectorWorldToModel|vectorWorldToModelVisual|vehicle|vehicleCargoEnabled|vehicleChat|vehicleRadio|vehicleReceiveRemoteTargets|vehicleReportOwnPosition|vehicleReportRemoteTargets|vehicles|vehicleVarName|velocity|velocityModelSpace|verifySignature|vest|vestContainer|vestItems|vestMagazines|viewDistance|visibleCompass|visibleGPS|visibleMap|visiblePosition|visiblePositionASL|visibleScoretable|visibleWatch|waitUntil|waves|waypointAttachedObject|waypointAttachedVehicle|waypointAttachObject|waypointAttachVehicle|waypointBehaviour|waypointCombatMode|waypointCompletionRadius|waypointDescription|waypointForceBehaviour|waypointFormation|waypointHousePosition|waypointLoiterRadius|waypointLoiterType|waypointName|waypointPosition|waypoints|waypointScript|waypointsEnabledUAV|waypointShow|waypointSpeed|waypointStatements|waypointTimeout|waypointTimeoutCurrent|waypointType|waypointVisible|weaponAccessories|weaponAccessoriesCargo|weaponCargo|weaponDirection|weaponInertia|weaponLowered|weapons|weaponsItems|weaponsItemsCargo|weaponState|weaponsTurret|weightRTD|west|WFSideText|wind|windDir|windRTD|windStr|wingsForcesRTD|worldName|worldSize|worldToModel|worldToModelVisual|worldToScreen)\b/i,number:/(?:\$|\b0x)[\da-f]+\b|(?:\B\.\d+|\b\d+(?:\.\d+)?)(?:e[+-]?\d+)?\b/i,operator:/##|>>|&&|\|\||[!=<>]=?|[-+*/%#^]|\b(?:and|mod|not|or)\b/i,"magic-variable":{pattern:/\b(?:this|thisList|thisTrigger|_exception|_fnc_scriptName|_fnc_scriptNameParent|_forEachIndex|_this|_thisEventHandler|_thisFSM|_thisScript|_x)\b/i,alias:"keyword"},constant:/\bDIK(?:_[a-z\d]+)+\b/i}),e.languages.insertBefore("sqf","string",{macro:{pattern:/(^[ \t]*)#[a-z](?:[^\r\n\\]|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{directive:{pattern:/#[a-z]+\b/i,alias:"keyword"},comment:e.languages.sqf.comment}}}),delete e.languages.sqf["class-name"]}e.exports=t,t.displayName="sqf",t.aliases=[]},7740:function(e){"use strict";function t(e){e.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}}e.exports=t,t.displayName="sql",t.aliases=[]},4038:function(e){"use strict";function t(e){e.languages.squirrel=e.languages.extend("clike",{comment:[e.languages.clike.comment[0],{pattern:/(^|[^\\:])(?:\/\/|#).*/,lookbehind:!0,greedy:!0}],string:{pattern:/(^|[^\\"'@])(?:@"(?:[^"]|"")*"(?!")|"(?:[^\\\r\n"]|\\.)*")/,lookbehind:!0,greedy:!0},"class-name":{pattern:/(\b(?:class|enum|extends|instanceof)\s+)\w+(?:\.\w+)*/,lookbehind:!0,inside:{punctuation:/\./}},keyword:/\b(?:__FILE__|__LINE__|base|break|case|catch|class|clone|const|constructor|continue|default|delete|else|enum|extends|for|foreach|function|if|in|instanceof|local|null|resume|return|static|switch|this|throw|try|typeof|while|yield)\b/,number:/\b(?:0x[0-9a-fA-F]+|\d+(?:\.(?:\d+|[eE][+-]?\d+))?)\b/,operator:/\+\+|--|<=>|<[-<]|>>>?|&&?|\|\|?|[-+*/%!=<>]=?|[~^]|::?/,punctuation:/[(){}\[\],;.]/}),e.languages.insertBefore("squirrel","string",{char:{pattern:/(^|[^\\"'])'(?:[^\\']|\\(?:[xuU][0-9a-fA-F]{0,8}|[\s\S]))'/,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("squirrel","operator",{"attribute-punctuation":{pattern:/<\/|\/>/,alias:"important"},lambda:{pattern:/@(?=\()/,alias:"operator"}})}e.exports=t,t.displayName="squirrel",t.aliases=[]},4585:function(e){"use strict";function t(e){!function(e){var t=/\b(?:algebra_solver|algebra_solver_newton|integrate_1d|integrate_ode|integrate_ode_bdf|integrate_ode_rk45|map_rect|ode_(?:adams|bdf|ckrk|rk45)(?:_tol)?|ode_adjoint_tol_ctl|reduce_sum|reduce_sum_static)\b/;e.languages.stan={comment:/\/\/.*|\/\*[\s\S]*?\*\/|#(?!include).*/,string:{pattern:/"[\x20\x21\x23-\x5B\x5D-\x7E]*"/,greedy:!0},directive:{pattern:/^([ \t]*)#include\b.*/m,lookbehind:!0,alias:"property"},"function-arg":{pattern:RegExp("("+t.source+/\s*\(\s*/.source+")"+/[a-zA-Z]\w*/.source),lookbehind:!0,alias:"function"},constraint:{pattern:/(\b(?:int|matrix|real|row_vector|vector)\s*)<[^<>]*>/,lookbehind:!0,inside:{expression:{pattern:/(=\s*)\S(?:\S|\s+(?!\s))*?(?=\s*(?:>$|,\s*\w+\s*=))/,lookbehind:!0,inside:null},property:/\b[a-z]\w*(?=\s*=)/i,operator:/=/,punctuation:/^<|>$|,/}},keyword:[{pattern:/\bdata(?=\s*\{)|\b(?:functions|generated|model|parameters|quantities|transformed)\b/,alias:"program-block"},/\b(?:array|break|cholesky_factor_corr|cholesky_factor_cov|complex|continue|corr_matrix|cov_matrix|data|else|for|if|in|increment_log_prob|int|matrix|ordered|positive_ordered|print|real|reject|return|row_vector|simplex|target|unit_vector|vector|void|while)\b/,t],function:/\b[a-z]\w*(?=\s*\()/i,number:/(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:E[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,boolean:/\b(?:false|true)\b/,operator:/<-|\.[*/]=?|\|\|?|&&|[!=<>+\-*/]=?|['^%~?:]/,punctuation:/[()\[\]{},;]/},e.languages.stan.constraint.inside.expression.inside=e.languages.stan}(e)}e.exports=t,t.displayName="stan",t.aliases=[]},692:function(e){"use strict";function t(e){!function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},r={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};r.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:r}},r.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:r}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:r}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:r}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:r}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:r.interpolation}},rest:r}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:r.interpolation,comment:r.comment,punctuation:/[{},]/}},func:r.func,string:r.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:r.interpolation,punctuation:/[{}()\[\];:.]/}}(e)}e.exports=t,t.displayName="stylus",t.aliases=[]},3171:function(e){"use strict";function t(e){e.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ \t]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},e.languages.swift["string-literal"].forEach((function(t){t.inside.interpolation.inside=e.languages.swift}))}e.exports=t,t.displayName="swift",t.aliases=[]},2257:function(e){"use strict";function t(e){!function(e){var t={pattern:/^[;#].*/m,greedy:!0},n=/"(?:[^\r\n"\\]|\\(?:[^\r]|\r\n?))*"(?!\S)/.source;e.languages.systemd={comment:t,section:{pattern:/^\[[^\n\r\[\]]*\](?=[ \t]*$)/m,greedy:!0,inside:{punctuation:/^\[|\]$/,"section-name":{pattern:/[\s\S]+/,alias:"selector"}}},key:{pattern:/^[^\s=]+(?=[ \t]*=)/m,greedy:!0,alias:"attr-name"},value:{pattern:RegExp(/(=[ \t]*(?!\s))/.source+"(?:"+n+'|(?=[^"\r\n]))(?:'+/[^\s\\]/.source+'|[ \t]+(?:(?![ \t"])|'+n+")|"+/\\[\r\n]+(?:[#;].*[\r\n]+)*(?![#;])/.source+")*"),lookbehind:!0,greedy:!0,alias:"attr-value",inside:{comment:t,quoted:{pattern:RegExp(/(^|\s)/.source+n),lookbehind:!0,greedy:!0},punctuation:/\\$/m,boolean:{pattern:/^(?:false|no|off|on|true|yes)$/,greedy:!0}}},punctuation:/=/}}(e)}e.exports=t,t.displayName="systemd",t.aliases=[]},5559:function(e,t,n){"use strict";var r=n(9547),a=n(3281);function i(e){e.register(r),e.register(a),e.languages.t4=e.languages["t4-cs"]=e.languages["t4-templating"].createT4("csharp")}e.exports=i,i.displayName="t4Cs",i.aliases=[]},9547:function(e){"use strict";function t(e){!function(e){function t(e,t,n){return{pattern:RegExp("<#"+e+"[\\s\\S]*?#>"),alias:"block",inside:{delimiter:{pattern:RegExp("^<#"+e+"|#>$"),alias:"important"},content:{pattern:/[\s\S]+/,inside:t,alias:n}}}}e.languages["t4-templating"]=Object.defineProperty({},"createT4",{value:function(n){var r=e.languages[n],a="language-"+n;return{block:{pattern:/<#[\s\S]+?#>/,inside:{directive:t("@",{"attr-value":{pattern:/=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/,inside:{punctuation:/^=|^["']|["']$/}},keyword:/\b\w+(?=\s)/,"attr-name":/\b\w+/}),expression:t("=",r,a),"class-feature":t("\\+",r,a),standard:t("",r,a)}}}}})}(e)}e.exports=t,t.displayName="t4Templating",t.aliases=[]},9338:function(e,t,n){"use strict";var r=n(9547),a=n(4941);function i(e){e.register(r),e.register(a),e.languages["t4-vb"]=e.languages["t4-templating"].createT4("vbnet")}e.exports=i,i.displayName="t4Vb",i.aliases=[]},5515:function(e,t,n){"use strict";var r=n(5133);function a(e){e.register(r),e.languages.tap={fail:/not ok[^#{\n\r]*/,pass:/ok[^#{\n\r]*/,pragma:/pragma [+-][a-z]+/,bailout:/bail out!.*/i,version:/TAP version \d+/i,plan:/\b\d+\.\.\d+(?: +#.*)?/,subtest:{pattern:/# Subtest(?:: .*)?/,greedy:!0},punctuation:/[{}]/,directive:/#.*/,yamlish:{pattern:/(^[ \t]*)---[\s\S]*?[\r\n][ \t]*\.\.\.$/m,lookbehind:!0,inside:e.languages.yaml,alias:"language-yaml"}}}e.exports=a,a.displayName="tap",a.aliases=[]},4207:function(e){"use strict";function t(e){e.languages.tcl={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:{pattern:/"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"/,greedy:!0},variable:[{pattern:/(\$)(?:::)?(?:[a-zA-Z0-9]+::)*\w+/,lookbehind:!0},{pattern:/(\$)\{[^}]+\}/,lookbehind:!0},{pattern:/(^[\t ]*set[ \t]+)(?:::)?(?:[a-zA-Z0-9]+::)*\w+/m,lookbehind:!0}],function:{pattern:/(^[\t ]*proc[ \t]+)\S+/m,lookbehind:!0},builtin:[{pattern:/(^[\t ]*)(?:break|class|continue|error|eval|exit|for|foreach|if|proc|return|switch|while)\b/m,lookbehind:!0},/\b(?:else|elseif)\b/],scope:{pattern:/(^[\t ]*)(?:global|upvar|variable)\b/m,lookbehind:!0,alias:"constant"},keyword:{pattern:/(^[\t ]*|\[)(?:Safe_Base|Tcl|after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|scan|seek|set|socket|source|split|string|subst|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|test|vars|wordBreak(?:After|Before))|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)\b/m,lookbehind:!0},operator:/!=?|\*\*?|==|&&?|\|\|?|<[=<]?|>[=>]?|[-+~\/%?^]|\b(?:eq|in|ne|ni)\b/,punctuation:/[{}()\[\]]/}}e.exports=t,t.displayName="tcl",t.aliases=[]},7492:function(e){"use strict";function t(e){!function(e){var t=/\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\}/.source,n=/\)|\((?![^|()\n]+\))/.source;function r(e,r){return RegExp(e.replace(/<MOD>/g,(function(){return"(?:"+t+")"})).replace(/<PAR>/g,(function(){return"(?:"+n+")"})),r||"")}var a={css:{pattern:/\{[^{}]+\}/,inside:{rest:e.languages.css}},"class-id":{pattern:/(\()[^()]+(?=\))/,lookbehind:!0,alias:"attr-value"},lang:{pattern:/(\[)[^\[\]]+(?=\])/,lookbehind:!0,alias:"attr-value"},punctuation:/[\\\/]\d+|\S/},i=e.languages.textile=e.languages.extend("markup",{phrase:{pattern:/(^|\r|\n)\S[\s\S]*?(?=$|\r?\n\r?\n|\r\r)/,lookbehind:!0,inside:{"block-tag":{pattern:r(/^[a-z]\w*(?:<MOD>|<PAR>|[<>=])*\./.source),inside:{modifier:{pattern:r(/(^[a-z]\w*)(?:<MOD>|<PAR>|[<>=])+(?=\.)/.source),lookbehind:!0,inside:a},tag:/^[a-z]\w*/,punctuation:/\.$/}},list:{pattern:r(/^[*#]+<MOD>*\s+\S.*/.source,"m"),inside:{modifier:{pattern:r(/(^[*#]+)<MOD>+/.source),lookbehind:!0,inside:a},punctuation:/^[*#]+/}},table:{pattern:r(/^(?:(?:<MOD>|<PAR>|[<>=^~])+\.\s*)?(?:\|(?:(?:<MOD>|<PAR>|[<>=^~_]|[\\/]\d+)+\.|(?!(?:<MOD>|<PAR>|[<>=^~_]|[\\/]\d+)+\.))[^|]*)+\|/.source,"m"),inside:{modifier:{pattern:r(/(^|\|(?:\r?\n|\r)?)(?:<MOD>|<PAR>|[<>=^~_]|[\\/]\d+)+(?=\.)/.source),lookbehind:!0,inside:a},punctuation:/\||^\./}},inline:{pattern:r(/(^|[^a-zA-Z\d])(\*\*|__|\?\?|[*_%@+\-^~])<MOD>*.+?\2(?![a-zA-Z\d])/.source),lookbehind:!0,inside:{bold:{pattern:r(/(^(\*\*?)<MOD>*).+?(?=\2)/.source),lookbehind:!0},italic:{pattern:r(/(^(__?)<MOD>*).+?(?=\2)/.source),lookbehind:!0},cite:{pattern:r(/(^\?\?<MOD>*).+?(?=\?\?)/.source),lookbehind:!0,alias:"string"},code:{pattern:r(/(^@<MOD>*).+?(?=@)/.source),lookbehind:!0,alias:"keyword"},inserted:{pattern:r(/(^\+<MOD>*).+?(?=\+)/.source),lookbehind:!0},deleted:{pattern:r(/(^-<MOD>*).+?(?=-)/.source),lookbehind:!0},span:{pattern:r(/(^%<MOD>*).+?(?=%)/.source),lookbehind:!0},modifier:{pattern:r(/(^\*\*|__|\?\?|[*_%@+\-^~])<MOD>+/.source),lookbehind:!0,inside:a},punctuation:/[*_%?@+\-^~]+/}},"link-ref":{pattern:/^\[[^\]]+\]\S+$/m,inside:{string:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0},url:{pattern:/(^\])\S+$/,lookbehind:!0},punctuation:/[\[\]]/}},link:{pattern:r(/"<MOD>*[^"]+":.+?(?=[^\w/]?(?:\s|$))/.source),inside:{text:{pattern:r(/(^"<MOD>*)[^"]+(?=")/.source),lookbehind:!0},modifier:{pattern:r(/(^")<MOD>+/.source),lookbehind:!0,inside:a},url:{pattern:/(:).+/,lookbehind:!0},punctuation:/[":]/}},image:{pattern:r(/!(?:<MOD>|<PAR>|[<>=])*(?![<>=])[^!\s()]+(?:\([^)]+\))?!(?::.+?(?=[^\w/]?(?:\s|$)))?/.source),inside:{source:{pattern:r(/(^!(?:<MOD>|<PAR>|[<>=])*)(?![<>=])[^!\s()]+(?:\([^)]+\))?(?=!)/.source),lookbehind:!0,alias:"url"},modifier:{pattern:r(/(^!)(?:<MOD>|<PAR>|[<>=])+/.source),lookbehind:!0,inside:a},url:{pattern:/(:).+/,lookbehind:!0},punctuation:/[!:]/}},footnote:{pattern:/\b\[\d+\]/,alias:"comment",inside:{punctuation:/\[|\]/}},acronym:{pattern:/\b[A-Z\d]+\([^)]+\)/,inside:{comment:{pattern:/(\()[^()]+(?=\))/,lookbehind:!0},punctuation:/[()]/}},mark:{pattern:/\b\((?:C|R|TM)\)/,alias:"comment",inside:{punctuation:/[()]/}}}}}),o=i.phrase.inside,s={inline:o.inline,link:o.link,image:o.image,footnote:o.footnote,acronym:o.acronym,mark:o.mark};i.tag.pattern=/<\/?(?!\d)[a-z0-9]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i;var l=o.inline.inside;l.bold.inside=s,l.italic.inside=s,l.inserted.inside=s,l.deleted.inside=s,l.span.inside=s;var c=o.table.inside;c.inline=s.inline,c.link=s.link,c.image=s.image,c.footnote=s.footnote,c.acronym=s.acronym,c.mark=s.mark}(e)}e.exports=t,t.displayName="textile",t.aliases=[]},6453:function(e){"use strict";function t(e){!function(e){var t=/(?:[\w-]+|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*")/.source;function n(e){return e.replace(/__/g,(function(){return t}))}e.languages.toml={comment:{pattern:/#.*/,greedy:!0},table:{pattern:RegExp(n(/(^[\t ]*\[\s*(?:\[\s*)?)__(?:\s*\.\s*__)*(?=\s*\])/.source),"m"),lookbehind:!0,greedy:!0,alias:"class-name"},key:{pattern:RegExp(n(/(^[\t ]*|[{,]\s*)__(?:\s*\.\s*__)*(?=\s*=)/.source),"m"),lookbehind:!0,greedy:!0,alias:"property"},string:{pattern:/"""(?:\\[\s\S]|[^\\])*?"""|'''[\s\S]*?'''|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},date:[{pattern:/\b\d{4}-\d{2}-\d{2}(?:[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?)?\b/i,alias:"number"},{pattern:/\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/,alias:"number"}],number:/(?:\b0(?:x[\da-zA-Z]+(?:_[\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\b|[-+]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?\b|[-+]?\b(?:inf|nan)\b/,boolean:/\b(?:false|true)\b/,punctuation:/[.,=[\]{}]/}}(e)}e.exports=t,t.displayName="toml",t.aliases=[]},6686:function(e){"use strict";function t(e){!function(e){e.languages.tremor={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},"interpolated-string":null,extractor:{pattern:/\b[a-z_]\w*\|(?:[^\r\n\\|]|\\(?:\r\n|[\s\S]))*\|/i,greedy:!0,inside:{regex:{pattern:/(^re)\|[\s\S]+/,lookbehind:!0},function:/^\w+/,value:/\|[\s\S]+/}},identifier:{pattern:/`[^`]*`/,greedy:!0},function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())\b/,keyword:/\b(?:args|as|by|case|config|connect|connector|const|copy|create|default|define|deploy|drop|each|emit|end|erase|event|flow|fn|for|from|group|having|insert|into|intrinsic|let|links|match|merge|mod|move|of|operator|patch|pipeline|recur|script|select|set|sliding|state|stream|to|tumbling|update|use|when|where|window|with)\b/,boolean:/\b(?:false|null|true)\b/i,number:/\b(?:0b[01_]*|0x[0-9a-fA-F_]*|\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee][+-]?[\d_]+)?)\b/,"pattern-punctuation":{pattern:/%(?=[({[])/,alias:"punctuation"},operator:/[-+*\/%~!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?>?=?|(?:absent|and|not|or|present|xor)\b/,punctuation:/::|[;\[\]()\{\},.:]/};var t=/#\{(?:[^"{}]|\{[^{}]*\}|"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*")*\}/.source;e.languages.tremor["interpolated-string"]={pattern:RegExp(/(^|[^\\])/.source+'(?:"""(?:'+/[^"\\#]|\\[\s\S]|"(?!"")|#(?!\{)/.source+"|"+t+')*"""|"(?:'+/[^"\\\r\n#]|\\(?:\r\n|[\s\S])|#(?!\{)/.source+"|"+t+')*")'),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:RegExp(t),inside:{punctuation:/^#\{|\}$/,expression:{pattern:/[\s\S]+/,inside:e.languages.tremor}}},string:/[\s\S]+/}},e.languages.troy=e.languages.tremor,e.languages.trickle=e.languages.tremor}(e)}e.exports=t,t.displayName="tremor",t.aliases=[]},7369:function(e,t,n){"use strict";var r=n(765),a=n(9669);function i(e){e.register(r),e.register(a),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0}(e)}e.exports=i,i.displayName="tsx",i.aliases=[]},7191:function(e,t,n){"use strict";var r=n(595);function a(e){e.register(r),function(e){e.languages.tt2=e.languages.extend("clike",{comment:/#.*|\[%#[\s\S]*?%\]/,keyword:/\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|SWITCH|TAGS|THROW|TRY|UNLESS|USE|WHILE|WRAPPER)\b/,punctuation:/[[\]{},()]/}),e.languages.insertBefore("tt2","number",{operator:/=[>=]?|!=?|<=?|>=?|&&|\|\|?|\b(?:and|not|or)\b/,variable:{pattern:/\b[a-z]\w*(?:\s*\.\s*(?:\d+|\$?[a-z]\w*))*\b/i}}),e.languages.insertBefore("tt2","keyword",{delimiter:{pattern:/^(?:\[%|%%)-?|-?%\]$/,alias:"punctuation"}}),e.languages.insertBefore("tt2","string",{"single-quoted-string":{pattern:/'[^\\']*(?:\\[\s\S][^\\']*)*'/,greedy:!0,alias:"string"},"double-quoted-string":{pattern:/"[^\\"]*(?:\\[\s\S][^\\"]*)*"/,greedy:!0,alias:"string",inside:{variable:{pattern:/\$(?:[a-z]\w*(?:\.(?:\d+|\$?[a-z]\w*))*)/i}}}}),delete e.languages.tt2.string,e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"tt2",/\[%[\s\S]+?%\]/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"tt2")}))}(e)}e.exports=a,a.displayName="tt2",a.aliases=[]},3089:function(e){"use strict";function t(e){e.languages.turtle={comment:{pattern:/#.*/,greedy:!0},"multiline-string":{pattern:/"""(?:(?:""?)?(?:[^"\\]|\\.))*"""|'''(?:(?:''?)?(?:[^'\\]|\\.))*'''/,greedy:!0,alias:"string",inside:{comment:/#.*/}},string:{pattern:/"(?:[^\\"\r\n]|\\.)*"|'(?:[^\\'\r\n]|\\.)*'/,greedy:!0},url:{pattern:/<(?:[^\x00-\x20<>"{}|^`\\]|\\(?:u[\da-fA-F]{4}|U[\da-fA-F]{8}))*>/,greedy:!0,inside:{punctuation:/[<>]/}},function:{pattern:/(?:(?![-.\d\xB7])[-.\w\xB7\xC0-\uFFFD]+)?:(?:(?![-.])(?:[-.:\w\xC0-\uFFFD]|%[\da-f]{2}|\\.)+)?/i,inside:{"local-name":{pattern:/([^:]*:)[\s\S]+/,lookbehind:!0},prefix:{pattern:/[\s\S]+/,inside:{punctuation:/:/}}}},number:/[+-]?\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i,punctuation:/[{}.,;()[\]]|\^\^/,boolean:/\b(?:false|true)\b/,keyword:[/(?:\ba|@prefix|@base)\b|=/,/\b(?:base|graph|prefix)\b/i],tag:{pattern:/@[a-z]+(?:-[a-z\d]+)*/i,inside:{punctuation:/@/}}},e.languages.trig=e.languages.turtle}e.exports=t,t.displayName="turtle",t.aliases=[]},4411:function(e,t,n){"use strict";var r=n(595);function a(e){e.register(r),e.languages.twig={comment:/^\{#[\s\S]*?#\}$/,"tag-name":{pattern:/(^\{%-?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%]-?|-?[%}]\}$/,alias:"punctuation"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/}},keyword:/\b(?:even|if|odd)\b/,boolean:/\b(?:false|null|true)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],punctuation:/[()\[\]{}:.,]/},e.hooks.add("before-tokenize",(function(t){if("twig"===t.language){e.languages["markup-templating"].buildPlaceholders(t,"twig",/\{(?:#[\s\S]*?#|%[\s\S]*?%|\{[\s\S]*?\})\}/g)}})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"twig")}))}e.exports=a,a.displayName="twig",a.aliases=[]},9669:function(e){"use strict";function t(e){!function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(e)}e.exports=t,t.displayName="typescript",t.aliases=["ts"]},4773:function(e){"use strict";function t(e){!function(e){var t=/\b(?:ACT|ACTIFSUB|CARRAY|CASE|CLEARGIF|COA|COA_INT|CONSTANTS|CONTENT|CUR|EDITPANEL|EFFECT|EXT|FILE|FLUIDTEMPLATE|FORM|FRAME|FRAMESET|GIFBUILDER|GMENU|GMENU_FOLDOUT|GMENU_LAYERS|GP|HMENU|HRULER|HTML|IENV|IFSUB|IMAGE|IMGMENU|IMGMENUITEM|IMGTEXT|IMG_RESOURCE|INCLUDE_TYPOSCRIPT|JSMENU|JSMENUITEM|LLL|LOAD_REGISTER|NO|PAGE|RECORDS|RESTORE_REGISTER|TEMPLATE|TEXT|TMENU|TMENUITEM|TMENU_LAYERS|USER|USER_INT|_GIFBUILDER|global|globalString|globalVar)\b/;e.languages.typoscript={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:= \t]|(?:^|[^= \t])[ \t]+)\/\/.*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^"'])#.*/,lookbehind:!0,greedy:!0}],function:[{pattern:/<INCLUDE_TYPOSCRIPT:\s*source\s*=\s*(?:"[^"\r\n]*"|'[^'\r\n]*')\s*>/,inside:{string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,inside:{keyword:t}},keyword:{pattern:/INCLUDE_TYPOSCRIPT/}}},{pattern:/@import\s*(?:"[^"\r\n]*"|'[^'\r\n]*')/,inside:{string:/"[^"\r\n]*"|'[^'\r\n]*'/}}],string:{pattern:/^([^=]*=[< ]?)(?:(?!\]\n).)*/,lookbehind:!0,inside:{function:/\{\$.*\}/,keyword:t,number:/^\d+$/,punctuation:/[,|:]/}},keyword:t,number:{pattern:/\b\d+\s*[.{=]/,inside:{operator:/[.{=]/}},tag:{pattern:/\.?[-\w\\]+\.?/,inside:{punctuation:/\./}},punctuation:/[{}[\];(),.:|]/,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/},e.languages.tsconfig=e.languages.typoscript}(e)}e.exports=t,t.displayName="typoscript",t.aliases=["tsconfig"]},3210:function(e){"use strict";function t(e){e.languages.unrealscript={comment:/\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},category:{pattern:/(\b(?:(?:autoexpand|hide|show)categories|var)\s*\()[^()]+(?=\))/,lookbehind:!0,greedy:!0,alias:"property"},metadata:{pattern:/(\w\s*)<\s*\w+\s*=[^<>|=\r\n]+(?:\|\s*\w+\s*=[^<>|=\r\n]+)*>/,lookbehind:!0,greedy:!0,inside:{property:/\b\w+(?=\s*=)/,operator:/=/,punctuation:/[<>|]/}},macro:{pattern:/`\w+/,alias:"property"},"class-name":{pattern:/(\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+)\w+/,lookbehind:!0},keyword:/\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,boolean:/\b(?:false|true)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/>>|<<|--|\+\+|\*\*|[-+*/~!=<>$@]=?|&&?|\|\|?|\^\^?|[?:%]|\b(?:ClockwiseFrom|Cross|Dot)\b/,punctuation:/[()[\]{};,.]/},e.languages.uc=e.languages.uscript=e.languages.unrealscript}e.exports=t,t.displayName="unrealscript",t.aliases=["uc","uscript"]},2613:function(e){"use strict";function t(e){e.languages.uorazor={"comment-hash":{pattern:/#.*/,alias:"comment",greedy:!0},"comment-slash":{pattern:/\/\/.*/,alias:"comment",greedy:!0},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/},greedy:!0},"source-layers":{pattern:/\b(?:arms|backpack|blue|bracelet|cancel|clear|cloak|criminal|earrings|enemy|facialhair|friend|friendly|gloves|gray|grey|ground|hair|head|innerlegs|innertorso|innocent|lefthand|middletorso|murderer|neck|nonfriendly|onehandedsecondary|outerlegs|outertorso|pants|red|righthand|ring|self|shirt|shoes|talisman|waist)\b/i,alias:"function"},"source-commands":{pattern:/\b(?:alliance|attack|cast|clearall|clearignore|clearjournal|clearlist|clearsysmsg|createlist|createtimer|dclick|dclicktype|dclickvar|dress|dressconfig|drop|droprelloc|emote|getlabel|guild|gumpclose|gumpresponse|hotkey|ignore|lasttarget|lift|lifttype|menu|menuresponse|msg|org|organize|organizer|overhead|pause|poplist|potion|promptresponse|pushlist|removelist|removetimer|rename|restock|say|scav|scavenger|script|setability|setlasttarget|setskill|settimer|setvar|sysmsg|target|targetloc|targetrelloc|targettype|undress|unignore|unsetvar|useobject|useonce|useskill|usetype|virtue|wait|waitforgump|waitformenu|waitforprompt|waitforstat|waitforsysmsg|waitfortarget|walk|wfsysmsg|wft|whisper|yell)\b/,alias:"function"},"tag-name":{pattern:/(^\{%-?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%]-?|-?[%}]\}$/,alias:"punctuation"},function:/\b(?:atlist|close|closest|count|counter|counttype|dead|dex|diffhits|diffmana|diffstam|diffweight|find|findbuff|finddebuff|findlayer|findtype|findtypelist|followers|gumpexists|hidden|hits|hp|hue|human|humanoid|ingump|inlist|insysmessage|insysmsg|int|invul|lhandempty|list|listexists|mana|maxhits|maxhp|maxmana|maxstam|maxweight|monster|mounted|name|next|noto|paralyzed|poisoned|position|prev|previous|queued|rand|random|rhandempty|skill|stam|str|targetexists|timer|timerexists|varexist|warmode|weight)\b/,keyword:/\b(?:and|as|break|continue|else|elseif|endfor|endif|endwhile|for|if|loop|not|or|replay|stop|while)\b/,boolean:/\b(?:false|null|true)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],punctuation:/[()\[\]{}:.,]/}}e.exports=t,t.displayName="uorazor",t.aliases=[]},4317:function(e){"use strict";function t(e){e.languages.uri={scheme:{pattern:/^[a-z][a-z0-9+.-]*:/im,greedy:!0,inside:{"scheme-delimiter":/:$/}},fragment:{pattern:/#[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"fragment-delimiter":/^#/}},query:{pattern:/\?[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"query-delimiter":{pattern:/^\?/,greedy:!0},"pair-delimiter":/[&;]/,pair:{pattern:/^[^=][\s\S]*/,inside:{key:/^[^=]+/,value:{pattern:/(^=)[\s\S]+/,lookbehind:!0}}}}},authority:{pattern:RegExp(/^\/\//.source+/(?:[\w\-.~!$&'()*+,;=%:]*@)?/.source+"(?:"+/\[(?:[0-9a-fA-F:.]{2,48}|v[0-9a-fA-F]+\.[\w\-.~!$&'()*+,;=]+)\]/.source+"|"+/[\w\-.~!$&'()*+,;=%]*/.source+")"+/(?::\d*)?/.source,"m"),inside:{"authority-delimiter":/^\/\//,"user-info-segment":{pattern:/^[\w\-.~!$&'()*+,;=%:]*@/,inside:{"user-info-delimiter":/@$/,"user-info":/^[\w\-.~!$&'()*+,;=%:]+/}},"port-segment":{pattern:/:\d*$/,inside:{"port-delimiter":/^:/,port:/^\d+/}},host:{pattern:/[\s\S]+/,inside:{"ip-literal":{pattern:/^\[[\s\S]+\]$/,inside:{"ip-literal-delimiter":/^\[|\]$/,"ipv-future":/^v[\s\S]+/,"ipv6-address":/^[\s\S]+/}},"ipv4-address":/^(?:(?:[03-9]\d?|[12]\d{0,2})\.){3}(?:[03-9]\d?|[12]\d{0,2})$/}}}},path:{pattern:/^[\w\-.~!$&'()*+,;=%:@/]+/m,inside:{"path-separator":/\//}}},e.languages.url=e.languages.uri}e.exports=t,t.displayName="uri",t.aliases=["url"]},1927:function(e){"use strict";function t(e){!function(e){var t={pattern:/[\s\S]+/,inside:null};e.languages.v=e.languages.extend("clike",{string:{pattern:/r?(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,alias:"quoted-string",greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\{[^{}]*\}|\w+(?:\.\w+(?:\([^\(\)]*\))?|\[[^\[\]]+\])*)/,lookbehind:!0,inside:{"interpolation-variable":{pattern:/^\$\w[\s\S]*$/,alias:"variable"},"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},"interpolation-expression":t}}}},"class-name":{pattern:/(\b(?:enum|interface|struct|type)\s+)(?:C\.)?\w+/,lookbehind:!0},keyword:/(?:\b(?:__global|as|asm|assert|atomic|break|chan|const|continue|defer|else|embed|enum|fn|for|go(?:to)?|if|import|in|interface|is|lock|match|module|mut|none|or|pub|return|rlock|select|shared|sizeof|static|struct|type(?:of)?|union|unsafe)|\$(?:else|for|if)|#(?:flag|include))\b/,number:/\b(?:0x[a-f\d]+(?:_[a-f\d]+)*|0b[01]+(?:_[01]+)*|0o[0-7]+(?:_[0-7]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?)\b/i,operator:/~|\?|[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\.?/,builtin:/\b(?:any(?:_float|_int)?|bool|byte(?:ptr)?|charptr|f(?:32|64)|i(?:8|16|64|128|nt)|rune|size_t|string|u(?:16|32|64|128)|voidptr)\b/}),t.inside=e.languages.v,e.languages.insertBefore("v","string",{char:{pattern:/`(?:\\`|\\?[^`]{1,2})`/,alias:"rune"}}),e.languages.insertBefore("v","operator",{attribute:{pattern:/(^[\t ]*)\[(?:deprecated|direct_array_access|flag|inline|live|ref_only|typedef|unsafe_fn|windows_stdcall)\]/m,lookbehind:!0,alias:"annotation",inside:{punctuation:/[\[\]]/,keyword:/\w+/}},generic:{pattern:/<\w+>(?=\s*[\)\{])/,inside:{punctuation:/[<>]/,"class-name":/\w+/}}}),e.languages.insertBefore("v","function",{"generic-function":{pattern:/\b\w+\s*<\w+>(?=\()/,inside:{function:/^\w+/,generic:{pattern:/<\w+>/,inside:e.languages.v.generic.inside}}}})}(e)}e.exports=t,t.displayName="v",t.aliases=[]},6845:function(e){"use strict";function t(e){e.languages.vala=e.languages.extend("clike",{"class-name":[{pattern:/\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w)/,inside:{punctuation:/\./}},{pattern:/(\[)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/(\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/((?:\b(?:class|enum|interface|new|struct)\s+)|(?:catch\s+\())[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}}],keyword:/\b(?:abstract|as|assert|async|base|bool|break|case|catch|char|class|const|construct|continue|default|delegate|delete|do|double|dynamic|else|ensures|enum|errordomain|extern|finally|float|for|foreach|get|if|in|inline|int|int16|int32|int64|int8|interface|internal|is|lock|long|namespace|new|null|out|override|owned|params|private|protected|public|ref|requires|return|set|short|signal|sizeof|size_t|ssize_t|static|string|struct|switch|this|throw|throws|try|typeof|uchar|uint|uint16|uint32|uint64|uint8|ulong|unichar|unowned|ushort|using|value|var|virtual|void|volatile|weak|while|yield)\b/i,function:/\b\w+(?=\s*\()/,number:/(?:\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)(?:f|u?l?)?/i,operator:/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[+\-*\/%&^|=!<>]=?|\?\??|\.\.\./,punctuation:/[{}[\];(),.:]/,constant:/\b[A-Z0-9_]+\b/}),e.languages.insertBefore("vala","string",{"raw-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},"template-string":{pattern:/@"[\s\S]*?"/,greedy:!0,inside:{interpolation:{pattern:/\$(?:\([^)]*\)|[a-zA-Z]\w*)/,inside:{delimiter:{pattern:/^\$\(?|\)$/,alias:"punctuation"},rest:e.languages.vala}},string:/[\s\S]+/}}}),e.languages.insertBefore("vala","keyword",{regex:{pattern:/\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[imsx]{0,4}(?=\s*(?:$|[\r\n,.;})\]]))/,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:e.languages.regex},"regex-delimiter":/^\//,"regex-flags":/^[a-z]+$/}}})}e.exports=t,t.displayName="vala",t.aliases=[]},4941:function(e,t,n){"use strict";var r=n(7867);function a(e){e.register(r),e.languages.vbnet=e.languages.extend("basic",{comment:[{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},{pattern:/(^|[^\\:])'.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(^|[^"])"(?:""|[^"])*"(?!")/,lookbehind:!0,greedy:!0},keyword:/(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDBL|CDEC|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LET|LIB|LIKE|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPERATOR|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHELL|SHORT|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SWAP|SYNCLOCK|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|\b)/i,punctuation:/[,;:(){}]/})}e.exports=a,a.displayName="vbnet",a.aliases=[]},9803:function(e){"use strict";function t(e){!function(e){e.languages.velocity=e.languages.extend("markup",{});var t={variable:{pattern:/(^|[^\\](?:\\\\)*)\$!?(?:[a-z][\w-]*(?:\([^)]*\))?(?:\.[a-z][\w-]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i,lookbehind:!0,inside:{}},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},number:/\b\d+\b/,boolean:/\b(?:false|true)\b/,operator:/[=!<>]=?|[+*/%-]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/,punctuation:/[(){}[\]:,.]/};t.variable.inside={string:t.string,function:{pattern:/([^\w-])[a-z][\w-]*(?=\()/,lookbehind:!0},number:t.number,boolean:t.boolean,punctuation:t.punctuation},e.languages.insertBefore("velocity","comment",{unparsed:{pattern:/(^|[^\\])#\[\[[\s\S]*?\]\]#/,lookbehind:!0,greedy:!0,inside:{punctuation:/^#\[\[|\]\]#$/}},"velocity-comment":[{pattern:/(^|[^\\])#\*[\s\S]*?\*#/,lookbehind:!0,greedy:!0,alias:"comment"},{pattern:/(^|[^\\])##.*/,lookbehind:!0,greedy:!0,alias:"comment"}],directive:{pattern:/(^|[^\\](?:\\\\)*)#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i,lookbehind:!0,inside:{keyword:{pattern:/^#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})|\bin\b/,inside:{punctuation:/[{}]/}},rest:t}},variable:t.variable}),e.languages.velocity.tag.inside["attr-value"].inside.rest=e.languages.velocity}(e)}e.exports=t,t.displayName="velocity",t.aliases=[]},1107:function(e){"use strict";function t(e){e.languages.verilog={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"kernel-function":{pattern:/\B\$\w+\b/,alias:"property"},constant:/\B`\w+\b/,function:/\b\w+(?=\()/,keyword:/\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|case|casex|casez|cell|chandle|class|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endsequence|endspecify|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_ondetect|pulsestyle_onevent|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/,important:/\b(?:always|always_comb|always_ff|always_latch)\b(?: *@)?/,number:/\B##?\d+|(?:\b\d+)?'[odbh] ?[\da-fzx_?]+|\b(?:\d*[._])?\d+(?:e[-+]?\d+)?/i,operator:/[-+{}^~%*\/?=!<>&|]+/,punctuation:/[[\];(),.:]/}}e.exports=t,t.displayName="verilog",t.aliases=[]},1413:function(e){"use strict";function t(e){e.languages.vhdl={comment:/--.+/,"vhdl-vectors":{pattern:/\b[oxb]"[\da-f_]+"|"[01uxzwlh-]+"/i,alias:"number"},"quoted-function":{pattern:/"\S+?"(?=\()/,alias:"function"},string:/"(?:[^\\"\r\n]|\\(?:\r\n|[\s\S]))*"/,constant:/\b(?:library|use)\b/i,keyword:/\b(?:'active|'ascending|'base|'delayed|'driving|'driving_value|'event|'high|'image|'instance_name|'last_active|'last_event|'last_value|'left|'leftof|'length|'low|'path_name|'pos|'pred|'quiet|'range|'reverse_range|'right|'rightof|'simple_name|'stable|'succ|'transaction|'val|'value|access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with)\b/i,boolean:/\b(?:false|true)\b/i,function:/\w+(?=\()/,number:/'[01uxzwlh-]'|\b(?:\d+#[\da-f_.]+#|\d[\d_.]*)(?:e[-+]?\d+)?/i,operator:/[<>]=?|:=|[-+*/&=]|\b(?:abs|and|mod|nand|nor|not|or|rem|rol|ror|sla|sll|sra|srl|xnor|xor)\b/i,punctuation:/[{}[\];(),.:]/}}e.exports=t,t.displayName="vhdl",t.aliases=[]},3555:function(e){"use strict";function t(e){e.languages.vim={string:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\r\n]|'')*'/,comment:/".*/,function:/\b\w+(?=\()/,keyword:/\b(?:N|Next|P|Print|X|XMLent|XMLns|ab|abbreviate|abc|abclear|abo|aboveleft|al|all|ar|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|args|argu|argument|as|ascii|b|bN|bNext|ba|bad|badd|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bo|botright|bp|bprevious|br|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|brewind|bro|browse|bufdo|buffer|buffers|bun|bunload|bw|bwipeout|c|cN|cNext|cNfcNfile|ca|cabbrev|cabc|cabclear|cad|caddb|caddbuffer|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cg|cgetb|cgetbuffer|cgete|cgetexpr|cgetfile|change|changes|chd|chdir|che|checkpath|checkt|checktime|cl|cla|clast|clist|clo|close|cmapc|cmapclear|cn|cnew|cnewer|cnext|cnf|cnfile|cnorea|cnoreabbrev|co|col|colder|colo|colorscheme|comc|comclear|comp|compiler|con|conf|confirm|continue|cope|copen|copy|cp|cpf|cpfile|cprevious|cq|cquit|cr|crewind|cu|cuna|cunabbrev|cunmap|cw|cwindow|d|debugg|debuggreedy|delc|delcommand|delete|delf|delfunction|delm|delmarks|di|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|e|earlier|echoe|echoerr|echom|echomsg|echon|edit|el|else|elsei|elseif|em|emenu|en|endf|endfo|endfor|endfun|endfunction|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fin|fina|finally|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|foldd|folddoc|folddoclosed|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|h|ha|hardcopy|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iu|iuna|iunabbrev|iunmap|j|join|ju|jumps|k|kee|keepalt|keepj|keepjumps|keepmarks|l|lN|lNext|lNf|lNfile|la|lad|laddb|laddbuffer|laddexpr|laddf|laddfile|lan|language|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|left|lefta|leftabove|let|lex|lexpr|lf|lfile|lfir|lfirst|lg|lgetb|lgetbuffer|lgete|lgetexpr|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|list|ll|lla|llast|lli|llist|lm|lmak|lmake|lmap|lmapc|lmapclear|ln|lne|lnew|lnewer|lnext|lnf|lnfile|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lp|lpf|lpfile|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|m|ma|mak|make|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkv|mkvie|mkview|mkvimrc|mod|mode|move|mz|mzf|mzfile|mzscheme|n|nbkey|new|next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|o|omapc|omapclear|on|only|open|opt|options|ou|ounmap|p|pc|pclose|pe|ped|pedit|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|print|prof|profd|profdel|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|ptN|ptNext|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|py|pyf|pyfile|python|q|qa|qall|quit|quita|quitall|r|read|rec|recover|red|redi|redir|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|ru|rub|ruby|rubyd|rubydo|rubyf|rubyfile|runtime|rv|rviminfo|sN|sNext|sa|sal|sall|san|sandbox|sargument|sav|saveas|sb|sbN|sbNext|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbp|sbprevious|sbr|sbrewind|sbuffer|scrip|scripte|scriptencoding|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sl|sla|slast|sleep|sm|smagic|smap|smapc|smapclear|sme|smenu|sn|snext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|so|sor|sort|source|sp|spe|spelld|spelldump|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|split|spr|sprevious|sre|srewind|st|sta|stag|star|startg|startgreplace|startinsert|startr|startreplace|stj|stjump|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tN|tNext|ta|tab|tabN|tabNext|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabn|tabnew|tabnext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tmenu|tn|tnext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tunmenu|u|una|unabbreviate|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|ve|verb|verbose|version|vert|vertical|vi|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|w|wN|wNext|wa|wall|wh|while|win|winc|wincmd|windo|winp|winpos|winsize|wn|wnext|wp|wprevious|wq|wqa|wqall|write|ws|wsverb|wv|wviminfo|x|xa|xall|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\b/,builtin:/\b(?:acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autocmd|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|t_AB|t_AF|t_AL|t_CS|t_CV|t_Ce|t_Co|t_Cs|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_IE|t_IS|t_K1|t_K3|t_K4|t_K5|t_K6|t_K7|t_K8|t_K9|t_KA|t_KB|t_KC|t_KD|t_KE|t_KF|t_KG|t_KH|t_KI|t_KJ|t_KK|t_KL|t_RI|t_RV|t_SI|t_Sb|t_Sf|t_WP|t_WS|t_ZH|t_ZR|t_al|t_bc|t_cd|t_ce|t_cl|t_cm|t_cs|t_da|t_db|t_dl|t_fs|t_k1|t_k2|t_k3|t_k4|t_k5|t_k6|t_k7|t_k8|t_k9|t_kB|t_kD|t_kI|t_kN|t_kP|t_kb|t_kd|t_ke|t_kh|t_kl|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_se|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_xs|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww)\b/,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?)\b/i,operator:/\|\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\/%?]|\b(?:is(?:not)?)\b/,punctuation:/[{}[\](),;:]/}}e.exports=t,t.displayName="vim",t.aliases=[]},7117:function(e){"use strict";function t(e){e.languages["visual-basic"]={comment:{pattern:/(?:['\u2018\u2019]|REM\b)(?:[^\r\n_]|_(?:\r\n?|\n)?)*/i,inside:{keyword:/^REM/i}},directive:{pattern:/#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:\b_[ \t]*(?:\r\n?|\n)|.)+/i,alias:"property",greedy:!0},string:{pattern:/\$?["\u201c\u201d](?:["\u201c\u201d]{2}|[^"\u201c\u201d])*["\u201c\u201d]C?/i,greedy:!0},date:{pattern:/#[ \t]*(?:\d+([/-])\d+\1\d+(?:[ \t]+(?:\d+[ \t]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[ \t]*(?:AM|PM))?))?|\d+[ \t]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[ \t]*(?:AM|PM))?)[ \t]*#/i,alias:"number"},number:/(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[+-]?\d+)?|&[HO][\dA-F]+)(?:[FRD]|U?[ILS])?/i,boolean:/\b(?:False|Nothing|True)\b/i,keyword:/\b(?:AddHandler|AddressOf|Alias|And(?:Also)?|As|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|C(?:Bool|Byte|Char|Date|Dbl|Dec|Int|Lng|Obj|SByte|Short|Sng|Str|Type|UInt|ULng|UShort)|Char|Class|Const|Continue|Currency|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else(?:If)?|End(?:If)?|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get(?:Type|XMLNamespace)?|Global|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|IsNot|Let|Lib|Like|Long|Loop|Me|Mod|Module|Must(?:Inherit|Override)|My(?:Base|Class)|Namespace|Narrowing|New|Next|Not(?:Inheritable|Overridable)?|Object|Of|On|Operator|Option(?:al)?|Or(?:Else)?|Out|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|SByte|Select|Set|Shadows|Shared|short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TryCast|Type|TypeOf|U(?:Integer|Long|Short)|Until|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Xor)\b/i,operator:/[+\-*/\\^<=>&#@$%!]|\b_(?=[ \t]*[\r\n])/,punctuation:/[{}().,:?]/},e.languages.vb=e.languages["visual-basic"],e.languages.vba=e.languages["visual-basic"]}e.exports=t,t.displayName="visualBasic",t.aliases=[]},3244:function(e){"use strict";function t(e){e.languages.warpscript={comment:/#.*|\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'|<'(?:[^\\']|'(?!>)|\\.)*'>/,greedy:!0},variable:/\$\S+/,macro:{pattern:/@\S+/,alias:"property"},keyword:/\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\b/,number:/[+-]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][+-]?\d+)?|0x[\da-fA-F]+|0b[01]+)\b/,boolean:/\b(?:F|T|false|true)\b/,punctuation:/<%|%>|[{}[\]()]/,operator:/==|&&?|\|\|?|\*\*?|>>>?|<<|[<>!~]=?|[-/%^]|\+!?|\b(?:AND|NOT|OR)\b/}}e.exports=t,t.displayName="warpscript",t.aliases=[]},3673:function(e){"use strict";function t(e){e.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/}}e.exports=t,t.displayName="wasm",t.aliases=[]},8953:function(e){"use strict";function t(e){!function(e){var t=/(?:\B-|\b_|\b)[A-Za-z][\w-]*(?![\w-])/.source,n="(?:"+/\b(?:unsigned\s+)?long\s+long(?![\w-])/.source+"|"+/\b(?:unrestricted|unsigned)\s+[a-z]+(?![\w-])/.source+"|"+/(?!(?:unrestricted|unsigned)\b)/.source+t+/(?:\s*<(?:[^<>]|<[^<>]*>)*>)?/.source+")"+/(?:\s*\?)?/.source,r={};for(var a in e.languages["web-idl"]={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/"[^"]*"/,greedy:!0},namespace:{pattern:RegExp(/(\bnamespace\s+)/.source+t),lookbehind:!0},"class-name":[{pattern:/(^|[^\w-])(?:iterable|maplike|setlike)\s*<(?:[^<>]|<[^<>]*>)*>/,lookbehind:!0,inside:r},{pattern:RegExp(/(\b(?:attribute|const|deleter|getter|optional|setter)\s+)/.source+n),lookbehind:!0,inside:r},{pattern:RegExp("("+/\bcallback\s+/.source+t+/\s*=\s*/.source+")"+n),lookbehind:!0,inside:r},{pattern:RegExp(/(\btypedef\b\s*)/.source+n),lookbehind:!0,inside:r},{pattern:RegExp(/(\b(?:callback|dictionary|enum|interface(?:\s+mixin)?)\s+)(?!(?:interface|mixin)\b)/.source+t),lookbehind:!0},{pattern:RegExp(/(:\s*)/.source+t),lookbehind:!0},RegExp(t+/(?=\s+(?:implements|includes)\b)/.source),{pattern:RegExp(/(\b(?:implements|includes)\s+)/.source+t),lookbehind:!0},{pattern:RegExp(n+"(?="+/\s*(?:\.{3}\s*)?/.source+t+/\s*[(),;=]/.source+")"),inside:r}],builtin:/\b(?:ArrayBuffer|BigInt64Array|BigUint64Array|ByteString|DOMString|DataView|Float32Array|Float64Array|FrozenArray|Int16Array|Int32Array|Int8Array|ObservableArray|Promise|USVString|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray)\b/,keyword:[/\b(?:async|attribute|callback|const|constructor|deleter|dictionary|enum|getter|implements|includes|inherit|interface|mixin|namespace|null|optional|or|partial|readonly|required|setter|static|stringifier|typedef|unrestricted)\b/,/\b(?:any|bigint|boolean|byte|double|float|iterable|long|maplike|object|octet|record|sequence|setlike|short|symbol|undefined|unsigned|void)\b/],boolean:/\b(?:false|true)\b/,number:{pattern:/(^|[^\w-])-?(?:0x[0-9a-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|NaN|Infinity)(?![\w-])/i,lookbehind:!0},operator:/\.{3}|[=:?<>-]/,punctuation:/[(){}[\].,;]/},e.languages["web-idl"])"class-name"!==a&&(r[a]=e.languages["web-idl"][a]);e.languages.webidl=e.languages["web-idl"]}(e)}e.exports=t,t.displayName="webIdl",t.aliases=[]},6747:function(e){"use strict";function t(e){e.languages.wiki=e.languages.extend("markup",{"block-comment":{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0,alias:"comment"},heading:{pattern:/^(=+)[^=\r\n].*?\1/m,inside:{punctuation:/^=+|=+$/,important:/.+/}},emphasis:{pattern:/('{2,5}).+?\1/,inside:{"bold-italic":{pattern:/(''''').+?(?=\1)/,lookbehind:!0,alias:["bold","italic"]},bold:{pattern:/(''')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},italic:{pattern:/('')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},punctuation:/^''+|''+$/}},hr:{pattern:/^-{4,}/m,alias:"punctuation"},url:[/ISBN +(?:97[89][ -]?)?(?:\d[ -]?){9}[\dx]\b|(?:PMID|RFC) +\d+/i,/\[\[.+?\]\]|\[.+?\]/],variable:[/__[A-Z]+__/,/\{{3}.+?\}{3}/,/\{\{.+?\}\}/],symbol:[/^#redirect/im,/~{3,5}/],"table-tag":{pattern:/((?:^|[|!])[|!])[^|\r\n]+\|(?!\|)/m,lookbehind:!0,inside:{"table-bar":{pattern:/\|$/,alias:"punctuation"},rest:e.languages.markup.tag.inside}},punctuation:/^(?:\{\||\|\}|\|-|[*#:;!|])|\|\||!!/m}),e.languages.insertBefore("wiki","tag",{nowiki:{pattern:/<(nowiki|pre|source)\b[^>]*>[\s\S]*?<\/\1>/i,inside:{tag:{pattern:/<(?:nowiki|pre|source)\b[^>]*>|<\/(?:nowiki|pre|source)>/i,inside:e.languages.markup.tag.inside}}}})}e.exports=t,t.displayName="wiki",t.aliases=[]},4211:function(e){"use strict";function t(e){e.languages.wolfram={comment:/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:Abs|AbsArg|Accuracy|Block|Do|For|Function|If|Manipulate|Module|Nest|NestList|None|Return|Switch|Table|Which|While)\b/,context:{pattern:/\b\w+`+\w*/,alias:"class-name"},blank:{pattern:/\b\w+_\b/,alias:"regex"},"global-variable":{pattern:/\$\w+/,alias:"variable"},boolean:/\b(?:False|True)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/\/\.|;|=\.|\^=|\^:=|:=|<<|>>|<\||\|>|:>|\|->|->|<-|@@@|@@|@|\/@|=!=|===|==|=|\+|-|\^|\[\/-+%=\]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},e.languages.mathematica=e.languages.wolfram,e.languages.wl=e.languages.wolfram,e.languages.nb=e.languages.wolfram}e.exports=t,t.displayName="wolfram",t.aliases=["mathematica","wl","nb"]},8832:function(e){"use strict";function t(e){e.languages.wren={comment:[{pattern:/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*))*\*\/)*\*\/)*\*\//,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},"string-literal":null,hashbang:{pattern:/^#!\/.+/,greedy:!0,alias:"comment"},attribute:{pattern:/#!?[ \t\u3000]*\w+/,alias:"keyword"},"class-name":[{pattern:/(\bclass\s+)\w+/,lookbehind:!0},/\b[A-Z][a-z\d_]*\b/],constant:/\b[A-Z][A-Z\d_]*\b/,null:{pattern:/\bnull\b/,alias:"keyword"},keyword:/\b(?:as|break|class|construct|continue|else|for|foreign|if|import|in|is|return|static|super|this|var|while)\b/,boolean:/\b(?:false|true)\b/,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,function:/\b[a-z_]\w*(?=\s*[({])/i,operator:/<<|>>|[=!<>]=?|&&|\|\||[-+*/%~^&|?:]|\.{2,3}/,punctuation:/[\[\](){}.,;]/},e.languages.wren["string-literal"]={pattern:/(^|[^\\"])"(?:[^\\"%]|\\[\s\S]|%(?!\()|%\((?:[^()]|\((?:[^()]|\([^)]*\))*\))*\))*"/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)%\((?:[^()]|\((?:[^()]|\([^)]*\))*\))*\)/,lookbehind:!0,inside:{expression:{pattern:/^(%\()[\s\S]+(?=\)$)/,lookbehind:!0,inside:e.languages.wren},"interpolation-punctuation":{pattern:/^%\(|\)$/,alias:"punctuation"}}},string:/[\s\S]+/}}}e.exports=t,t.displayName="wren",t.aliases=[]},8186:function(e){"use strict";function t(e){!function(e){e.languages.xeora=e.languages.extend("markup",{constant:{pattern:/\$(?:DomainContents|PageRenderDuration)\$/,inside:{punctuation:{pattern:/\$/}}},variable:{pattern:/\$@?(?:#+|[-+*~=^])?[\w.]+\$/,inside:{punctuation:{pattern:/[$.]/},operator:{pattern:/#+|[-+*~=^@]/}}},"function-inline":{pattern:/\$F:[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\$/,inside:{variable:{pattern:/(?:[,|])@?(?:#+|[-+*~=^])?[\w.]+/,inside:{punctuation:{pattern:/[,.|]/},operator:{pattern:/#+|[-+*~=^@]/}}},punctuation:{pattern:/\$\w:|[$:?.,|]/}},alias:"function"},"function-block":{pattern:/\$XF:\{[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\}:XF\$/,inside:{punctuation:{pattern:/[$:{}?.,|]/}},alias:"function"},"directive-inline":{pattern:/\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\/\w.]+\$/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}}},alias:"function"},"directive-block-open":{pattern:/\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\w.]+:\{(?:![A-Z]+)?/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}},attribute:{pattern:/![A-Z]+$/,inside:{punctuation:{pattern:/!/}},alias:"keyword"}},alias:"function"},"directive-block-separator":{pattern:/\}:[-\w.]+:\{/,inside:{punctuation:{pattern:/[:{}]/}},alias:"function"},"directive-block-close":{pattern:/\}:[-\w.]+\$/,inside:{punctuation:{pattern:/[:{}$]/}},alias:"function"}}),e.languages.insertBefore("inside","punctuation",{variable:e.languages.xeora["function-inline"].inside.variable},e.languages.xeora["function-block"]),e.languages.xeoracube=e.languages.xeora}(e)}e.exports=t,t.displayName="xeora",t.aliases=["xeoracube"]},3679:function(e){"use strict";function t(e){!function(e){function t(t,n){e.languages[t]&&e.languages.insertBefore(t,"comment",{"doc-comment":n})}var n=e.languages.markup.tag,r={pattern:/\/\/\/.*/,greedy:!0,alias:"comment",inside:{tag:n}},a={pattern:/'''.*/,greedy:!0,alias:"comment",inside:{tag:n}};t("csharp",r),t("fsharp",r),t("vbnet",a)}(e)}e.exports=t,t.displayName="xmlDoc",t.aliases=[]},1752:function(e){"use strict";function t(e){e.languages.xojo={comment:{pattern:/(?:'|\/\/|Rem\b).+/i,greedy:!0},string:{pattern:/"(?:""|[^"])*"/,greedy:!0},number:[/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,/&[bchou][a-z\d]+/i],directive:{pattern:/#(?:Else|ElseIf|Endif|If|Pragma)\b/i,alias:"property"},keyword:/\b(?:AddHandler|App|Array|As(?:signs)?|Auto|Boolean|Break|By(?:Ref|Val)|Byte|Call|Case|Catch|CFStringRef|CGFloat|Class|Color|Const|Continue|CString|Currency|CurrentMethodName|Declare|Delegate|Dim|Do(?:uble|wnTo)?|Each|Else(?:If)?|End|Enumeration|Event|Exception|Exit|Extends|False|Finally|For|Function|Get|GetTypeInfo|Global|GOTO|If|Implements|In|Inherits|Int(?:8|16|32|64|eger|erface)?|Lib|Loop|Me|Module|Next|Nil|Object|Optional|OSType|ParamArray|Private|Property|Protected|PString|Ptr|Raise(?:Event)?|ReDim|RemoveHandler|Return|Select(?:or)?|Self|Set|Shared|Short|Single|Soft|Static|Step|String|Sub|Super|Text|Then|To|True|Try|Ubound|UInt(?:8|16|32|64|eger)?|Until|Using|Var(?:iant)?|Wend|While|WindowPtr|WString)\b/i,operator:/<[=>]?|>=?|[+\-*\/\\^=]|\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|WeakAddressOf|Xor)\b/i,punctuation:/[.,;:()]/}}e.exports=t,t.displayName="xojo",t.aliases=[]},243:function(e){"use strict";function t(e){!function(e){e.languages.xquery=e.languages.extend("markup",{"xquery-comment":{pattern:/\(:[\s\S]*?:\)/,greedy:!0,alias:"comment"},string:{pattern:/(["'])(?:\1\1|(?!\1)[\s\S])*\1/,greedy:!0},extension:{pattern:/\(#.+?#\)/,alias:"symbol"},variable:/\$[-\w:]+/,axis:{pattern:/(^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/,lookbehind:!0,alias:"operator"},"keyword-operator":{pattern:/(^|[^:-])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^:-])/,lookbehind:!0,alias:"operator"},keyword:{pattern:/(^|[^:-])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^:-])/,lookbehind:!0},function:/[\w-]+(?::[\w-]+)*(?=\s*\()/,"xquery-element":{pattern:/(element\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"tag"},"xquery-attribute":{pattern:/(attribute\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"attr-name"},builtin:{pattern:/(^|[^:-])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:ENTITIES|ENTITY|ID|IDREFS?|NCName|NMTOKENS?|NOTATION|Name|QName|anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|int|integer|language|long|negativeInteger|nonNegativeInteger|nonPositiveInteger|normalizedString|positiveInteger|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^:-])/,lookbehind:!0},number:/\b\d+(?:\.\d+)?(?:E[+-]?\d+)?/,operator:[/[+*=?|@]|\.\.?|:=|!=|<[=<]?|>[=>]?/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}],punctuation:/[[\](){},;:/]/}),e.languages.xquery.tag.pattern=/<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/,e.languages.xquery.tag.inside["attr-value"].pattern=/=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+)/,e.languages.xquery.tag.inside["attr-value"].inside.punctuation=/^="|"$/,e.languages.xquery.tag.inside["attr-value"].inside.expression={pattern:/\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/,inside:e.languages.xquery,alias:"language-xquery"};var t=function e(t){return"string"===typeof t?t:"string"===typeof t.content?t.content:t.content.map(e).join("")},n=function n(r){for(var a=[],i=0;i<r.length;i++){var o=r[i],s=!1;if("string"!==typeof o&&("tag"===o.type&&o.content[0]&&"tag"===o.content[0].type?"</"===o.content[0].content[0].content?a.length>0&&a[a.length-1].tagName===t(o.content[0].content[1])&&a.pop():"/>"===o.content[o.content.length-1].content||a.push({tagName:t(o.content[0].content[1]),openedBraces:0}):!(a.length>0&&"punctuation"===o.type&&"{"===o.content)||r[i+1]&&"punctuation"===r[i+1].type&&"{"===r[i+1].content||r[i-1]&&"plain-text"===r[i-1].type&&"{"===r[i-1].content?a.length>0&&a[a.length-1].openedBraces>0&&"punctuation"===o.type&&"}"===o.content?a[a.length-1].openedBraces--:"comment"!==o.type&&(s=!0):a[a.length-1].openedBraces++),(s||"string"===typeof o)&&a.length>0&&0===a[a.length-1].openedBraces){var l=t(o);i<r.length-1&&("string"===typeof r[i+1]||"plain-text"===r[i+1].type)&&(l+=t(r[i+1]),r.splice(i+1,1)),i>0&&("string"===typeof r[i-1]||"plain-text"===r[i-1].type)&&(l=t(r[i-1])+l,r.splice(i-1,1),i--),/^\s+$/.test(l)?r[i]=l:r[i]=new e.Token("plain-text",l,null,l)}o.content&&"string"!==typeof o.content&&n(o.content)}};e.hooks.add("after-tokenize",(function(e){"xquery"===e.language&&n(e.tokens)}))}(e)}e.exports=t,t.displayName="xquery",t.aliases=[]},5133:function(e){"use strict";function t(e){!function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),i=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function o(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<value>>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<key>>/g,(function(){return"(?:"+a+"|"+i+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:o(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:o(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:o(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:o(i),lookbehind:!0,greedy:!0},number:{pattern:o(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(e)}e.exports=t,t.displayName="yaml",t.aliases=["yml"]},2195:function(e){"use strict";function t(e){e.languages.yang={comment:/\/\*[\s\S]*?\*\/|\/\/.*/,string:{pattern:/"(?:[^\\"]|\\.)*"|'[^']*'/,greedy:!0},keyword:{pattern:/(^|[{};\r\n][ \t]*)[a-z_][\w.-]*/i,lookbehind:!0},namespace:{pattern:/(\s)[a-z_][\w.-]*(?=:)/i,lookbehind:!0},boolean:/\b(?:false|true)\b/,operator:/\+/,punctuation:/[{};:]/}}e.exports=t,t.displayName="yang",t.aliases=[]},3672:function(e){"use strict";function t(e){!function(e){function t(e){return function(){return e}}var n=/\b(?:align|allowzero|and|anyframe|anytype|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|nosuspend|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/,r="\\b(?!"+n.source+")(?!\\d)\\w+\\b",a=/align\s*\((?:[^()]|\([^()]*\))*\)/.source,i="(?!\\s)(?:!?\\s*(?:"+/(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*<ALIGN>|\s*const\b|\s*volatile\b|\s*allowzero\b)*)/.source.replace(/<ALIGN>/g,t(a))+"\\s*)*"+/(?:\bpromise\b|(?:\berror\.)?<ID>(?:\.<ID>)*(?!\s+<ID>))/.source.replace(/<ID>/g,t(r))+")+";e.languages.zig={comment:[{pattern:/\/\/[/!].*/,alias:"doc-comment"},/\/{2}.*/],string:[{pattern:/(^|[^\\@])c?"(?:[^"\\\r\n]|\\.)*"/,lookbehind:!0,greedy:!0},{pattern:/([\r\n])([ \t]+c?\\{2}).*(?:(?:\r\n?|\n)\2.*)*/,lookbehind:!0,greedy:!0}],char:{pattern:/(^|[^\\])'(?:[^'\\\r\n]|[\uD800-\uDFFF]{2}|\\(?:.|x[a-fA-F\d]{2}|u\{[a-fA-F\d]{1,6}\}))'/,lookbehind:!0,greedy:!0},builtin:/\B@(?!\d)\w+(?=\s*\()/,label:{pattern:/(\b(?:break|continue)\s*:\s*)\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while\b))/,lookbehind:!0},"class-name":[/\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/,{pattern:RegExp(/(:\s*)<TYPE>(?=\s*(?:<ALIGN>\s*)?[=;,)])|<TYPE>(?=\s*(?:<ALIGN>\s*)?\{)/.source.replace(/<TYPE>/g,t(i)).replace(/<ALIGN>/g,t(a))),lookbehind:!0,inside:null},{pattern:RegExp(/(\)\s*)<TYPE>(?=\s*(?:<ALIGN>\s*)?;)/.source.replace(/<TYPE>/g,t(i)).replace(/<ALIGN>/g,t(a))),lookbehind:!0,inside:null}],"builtin-type":{pattern:/\b(?:anyerror|bool|c_u?(?:int|long|longlong|short)|c_longdouble|c_void|comptime_(?:float|int)|f(?:16|32|64|128)|[iu](?:8|16|32|64|128|size)|noreturn|type|void)\b/,alias:"keyword"},keyword:n,function:/\b(?!\d)\w+(?=\s*\()/,number:/\b(?:0b[01]+|0o[0-7]+|0x[a-fA-F\d]+(?:\.[a-fA-F\d]*)?(?:[pP][+-]?[a-fA-F\d]+)?|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?)\b/,boolean:/\b(?:false|true)\b/,operator:/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-+*]%|[-+*/%^&|<>!=])=?|[?~]/,punctuation:/[.:,;(){}[\]]/},e.languages.zig["class-name"].forEach((function(t){null===t.inside&&(t.inside=e.languages.zig)}))}(e)}e.exports=t,t.displayName="zig",t.aliases=[]},3264:function(e,t,n){var r=function(e){var t=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,n=0,r={},a={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof i?new i(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++n}),e.__id},clone:function e(t,n){var r,i;switch(n=n||{},a.util.type(t)){case"Object":if(i=a.util.objId(t),n[i])return n[i];for(var o in r={},n[i]=r,t)t.hasOwnProperty(o)&&(r[o]=e(t[o],n));return r;case"Array":return i=a.util.objId(t),n[i]?n[i]:(r=[],n[i]=r,t.forEach((function(t,a){r[a]=e(t,n)})),r);default:return t}},getLanguage:function(e){for(;e;){var n=t.exec(e.className);if(n)return n[1].toLowerCase();e=e.parentElement}return"none"},setLanguage:function(e,n){e.className=e.className.replace(RegExp(t,"gi"),""),e.classList.add("language-"+n)},currentScript:function(){if("undefined"===typeof document)return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(r){var e=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(r.stack)||[])[1];if(e){var t=document.getElementsByTagName("script");for(var n in t)if(t[n].src==e)return t[n]}return null}},isActive:function(e,t,n){for(var r="no-"+t;e;){var a=e.classList;if(a.contains(t))return!0;if(a.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:r,plaintext:r,text:r,txt:r,extend:function(e,t){var n=a.util.clone(a.languages[e]);for(var r in t)n[r]=t[r];return n},insertBefore:function(e,t,n,r){var i=(r=r||a.languages)[e],o={};for(var s in i)if(i.hasOwnProperty(s)){if(s==t)for(var l in n)n.hasOwnProperty(l)&&(o[l]=n[l]);n.hasOwnProperty(s)||(o[s]=i[s])}var c=r[e];return r[e]=o,a.languages.DFS(a.languages,(function(t,n){n===c&&t!=e&&(this[t]=o)})),o},DFS:function e(t,n,r,i){i=i||{};var o=a.util.objId;for(var s in t)if(t.hasOwnProperty(s)){n.call(t,s,t[s],r||s);var l=t[s],c=a.util.type(l);"Object"!==c||i[o(l)]?"Array"!==c||i[o(l)]||(i[o(l)]=!0,e(l,n,s,i)):(i[o(l)]=!0,e(l,n,null,i))}}},plugins:{},highlightAll:function(e,t){a.highlightAllUnder(document,e,t)},highlightAllUnder:function(e,t,n){var r={callback:n,container:e,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};a.hooks.run("before-highlightall",r),r.elements=Array.prototype.slice.apply(r.container.querySelectorAll(r.selector)),a.hooks.run("before-all-elements-highlight",r);for(var i,o=0;i=r.elements[o++];)a.highlightElement(i,!0===t,r.callback)},highlightElement:function(t,n,r){var i=a.util.getLanguage(t),o=a.languages[i];a.util.setLanguage(t,i);var s=t.parentElement;s&&"pre"===s.nodeName.toLowerCase()&&a.util.setLanguage(s,i);var l={element:t,language:i,grammar:o,code:t.textContent};function c(e){l.highlightedCode=e,a.hooks.run("before-insert",l),l.element.innerHTML=l.highlightedCode,a.hooks.run("after-highlight",l),a.hooks.run("complete",l),r&&r.call(l.element)}if(a.hooks.run("before-sanity-check",l),(s=l.element.parentElement)&&"pre"===s.nodeName.toLowerCase()&&!s.hasAttribute("tabindex")&&s.setAttribute("tabindex","0"),!l.code)return a.hooks.run("complete",l),void(r&&r.call(l.element));if(a.hooks.run("before-highlight",l),l.grammar)if(n&&e.Worker){var u=new Worker(a.filename);u.onmessage=function(e){c(e.data)},u.postMessage(JSON.stringify({language:l.language,code:l.code,immediateClose:!0}))}else c(a.highlight(l.code,l.grammar,l.language));else c(a.util.encode(l.code))},highlight:function(e,t,n){var r={code:e,grammar:t,language:n};if(a.hooks.run("before-tokenize",r),!r.grammar)throw new Error('The language "'+r.language+'" has no grammar.');return r.tokens=a.tokenize(r.code,r.grammar),a.hooks.run("after-tokenize",r),i.stringify(a.util.encode(r.tokens),r.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var a=new l;return c(a,a.head,e),s(e,a,t,a.head,0),function(e){var t=[],n=e.head.next;for(;n!==e.tail;)t.push(n.value),n=n.next;return t}(a)},hooks:{all:{},add:function(e,t){var n=a.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=a.hooks.all[e];if(n&&n.length)for(var r,i=0;r=n[i++];)r(t)}},Token:i};function i(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function o(e,t,n,r){e.lastIndex=t;var a=e.exec(n);if(a&&r&&a[1]){var i=a[1].length;a.index+=i,a[0]=a[0].slice(i)}return a}function s(e,t,n,r,l,d){for(var p in n)if(n.hasOwnProperty(p)&&n[p]){var m=n[p];m=Array.isArray(m)?m:[m];for(var f=0;f<m.length;++f){if(d&&d.cause==p+","+f)return;var g=m[f],h=g.inside,b=!!g.lookbehind,E=!!g.greedy,y=g.alias;if(E&&!g.pattern.global){var T=g.pattern.toString().match(/[imsuy]*$/)[0];g.pattern=RegExp(g.pattern.source,T+"g")}for(var S=g.pattern||g,v=r.next,A=l;v!==t.tail&&!(d&&A>=d.reach);A+=v.value.length,v=v.next){var _=v.value;if(t.length>e.length)return;if(!(_ instanceof i)){var k,C=1;if(E){if(!(k=o(S,A,e,b))||k.index>=e.length)break;var w=k.index,N=k.index+k[0].length,I=A;for(I+=v.value.length;w>=I;)I+=(v=v.next).value.length;if(A=I-=v.value.length,v.value instanceof i)continue;for(var R=v;R!==t.tail&&(I<N||"string"===typeof R.value);R=R.next)C++,I+=R.value.length;C--,_=e.slice(A,I),k.index-=A}else if(!(k=o(S,0,_,b)))continue;w=k.index;var x=k[0],O=_.slice(0,w),L=_.slice(w+x.length),P=A+_.length;d&&P>d.reach&&(d.reach=P);var D=v.prev;if(O&&(D=c(t,D,O),A+=O.length),u(t,D,C),v=c(t,D,new i(p,h?a.tokenize(x,h):x,y,x)),L&&c(t,v,L),C>1){var M={cause:p+","+f,reach:P};s(e,t,n,v.prev,A,M),d&&M.reach>d.reach&&(d.reach=M.reach)}}}}}}function l(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function c(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function u(e,t,n){for(var r=t.next,a=0;a<n&&r!==e.tail;a++)r=r.next;t.next=r,r.prev=t,e.length-=a}if(e.Prism=a,i.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var r="";return t.forEach((function(t){r+=e(t,n)})),r}var i={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},o=t.alias;o&&(Array.isArray(o)?Array.prototype.push.apply(i.classes,o):i.classes.push(o)),a.hooks.run("wrap",i);var s="";for(var l in i.attributes)s+=" "+l+'="'+(i.attributes[l]||"").replace(/"/g,""")+'"';return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+s+">"+i.content+"</"+i.tag+">"},!e.document)return e.addEventListener?(a.disableWorkerMessageHandler||e.addEventListener("message",(function(t){var n=JSON.parse(t.data),r=n.language,i=n.code,o=n.immediateClose;e.postMessage(a.highlight(i,a.languages[r],r)),o&&e.close()}),!1),a):a;var d=a.util.currentScript();function p(){a.manual||a.highlightAll()}if(d&&(a.filename=d.src,d.hasAttribute("data-manual")&&(a.manual=!0)),!a.manual){var m=document.readyState;"loading"===m||"interactive"===m&&d&&d.defer?document.addEventListener("DOMContentLoaded",p):window.requestAnimationFrame?window.requestAnimationFrame(p):window.setTimeout(p,16)}return a}("undefined"!==typeof window?window:"undefined"!==typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});e.exports&&(e.exports=r),"undefined"!==typeof n.g&&(n.g.Prism=r)},6813:function(e,t){"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,a=e[r];if(!(0<i(a,t)))break e;e[r]=t,e[n]=a,n=r}}function r(e){return 0===e.length?null:e[0]}function a(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,l=e[s],c=s+1,u=e[c];if(0>i(l,n))c<a&&0>i(u,l)?(e[r]=u,e[c]=n,r=c):(e[r]=l,e[s]=n,r=s);else{if(!(c<a&&0>i(u,n)))break e;e[r]=u,e[c]=n,r=c}}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"===typeof performance&&"function"===typeof performance.now){var o=performance;t.unstable_now=function(){return o.now()}}else{var s=Date,l=s.now();t.unstable_now=function(){return s.now()-l}}var c=[],u=[],d=1,p=null,m=3,f=!1,g=!1,h=!1,b="function"===typeof setTimeout?setTimeout:null,E="function"===typeof clearTimeout?clearTimeout:null,y="undefined"!==typeof setImmediate?setImmediate:null;function T(e){for(var t=r(u);null!==t;){if(null===t.callback)a(u);else{if(!(t.startTime<=e))break;a(u),t.sortIndex=t.expirationTime,n(c,t)}t=r(u)}}function S(e){if(h=!1,T(e),!g)if(null!==r(c))g=!0,L(v);else{var t=r(u);null!==t&&P(S,t.startTime-e)}}function v(e,n){g=!1,h&&(h=!1,E(C),C=-1),f=!0;var i=m;try{for(T(n),p=r(c);null!==p&&(!(p.expirationTime>n)||e&&!I());){var o=p.callback;if("function"===typeof o){p.callback=null,m=p.priorityLevel;var s=o(p.expirationTime<=n);n=t.unstable_now(),"function"===typeof s?p.callback=s:p===r(c)&&a(c),T(n)}else a(c);p=r(c)}if(null!==p)var l=!0;else{var d=r(u);null!==d&&P(S,d.startTime-n),l=!1}return l}finally{p=null,m=i,f=!1}}"undefined"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var A,_=!1,k=null,C=-1,w=5,N=-1;function I(){return!(t.unstable_now()-N<w)}function R(){if(null!==k){var e=t.unstable_now();N=e;var n=!0;try{n=k(!0,e)}finally{n?A():(_=!1,k=null)}}else _=!1}if("function"===typeof y)A=function(){y(R)};else if("undefined"!==typeof MessageChannel){var x=new MessageChannel,O=x.port2;x.port1.onmessage=R,A=function(){O.postMessage(null)}}else A=function(){b(R,0)};function L(e){k=e,_||(_=!0,A())}function P(e,n){C=b((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){g||f||(g=!0,L(v))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):w=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return m},t.unstable_getFirstCallbackNode=function(){return r(c)},t.unstable_next=function(e){switch(m){case 1:case 2:case 3:var t=3;break;default:t=m}var n=m;m=t;try{return e()}finally{m=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=m;m=e;try{return t()}finally{m=n}},t.unstable_scheduleCallback=function(e,a,i){var o=t.unstable_now();switch("object"===typeof i&&null!==i?i="number"===typeof(i=i.delay)&&0<i?o+i:o:i=o,e){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return e={id:d++,callback:a,priorityLevel:e,startTime:i,expirationTime:s=i+s,sortIndex:-1},i>o?(e.sortIndex=i,n(u,e),null===r(c)&&e===r(u)&&(h?(E(C),C=-1):h=!0,P(S,i-o))):(e.sortIndex=s,n(c,e),g||f||(g=!0,L(v))),e},t.unstable_shouldYield=I,t.unstable_wrapCallback=function(e){var t=m;return function(){var n=m;m=t;try{return e.apply(this,arguments)}finally{m=n}}}},5296:function(e,t,n){"use strict";e.exports=n(6813)},6426:function(e,t,n){var r=n(1065);e.exports=function(e,t){var n,a=null;if(!e||"string"!==typeof e)return a;for(var i,o,s=r(e),l="function"===typeof t,c=0,u=s.length;c<u;c++)i=(n=s[c]).property,o=n.value,l?t(i,o,n):o&&(a||(a={}),a[i]=o);return a}},5887:function(e){e.exports=function(){for(var e={},n=0;n<arguments.length;n++){var r=arguments[n];for(var a in r)t.call(r,a)&&(e[a]=r[a])}return e};var t=Object.prototype.hasOwnProperty},6115:function(e){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e},e.exports.__esModule=!0,e.exports.default=e.exports},6690:function(e){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.__esModule=!0,e.exports.default=e.exports},9728:function(e){function t(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}e.exports=function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e},e.exports.__esModule=!0,e.exports.default=e.exports},6389:function(e,t,n){var r=n(3808),a=n(9617),i=n(4993);e.exports=function(e){var t=a();return function(){var n,a=r(e);if(t){var o=r(this).constructor;n=Reflect.construct(a,arguments,o)}else n=a.apply(this,arguments);return i(this,n)}},e.exports.__esModule=!0,e.exports.default=e.exports},8416:function(e){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},e.exports.__esModule=!0,e.exports.default=e.exports},1588:function(e,t,n){var r=n(1753);function a(){return"undefined"!==typeof Reflect&&Reflect.get?(e.exports=a=Reflect.get.bind(),e.exports.__esModule=!0,e.exports.default=e.exports):(e.exports=a=function(e,t,n){var a=r(e,t);if(a){var i=Object.getOwnPropertyDescriptor(a,t);return i.get?i.get.call(arguments.length<3?e:n):i.value}},e.exports.__esModule=!0,e.exports.default=e.exports),a.apply(this,arguments)}e.exports=a,e.exports.__esModule=!0,e.exports.default=e.exports},3808:function(e){function t(n){return e.exports=t=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},1655:function(e,t,n){var r=n(6015);e.exports=function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&r(e,t)},e.exports.__esModule=!0,e.exports.default=e.exports},9617:function(e){e.exports=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}},e.exports.__esModule=!0,e.exports.default=e.exports},4993:function(e,t,n){var r=n(8698).default,a=n(6115);e.exports=function(e,t){if(t&&("object"===r(t)||"function"===typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return a(e)},e.exports.__esModule=!0,e.exports.default=e.exports},6015:function(e){function t(n,r){return e.exports=t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},e.exports.__esModule=!0,e.exports.default=e.exports,t(n,r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},1753:function(e,t,n){var r=n(3808);e.exports=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=r(e)););return e},e.exports.__esModule=!0,e.exports.default=e.exports},8698:function(e){function t(n){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},7452:function(e){"use strict";e.exports=JSON.parse('{"AElig":"\xc6","AMP":"&","Aacute":"\xc1","Acirc":"\xc2","Agrave":"\xc0","Aring":"\xc5","Atilde":"\xc3","Auml":"\xc4","COPY":"\xa9","Ccedil":"\xc7","ETH":"\xd0","Eacute":"\xc9","Ecirc":"\xca","Egrave":"\xc8","Euml":"\xcb","GT":">","Iacute":"\xcd","Icirc":"\xce","Igrave":"\xcc","Iuml":"\xcf","LT":"<","Ntilde":"\xd1","Oacute":"\xd3","Ocirc":"\xd4","Ograve":"\xd2","Oslash":"\xd8","Otilde":"\xd5","Ouml":"\xd6","QUOT":"\\"","REG":"\xae","THORN":"\xde","Uacute":"\xda","Ucirc":"\xdb","Ugrave":"\xd9","Uuml":"\xdc","Yacute":"\xdd","aacute":"\xe1","acirc":"\xe2","acute":"\xb4","aelig":"\xe6","agrave":"\xe0","amp":"&","aring":"\xe5","atilde":"\xe3","auml":"\xe4","brvbar":"\xa6","ccedil":"\xe7","cedil":"\xb8","cent":"\xa2","copy":"\xa9","curren":"\xa4","deg":"\xb0","divide":"\xf7","eacute":"\xe9","ecirc":"\xea","egrave":"\xe8","eth":"\xf0","euml":"\xeb","frac12":"\xbd","frac14":"\xbc","frac34":"\xbe","gt":">","iacute":"\xed","icirc":"\xee","iexcl":"\xa1","igrave":"\xec","iquest":"\xbf","iuml":"\xef","laquo":"\xab","lt":"<","macr":"\xaf","micro":"\xb5","middot":"\xb7","nbsp":"\xa0","not":"\xac","ntilde":"\xf1","oacute":"\xf3","ocirc":"\xf4","ograve":"\xf2","ordf":"\xaa","ordm":"\xba","oslash":"\xf8","otilde":"\xf5","ouml":"\xf6","para":"\xb6","plusmn":"\xb1","pound":"\xa3","quot":"\\"","raquo":"\xbb","reg":"\xae","sect":"\xa7","shy":"\xad","sup1":"\xb9","sup2":"\xb2","sup3":"\xb3","szlig":"\xdf","thorn":"\xfe","times":"\xd7","uacute":"\xfa","ucirc":"\xfb","ugrave":"\xf9","uml":"\xa8","uuml":"\xfc","yacute":"\xfd","yen":"\xa5","yuml":"\xff"}')},3580:function(e){"use strict";e.exports=JSON.parse('{"0":"\ufffd","128":"\u20ac","130":"\u201a","131":"\u0192","132":"\u201e","133":"\u2026","134":"\u2020","135":"\u2021","136":"\u02c6","137":"\u2030","138":"\u0160","139":"\u2039","140":"\u0152","142":"\u017d","145":"\u2018","146":"\u2019","147":"\u201c","148":"\u201d","149":"\u2022","150":"\u2013","151":"\u2014","152":"\u02dc","153":"\u2122","154":"\u0161","155":"\u203a","156":"\u0153","158":"\u017e","159":"\u0178"}')}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}(),n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){"use strict";var e={};n.r(e),n.d(e,{attentionMarkers:function(){return jt},contentInitial:function(){return Ut},disable:function(){return Vt},document:function(){return Ft},flow:function(){return Ht},flowInitial:function(){return Bt},insideSpan:function(){return $t},string:function(){return Gt},text:function(){return zt}});var t={};n.r(t),n.d(t,{boolean:function(){return Hn},booleanish:function(){return Gn},commaOrSpaceSeparated:function(){return Wn},commaSeparated:function(){return Vn},number:function(){return $n},overloadedBoolean:function(){return zn},spaceSeparated:function(){return jn}});var r=n(2791),a=n(1250);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function u(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function d(e,t){if(e){if("string"===typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(e,t):void 0}}function p(e){return function(e){if(Array.isArray(e))return c(e)}(e)||u(e)||d(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(e){if(Array.isArray(e))return e}function f(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function g(e,t){return m(e)||function(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i=[],o=!0,s=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);o=!0);}catch(l){s=!0,a=l}finally{try{o||null==n.return||n.return()}finally{if(s)throw a}}return i}}(e,t)||d(e,t)||f()}var h={categories:[{title:"Proxmox Tools"},{title:"Home Assistant"},{title:"Automation"},{title:"MQTT"},{title:"Database"},{title:"Zigbee - Zwave"},{title:"Monitoring - Analytics"},{title:"Docker - Kubernetes"},{title:"Operating System"},{title:"Server - Networking"},{title:"Media - Photo"},{title:"Ad Blocker - DNS"},{title:"Document - Notes"},{title:"Dashboards"},{title:"File - Code"},{title:"Miscellaneous"}],items:[{category:"Proxmox Tools",title:"Proxmox VE 7 Post Install",content:'<p align="center"><img src="https://github.com/home-assistant/brands/blob/master/core_integrations/proxmoxve/icon.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Proxmox VE 7 Post Install </h1>\n \n The script will give options to Disable the Enterprise Repo, Add/Correct PVE7 Sources, Enable the No-Subscription Repo, Add Test/Beta Repo, Disable Subscription Nag, Update Proxmox VE and Reboot PVE.\n \n Run the command below in the <b>Proxmox Shell</b>. \u26a0\ufe0f **PVE7 ONLY**\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/post-pve-install.sh)"\n ~~~\n \n <p>It\'s recommended to answer <code class="highlighter-rouge">y</code> to all options.</p>'},{category:"Proxmox Tools",title:"Proxmox Kernel Clean",content:'<p align="center"><img src="https://github.com/home-assistant/brands/blob/master/core_integrations/proxmoxve/icon.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading">Proxmox Kernel Clean </h1>\n Cleaning unused kernel images is not only good because of a reduced grub menu, but also gains some disk space.\n \n Run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/kernel-clean.sh)"\n ~~~'},{category:"Proxmox Tools",title:"Proxmox Edge Kernel Tool",content:'<p align="center"><img src="https://github.com/home-assistant/brands/blob/master/core_integrations/proxmoxve/icon.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading">Proxmox Edge Kernel Tool </h1>\n\n PVE [Edge Kernels](https://github.com/fabianishere/pve-edge-kernel) are custom Linux Kernels for Proxmox VE 7. Keeping up with new Kernel releases instead of LTS\n \n Run the command below in the Proxmox Shell.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/edge-kernel.sh)"\n ~~~'},{category:"Proxmox Tools",title:"Proxmox CPU Scaling Governor",content:'<p align="center"><img src="https://github.com/tteck/Proxmox/blob/main/misc/images/cpu.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading">Proxmox CPU Scaling Governor </h1>\n\n CPU Scaling Governor enables the operating system to scale the CPU frequency up or down in order to save power or improve performance. [Generic Scaling Governors](https://www.kernel.org/doc/html/latest/admin-guide/pm/cpufreq.html?#generic-scaling-governors)\n \n Run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/scaling-governor.sh)"\n ~~~'},{category:"Proxmox Tools",title:"Proxmox LXC Updater",content:'<p align="center"><img src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Felpuig.xeill.net%2FMembers%2Fvcarceler%2Farticulos%2Fcontenedores-con-lxd-lxc%2Fcontainers.png&f=1&nofb=1" height="100"/></p>\n \n <h1 align="center" id="heading">Proxmox LXC Updater </h1>\n Update All LXC\'s Fast & Easy (Ubuntu, Debian, Devuan, Alpine Linux, CentOS-Rocky-Alma, Fedora, ArchLinux)\n \n Run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/update-lxcs.sh)"\n ~~~'},{category:"Proxmox Tools",title:"Proxmox Dark Theme",content:'<p align="center"><img src="https://camo.githubusercontent.com/f6f33a09f8c1207dfb3dc1cbd754c2f3393562c11b1c999751ad9a91a656834a/68747470733a2f2f692e696d6775722e636f6d2f536e6c437948462e706e67" height="100"/></p>\n \n <h1 align="center" id="heading"> Proxmox Discord Dark Theme </h1>\n \n A dark theme for the Proxmox Web UI by [Weilbyte](https://github.com/Weilbyte/PVEDiscordDark)\n \n Run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash <(curl -s https://raw.githubusercontent.com/Weilbyte/PVEDiscordDark/master/PVEDiscordDark.sh ) install\n ~~~\n \n To uninstall the theme, simply run the script with the <code class="highlighter-rouge">uninstall</code> command.'},{category:"Proxmox Tools",title:"Proxmox Backup Server Post Install",content:'<p align="center"><img src="https://github.com/home-assistant/brands/blob/master/core_integrations/proxmoxve/icon.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Proxmox Backup Server Post Install </h1>\n The script will give options to Disable the Enterprise Repo, Add/Correct PBS Sources, Enable the No-Subscription Repo, Add Test Repo, Disable Subscription Nag, Update Proxmox Backup Server and Reboot PBS.\n \n Run the command below in the <b>Proxmox Shell</b>. \u26a0\ufe0f **Proxmox Backup Server ONLY**\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/post-pbs-install.sh)"\n ~~~\n \n It\'s recommended to answer <code class="highlighter-rouge">y</code> to all options.'},{category:"Home Assistant",title:"Home Assistant OS VM",content:'<p align="center"><img src="https://github.com/tteck/Proxmox/blob/main/misc/images/haos.png?raw=true"/></p>\n \n <h1 align="center" id="heading"> Home Assistant OS VM </h1>\n <h3 align="center"> Option to create VM using Stable, Beta, Dev or Latest Image </h3>\n \n The script automates the manual process of finding, downloading and extracting the Official KVM (qcow2) disk image provided by the Home Assistant Team, creating a VM with user defined settings, importing and attaching the disk, setting the boot order and starting the VM. No hidden (kpartx, unzip, ect...) installs of any kind. Supports lvmthin, zfspool, nfs, dir and btrfs storage types.\n \n To create a new Proxmox Home Assistant OS VM, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/vm/haos-vm-v4.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 4GB RAM - 32GB Storage - 2vCPU - Stable Image \u26a1</h3>\n \n After the script completes, click on the VM, then on the **_Summary_** tab to find the VM IP.\n \n **Home Assistant Interface: IP:8123**'},{category:"Home Assistant",title:"PiMox HAOS VM",content:'<p align="center"><img src="https://github.com/tteck/Proxmox/blob/main/misc/images/pimox.png?raw=true" width="100" height="100"/></p>\n <h1 align="center" id="heading"> PiMox HAOS VM </h1>\n \n <h3 align="center"> Option to create VM using Stable, Beta or Dev Image </h3>\n \n The script automates the manual process of finding, downloading and extracting the aarch64 (qcow2) disk image provided by the Home Assistant Team, creating a VM with user defined settings, importing and attaching the disk, setting the boot order and starting the VM.\n \n To create a new PiMox HAOS VM, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/vm/pimox-haos-vm-v4.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 4GB RAM - 32GB Storage - 2vCPU - Stable Image \u26a1</h3>\n \n After the script completes, click on the VM, then on the **_Console_** tab to find the VM IP.\n \n **Home Assistant Interface: IP:8123**'},{category:"Home Assistant",title:"Home Assistant Container LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/docker/docs/main/assets/images/docker-icon.svg" height="100"/>\n <img src="https://avatars.githubusercontent.com/u/13844975?s=200&v=4" width="100" height="100"/><img src="https://avatars1.githubusercontent.com/u/22225832?s=400&v=4" alt="GitHub - portainer/portainer-docs: Portainer documentation" width="100" height="100"/></p>\n \n <h1 align="center" id="heading"> Home Assistant Container LXC </h1>\n <h3 align="center"> Option to Use Fuse Overlayfs (Advanced)</h3> \n\n \ud83d\udec8 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n\n A standalone container-based installation of Home Assistant Core\n \n To create a new Proxmox Home Assistant Container LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update ALL Containers, Remove Unused Images or Install HACS, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/homeassistant-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 16GB Storage - 2vCPU \u26a1</h3>\n \n **Home Assistant Interface: IP:8123**\n \n **Portainer Interface: IP:9000**\n \n \u2699\ufe0f **Path to HA /config**\n ~~~bash\n /var/lib/docker/volumes/hass_config/_data\n ~~~'},{category:"Home Assistant",title:"Home Assistant Core LXC",content:'<p align="center"><img src="https://avatars.githubusercontent.com/u/13844975?s=200&v=4" width="100" height="100"/></p>\n \n <h1 align="center" id="heading"> Home Assistant Core LXC </h1>\n \n A standalone installation of Home Assistant Core\n \n \ud83d\udec8 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n \n To create a new Proxmox Home Assistant Core LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update, Install HACS or Filebrowser, run the command below in the <b>LXC Console</b>. <br>\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/homeassistant-core-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n\n **Home Assistant Interface: IP:8123**\n \n \u2699\ufe0f **Path to HA /config**\n ~~~bash\n /root/.homeassistant\n ~~~'},{category:"Home Assistant",title:"Podman Home Assistant Container LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/podman.svg" height="100"/>\n <img src="https://avatars.githubusercontent.com/u/13844975?s=200&v=4" height="100"/><img/></p>\n <h1 align="center" id="heading">Podman Home Assistant Container LXC</h1>\n \n A standalone container-based installation of Home Assistant Core\n \n \ud83d\udec8 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n\n To create a new Proxmox Podman Home Assistant Container LXC, run the command below in the <b>Proxmox Shell</b>. <br> \n To Update Podman, Install HACS or FileBrowser, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/podman-homeassistant-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 16GB Storage - 2vCPU \u26a1</h3>\n \n **Home Assistant Interface: IP:8123**\n \n \u2699\ufe0f **Path to HA /config**\n ~~~bash\n /var/lib/containers/storage/volumes/hass_config/_data\n ~~~'},{category:"Automation",title:"ioBroker LXC",content:'<p align="center"><img src="https://github.com/ioBroker/ioBroker/blob/master/img/logos/ioBroker_Logo_256px.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> ioBroker LXC </h1>\n \n [ioBroker](https://www.iobroker.net/#en/intro) is an open source automation platform.\n \n To create a new Proxmox ioBroker LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/iobroker-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **ioBroker Interface: IP:8081**'},{category:"Automation",title:"openHAB LXC",content:'<p align="center"><img src="https://www.openhab.org/openhab-logo-square.png?raw=true" height="100"/></p>\n <h1 align="center" id="heading">openHAB LXC</h1>\n\n [openHAB](https://www.openhab.org/), a vendor and technology agnostic open source automation software for your home.\n \n To create a new Proxmox openHAB LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/openhab-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **openHAB Interface: IP:8080**'},{category:"Automation",title:"Homebridge LXC",content:'<p align="center"><img src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fwww.dingz.ch%2Fadmin%2Fdata%2Ffiles%2Fintegration%2Flogo%2F20%2F200514-em-logo-homebridge_logo.png%3Flm%3D1589459081&f=1&nofb=1" height="100"/></p>\n <h1 align="center" id="heading">Homebridge LXC</h1>\n\n [Homebridge](https://homebridge.io/) allows you to integrate with smart home devices that do not natively support HomeKit\n \n To create a new Proxmox Homebridge LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/homebridge-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 1vCPU \u26a1</h3>\n \n **Homebridge Interface: IP:8581**\n \n \u2699\ufe0f **Initial Login**\n \n **username** <code class="highlighter-rouge">admin</code>\n \n **password** <code class="highlighter-rouge">admin</code>'},{category:"Automation",title:"ESPHome LXC",content:'<p align="center"><img src="https://github.com/home-assistant/brands/blob/master/core_integrations/esphome/dark_icon@2x.png?raw=true" height="100"/></p>\n <h1 align="center" id="heading">ESPHome LXC</h1>\n \n [ESPHome](https://esphome.io/) is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.\n \n To create a new Proxmox ESPHome LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update ESPHome, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/esphome-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **ESPHome Interface: IP:6052**'},{category:"Automation",title:"Node-Red LXC",content:'<p align="center"><img src="https://github.com/home-assistant/brands/blob/master/custom_integrations/nodered/icon.png?raw=true" height="100"/></p>\n <h1 align="center" id="heading">Node-Red LXC</h1>\n\n [Node-RED](https://nodered.org/) is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.\n \n To create a new Proxmox Node-RED LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Node-Red or Install Themes run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/node-red-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 1vCPU \u26a1</h3>\n \n **Node-Red Interface: IP:1880**'},{category:"Automation",title:"n8n LXC",content:'<p align="center"><img src="https://docs.n8n.io/_images/n8n-docs-icon.svg" height="70"/></p>\n <h1 align="center" id="heading">n8n LXC</h1>\n \n [n8n](https://n8n.io/) is an extendable workflow automation tool which enables you to connect anything to everything.\n \n To create a new Proxmox n8n LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update n8n, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/n8n-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 3GB Storage - 2vCPU \u26a1</h3>\n \n **n8n Interface: IP:5678**'},{category:"Automation",title:"Scrypted LXC",content:'<p align="center"><img src="https://www.scrypted.app/images/web_hi_res_512.png?raw=true" height="100"/></p>\n <h1 align="center" id="heading">Scrypted LXC</h1>\n\n <h3 align="center"> Option to add Coral Edge TPU support </h3> \n \n [Scrypted](https://www.scrypted.app/) is a home automation platform primarily focusing on making camera experiences seamless.\n\n \ud83d\udec8 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n \n To create a new Proxmox Scrypted LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/scrypted-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **Scrypted Interface: (https)IP:10443**'},{category:"MQTT",title:"MQTT LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/eclipsemosquitto.svg" height="100"/></p>\n <h1 align="center" id="heading">MQTT LXC</h1>\n \n [Eclipse Mosquitto](https://mosquitto.org/) is an open source message broker that implements the MQTT protocol\n \n To create a new Proxmox MQTT LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/mqtt-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n Mosquitto comes with a password file generating utility called mosquitto_passwd.\n ~~~bash\n sudo mosquitto_passwd -c /etc/mosquitto/passwd <usr>\n ~~~\n Password: < password >\n \n Create a configuration file for Mosquitto pointing to the password file we have just created.\n ~~~bash\n sudo nano /etc/mosquitto/conf.d/default.conf\n ~~~\n This will open an empty file. Paste the command below into it.\n ~~~bash\n allow_anonymous false\n persistence true\n password_file /etc/mosquitto/passwd\n listener 1883\n ~~~\n Save and exit the text editor with "Ctrl+O", "Enter" and "Ctrl+X".\n \n Now restart Mosquitto server.\n ~~~bash\n sudo systemctl restart mosquitto\n ~~~'},{category:"MQTT",title:"EMQX LXC",content:'<p align="center"><img src="https://github.com/hassio-addons/repository/blob/master/emqx/icon.png?raw=true" height="100"/></p>\n <h1 align="center" id="heading">EMQX LXC</h1>\n\n[EMQX](https://www.emqx.io/) is an Open-source MQTT broker with a high-performance real-time message processing engine, powering event streaming for IoT devices at massive scale.\n \n To create a new Proxmox EMQX LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/emqx-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n \n **EMQX Interface: IP:18083** \n \n \u2699\ufe0f **Initial Login**\n \n **username** <code class="highlighter-rouge">admin</code>\n\n **password** <code class="highlighter-rouge">public</code>\n\n \u2699\ufe0f **Setup**\n \n Access Control \u27a1 Authentication \u27a1 Create \u27a1 Next \u27a1 Next \u27a1 Create \u27a1 Users \u27a1 Add \u27a1 Username / Password (to authenicate with MQTT) \u27a1 Save. You\'re now ready to enjoy a high-performance MQTT Broker.'},{category:"Database",title:"Mariadb LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/mariadb.svg" height="100"/></p>\n <h1 align="center" id="heading">Mariadb LXC</h1>\n\n <h3 align="center"> Option to Install Adminer</h3>\n \n [MariaDB](https://mariadb.org/) is a community-developed, commercially supported fork of the MySQL relational database management system.\n \n To create a new Proxmox Mariadb LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/mariadb-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 1vCPU \u26a1</h3>\n \n To enable MariaDB to listen to remote connections, you need to edit your defaults file. To do this, open the console in your MariaDB lxc:\n ~~~bash\n nano /etc/mysql/my.cnf\n ~~~\n Un-comment <code class="highlighter-rouge">port =3306</code>\n Save and exit the editor with "Ctrl+O", "Enter" and "Ctrl+X".\n \n ~~~bash\n nano /etc/mysql/mariadb.conf.d/50-server.cnf\n ~~~\n Comment <code class="highlighter-rouge">bind-address = 127.0.0.1</code>\n Save and exit the editor with "Ctrl+O", "Enter" and "Ctrl+X".\n \n For new MariaDB installations, the next step is to run the included security script. This script changes some of the less secure default options. We will use it to block remote root logins and to remove unused database users.\n \n Run the security script:\n ~~~bash\n sudo mysql_secure_installation\n ~~~\n Enter current password for root (enter for none): <code class="highlighter-rouge">enter</code>\n \n Switch to unix_socket authentication [Y/n] <code class="highlighter-rouge">y</code> \n \n Change the root password? [Y/n] <code class="highlighter-rouge">n</code> \n \n Remove anonymous users? [Y/n] <code class="highlighter-rouge">y</code> \n \n Disallow root login remotely? [Y/n] <code class="highlighter-rouge">y</code> \n \n Remove test database and access to it? [Y/n] <code class="highlighter-rouge">y</code> \n \n Reload privilege tables now? [Y/n] <code class="highlighter-rouge">y</code> \n \n We will create a new account called admin with the same capabilities as the root account, but configured for password authentication. \n ~~~bash\n sudo mysql\n ~~~ \n Prompt will change to <code class="highlighter-rouge">MariaDB [(none)]></code>\n \n Create a new local admin (Change the username and password to match your preferences)\n ~~~sql\n CREATE USER \'admin\'@\'localhost\' IDENTIFIED BY \'password\';\n ~~~\n Give local admin root privileges (Change the username and password to match above)\n ~~~sql\n GRANT ALL ON *.* TO \'admin\'@\'localhost\' IDENTIFIED BY \'password\' WITH GRANT OPTION;\n ~~~\n \n Now, we\'ll give the user admin root privileges and password-based access that can connect from anywhere on your local area network (LAN), which has addresses in the subnet 192.168.100.0/24. This is an improvement because opening a MariaDB server up to the Internet and granting access to all hosts is bad practice.. Change the **_username_**, **_password_** and **_subnet_** to match your preferences:\n ~~~sql\n GRANT ALL ON *.* TO \'admin\'@\'192.168.100.%\' IDENTIFIED BY \'password\' WITH GRANT OPTION;\n ~~~\n Flush the privileges to ensure that they are saved and available in the current session:\n ~~~sql\n FLUSH PRIVILEGES;\n ~~~\n command below this, exit the MariaDB shell:\n ~~~bash\n exit\n ~~~\n Log in as the new database user you just created:\n ~~~bash\n mysql -u admin -p\n ~~~\n Create a new database:\n ~~~sql\n CREATE DATABASE homeassistant;\n ~~~\n command below this, exit the MariaDB shell:\n ~~~bash\n exit\n ~~~\n \u26a0\ufe0f Reboot the lxc \n \n Checking status.\n ~~~bash\n sudo systemctl status mariadb\n ~~~ \n Change the recorder: <code class="highlighter-rouge">db_url:</code> in your HA configuration.yaml\n \n Example:\n ~~~bash\n recorder:\n db_url: mysql://admin:password@192.168.100.26:3306/homeassistant?charset=utf8mb4\n ~~~\n \n \u2699\ufe0f [**Adminer**](https://www.adminer.org/) is a full-featured database management tool\n \n **Adminer Interface: IP/adminer/**'},{category:"Database",title:"PostgreSQL LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/postgresql.svg" height="100"/></p>\n <h1 align="center" id="heading">PostgreSQL LXC</h1>\n <h3 align="center"> Option to Install Adminer</h3>\n \n [PostgreSQL](https://www.postgresql.org/), also known as Postgres, is a free and open-source relational database management system emphasizing extensibility and SQL compliance.\n \n To create a new Proxmox PostgreSQL LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/postgresql-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 1vCPU \u26a1</h3>\n \n To make sure our PostgreSQL is secured with a strong password, set a password for its system user and then change the default database admin user account\n \n Change user password\n ~~~bash\n passwd postgres\n ~~~\n Login using Postgres system account\n \n ~~~bash\n su - postgres\n ~~~\n Now, change the Admin database password \n ~~~bash\n psql -c "ALTER USER postgres WITH PASSWORD \'your-password\';"\n ~~~\n Create a new user.\n ~~~bash\n psql\n ~~~\n ~~~sql\n CREATE USER admin WITH PASSWORD \'your-password\';\n ~~~\n Create a new database:\n ~~~sql\n CREATE DATABASE homeassistant;\n ~~~\n Grant all rights or privileges on created database to the user\n ~~~sql\n GRANT ALL ON DATABASE homeassistant TO admin;\n ~~~\n To exit psql\n ~~~bash\n \\q\n ~~~ \n Then type exit to get back to root\n \n Change the recorder: <code class="highlighter-rouge">db_url:</code> in your HA configuration.yaml\n \n Example:\n ~~~bash\n recorder:\n db_url: postgresql://admin:your-password@192.168.100.20:5432/homeassistant?client_encoding=utf8\n ~~~\n\n \u2699\ufe0f [**Adminer**](https://www.adminer.org/) is a full-featured database management tool\n \n **Adminer Interface: IP/adminer/**'},{category:"Database",title:"InfluxDB LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/influx.svg" height="100"/></p>\n <h1 align="center" id="heading">InfluxDB LXC</h1>\n <h3 align="center"> Options to Install InfluxDB v1 or v2 and Telegraf</h3>\n \n [InfluxDB](https://www.influxdata.com/) is an open-source time series database developed by the company InfluxData.\n \n [Telegraf](https://www.influxdata.com/time-series-platform/telegraf/) is an open source plugin-driven server agent for collecting and reporting metrics.\n \n To create a new Proxmox InfluxDB LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/influxdb-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n \u2699\ufe0f **InfluxDB Configuration**\n \n ~~~yaml\n nano /etc/influxdb/influxdb.conf\n ~~~\n \n \u2699\ufe0f **Telegraf Configuration**\n \n ~~~yaml\n nano /etc/telegraf/telegraf.conf\n ~~~'},{category:"Zigbee - Zwave",title:"Zigbee2MQTT LXC",content:'<p align="center"><img src="https://github.com/Koenkk/zigbee2mqtt/blob/master/images/logo_bee_only.png?raw=true" height="100"/></p>\n <h1 align="center" id="heading">Zigbee2MQTT LXC</h1>\n\n <h3 align="center"> Option to switch to Edge/dev branch</h3>\n \n [Zigbee2MQTT](https://www.zigbee2mqtt.io/) is a standalone nodejs application that connects a zigbee network to MQTT\n \n \ud83d\udec8 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n\n To create a new Proxmox Zigbee2MQTT LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Zigbee2MQTT, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/zigbee2mqtt-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n \u2699\ufe0f **Determine the location of your adapter**\n \n ~~~bash\n ls -l /dev/serial/by-id\n ~~~\n Example Output: <code class="highlighter-rouge">lrwxrwxrwx 1 root root 13 Jun 19 17:30 usb-1a86_USB_Serial-if00-port0 -> ../../ttyUSB0</code>\n \n \n \u2699\ufe0f \u26a0\ufe0f **Before you start Zigbee2MQTT you need to edit the [configuration.yaml](https://www.zigbee2mqtt.io/guide/configuration/)**\n \n ~~~bash\n nano /opt/zigbee2mqtt/data/configuration.yaml\n ~~~\n \n Save and exit the editor with \u201cCtrl+O\u201d, \u201cEnter\u201d and \u201cCtrl+X\u201d\n \n Example:\n ~~~yaml\n frontend:\n port: 9442\n homeassistant: true\n permit_join: false\n mqtt:\n base_topic: zigbee2mqtt\n server: \'mqtt://192.168.86.224:1883\'\n user: usr\n password: pwd\n keepalive: 60\n reject_unauthorized: true\n version: 4\n serial:\n port: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0\n #adapter: deconz\t\t#(uncomment for ConBee II)\n advanced:\n pan_id: GENERATE\n network_key: GENERATE\n channel: 20\n ~~~\n \u2699\ufe0f **Zigbee2MQTT can be started after completing the configuration**\n \n ~~~bash\n cd /opt/zigbee2mqtt && npm start\n ~~~'},{category:"Zigbee - Zwave",title:"deCONZ LXC",content:'<p align="center"><img src="https://phoscon.de/img/phoscon-logo128x.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> deCONZ LXC </h1>\n \n [deCONZ](https://www.phoscon.de/en/conbee2/software#deconz) is used to configure, control and display Zigbee networks.\n \n \ud83d\udec8 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n\n To create a new Proxmox deCONZ LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/deconz-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **deCONZ Interface: IP:80**'},{category:"Zigbee - Zwave",title:"Z-Wave JS UI LXC",content:'<p align="center"><img src="https://github.com/zwave-js/zwave-js-ui/blob/master/docs/_images/app_logo.svg?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Z-Wave JS UI LXC </h1>\n \n [Z-Wave JS UI](https://github.com/zwave-js/zwave-js-ui#) is a fully configurable Z-Wave to MQTT Gateway and Control Panel.\n \n \ud83d\udec8 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n \n To create a new Proxmox Z-Wave JS UI LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Z-Wave JS UI, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/zwave-js-ui-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **Z-Wave JS UI Interface: IP:8091**'},{category:"Monitoring - Analytics",title:"Uptime Kuma LXC",content:'<p align="center"><img src="https://github.com/louislam/uptime-kuma/blob/master/public/icon.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Uptime Kuma LXC </h1>\n \n Uptime Kuma is a self-hosted, open source, fancy uptime monitoring and alerting system. It can monitor HTTP(s) / TCP / HTTP(s) Keyword / Ping / DNS Record / Push / Steam Game Server.\n \n To create a new Proxmox Uptime Kuma LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Uptime Kuma, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/uptimekuma-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n **Uptime Kuma Interface: IP:3001**'},{category:"Monitoring - Analytics",title:"Change Detection LXC",content:'<p align="center"><img src="https://github.com/dgtlmoon/changedetection.io/blob/master/changedetectionio/static/images/avatar-256x256.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Change Detection LXC </h1>\n \n To create a new Proxmox Change Detection LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Change Detection, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/changedetection-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n **Change Detection Interface: IP:5000**'},{category:"Monitoring - Analytics",title:"Prometheus LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/prometheus.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> Prometheus LXC </h1>\n \n [Prometheus](https://prometheus.io/) is an open-source systems monitoring and alerting toolkit\n \n To create a new Proxmox Prometheus LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/prometheus-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 4GB Storage - 1vCPU \u26a1</h3>\n \n **Prometheus Interface: IP:9090**'},{category:"Monitoring - Analytics",title:"Grafana LXC",content:'<p align="center"><img src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fdocs.checkmk.com%2Flatest%2Fimages%2Fgrafana_logo.png&f=1&nofb=1" height="100"/></p>\n \n <h1 align="center" id="heading"> Grafana LXC </h1>\n \n [Grafana](https://grafana.com/) is a multi-platform open source analytics and interactive visualization web application.\n \n To create a new Proxmox Grafana LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/grafana-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n **Grafana Interface: IP:3000**\n \n \u2699\ufe0f **Initial Login**\n \n **username** <code class="highlighter-rouge">admin</code>\n \n **password** <code class="highlighter-rouge">admin</code>'},{category:"Docker - Kubernetes",title:"Docker LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/docker.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> Docker LXC </h1>\n <h3 align="center"> Options to Install Portainer and/or Docker Compose V2 (Fuse Overlayfs is in "Advanced")</h3>\n \n \ud83d\udec8 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n\n [Docker](https://www.docker.com/) is an open-source project for automating the deployment of applications as portable, self-sufficient containers.\n \n To create a new Proxmox Docker LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/docker-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **\u26a0 Run Compose V2 by replacing the hyphen (-) with a space, using docker compose, instead of docker-compose.**\n \n **Portainer Interface: IP:9000**'},{category:"Docker - Kubernetes",title:"Umbrel LXC",content:'<p align="center"><img src="https://uploads-ssl.webflow.com/62966b49981ba146f4842f45/62966b49981ba15b44842fe4_umbrel-logo-compact-purple.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> Umbrel LXC </h1>\n\n \ud83d\udec8 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n \n [Umbrel](https://umbrel.com/) is a beautiful personal server OS for self-hosting.\n \n \n To create a new Proxmox Umbrel LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/umbrel-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **Umbrel Interface: IP** (a reboot is required before app installs)'},{category:"Docker - Kubernetes",title:"CasaOS LXC",content:'<p align="center"><img src="https://www.casaos.io/images/casa_9c491a0f.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> CasaOS LXC </h1>\n\n \ud83d\udec8 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n \n [CasaOS](https://www.casaos.io/) is a community-based open source software focused on delivering simple home cloud experience around Docker ecosystem.\n \n \n To create a new Proxmox CasaOS LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/casaos-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **CasaOS Interface: IP**'},{category:"Docker - Kubernetes",title:"k0s Kubernetes LXC",content:'<p align="center"><img src="https://k0sproject.io/images/k0s-logo.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> k0s Kubernetes LXC </h1>\n <h3 align="center"> Option to Install Helm Package Manager</h3>\n \n [k0s](https://k0sproject.io/) is the Simple, Solid & Certified Kubernetes Distribution.\n \n \n To create a new Proxmox k0s Kubernetes LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/k0s-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n\n \u2699\ufe0f **Config Path**\n\n ~~~yaml\n /etc/k0s/k0s.yaml\n ~~~'},{category:"Docker - Kubernetes",title:"Podman LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/podman.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> Podman LXC </h1>\n \n [Podman](https://podman.io/) is a daemonless container engine for developing, managing, and running OCI Containers on your Linux System.\n \n \n To create a new Proxmox Podman LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/podman-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 4GB Storage - 2vCPU \u26a1</h3>'},{category:"Operating System",title:"Debian LXC",content:'<p align="center"><img src="https://www.debian.org/Pics/debian-logo-1024x576.png" alt="Debian" height="100"/></p>\n \n <h1 align="center" id="heading"> Debian LXC </h1>\n Debian Linux is a distribution that emphasizes free software. It supports many hardware platforms.\n\n To create a new Proxmox Debian LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/debian-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>'},{category:"Operating System",title:"Ubuntu LXC",content:'<p align="center"><img src="https://assets.ubuntu.com/v1/29985a98-ubuntu-logo32.png" alt="Ubuntu" height="100"/></p>\n \n <h1 align="center" id="heading"> Ubuntu LXC </h1>\n <h3 align="center" id="heading"> Option to select version 18.04, 20.04, 21.10 or 22.04</h3>\n Ubuntu is a distribution based on Debian, designed to have regular releases and a consistent user experience.\n \n To create a new Proxmox Ubuntu LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/ubuntu-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU - 22.04 \u26a1</h3>'},{category:"Operating System",title:"Alpine LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/alpinelinux.svg" alt="Alpine" height="100"/></p>\n \n <h1 align="center" id="heading"> Alpine LXC </h1>\n A security-oriented, lightweight Linux distribution based on musl and BusyBox.\n\n To create a new Proxmox Alpine LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/alpine-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 100MiB Storage - 1vCPU \u26a1</h3>\n\n \u2699\ufe0f **Default Password** <code class="highlighter-rouge">alpine</code>\n\n \u2699\ufe0f **To Update Alpine**\n \n ~~~bash\n apk update && apk upgrade\n ~~~'},{category:"Operating System",title:"Arch LXC",content:'<p align="center"><img src="https://gitlab.archlinux.org/uploads/-/system/appearance/header_logo/1/lol2.png\n " alt="Arch" height="100"/></p>\n \n <h1 align="center" id="heading"> Arch Linux LXC </h1>\n Arch Linux is an independently developed, x86-64 general-purpose Linux distribution that strives to provide the latest stable versions of most software by command below a rolling-release model. The default installation is a minimal base system, configured by the user to only add what is purposely required.\n \n To create a new Proxmox Arch Linux LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/archlinux-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 1GB Storage - 1vCPU \u26a1</h3>\n\n\n \u2699\ufe0f **Default Password** <code class="highlighter-rouge">archlinux</code>\n \n \u2699\ufe0f **To get updated:**\n\n <code class="highlighter-rouge">pacman-key --init</code>\n\n <code class="highlighter-rouge">pacman-key --populate archlinux</code>\n\n <code class="highlighter-rouge">pacman -Sy archlinux-keyring && pacman -Su</code>'},{category:"Server - Networking",title:"Nginx Proxy Manager LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/nginxproxymanager.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> Nginx Proxy Manager LXC </h1>\n \n [Nginx Proxy Manager](https://nginxproxymanager.com/) Expose your services easily and securely\n \n To create a new Proxmox Nginx Proxy Manager LXC Container, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Nginx Proxy Manager, run the command below in the <b>LXC Console</b>.\n ~~~yaml\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/nginxproxymanager-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 3GB Storage - 1vCPU \u26a1</h3>\n \n Forward port <code class="highlighter-rouge">80</code> and <code class="highlighter-rouge">443</code> from your router to your Nginx Proxy Manager LXC IP.\n \n Add the command below to your <code class="highlighter-rouge">configuration.yaml</code> in Home Assistant.\n ~~~yaml\n http:\n use_x_forwarded_for: true\n trusted_proxies:\n - 192.168.100.27 ###(Nginx Proxy Manager LXC IP)###\n ~~~\n \n **Nginx Proxy Manager Interface: IP:81**\n \n \u2699\ufe0f **Initial Login**\n \n **username** <code class="highlighter-rouge">admin@example.com</code>\n \n **password** <code class="highlighter-rouge">changeme</code>'},{category:"Server - Networking",title:"YunoHost LXC",content:'<p align="center"><img src="https://yunohost.org/_images/ynh_logo_white_300dpi.png" height="100"/></p>\n \n <h1 align="center" id="heading"> YunoHost LXC </h1>\n \n YunoHost is an operating system aiming for the simplest administration of a server, and therefore democratize self-hosting, while making sure it stays reliable, secure, ethical and lightweight. \n \n To create a new Proxmox YunoHost LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/yunohost-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 20GB Storage - 2vCPU \u26a1</h3>\n \n **YunoHost Interface: IP/**'},{category:"Server - Networking",title:"UniFi Network Application LXC",content:'<p align="center"><img src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fblog.ui.com%2Fwp-content%2Fuploads%2F2016%2F10%2Funifi-app-logo-300x108.png&f=1&nofb=1" height="100"/></p>\n \n <h1 align="center" id="heading"> UniFi Network Application LXC </h1>\n \n <h3 align="center"> With Local Controller Option </h3>\n \n An application designed to optimize UniFi home and business networks with ease.\n \n To create a new Proxmox UniFi Network Application LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Unifi Network Application, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/unifi-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **UniFi Interface: (https)IP:8443**'},{category:"Server - Networking",title:"Omada Controller LXC",content:'<p align="center"><img src="https://www.enterpriseitpro.net/wp-content/uploads/2020/12/logo-omada.png" height="100"/></p>\n \n <h1 align="center" id="heading"> Omada Controller LXC </h1>\n \n Omada Controller is software which is used to manage the EAP\n \n To create a new Proxmox Omada Controller LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/omada-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **Omada Interface: (https)IP:8043**'},{category:"Server - Networking",title:"WireGuard LXC",content:'<p align="center"><img src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fcdn.icon-icons.com%2Ficons2%2F2699%2FPNG%2F512%2Fwireguard_logo_icon_168760.png&f=1&nofb=1" height="100"/></p>\n \n <h1 align="center" id="heading"> WireGuard LXC </h1>\n \n To create a new Proxmox WireGuard LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update WireGuard or Install a Dashboard, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/wireguard-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n \u2699\ufe0f **Host Configuration**\n \n ~~~yaml\n nano /etc/pivpn/wireguard/setupVars.conf\n ~~~\n \u2699\ufe0f **Add Clients** \n \n ~~~yaml\n pivpn add\n ~~~'},{category:"Server - Networking",title:"Cronicle Primary LXC",content:'<p align="center"><img src="https://github.com/jhuckaby/Cronicle/blob/master/htdocs/images/logo-128.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Cronicle Primary LXC </h1>\n \n [Cronicle](https://github.com/jhuckaby/Cronicle) is a multi-server task scheduler and runner, with a web based front-end UI. It handles both scheduled, repeating and on-demand jobs, targeting any number of worker servers, with real-time stats and live log viewer. \n\n To create a new Proxmox Cronicle Primary LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Cronicle or Install Cronicle Worker, run the command below in a <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/cronicle-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n **Cronicle Primary Interface: IP:3012**\n\n \u2699\ufe0f Config Path\n ~~~bash\n /opt/cronicle/conf/config.json\n ~~~\n\n Primary and Worker Private Keys Must Match.'},{category:"Server - Networking",title:"MeshCentral LXC",content:'<p align="center"><img src="https://github.com/Ylianst/MeshCentral/blob/master/public/favicon-303x303.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> MeshCentral LXC </h1>\n \n [MeshCentral](https://meshcentral.com/info/) is a full computer management web site. With MeshCentral, you can run your own web server to remotely manage and control computers on a local network or anywhere on the internet.\n \n To create a new Proxmox MeshCentral LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/meshcentral-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n **MeshCentral Interface: IP**'},{category:"Server - Networking",title:"Tailscale",content:'<p align="center"><img src="https://avatars.githubusercontent.com/u/48932923?v=4&s=100"/></p>\n \n <h1 align="center" id="heading"> Tailscale</h1>\n \n [Tailscale](https://tailscale.com/) Creates a secure network between your servers, computers, and cloud instances. Even when separated by firewalls or subnets, Tailscale just works.\n \n To Install Talescale on an existing LXC, run the command below in the <b>Proxmox Shell</b> (replace <code class="highlighter-rouge">106</code> with your LXC ID).\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/add-tailscale-lxc.sh)" -s 106\n ~~~\n After the script finishes, reboot the LXC then run <code class="highlighter-rouge">tailscale up</code> in the LXC console\n \n [**Tailscale Login**](https://login.tailscale.com/start)'},{category:"Server - Networking",title:"CrowdSec",content:'<p align="center"><img src="https://raw.githubusercontent.com/crowdsecurity/crowdsec-docs/main/crowdsec-docs/static/img/crowdsec_no_txt.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> CrowdSec</h1>\n\n [CrowdSec](https://crowdsec.net/) is a free, open-source and collaborative IPS. Analyze behaviors, respond to attacks & share signals across the community.\n \n To Install CrowdSec, \u26a0\ufe0f run the command below in the <b>LXC console</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/crowdsec.sh)"\n ~~~\n \n [**Control center for your CrowdSec machines.**](https://app.crowdsec.net/product-tour)'},{category:"Server - Networking",title:"Keycloak LXC",content:'<p align="center"><img src="https://www.keycloak.org/resources/images/keycloak_icon_512px.svg?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Keycloak LXC</h1>\n\n [Keycloak](https://www.keycloak.org/) is an Open Source Identity and Access Management solution for modern Applications and Services.\n \n To create a new Proxmox Keycloak LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/keycloak-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 4GB Storage - 2CPU \u26a1</h3>\n\n **Keycloak Interface: IP:8080** (First start can take a few minutes)\n \n \u2699\ufe0f **Initial Login**\n \n The initial admin user can be added manually using the web frontend when accessed from localhost or automatically using environment variables.\n \n To add the initial admin user using environment variables, set <code class="highlighter-rouge">KEYCLOAK_ADMIN</code> for the initial admin username and <code class="highlighter-rouge">KEYCLOAK_ADMIN_PASSWORD</code> for the initial admin password.\n \n First, stop Keycloak\n ~~~bash\n systemctl stop keycloak.service\n ~~~\n then start Keycloak by coping & pasting the command below (only needed once)\n ~~~bash\n cd /opt/keycloak\n export KEYCLOAK_ADMIN=admin\n export KEYCLOAK_ADMIN_PASSWORD=changeme\n bin/kc.sh start-dev \n ~~~'},{category:"Server - Networking",title:"Mikrotik RouterOS VM",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/mikrotik.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> Mikrotik RouterOS VM </h1>\n \n [Mikrotik RouterOS](https://wiki.mikrotik.com/wiki/Manual:TOC) can be installed on a PC and will turn it into a router with all the necessary features - routing, firewall, bandwidth management, wireless access point, backhaul link, hotspot gateway, VPN server and more. \n \n To create a new Proxmox Mikrotik RouterOS VM, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/vm/mikrotik-routeros-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 2GB Storage - 1CPU \u26a1</h3>\n\n Setup is done via VM console.\n\n \u2699\ufe0f **Initial Login**\n\n **username** <code class="highlighter-rouge">admin</code>\n \n **password** <code class="highlighter-rouge">no password</code>'},{category:"Media - Photo",title:"Plex Media Server LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/plex-white.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> Plex Media Server LXC </h1>\n <h3 align="center" id="heading"> With Hardware Acceleration Support </h3> \n \n To create a new Proxmox Plex Media Server LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Plex Media Server, run the command below in the <b>LXC Console</b>.\n\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/plex-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **Plex Media Server Interface: IP:32400/web**'},{category:"Media - Photo",title:"Emby Media Server LXC",content:'<p align="center"><img src="https://github.com/home-assistant/brands/blob/master/core_integrations/emby/icon.png?raw=true" height="100"/></p>\n <h1 align="center" id="heading"> Emby Media Server LXC </h1>\n \n [Emby](https://emby.media/) brings together your personal videos, music, photos, and live television.\n \n To create a new Proxmox Emby Media Server LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Emby, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/emby-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **Emby Media Server Interface: IP:8096**'},{category:"Media - Photo",title:"Jellyfin Media Server LXC",content:'<p align="center"><img src="https://github.com/home-assistant/brands/blob/master/core_integrations/jellyfin/icon.png?raw=true" height="100"/></p>\n <h1 align="center" id="heading"> Jellyfin Media Server LXC </h1>\n \n [TurnKey has a LXC CT for Jellyfin](https://www.turnkeylinux.org/mediaserver)\n \n To create a new Proxmox Jellyfin Media Server LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/jellyfin-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **Jellyfin Media Server Interface: IP:8096**\n \n FFmpeg path: <code class="highlighter-rouge">/usr/lib/jellyfin-ffmpeg/ffmpeg</code>'},{category:"Media - Photo",title:"NextCloudPi LXC",content:'<p align="center"><img src="https://github.com/nextcloud/nextcloudpi/blob/master/ncp-app/img/app.svg?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading">NextCloudPi LXC </h1>\n \n [NextCloudPi LXC](https://github.com/nextcloud/nextcloudpi#features) is the most popular self-hosted collaboration solution.\n \n To create a new Proxmox NextCloudPi LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/nextcloudpi-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **NextCloudPi Interface: (https)IP/**'},{category:"Media - Photo",title:"OpenMediaVault LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/openmediavault.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> OpenMediaVault LXC </h1>\n \n [OpenMediaVault](https://www.openmediavault.org/) is the next generation network attached storage (NAS) solution based on Debian Linux.\n \n To create a new Proxmox OpenMediaVault LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/omv-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **OpenMediaVault Interface: IP**\n \n \u2699\ufe0f **Initial Login**\n \n **username** <code class="highlighter-rouge">admin</code>\n \n **password** <code class="highlighter-rouge">openmediavault</code>'},{category:"Media - Photo",title:"Navidrome LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/navidrome/navidrome/master/resources/logo-192x192.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Navidrome LXC </h1>\n \n [Navidrome](https://www.navidrome.org/) allows you to enjoy your music collection from anywhere, by making it available through a modern Web UI and through a wide range of third-party compatible mobile apps, for both iOS and Android devices. \n \n To create a new Proxmox Navidrome LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Navidrome, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/navidrome-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n To change Navidrome music folder path, edit: <code class="highlighter-rouge">/var/lib/navidrome/navidrome.toml</code>\n \n **Navidrome Interface: IP:4533**'},{category:"Media - Photo",title:"PhotoPrism LXC",content:'<p align="center"><img src="https://github.com/tteck/Proxmox/blob/main/misc/images/photoprism.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> PhotoPrism LXC </h1>\n \n [PhotoPrism](https://photoprism.app/) is an AI-powered app for browsing, organizing & sharing your photo collection. \n \n To create a new Proxmox PhotoPrism LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update PhotoPrism, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/photoprism-v5.sh)"\n ~~~\n The script builds from source, which takes time and resources. After the build, the script will automatically set resources to Normal Settings.\n <h3 align="center" id="heading">\u26a1 Build Settings: 4GB RAM - 8GB Storage - 4vCPU \u26a1</h3>\n <h3 align="center" id="heading">\u26a1 Normal Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **PhotoPrism Interface: IP:2342**\n \n \u2699\ufe0f **Initial Login**\n \n **username** <code class="highlighter-rouge">admin</code>\n \n **password** <code class="highlighter-rouge">changeme</code>\n \n [PhotoSync](https://www.photosync-app.com/home.html)'},{category:"Media - Photo",title:"Lidarr LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/Lidarr/Lidarr/develop/Logo/256.png" height="100"/></p>\n \n <h1 align="center" id="heading">Lidarr LXC </h1>\n \n [Lidarr](https://lidarr.audio/) is a music collection manager for Usenet and BitTorrent users.\n \n To create a new Proxmox Lidarr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/lidarr-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **Lidarr Interface: IP:8686**'},{category:"Media - Photo",title:"Prowlarr LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/Prowlarr/Prowlarr/develop/Logo/256.png" height="100"/></p>\n \n <h1 align="center" id="heading">Prowlarr LXC </h1>\n \n [Prowlarr](https://github.com/Prowlarr/Prowlarr) is an indexer manager/proxy built on the popular *arr .net/reactjs base stack to integrate with your various PVR apps.\n \n To create a new Proxmox Prowlarr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/prowlarr-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **Prowlarr Interface: IP:9696**'},{category:"Media - Photo",title:"Radarr LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/Radarr/Radarr/develop/Logo/256.png" height="100"/></p>\n \n <h1 align="center" id="heading">Radarr LXC </h1>\n \n [Radarr](https://radarr.video/) is a movie collection manager for Usenet and BitTorrent users.\n \n To create a new Proxmox Radarr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/radarr-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **Radarr Interface: IP:7878**'},{category:"Media - Photo",title:"Readarr LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/Readarr/Readarr/develop/Logo/256.png" height="100"/></p>\n \n <h1 align="center" id="heading">Readarr LXC </h1>\n \n [Readarr](https://readarr.com/) is an eBook and audiobook collection manager for Usenet and BitTorrent users.\n \n To create a new Proxmox Radarr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/readarr-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **Readarr Interface: IP:8787**'},{category:"Media - Photo",title:"Sonarr LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/Sonarr/Sonarr/develop/Logo/256.png" height="100"/></p>\n \n <h1 align="center" id="heading">Sonarr LXC </h1>\n \n [Sonarr](https://sonarr.tv/) is a PVR for Usenet and BitTorrent users.\n \n To create a new Proxmox Sonarr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/sonarr-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **Sonarr Interface: IP:8989**'},{category:"Media - Photo",title:"Tdarr LXC",content:'<p align="center"><img src="https://tdarr.io/static/media/logo3.02a3f4a3.png" height="100"/></p>\n \n <h1 align="center" id="heading">Tdarr LXC </h1>\n \n [Tdarr](https://tdarr.io/) is a conditional based transcoding application for automating media library transcode/remux management.\n \n To create a new Proxmox Tdarr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/tdarr-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **Tdarr Interface: IP:8265**'},{category:"Media - Photo",title:"Whisparr LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/Whisparr/Whisparr/develop/Logo/256.png" height="100"/></p>\n \n <h1 align="center" id="heading">Whisparr LXC </h1>\n \n [Whisparr](https://github.com/Whisparr/Whisparr) is an adult movie collection manager for Usenet and BitTorrent users.\n \n To create a new Proxmox Whisparr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/whisparr-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **Whisparr Interface: IP:6969**'},{category:"Ad Blocker - DNS",title:"Pi-hole LXC",content:'<p align="center"><img src="https://github.com/home-assistant/brands/blob/master/core_integrations/pi_hole/icon.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Pi-hole LXC </h1>\n \n [Pi-hole](https://pi-hole.net/) is a Linux network-level advertisement and Internet tracker blocking application which acts as a DNS sinkhole and optionally a DHCP server.\n \n To create a new Proxmox Pi-hole LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/pihole-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n \u26a0\ufe0f **Reboot Pi-hole LXC after install**\n \n **Pi-hole Interface: IP/admin**\n \n \u2699\ufe0f **To set your password:**\n \n ~~~yaml\n pihole -a -p\n ~~~'},{category:"Ad Blocker - DNS",title:"Technitium DNS LXC",content:'<p align="center"><img src="https://avatars.githubusercontent.com/u/12230362?s=100&v=4" height="100"/></p>\n \n <h1 align="center" id="heading"> Technitium DNS LXC </h1>\n An open source authoritative as well as recursive DNS server\n \n To create a new Proxmox Technitium DNS LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Technitium DNS, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/technitiumdns-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n **Technitium DNS Interface: IP:5380**'},{category:"Ad Blocker - DNS",title:"AdGuard Home LXC",content:'<p align="center"><img src="https://github.com/home-assistant/brands/blob/master/core_integrations/adguard/icon.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> AdGuard Home LXC </h1>\n \n To create a new Proxmox AdGuard Home LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Manually Update AdGuard Home, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/adguard-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n **AdGuard Home Setup Interface: IP:3000 (After Setup use only IP)**\n \n <sub>(For the Home Assistant Integration, use port <code class="highlighter-rouge">80</code> not <code class="highlighter-rouge">3000</code>)</sub>'},{category:"Ad Blocker - DNS",title:"Blocky LXC",content:'<p align="center"><img src="https://github.com/0xERR0R/blocky/blob/master/docs/blocky.svg?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Blocky LXC </h1>\n \n [Blocky](https://0xerr0r.github.io/blocky/) is a DNS proxy and ad-blocker for the local network written in Go. \ud83d\udea8 For Advanced Users. No UI.\n \n To create a new Proxmox Blocky LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/blocky-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n \n \u2699\ufe0f **Blocky Config Path**\n \n ~~~yaml\n /opt/blocky/config.yml\n ~~~'},{category:"Document - Notes",title:"Paperless-ngx LXC",content:'<p align="center"><img src="https://github.com/paperless-ngx/paperless-ngx/blob/main/resources/logo/web/svg/square.svg?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Paperless-ngx LXC </h1>\n \n [Paperless-ngx](https://paperless-ngx.readthedocs.io/en/latest/#) is a document management system that transforms your physical documents into a searchable online archive so you can keep, well, less paper.\n \n To create a new Proxmox Paperless-ngx LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Paperless-ngx or Show Paperless-ngx Credentials, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/paperless-ngx-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2048MiB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **Paperless-ngx Interface: IP:8000**'},{category:"Document - Notes",title:"Trilium LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/zadam/trilium/master/images/app-icons/png/128x128.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Trilium LXC </h1>\n \n [Trilium](https://github.com/zadam/trilium#trilium-notes) is a hierarchical note taking application with focus on building large personal knowledge bases.\n \n To create a new Proxmox Trilium LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Trilium, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/trilium-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n **Trilium Interface: IP:8080**'},{category:"Document - Notes",title:"Wiki.js LXC",content:'<p align="center"><img src="https://static.requarks.io/logo/wikijs-butterfly.svg?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Wiki.js LXC </h1>\n \n [Wiki.js](https://js.wiki/) is a modern, lightweight and powerful wiki app built on NodeJS. \n \n To create a new Proxmox Wiki.js LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Wiki.js, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/wikijs-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n **Wiki.js Interface: IP:3000**'},{category:"Document - Notes",title:"NocoDB LXC",content:'<p align="center"><img src="https://github.com/tteck/Proxmox/blob/main/misc/images/nocodb.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> NocoDB LXC </h1>\n \n [NocoDB](https://www.nocodb.com/) is an open source #NoCode platform that turns any database into a smart spreadsheet. Airtable Alternative.\n \n To create a new Proxmox NocoDB LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update NocoDB, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/nocodb-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 1vCPU \u26a1</h3>\n \n **NocoDB Interface: IP:8080/dashboard**'},{category:"Document - Notes",title:"Kavita LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/Kareadita/Kavita/develop/Logo/kavita.svg" height="100"/></p>\n \n <h1 align="center" id="Kavita"> Kavita LXC </h1>\n \n [Kavita](https://www.kavitareader.com/) is a fast, feature rich, cross platform reading server. Built with a focus for manga, and the goal of being a full solution for all your reading needs.\n \n To create a new Proxmox Kavita LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/kavita-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **Kavita Interface: IP:5000**'},{category:"Dashboards",title:"Heimdall Dashboard LXC",content:'<p align="center"><img src="https://github.com/tteck/Proxmox/blob/main/misc/images/heimdall.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Heimdall Dashboard LXC </h1>\n \n [Heimdall Application Dashboard](https://camo.githubusercontent.com/bcfd4f74c93b25bea7b14eacbafd649206bf754a3d4b596329968f0ee569cf3c/68747470733a2f2f692e696d6775722e636f6d2f4d72433451704e2e676966) is a dashboard for all your web applications. It doesn\'t need to be limited to applications though, you can add links to anything you like.\n \n To create a new Proxmox Heimdall Dashboard LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Heimdall Dashboard, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/heimdalldashboard-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n **Heimdall Dashboard Interface: IP:7990**'},{category:"Dashboards",title:"Homepage LXC",content:'<p align="center"><img src="https://github.com/benphelps/homepage/raw/main/images/banner_light%402x.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Homepage LXC </h1>\n \n [Homepage](https://github.com/benphelps/homepage) is a self-hosted dashboard.\n \n To create a new Proxmox Homepage LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Homepage, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/homepage-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 3GB Storage - 2vCPU \u26a1</h3>\n \n [Configuration](https://github.com/benphelps/homepage/wiki) (bookmarks.yaml, services.yaml, widgets.yaml) path: <code class="highlighter-rouge">/opt/homepage/config/</code>\n \n **Homepage Interface: IP:3000**'},{category:"Dashboards",title:"Homer LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/bastienwirtz/homer/main/public/assets/icons/logo.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> Homer LXC </h1>\n \n [Homer](https://github.com/bastienwirtz/homer#---------homer) A dead simple static HOMepage for your servER to keep your services on hand, from a simple yaml configuration file.\n \n To create a new Proxmox Homer LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Homer, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/homer-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n\n **Homer Interface: IP:8010**\n \n \u2699\ufe0f **Config Path**\n \n ~~~yaml\n /opt/homer/assets/config.yml\n ~~~'},{category:"Dashboards",title:"Dashy LXC",content:'<p align="center"><img src="https://github.com/Lissy93/dashy/raw/master/public/web-icons/dashy-logo.png" height="100"/></p>\n \n <h1 align="center" id="heading"> Dashy LXC </h1>\n \n Dashy helps you organize your self-hosted services by making them accessible from a single place\n \n To create a new Proxmox Dashy LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Dashy, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/dashy-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 3GB Storage - 2vCPU \u26a1</h3>\n \n **Dashy Interface: IP:4000**\n \n After getting everything setup the way you want in interactive mode and saved to disk, you have to go into update configuration and rebuild application.'},{category:"File - Code",title:"File Browser",content:'<p align="center"><img src="https://github.com/tteck/Proxmox/blob/main/misc/images/filebrowser.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> File Browser </h1>\n\n [File Browser](https://filebrowser.org/features) is a create-your-own-cloud-kind of software where you can install it on a server, direct it to a path and then access your files through a nice web interface. Many available features!\n \n To Install File Browser, \u26a0\ufe0f run the command below in the LXC console.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/filebrowser.sh)"\n ~~~\n \n **File Browser Interface: IP:8080**\n \n \u2699\ufe0f **Initial Login**\n \n **username** <code class="highlighter-rouge">admin</code>\n\n **password** <code class="highlighter-rouge">changeme</code>\n \n \u2699\ufe0f **To Update File Browser**\n \n ~~~yaml\n curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash\n ~~~'},{category:"File - Code",title:"VS Code Server",content:'<p align="center"><img src="https://user-images.githubusercontent.com/674621/71187801-14e60a80-2280-11ea-94c9-e56576f76baf.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> VS Code Server </h1>\n\n [VS Code Server](https://code.visualstudio.com/docs/remote/vscode-server) is a service you can run on a remote development machine, like your desktop PC or a virtual machine (VM). It allows you to securely connect to that remote machine from anywhere through a vscode.dev URL, without the requirement of SSH.\n \n To Install VS Code Server, \u26a0\ufe0f run the command below in the <b>LXC console</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/code-server.sh)"\n ~~~\n \n **VS Code Server Interface: IP:8680**'},{category:"File - Code",title:"Deluge LXC",content:'<p align="center"><img src="https://dev.deluge-torrent.org/chrome/common/deluge_logo.png" height="100"/></p>\n \n <h1 align="center" id="heading"> Deluge LXC </h1>\n\n [Deluge](https://www.deluge-torrent.org/) is a lightweight, Free Software, cross-platform BitTorrent client.\n \n To create a new Proxmox Deluge LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/deluge-v5.sh)"\n ~~~\n \n \u2699\ufe0f **Initial Login**\n\n **password** <code class="highlighter-rouge">deluge</code>\n\n **Deluge Interface: IP:8112**'},{category:"File - Code",title:"Autobrr LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/autobrr/autobrr/master/.github/images/logo.png" height="100"/></p>\n \n <h1 align="center" id="heading"> Autobrr LXC </h1>\n\n [Autobrr](https://autobrr.com/) is the modern download automation tool for torrents.\n \n To create a new Proxmox Autobrr LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Autobrr, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/autobrr-v5.sh)"\n ~~~\n \n **Autobrr Interface: IP:7474**'},{category:"File - Code",title:"SABnzbd LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/sabnzbd/sabnzbd/develop/icons/logo-arrow.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> SABnzbd LXC </h1>\n\n [SABnzbd](https://sabnzbd.org/) is a free and easy binary newsreader.\n \n To create a new Proxmox SABnzbd LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/sabnzbd-v5.sh)"\n ~~~\n \n **SABnzbd Interface: IP:7777**'},{category:"File - Code",title:"Webmin System Administration",content:'<p align="center"><img src="https://github.com/webmin/webmin/blob/master/images/webmin-blue.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Webmin System Administration </h1>\n\n If you prefer to manage all aspects of your Proxmox LXC from a graphical interface instead of the command line interface, Webmin might be right for you.\n Benefits include automatic daily security updates, backup and restore, file manager with editor, web control panel, and preconfigured system monitoring with optional email alerts.\n \n To Install Webmin System Administration, \u26a0\ufe0f run the command below in the <b>LXC console</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/webmin.sh)"\n ~~~\n \n **Webmin Interface: (https)IP:10000**\n \n \u2699\ufe0f **Initial Login**\n \n **username** <code class="highlighter-rouge">root</code>\n \n **password** <code class="highlighter-rouge">root</code>\n \n \u2699\ufe0f **To Update Webmin**\n \n <code class="highlighter-rouge">Update from the Webmin UI</code>\n \n \u2699\ufe0f **To Uninstall Webmin**\n \n ~~~yaml\n bash /etc/webmin/uninstall.sh\n ~~~'},{category:"File - Code",title:"Syncthing LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/syncthing/syncthing/6afaa9f20c8eb9c7af5abbe2f2d90fa2571aa7ad/assets/logo-only.svg?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Syncthing LXC </h1>\n \n [Syncthing](https://syncthing.net/) is a continuous file synchronization program. It synchronizes files between two or more computers.\n \n To create a new Proxmox Syncthing LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/syncthing-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **Syncthing Interface: IP:8384**'},{category:"File - Code",title:"Daemon Sync Server LXC",content:'<p align="center"><img src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fimg.informer.com%2Ficons_mac%2Fpng%2F128%2F350%2F350335.png&f=1&nofb=1" height="100"/></p>\n \n <h1 align="center" id="heading"> Daemon Sync Server LXC </h1>\n \n Sync files from app to server, share photos & videos, back up your data and stay secure inside local network.\n \n To create a new Proxmox Daemon Sync Server LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/daemonsync-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 8GB Storage - 1vCPU \u26a1</h3>\n \n **Daemon Sync Server Interface: IP:8084**\n \n Search: <code class="highlighter-rouge">DAEMON Sync</code> in your favorite app store'},{category:"Miscellaneous",title:"Vaultwarden LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/dani-garcia/vaultwarden/main/resources/vaultwarden-icon-white.svg" width="100" height="100"/></p>\n \n <h1 align="center" id="heading"> Vaultwarden LXC </h1>\n \n Alternative implementation of the Bitwarden server API written in Rust and compatible with upstream [Bitwarden clients](https://bitwarden.com/download/), perfect for self-hosted deployment where running the official resource-heavy service might not be ideal.\n \n To create a new Proxmox Vaultwarden LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Vaultwarden, Web-Vault or Show Admin Token, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/vaultwarden-v5.sh)"\n ~~~\n \u26a0\ufe0f Vaultwarden needs to be behind a proxy (Nginx Proxy Manager) to obtain HTTPS and to allow clients to connect.\n \n The script builds from source, which takes time and resources. After the build, the script will automatically set resources to Normal Settings. \n \n <h3 align="center" id="heading">\u26a1 Build Settings: 4GB RAM - 6GB Storage - 4vCPU \u26a1</h3>\n <h3 align="center" id="heading">\u26a1 Normal Settings: 512Mib RAM - 6GB Storage - 1vCPU \u26a1</h3>\n \n **Vaultwarden Interface: IP:8000**\n \n **Vaultwarden Admin Interface: IP:8000/admin**'},{category:"Miscellaneous",title:"grocy LXC",content:'<p align="center"><img src="https://grocy.info/img/grocy_logo.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> grocy LXC </h1>\n \n [grocy](https://grocy.info/) is a web-based self-hosted groceries & household management solution for your home.\n \n To create a new Proxmox grocy LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update grocy, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/grocy-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n **grocy Interface: IP**\n \n \u2699\ufe0f **Initial Login**\n \n **username** <code class="highlighter-rouge">admin</code>\n \n **password** <code class="highlighter-rouge">admin</code>'},{category:"Miscellaneous",title:"MagicMirror Server LXC",content:'<p align="center"><img src="https://github.com/MichMich/MagicMirror/raw/master/.github/header.png" height="100"/></p>\n \n <h1 align="center" id="heading"> MagicMirror Server LXC </h1>\n \n [MagicMirror\xb2](https://docs.magicmirror.builders/) is an open source modular smart mirror platform.\n \n To create a new MagicMirror Server LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update MagicMirror, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/magicmirror-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 3GB Storage - 1vCPU \u26a1</h3>\n \n **MagicMirror Interface: IP:8080**\n \n \u2699\ufe0f **[Configuration](https://docs.magicmirror.builders/configuration/introduction.html#configuring-your-magicmirror)**\n ~~~yaml\n /opt/magicmirror/config/config.js\n ~~~'},{category:"Miscellaneous",title:"Whoogle LXC",content:'<p align="center"><img src="https://github.com/tteck/Proxmox/blob/main/misc/images/whoogle.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Whoogle LXC </h1>\n \n Get Google search results, but without any ads, javascript, AMP links, cookies, or IP address tracking.\n \n To create a new Proxmox Whoogle LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Whoogle, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/whoogle-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n **Whoogle Interface: IP:5000**'},{category:"Miscellaneous",title:"Shinobi NVR LXC",content:'<p align="center"><img src="https://gitlab.com/uploads/-/system/project/avatar/6947723/mstile-150x150.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Shinobi NVR LXC </h1>\n \n To create a new Proxmox Shinobi NVR LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Shinobi, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/shinobi-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **Shinobi Interface: IP:8080**\n\n **Shinobi Admin Interface: IP:8080/super**\n \n \u2699\ufe0f **Initial Admin Login**\n \n **username** <code class="highlighter-rouge">admin@shinobi.video</code>\n \n **password** <code class="highlighter-rouge">admin</code>'},{category:"Miscellaneous",title:"MotionEye NVR LXC",content:'<p align="center"><img src="https://github.com/home-assistant/brands/blob/master/core_integrations/motioneye/icon.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> MotionEye NVR LXC </h1>\n \n To create a new Proxmox MotionEye NVR LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update MotionEye, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/motioneye-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **MotionEye Interface: IP:8765**\n \n \u2699\ufe0f **Initial Login**\n \n **username** <code class="highlighter-rouge">admin</code>\n \n **password** <code class="highlighter-rouge"> </code>'},{category:"Miscellaneous",title:"Hyperion LXC",content:'<p align="center"><img src="https://github.com/hyperion-project/hyperion.ng/raw/master/doc/logo_dark.png?raw=true" height="100"/></p>\n\n<h1 align="center" id="heading"> Hyperion LXC </h1>\n\nHyperion is an opensource Ambient Lighting implementation. It supports many LED devices and video grabbers.\n\nTo create a new Proxmox Hyperion LXC, run the command below in the <b>Proxmox Shell</b>.\n\n~~~bash\nbash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/hyperion-v5.sh)"\n~~~\n\n<h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n\n**Hyperion Interface: IP:8090**'}]};function b(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function E(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function y(e,t,n){return t&&E(e.prototype,t),n&&E(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}var T=n(5586);function S(e,t){return S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},S(e,t)}function v(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&S(e,t)}function A(e){return A=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},A(e)}function _(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function k(e){return k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},k(e)}function C(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function w(e,t){if(t&&("object"===k(t)||"function"===typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return C(e)}function N(e){var t=_();return function(){var n,r=A(e);if(t){var a=A(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return w(this,n)}}function I(e,t,n){return I=_()?Reflect.construct.bind():function(e,t,n){var r=[null];r.push.apply(r,t);var a=new(Function.bind.apply(e,r));return n&&S(a,n.prototype),a},I.apply(null,arguments)}function R(e){var t="function"===typeof Map?new Map:void 0;return R=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!==typeof e)throw new TypeError("Super expression must either be null or a function");if("undefined"!==typeof t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return I(e,arguments,A(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),S(r,e)},R(e)}function x(e){return e&&"object"===typeof e?"position"in e||"type"in e?L(e.position):"start"in e||"end"in e?L(e):"line"in e||"column"in e?O(e):"":""}function O(e){return P(e&&e.line)+":"+P(e&&e.column)}function L(e){return O(e&&e.start)+"-"+O(e&&e.end)}function P(e){return e&&"number"===typeof e?e:1}var D=function(e){v(n,e);var t=N(n);function n(e,r,a){var i;b(this,n);var o=[null,null],s={start:{line:null,column:null},end:{line:null,column:null}};if(i=t.call(this),"string"===typeof r&&(a=r,r=void 0),"string"===typeof a){var l=a.indexOf(":");-1===l?o[1]=a:(o[0]=a.slice(0,l),o[1]=a.slice(l+1))}return r&&("type"in r||"position"in r?r.position&&(s=r.position):"start"in r||"end"in r?s=r:("line"in r||"column"in r)&&(s.start=r)),i.name=x(r)||"1:1",i.message="object"===typeof e?e.message:e,i.stack="object"===typeof e?e.stack:"",i.reason=i.message,i.fatal,i.line=s.start.line,i.column=s.start.column,i.source=o[0],i.ruleId=o[1],i.position=s,i.actual,i.expected,i.file,i.url,i.note,i}return y(n)}(R(Error));D.prototype.file="",D.prototype.name="",D.prototype.reason="",D.prototype.message="",D.prototype.stack="",D.prototype.fatal=null,D.prototype.column=null,D.prototype.line=null,D.prototype.source=null,D.prototype.ruleId=null,D.prototype.position=null;var M={basename:function(e,t){if(void 0!==t&&"string"!==typeof t)throw new TypeError('"ext" argument must be a string');U(e);var n,r=0,a=-1,i=e.length;if(void 0===t||0===t.length||t.length>e.length){for(;i--;)if(47===e.charCodeAt(i)){if(n){r=i+1;break}}else a<0&&(n=!0,a=i+1);return a<0?"":e.slice(r,a)}if(t===e)return"";var o=-1,s=t.length-1;for(;i--;)if(47===e.charCodeAt(i)){if(n){r=i+1;break}}else o<0&&(n=!0,o=i+1),s>-1&&(e.charCodeAt(i)===t.charCodeAt(s--)?s<0&&(a=i):(s=-1,a=o));r===a?a=o:a<0&&(a=e.length);return e.slice(r,a)},dirname:function(e){if(U(e),0===e.length)return".";var t,n=-1,r=e.length;for(;--r;)if(47===e.charCodeAt(r)){if(t){n=r;break}}else t||(t=!0);return n<0?47===e.charCodeAt(0)?"/":".":1===n&&47===e.charCodeAt(0)?"//":e.slice(0,n)},extname:function(e){U(e);var t,n=e.length,r=-1,a=0,i=-1,o=0;for(;n--;){var s=e.charCodeAt(n);if(47!==s)r<0&&(t=!0,r=n+1),46===s?i<0?i=n:1!==o&&(o=1):i>-1&&(o=-1);else if(t){a=n+1;break}}if(i<0||r<0||0===o||1===o&&i===r-1&&i===a+1)return"";return e.slice(i,r)},join:function(){for(var e,t=-1,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];for(;++t<r.length;)U(r[t]),r[t]&&(e=void 0===e?r[t]:e+"/"+r[t]);return void 0===e?".":F(e)},sep:"/"};function F(e){U(e);var t=47===e.charCodeAt(0),n=function(e,t){var n,r,a="",i=0,o=-1,s=0,l=-1;for(;++l<=e.length;){if(l<e.length)n=e.charCodeAt(l);else{if(47===n)break;n=47}if(47===n){if(o===l-1||1===s);else if(o!==l-1&&2===s){if(a.length<2||2!==i||46!==a.charCodeAt(a.length-1)||46!==a.charCodeAt(a.length-2))if(a.length>2){if((r=a.lastIndexOf("/"))!==a.length-1){r<0?(a="",i=0):i=(a=a.slice(0,r)).length-1-a.lastIndexOf("/"),o=l,s=0;continue}}else if(a.length>0){a="",i=0,o=l,s=0;continue}t&&(a=a.length>0?a+"/..":"..",i=2)}else a.length>0?a+="/"+e.slice(o+1,l):a=e.slice(o+1,l),i=l-o-1;o=l,s=0}else 46===n&&s>-1?s++:s=-1}return a}(e,!t);return 0!==n.length||t||(n="."),n.length>0&&47===e.charCodeAt(e.length-1)&&(n+="/"),t?"/"+n:n}function U(e){if("string"!==typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}var B={cwd:function(){return"/"}};function H(e){return null!==e&&"object"===typeof e&&e.href&&e.origin}function G(e){if("string"===typeof e)e=new URL(e);else if(!H(e)){var t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if("file:"!==e.protocol){var n=new TypeError("The URL must be of scheme file");throw n.code="ERR_INVALID_URL_SCHEME",n}return function(e){if(""!==e.hostname){var t=new TypeError('File URL host must be "localhost" or empty on darwin');throw t.code="ERR_INVALID_FILE_URL_HOST",t}var n=e.pathname,r=-1;for(;++r<n.length;)if(37===n.charCodeAt(r)&&50===n.charCodeAt(r+1)){var a=n.charCodeAt(r+2);if(70===a||102===a){var i=new TypeError("File URL path must not include encoded / characters");throw i.code="ERR_INVALID_FILE_URL_PATH",i}}return decodeURIComponent(n)}(e)}var z=["history","path","basename","stem","extname","dirname"],$=function(){function e(t){var n;b(this,e),n=t?"string"===typeof t||T(t)?{value:t}:H(t)?{path:t}:t:{},this.data={},this.messages=[],this.history=[],this.cwd=B.cwd(),this.value,this.stored,this.result,this.map;for(var r,a=-1;++a<z.length;){var i=z[a];i in n&&void 0!==n[i]&&(this[i]="history"===i?p(n[i]):n[i])}for(r in n)z.includes(r)||(this[r]=n[r])}return y(e,[{key:"path",get:function(){return this.history[this.history.length-1]},set:function(e){H(e)&&(e=G(e)),V(e,"path"),this.path!==e&&this.history.push(e)}},{key:"dirname",get:function(){return"string"===typeof this.path?M.dirname(this.path):void 0},set:function(e){W(this.basename,"dirname"),this.path=M.join(e||"",this.basename)}},{key:"basename",get:function(){return"string"===typeof this.path?M.basename(this.path):void 0},set:function(e){V(e,"basename"),j(e,"basename"),this.path=M.join(this.dirname||"",e)}},{key:"extname",get:function(){return"string"===typeof this.path?M.extname(this.path):void 0},set:function(e){if(j(e,"extname"),W(this.dirname,"extname"),e){if(46!==e.charCodeAt(0))throw new Error("`extname` must start with `.`");if(e.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=M.join(this.dirname,this.stem+(e||""))}},{key:"stem",get:function(){return"string"===typeof this.path?M.basename(this.path,this.extname):void 0},set:function(e){V(e,"stem"),j(e,"stem"),this.path=M.join(this.dirname||"",e+(this.extname||""))}},{key:"toString",value:function(e){return(this.value||"").toString(e)}},{key:"message",value:function(e,t,n){var r=new D(e,t,n);return this.path&&(r.name=this.path+":"+r.name,r.file=this.path),r.fatal=!1,this.messages.push(r),r}},{key:"info",value:function(e,t,n){var r=this.message(e,t,n);return r.fatal=null,r}},{key:"fail",value:function(e,t,n){var r=this.message(e,t,n);throw r.fatal=!0,r}}]),e}();function j(e,t){if(e&&e.includes(M.sep))throw new Error("`"+t+"` cannot be a path: did not expect `"+M.sep+"`")}function V(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function W(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}function K(e){return m(e)||u(e)||d(e)||f()}function q(e){if(e)throw e}var Y=n(1132);function X(e){if("object"!==typeof e||null===e)return!1;var t=Object.getPrototypeOf(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function Z(e,t){var n;return function(){for(var t=arguments.length,i=new Array(t),o=0;o<t;o++)i[o]=arguments[o];var s,l=e.length>i.length;l&&i.push(r);try{s=e.apply(this,i)}catch(u){var c=u;if(l&&n)throw c;return r(c)}l||(s instanceof Promise?s.then(a,r):s instanceof Error?r(s):a(s))};function r(e){if(!n){n=!0;for(var r=arguments.length,a=new Array(r>1?r-1:0),i=1;i<r;i++)a[i-1]=arguments[i];t.apply(void 0,[e].concat(a))}}function a(e){r(null,e)}}var Q=function e(){var t,n=function(){var e=[],t={run:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];var a=-1,i=n.pop();if("function"!==typeof i)throw new TypeError("Expected function as last argument, not "+i);function o(t){var r=e[++a],s=-1;if(t)i(t);else{for(var l=arguments.length,c=new Array(l>1?l-1:0),u=1;u<l;u++)c[u-1]=arguments[u];for(;++s<n.length;)null!==c[s]&&void 0!==c[s]||(c[s]=n[s]);n=c,r?Z(r,o).apply(void 0,c):i.apply(void 0,[null].concat(c))}}o.apply(void 0,[null].concat(p(n)))},use:function(n){if("function"!==typeof n)throw new TypeError("Expected `middelware` to be a function, not "+n);return e.push(n),t}};return t}(),r=[],a={},i=-1;return o.data=function(e,n){if("string"===typeof e)return 2===arguments.length?(re("data",t),a[e]=n,o):J.call(a,e)&&a[e]||null;if(e)return re("data",t),a=e,o;return a},o.Parser=void 0,o.Compiler=void 0,o.freeze=function(){if(t)return o;for(;++i<r.length;){var e=K(r[i]),a=e[0],s=e.slice(1);if(!1!==s[0]){!0===s[0]&&(s[0]=void 0);var l=a.call.apply(a,[o].concat(p(s)));"function"===typeof l&&n.use(l)}}return t=!0,i=Number.POSITIVE_INFINITY,o},o.attachers=r,o.use=function(e){for(var n=arguments.length,i=new Array(n>1?n-1:0),s=1;s<n;s++)i[s-1]=arguments[s];var l;if(re("use",t),null===e||void 0===e);else if("function"===typeof e)m.apply(void 0,[e].concat(i));else{if("object"!==typeof e)throw new TypeError("Expected usable value, not `"+e+"`");Array.isArray(e)?d(e):u(e)}l&&(a.settings=Object.assign(a.settings||{},l));return o;function c(e){if("function"===typeof e)m(e);else{if("object"!==typeof e)throw new TypeError("Expected usable value, not `"+e+"`");if(Array.isArray(e)){var t=K(e),n=t[0],r=t.slice(1);m.apply(void 0,[n].concat(p(r)))}else u(e)}}function u(e){d(e.plugins),e.settings&&(l=Object.assign(l||{},e.settings))}function d(e){var t=-1;if(null===e||void 0===e);else{if(!Array.isArray(e))throw new TypeError("Expected a list of plugins, not `"+e+"`");for(;++t<e.length;){c(e[t])}}}function m(e,t){for(var n,a=-1;++a<r.length;)if(r[a][0]===e){n=r[a];break}n?(X(n[1])&&X(t)&&(t=Y(!0,n[1],t)),n[1]=t):r.push(Array.prototype.slice.call(arguments))}},o.parse=function(e){o.freeze();var t=oe(e),n=o.Parser;if(te("parse",n),ee(n,"parse"))return new n(String(t),t).parse();return n(String(t),t)},o.stringify=function(e,t){o.freeze();var n=oe(t),r=o.Compiler;if(ne("stringify",r),ae(e),ee(r,"compile"))return new r(e,n).compile();return r(e,n)},o.run=function(e,t,r){ae(e),o.freeze(),r||"function"!==typeof t||(r=t,t=void 0);if(!r)return new Promise(a);function a(a,i){function o(t,n,o){n=n||e,t?i(t):a?a(n):r(null,n,o)}n.run(e,oe(t),o)}a(null,r)},o.runSync=function(e,t){var n,r;return o.run(e,t,a),ie("runSync","run",r),n;function a(e,t){q(e),n=t,r=!0}},o.process=function(e,t){if(o.freeze(),te("process",o.Parser),ne("process",o.Compiler),!t)return new Promise(n);function n(n,r){var a=oe(e);function i(e,a){e||!a?r(e):n?n(a):t(null,a)}o.run(o.parse(a),a,(function(e,t,n){if(!e&&t&&n){var r=o.stringify(t,n);void 0===r||null===r||("string"===typeof(a=r)||T(a)?n.value=r:n.result=r),i(e,n)}else i(e);var a}))}n(null,t)},o.processSync=function(e){var t;o.freeze(),te("processSync",o.Parser),ne("processSync",o.Compiler);var n=oe(e);return o.process(n,r),ie("processSync","process",t),n;function r(e){t=!0,q(e)}},o;function o(){for(var t=e(),n=-1;++n<r.length;)t.use.apply(t,p(r[n]));return t.data(Y(!0,{},a)),t}}().freeze(),J={}.hasOwnProperty;function ee(e,t){return"function"===typeof e&&e.prototype&&(function(e){var t;for(t in e)if(J.call(e,t))return!0;return!1}(e.prototype)||t in e.prototype)}function te(e,t){if("function"!==typeof t)throw new TypeError("Cannot `"+e+"` without `Parser`")}function ne(e,t){if("function"!==typeof t)throw new TypeError("Cannot `"+e+"` without `Compiler`")}function re(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function ae(e){if(!X(e)||"string"!==typeof e.type)throw new TypeError("Expected node, got `"+e+"`")}function ie(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function oe(e){return function(e){return Boolean(e&&"object"===typeof e&&"message"in e&&"messages"in e)}(e)?e:new $(e)}function se(e,t){var n=(t||{}).includeImageAlt;return le(e,void 0===n||n)}function le(e,t){return e&&"object"===typeof e&&(e.value||(t?e.alt:"")||"children"in e&&ce(e.children,t)||Array.isArray(e)&&ce(e,t))||""}function ce(e,t){for(var n=[],r=-1;++r<e.length;)n[r]=le(e[r],t);return n.join("")}function ue(e,t,n,r){var a,i=e.length,o=0;if(t=t<0?-t>i?0:i+t:t>i?i:t,n=n>0?n:0,r.length<1e4)(a=Array.from(r)).unshift(t,n),[].splice.apply(e,a);else for(n&&[].splice.apply(e,[t,n]);o<r.length;)(a=r.slice(o,o+1e4)).unshift(t,0),[].splice.apply(e,a),o+=1e4,t+=1e4}function de(e,t){return e.length>0?(ue(e,e.length,0,t),e):t}var pe={}.hasOwnProperty;function me(e){for(var t={},n=-1;++n<e.length;)fe(t,e[n]);return t}function fe(e,t){var n;for(n in t){var r=(pe.call(e,n)?e[n]:void 0)||(e[n]={}),a=t[n],i=void 0;for(i in a){pe.call(r,i)||(r[i]=[]);var o=a[i];ge(r[i],Array.isArray(o)?o:o?[o]:[])}}}function ge(e,t){for(var n=-1,r=[];++n<t.length;)("after"===t[n].add?e:r).push(t[n]);ue(e,0,0,r)}var he=Ne(/[A-Za-z]/),be=Ne(/\d/),Ee=Ne(/[\dA-Fa-f]/),ye=Ne(/[\dA-Za-z]/),Te=Ne(/[!-/:-@[-`{-~]/),Se=Ne(/[#-'*+\--9=?A-Z^-~]/);function ve(e){return null!==e&&(e<32||127===e)}function Ae(e){return null!==e&&(e<0||32===e)}function _e(e){return null!==e&&e<-2}function ke(e){return-2===e||-1===e||32===e}var Ce=Ne(/\s/),we=Ne(/[!-/:-@[-`{-~\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/);function Ne(e){return function(t){return null!==t&&e.test(String.fromCharCode(t))}}function Ie(e,t,n,r){var a=r?r-1:Number.POSITIVE_INFINITY,i=0;return function(r){if(ke(r))return e.enter(n),o(r);return t(r)};function o(r){return ke(r)&&i++<a?(e.consume(r),o):(e.exit(n),t(r))}}var Re={tokenize:function(e){var t,n=e.attempt(this.parser.constructs.contentInitial,(function(t){if(null===t)return void e.consume(t);return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),Ie(e,n,"linePrefix")}),(function(t){return e.enter("paragraph"),r(t)}));return n;function r(n){var r=e.enter("chunkText",{contentType:"text",previous:t});return t&&(t.next=r),t=r,a(n)}function a(t){return null===t?(e.exit("chunkText"),e.exit("paragraph"),void e.consume(t)):_e(t)?(e.consume(t),e.exit("chunkText"),r):(e.consume(t),a)}}};var xe={tokenize:function(e){var t,n,r,a=this,i=[],o=0;return s;function s(t){if(o<i.length){var n=i[o];return a.containerState=n[1],e.attempt(n[0].continuation,l,c)(t)}return c(t)}function l(e){if(o++,a.containerState._closeFlow){a.containerState._closeFlow=void 0,t&&E();for(var n,r=a.events.length,i=r;i--;)if("exit"===a.events[i][0]&&"chunkFlow"===a.events[i][1].type){n=a.events[i][1].end;break}b(o);for(var l=r;l<a.events.length;)a.events[l][1].end=Object.assign({},n),l++;return ue(a.events,i+1,0,a.events.slice(r)),a.events.length=l,c(e)}return s(e)}function c(n){if(o===i.length){if(!t)return p(n);if(t.currentConstruct&&t.currentConstruct.concrete)return f(n);a.interrupt=Boolean(t.currentConstruct&&!t._gfmTableDynamicInterruptHack)}return a.containerState={},e.check(Oe,u,d)(n)}function u(e){return t&&E(),b(o),p(e)}function d(e){return a.parser.lazy[a.now().line]=o!==i.length,r=a.now().offset,f(e)}function p(t){return a.containerState={},e.attempt(Oe,m,f)(t)}function m(e){return o++,i.push([a.currentConstruct,a.containerState]),p(e)}function f(r){return null===r?(t&&E(),b(0),void e.consume(r)):(t=t||a.parser.flow(a.now()),e.enter("chunkFlow",{contentType:"flow",previous:n,_tokenizer:t}),g(r))}function g(t){return null===t?(h(e.exit("chunkFlow"),!0),b(0),void e.consume(t)):_e(t)?(e.consume(t),h(e.exit("chunkFlow")),o=0,a.interrupt=void 0,s):(e.consume(t),g)}function h(e,i){var s=a.sliceStream(e);if(i&&s.push(null),e.previous=n,n&&(n.next=e),n=e,t.defineSkip(e.start),t.write(s),a.parser.lazy[e.start.line]){for(var l=t.events.length;l--;)if(t.events[l][1].start.offset<r&&(!t.events[l][1].end||t.events[l][1].end.offset>r))return;for(var c,u,d=a.events.length,p=d;p--;)if("exit"===a.events[p][0]&&"chunkFlow"===a.events[p][1].type){if(c){u=a.events[p][1].end;break}c=!0}for(b(o),l=d;l<a.events.length;)a.events[l][1].end=Object.assign({},u),l++;ue(a.events,p+1,0,a.events.slice(d)),a.events.length=l}}function b(t){for(var n=i.length;n-- >t;){var r=i[n];a.containerState=r[1],r[0].exit.call(a,e)}i.length=t}function E(){t.write([null]),n=void 0,t=void 0,a.containerState._closeFlow=void 0}}},Oe={tokenize:function(e,t,n){return Ie(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}};var Le={tokenize:function(e,t,n){return Ie(e,(function(e){return null===e||_e(e)?t(e):n(e)}),"linePrefix")},partial:!0};function Pe(e){for(var t,n,r,a,i,o,s,l={},c=-1;++c<e.length;){for(;c in l;)c=l[c];if(t=e[c],c&&"chunkFlow"===t[1].type&&"listItemPrefix"===e[c-1][1].type&&((r=0)<(o=t[1]._tokenizer.events).length&&"lineEndingBlank"===o[r][1].type&&(r+=2),r<o.length&&"content"===o[r][1].type))for(;++r<o.length&&"content"!==o[r][1].type;)"chunkText"===o[r][1].type&&(o[r][1]._isInFirstContentOfListItem=!0,r++);if("enter"===t[0])t[1].contentType&&(Object.assign(l,De(e,c)),c=l[c],s=!0);else if(t[1]._container){for(r=c,n=void 0;r--&&("lineEnding"===(a=e[r])[1].type||"lineEndingBlank"===a[1].type);)"enter"===a[0]&&(n&&(e[n][1].type="lineEndingBlank"),a[1].type="lineEnding",n=r);n&&(t[1].end=Object.assign({},e[n][1].start),(i=e.slice(n,c)).unshift(t),ue(e,n,c-n+1,i))}}return!s}function De(e,t){for(var n,r,a=e[t][1],i=e[t][2],o=t-1,s=[],l=a._tokenizer||i.parser[a.contentType](a.start),c=l.events,u=[],d={},p=-1,m=a,f=0,g=0,h=[g];m;){for(;e[++o][1]!==m;);s.push(o),m._tokenizer||(n=i.sliceStream(m),m.next||n.push(null),r&&l.defineSkip(m.start),m._isInFirstContentOfListItem&&(l._gfmTasklistFirstContentOfListItem=!0),l.write(n),m._isInFirstContentOfListItem&&(l._gfmTasklistFirstContentOfListItem=void 0)),r=m,m=m.next}for(m=a;++p<c.length;)"exit"===c[p][0]&&"enter"===c[p-1][0]&&c[p][1].type===c[p-1][1].type&&c[p][1].start.line!==c[p][1].end.line&&(g=p+1,h.push(g),m._tokenizer=void 0,m.previous=void 0,m=m.next);for(l.events=[],m?(m._tokenizer=void 0,m.previous=void 0):h.pop(),p=h.length;p--;){var b=c.slice(h[p],h[p+1]),E=s.pop();u.unshift([E,E+b.length-1]),ue(e,E,2,b)}for(p=-1;++p<u.length;)d[f+u[p][0]]=f+u[p][1],f+=u[p][1]-u[p][0]-1;return d}var Me={tokenize:function(e,t){var n;return function(t){return e.enter("content"),n=e.enter("chunkContent",{contentType:"content"}),r(t)};function r(t){return null===t?a(t):_e(t)?e.check(Fe,i,a)(t):(e.consume(t),r)}function a(n){return e.exit("chunkContent"),e.exit("content"),t(n)}function i(t){return e.consume(t),e.exit("chunkContent"),n.next=e.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,r}},resolve:function(e){return Pe(e),e}},Fe={tokenize:function(e,t,n){var r=this;return function(t){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),Ie(e,a,"linePrefix")};function a(a){if(null===a||_e(a))return n(a);var i=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&i&&"linePrefix"===i[1].type&&i[2].sliceSerialize(i[1],!0).length>=4?t(a):e.interrupt(r.parser.constructs.flow,n,t)(a)}},partial:!0};var Ue={tokenize:function(e){var t=this,n=e.attempt(Le,(function(r){if(null===r)return void e.consume(r);return e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}),e.attempt(this.parser.constructs.flowInitial,r,Ie(e,e.attempt(this.parser.constructs.flow,r,e.attempt(Me,r)),"linePrefix")));return n;function r(r){if(null!==r)return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),t.currentConstruct=void 0,n;e.consume(r)}}};var Be={resolveAll:$e()},He=ze("string"),Ge=ze("text");function ze(e){return{tokenize:function(t){var n=this,r=this.parser.constructs[e],a=t.attempt(r,i,o);return i;function i(e){return l(e)?a(e):o(e)}function o(e){if(null!==e)return t.enter("data"),t.consume(e),s;t.consume(e)}function s(e){return l(e)?(t.exit("data"),a(e)):(t.consume(e),s)}function l(e){if(null===e)return!0;var t=r[e],a=-1;if(t)for(;++a<t.length;){var i=t[a];if(!i.previous||i.previous.call(n,n.previous))return!0}return!1}},resolveAll:$e("text"===e?je:void 0)}}function $e(e){return function(t,n){var r,a=-1;for(;++a<=t.length;)void 0===r?t[a]&&"data"===t[a][1].type&&(r=a,a++):t[a]&&"data"===t[a][1].type||(a!==r+2&&(t[r][1].end=t[a-1][1].end,t.splice(r+2,a-r-2),a=r+2),r=void 0);return e?e(t,n):t}}function je(e,t){for(var n=0;++n<=e.length;)if((n===e.length||"lineEnding"===e[n][1].type)&&"data"===e[n-1][1].type){for(var r=e[n-1][1],a=t.sliceStream(r),i=a.length,o=-1,s=0,l=void 0;i--;){var c=a[i];if("string"===typeof c){for(o=c.length;32===c.charCodeAt(o-1);)s++,o--;if(o)break;o=-1}else if(-2===c)l=!0,s++;else if(-1!==c){i++;break}}if(s){var u={type:n===e.length||l||s<2?"lineSuffix":"hardBreakTrailing",start:{line:r.end.line,column:r.end.column-s,offset:r.end.offset-s,_index:r.start._index+i,_bufferIndex:i?o:r.start._bufferIndex+o},end:Object.assign({},r.end)};r.end=Object.assign({},u.start),r.start.offset===r.end.offset?Object.assign(r,u):(e.splice(n,0,["enter",u,t],["exit",u,t]),n+=2)}n++}return e}function Ve(e,t,n){for(var r=[],a=-1;++a<e.length;){var i=e[a].resolveAll;i&&!r.includes(i)&&(t=i(t,n),r.push(i))}return t}function We(e,t,n){var r=Object.assign(n?Object.assign({},n):{line:1,column:1,offset:0},{_index:0,_bufferIndex:-1}),a={},i=[],o=[],s=[],l={consume:function(e){_e(e)?(r.line++,r.column=1,r.offset+=-3===e?2:1,y()):-1!==e&&(r.column++,r.offset++);r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===o[r._index].length&&(r._bufferIndex=-1,r._index++));c.previous=e,!0},enter:function(e,t){var n=t||{};return n.type=e,n.start=m(),c.events.push(["enter",n,c]),s.push(n),n},exit:function(e){var t=s.pop();return t.end=m(),c.events.push(["exit",t,c]),t},attempt:b((function(e,t){E(e,t.from)})),check:b(h),interrupt:b(h,{interrupt:!0})},c={previous:null,code:null,containerState:{},events:[],parser:e,sliceStream:d,sliceSerialize:function(e,t){return function(e,t){var n,r=-1,a=[];for(;++r<e.length;){var i=e[r],o=void 0;if("string"===typeof i)o=i;else switch(i){case-5:o="\r";break;case-4:o="\n";break;case-3:o="\r\n";break;case-2:o=t?" ":"\t";break;case-1:if(!t&&n)continue;o=" ";break;default:o=String.fromCharCode(i)}n=-2===i,a.push(o)}return a.join("")}(d(e),t)},now:m,defineSkip:function(e){a[e.line]=e.column,y()},write:function(e){if(o=de(o,e),f(),null!==o[o.length-1])return[];return E(t,0),c.events=Ve(i,c.events,c),c.events}},u=t.tokenize.call(c,l);return t.resolveAll&&i.push(t),c;function d(e){return function(e,t){var n,r=t.start._index,a=t.start._bufferIndex,i=t.end._index,o=t.end._bufferIndex;r===i?n=[e[r].slice(a,o)]:(n=e.slice(r,i),a>-1&&(n[0]=n[0].slice(a)),o>0&&n.push(e[i].slice(0,o)));return n}(o,e)}function m(){return Object.assign({},r)}function f(){for(var e;r._index<o.length;){var t=o[r._index];if("string"===typeof t)for(e=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===e&&r._bufferIndex<t.length;)g(t.charCodeAt(r._bufferIndex));else g(t)}}function g(e){void 0,e,u=u(e)}function h(e,t){t.restore()}function b(e,t){return function(n,a,i){var o,u,d,f;return Array.isArray(n)?g(n):"tokenize"in n?g([n]):function(e){return t;function t(t){var n=null!==t&&e[t],r=null!==t&&e.null;return g([].concat(p(Array.isArray(n)?n:n?[n]:[]),p(Array.isArray(r)?r:r?[r]:[])))(t)}}(n);function g(e){return o=e,u=0,0===e.length?i:h(e[u])}function h(e){return function(n){f=function(){var e=m(),t=c.previous,n=c.currentConstruct,a=c.events.length,i=Array.from(s);return{restore:o,from:a};function o(){r=e,c.previous=t,c.currentConstruct=n,c.events.length=a,s=i,y()}}(),d=e,e.partial||(c.currentConstruct=e);if(e.name&&c.parser.constructs.disable.null.includes(e.name))return E(n);return e.tokenize.call(t?Object.assign(Object.create(c),t):c,l,b,E)(n)}}function b(t){return!0,e(d,f),a}function E(e){return!0,f.restore(),++u<o.length?h(o[u]):i}}}function E(e,t){e.resolveAll&&!i.includes(e)&&i.push(e),e.resolve&&ue(c.events,t,c.events.length-t,e.resolve(c.events.slice(t),c)),e.resolveTo&&(c.events=e.resolveTo(c.events,c))}function y(){r.line in a&&r.column<2&&(r.column=a[r.line],r.offset+=a[r.line]-1)}}var Ke={name:"thematicBreak",tokenize:function(e,t,n){var r,a=0;return function(t){return e.enter("thematicBreak"),r=t,i(t)};function i(s){return s===r?(e.enter("thematicBreakSequence"),o(s)):ke(s)?Ie(e,i,"whitespace")(s):a<3||null!==s&&!_e(s)?n(s):(e.exit("thematicBreak"),t(s))}function o(t){return t===r?(e.consume(t),a++,o):(e.exit("thematicBreakSequence"),i(t))}}};var qe={name:"list",tokenize:function(e,t,n){var r=this,a=r.events[r.events.length-1],i=a&&"linePrefix"===a[1].type?a[2].sliceSerialize(a[1],!0).length:0,o=0;return function(t){var a=r.containerState.type||(42===t||43===t||45===t?"listUnordered":"listOrdered");if("listUnordered"===a?!r.containerState.marker||t===r.containerState.marker:be(t)){if(r.containerState.type||(r.containerState.type=a,e.enter(a,{_container:!0})),"listUnordered"===a)return e.enter("listItemPrefix"),42===t||45===t?e.check(Ke,n,l)(t):l(t);if(!r.interrupt||49===t)return e.enter("listItemPrefix"),e.enter("listItemValue"),s(t)}return n(t)};function s(t){return be(t)&&++o<10?(e.consume(t),s):(!r.interrupt||o<2)&&(r.containerState.marker?t===r.containerState.marker:41===t||46===t)?(e.exit("listItemValue"),l(t)):n(t)}function l(t){return e.enter("listItemMarker"),e.consume(t),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||t,e.check(Le,r.interrupt?n:c,e.attempt(Ye,d,u))}function c(e){return r.containerState.initialBlankLine=!0,i++,d(e)}function u(t){return ke(t)?(e.enter("listItemPrefixWhitespace"),e.consume(t),e.exit("listItemPrefixWhitespace"),d):n(t)}function d(n){return r.containerState.size=i+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(n)}},continuation:{tokenize:function(e,t,n){var r=this;return r.containerState._closeFlow=void 0,e.check(Le,a,i);function a(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,Ie(e,t,"listItemIndent",r.containerState.size+1)(n)}function i(n){return r.containerState.furtherBlankLines||!ke(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(Xe,t,o)(n))}function o(a){return r.containerState._closeFlow=!0,r.interrupt=void 0,Ie(e,e.attempt(qe,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}},exit:function(e){e.exit(this.containerState.type)}},Ye={tokenize:function(e,t,n){var r=this;return Ie(e,(function(e){var a=r.events[r.events.length-1];return!ke(e)&&a&&"listItemPrefixWhitespace"===a[1].type?t(e):n(e)}),"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5)},partial:!0},Xe={tokenize:function(e,t,n){var r=this;return Ie(e,(function(e){var a=r.events[r.events.length-1];return a&&"listItemIndent"===a[1].type&&a[2].sliceSerialize(a[1],!0).length===r.containerState.size?t(e):n(e)}),"listItemIndent",r.containerState.size+1)},partial:!0};var Ze={name:"blockQuote",tokenize:function(e,t,n){var r=this;return function(t){if(62===t){var i=r.containerState;return i.open||(e.enter("blockQuote",{_container:!0}),i.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(t),e.exit("blockQuoteMarker"),a}return n(t)};function a(n){return ke(n)?(e.enter("blockQuotePrefixWhitespace"),e.consume(n),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(n))}},continuation:{tokenize:function(e,t,n){return Ie(e,e.attempt(Ze,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}},exit:function(e){e.exit("blockQuote")}};function Qe(e,t,n,r,a,i,o,s,l){var c=l||Number.POSITIVE_INFINITY,u=0;return function(t){if(60===t)return e.enter(r),e.enter(a),e.enter(i),e.consume(t),e.exit(i),d;if(null===t||41===t||ve(t))return n(t);return e.enter(r),e.enter(o),e.enter(s),e.enter("chunkString",{contentType:"string"}),f(t)};function d(n){return 62===n?(e.enter(i),e.consume(n),e.exit(i),e.exit(a),e.exit(r),t):(e.enter(s),e.enter("chunkString",{contentType:"string"}),p(n))}function p(t){return 62===t?(e.exit("chunkString"),e.exit(s),d(t)):null===t||60===t||_e(t)?n(t):(e.consume(t),92===t?m:p)}function m(t){return 60===t||62===t||92===t?(e.consume(t),p):p(t)}function f(a){return 40===a?++u>c?n(a):(e.consume(a),f):41===a?u--?(e.consume(a),f):(e.exit("chunkString"),e.exit(s),e.exit(o),e.exit(r),t(a)):null===a||Ae(a)?u?n(a):(e.exit("chunkString"),e.exit(s),e.exit(o),e.exit(r),t(a)):ve(a)?n(a):(e.consume(a),92===a?g:f)}function g(t){return 40===t||41===t||92===t?(e.consume(t),f):f(t)}}function Je(e,t,n,r,a,i){var o,s=this,l=0;return function(t){return e.enter(r),e.enter(a),e.consume(t),e.exit(a),e.enter(i),c};function c(d){return null===d||91===d||93===d&&!o||94===d&&!l&&"_hiddenFootnoteSupport"in s.parser.constructs||l>999?n(d):93===d?(e.exit(i),e.enter(a),e.consume(d),e.exit(a),e.exit(r),t):_e(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),c):(e.enter("chunkString",{contentType:"string"}),u(d))}function u(t){return null===t||91===t||93===t||_e(t)||l++>999?(e.exit("chunkString"),c(t)):(e.consume(t),o=o||!ke(t),92===t?d:u)}function d(t){return 91===t||92===t||93===t?(e.consume(t),l++,u):u(t)}}function et(e,t,n,r,a,i){var o;return function(t){return e.enter(r),e.enter(a),e.consume(t),e.exit(a),o=40===t?41:t,s};function s(n){return n===o?(e.enter(a),e.consume(n),e.exit(a),e.exit(r),t):(e.enter(i),l(n))}function l(t){return t===o?(e.exit(i),s(o)):null===t?n(t):_e(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),Ie(e,l,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),c(t))}function c(t){return t===o||null===t||_e(t)?(e.exit("chunkString"),l(t)):(e.consume(t),92===t?u:c)}function u(t){return t===o||92===t?(e.consume(t),c):c(t)}}function tt(e,t){var n;return function r(a){if(_e(a))return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),n=!0,r;if(ke(a))return Ie(e,r,n?"linePrefix":"lineSuffix")(a);return t(a)}}function nt(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var rt={name:"definition",tokenize:function(e,t,n){var r,a=this;return function(t){return e.enter("definition"),Je.call(a,e,i,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(t)};function i(t){return r=nt(a.sliceSerialize(a.events[a.events.length-1][1]).slice(1,-1)),58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),tt(e,Qe(e,e.attempt(at,Ie(e,o,"whitespace"),Ie(e,o,"whitespace")),n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString"))):n(t)}function o(i){return null===i||_e(i)?(e.exit("definition"),a.parser.defined.includes(r)||a.parser.defined.push(r),t(i)):n(i)}}},at={tokenize:function(e,t,n){return function(t){return Ae(t)?tt(e,r)(t):n(t)};function r(t){return 34===t||39===t||40===t?et(e,Ie(e,a,"whitespace"),n,"definitionTitle","definitionTitleMarker","definitionTitleString")(t):n(t)}function a(e){return null===e||_e(e)?t(e):n(e)}},partial:!0};var it={name:"codeIndented",tokenize:function(e,t,n){var r=this;return function(t){return e.enter("codeIndented"),Ie(e,a,"linePrefix",5)(t)};function a(e){var t=r.events[r.events.length-1];return t&&"linePrefix"===t[1].type&&t[2].sliceSerialize(t[1],!0).length>=4?i(e):n(e)}function i(t){return null===t?s(t):_e(t)?e.attempt(ot,i,s)(t):(e.enter("codeFlowValue"),o(t))}function o(t){return null===t||_e(t)?(e.exit("codeFlowValue"),i(t)):(e.consume(t),o)}function s(n){return e.exit("codeIndented"),t(n)}}},ot={tokenize:function(e,t,n){var r=this;return a;function a(t){return r.parser.lazy[r.now().line]?n(t):_e(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),a):Ie(e,i,"linePrefix",5)(t)}function i(e){var i=r.events[r.events.length-1];return i&&"linePrefix"===i[1].type&&i[2].sliceSerialize(i[1],!0).length>=4?t(e):_e(e)?a(e):n(e)}},partial:!0};var st={name:"headingAtx",tokenize:function(e,t,n){var r=this,a=0;return function(t){return e.enter("atxHeading"),e.enter("atxHeadingSequence"),i(t)};function i(s){return 35===s&&a++<6?(e.consume(s),i):null===s||Ae(s)?(e.exit("atxHeadingSequence"),r.interrupt?t(s):o(s)):n(s)}function o(n){return 35===n?(e.enter("atxHeadingSequence"),s(n)):null===n||_e(n)?(e.exit("atxHeading"),t(n)):ke(n)?Ie(e,o,"whitespace")(n):(e.enter("atxHeadingText"),l(n))}function s(t){return 35===t?(e.consume(t),s):(e.exit("atxHeadingSequence"),o(t))}function l(t){return null===t||35===t||Ae(t)?(e.exit("atxHeadingText"),o(t)):(e.consume(t),l)}},resolve:function(e,t){var n,r,a=e.length-2,i=3;"whitespace"===e[i][1].type&&(i+=2);a-2>i&&"whitespace"===e[a][1].type&&(a-=2);"atxHeadingSequence"===e[a][1].type&&(i===a-1||a-4>i&&"whitespace"===e[a-2][1].type)&&(a-=i+1===a?2:4);a>i&&(n={type:"atxHeadingText",start:e[i][1].start,end:e[a][1].end},r={type:"chunkText",start:e[i][1].start,end:e[a][1].end,contentType:"text"},ue(e,i,a-i+1,[["enter",n,t],["enter",r,t],["exit",r,t],["exit",n,t]]));return e}};var lt={name:"setextUnderline",tokenize:function(e,t,n){var r,a,i=this,o=i.events.length;for(;o--;)if("lineEnding"!==i.events[o][1].type&&"linePrefix"!==i.events[o][1].type&&"content"!==i.events[o][1].type){a="paragraph"===i.events[o][1].type;break}return function(t){if(!i.parser.lazy[i.now().line]&&(i.interrupt||a))return e.enter("setextHeadingLine"),e.enter("setextHeadingLineSequence"),r=t,s(t);return n(t)};function s(t){return t===r?(e.consume(t),s):(e.exit("setextHeadingLineSequence"),Ie(e,l,"lineSuffix")(t))}function l(r){return null===r||_e(r)?(e.exit("setextHeadingLine"),t(r)):n(r)}},resolveTo:function(e,t){var n,r,a,i=e.length;for(;i--;)if("enter"===e[i][0]){if("content"===e[i][1].type){n=i;break}"paragraph"===e[i][1].type&&(r=i)}else"content"===e[i][1].type&&e.splice(i,1),a||"definition"!==e[i][1].type||(a=i);var o={type:"setextHeading",start:Object.assign({},e[r][1].start),end:Object.assign({},e[e.length-1][1].end)};e[r][1].type="setextHeadingText",a?(e.splice(r,0,["enter",o,t]),e.splice(a+1,0,["exit",e[n][1],t]),e[n][1].end=Object.assign({},e[a][1].end)):e[n][1]=o;return e.push(["exit",o,t]),e}};var ct=["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","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],ut=["pre","script","style","textarea"],dt={name:"htmlFlow",tokenize:function(e,t,n){var r,a,i,o,s,l=this;return function(t){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(t),c};function c(o){return 33===o?(e.consume(o),u):47===o?(e.consume(o),m):63===o?(e.consume(o),r=3,l.interrupt?t:P):he(o)?(e.consume(o),i=String.fromCharCode(o),a=!0,f):n(o)}function u(a){return 45===a?(e.consume(a),r=2,d):91===a?(e.consume(a),r=5,i="CDATA[",o=0,p):he(a)?(e.consume(a),r=4,l.interrupt?t:P):n(a)}function d(r){return 45===r?(e.consume(r),l.interrupt?t:P):n(r)}function p(r){return r===i.charCodeAt(o++)?(e.consume(r),o===i.length?l.interrupt?t:C:p):n(r)}function m(t){return he(t)?(e.consume(t),i=String.fromCharCode(t),f):n(t)}function f(o){return null===o||47===o||62===o||Ae(o)?47!==o&&a&&ut.includes(i.toLowerCase())?(r=1,l.interrupt?t(o):C(o)):ct.includes(i.toLowerCase())?(r=6,47===o?(e.consume(o),g):l.interrupt?t(o):C(o)):(r=7,l.interrupt&&!l.parser.lazy[l.now().line]?n(o):a?b(o):h(o)):45===o||ye(o)?(e.consume(o),i+=String.fromCharCode(o),f):n(o)}function g(r){return 62===r?(e.consume(r),l.interrupt?t:C):n(r)}function h(t){return ke(t)?(e.consume(t),h):_(t)}function b(t){return 47===t?(e.consume(t),_):58===t||95===t||he(t)?(e.consume(t),E):ke(t)?(e.consume(t),b):_(t)}function E(t){return 45===t||46===t||58===t||95===t||ye(t)?(e.consume(t),E):y(t)}function y(t){return 61===t?(e.consume(t),T):ke(t)?(e.consume(t),y):b(t)}function T(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),s=t,S):ke(t)?(e.consume(t),T):(s=null,v(t))}function S(t){return null===t||_e(t)?n(t):t===s?(e.consume(t),A):(e.consume(t),S)}function v(t){return null===t||34===t||39===t||60===t||61===t||62===t||96===t||Ae(t)?y(t):(e.consume(t),v)}function A(e){return 47===e||62===e||ke(e)?b(e):n(e)}function _(t){return 62===t?(e.consume(t),k):n(t)}function k(t){return ke(t)?(e.consume(t),k):null===t||_e(t)?C(t):n(t)}function C(t){return 45===t&&2===r?(e.consume(t),R):60===t&&1===r?(e.consume(t),x):62===t&&4===r?(e.consume(t),D):63===t&&3===r?(e.consume(t),P):93===t&&5===r?(e.consume(t),L):!_e(t)||6!==r&&7!==r?null===t||_e(t)?w(t):(e.consume(t),C):e.check(pt,D,w)(t)}function w(t){return e.exit("htmlFlowData"),N(t)}function N(t){return null===t?M(t):_e(t)?e.attempt({tokenize:I,partial:!0},N,M)(t):(e.enter("htmlFlowData"),C(t))}function I(e,t,n){return function(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),r};function r(e){return l.parser.lazy[l.now().line]?n(e):t(e)}}function R(t){return 45===t?(e.consume(t),P):C(t)}function x(t){return 47===t?(e.consume(t),i="",O):C(t)}function O(t){return 62===t&&ut.includes(i.toLowerCase())?(e.consume(t),D):he(t)&&i.length<8?(e.consume(t),i+=String.fromCharCode(t),O):C(t)}function L(t){return 93===t?(e.consume(t),P):C(t)}function P(t){return 62===t?(e.consume(t),D):45===t&&2===r?(e.consume(t),P):C(t)}function D(t){return null===t||_e(t)?(e.exit("htmlFlowData"),M(t)):(e.consume(t),D)}function M(n){return e.exit("htmlFlow"),t(n)}},resolveTo:function(e){var t=e.length;for(;t--&&("enter"!==e[t][0]||"htmlFlow"!==e[t][1].type););t>1&&"linePrefix"===e[t-2][1].type&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2));return e},concrete:!0},pt={tokenize:function(e,t,n){return function(r){return e.exit("htmlFlowData"),e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),e.attempt(Le,t,n)}},partial:!0};var mt={name:"codeFenced",tokenize:function(e,t,n){var r,a=this,i={tokenize:function(e,t,n){var a=0;return Ie(e,i,"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4);function i(t){return e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),o(t)}function o(t){return t===r?(e.consume(t),a++,o):a<c?n(t):(e.exit("codeFencedFenceSequence"),Ie(e,s,"whitespace")(t))}function s(r){return null===r||_e(r)?(e.exit("codeFencedFence"),t(r)):n(r)}},partial:!0},o={tokenize:function(e,t,n){var r=this;return a;function a(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),i}function i(e){return r.parser.lazy[r.now().line]?n(e):t(e)}},partial:!0},s=this.events[this.events.length-1],l=s&&"linePrefix"===s[1].type?s[2].sliceSerialize(s[1],!0).length:0,c=0;return function(t){return e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),r=t,u(t)};function u(t){return t===r?(e.consume(t),c++,u):(e.exit("codeFencedFenceSequence"),c<3?n(t):Ie(e,d,"whitespace")(t))}function d(t){return null===t||_e(t)?g(t):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),p(t))}function p(t){return null===t||Ae(t)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),Ie(e,m,"whitespace")(t)):96===t&&t===r?n(t):(e.consume(t),p)}function m(t){return null===t||_e(t)?g(t):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),f(t))}function f(t){return null===t||_e(t)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),g(t)):96===t&&t===r?n(t):(e.consume(t),f)}function g(n){return e.exit("codeFencedFence"),a.interrupt?t(n):h(n)}function h(t){return null===t?E(t):_e(t)?e.attempt(o,e.attempt(i,E,l?Ie(e,h,"linePrefix",l+1):h),E)(t):(e.enter("codeFlowValue"),b(t))}function b(t){return null===t||_e(t)?(e.exit("codeFlowValue"),h(t)):(e.consume(t),b)}function E(n){return e.exit("codeFenced"),t(n)}},concrete:!0};var ft=document.createElement("i");function gt(e){var t="&"+e+";";ft.innerHTML=t;var n=ft.textContent;return(59!==n.charCodeAt(n.length-1)||"semi"===e)&&(n!==t&&n)}var ht={name:"characterReference",tokenize:function(e,t,n){var r,a,i=this,o=0;return function(t){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(t),e.exit("characterReferenceMarker"),s};function s(t){return 35===t?(e.enter("characterReferenceMarkerNumeric"),e.consume(t),e.exit("characterReferenceMarkerNumeric"),l):(e.enter("characterReferenceValue"),r=31,a=ye,c(t))}function l(t){return 88===t||120===t?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(t),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),r=6,a=Ee,c):(e.enter("characterReferenceValue"),r=7,a=be,c(t))}function c(s){var l;return 59===s&&o?(l=e.exit("characterReferenceValue"),a!==ye||gt(i.sliceSerialize(l))?(e.enter("characterReferenceMarker"),e.consume(s),e.exit("characterReferenceMarker"),e.exit("characterReference"),t):n(s)):a(s)&&o++<r?(e.consume(s),c):n(s)}}};var bt={name:"characterEscape",tokenize:function(e,t,n){return function(t){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(t),e.exit("escapeMarker"),r};function r(r){return Te(r)?(e.enter("characterEscapeValue"),e.consume(r),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(r)}}};var Et={name:"lineEnding",tokenize:function(e,t){return function(n){return e.enter("lineEnding"),e.consume(n),e.exit("lineEnding"),Ie(e,t,"linePrefix")}}};var yt={name:"labelEnd",tokenize:function(e,t,n){var r,a,i=this,o=i.events.length;for(;o--;)if(("labelImage"===i.events[o][1].type||"labelLink"===i.events[o][1].type)&&!i.events[o][1]._balanced){r=i.events[o][1];break}return function(t){if(!r)return n(t);return r._inactive?l(t):(a=i.parser.defined.includes(nt(i.sliceSerialize({start:r.end,end:i.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelEnd"),s)};function s(n){return 40===n?e.attempt(Tt,t,a?t:l)(n):91===n?e.attempt(St,t,a?e.attempt(vt,t,l):l)(n):a?t(n):l(n)}function l(e){return r._balanced=!0,n(e)}},resolveTo:function(e,t){var n,r,a,i,o=e.length,s=0;for(;o--;)if(n=e[o][1],r){if("link"===n.type||"labelLink"===n.type&&n._inactive)break;"enter"===e[o][0]&&"labelLink"===n.type&&(n._inactive=!0)}else if(a){if("enter"===e[o][0]&&("labelImage"===n.type||"labelLink"===n.type)&&!n._balanced&&(r=o,"labelLink"!==n.type)){s=2;break}}else"labelEnd"===n.type&&(a=o);var l={type:"labelLink"===e[r][1].type?"link":"image",start:Object.assign({},e[r][1].start),end:Object.assign({},e[e.length-1][1].end)},c={type:"label",start:Object.assign({},e[r][1].start),end:Object.assign({},e[a][1].end)},u={type:"labelText",start:Object.assign({},e[r+s+2][1].end),end:Object.assign({},e[a-2][1].start)};return i=de(i=[["enter",l,t],["enter",c,t]],e.slice(r+1,r+s+3)),i=de(i,[["enter",u,t]]),i=de(i,Ve(t.parser.constructs.insideSpan.null,e.slice(r+s+4,a-3),t)),i=de(i,[["exit",u,t],e[a-2],e[a-1],["exit",c,t]]),i=de(i,e.slice(a+1)),i=de(i,[["exit",l,t]]),ue(e,r,e.length,i),e},resolveAll:function(e){var t,n=-1;for(;++n<e.length;)"labelImage"!==(t=e[n][1]).type&&"labelLink"!==t.type&&"labelEnd"!==t.type||(e.splice(n+1,"labelImage"===t.type?4:2),t.type="data",n++);return e}},Tt={tokenize:function(e,t,n){return function(t){return e.enter("resource"),e.enter("resourceMarker"),e.consume(t),e.exit("resourceMarker"),tt(e,r)};function r(t){return 41===t?o(t):Qe(e,a,n,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(t)}function a(t){return Ae(t)?tt(e,i)(t):o(t)}function i(t){return 34===t||39===t||40===t?et(e,tt(e,o),n,"resourceTitle","resourceTitleMarker","resourceTitleString")(t):o(t)}function o(r){return 41===r?(e.enter("resourceMarker"),e.consume(r),e.exit("resourceMarker"),e.exit("resource"),t):n(r)}}},St={tokenize:function(e,t,n){var r=this;return function(t){return Je.call(r,e,a,n,"reference","referenceMarker","referenceString")(t)};function a(e){return r.parser.defined.includes(nt(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(e):n(e)}}},vt={tokenize:function(e,t,n){return function(t){return e.enter("reference"),e.enter("referenceMarker"),e.consume(t),e.exit("referenceMarker"),r};function r(r){return 93===r?(e.enter("referenceMarker"),e.consume(r),e.exit("referenceMarker"),e.exit("reference"),t):n(r)}}};var At={name:"labelStartImage",tokenize:function(e,t,n){var r=this;return function(t){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(t),e.exit("labelImageMarker"),a};function a(t){return 91===t?(e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelImage"),i):n(t)}function i(e){return 94===e&&"_hiddenFootnoteSupport"in r.parser.constructs?n(e):t(e)}},resolveAll:yt.resolveAll};function _t(e){return null===e||Ae(e)||Ce(e)?1:we(e)?2:void 0}var kt={name:"attention",tokenize:function(e,t){var n,r=this.parser.constructs.attentionMarkers.null,a=this.previous,i=_t(a);return function(t){return e.enter("attentionSequence"),n=t,o(t)};function o(s){if(s===n)return e.consume(s),o;var l=e.exit("attentionSequence"),c=_t(s),u=!c||2===c&&i||r.includes(s),d=!i||2===i&&c||r.includes(a);return l._open=Boolean(42===n?u:u&&(i||!d)),l._close=Boolean(42===n?d:d&&(c||!u)),t(s)}},resolveAll:function(e,t){var n,r,a,i,o,s,l,c,u=-1;for(;++u<e.length;)if("enter"===e[u][0]&&"attentionSequence"===e[u][1].type&&e[u][1]._close)for(n=u;n--;)if("exit"===e[n][0]&&"attentionSequence"===e[n][1].type&&e[n][1]._open&&t.sliceSerialize(e[n][1]).charCodeAt(0)===t.sliceSerialize(e[u][1]).charCodeAt(0)){if((e[n][1]._close||e[u][1]._open)&&(e[u][1].end.offset-e[u][1].start.offset)%3&&!((e[n][1].end.offset-e[n][1].start.offset+e[u][1].end.offset-e[u][1].start.offset)%3))continue;s=e[n][1].end.offset-e[n][1].start.offset>1&&e[u][1].end.offset-e[u][1].start.offset>1?2:1;var d=Object.assign({},e[n][1].end),p=Object.assign({},e[u][1].start);Ct(d,-s),Ct(p,s),i={type:s>1?"strongSequence":"emphasisSequence",start:d,end:Object.assign({},e[n][1].end)},o={type:s>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[u][1].start),end:p},a={type:s>1?"strongText":"emphasisText",start:Object.assign({},e[n][1].end),end:Object.assign({},e[u][1].start)},r={type:s>1?"strong":"emphasis",start:Object.assign({},i.start),end:Object.assign({},o.end)},e[n][1].end=Object.assign({},i.start),e[u][1].start=Object.assign({},o.end),l=[],e[n][1].end.offset-e[n][1].start.offset&&(l=de(l,[["enter",e[n][1],t],["exit",e[n][1],t]])),l=de(l,[["enter",r,t],["enter",i,t],["exit",i,t],["enter",a,t]]),l=de(l,Ve(t.parser.constructs.insideSpan.null,e.slice(n+1,u),t)),l=de(l,[["exit",a,t],["enter",o,t],["exit",o,t],["exit",r,t]]),e[u][1].end.offset-e[u][1].start.offset?(c=2,l=de(l,[["enter",e[u][1],t],["exit",e[u][1],t]])):c=0,ue(e,n-1,u-n+3,l),u=n+l.length-c-2;break}u=-1;for(;++u<e.length;)"attentionSequence"===e[u][1].type&&(e[u][1].type="data");return e}};function Ct(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}var wt={name:"autolink",tokenize:function(e,t,n){var r=1;return function(t){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(t),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),a};function a(t){return he(t)?(e.consume(t),i):Se(t)?l(t):n(t)}function i(e){return 43===e||45===e||46===e||ye(e)?o(e):l(e)}function o(t){return 58===t?(e.consume(t),s):(43===t||45===t||46===t||ye(t))&&r++<32?(e.consume(t),o):l(t)}function s(t){return 62===t?(e.exit("autolinkProtocol"),p(t)):null===t||32===t||60===t||ve(t)?n(t):(e.consume(t),s)}function l(t){return 64===t?(e.consume(t),r=0,c):Se(t)?(e.consume(t),l):n(t)}function c(e){return ye(e)?u(e):n(e)}function u(t){return 46===t?(e.consume(t),r=0,c):62===t?(e.exit("autolinkProtocol").type="autolinkEmail",p(t)):d(t)}function d(t){return(45===t||ye(t))&&r++<63?(e.consume(t),45===t?d:u):n(t)}function p(n){return e.enter("autolinkMarker"),e.consume(n),e.exit("autolinkMarker"),e.exit("autolink"),t}}};var Nt={name:"htmlText",tokenize:function(e,t,n){var r,a,i,o,s=this;return function(t){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(t),l};function l(t){return 33===t?(e.consume(t),c):47===t?(e.consume(t),v):63===t?(e.consume(t),T):he(t)?(e.consume(t),k):n(t)}function c(t){return 45===t?(e.consume(t),u):91===t?(e.consume(t),a="CDATA[",i=0,g):he(t)?(e.consume(t),y):n(t)}function u(t){return 45===t?(e.consume(t),d):n(t)}function d(t){return null===t||62===t?n(t):45===t?(e.consume(t),p):m(t)}function p(e){return null===e||62===e?n(e):m(e)}function m(t){return null===t?n(t):45===t?(e.consume(t),f):_e(t)?(o=m,L(t)):(e.consume(t),m)}function f(t){return 45===t?(e.consume(t),D):m(t)}function g(t){return t===a.charCodeAt(i++)?(e.consume(t),i===a.length?h:g):n(t)}function h(t){return null===t?n(t):93===t?(e.consume(t),b):_e(t)?(o=h,L(t)):(e.consume(t),h)}function b(t){return 93===t?(e.consume(t),E):h(t)}function E(t){return 62===t?D(t):93===t?(e.consume(t),E):h(t)}function y(t){return null===t||62===t?D(t):_e(t)?(o=y,L(t)):(e.consume(t),y)}function T(t){return null===t?n(t):63===t?(e.consume(t),S):_e(t)?(o=T,L(t)):(e.consume(t),T)}function S(e){return 62===e?D(e):T(e)}function v(t){return he(t)?(e.consume(t),A):n(t)}function A(t){return 45===t||ye(t)?(e.consume(t),A):_(t)}function _(t){return _e(t)?(o=_,L(t)):ke(t)?(e.consume(t),_):D(t)}function k(t){return 45===t||ye(t)?(e.consume(t),k):47===t||62===t||Ae(t)?C(t):n(t)}function C(t){return 47===t?(e.consume(t),D):58===t||95===t||he(t)?(e.consume(t),w):_e(t)?(o=C,L(t)):ke(t)?(e.consume(t),C):D(t)}function w(t){return 45===t||46===t||58===t||95===t||ye(t)?(e.consume(t),w):N(t)}function N(t){return 61===t?(e.consume(t),I):_e(t)?(o=N,L(t)):ke(t)?(e.consume(t),N):C(t)}function I(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),r=t,R):_e(t)?(o=I,L(t)):ke(t)?(e.consume(t),I):(e.consume(t),r=void 0,O)}function R(t){return t===r?(e.consume(t),x):null===t?n(t):_e(t)?(o=R,L(t)):(e.consume(t),R)}function x(e){return 62===e||47===e||Ae(e)?C(e):n(e)}function O(t){return null===t||34===t||39===t||60===t||61===t||96===t?n(t):62===t||Ae(t)?C(t):(e.consume(t),O)}function L(t){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),Ie(e,P,"linePrefix",s.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function P(t){return e.enter("htmlTextData"),o(t)}function D(r){return 62===r?(e.consume(r),e.exit("htmlTextData"),e.exit("htmlText"),t):n(r)}}};var It={name:"labelStartLink",tokenize:function(e,t,n){var r=this;return function(t){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelLink"),a};function a(e){return 94===e&&"_hiddenFootnoteSupport"in r.parser.constructs?n(e):t(e)}},resolveAll:yt.resolveAll};var Rt={name:"hardBreakEscape",tokenize:function(e,t,n){return function(t){return e.enter("hardBreakEscape"),e.enter("escapeMarker"),e.consume(t),r};function r(r){return _e(r)?(e.exit("escapeMarker"),e.exit("hardBreakEscape"),t(r)):n(r)}}};var xt,Ot,Lt,Pt,Dt,Mt={name:"codeText",tokenize:function(e,t,n){var r,a,i=0;return function(t){return e.enter("codeText"),e.enter("codeTextSequence"),o(t)};function o(t){return 96===t?(e.consume(t),i++,o):(e.exit("codeTextSequence"),s(t))}function s(t){return null===t?n(t):96===t?(a=e.enter("codeTextSequence"),r=0,c(t)):32===t?(e.enter("space"),e.consume(t),e.exit("space"),s):_e(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),s):(e.enter("codeTextData"),l(t))}function l(t){return null===t||32===t||96===t||_e(t)?(e.exit("codeTextData"),s(t)):(e.consume(t),l)}function c(n){return 96===n?(e.consume(n),r++,c):r===i?(e.exit("codeTextSequence"),e.exit("codeText"),t(n)):(a.type="codeTextData",l(n))}},resolve:function(e){var t,n,r=e.length-4,a=3;if(("lineEnding"===e[a][1].type||"space"===e[a][1].type)&&("lineEnding"===e[r][1].type||"space"===e[r][1].type))for(t=a;++t<r;)if("codeTextData"===e[t][1].type){e[a][1].type="codeTextPadding",e[r][1].type="codeTextPadding",a+=2,r-=2;break}t=a-1,r++;for(;++t<=r;)void 0===n?t!==r&&"lineEnding"!==e[t][1].type&&(n=t):t!==r&&"lineEnding"!==e[t][1].type||(e[n][1].type="codeTextData",t!==n+2&&(e[n][1].end=e[t-1][1].end,e.splice(n+2,t-n-2),r-=t-n-2,t=n+2),n=void 0);return e},previous:function(e){return 96!==e||"characterEscape"===this.events[this.events.length-1][1].type}};var Ft=(i(xt={},42,qe),i(xt,43,qe),i(xt,45,qe),i(xt,48,qe),i(xt,49,qe),i(xt,50,qe),i(xt,51,qe),i(xt,52,qe),i(xt,53,qe),i(xt,54,qe),i(xt,55,qe),i(xt,56,qe),i(xt,57,qe),i(xt,62,Ze),xt),Ut=i({},91,rt),Bt=(i(Ot={},-2,it),i(Ot,-1,it),i(Ot,32,it),Ot),Ht=(i(Lt={},35,st),i(Lt,42,Ke),i(Lt,45,[lt,Ke]),i(Lt,60,dt),i(Lt,61,lt),i(Lt,95,Ke),i(Lt,96,mt),i(Lt,126,mt),Lt),Gt=(i(Pt={},38,ht),i(Pt,92,bt),Pt),zt=(i(Dt={},-5,Et),i(Dt,-4,Et),i(Dt,-3,Et),i(Dt,33,At),i(Dt,38,ht),i(Dt,42,kt),i(Dt,60,[wt,Nt]),i(Dt,91,It),i(Dt,92,[Rt,bt]),i(Dt,93,yt),i(Dt,95,kt),i(Dt,96,Mt),Dt),$t={null:[kt,Be]},jt={null:[42,95]},Vt={null:[]};var Wt=/[\0\t\n\r]/g;function Kt(e,t){var n=Number.parseInt(e,t);return n<9||11===n||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||65535===(65535&n)||65534===(65535&n)||n>1114111?"\ufffd":String.fromCharCode(n)}var qt=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Yt(e){return e.replace(qt,Xt)}function Xt(e,t,n){if(t)return t;if(35===n.charCodeAt(0)){var r=n.charCodeAt(1),a=120===r||88===r;return Kt(n.slice(a?2:1),a?16:10)}return gt(n)||e}var Zt={}.hasOwnProperty,Qt=function(t,n,r){return"string"!==typeof n&&(r=n,n=void 0),function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Jt({transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:l(ae),autolinkProtocol:N,autolinkEmail:N,atxHeading:l(ee),blockQuote:l(Y),characterEscape:N,characterReference:N,codeFenced:l(X),codeFencedFenceInfo:c,codeFencedFenceMeta:c,codeIndented:l(X,c),codeText:l(Z,c),codeTextData:N,data:N,codeFlowValue:N,definition:l(Q),definitionDestinationString:c,definitionLabelString:c,definitionTitleString:c,emphasis:l(J),hardBreakEscape:l(te),hardBreakTrailing:l(te),htmlFlow:l(ne,c),htmlFlowData:N,htmlText:l(ne,c),htmlTextData:N,image:l(re),label:c,link:l(ae),listItem:l(oe),listItemValue:g,listOrdered:l(ie,f),listUnordered:l(ie),paragraph:l(le),reference:$,referenceString:c,resourceDestinationString:c,resourceTitleString:c,setextHeading:l(ee),strong:l(ce),thematicBreak:l(de)},exit:{atxHeading:d(),atxHeadingSequence:_,autolink:d(),autolinkEmail:q,autolinkProtocol:K,blockQuote:d(),characterEscapeValue:I,characterReferenceMarkerHexadecimal:V,characterReferenceMarkerNumeric:V,characterReferenceValue:W,codeFenced:d(y),codeFencedFence:E,codeFencedFenceInfo:h,codeFencedFenceMeta:b,codeFlowValue:I,codeIndented:d(T),codeText:d(D),codeTextData:I,data:I,definition:d(),definitionDestinationString:A,definitionLabelString:S,definitionTitleString:v,emphasis:d(),hardBreakEscape:d(O),hardBreakTrailing:d(O),htmlFlow:d(L),htmlFlowData:I,htmlText:d(P),htmlTextData:I,image:d(F),label:B,labelText:U,lineEnding:R,link:d(M),listItem:d(),listOrdered:d(),listUnordered:d(),paragraph:d(),referenceString:j,resourceDestinationString:H,resourceTitleString:G,resource:z,setextHeading:d(w),setextHeadingLineSequence:C,setextHeadingText:k,strong:d(),thematicBreak:d()}},e.mdastExtensions||[]),n={};return r;function r(e){for(var n={type:"root",children:[]},r=[],l=[],d={stack:[n],tokenStack:r,config:t,enter:u,exit:p,buffer:c,resume:m,setData:i,getData:o},f=-1;++f<e.length;){if("listOrdered"===e[f][1].type||"listUnordered"===e[f][1].type)if("enter"===e[f][0])l.push(f);else f=a(e,l.pop(),f)}for(f=-1;++f<e.length;){var g=t[e[f][0]];Zt.call(g,e[f][1].type)&&g[e[f][1].type].call(Object.assign({sliceSerialize:e[f][2].sliceSerialize},d),e[f][1])}if(r.length>0){var h=r[r.length-1];(h[1]||tn).call(d,void 0,h[0])}for(n.position={start:s(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:s(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},f=-1;++f<t.transforms.length;)n=t.transforms[f](n)||n;return n}function a(e,t,n){for(var r,a,i,o,s=t-1,l=-1,c=!1;++s<=n;){var u=e[s];if("listUnordered"===u[1].type||"listOrdered"===u[1].type||"blockQuote"===u[1].type?("enter"===u[0]?l++:l--,o=void 0):"lineEndingBlank"===u[1].type?"enter"===u[0]&&(!r||o||l||i||(i=s),o=void 0):"linePrefix"===u[1].type||"listItemValue"===u[1].type||"listItemMarker"===u[1].type||"listItemPrefix"===u[1].type||"listItemPrefixWhitespace"===u[1].type||(o=void 0),!l&&"enter"===u[0]&&"listItemPrefix"===u[1].type||-1===l&&"exit"===u[0]&&("listUnordered"===u[1].type||"listOrdered"===u[1].type)){if(r){var d=s;for(a=void 0;d--;){var p=e[d];if("lineEnding"===p[1].type||"lineEndingBlank"===p[1].type){if("exit"===p[0])continue;a&&(e[a][1].type="lineEndingBlank",c=!0),p[1].type="lineEnding",a=d}else if("linePrefix"!==p[1].type&&"blockQuotePrefix"!==p[1].type&&"blockQuotePrefixWhitespace"!==p[1].type&&"blockQuoteMarker"!==p[1].type&&"listItemIndent"!==p[1].type)break}i&&(!a||i<a)&&(r._spread=!0),r.end=Object.assign({},a?e[a][1].start:u[1].end),e.splice(a||s,0,["exit",r,u[2]]),s++,n++}"listItemPrefix"===u[1].type&&(r={type:"listItem",_spread:!1,start:Object.assign({},u[1].start)},e.splice(s,0,["enter",r,u[2]]),s++,n++,i=void 0,o=!0)}}return e[t][1]._spread=c,n}function i(e,t){n[e]=t}function o(e){return n[e]}function s(e){return{line:e.line,column:e.column,offset:e.offset}}function l(e,t){return n;function n(n){u.call(this,e(n),n),t&&t.call(this,n)}}function c(){this.stack.push({type:"fragment",children:[]})}function u(e,t,n){return this.stack[this.stack.length-1].children.push(e),this.stack.push(e),this.tokenStack.push([t,n]),e.position={start:s(t.start)},e}function d(e){return t;function t(t){e&&e.call(this,t),p.call(this,t)}}function p(e,t){var n=this.stack.pop(),r=this.tokenStack.pop();if(!r)throw new Error("Cannot close `"+e.type+"` ("+x({start:e.start,end:e.end})+"): it\u2019s not open");return r[0].type!==e.type&&(t?t.call(this,e,r[0]):(r[1]||tn).call(this,e,r[0])),n.position.end=s(e.end),n}function m(){return se(this.stack.pop())}function f(){i("expectingFirstListItemValue",!0)}function g(e){o("expectingFirstListItemValue")&&(this.stack[this.stack.length-2].start=Number.parseInt(this.sliceSerialize(e),10),i("expectingFirstListItemValue"))}function h(){var e=this.resume();this.stack[this.stack.length-1].lang=e}function b(){var e=this.resume();this.stack[this.stack.length-1].meta=e}function E(){o("flowCodeInside")||(this.buffer(),i("flowCodeInside",!0))}function y(){var e=this.resume();this.stack[this.stack.length-1].value=e.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),i("flowCodeInside")}function T(){var e=this.resume();this.stack[this.stack.length-1].value=e.replace(/(\r?\n|\r)$/g,"")}function S(e){var t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=nt(this.sliceSerialize(e)).toLowerCase()}function v(){var e=this.resume();this.stack[this.stack.length-1].title=e}function A(){var e=this.resume();this.stack[this.stack.length-1].url=e}function _(e){var t=this.stack[this.stack.length-1];if(!t.depth){var n=this.sliceSerialize(e).length;t.depth=n}}function k(){i("setextHeadingSlurpLineEnding",!0)}function C(e){this.stack[this.stack.length-1].depth=61===this.sliceSerialize(e).charCodeAt(0)?1:2}function w(){i("setextHeadingSlurpLineEnding")}function N(e){var t=this.stack[this.stack.length-1],n=t.children[t.children.length-1];n&&"text"===n.type||((n=ue()).position={start:s(e.start)},t.children.push(n)),this.stack.push(n)}function I(e){var t=this.stack.pop();t.value+=this.sliceSerialize(e),t.position.end=s(e.end)}function R(e){var n=this.stack[this.stack.length-1];if(o("atHardBreak"))return n.children[n.children.length-1].position.end=s(e.end),void i("atHardBreak");!o("setextHeadingSlurpLineEnding")&&t.canContainEols.includes(n.type)&&(N.call(this,e),I.call(this,e))}function O(){i("atHardBreak",!0)}function L(){var e=this.resume();this.stack[this.stack.length-1].value=e}function P(){var e=this.resume();this.stack[this.stack.length-1].value=e}function D(){var e=this.resume();this.stack[this.stack.length-1].value=e}function M(){var e=this.stack[this.stack.length-1];o("inReference")?(e.type+="Reference",e.referenceType=o("referenceType")||"shortcut",delete e.url,delete e.title):(delete e.identifier,delete e.label),i("referenceType")}function F(){var e=this.stack[this.stack.length-1];o("inReference")?(e.type+="Reference",e.referenceType=o("referenceType")||"shortcut",delete e.url,delete e.title):(delete e.identifier,delete e.label),i("referenceType")}function U(e){var t=this.stack[this.stack.length-2],n=this.sliceSerialize(e);t.label=Yt(n),t.identifier=nt(n).toLowerCase()}function B(){var e=this.stack[this.stack.length-1],t=this.resume(),n=this.stack[this.stack.length-1];i("inReference",!0),"link"===n.type?n.children=e.children:n.alt=t}function H(){var e=this.resume();this.stack[this.stack.length-1].url=e}function G(){var e=this.resume();this.stack[this.stack.length-1].title=e}function z(){i("inReference")}function $(){i("referenceType","collapsed")}function j(e){var t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=nt(this.sliceSerialize(e)).toLowerCase(),i("referenceType","full")}function V(e){i("characterReferenceType",e.type)}function W(e){var t,n=this.sliceSerialize(e),r=o("characterReferenceType");r?(t=Kt(n,"characterReferenceMarkerNumeric"===r?10:16),i("characterReferenceType")):t=gt(n);var a=this.stack.pop();a.value+=t,a.position.end=s(e.end)}function K(e){I.call(this,e),this.stack[this.stack.length-1].url=this.sliceSerialize(e)}function q(e){I.call(this,e),this.stack[this.stack.length-1].url="mailto:"+this.sliceSerialize(e)}function Y(){return{type:"blockquote",children:[]}}function X(){return{type:"code",lang:null,meta:null,value:""}}function Z(){return{type:"inlineCode",value:""}}function Q(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function J(){return{type:"emphasis",children:[]}}function ee(){return{type:"heading",depth:void 0,children:[]}}function te(){return{type:"break"}}function ne(){return{type:"html",value:""}}function re(){return{type:"image",title:null,url:"",alt:null}}function ae(){return{type:"link",title:null,url:"",children:[]}}function ie(e){return{type:"list",ordered:"listOrdered"===e.type,start:null,spread:e._spread,children:[]}}function oe(e){return{type:"listItem",spread:e._spread,checked:null,children:[]}}function le(){return{type:"paragraph",children:[]}}function ce(){return{type:"strong",children:[]}}function ue(){return{type:"text",value:""}}function de(){return{type:"thematicBreak"}}}(r)(function(e){for(;!Pe(e););return e}(function(){var t={defined:[],lazy:{},constructs:me([e].concat((arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).extensions||[])),content:n(Re),document:n(xe),flow:n(Ue),string:n(He),text:n(Ge)};return t;function n(e){return function(n){return We(t,e,n)}}}(r).document().write(function(){var e,t=1,n="",r=!0;return function(a,i,o){var s,l,c,u,d,p=[];for(a=n+a.toString(i),c=0,n="",r&&(65279===a.charCodeAt(0)&&c++,r=void 0);c<a.length;){if(Wt.lastIndex=c,u=(s=Wt.exec(a))&&void 0!==s.index?s.index:a.length,d=a.charCodeAt(u),!s){n=a.slice(c);break}if(10===d&&c===u&&e)p.push(-3),e=void 0;else switch(e&&(p.push(-5),e=void 0),c<u&&(p.push(a.slice(c,u)),t+=u-c),d){case 0:p.push(65533),t++;break;case 9:for(l=4*Math.ceil(t/4),p.push(-2);t++<l;)p.push(-1);break;case 10:p.push(-4),t=1;break;default:e=!0,t=1}c=u+1}return o&&(e&&p.push(-5),n&&p.push(n),p.push(null)),p}}()(t,n,!0))))};function Jt(e,t){for(var n=-1;++n<t.length;){var r=t[n];Array.isArray(r)?Jt(e,r):en(e,r)}return e}function en(e,t){var n;for(n in t)if(Zt.call(t,n)){var r="canContainEols"===n||"transforms"===n,a=(Zt.call(e,n)?e[n]:void 0)||(e[n]=r?[]:{}),i=t[n];i&&(r?e[n]=[].concat(p(a),p(i)):Object.assign(a,i))}}function tn(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+x({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+x({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+x({start:t.start,end:t.end})+") is still open")}var nn=function(e){var t=this;Object.assign(this,{Parser:function(n){var r=t.data("settings");return Qt(n,Object.assign({},r,e,{extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]}))}})},rn=function(e,t,n){var r={type:String(e)};return void 0!==n&&null!==n||"string"!==typeof t&&!Array.isArray(t)?Object.assign(r,t):n=t,Array.isArray(n)?r.children=n:void 0!==n&&null!==n&&(r.value=String(n)),r},an=function(e){if(void 0===e||null===e)return ln;if("string"===typeof e)return function(e){return sn(t);function t(t){return t&&t.type===e}}(e);if("object"===typeof e)return Array.isArray(e)?on(e):function(e){return sn(t);function t(t){var n;for(n in e)if(t[n]!==e[n])return!1;return!0}}(e);if("function"===typeof e)return sn(e);throw new Error("Expected function, string, or object as test")};function on(e){for(var t=[],n=-1;++n<e.length;)t[n]=an(e[n]);return sn((function(){for(var e=-1,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];for(;++e<t.length;){var i;if((i=t[e]).call.apply(i,[this].concat(r)))return!0}return!1}))}function sn(e){return function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Boolean(e.call.apply(e,[this].concat(n)))}}function ln(){return!0}var cn=function(e,t,n,r){"function"===typeof t&&"function"!==typeof n&&(r=n,n=t,t=null);var a=an(t),i=r?-1:1;!function e(o,s,l){var c,u="object"===typeof o&&null!==o?o:{};"string"===typeof u.type&&(c="string"===typeof u.tagName?u.tagName:"string"===typeof u.name?u.name:void 0,Object.defineProperty(d,"name",{value:"node ("+u.type+(c?"<"+c+">":"")+")"}));return d;function d(){var c,u,d,p=[];if((!t||a(o,s,l[l.length-1]||null))&&(p=function(e){if(Array.isArray(e))return e;if("number"===typeof e)return[true,e];return[e]}(n(o,l)),false===p[0]))return p;if(o.children&&"skip"!==p[0])for(u=(r?o.children.length:-1)+i,d=l.concat(o);u>-1&&u<o.children.length;){if(c=e(o.children[u],u,d)(),false===c[0])return c;u="number"===typeof c[1]?c[1]:u+i}return p}}(e,null,[])()};var un=function(e,t,n,r){"function"===typeof t&&"function"!==typeof n&&(r=n,n=t,t=null),cn(e,t,(function(e,t){var r=t[t.length-1];return n(e,r?r.children.indexOf(e):null,r)}),r)},dn=mn("start"),pn=mn("end");function mn(e){return function(t){var n=t&&t.position&&t.position[e]||{};return{line:n.line||null,column:n.column||null,offset:n.offset>-1?n.offset:null}}}var fn={}.hasOwnProperty;function gn(e){return String(e||"").toUpperCase()}var hn={}.hasOwnProperty;function bn(e,t){var n=t.data||{};return"value"in t&&!(hn.call(n,"hName")||hn.call(n,"hProperties")||hn.call(n,"hChildren"))?e.augment(t,rn("text",t.value)):e(t,"div",Tn(e,t))}function En(e,t,n){var r,a=t&&t.type;if(!a)throw new Error("Expected node, got `"+t+"`");return("function"===typeof(r=hn.call(e.handlers,a)?e.handlers[a]:e.passThrough&&e.passThrough.includes(a)?yn:e.unknownHandler)?r:bn)(e,t,n)}function yn(e,t){return"children"in t?s(s({},t),{},{children:Tn(e,t)}):t}function Tn(e,t){var n=[];if("children"in t)for(var r=t.children,a=-1;++a<r.length;){var i=En(e,r[a],t);if(i){if(a&&"break"===r[a-1].type&&(Array.isArray(i)||"text"!==i.type||(i.value=i.value.replace(/^\s+/,"")),!Array.isArray(i)&&"element"===i.type)){var o=i.children[0];o&&"text"===o.type&&(o.value=o.value.replace(/^\s+/,""))}Array.isArray(i)?n.push.apply(n,p(i)):n.push(i)}}return n}function Sn(e,t){return e(t,"hr")}function vn(e,t){var n=[],r=-1;for(t&&n.push(rn("text","\n"));++r<e.length;)r&&n.push(rn("text","\n")),n.push(e[r]);return t&&e.length>0&&n.push(rn("text","\n")),n}function An(e,t){var n={},r=t.ordered?"ol":"ul",a=Tn(e,t),i=-1;for("number"===typeof t.start&&1!==t.start&&(n.start=t.start);++i<a.length;){var o=a[i];if("element"===o.type&&"li"===o.tagName&&o.properties&&Array.isArray(o.properties.className)&&o.properties.className.includes("task-list-item")){n.className=["contains-task-list"];break}}return e(t,r,n,vn(a,!0))}function _n(e,t){var n=e.footnoteOrder,r=String(t.identifier),a=n.indexOf(r),i=String(-1===a?n.push(r):a+1);return e(t,"a",{href:"#fn"+i,className:["footnote-ref"],id:"fnref"+i,role:"doc-noteref"},[e(t.position,"sup",[rn("text",i)])])}var kn=n(2366);function Cn(e,t){var n=t.referenceType,r="]";if("collapsed"===n?r+="[]":"full"===n&&(r+="["+(t.label||t.identifier)+"]"),"imageReference"===t.type)return rn("text","!["+t.alt+r);var a=Tn(e,t),i=a[0];i&&"text"===i.type?i.value="["+i.value:a.unshift(rn("text","["));var o=a[a.length-1];return o&&"text"===o.type?o.value+=r:a.push(rn("text",r)),a}function wn(e){var t=e.spread;return void 0===t||null===t?e.children.length>1:t}var Nn={blockquote:function(e,t){return e(t,"blockquote",vn(Tn(e,t),!0))},break:function(e,t){return[e(t,"br"),rn("text","\n")]},code:function(e,t){var n=t.value?t.value+"\n":"",r=t.lang&&t.lang.match(/^[^ \t]+(?=[ \t]|$)/),a={};r&&(a.className=["language-"+r]);var i=e(t,"code",a,[rn("text",n)]);return t.meta&&(i.data={meta:t.meta}),e(t.position,"pre",[i])},delete:function(e,t){return e(t,"del",Tn(e,t))},emphasis:function(e,t){return e(t,"em",Tn(e,t))},footnoteReference:_n,footnote:function(e,t){for(var n=e.footnoteById,r=e.footnoteOrder,a=1;a in n;)a++;var i=String(a);return r.push(i),n[i]={type:"footnoteDefinition",identifier:i,children:[{type:"paragraph",children:t.children}],position:t.position},_n(e,{type:"footnoteReference",identifier:i,position:t.position})},heading:function(e,t){return e(t,"h"+t.depth,Tn(e,t))},html:function(e,t){return e.dangerous?e.augment(t,rn("raw",t.value)):null},imageReference:function(e,t){var n=e.definition(t.identifier);if(!n)return Cn(e,t);var r={src:kn(n.url||""),alt:t.alt};return null!==n.title&&void 0!==n.title&&(r.title=n.title),e(t,"img",r)},image:function(e,t){var n={src:kn(t.url),alt:t.alt};return null!==t.title&&void 0!==t.title&&(n.title=t.title),e(t,"img",n)},inlineCode:function(e,t){return e(t,"code",[rn("text",t.value.replace(/\r?\n|\r/g," "))])},linkReference:function(e,t){var n=e.definition(t.identifier);if(!n)return Cn(e,t);var r={href:kn(n.url||"")};return null!==n.title&&void 0!==n.title&&(r.title=n.title),e(t,"a",r,Tn(e,t))},link:function(e,t){var n={href:kn(t.url)};return null!==t.title&&void 0!==t.title&&(n.title=t.title),e(t,"a",n,Tn(e,t))},listItem:function(e,t,n){var r,a=Tn(e,t),i=n?function(e){var t=e.spread,n=e.children,r=-1;for(;!t&&++r<n.length;)t=wn(n[r]);return Boolean(t)}(n):wn(t),o={},s=[];"boolean"===typeof t.checked&&(a[0]&&"element"===a[0].type&&"p"===a[0].tagName?r=a[0]:(r=e(null,"p",[]),a.unshift(r)),r.children.length>0&&r.children.unshift(rn("text"," ")),r.children.unshift(e(null,"input",{type:"checkbox",checked:t.checked,disabled:!0})),o.className=["task-list-item"]);for(var l=-1;++l<a.length;){var c=a[l];(i||0!==l||"element"!==c.type||"p"!==c.tagName)&&s.push(rn("text","\n")),"element"!==c.type||"p"!==c.tagName||i?s.push(c):s.push.apply(s,p(c.children))}var u=a[a.length-1];return!u||!i&&"tagName"in u&&"p"===u.tagName||s.push(rn("text","\n")),e(t,"li",o,s)},list:An,paragraph:function(e,t){return e(t,"p",Tn(e,t))},root:function(e,t){return e.augment(t,rn("root",vn(Tn(e,t))))},strong:function(e,t){return e(t,"strong",Tn(e,t))},table:function(e,t){for(var n=t.children,r=-1,a=t.align||[],i=[];++r<n.length;){for(var o=n[r].children,s=0===r?"th":"td",l=t.align?a.length:o.length,c=[];l--;){var u=o[l];c[l]=e(u,s,{align:a[l]},u?Tn(e,u):[])}i[r]=e(n[r],"tr",vn(c,!0))}return e(t,"table",vn([e(i[0].position,"thead",vn([i[0]],!0))].concat(i[1]?e({start:dn(i[1]),end:pn(i[i.length-1])},"tbody",vn(i.slice(1),!0)):[]),!0))},text:function(e,t){return e.augment(t,rn("text",String(t.value).replace(/[ \t]*(\r?\n|\r)[ \t]*/g,"$1")))},thematicBreak:Sn,toml:In,yaml:In,definition:In,footnoteDefinition:In};function In(){return null}var Rn={}.hasOwnProperty;function xn(e,t){var n=t||{},r=n.allowDangerousHtml||!1,a={};return o.dangerous=r,o.definition=function(e){var t=Object.create(null);if(!e||!e.type)throw new Error("mdast-util-definitions expected node");return un(e,"definition",(function(e){var n=gn(e.identifier);n&&!fn.call(t,n)&&(t[n]=e)})),function(e){var n=gn(e);return n&&fn.call(t,n)?t[n]:null}}(e),o.footnoteById=a,o.footnoteOrder=[],o.augment=i,o.handlers=s(s({},Nn),n.handlers),o.unknownHandler=n.unknownHandler,o.passThrough=n.passThrough,un(e,"footnoteDefinition",(function(e){var t=String(e.identifier).toUpperCase();Rn.call(a,t)||(a[t]=e)})),o;function i(e,t){if(e&&"data"in e&&e.data){var n=e.data;n.hName&&("element"!==t.type&&(t={type:"element",tagName:"",properties:{},children:[]}),t.tagName=n.hName),"element"===t.type&&n.hProperties&&(t.properties=s(s({},t.properties),n.hProperties)),"children"in t&&t.children&&n.hChildren&&(t.children=n.hChildren)}if(e){var r="type"in e?e:{position:e};(a=r)&&a.position&&a.position.start&&a.position.start.line&&a.position.start.column&&a.position.end&&a.position.end.line&&a.position.end.column&&(t.position={start:dn(r),end:pn(r)})}var a;return t}function o(e,t,n,r){return Array.isArray(n)&&(r=n,n={}),i(e,{type:"element",tagName:t,properties:n||{},children:r||[]})}}function On(e,t){var n=xn(e,t),r=En(n,e,null),a=function(e){for(var t=e.footnoteById,n=e.footnoteOrder,r=-1,a=[];++r<n.length;){var i=t[n[r].toUpperCase()];if(i){var o=String(r+1),s=p(i.children),l={type:"link",url:"#fnref"+o,data:{hProperties:{className:["footnote-back"],role:"doc-backlink"}},children:[{type:"text",value:"\u21a9"}]},c=s[s.length-1];c&&"paragraph"===c.type?c.children.push(l):s.push(l),a.push({type:"listItem",data:{hProperties:{id:"fn"+o,role:"doc-endnote"}},children:s,position:i.position})}}return 0===a.length?null:e(null,"section",{className:["footnotes"],role:"doc-endnotes"},vn([Sn(e),An(e,{type:"list",ordered:!0,children:a})],!0))}(n);return a&&r.children.push(rn("text","\n"),a),Array.isArray(r)?{type:"root",children:r}:r}var Ln=function(e,t){return e&&"run"in e?function(e,t){return function(n,r,a){e.run(On(n,t),r,(function(e){a(e)}))}}(e,t):function(e){return function(t){return On(t,e)}}(e)};var Pn=n(2007),Dn=y((function e(t,n,r){b(this,e),this.property=t,this.normal=n,r&&(this.space=r)}));function Mn(e,t){for(var n={},r={},a=-1;++a<e.length;)Object.assign(n,e[a].property),Object.assign(r,e[a].normal);return new Dn(n,r,t)}function Fn(e){return e.toLowerCase()}Dn.prototype.property={},Dn.prototype.normal={},Dn.prototype.space=null;var Un=y((function e(t,n){b(this,e),this.property=t,this.attribute=n}));Un.prototype.space=null,Un.prototype.boolean=!1,Un.prototype.booleanish=!1,Un.prototype.overloadedBoolean=!1,Un.prototype.number=!1,Un.prototype.commaSeparated=!1,Un.prototype.spaceSeparated=!1,Un.prototype.commaOrSpaceSeparated=!1,Un.prototype.mustUseProperty=!1,Un.prototype.defined=!1;var Bn=0,Hn=Kn(),Gn=Kn(),zn=Kn(),$n=Kn(),jn=Kn(),Vn=Kn(),Wn=Kn();function Kn(){return Math.pow(2,++Bn)}var qn=Object.keys(t),Yn=function(e){v(r,e);var n=N(r);function r(e,a,i,o){var s;b(this,r);var l=-1;if(Xn(C(s=n.call(this,e,a)),"space",o),"number"===typeof i)for(;++l<qn.length;){var c=qn[l];Xn(C(s),qn[l],(i&t[c])===t[c])}return s}return y(r)}(Un);function Xn(e,t,n){n&&(e[t]=n)}Yn.prototype.defined=!0;var Zn={}.hasOwnProperty;function Qn(e){var t,n={},r={};for(t in e.properties)if(Zn.call(e.properties,t)){var a=e.properties[t],i=new Yn(t,e.transform(e.attributes||{},t),a,e.space);e.mustUseProperty&&e.mustUseProperty.includes(t)&&(i.mustUseProperty=!0),n[t]=i,r[Fn(t)]=t,r[Fn(i.attribute)]=t}return new Dn(n,r,e.space)}var Jn=Qn({space:"xlink",transform:function(e,t){return"xlink:"+t.slice(5).toLowerCase()},properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}}),er=Qn({space:"xml",transform:function(e,t){return"xml:"+t.slice(3).toLowerCase()},properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function tr(e,t){return t in e?e[t]:t}function nr(e,t){return tr(e,t.toLowerCase())}var rr=Qn({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:nr,properties:{xmlns:null,xmlnsXLink:null}}),ar=Qn({transform:function(e,t){return"role"===t?t:"aria-"+t.slice(4).toLowerCase()},properties:{ariaActiveDescendant:null,ariaAtomic:Gn,ariaAutoComplete:null,ariaBusy:Gn,ariaChecked:Gn,ariaColCount:$n,ariaColIndex:$n,ariaColSpan:$n,ariaControls:jn,ariaCurrent:null,ariaDescribedBy:jn,ariaDetails:null,ariaDisabled:Gn,ariaDropEffect:jn,ariaErrorMessage:null,ariaExpanded:Gn,ariaFlowTo:jn,ariaGrabbed:Gn,ariaHasPopup:null,ariaHidden:Gn,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:jn,ariaLevel:$n,ariaLive:null,ariaModal:Gn,ariaMultiLine:Gn,ariaMultiSelectable:Gn,ariaOrientation:null,ariaOwns:jn,ariaPlaceholder:null,ariaPosInSet:$n,ariaPressed:Gn,ariaReadOnly:Gn,ariaRelevant:null,ariaRequired:Gn,ariaRoleDescription:jn,ariaRowCount:$n,ariaRowIndex:$n,ariaRowSpan:$n,ariaSelected:Gn,ariaSetSize:$n,ariaSort:null,ariaValueMax:$n,ariaValueMin:$n,ariaValueNow:$n,ariaValueText:null,role:null}}),ir=Qn({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:nr,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Vn,acceptCharset:jn,accessKey:jn,action:null,allow:null,allowFullScreen:Hn,allowPaymentRequest:Hn,allowUserMedia:Hn,alt:null,as:null,async:Hn,autoCapitalize:null,autoComplete:jn,autoFocus:Hn,autoPlay:Hn,capture:Hn,charSet:null,checked:Hn,cite:null,className:jn,cols:$n,colSpan:null,content:null,contentEditable:Gn,controls:Hn,controlsList:jn,coords:$n|Vn,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Hn,defer:Hn,dir:null,dirName:null,disabled:Hn,download:zn,draggable:Gn,encType:null,enterKeyHint:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Hn,formTarget:null,headers:jn,height:$n,hidden:Hn,high:$n,href:null,hrefLang:null,htmlFor:jn,httpEquiv:jn,id:null,imageSizes:null,imageSrcSet:null,inputMode:null,integrity:null,is:null,isMap:Hn,itemId:null,itemProp:jn,itemRef:jn,itemScope:Hn,itemType:jn,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Hn,low:$n,manifest:null,max:null,maxLength:$n,media:null,method:null,min:null,minLength:$n,multiple:Hn,muted:Hn,name:null,nonce:null,noModule:Hn,noValidate:Hn,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforePrint:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Hn,optimum:$n,pattern:null,ping:jn,placeholder:null,playsInline:Hn,poster:null,preload:null,readOnly:Hn,referrerPolicy:null,rel:jn,required:Hn,reversed:Hn,rows:$n,rowSpan:$n,sandbox:jn,scope:null,scoped:Hn,seamless:Hn,selected:Hn,shape:null,size:$n,sizes:null,slot:null,span:$n,spellCheck:Gn,src:null,srcDoc:null,srcLang:null,srcSet:null,start:$n,step:null,style:null,tabIndex:$n,target:null,title:null,translate:null,type:null,typeMustMatch:Hn,useMap:null,value:Gn,width:$n,wrap:null,align:null,aLink:null,archive:jn,axis:null,background:null,bgColor:null,border:$n,borderColor:null,bottomMargin:$n,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Hn,declare:Hn,event:null,face:null,frame:null,frameBorder:null,hSpace:$n,leftMargin:$n,link:null,longDesc:null,lowSrc:null,marginHeight:$n,marginWidth:$n,noResize:Hn,noHref:Hn,noShade:Hn,noWrap:Hn,object:null,profile:null,prompt:null,rev:null,rightMargin:$n,rules:null,scheme:null,scrolling:Gn,standby:null,summary:null,text:null,topMargin:$n,valueType:null,version:null,vAlign:null,vLink:null,vSpace:$n,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:Hn,disableRemotePlayback:Hn,prefix:null,property:null,results:$n,security:null,unselectable:null}}),or=Qn({space:"svg",attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},transform:tr,properties:{about:Wn,accentHeight:$n,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:$n,amplitude:$n,arabicForm:null,ascent:$n,attributeName:null,attributeType:null,azimuth:$n,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:$n,by:null,calcMode:null,capHeight:$n,className:jn,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:$n,diffuseConstant:$n,direction:null,display:null,dur:null,divisor:$n,dominantBaseline:null,download:Hn,dx:null,dy:null,edgeMode:null,editable:null,elevation:$n,enableBackground:null,end:null,event:null,exponent:$n,externalResourcesRequired:null,fill:null,fillOpacity:$n,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Vn,g2:Vn,glyphName:Vn,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:$n,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:$n,horizOriginX:$n,horizOriginY:$n,id:null,ideographic:$n,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:$n,k:$n,k1:$n,k2:$n,k3:$n,k4:$n,kernelMatrix:Wn,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:$n,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:$n,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:$n,overlineThickness:$n,paintOrder:null,panose1:null,path:null,pathLength:$n,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:jn,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:$n,pointsAtY:$n,pointsAtZ:$n,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Wn,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Wn,rev:Wn,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Wn,requiredFeatures:Wn,requiredFonts:Wn,requiredFormats:Wn,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:$n,specularExponent:$n,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:$n,strikethroughThickness:$n,string:null,stroke:null,strokeDashArray:Wn,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:$n,strokeOpacity:$n,strokeWidth:null,style:null,surfaceScale:$n,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:Wn,tabIndex:$n,tableValues:null,target:null,targetX:$n,targetY:$n,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:Wn,to:null,transform:null,u1:null,u2:null,underlinePosition:$n,underlineThickness:$n,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:$n,values:null,vAlphabetic:$n,vMathematical:$n,vectorEffect:null,vHanging:$n,vIdeographic:$n,version:null,vertAdvY:$n,vertOriginX:$n,vertOriginY:$n,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:$n,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}}),sr=Mn([er,Jn,rr,ar,ir],"html"),lr=Mn([er,Jn,rr,ar,or],"svg");function cr(e){if(e.allowedElements&&e.disallowedElements)throw new TypeError("Only one of `allowedElements` and `disallowedElements` should be defined");if(e.allowedElements||e.disallowedElements||e.allowElement)return function(t){un(t,"element",(function(t,n,r){var a,i=r;if(e.allowedElements?a=!e.allowedElements.includes(t.tagName):e.disallowedElements&&(a=e.disallowedElements.includes(t.tagName)),!a&&e.allowElement&&"number"===typeof n&&(a=!e.allowElement(t,n,i)),a&&"number"===typeof n){var o;if(e.unwrapDisallowed&&t.children)(o=i.children).splice.apply(o,[n,1].concat(p(t.children)));else i.children.splice(n,1);return n}}))}}var ur=["http","https","mailto","tel"];var dr=n(7441);function pr(e){var t=e&&"object"===typeof e&&"text"===e.type?e.value||"":e;return"string"===typeof t&&""===t.replace(/[ \t\n\f\r]/g,"")}var mr=/^data[-\w.:]+$/i,fr=/-[a-z]/g,gr=/[A-Z]/g;function hr(e,t){var n=Fn(t),r=t,a=Un;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&"data"===n.slice(0,4)&&mr.test(t)){if("-"===t.charAt(4)){var i=t.slice(5).replace(fr,Er);r="data"+i.charAt(0).toUpperCase()+i.slice(1)}else{var o=t.slice(4);if(!fr.test(o)){var s=o.replace(gr,br);"-"!==s.charAt(0)&&(s="-"+s),t="data"+s}}a=Yn}return new a(r,t)}function br(e){return"-"+e.toLowerCase()}function Er(e){return e.charAt(1).toUpperCase()}var yr={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"};function Tr(e){var t=String(e||"").trim();return t?t.split(/[ \t\n\r\f]+/g):[]}function Sr(e){return e.join(" ").trim()}function vr(e){for(var t,n,r=[],a=String(e||""),i=a.indexOf(","),o=0;!t;)-1===i&&(i=a.length,t=!0),!(n=a.slice(o,i).trim())&&t||r.push(n),o=i+1,i=a.indexOf(",",o);return r}function Ar(e,t){var n=t||{};return""===e[e.length-1]&&(e=e.concat("")),e.join((n.padRight?" ":"")+","+(!1===n.padLeft?"":" ")).trim()}var _r=n(6426),kr={}.hasOwnProperty,Cr=new Set(["table","thead","tbody","tfoot","tr"]);function wr(e,t){for(var n,r=[],a=-1;++a<t.children.length;)"element"===(n=t.children[a]).type?r.push(Nr(e,n,a,t)):"text"===n.type?"element"===t.type&&Cr.has(t.tagName)&&pr(n)||r.push(n.value):"raw"!==n.type||e.options.skipHtml||r.push(n.value);return r}function Nr(e,t,n,a){var i,o=e.options,s=e.schema,l=t.tagName,c={},u=s;if("html"===s.space&&"svg"===l&&(u=lr,e.schema=u),t.properties)for(i in t.properties)kr.call(t.properties,i)&&Rr(c,i,t.properties[i],e);"ol"!==l&&"ul"!==l||e.listDepth++;var d=wr(e,t);"ol"!==l&&"ul"!==l||e.listDepth--,e.schema=s;var p,m=t.position||{start:{line:null,column:null,offset:null},end:{line:null,column:null,offset:null}},f=o.components&&kr.call(o.components,l)?o.components[l]:l,g="string"===typeof f||f===r.Fragment;if(!dr.isValidElementType(f))throw new TypeError("Component for name `".concat(l,"` not defined or is not renderable"));if(c.key=[l,m.start.line,m.start.column,n].join("-"),"a"===l&&o.linkTarget&&(c.target="function"===typeof o.linkTarget?o.linkTarget(String(c.href||""),t.children,"string"===typeof c.title?c.title:null):o.linkTarget),"a"===l&&o.transformLinkUri&&(c.href=o.transformLinkUri(String(c.href||""),t.children,"string"===typeof c.title?c.title:null)),g||"code"!==l||"element"!==a.type||"pre"===a.tagName||(c.inline=!0),g||"h1"!==l&&"h2"!==l&&"h3"!==l&&"h4"!==l&&"h5"!==l&&"h6"!==l||(c.level=Number.parseInt(l.charAt(1),10)),"img"===l&&o.transformImageUri&&(c.src=o.transformImageUri(String(c.src||""),String(c.alt||""),"string"===typeof c.title?c.title:null)),!g&&"li"===l&&"element"===a.type){var h=function(e){var t=-1;for(;++t<e.children.length;){var n=e.children[t];if("element"===n.type&&"input"===n.tagName)return n}return null}(t);c.checked=h&&h.properties?Boolean(h.properties.checked):null,c.index=Ir(a,t),c.ordered="ol"===a.tagName}return g||"ol"!==l&&"ul"!==l||(c.ordered="ol"===l,c.depth=e.listDepth),"td"!==l&&"th"!==l||(c.align&&(c.style||(c.style={}),c.style.textAlign=c.align,delete c.align),g||(c.isHeader="th"===l)),g||"tr"!==l||"element"!==a.type||(c.isHeader=Boolean("thead"===a.tagName)),o.sourcePos&&(c["data-sourcepos"]=[(p=m).start.line,":",p.start.column,"-",p.end.line,":",p.end.column].map((function(e){return String(e)})).join("")),!g&&o.rawSourcePos&&(c.sourcePosition=t.position),!g&&o.includeElementIndex&&(c.index=Ir(a,t),c.siblingCount=Ir(a)),g||(c.node=t),d.length>0?r.createElement(f,c,d):r.createElement(f,c)}function Ir(e,t){for(var n=-1,r=0;++n<e.children.length&&e.children[n]!==t;)"element"===e.children[n].type&&r++;return r}function Rr(e,t,n,r){var a=hr(r.schema,t),i=n;null!==i&&void 0!==i&&i===i&&(Array.isArray(i)&&(i=a.commaSeparated?Ar(i):Sr(i)),"style"===a.property&&"string"===typeof i&&(i=function(e){var t={};try{_r(e,n)}catch(r){}return t;function n(e,n){var r="-ms-"===e.slice(0,4)?"ms-".concat(e.slice(4)):e;t[r.replace(/-([a-z])/g,xr)]=n}}(i)),a.space&&a.property?e[kr.call(yr,a.property)?yr[a.property]:a.property]=i:a.attribute&&(e[a.attribute]=i))}function xr(e,t){return t.toUpperCase()}var Or={}.hasOwnProperty,Lr={renderers:{to:"components",id:"change-renderers-to-components"},astPlugins:{id:"remove-buggy-html-in-markdown-parser"},allowDangerousHtml:{id:"remove-buggy-html-in-markdown-parser"},escapeHtml:{id:"remove-buggy-html-in-markdown-parser"},source:{to:"children",id:"change-source-to-children"},allowNode:{to:"allowElement",id:"replace-allownode-allowedtypes-and-disallowedtypes"},allowedTypes:{to:"allowedElements",id:"replace-allownode-allowedtypes-and-disallowedtypes"},disallowedTypes:{to:"disallowedElements",id:"replace-allownode-allowedtypes-and-disallowedtypes"},includeNodeIndex:{to:"includeElementIndex",id:"change-includenodeindex-to-includeelementindex"}};function Pr(e){for(var t in Lr)if(Or.call(Lr,t)&&Or.call(e,t)){var n=Lr[t];console.warn("[react-markdown] Warning: please ".concat(n.to?"use `".concat(n.to,"` instead of"):"remove"," `").concat(t,"` (see <").concat("https://github.com/remarkjs/react-markdown/blob/main/changelog.md","#").concat(n.id,"> for more info)")),delete Lr[t]}var a=Q().use(nn).use(e.remarkPlugins||e.plugins||[]).use(Ln,{allowDangerousHtml:!0}).use(e.rehypePlugins||[]).use(cr,e),i=new $;"string"===typeof e.children?i.value=e.children:void 0!==e.children&&null!==e.children&&console.warn("[react-markdown] Warning: please pass a string as `children` (not: `".concat(e.children,"`)"));var o=a.runSync(a.parse(i),i);if("root"!==o.type)throw new TypeError("Expected a `root` node");var s=r.createElement(r.Fragment,{},wr({options:e,schema:sr,listDepth:0},o));return e.className&&(s=r.createElement("div",{className:e.className},s)),s}function Dr(){return Dr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Dr.apply(this,arguments)}function Mr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Fr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Mr(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Mr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}Pr.defaultProps={transformLinkUri:function(e){var t=(e||"").trim(),n=t.charAt(0);if("#"===n||"/"===n)return t;var r=t.indexOf(":");if(-1===r)return t;for(var a=-1;++a<ur.length;){var i=ur[a];if(r===i.length&&t.slice(0,i.length).toLowerCase()===i)return t}return-1!==(a=t.indexOf("?"))&&r>a||-1!==(a=t.indexOf("#"))&&r>a?t:"javascript:void(0)"}},Pr.propTypes={children:Pn.string,className:Pn.string,allowElement:Pn.func,allowedElements:Pn.arrayOf(Pn.string),disallowedElements:Pn.arrayOf(Pn.string),unwrapDisallowed:Pn.bool,remarkPlugins:Pn.arrayOf(Pn.oneOfType([Pn.object,Pn.func,Pn.arrayOf(Pn.oneOfType([Pn.object,Pn.func]))])),rehypePlugins:Pn.arrayOf(Pn.oneOfType([Pn.object,Pn.func,Pn.arrayOf(Pn.oneOfType([Pn.object,Pn.func]))])),sourcePos:Pn.bool,rawSourcePos:Pn.bool,skipHtml:Pn.bool,includeElementIndex:Pn.bool,transformLinkUri:Pn.oneOfType([Pn.func,Pn.bool]),linkTarget:Pn.oneOfType([Pn.func,Pn.string]),transformImageUri:Pn.func,components:Pn.object};var Ur={};function Br(e){if(0===e.length||1===e.length)return e;var t=e.join(".");return Ur[t]||(Ur[t]=function(e){var t=e.length;return 0===t||1===t?e:2===t?[e[0],e[1],"".concat(e[0],".").concat(e[1]),"".concat(e[1],".").concat(e[0])]:3===t?[e[0],e[1],e[2],"".concat(e[0],".").concat(e[1]),"".concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[0]),"".concat(e[1],".").concat(e[2]),"".concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[1],".").concat(e[0])]:t>=4?[e[0],e[1],e[2],e[3],"".concat(e[0],".").concat(e[1]),"".concat(e[0],".").concat(e[2]),"".concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[0]),"".concat(e[1],".").concat(e[2]),"".concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[1]),"".concat(e[2],".").concat(e[3]),"".concat(e[3],".").concat(e[0]),"".concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[0]),"".concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[1],".").concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[2],".").concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[3],".").concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[2],".").concat(e[1],".").concat(e[0])]:void 0}(e)),Ur[t]}function Hr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=e.filter((function(e){return"token"!==e})),a=Br(r);return a.reduce((function(e,t){return Fr(Fr({},e),n[t])}),t)}function Gr(e){return e.join(" ")}function zr(e){var t=e.node,n=e.stylesheet,a=e.style,i=void 0===a?{}:a,o=e.useInlineStyles,s=e.key,l=t.properties,c=t.type,u=t.tagName,d=t.value;if("text"===c)return d;if(u){var p,m=function(e,t){var n=0;return function(r){return n+=1,r.map((function(r,a){return zr({node:r,stylesheet:e,useInlineStyles:t,key:"code-segment-".concat(n,"-").concat(a)})}))}}(n,o);if(o){var f=Object.keys(n).reduce((function(e,t){return t.split(".").forEach((function(t){e.includes(t)||e.push(t)})),e}),[]),g=l.className&&l.className.includes("token")?["token"]:[],h=l.className&&g.concat(l.className.filter((function(e){return!f.includes(e)})));p=Fr(Fr({},l),{},{className:Gr(h)||void 0,style:Hr(l.className,Object.assign({},l.style,i),n)})}else p=Fr(Fr({},l),{},{className:Gr(l.className)});var b=m(t.children);return r.createElement(u,Dr({key:s},p),b)}}var $r=["language","children","style","customStyle","codeTagProps","useInlineStyles","showLineNumbers","showInlineLineNumbers","startingLineNumber","lineNumberContainerStyle","lineNumberStyle","wrapLines","wrapLongLines","lineProps","renderer","PreTag","CodeTag","code","astGenerator"];function jr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Vr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?jr(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Wr=/\n/g;function Kr(e){var t=e.codeString,n=e.codeStyle,a=e.containerStyle,i=void 0===a?{float:"left",paddingRight:"10px"}:a,o=e.numberStyle,s=void 0===o?{}:o,l=e.startingLineNumber;return r.createElement("code",{style:Object.assign({},n,i)},function(e){var t=e.lines,n=e.startingLineNumber,a=e.style;return t.map((function(e,t){var i=t+n;return r.createElement("span",{key:"line-".concat(t),className:"react-syntax-highlighter-line-number",style:"function"===typeof a?a(i):a},"".concat(i,"\n"))}))}({lines:t.replace(/\n$/,"").split("\n"),style:s,startingLineNumber:l}))}function qr(e,t){return{type:"element",tagName:"span",properties:{key:"line-number--".concat(e),className:["comment","linenumber","react-syntax-highlighter-line-number"],style:t},children:[{type:"text",value:e}]}}function Yr(e,t,n){var r,a={display:"inline-block",minWidth:(r=n,"".concat(r.toString().length,".25em")),paddingRight:"1em",textAlign:"right",userSelect:"none"},i="function"===typeof e?e(t):e;return Vr(Vr({},a),i)}function Xr(e){var t=e.children,n=e.lineNumber,r=e.lineNumberStyle,a=e.largestLineNumber,i=e.showInlineLineNumbers,o=e.lineProps,s=void 0===o?{}:o,l=e.className,c=void 0===l?[]:l,u=e.showLineNumbers,d=e.wrapLongLines,p="function"===typeof s?s(n):s;if(p.className=c,n&&i){var m=Yr(r,n,a);t.unshift(qr(n,m))}return d&u&&(p.style=Vr(Vr({},p.style),{},{display:"flex"})),{type:"element",tagName:"span",properties:p,children:t}}function Zr(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=0;r<e.length;r++){var a=e[r];if("text"===a.type)n.push(Xr({children:[a],className:p(new Set(t))}));else if(a.children){var i=t.concat(a.properties.className);Zr(a.children,i).forEach((function(e){return n.push(e)}))}}return n}function Qr(e,t,n,r,a,i,o,s,l){var c,u=Zr(e.value),d=[],p=-1,m=0;function f(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return Xr({children:e,lineNumber:t,lineNumberStyle:s,largestLineNumber:o,showInlineLineNumbers:a,lineProps:n,className:i,showLineNumbers:r,wrapLongLines:l})}function g(e,t){if(r&&t&&a){var n=Yr(s,t,o);e.unshift(qr(t,n))}return e}function h(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return t||r.length>0?f(e,n,r):g(e,n)}for(var b=function(){var e=u[m],t=e.children[0].value;if(t.match(Wr)){var n=t.split("\n");n.forEach((function(t,a){var o=r&&d.length+i,s={type:"text",value:"".concat(t,"\n")};if(0===a){var l=h(u.slice(p+1,m).concat(Xr({children:[s],className:e.properties.className})),o);d.push(l)}else if(a===n.length-1){var c=u[m+1]&&u[m+1].children&&u[m+1].children[0],f={type:"text",value:"".concat(t)};if(c){var g=Xr({children:[f],className:e.properties.className});u.splice(m+1,0,g)}else{var b=h([f],o,e.properties.className);d.push(b)}}else{var E=h([s],o,e.properties.className);d.push(E)}})),p=m}m++};m<u.length;)b();if(p!==u.length-1){var E=u.slice(p+1,u.length);if(E&&E.length){var y=h(E,r&&d.length+i);d.push(y)}}return t?d:(c=[]).concat.apply(c,d)}function Jr(e){var t=e.rows,n=e.stylesheet,r=e.useInlineStyles;return t.map((function(e,t){return zr({node:e,stylesheet:n,useInlineStyles:r,key:"code-segement".concat(t)})}))}function ea(e){return e&&"undefined"!==typeof e.highlightAuto}var ta,na,ra=n(9158),aa=(ta=n.n(ra)(),na={'code[class*="language-"]':{color:"black",background:"none",textShadow:"0 1px white",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"black",background:"#f5f2f0",textShadow:"0 1px white",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto"},'pre[class*="language-"]::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"]::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"]::selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"] ::selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"]::selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"] ::selection':{textShadow:"none",background:"#b3d4fc"},':not(pre) > code[class*="language-"]':{background:"#f5f2f0",padding:".1em",borderRadius:".3em",whiteSpace:"normal"},comment:{color:"slategray"},prolog:{color:"slategray"},doctype:{color:"slategray"},cdata:{color:"slategray"},punctuation:{color:"#999"},namespace:{Opacity:".7"},property:{color:"#905"},tag:{color:"#905"},boolean:{color:"#905"},number:{color:"#905"},constant:{color:"#905"},symbol:{color:"#905"},deleted:{color:"#905"},selector:{color:"#690"},"attr-name":{color:"#690"},string:{color:"#690"},char:{color:"#690"},builtin:{color:"#690"},inserted:{color:"#690"},operator:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},entity:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)",cursor:"help"},url:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},".language-css .token.string":{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},".style .token.string":{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},atrule:{color:"#07a"},"attr-value":{color:"#07a"},keyword:{color:"#07a"},function:{color:"#DD4A68"},"class-name":{color:"#DD4A68"},regex:{color:"#e90"},important:{color:"#e90",fontWeight:"bold"},variable:{color:"#e90"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}},function(e){var t=e.language,n=e.children,a=e.style,i=void 0===a?na:a,o=e.customStyle,s=void 0===o?{}:o,c=e.codeTagProps,u=void 0===c?{className:t?"language-".concat(t):void 0,style:Vr(Vr({},i['code[class*="language-"]']),i['code[class*="language-'.concat(t,'"]')])}:c,d=e.useInlineStyles,p=void 0===d||d,m=e.showLineNumbers,f=void 0!==m&&m,g=e.showInlineLineNumbers,h=void 0===g||g,b=e.startingLineNumber,E=void 0===b?1:b,y=e.lineNumberContainerStyle,T=e.lineNumberStyle,S=void 0===T?{}:T,v=e.wrapLines,A=e.wrapLongLines,_=void 0!==A&&A,k=e.lineProps,C=void 0===k?{}:k,w=e.renderer,N=e.PreTag,I=void 0===N?"pre":N,R=e.CodeTag,x=void 0===R?"code":R,O=e.code,L=void 0===O?(Array.isArray(n)?n[0]:n)||"":O,P=e.astGenerator,D=l(e,$r);P=P||ta;var M=f?r.createElement(Kr,{containerStyle:y,codeStyle:u.style||{},numberStyle:S,startingLineNumber:E,codeString:L}):null,F=i.hljs||i['pre[class*="language-"]']||{backgroundColor:"#fff"},U=ea(P)?"hljs":"prismjs",B=p?Object.assign({},D,{style:Object.assign({},F,s)}):Object.assign({},D,{className:D.className?"".concat(U," ").concat(D.className):U,style:Object.assign({},s)});if(u.style=Vr(Vr({},u.style),{},_?{whiteSpace:"pre-wrap"}:{whiteSpace:"pre"}),!P)return r.createElement(I,B,M,r.createElement(x,u,L));(void 0===v&&w||_)&&(v=!0),w=w||Jr;var H=[{type:"text",value:L}],G=function(e){var t=e.astGenerator,n=e.language,r=e.code,a=e.defaultCodeValue;if(ea(t)){var i=function(e,t){return-1!==e.listLanguages().indexOf(t)}(t,n);return"text"===n?{value:a,language:"text"}:i?t.highlight(n,r):t.highlightAuto(r)}try{return n&&"text"!==n?{value:t.highlight(r,n)}:{value:a}}catch(o){return{value:a}}}({astGenerator:P,language:t,code:L,defaultCodeValue:H});null===G.language&&(G.value=H);var z=Qr(G,v,C,f,h,E,G.value.length+E,S,_);return r.createElement(I,B,r.createElement(x,u,!h&&M,w({rows:z,stylesheet:i,useInlineStyles:p})))});aa.supportedLanguages=["abap","abnf","actionscript","ada","agda","al","antlr4","apacheconf","apex","apl","applescript","aql","arduino","arff","asciidoc","asm6502","asmatmel","aspnet","autohotkey","autoit","avisynth","avro-idl","bash","basic","batch","bbcode","bicep","birb","bison","bnf","brainfuck","brightscript","bro","bsl","c","cfscript","chaiscript","cil","clike","clojure","cmake","cobol","coffeescript","concurnas","coq","cpp","crystal","csharp","cshtml","csp","css-extras","css","csv","cypher","d","dart","dataweave","dax","dhall","diff","django","dns-zone-file","docker","dot","ebnf","editorconfig","eiffel","ejs","elixir","elm","erb","erlang","etlua","excel-formula","factor","false","firestore-security-rules","flow","fortran","fsharp","ftl","gap","gcode","gdscript","gedcom","gherkin","git","glsl","gml","gn","go-module","go","graphql","groovy","haml","handlebars","haskell","haxe","hcl","hlsl","hoon","hpkp","hsts","http","ichigojam","icon","icu-message-format","idris","iecst","ignore","inform7","ini","io","j","java","javadoc","javadoclike","javascript","javastacktrace","jexl","jolie","jq","js-extras","js-templates","jsdoc","json","json5","jsonp","jsstacktrace","jsx","julia","keepalived","keyman","kotlin","kumir","kusto","latex","latte","less","lilypond","liquid","lisp","livescript","llvm","log","lolcode","lua","magma","makefile","markdown","markup-templating","markup","matlab","maxscript","mel","mermaid","mizar","mongodb","monkey","moonscript","n1ql","n4js","nand2tetris-hdl","naniscript","nasm","neon","nevod","nginx","nim","nix","nsis","objectivec","ocaml","opencl","openqasm","oz","parigp","parser","pascal","pascaligo","pcaxis","peoplecode","perl","php-extras","php","phpdoc","plsql","powerquery","powershell","processing","prolog","promql","properties","protobuf","psl","pug","puppet","pure","purebasic","purescript","python","q","qml","qore","qsharp","r","racket","reason","regex","rego","renpy","rest","rip","roboconf","robotframework","ruby","rust","sas","sass","scala","scheme","scss","shell-session","smali","smalltalk","smarty","sml","solidity","solution-file","soy","sparql","splunk-spl","sqf","sql","squirrel","stan","stylus","swift","systemd","t4-cs","t4-templating","t4-vb","tap","tcl","textile","toml","tremor","tsx","tt2","turtle","twig","typescript","typoscript","unrealscript","uorazor","uri","v","vala","vbnet","velocity","verilog","vhdl","vim","visual-basic","warpscript","wasm","web-idl","wiki","wolfram","wren","xeora","xml-doc","xojo","xquery","yaml","yang","zig"];for(var ia=aa,oa={'code[class*="language-"]':{color:"#e3eaf2",background:"none",fontFamily:'Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace',textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#e3eaf2",background:"#111b27",fontFamily:'Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace',textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:"0.5em 0",overflow:"auto"},'pre[class*="language-"]::-moz-selection':{background:"#3c526d"},'pre[class*="language-"] ::-moz-selection':{background:"#3c526d"},'code[class*="language-"]::-moz-selection':{background:"#3c526d"},'code[class*="language-"] ::-moz-selection':{background:"#3c526d"},'pre[class*="language-"]::selection':{background:"#3c526d"},'pre[class*="language-"] ::selection':{background:"#3c526d"},'code[class*="language-"]::selection':{background:"#3c526d"},'code[class*="language-"] ::selection':{background:"#3c526d"},':not(pre) > code[class*="language-"]':{background:"#111b27",padding:"0.1em 0.3em",borderRadius:"0.3em",whiteSpace:"normal"},comment:{color:"#8da1b9"},prolog:{color:"#8da1b9"},doctype:{color:"#8da1b9"},cdata:{color:"#8da1b9"},punctuation:{color:"#e3eaf2"},"delimiter.important":{color:"#66cccc",fontWeight:"inherit"},"selector.parent":{color:"#66cccc"},tag:{color:"#66cccc"},"tag.punctuation":{color:"#66cccc"},"attr-name":{color:"#e6d37a"},boolean:{color:"#e6d37a"},"boolean.important":{color:"#e6d37a"},number:{color:"#e6d37a"},constant:{color:"#e6d37a"},"selector.attribute":{color:"#e6d37a"},"class-name":{color:"#6cb8e6"},key:{color:"#6cb8e6"},parameter:{color:"#6cb8e6"},property:{color:"#6cb8e6"},"property-access":{color:"#6cb8e6"},variable:{color:"#6cb8e6"},"attr-value":{color:"#91d076"},inserted:{color:"#91d076"},color:{color:"#91d076"},"selector.value":{color:"#91d076"},string:{color:"#91d076"},"string.url-link":{color:"#91d076"},builtin:{color:"#f4adf4"},"keyword-array":{color:"#f4adf4"},package:{color:"#f4adf4"},regex:{color:"#f4adf4"},function:{color:"#c699e3"},"selector.class":{color:"#c699e3"},"selector.id":{color:"#c699e3"},"atrule.rule":{color:"#e9ae7e"},combinator:{color:"#e9ae7e"},keyword:{color:"#e9ae7e"},operator:{color:"#e9ae7e"},"pseudo-class":{color:"#e9ae7e"},"pseudo-element":{color:"#e9ae7e"},selector:{color:"#e9ae7e"},unit:{color:"#e9ae7e"},deleted:{color:"#cd6660"},important:{color:"#cd6660",fontWeight:"bold"},"keyword-this":{color:"#6cb8e6",fontWeight:"bold"},this:{color:"#6cb8e6",fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},entity:{cursor:"help"},".language-markdown .token.title":{color:"#6cb8e6",fontWeight:"bold"},".language-markdown .token.title .token.punctuation":{color:"#6cb8e6",fontWeight:"bold"},".language-markdown .token.blockquote.punctuation":{color:"#f4adf4"},".language-markdown .token.code":{color:"#66cccc"},".language-markdown .token.hr.punctuation":{color:"#6cb8e6"},".language-markdown .token.url .token.content":{color:"#91d076"},".language-markdown .token.url-link":{color:"#e6d37a"},".language-markdown .token.list.punctuation":{color:"#f4adf4"},".language-markdown .token.table-header":{color:"#e3eaf2"},".language-json .token.operator":{color:"#e3eaf2"},".language-scss .token.variable":{color:"#66cccc"},"token.tab:not(:empty):before":{color:"#8da1b9"},"token.cr:before":{color:"#8da1b9"},"token.lf:before":{color:"#8da1b9"},"token.space:before":{color:"#8da1b9"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a":{color:"#111b27",background:"#6cb8e6"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button":{color:"#111b27",background:"#6cb8e6"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:hover":{color:"#111b27",background:"#6cb8e6da",textDecoration:"none"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:focus":{color:"#111b27",background:"#6cb8e6da",textDecoration:"none"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover":{color:"#111b27",background:"#6cb8e6da",textDecoration:"none"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus":{color:"#111b27",background:"#6cb8e6da",textDecoration:"none"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span":{color:"#111b27",background:"#8da1b9"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:hover":{color:"#111b27",background:"#8da1b9"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus":{color:"#111b27",background:"#8da1b9"},".line-highlight.line-highlight":{background:"linear-gradient(to right, #3c526d5f 70%, #3c526d55)"},".line-highlight.line-highlight:before":{backgroundColor:"#8da1b9",color:"#111b27",boxShadow:"0 1px #3c526d"},".line-highlight.line-highlight[data-end]:after":{backgroundColor:"#8da1b9",color:"#111b27",boxShadow:"0 1px #3c526d"},"pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows > span:hover:before":{backgroundColor:"#8da1b918"},".line-numbers.line-numbers .line-numbers-rows":{borderRight:"1px solid #0b121b",background:"#0b121b7a"},".line-numbers .line-numbers-rows > span:before":{color:"#8da1b9da"},".rainbow-braces .token.token.punctuation.brace-level-1":{color:"#e6d37a"},".rainbow-braces .token.token.punctuation.brace-level-5":{color:"#e6d37a"},".rainbow-braces .token.token.punctuation.brace-level-9":{color:"#e6d37a"},".rainbow-braces .token.token.punctuation.brace-level-2":{color:"#f4adf4"},".rainbow-braces .token.token.punctuation.brace-level-6":{color:"#f4adf4"},".rainbow-braces .token.token.punctuation.brace-level-10":{color:"#f4adf4"},".rainbow-braces .token.token.punctuation.brace-level-3":{color:"#6cb8e6"},".rainbow-braces .token.token.punctuation.brace-level-7":{color:"#6cb8e6"},".rainbow-braces .token.token.punctuation.brace-level-11":{color:"#6cb8e6"},".rainbow-braces .token.token.punctuation.brace-level-4":{color:"#c699e3"},".rainbow-braces .token.token.punctuation.brace-level-8":{color:"#c699e3"},".rainbow-braces .token.token.punctuation.brace-level-12":{color:"#c699e3"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)":{backgroundColor:"#cd66601f"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)":{backgroundColor:"#cd66601f"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)":{backgroundColor:"#91d0761f"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)":{backgroundColor:"#91d0761f"},".command-line .command-line-prompt":{borderRight:"1px solid #0b121b"},".command-line .command-line-prompt > span:before":{color:"#8da1b9da"}},sa={tokenize:function(e,t,n){return function(t){return e.consume(t),r};function r(t){return 87===t||119===t?(e.consume(t),a):n(t)}function a(t){return 87===t||119===t?(e.consume(t),i):n(t)}function i(t){return 46===t?(e.consume(t),o):n(t)}function o(e){return null===e||_e(e)?n(e):t(e)}},partial:!0},la={tokenize:function(e,t,n){var r,a;return i;function i(t){return 38===t?e.check(da,s,o)(t):46===t||95===t?e.check(ua,s,o)(t):null===t||ve(t)||Ce(t)||45!==t&&we(t)?s(t):(e.consume(t),i)}function o(t){return 46===t?(a=r,r=void 0,e.consume(t),i):(95===t&&(r=!0),e.consume(t),i)}function s(e){return a||r?n(e):t(e)}},partial:!0},ca={tokenize:function(e,t){var n=0;return r;function r(o){return 38===o?e.check(da,t,a)(o):(40===o&&n++,41===o?e.check(ua,i,a)(o):ya(o)?t(o):Ea(o)?e.check(ua,t,a)(o):(e.consume(o),r))}function a(t){return e.consume(t),r}function i(e){return--n<0?t(e):a(e)}},partial:!0},ua={tokenize:function(e,t,n){return function(t){return e.consume(t),r};function r(a){return Ea(a)?(e.consume(a),r):ya(a)?t(a):n(a)}},partial:!0},da={tokenize:function(e,t,n){return function(t){return e.consume(t),r};function r(t){return he(t)?(e.consume(t),r):59===t?(e.consume(t),a):n(t)}function a(e){return ya(e)?t(e):n(e)}},partial:!0},pa={tokenize:function(e,t,n){var r=this;return function(t){if(87!==t&&119!==t||!Sa(r.previous)||_a(r.events))return n(t);return e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(sa,e.attempt(la,e.attempt(ca,a),n),n)(t)};function a(n){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(n)}},previous:Sa},ma={tokenize:function(e,t,n){var r=this;return function(t){if(72!==t&&104!==t||!va(r.previous)||_a(r.events))return n(t);return e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),e.consume(t),a};function a(t){return 84===t||116===t?(e.consume(t),i):n(t)}function i(t){return 84===t||116===t?(e.consume(t),o):n(t)}function o(t){return 80===t||112===t?(e.consume(t),s):n(t)}function s(t){return 83===t||115===t?(e.consume(t),l):l(t)}function l(t){return 58===t?(e.consume(t),c):n(t)}function c(t){return 47===t?(e.consume(t),u):n(t)}function u(t){return 47===t?(e.consume(t),d):n(t)}function d(t){return null===t||ve(t)||Ce(t)||we(t)?n(t):e.attempt(la,e.attempt(ca,p),n)(t)}function p(n){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(n)}},previous:va},fa={tokenize:function(e,t,n){var r,a,i=this;return function(t){if(!Ta(t)||!Aa(i.previous)||_a(i.events))return n(t);return e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),o(t)};function o(t){return Ta(t)?(e.consume(t),o):64===t?(e.consume(t),s):n(t)}function s(t){return 46===t?e.check(ua,d,l)(t):45===t||95===t?e.check(ua,n,c)(t):ye(t)?(!a&&be(t)&&(a=!0),e.consume(t),s):d(t)}function l(t){return e.consume(t),r=!0,a=void 0,s}function c(t){return e.consume(t),u}function u(t){return 46===t?e.check(ua,n,l)(t):s(t)}function d(i){return r&&!a?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(i)):n(i)}},previous:Aa},ga={},ha={text:ga},ba=48;ba<123;)ga[ba]=fa,58===++ba?ba=65:91===ba&&(ba=97);function Ea(e){return 33===e||34===e||39===e||41===e||42===e||44===e||46===e||58===e||59===e||60===e||63===e||95===e||126===e}function ya(e){return null===e||60===e||Ae(e)}function Ta(e){return 43===e||45===e||46===e||95===e||ye(e)}function Sa(e){return null===e||40===e||42===e||95===e||126===e||Ae(e)}function va(e){return null===e||!he(e)}function Aa(e){return 47!==e&&va(e)}function _a(e){for(var t=e.length,n=!1;t--;){var r=e[t][1];if(("labelLink"===r.type||"labelImage"===r.type)&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}ga[43]=fa,ga[45]=fa,ga[46]=fa,ga[95]=fa,ga[72]=[fa,ma],ga[104]=[fa,ma],ga[87]=[fa,pa],ga[119]=[fa,pa];var ka={tokenize:function(e,t,n){var r=this;return Ie(e,(function(e){var a=r.events[r.events.length-1];return a&&"gfmFootnoteDefinitionIndent"===a[1].type&&4===a[2].sliceSerialize(a[1],!0).length?t(e):n(e)}),"gfmFootnoteDefinitionIndent",5)},partial:!0};function Ca(){var e;return{document:i({},91,{tokenize:Ra,continuation:{tokenize:xa},exit:Oa}),text:(e={},i(e,91,{tokenize:Ia}),i(e,93,{add:"after",tokenize:wa,resolveTo:Na}),e)}}function wa(e,t,n){for(var r,a=this,i=a.events.length,o=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);i--;){var s=a.events[i][1];if("labelImage"===s.type){r=s;break}if("gfmFootnoteCall"===s.type||"labelLink"===s.type||"label"===s.type||"image"===s.type||"link"===s.type)break}return function(i){if(!r||!r._balanced)return n(i);var s=nt(a.sliceSerialize({start:r.end,end:a.now()}));if(94!==s.charCodeAt(0)||!o.includes(s.slice(1)))return n(i);return e.enter("gfmFootnoteCallLabelMarker"),e.consume(i),e.exit("gfmFootnoteCallLabelMarker"),t(i)}}function Na(e,t){for(var n=e.length;n--;)if("labelImage"===e[n][1].type&&"enter"===e[n][0]){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";var r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},a={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};a.end.column++,a.end.offset++,a.end._bufferIndex++;var i={type:"gfmFootnoteCallString",start:Object.assign({},a.end),end:Object.assign({},e[e.length-1][1].start)},o={type:"chunkString",contentType:"string",start:Object.assign({},i.start),end:Object.assign({},i.end)},s=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",a,t],["exit",a,t],["enter",i,t],["enter",o,t],["exit",o,t],["exit",i,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice.apply(e,[n,e.length-n+1].concat(s)),e}function Ia(e,t,n){var r,a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]),o=0;return function(t){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(t),e.exit("gfmFootnoteCallLabelMarker"),s};function s(t){return 94!==t?n(t):(e.enter("gfmFootnoteCallMarker"),e.consume(t),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",l)}function l(s){var u;return null===s||91===s||o++>999?n(s):93===s?r?(e.exit("chunkString"),u=e.exit("gfmFootnoteCallString"),i.includes(nt(a.sliceSerialize(u)))?function(n){return e.enter("gfmFootnoteCallLabelMarker"),e.consume(n),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t}(s):n(s)):n(s):(e.consume(s),Ae(s)||(r=!0),92===s?c:l)}function c(t){return 91===t||92===t||93===t?(e.consume(t),o++,l):l(t)}}function Ra(e,t,n){var r,a,i=this,o=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]),s=0;return function(t){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionLabelMarker"),l};function l(t){return 94===t?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),c):n(t)}function c(t){var o;return null===t||91===t||s>999?n(t):93===t?a?(o=e.exit("gfmFootnoteDefinitionLabelString"),r=nt(i.sliceSerialize(o)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),p):n(t):_e(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),s++,c):(e.enter("chunkString").contentType="string",u(t))}function u(t){return null===t||_e(t)||91===t||93===t||s>999?(e.exit("chunkString"),c(t)):(Ae(t)||(a=!0),s++,e.consume(t),92===t?d:u)}function d(t){return 91===t||92===t||93===t?(e.consume(t),s++,u):u(t)}function p(t){return 58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),Ie(e,m,"gfmFootnoteDefinitionWhitespace")):n(t)}function m(e){return o.includes(r)||o.push(r),t(e)}}function xa(e,t,n){return e.check(Le,t,e.attempt(ka,t,n))}function Oa(e){e.exit("gfmFootnoteDefinition")}function La(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.singleTilde,n={tokenize:a,resolveAll:r};return null!==t&&void 0!==t||(t=!0),{text:i({},126,n),insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function r(e,t){for(var n=-1;++n<e.length;)if("enter"===e[n][0]&&"strikethroughSequenceTemporary"===e[n][1].type&&e[n][1]._close)for(var r=n;r--;)if("exit"===e[r][0]&&"strikethroughSequenceTemporary"===e[r][1].type&&e[r][1]._open&&e[n][1].end.offset-e[n][1].start.offset===e[r][1].end.offset-e[r][1].start.offset){e[n][1].type="strikethroughSequence",e[r][1].type="strikethroughSequence";var a={type:"strikethrough",start:Object.assign({},e[r][1].start),end:Object.assign({},e[n][1].end)},i={type:"strikethroughText",start:Object.assign({},e[r][1].end),end:Object.assign({},e[n][1].start)},o=[["enter",a,t],["enter",e[r][1],t],["exit",e[r][1],t],["enter",i,t]];ue(o,o.length,0,Ve(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),ue(o,o.length,0,[["exit",i,t],["enter",e[n][1],t],["exit",e[n][1],t],["exit",a,t]]),ue(e,r-1,n-r+3,o),n=r+o.length-2;break}for(n=-1;++n<e.length;)"strikethroughSequenceTemporary"===e[n][1].type&&(e[n][1].type="data");return e}function a(e,n,r){var a=this.previous,i=this.events,o=0;return function(t){if(126===a&&"characterEscape"!==i[i.length-1][1].type)return r(t);return e.enter("strikethroughSequenceTemporary"),s(t)};function s(i){var l=_t(a);if(126===i)return o>1?r(i):(e.consume(i),o++,s);if(o<2&&!t)return r(i);var c=e.exit("strikethroughSequenceTemporary"),u=_t(i);return c._open=!u||2===u&&Boolean(l),c._close=!l||2===l&&Boolean(u),n(i)}}}var Pa={flow:{null:{tokenize:function(e,t,n){var r,a,i=this,o=[],s=0;return function(t){if(e.enter("table")._align=o,e.enter("tableHead"),e.enter("tableRow"),124===t)return l(t);return s++,e.enter("temporaryTableCellContent"),d(t)};function l(t){return e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),r=!0,c}function c(t){return null===t||_e(t)?function(t){if(null===t)return n(t);e.exit("tableRow"),e.exit("tableHead");var r=i.interrupt;return i.interrupt=!0,e.attempt({tokenize:N,partial:!0},(function(t){return i.interrupt=r,e.enter("tableDelimiterRow"),m(t)}),(function(e){return i.interrupt=r,n(e)}))(t)}(t):ke(t)?(e.enter("whitespace"),e.consume(t),u):(r&&(r=void 0,s++),124===t?l(t):(e.enter("temporaryTableCellContent"),d(t)))}function u(t){return ke(t)?(e.consume(t),u):(e.exit("whitespace"),c(t))}function d(t){return null===t||124===t||Ae(t)?(e.exit("temporaryTableCellContent"),c(t)):(e.consume(t),92===t?p:d)}function p(t){return 92===t||124===t?(e.consume(t),d):d(t)}function m(t){return null===t||_e(t)?E(t):ke(t)?(e.enter("whitespace"),e.consume(t),f):45===t?(e.enter("tableDelimiterFiller"),e.consume(t),a=!0,o.push("none"),g):58===t?(e.enter("tableDelimiterAlignment"),e.consume(t),e.exit("tableDelimiterAlignment"),o.push("left"),h):124===t?(e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),m):n(t)}function f(t){return ke(t)?(e.consume(t),f):(e.exit("whitespace"),m(t))}function g(t){return 45===t?(e.consume(t),g):(e.exit("tableDelimiterFiller"),58===t?(e.enter("tableDelimiterAlignment"),e.consume(t),e.exit("tableDelimiterAlignment"),o[o.length-1]="left"===o[o.length-1]?"center":"right",b):m(t))}function h(t){return 45===t?(e.enter("tableDelimiterFiller"),e.consume(t),a=!0,g):n(t)}function b(t){return null===t||_e(t)?E(t):ke(t)?(e.enter("whitespace"),e.consume(t),f):124===t?(e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),m):n(t)}function E(t){return e.exit("tableDelimiterRow"),a&&s===o.length?null===t?y(t):e.check(Da,y,e.attempt({tokenize:N,partial:!0},Ie(e,T,"linePrefix",4),y))(t):n(t)}function y(n){return e.exit("table"),t(n)}function T(t){return e.enter("tableBody"),S(t)}function S(t){return e.enter("tableRow"),124===t?v(t):(e.enter("temporaryTableCellContent"),k(t))}function v(t){return e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),A}function A(t){return null===t||_e(t)?function(t){if(e.exit("tableRow"),null===t)return w(t);return e.check(Da,w,e.attempt({tokenize:N,partial:!0},Ie(e,S,"linePrefix",4),w))(t)}(t):ke(t)?(e.enter("whitespace"),e.consume(t),_):124===t?v(t):(e.enter("temporaryTableCellContent"),k(t))}function _(t){return ke(t)?(e.consume(t),_):(e.exit("whitespace"),A(t))}function k(t){return null===t||124===t||Ae(t)?(e.exit("temporaryTableCellContent"),A(t)):(e.consume(t),92===t?C:k)}function C(t){return 92===t||124===t?(e.consume(t),k):k(t)}function w(t){return e.exit("tableBody"),y(t)}function N(e,t,n){return function(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),Ie(e,r,"linePrefix")};function r(r){if(i.parser.lazy[i.now().line]||null===r||_e(r))return n(r);var a=i.events[i.events.length-1];return!i.parser.constructs.disable.null.includes("codeIndented")&&a&&"linePrefix"===a[1].type&&a[2].sliceSerialize(a[1],!0).length>=4?n(r):(i._gfmTableDynamicInterruptHack=!0,e.check(i.parser.constructs.flow,(function(e){return i._gfmTableDynamicInterruptHack=!1,n(e)}),(function(e){return i._gfmTableDynamicInterruptHack=!1,t(e)}))(r))}}},resolve:function(e,t){var n,r,a,i,o,s,l,c=-1;for(;++c<e.length;){var u=e[c][1];if(a&&("temporaryTableCellContent"===u.type&&(i=i||c,o=c),("tableCellDivider"===u.type||"tableRow"===u.type)&&o)){var d={type:"tableContent",start:e[i][1].start,end:e[o][1].end},p={type:"chunkText",start:d.start,end:d.end,contentType:"text"};e.splice(i,o-i+1,["enter",d,t],["enter",p,t],["exit",p,t],["exit",d,t]),c-=o-i-3,i=void 0,o=void 0}if("exit"===e[c][0]&&void 0!==s&&s+(l?0:1)<c&&("tableCellDivider"===u.type||"tableRow"===u.type&&(s+3<c||"whitespace"!==e[s][1].type))){var m={type:r?"tableDelimiter":n?"tableHeader":"tableData",start:e[s][1].start,end:e[c][1].end};e.splice(c+("tableCellDivider"===u.type?1:0),0,["exit",m,t]),e.splice(s,0,["enter",m,t]),s=(c+=2)+1,l=!0}"tableRow"===u.type&&(a="enter"===e[c][0])&&(s=c+1,l=!1),"tableDelimiterRow"===u.type&&(r="enter"===e[c][0])&&(s=c+1,l=!1),"tableHead"===u.type&&(n="enter"===e[c][0])}return e}}}},Da={tokenize:function(e,t,n){var r=0;return function(t){return e.enter("check"),e.consume(t),a};function a(i){return-1===i||32===i?(e.consume(i),4===++r?t:a):null===i||Ae(i)?t(i):n(i)}},partial:!0};var Ma={tokenize:function(e,t,n){var r=this;return function(t){if(null!==r.previous||!r._gfmTasklistFirstContentOfListItem)return n(t);return e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(t),e.exit("taskListCheckMarker"),a};function a(t){return Ae(t)?(e.enter("taskListCheckValueUnchecked"),e.consume(t),e.exit("taskListCheckValueUnchecked"),i):88===t||120===t?(e.enter("taskListCheckValueChecked"),e.consume(t),e.exit("taskListCheckValueChecked"),i):n(t)}function i(r){return 93===r?(e.enter("taskListCheckMarker"),e.consume(r),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),e.check({tokenize:Ua},t,n)):n(r)}}},Fa={text:i({},91,Ma)};function Ua(e,t,n){var r=this;return Ie(e,(function(e){var a=r.events[r.events.length-1];return(a&&"whitespace"===a[1].type||_e(e))&&null!==e?t(e):n(e)}),"whitespace")}function Ba(e){return me([ha,Ca(),La(e),Pa,Fa])}function Ha(e,t){var n=String(e);if("string"!==typeof t)throw new TypeError("Expected character");for(var r=0,a=n.indexOf(t);-1!==a;)r++,a=n.indexOf(t,a+t.length);return r}var Ga={}.hasOwnProperty,za=function(e,t,n,r){var a,i;"string"===typeof t||t instanceof RegExp?(i=[[t,n]],a=r):(i=t,a=n),a||(a={});for(var o=an(a.ignore||[]),s=function(e){var t=[];if("object"!==typeof e)throw new TypeError("Expected array or object as schema");if(Array.isArray(e))for(var n=-1;++n<e.length;)t.push([$a(e[n][0]),ja(e[n][1])]);else{var r;for(r in e)Ga.call(e,r)&&t.push([$a(r),ja(e[r])])}return t}(i),l=-1;++l<s.length;)cn(e,"text",c);return e;function c(e,t){for(var n,r=-1;++r<t.length;){var a=t[r];if(o(a,n?n.children.indexOf(a):void 0,n))return;n=a}if(n)return function(e,t){var n,r=t[t.length-1],a=s[l][0],i=s[l][1],o=0,c=r.children.indexOf(e),u=!1,d=[];a.lastIndex=0;var m=a.exec(e.value);for(;m;){n=m.index;var f={index:m.index,input:m.input,stack:[].concat(p(t),[e])},g=i.apply(void 0,p(m).concat([f]));if("string"===typeof g&&(g=g.length>0?{type:"text",value:g}:void 0),!1!==g){var h;if(o!==n&&d.push({type:"text",value:e.value.slice(o,n)}),Array.isArray(g))(h=d).push.apply(h,p(g));else g&&d.push(g);o=n+m[0].length,u=!0}if(!a.global)break;m=a.exec(e.value)}if(u){var b;o<e.value.length&&d.push({type:"text",value:e.value.slice(o)}),(b=r.children).splice.apply(b,[c,1].concat(p(d)))}else d=[e];return c+d.length}(e,t)}};function $a(e){return"string"===typeof e?new RegExp(function(e){if("string"!==typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}(e),"g"):e}function ja(e){return"function"===typeof e?e:function(){return e}}var Va="phrasing",Wa=["autolink","link","image","label"],Ka={transforms:[function(e){za(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,Xa],[/([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/g,Za]],{ignore:["link","linkReference"]})}],enter:{literalAutolink:function(e){this.enter({type:"link",title:null,url:"",children:[]},e)},literalAutolinkEmail:Ya,literalAutolinkHttp:Ya,literalAutolinkWww:Ya},exit:{literalAutolink:function(e){this.exit(e)},literalAutolinkEmail:function(e){this.config.exit.autolinkEmail.call(this,e)},literalAutolinkHttp:function(e){this.config.exit.autolinkProtocol.call(this,e)},literalAutolinkWww:function(e){this.config.exit.data.call(this,e),this.stack[this.stack.length-1].url="http://"+this.sliceSerialize(e)}}},qa={unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:Va,notInConstruct:Wa},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:Va,notInConstruct:Wa},{character:":",before:"[ps]",after:"\\/",inConstruct:Va,notInConstruct:Wa}]};function Ya(e){this.config.enter.autolinkProtocol.call(this,e)}function Xa(e,t,n,r,a){var i="";if(!Qa(a))return!1;if(/^w/i.test(t)&&(n=t+n,t="",i="http://"),!function(e){var t=e.split(".");if(t.length<2||t[t.length-1]&&(/_/.test(t[t.length-1])||!/[a-zA-Z\d]/.test(t[t.length-1]))||t[t.length-2]&&(/_/.test(t[t.length-2])||!/[a-zA-Z\d]/.test(t[t.length-2])))return!1;return!0}(n))return!1;var o=function(e){var t,n,r,a,i=/[!"&'),.:;<>?\]}]+$/.exec(e);if(i)for(e=e.slice(0,i.index),t=(a=i[0]).indexOf(")"),n=Ha(e,"("),r=Ha(e,")");-1!==t&&n>r;)e+=a.slice(0,t+1),t=(a=a.slice(t+1)).indexOf(")"),r++;return[e,a]}(n+r);if(!o[0])return!1;var s={type:"link",title:null,url:i+t+o[0],children:[{type:"text",value:t+o[0]}]};return o[1]?[s,{type:"text",value:o[1]}]:s}function Za(e,t,n,r){return!(!Qa(r,!0)||/[_-\d]$/.test(n))&&{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function Qa(e,t){var n=e.input.charCodeAt(e.index-1);return(0===e.index||Ce(n)||we(n))&&(!t||47!==n)}function Ja(e){return e.label||!e.identifier?e.label||"":Yt(e.identifier)}function ei(e){var t=e||{},n=t.now||{},r=t.lineShift||0,a=n.line||1,i=n.column||1;return{move:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=e.split(/\r?\n|\r/g),n=t[t.length-1];return a+=t.length-1,i=1===t.length?i+n.length:1+n.length+r,e},current:function(){return{now:{line:a,column:i},lineShift:r}},shift:function(e){r+=e}}}function ti(e,t,n){var r=t.indexStack,a=e.children||[],i=ei(n),o=[],l=-1;for(r.push(-1);++l<a.length;){var c=a[l];r[r.length-1]=l,o.push(i.move(t.handle(c,e,t,s({before:"\n",after:"\n"},i.current())))),"list"!==c.type&&(t.bulletLastUsed=void 0),l<a.length-1&&o.push(i.move(u(c,a[l+1])))}return r.pop(),o.join("");function u(n,r){for(var a=t.join.length;a--;){var i=t.join[a](n,r,e,t);if(!0===i||1===i)break;if("number"===typeof i)return"\n".repeat(1+i);if(!1===i)return"\n\n\x3c!----\x3e\n\n"}return"\n\n"}}var ni=/\r?\n|\r/g;function ri(e,t){for(var n,r=[],a=0,i=0;n=ni.exec(e);)o(e.slice(a,n.index)),r.push(n[0]),a=n.index+n[0].length,i++;return o(e.slice(a)),r.join("");function o(e){r.push(t(e,i,!e))}}function ai(e){if(!e._compiled){var t=(e.atBreak?"[\\r\\n][\\t ]*":"")+(e.before?"(?:"+e.before+")":"");e._compiled=new RegExp((t?"("+t+")":"")+(/[|\\{}()[\]^$+*?.-]/.test(e.character)?"\\":"")+e.character+(e.after?"(?:"+e.after+")":""),"g")}return e._compiled}function ii(e,t){return oi(e,t.inConstruct,!0)&&!oi(e,t.notInConstruct,!1)}function oi(e,t,n){if(!t)return n;"string"===typeof t&&(t=[t]);for(var r=-1;++r<t.length;)if(e.includes(t[r]))return!0;return!1}function si(e,t,n){for(var r=(n.before||"")+(t||"")+(n.after||""),a=[],i=[],o={},s=-1;++s<e.unsafe.length;){var l=e.unsafe[s];if(ii(e.stack,l))for(var c=ai(l),u=void 0;u=c.exec(r);){var d="before"in l||Boolean(l.atBreak),p="after"in l,m=u.index+(d?u[1].length:0);a.includes(m)?(o[m].before&&!d&&(o[m].before=!1),o[m].after&&!p&&(o[m].after=!1)):(a.push(m),o[m]={before:d,after:p})}}a.sort(li);var f=n.before?n.before.length:0,g=r.length-(n.after?n.after.length:0);for(s=-1;++s<a.length;){var h=a[s];h<f||h>=g||(h+1<g&&a[s+1]===h+1&&o[h].after&&!o[h+1].before&&!o[h+1].after||a[s-1]===h-1&&o[h].before&&!o[h-1].before&&!o[h-1].after||(f!==h&&i.push(ci(r.slice(f,h),"\\")),f=h,!/[!-/:-@[-`{-~]/.test(r.charAt(h))||n.encode&&n.encode.includes(r.charAt(h))?(i.push("&#x"+r.charCodeAt(h).toString(16).toUpperCase()+";"),f++):i.push("\\")))}return i.push(ci(r.slice(f,g),n.after)),i.join("")}function li(e,t){return e-t}function ci(e,t){for(var n,r=/\\(?=[!-/:-@[-`{-~])/g,a=[],i=[],o=e+t,s=-1,l=0;n=r.exec(o);)a.push(n.index);for(;++s<a.length;)l!==a[s]&&i.push(e.slice(l,a[s])),i.push("\\"),l=a[s];return i.push(e.slice(l)),i.join("")}function ui(){return e.peek=function(){return"["},{unsafe:[{character:"[",inConstruct:["phrasing","label","reference"]}],handlers:{footnoteDefinition:function(e,t,n,r){var a=ei(r),i=a.move("[^"),o=n.enter("footnoteDefinition"),l=n.enter("label");return i+=a.move(si(n,Ja(e),s(s({},a.current()),{},{before:i,after:"]"}))),l(),i+=a.move("]:"+(e.children&&e.children.length>0?" ":"")),a.shift(4),i+=a.move(ri(ti(e,n,a.current()),(function(e,t,n){if(t)return(n?"":" ")+e;return e}))),o(),i},footnoteReference:e}};function e(e,t,n,r){var a=ei(r),i=a.move("[^"),o=n.enter("footnoteReference"),l=n.enter("reference");return i+=a.move(si(n,Ja(e),s(s({},a.current()),{},{before:i,after:"]"}))),l(),o(),i+=a.move("]")}}function di(e,t,n){var r=t.indexStack,a=e.children||[],i=[],o=-1,l=n.before;r.push(-1);for(var c=ei(n);++o<a.length;){var u=a[o],d=void 0;if(r[r.length-1]=o,o+1<a.length){var p=t.handle.handlers[a[o+1].type];p&&p.peek&&(p=p.peek),d=p?p(a[o+1],e,t,s({before:"",after:""},c.current())).charAt(0):""}else d=n.after;i.length>0&&("\r"===l||"\n"===l)&&"html"===u.type&&(i[i.length-1]=i[i.length-1].replace(/(\r?\n|\r)$/," "),l=" ",(c=ei(n)).move(i.join(""))),i.push(c.move(t.handle(u,e,t,s(s({},c.current()),{},{before:l,after:d})))),l=i[i.length-1].slice(-1)}return r.pop(),i.join("")}var pi={canContainEols:["delete"],enter:{strikethrough:function(e){this.enter({type:"delete",children:[]},e)}},exit:{strikethrough:function(e){this.exit(e)}}},mi={unsafe:[{character:"~",inConstruct:"phrasing"}],handlers:{delete:fi}};function fi(e,t,n,r){var a=ei(r),i=n.enter("emphasis"),o=a.move("~~");return o+=di(e,n,s(s({},a.current()),{},{before:o,after:"~"})),o+=a.move("~~"),i(),o}function gi(e,t,n){for(var r=e.value||"",a="`",i=-1;new RegExp("(^|[^`])"+a+"([^`]|$)").test(r);)a+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++i<n.unsafe.length;){var o=n.unsafe[i],s=ai(o),l=void 0;if(o.atBreak)for(;l=s.exec(r);){var c=l.index;10===r.charCodeAt(c)&&13===r.charCodeAt(c-1)&&c--,r=r.slice(0,c)+" "+r.slice(l.index+1)}}return a+r+a}function hi(e){return null===e||void 0===e?"":String(e)}function bi(e){return e.length}function Ei(e){var t="string"===typeof e?e.codePointAt(0):0;return 67===t||99===t?99:76===t||108===t?108:82===t||114===t?114:0}fi.peek=function(){return"~"},gi.peek=function(){return"`"};var yi={enter:{table:function(e){var t=e._align;this.enter({type:"table",align:t.map((function(e){return"none"===e?null:e})),children:[]},e),this.setData("inTable",!0)},tableData:Si,tableHeader:Si,tableRow:function(e){this.enter({type:"tableRow",children:[]},e)}},exit:{codeText:function(e){var t=this.resume();this.getData("inTable")&&(t=t.replace(/\\([\\|])/g,vi));this.stack[this.stack.length-1].value=t,this.exit(e)},table:function(e){this.exit(e),this.setData("inTable")},tableData:Ti,tableHeader:Ti,tableRow:Ti}};function Ti(e){this.exit(e)}function Si(e){this.enter({type:"tableCell",children:[]},e)}function vi(e,t){return"|"===t?t:e}function Ai(e){var t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,a=t.stringLength,i=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:"\n",inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[\t :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{table:function(e,t,n,r){return l(function(e,t,n){var r=e.children,a=-1,i=[],o=t.enter("table");for(;++a<r.length;)i[a]=c(r[a],t,n);return o(),i}(e,n,r),e.align)},tableRow:function(e,t,n,r){var a=l([c(e,n,r)]);return a.slice(0,a.indexOf("\n"))},tableCell:o,inlineCode:function(e,t,n){var r=gi(e,0,n);n.stack.includes("tableCell")&&(r=r.replace(/\|/g,"\\$&"));return r}}};function o(e,t,n,r){var a=n.enter("tableCell"),o=n.enter("phrasing"),l=di(e,n,s(s({},r),{},{before:i,after:i}));return o(),a(),l}function l(e,t){return function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(t.align||[]).concat(),r=t.stringLength||bi,a=[],i=[],o=[],s=[],l=0,c=-1;++c<e.length;){var u=[],d=[],p=-1;for(e[c].length>l&&(l=e[c].length);++p<e[c].length;){var m=hi(e[c][p]);if(!1!==t.alignDelimiters){var f=r(m);d[p]=f,(void 0===s[p]||f>s[p])&&(s[p]=f)}u.push(m)}i[c]=u,o[c]=d}var g=-1;if("object"===typeof n&&"length"in n)for(;++g<l;)a[g]=Ei(n[g]);else for(var h=Ei(n);++g<l;)a[g]=h;g=-1;for(var b=[],E=[];++g<l;){var y=a[g],T="",S="";99===y?(T=":",S=":"):108===y?T=":":114===y&&(S=":");var v=!1===t.alignDelimiters?1:Math.max(1,s[g]-T.length-S.length),A=T+"-".repeat(v)+S;!1!==t.alignDelimiters&&((v=T.length+v+S.length)>s[g]&&(s[g]=v),E[g]=v),b[g]=A}i.splice(1,0,b),o.splice(1,0,E),c=-1;for(var _=[];++c<i.length;){var k=i[c],C=o[c];g=-1;for(var w=[];++g<l;){var N=k[g]||"",I="",R="";if(!1!==t.alignDelimiters){var x=s[g]-(C[g]||0),O=a[g];114===O?I=" ".repeat(x):99===O?x%2?(I=" ".repeat(x/2+.5),R=" ".repeat(x/2-.5)):R=I=" ".repeat(x/2):R=" ".repeat(x)}!1===t.delimiterStart||g||w.push("|"),!1===t.padding||!1===t.alignDelimiters&&""===N||!1===t.delimiterStart&&!g||w.push(" "),!1!==t.alignDelimiters&&w.push(I),w.push(N),!1!==t.alignDelimiters&&w.push(R),!1!==t.padding&&w.push(" "),!1===t.delimiterEnd&&g===l-1||w.push("|")}_.push(!1===t.delimiterEnd?w.join("").replace(/ +$/,""):w.join(""))}return _.join("\n")}(e,{align:t,alignDelimiters:r,padding:n,stringLength:a})}function c(e,t,n){for(var r=e.children,a=-1,i=[],s=t.enter("tableRow");++a<r.length;)i[a]=o(r[a],0,t,n);return s(),i}}function _i(e,t,n,r){var a=function(e){var t=e.options.listItemIndent||"tab";if(1===t||"1"===t)return"one";if("tab"!==t&&"one"!==t&&"mixed"!==t)throw new Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}(n),i=n.bulletCurrent||function(e){var t=e.options.bullet||"*";if("*"!==t&&"+"!==t&&"-"!==t)throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}(n);t&&"list"===t.type&&t.ordered&&(i=("number"===typeof t.start&&t.start>-1?t.start:1)+(!1===n.options.incrementListMarker?0:t.children.indexOf(e))+i);var o=i.length+1;("tab"===a||"mixed"===a&&(t&&"list"===t.type&&t.spread||e.spread))&&(o=4*Math.ceil(o/4));var s=ei(r);s.move(i+" ".repeat(o-i.length)),s.shift(o);var l=n.enter("listItem"),c=ri(ti(e,n,s.current()),(function(e,t,n){if(t)return(n?"":" ".repeat(o))+e;return(n?i:i+" ".repeat(o-i.length))+e}));return l(),c}var ki={exit:{taskListCheckValueChecked:wi,taskListCheckValueUnchecked:wi,paragraph:function(e){var t,n=this.stack[this.stack.length-2],r=this.stack[this.stack.length-1],a=n.children,i=r.children[0],o=-1;if(n&&"listItem"===n.type&&"boolean"===typeof n.checked&&i&&"text"===i.type){for(;++o<a.length;){var s=a[o];if("paragraph"===s.type){t=s;break}}t===r&&(i.value=i.value.slice(1),0===i.value.length?r.children.shift():r.position&&i.position&&"number"===typeof i.position.start.offset&&(i.position.start.column++,i.position.start.offset++,r.position.start=Object.assign({},i.position.start)))}this.exit(e)}}},Ci={unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:function(e,t,n,r){var a=e.children[0],i="boolean"===typeof e.checked&&a&&"paragraph"===a.type,o="["+(e.checked?"x":" ")+"] ",l=ei(r);i&&l.move(o);var c=_i(e,t,n,s(s({},r),l.current()));i&&(c=c.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,(function(e){return e+o})));return c}}};function wi(e){this.stack[this.stack.length-2].checked="taskListCheckValueChecked"===e.type}function Ni(){return[Ka,{enter:{gfmFootnoteDefinition:function(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)},gfmFootnoteDefinitionLabelString:function(){this.buffer()},gfmFootnoteCall:function(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)},gfmFootnoteCallString:function(){this.buffer()}},exit:{gfmFootnoteDefinition:function(e){this.exit(e)},gfmFootnoteDefinitionLabelString:function(e){var t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=nt(this.sliceSerialize(e)).toLowerCase()},gfmFootnoteCall:function(e){this.exit(e)},gfmFootnoteCallString:function(e){var t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=nt(this.sliceSerialize(e)).toLowerCase()}}},pi,yi,ki]}function Ii(e){return{extensions:[qa,ui(),mi,Ai(e),Ci]}}function Ri(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.data();function n(e,n){(t[e]?t[e]:t[e]=[]).push(n)}n("micromarkExtensions",Ba(e)),n("fromMarkdownExtensions",Ni()),n("toMarkdownExtensions",Ii(e))}var xi=n(8992),Oi=/[#.]/g,Li=function(e){for(var t,n,r,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"div",i=e||"",o={},s=0;s<i.length;)Oi.lastIndex=s,r=Oi.exec(i),(t=i.slice(s,r?r.index:i.length))&&(n?"#"===n?o.id=t:Array.isArray(o.className)?o.className.push(t):o.className=[t]:a=t,s+=t.length),r&&(n=r[0],s++);return{type:"element",tagName:a,properties:o,children:[]}},Pi=new Set(["menu","submit","reset","button"]),Di={}.hasOwnProperty;function Mi(e,t,n){var r=n&&function(e){var t={},n=-1;for(;++n<e.length;)t[e[n].toLowerCase()]=e[n];return t}(n);return function(n,a){for(var i,o,s=-1,l=arguments.length,c=new Array(l>2?l-2:0),u=2;u<l;u++)c[u-2]=arguments[u];if(void 0===n||null===n)i={type:"root",children:[]},c.unshift(a);else if((i=Li(n,t)).tagName=i.tagName.toLowerCase(),r&&Di.call(r,i.tagName)&&(i.tagName=r[i.tagName]),Fi(a,i.tagName))for(o in a)Di.call(a,o)&&Ui(e,i.properties,o,a[o]);else c.unshift(a);for(;++s<c.length;)Bi(i.children,c[s]);return"element"===i.type&&"template"===i.tagName&&(i.content={type:"root",children:i.children},i.children=[]),i}}function Fi(e,t){return null!==e&&void 0!==e&&"object"===typeof e&&!Array.isArray(e)&&("input"===t||!e.type||"string"!==typeof e.type||(!("children"in e)||!Array.isArray(e.children))&&("button"===t?Pi.has(e.type.toLowerCase()):!("value"in e)))}function Ui(e,t,n,r){var a,i=hr(e,n),o=-1;if(void 0!==r&&null!==r){if("number"===typeof r){if(Number.isNaN(r))return;a=r}else a="boolean"===typeof r?r:"string"===typeof r?i.spaceSeparated?Tr(r):i.commaSeparated?vr(r):i.commaOrSpaceSeparated?Tr(vr(r).join(" ")):Hi(i,i.property,r):Array.isArray(r)?r.concat():"style"===i.property?function(e){var t,n=[];for(t in e)Di.call(e,t)&&n.push([t,e[t]].join(": "));return n.join("; ")}(r):String(r);if(Array.isArray(a)){for(var s=[];++o<a.length;)s[o]=Hi(i,i.property,a[o]);a=s}"className"===i.property&&Array.isArray(t.className)&&(a=t.className.concat(a)),t[i.property]=a}}function Bi(e,t){var n=-1;if(void 0===t||null===t);else if("string"===typeof t||"number"===typeof t)e.push({type:"text",value:String(t)});else if(Array.isArray(t))for(;++n<t.length;)Bi(e,t[n]);else{if("object"!==typeof t||!("type"in t))throw new Error("Expected node, nodes, or string, got `"+t+"`");"root"===t.type?Bi(e,t.children):e.push(t)}}function Hi(e,t,n){if("string"===typeof n){if(e.number&&n&&!Number.isNaN(Number(n)))return Number(n);if((e.boolean||e.overloadedBoolean)&&(""===n||Fn(n)===Fn(t)))return!0}return n}var Gi=Mi(lr,"g",["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","solidColor","textArea","textPath"]),zi=Mi(sr,"div");var $i={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},ji={}.hasOwnProperty,Vi={"#document":Ki,"#document-fragment":Ki,"#text":function(e,t){return{type:"text",value:t.value}},"#comment":function(e,t){return{type:"comment",value:t.data}},"#documentType":function(){return{type:"doctype"}}};function Wi(e,t){var n,r=e.schema,a=ji.call(Vi,t.nodeName)?Vi[t.nodeName]:qi;"tagName"in t&&(e.schema=t.namespaceURI===$i.svg?lr:sr),"childNodes"in t&&(n=function(e,t){var n=-1,r=[];for(;++n<t.length;)r[n]=Wi(e,t[n]);return r}(e,t.childNodes));var i=a(e,t,n);if("sourceCodeLocation"in t&&t.sourceCodeLocation&&e.file){var o=function(e,t,n){var r=Yi(n);if("element"===t.type){var a=t.children[t.children.length-1];if(r&&!n.endTag&&a&&a.position&&a.position.end&&(r.end=Object.assign({},a.position.end)),e.verbose){var i,o={};for(i in n.attrs)ji.call(n.attrs,i)&&(o[hr(e.schema,i).property]=Yi(n.attrs[i]));t.data={position:{opening:Yi(n.startTag),closing:n.endTag?Yi(n.endTag):null,properties:o}}}}return r}(e,i,t.sourceCodeLocation);o&&(e.location=!0,i.position=o)}return e.schema=r,i}function Ki(e,t,n){var r={type:"root",children:n,data:{quirksMode:"quirks"===t.mode||"limited-quirks"===t.mode}};if(e.file&&e.location){var a=String(e.file),i=function(e){for(var t=String(e),n=[],r=/\r?\n|\r/g;r.test(t);)n.push(r.lastIndex);return n.push(t.length+1),{toPoint:function(e){var t=-1;if(e>-1&&e<n[n.length-1])for(;++t<n.length;)if(n[t]>e)return{line:t+1,column:e-(n[t-1]||0)+1,offset:e};return{line:void 0,column:void 0,offset:void 0}},toOffset:function(e){var t,r=e&&e.line,a=e&&e.column;return"number"!==typeof r||"number"!==typeof a||Number.isNaN(r)||Number.isNaN(a)||!(r-1 in n)||(t=(n[r-2]||0)+a-1||0),t>-1&&t<n[n.length-1]?t:-1}}}(a);r.position={start:i.toPoint(0),end:i.toPoint(a.length)}}return r}function qi(e,t,n){for(var r="svg"===e.schema.space?Gi:zi,a=-1,i={};++a<t.attrs.length;){var o=t.attrs[a];i[(o.prefix?o.prefix+":":"")+o.name]=o.value}var s=r(t.tagName,i,n);if("template"===s.tagName&&"content"in t){var l=t.sourceCodeLocation,c=l&&l.startTag&&Yi(l.startTag),u=l&&l.endTag&&Yi(l.endTag),d=Wi(e,t.content);c&&u&&e.file&&(d.position={start:c.end,end:u.start}),s.content=d}return s}function Yi(e){var t=Xi({line:e.startLine,column:e.startCol,offset:e.startOffset}),n=Xi({line:e.endLine,column:e.endCol,offset:e.endOffset});return t||n?{start:t,end:n}:null}function Xi(e){return e.line&&e.column?e:null}function Zi(e){return"messages"in e}var Qi=$i,Ji=yr,eo={}.hasOwnProperty,to=an("root"),no=an("element"),ro=an("text");function ao(e,t,n){if("function"!==typeof e)throw new TypeError("h is not a function");var r,a,i=function(e){var t=e("div",{});return Boolean(t&&("_owner"in t||"_store"in t)&&(void 0===t.key||null===t.key))}(e),o=function(e){var t=e("div",{});return Boolean(t&&t.context&&t.context._isVue)}(e),s=function(e){return"VirtualNode"===e("div",{}).type}(e);if("string"===typeof n||"boolean"===typeof n?(r=n,n={}):(n||(n={}),r=n.prefix),to(t))a=1===t.children.length&&no(t.children[0])?t.children[0]:{type:"element",tagName:"div",properties:{},children:t.children};else{if(!no(t))throw new Error("Expected root or element, not `"+(t&&t.type||t)+"`");a=t}return io(e,a,{schema:"svg"===n.space?lr:sr,prefix:void 0===r||null===r?i||o||s?"h-":null:"string"===typeof r?r:r?"h-":null,key:0,react:i,vue:o,vdom:s,hyperscript:so(e)})}function io(e,t,n){var r,a=n.schema,i=a,o=t.tagName,s={},l=[],c=-1;for(r in"html"===a.space&&"svg"===o.toLowerCase()&&(i=lr,n.schema=i),t.properties)t.properties&&eo.call(t.properties,r)&&oo(s,r,t.properties[r],n,o);if(n.vdom&&("html"===i.space?o=o.toUpperCase():i.space&&(s.namespace=Qi[i.space])),n.prefix&&(n.key++,s.key=n.prefix+n.key),t.children)for(;++c<t.children.length;){var u=t.children[c];no(u)?l.push(io(e,u,n)):ro(u)&&l.push(u.value)}return n.schema=a,l.length>0?e.call(t,o,s,l):e.call(t,o,s)}function oo(e,t,n,r,a){var o,s=hr(r.schema,t);void 0===n||null===n||"number"===typeof n&&Number.isNaN(n)||!1===n&&(r.vue||r.vdom||r.hyperscript)||!n&&s.boolean&&(r.vue||r.vdom||r.hyperscript)||(Array.isArray(n)&&(n=s.commaSeparated?Ar(n):Sr(n)),s.boolean&&r.hyperscript&&(n=""),"style"===s.property&&"string"===typeof n&&(r.react||r.vue||r.vdom)&&(n=function(e,t){var n={};try{_r(e,(function(e,t){"-ms-"===e.slice(0,4)&&(e="ms-"+e.slice(4)),n[e.replace(/-([a-z])/g,(function(e,t){return t.toUpperCase()}))]=t}))}catch(r){throw r.message=t+"[style]"+r.message.slice("undefined".length),r}return n}(n,a)),r.vue?"style"!==s.property&&(o="attrs"):s.mustUseProperty||(r.vdom?"style"!==s.property&&(o="attributes"):r.hyperscript&&(o="attrs")),o?e[o]=Object.assign(e[o]||{},i({},s.attribute,n)):s.space&&r.react?e[Ji[s.property]||s.property]=n:e[s.attribute]=n)}function so(e){return"context"in e&&"cleanup"in e}var lo={}.hasOwnProperty;function co(e,t){var n=t||{};function r(t){var n=r.invalid,a=r.handlers;if(t&&lo.call(t,e)&&(n=lo.call(a,t[e])?a[t[e]]:r.unknown),n)return n.apply(this,arguments)}return r.handlers=n.handlers||{},r.invalid=n.invalid,r.unknown=n.unknown,r}var uo={}.hasOwnProperty,po=co("type",{handlers:{root:function(e,t){var n={nodeName:"#document",mode:(e.data||{}).quirksMode?"quirks":"no-quirks",childNodes:[]};return n.childNodes=mo(e.children,n,t),fo(e,n)},element:function(e,t){var n=t.space;return ao((function(n,r){var a,i,o,s,l,c=[];for(o in r)uo.call(r,o)&&!1!==r[o]&&((a=hr(t,o)).boolean&&!r[o]||(i={name:o,value:!0===r[o]?"":String(r[o])},a.space&&"html"!==a.space&&"svg"!==a.space&&((s=o.indexOf(":"))<0?i.prefix="":(i.name=o.slice(s+1),i.prefix=o.slice(0,s)),i.namespace=$i[a.space]),c.push(i)));"html"===t.space&&"svg"===e.tagName&&(t=lr);(l=fo(e,{nodeName:n,tagName:n,attrs:c,namespaceURI:$i[t.space],childNodes:[],parentNode:void 0})).childNodes=mo(e.children,l,t),"template"===n&&(l.content=function(e,t){var n={nodeName:"#document-fragment",childNodes:[]};return n.childNodes=mo(e.children,n,t),fo(e,n)}(e.content,t));return l}),Object.assign({},e,{children:[]}),{space:n})},text:function(e){return fo(e,{nodeName:"#text",value:e.value,parentNode:void 0})},comment:function(e){return fo(e,{nodeName:"#comment",data:e.value,parentNode:void 0})},doctype:function(e){return fo(e,{nodeName:"#documentType",name:"html",publicId:"",systemId:"",parentNode:void 0})}}});function mo(e,t,n){var r,a=-1,i=[];if(e)for(;++a<e.length;)(r=po(e[a],n)).parentNode=t,i.push(r);return i}function fo(e,t){var n=e.position;return n&&n.start&&n.end&&(t.sourceCodeLocation={startLine:n.start.line,startCol:n.start.column,startOffset:n.start.offset,endLine:n.end.line,endCol:n.end.column,endOffset:n.end.offset}),t}var go=["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","isindex","keygen","link","menuitem","meta","nextid","param","source","track","wbr"],ho="END_TAG_TOKEN",bo={sourceCodeLocationInfo:!0,scriptingEnabled:!1},Eo=function e(t,n,r){var a,i,o,l,c,u,d=-1,p=new xi(bo),m=co("type",{handlers:{root:function(e){g(e.children)},element:function(e){E(),p._processToken(yo(e),$i.html),g(e.children),go.includes(e.tagName)||(E(),p._processToken(function(e){var t=Object.assign(vo(e));return t.startTag=Object.assign({},t),{type:ho,tagName:e.tagName,attrs:[],location:t}}(e)))},text:function(e){E(),p._processToken({type:"CHARACTER_TOKEN",chars:e.value,location:vo(e)})},comment:h,doctype:function(e){E(),p._processToken({type:"DOCTYPE_TOKEN",name:"html",forceQuirks:!1,publicId:"",systemId:"",location:vo(e)})},raw:function(e){var t=dn(e),n=t.line||1,r=t.column||1,a=t.offset||0;if(!o)throw new Error("Expected `preprocessor`");if(!i)throw new Error("Expected `tokenizer`");if(!l)throw new Error("Expected `posTracker`");if(!c)throw new Error("Expected `locationTracker`");o.html=void 0,o.pos=-1,o.lastGapPos=-1,o.lastCharPos=-1,o.gapStack=[],o.skipNextNewLine=!1,o.lastChunkWritten=!1,o.endOfChunkHit=!1,l.isEol=!1,l.lineStartPos=1-r,l.droppedBufferSize=a,l.offset=0,l.col=1,l.line=n,c.currentAttrLocation=void 0,c.ctLoc=vo(e),i.write(e.value),p._runParsingLoop(null),("NAMED_CHARACTER_REFERENCE_STATE"===i.state||"NUMERIC_CHARACTER_REFERENCE_END_STATE"===i.state)&&(o.lastChunkWritten=!0,i[i.state](i._consume()))}},unknown:So});if(u=n,Boolean(u&&!("message"in u&&"messages"in u))&&(r=n,n=void 0),r&&r.passThrough)for(;++d<r.passThrough.length;)m.handlers[r.passThrough[d]]=b;var f=function(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Zi(r)?(n=r,t={}):(n=r.file,t=r),Wi({schema:"svg"===t.space?lr:sr,file:n,verbose:t.verbose,location:!1},e)}(function(e){var t="root"===e.type?e.children[0]:e;return Boolean(t&&("doctype"===t.type||"element"===t.type&&"html"===t.tagName))}(t)?function(){var e=p.treeAdapter.createDocument();if(p._bootstrap(e,void 0),!(i=p.tokenizer))throw new Error("Expected `tokenizer`");return o=i.preprocessor,c=i.__mixins[0],l=c.posTracker,m(t),E(),e}():function(){var e={nodeName:"template",tagName:"template",attrs:[],namespaceURI:$i.html,childNodes:[]},n={nodeName:"documentmock",tagName:"documentmock",attrs:[],namespaceURI:$i.html,childNodes:[]},r={nodeName:"#document-fragment",childNodes:[]};if(p._bootstrap(n,e),p._pushTmplInsertionMode("IN_TEMPLATE_MODE"),p._initTokenizerForFragmentParsing(),p._insertFakeRootElement(),p._resetInsertionMode(),p._findFormInFragmentContext(),!(i=p.tokenizer))throw new Error("Expected `tokenizer`");return o=i.preprocessor,c=i.__mixins[0],l=c.posTracker,m(t),E(),p._adoptNodes(n.childNodes[0],r),r}(),n);return a&&un(f,"comment",(function(e,t,n){var r=e;if(r.value.stitch&&null!==n&&null!==t)return n.children[t]=r.value.stitch,t})),"root"!==t.type&&"root"===f.type&&1===f.children.length?f.children[0]:f;function g(e){var t=-1;if(e)for(;++t<e.length;)m(e[t])}function h(e){E(),p._processToken({type:"COMMENT_TOKEN",data:e.value,location:vo(e)})}function b(t){a=!0,h({type:"comment",value:{stitch:"children"in t?s(s({},t),{},{children:e({type:"root",children:t.children},n,r).children}):s({},t)}})}function E(){if(!i)throw new Error("Expected `tokenizer`");if(!l)throw new Error("Expected `posTracker`");var e=i.currentCharacterToken;e&&(e.location.endLine=l.line,e.location.endCol=l.col+1,e.location.endOffset=l.offset+1,p._processToken(e)),i.tokenQueue=[],i.state="DATA_STATE",i.returnState="",i.charRefCode=-1,i.tempBuff=[],i.lastStartTagName="",i.consumedAfterSnapshot=-1,i.active=!1,i.currentCharacterToken=void 0,i.currentToken=void 0,i.currentAttr=void 0}};function yo(e){var t=Object.assign(vo(e));return t.startTag=Object.assign({},t),{type:"START_TAG_TOKEN",tagName:e.tagName,selfClosing:!1,attrs:To(e),location:t}}function To(e){return(t={tagName:e.tagName,type:"element",properties:e.properties,children:[]},po(t,"svg"===n?lr:sr)).attrs;var t,n}function So(e){throw new Error("Cannot compile `"+e.type+"` node")}function vo(e){var t=dn(e),n=pn(e);return{startLine:t.line,startCol:t.column,startOffset:t.offset,endLine:n.line,endCol:n.column,endOffset:n.offset}}function Ao(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t,n){return Eo(t,n,e)}}var _o=n(184),ko=function(e){return(0,_o.jsxs)("svg",s(s({height:512,style:{enableBackground:"new 0 0 512 512"},viewBox:"0 0 512 512",width:512,xmlSpace:"preserve",xmlns:"http://www.w3.org/2000/svg",role:"img"},e),{},{children:[(0,_o.jsx)("path",{d:"m184.7 413.1 2.1-1.8 156.5-136c5.3-4.6 8.6-11.5 8.6-19.2 0-7.7-3.4-14.6-8.6-19.2L187.1 101l-2.6-2.3C182 97 179 96 175.8 96c-8.7 0-15.8 7.4-15.8 16.6v286.8c0 9.2 7.1 16.6 15.8 16.6 3.3 0 6.4-1.1 8.9-2.9z"}),(0,_o.jsx)("path",{style:{fill:"#fff",strokeWidth:.498539},d:"M171.101 414.868c-4.514-1.611-8.561-5.771-10.18-10.464-.834-2.42-1.217-288.516-.393-293.894.907-5.921 3.926-10.216 8.895-12.657 3.95-1.94 9.155-1.937 12.793.007 3.343 1.785 161.905 139.906 164.376 143.184 3.021 4.01 4.472 8.2 4.757 13.742.186 3.605.037 5.49-.609 7.727-1.173 4.064-3.454 8.202-5.94 10.774-1.146 1.186-37.704 33.115-81.239 70.955-55.39 48.142-79.907 69.15-81.66 69.97-3.43 1.606-7.454 1.85-10.8.656z"})]}))},Co=function(e){return(0,_o.jsxs)("svg",s(s({height:512,style:{enableBackground:"new 0 0 512 512"},viewBox:"0 0 512 512",width:512,xmlSpace:"preserve",xmlns:"http://www.w3.org/2000/svg",role:"img"},e),{},{children:[(0,_o.jsx)("path",{d:"m98.9 184.7 1.8 2.1 136 156.5c4.6 5.3 11.5 8.6 19.2 8.6 7.7 0 14.6-3.4 19.2-8.6L411 187.1l2.3-2.6c1.7-2.5 2.7-5.5 2.7-8.7 0-8.7-7.4-15.8-16.6-15.8H112.6c-9.2 0-16.6 7.1-16.6 15.8 0 3.3 1.1 6.4 2.9 8.9z"}),(0,_o.jsx)("path",{style:{fill:"#fff",strokeWidth:.498539},d:"M248.273 350.336c-4.083-1.397-7.187-3.22-9.662-5.673-1.064-1.054-32.92-37.549-70.793-81.098-48.133-55.35-69.23-79.958-70.096-81.76-1.803-3.758-1.753-8.546.131-12.382 2.335-4.755 6.517-7.824 12.058-8.848 4.16-.769 288.018-.769 292.178 0 5.54 1.024 9.723 4.093 12.058 8.848 1.847 3.762 1.927 9.146.186 12.495-1.265 2.433-139.44 161.51-142.47 164.02-6.161 5.108-16.1 6.96-23.59 4.398z"})]}))},wo=["node","inline","className","children"];function No(e){var t=e.valueToCopy;return(0,_o.jsx)("button",{onClick:function(){return e=t,void navigator.clipboard.writeText(e);var e},children:"Copy"})}var Io=function(){var e,t=g((0,r.useState)(""),2),n=t[0],a=t[1],i=g((0,r.useState)("all"),2),o=i[0],c=i[1],u=g((0,r.useState)([]),2),d=u[0],m=u[1],f=g((0,r.useState)([]),2),b=f[0],E=f[1],y=(0,r.useCallback)((function(e){var t=d.includes(e)?d.filter((function(t){return t!==e})):[].concat(p(d),[e]);m(t)}),[d]),T=(0,r.useCallback)((function(e){var t=b.includes(e)?b.filter((function(t){return t!==e})):[].concat(p(b),[e]);E(t)}),[b]),S=n.length||"all"!==o?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"all";if("all"===n&&t.length)return e;var r={};if(r.items="all"!==n?e.items.filter((function(e){return e.type===n})):e.items,t.length)return r;var a={};return a.items=t.length?r.items.filter((function(e){return e.title.toLowerCase().includes(t.toLowerCase())||e.content.toLowerCase().includes(t.toLowerCase())})):r.items,a}(h,n,o):h;return(0,_o.jsxs)("div",{className:"App",children:[(0,_o.jsxs)("div",{className:"inputFilter",children:[(0,_o.jsxs)("span",{align:"center",children:[(0,_o.jsx)("input",{type:"text",onChange:function(e){!function(e,t,n){var r,a=this}(a(e.target.value),300)},value:n})," Search"]}),(0,_o.jsxs)("span",{align:"center",children:[" \udb40\udc5d \udb40\udc5d \udb40\udc5d \udb40\udc5d \udb40\udc5d \udb40\udc5d \udb40\udc5d \udb40\udc5d \udb40\udc5d \udb40\udc5d \udb40\udc5d",(0,_o.jsx)("a",{href:"https://github.com/tteck/Proxmox/blob/main/LICENSE",children:(0,_o.jsx)("img",{alt:"License MIT",src:"https://img.shields.io/badge/license-MIT-blue"})})," ",(0,_o.jsx)("a",{href:"https://github.com/tteck/Proxmox/discussions",children:(0,_o.jsx)("img",{src:"https://img.shields.io/badge/%F0%9F%92%AC-Discussions-orange",alt:"Discussions"})})," ",(0,_o.jsx)("a",{href:"https://github.com/tteck/Proxmox/blob/main/CHANGELOG.MD",children:(0,_o.jsx)("img",{src:"https://img.shields.io/badge/\ud83d\udd36-Changelog-blue",alt:"Changelog"})})," ",(0,_o.jsx)("a",{href:"https://ko-fi.com/D1D7EP4GF",children:(0,_o.jsx)("img",{src:"https://img.shields.io/badge/%E2%98%95-Buy%20me%20a%20coffee-red",alt:"Buy me a coffee"})})]})]}),0===S.items.length&&(0,_o.jsxs)("div",{children:["No items match your criteria ",(0,_o.jsx)("button",{onClick:function(){a(""),c("all")},children:"Clear Filters"})]}),(0,_o.jsxs)("div",{children:[(0,_o.jsx)("span",{onClick:function(){E(h.categories.map((function(e){return e.title})))},children:" \udb40\udc20 \udb40\udc20 \udb40\udc20\u2795 \udb40\udc20 \udb40\udc20"})," \udb40\udc20 ",(0,_o.jsx)("span",{onClick:function(){m([]),E([])},children:" \udb40\udc20 \udb40\udc20 \udb40\udc20\u2796 \udb40\udc20 \udb40\udc20"})]}),null===(e=S.items)||void 0===e?void 0:e.map((function(e,t){return(0,_o.jsxs)("div",{className:"App-items",children:[(0===t||S.items[0===t?0:t-1].category!==e.category)&&(0,_o.jsxs)("div",{onClick:function(){return T(e.category)},className:"itemCategory",children:[e.category,n&&e.title.toLowerCase().includes(n.toLowerCase())||d.includes(e.title)||b.includes(e.category)?(0,_o.jsx)(Co,{className:"navArrow",alt:"Expanded"}):(0,_o.jsx)(ko,{className:"navArrow",alt:"Collapsed"})," "]}),(n&&e.title.toLowerCase().includes(n.toLowerCase())||d.includes(e.title)||b.includes(e.category))&&(0,_o.jsx)("span",{onClick:function(){return y(e.title)},className:"itemTitle",children:e.title}),(n&&e.title.toLowerCase().includes(n.toLowerCase())||d.includes(e.title))&&(0,_o.jsx)("div",{className:"item",children:(0,_o.jsx)(Pr,{children:e.content,remarkPlugins:[Ri],rehypePlugins:[Ao],components:{code:function(e){e.node;var t=e.inline,n=e.className,r=e.children,a=l(e,wo),i=/language-(\w+)/.exec(n||"");return!t&&i?(0,_o.jsxs)(_o.Fragment,{children:[(0,_o.jsx)(No,{valueToCopy:String(r)}),(0,_o.jsx)(ia,s({children:String(r).replace(/\n$/,""),style:oa,language:i[1],PreTag:"div"},a))]}):(0,_o.jsx)("code",s(s({className:n},a),{},{children:r}))}}})})]},e.title)}))]})};a.createRoot(document.getElementById("root")).render((0,_o.jsx)(r.StrictMode,{children:(0,_o.jsx)(Io,{})}))}()}(); -//# sourceMappingURL=main.c6fa54b7.js.map \ No newline at end of file +/*! For license information please see main.2e54a7ef.js.LICENSE.txt */ +!function(){var e={1132:function(e){"use strict";var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=Object.defineProperty,a=Object.getOwnPropertyDescriptor,i=function(e){return"function"===typeof Array.isArray?Array.isArray(e):"[object Array]"===n.call(e)},o=function(e){if(!e||"[object Object]"!==n.call(e))return!1;var r,a=t.call(e,"constructor"),i=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!a&&!i)return!1;for(r in e);return"undefined"===typeof r||t.call(e,r)},s=function(e,t){r&&"__proto__"===t.name?r(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},l=function(e,n){if("__proto__"===n){if(!t.call(e,n))return;if(a)return a(e,n).value}return e[n]};e.exports=function e(){var t,n,r,a,c,u,d=arguments[0],p=1,m=arguments.length,f=!1;for("boolean"===typeof d&&(f=d,d=arguments[1]||{},p=2),(null==d||"object"!==typeof d&&"function"!==typeof d)&&(d={});p<m;++p)if(null!=(t=arguments[p]))for(n in t)r=l(d,n),d!==(a=l(t,n))&&(f&&a&&(o(a)||(c=i(a)))?(c?(c=!1,u=r&&i(r)?r:[]):u=r&&o(r)?r:{},s(d,{name:n,newValue:e(f,u,a)})):"undefined"!==typeof a&&s(d,{name:n,newValue:a}));return d}},2597:function(e){"use strict";e.exports=function(e,n){var r,a,i,o=e||"",s=n||"div",l={},c=0;for(;c<o.length;)t.lastIndex=c,i=t.exec(o),(r=o.slice(c,i?i.index:o.length))&&(a?"#"===a?l.id=r:l.className?l.className.push(r):l.className=[r]:s=r,c+=r.length),i&&(a=i[0],c++);return{type:"element",tagName:s,properties:l,children:[]}};var t=/[#.]/g},1174:function(e,t,n){"use strict";var r=n(3074),a=n(3877),i=n(2597),o=n(2533).Q,s=n(4791).Q;e.exports=function(e,t,n){var a=n?function(e){var t,n=e.length,r=-1,a={};for(;++r<n;)a[(t=e[r]).toLowerCase()]=t;return a}(n):null;return function(e,n){var r,o=i(e,t),s=Array.prototype.slice.call(arguments,2),d=o.tagName.toLowerCase();o.tagName=a&&l.call(a,d)?a[d]:d,n&&c(n,o)&&(s.unshift(n),n=null);if(n)for(r in n)p(o.properties,r,n[r]);u(o.children,s),"template"===o.tagName&&(o.content={type:"root",children:o.children},o.children=[]);return o};function p(t,n,a){var i,l,c;null!==a&&void 0!==a&&a===a&&(l=(i=r(e,n)).property,"string"===typeof(c=a)&&(i.spaceSeparated?c=o(c):i.commaSeparated?c=s(c):i.commaOrSpaceSeparated&&(c=o(s(c).join(" ")))),"style"===l&&"string"!==typeof a&&(c=function(e){var t,n=[];for(t in e)n.push([t,e[t]].join(": "));return n.join("; ")}(c)),"className"===l&&t.className&&(c=t.className.concat(c)),t[l]=function(e,t,n){var r,a,i;if("object"!==typeof n||!("length"in n))return d(e,t,n);a=n.length,r=-1,i=[];for(;++r<a;)i[r]=d(e,t,n[r]);return i}(i,l,c))}};var l={}.hasOwnProperty;function c(e,t){return"string"===typeof e||"length"in e||function(e,t){var n=t.type;if("input"===e||!n||"string"!==typeof n)return!1;if("object"===typeof t.children&&"length"in t.children)return!0;if(n=n.toLowerCase(),"button"===e)return"menu"!==n&&"submit"!==n&&"reset"!==n&&"button"!==n;return"value"in t}(t.tagName,e)}function u(e,t){var n,r;if("string"!==typeof t&&"number"!==typeof t)if("object"===typeof t&&"length"in t)for(n=-1,r=t.length;++n<r;)u(e,t[n]);else{if("object"!==typeof t||!("type"in t))throw new Error("Expected node, nodes, or string, got `"+t+"`");e.push(t)}else e.push({type:"text",value:String(t)})}function d(e,t,n){var r=n;return e.number||e.positiveNumber?isNaN(r)||""===r||(r=Number(r)):(e.boolean||e.overloadedBoolean)&&("string"!==typeof r||""!==r&&a(n)!==a(t)||(r=!0)),r}},8671:function(e,t,n){"use strict";var r=n(737),a=n(1174)(r,"div");a.displayName="html",e.exports=a},6913:function(e,t,n){"use strict";e.exports=n(8671)},4791:function(e,t){"use strict";t.Q=function(e){var t,n=[],r=String(e||""),a=r.indexOf(","),i=0,o=!1;for(;!o;)-1===a&&(a=r.length,o=!0),!(t=r.slice(i,a).trim())&&o||n.push(t),i=a+1,a=r.indexOf(",",i);return n}},3074:function(e,t,n){"use strict";var r=n(3877),a=n(3991),i=n(3416),o="data";e.exports=function(e,t){var n=r(t),p=t,m=i;if(n in e.normal)return e.property[e.normal[n]];n.length>4&&n.slice(0,4)===o&&s.test(t)&&("-"===t.charAt(4)?p=function(e){var t=e.slice(5).replace(l,d);return o+t.charAt(0).toUpperCase()+t.slice(1)}(t):t=function(e){var t=e.slice(4);if(l.test(t))return e;"-"!==(t=t.replace(c,u)).charAt(0)&&(t="-"+t);return o+t}(t),m=a);return new m(p,t)};var s=/^data[-\w.:]+$/i,l=/-[a-z]/g,c=/[A-Z]/g;function u(e){return"-"+e.toLowerCase()}function d(e){return e.charAt(1).toUpperCase()}},737:function(e,t,n){"use strict";var r=n(579),a=n(2519),i=n(6244),o=n(8446),s=n(7155),l=n(8973);e.exports=r([i,a,o,s,l])},7155:function(e,t,n){"use strict";var r=n(4530),a=n(5463),i=r.booleanish,o=r.number,s=r.spaceSeparated;e.exports=a({transform:function(e,t){return"role"===t?t:"aria-"+t.slice(4).toLowerCase()},properties:{ariaActiveDescendant:null,ariaAtomic:i,ariaAutoComplete:null,ariaBusy:i,ariaChecked:i,ariaColCount:o,ariaColIndex:o,ariaColSpan:o,ariaControls:s,ariaCurrent:null,ariaDescribedBy:s,ariaDetails:null,ariaDisabled:i,ariaDropEffect:s,ariaErrorMessage:null,ariaExpanded:i,ariaFlowTo:s,ariaGrabbed:i,ariaHasPopup:null,ariaHidden:i,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:s,ariaLevel:o,ariaLive:null,ariaModal:i,ariaMultiLine:i,ariaMultiSelectable:i,ariaOrientation:null,ariaOwns:s,ariaPlaceholder:null,ariaPosInSet:o,ariaPressed:i,ariaReadOnly:i,ariaRelevant:null,ariaRequired:i,ariaRoleDescription:s,ariaRowCount:o,ariaRowIndex:o,ariaRowSpan:o,ariaSelected:i,ariaSetSize:o,ariaSort:null,ariaValueMax:o,ariaValueMin:o,ariaValueNow:o,ariaValueText:null,role:null}})},8973:function(e,t,n){"use strict";var r=n(4530),a=n(5463),i=n(6101),o=r.boolean,s=r.overloadedBoolean,l=r.booleanish,c=r.number,u=r.spaceSeparated,d=r.commaSeparated;e.exports=a({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:i,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:d,acceptCharset:u,accessKey:u,action:null,allow:null,allowFullScreen:o,allowPaymentRequest:o,allowUserMedia:o,alt:null,as:null,async:o,autoCapitalize:null,autoComplete:u,autoFocus:o,autoPlay:o,capture:o,charSet:null,checked:o,cite:null,className:u,cols:c,colSpan:null,content:null,contentEditable:l,controls:o,controlsList:u,coords:c|d,crossOrigin:null,data:null,dateTime:null,decoding:null,default:o,defer:o,dir:null,dirName:null,disabled:o,download:s,draggable:l,encType:null,enterKeyHint:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:o,formTarget:null,headers:u,height:c,hidden:o,high:c,href:null,hrefLang:null,htmlFor:u,httpEquiv:u,id:null,imageSizes:null,imageSrcSet:d,inputMode:null,integrity:null,is:null,isMap:o,itemId:null,itemProp:u,itemRef:u,itemScope:o,itemType:u,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:o,low:c,manifest:null,max:null,maxLength:c,media:null,method:null,min:null,minLength:c,multiple:o,muted:o,name:null,nonce:null,noModule:o,noValidate:o,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforePrint:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextMenu:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:o,optimum:c,pattern:null,ping:u,placeholder:null,playsInline:o,poster:null,preload:null,readOnly:o,referrerPolicy:null,rel:u,required:o,reversed:o,rows:c,rowSpan:c,sandbox:u,scope:null,scoped:o,seamless:o,selected:o,shape:null,size:c,sizes:null,slot:null,span:c,spellCheck:l,src:null,srcDoc:null,srcLang:null,srcSet:d,start:c,step:null,style:null,tabIndex:c,target:null,title:null,translate:null,type:null,typeMustMatch:o,useMap:null,value:l,width:c,wrap:null,align:null,aLink:null,archive:u,axis:null,background:null,bgColor:null,border:c,borderColor:null,bottomMargin:c,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:o,declare:o,event:null,face:null,frame:null,frameBorder:null,hSpace:c,leftMargin:c,link:null,longDesc:null,lowSrc:null,marginHeight:c,marginWidth:c,noResize:o,noHref:o,noShade:o,noWrap:o,object:null,profile:null,prompt:null,rev:null,rightMargin:c,rules:null,scheme:null,scrolling:l,standby:null,summary:null,text:null,topMargin:c,valueType:null,version:null,vAlign:null,vLink:null,vSpace:c,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:o,disableRemotePlayback:o,prefix:null,property:null,results:c,security:null,unselectable:null}})},6101:function(e,t,n){"use strict";var r=n(846);e.exports=function(e,t){return r(e,t.toLowerCase())}},846:function(e){"use strict";e.exports=function(e,t){return t in e?e[t]:t}},5463:function(e,t,n){"use strict";var r=n(3877),a=n(4243),i=n(3991);e.exports=function(e){var t,n,o=e.space,s=e.mustUseProperty||[],l=e.attributes||{},c=e.properties,u=e.transform,d={},p={};for(t in c)n=new i(t,u(l,t),c[t],o),-1!==s.indexOf(t)&&(n.mustUseProperty=!0),d[t]=n,p[r(t)]=t,p[r(n.attribute)]=t;return new a(d,p,o)}},3991:function(e,t,n){"use strict";var r=n(3416),a=n(4530);e.exports=s,s.prototype=new r,s.prototype.defined=!0;var i=["boolean","booleanish","overloadedBoolean","number","commaSeparated","spaceSeparated","commaOrSpaceSeparated"],o=i.length;function s(e,t,n,s){var c,u=-1;for(l(this,"space",s),r.call(this,e,t);++u<o;)l(this,c=i[u],(n&a[c])===a[c])}function l(e,t,n){n&&(e[t]=n)}},3416:function(e){"use strict";e.exports=n;var t=n.prototype;function n(e,t){this.property=e,this.attribute=t}t.space=null,t.attribute=null,t.property=null,t.boolean=!1,t.booleanish=!1,t.overloadedBoolean=!1,t.number=!1,t.commaSeparated=!1,t.spaceSeparated=!1,t.commaOrSpaceSeparated=!1,t.mustUseProperty=!1,t.defined=!1},579:function(e,t,n){"use strict";var r=n(5887),a=n(4243);e.exports=function(e){var t,n,i=e.length,o=[],s=[],l=-1;for(;++l<i;)t=e[l],o.push(t.property),s.push(t.normal),n=t.space;return new a(r.apply(null,o),r.apply(null,s),n)}},4243:function(e){"use strict";e.exports=n;var t=n.prototype;function n(e,t,n){this.property=e,this.normal=t,n&&(this.space=n)}t.space=null,t.normal={},t.property={}},4530:function(e,t){"use strict";var n=0;function r(){return Math.pow(2,++n)}t.boolean=r(),t.booleanish=r(),t.overloadedBoolean=r(),t.number=r(),t.spaceSeparated=r(),t.commaSeparated=r(),t.commaOrSpaceSeparated=r()},2519:function(e,t,n){"use strict";var r=n(5463);e.exports=r({space:"xlink",transform:function(e,t){return"xlink:"+t.slice(5).toLowerCase()},properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}})},6244:function(e,t,n){"use strict";var r=n(5463);e.exports=r({space:"xml",transform:function(e,t){return"xml:"+t.slice(3).toLowerCase()},properties:{xmlLang:null,xmlBase:null,xmlSpace:null}})},8446:function(e,t,n){"use strict";var r=n(5463),a=n(6101);e.exports=r({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:a,properties:{xmlns:null,xmlnsXLink:null}})},3877:function(e){"use strict";e.exports=function(e){return e.toLowerCase()}},2533:function(e,t){"use strict";t.Q=function(e){var t=String(e||"").trim();return""===t?[]:t.split(n)};var n=/[ \t\n\r\f]+/g},1065:function(e){var t=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,r=/^\s*/,a=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,i=/^:\s*/,o=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,s=/^[;\s]*/,l=/^\s+|\s+$/g,c="";function u(e){return e?e.replace(l,c):c}e.exports=function(e,l){if("string"!==typeof e)throw new TypeError("First argument must be a string");if(!e)return[];l=l||{};var d=1,p=1;function m(e){var t=e.match(n);t&&(d+=t.length);var r=e.lastIndexOf("\n");p=~r?e.length-r:p+e.length}function f(){var e={line:d,column:p};return function(t){return t.position=new g(e),y(),t}}function g(e){this.start=e,this.end={line:d,column:p},this.source=l.source}g.prototype.content=e;var h=[];function b(t){var n=new Error(l.source+":"+d+":"+p+": "+t);if(n.reason=t,n.filename=l.source,n.line=d,n.column=p,n.source=e,!l.silent)throw n;h.push(n)}function E(t){var n=t.exec(e);if(n){var r=n[0];return m(r),e=e.slice(r.length),n}}function y(){E(r)}function T(e){var t;for(e=e||[];t=S();)!1!==t&&e.push(t);return e}function S(){var t=f();if("/"==e.charAt(0)&&"*"==e.charAt(1)){for(var n=2;c!=e.charAt(n)&&("*"!=e.charAt(n)||"/"!=e.charAt(n+1));)++n;if(n+=2,c===e.charAt(n-1))return b("End of comment missing");var r=e.slice(2,n-2);return p+=2,m(r),e=e.slice(n),p+=2,t({type:"comment",comment:r})}}function v(){var e=f(),n=E(a);if(n){if(S(),!E(i))return b("property missing ':'");var r=E(o),l=e({type:"declaration",property:u(n[0].replace(t,c)),value:r?u(r[0].replace(t,c)):c});return E(s),l}}return y(),function(){var e,t=[];for(T(t);e=v();)!1!==e&&(t.push(e),T(t));return t}()}},6517:function(e){"use strict";e.exports=function(e){var t="string"===typeof e?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}},4929:function(e,t,n){"use strict";var r=n(6517),a=n(7194);e.exports=function(e){return r(e)||a(e)}},5586:function(e){e.exports=function(e){return null!=e&&null!=e.constructor&&"function"===typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}},7194:function(e){"use strict";e.exports=function(e){var t="string"===typeof e?e.charCodeAt(0):e;return t>=48&&t<=57}},5504:function(e){"use strict";e.exports=function(e){var t="string"===typeof e?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57}},2366:function(e){"use strict";var t={};function n(e,r,a){var i,o,s,l,c,u="";for("string"!==typeof r&&(a=r,r=n.defaultChars),"undefined"===typeof a&&(a=!0),c=function(e){var n,r,a=t[e];if(a)return a;for(a=t[e]=[],n=0;n<128;n++)r=String.fromCharCode(n),/^[0-9a-z]$/i.test(r)?a.push(r):a.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2));for(n=0;n<e.length;n++)a[e.charCodeAt(n)]=e[n];return a}(r),i=0,o=e.length;i<o;i++)if(s=e.charCodeAt(i),a&&37===s&&i+2<o&&/^[0-9a-f]{2}$/i.test(e.slice(i+1,i+3)))u+=e.slice(i,i+3),i+=2;else if(s<128)u+=c[s];else if(s>=55296&&s<=57343){if(s>=55296&&s<=56319&&i+1<o&&(l=e.charCodeAt(i+1))>=56320&&l<=57343){u+=encodeURIComponent(e[i]+e[i+1]),i++;continue}u+="%EF%BF%BD"}else u+=encodeURIComponent(e[i]);return u}n.defaultChars=";/?:@&=+$,-_.!~*'()#",n.componentChars="-_.!~*'()",e.exports=n},6891:function(e){"use strict";var t;e.exports=function(e){var n,r="&"+e+";";if((t=t||document.createElement("i")).innerHTML=r,59===(n=t.textContent).charCodeAt(n.length-1)&&"semi"!==e)return!1;return n!==r&&n}},5434:function(e,t,n){"use strict";var r=n(7452),a=n(3580),i=n(7194),o=n(5504),s=n(4929),l=n(6891);e.exports=function(e,t){var n,i,o={};t||(t={});for(i in p)n=t[i],o[i]=null===n||void 0===n?p[i]:n;(o.position.indent||o.position.start)&&(o.indent=o.position.indent||[],o.position=o.position.start);return function(e,t){var n,i,o,p,S,v,A,_,k,C,w,N,I,R,x,O,L,P,D,M=t.additional,F=t.nonTerminated,U=t.text,B=t.reference,G=t.warning,H=t.textContext,z=t.referenceContext,$=t.warningContext,j=t.position,V=t.indent||[],W=e.length,K=0,q=-1,Y=j.column||1,X=j.line||1,Z="",Q=[];"string"===typeof M&&(M=M.charCodeAt(0));O=J(),_=G?ee:d,K--,W++;for(;++K<W;)if(10===S&&(Y=V[q]||1),38===(S=e.charCodeAt(K))){if(9===(A=e.charCodeAt(K+1))||10===A||12===A||32===A||38===A||60===A||A!==A||M&&A===M){Z+=u(S),Y++;continue}for(N=I=K+1,D=I,35===A?(D=++N,88===(A=e.charCodeAt(D))||120===A?(R=f,D=++N):R=g):R=m,n="",w="",p="",x=b[R],D--;++D<W&&x(A=e.charCodeAt(D));)p+=u(A),R===m&&c.call(r,p)&&(n=p,w=r[p]);(o=59===e.charCodeAt(D))&&(D++,(i=R===m&&l(p))&&(n=p,w=i)),P=1+D-I,(o||F)&&(p?R===m?(o&&!w?_(5,1):(n!==p&&(P=1+(D=N+n.length)-N,o=!1),o||(k=n?1:3,t.attribute?61===(A=e.charCodeAt(D))?(_(k,P),w=null):s(A)?w=null:_(k,P):_(k,P))),v=w):(o||_(2,P),y(v=parseInt(p,h[R]))?(_(7,P),v=u(65533)):v in a?(_(6,P),v=a[v]):(C="",T(v)&&_(6,P),v>65535&&(C+=u((v-=65536)>>>10|55296),v=56320|1023&v),v=C+u(v))):R!==m&&_(4,P)),v?(te(),O=J(),K=D-1,Y+=D-I+1,Q.push(v),(L=J()).offset++,B&&B.call(z,v,{start:O,end:L},e.slice(I-1,D)),O=L):(p=e.slice(I-1,D),Z+=p,Y+=p.length,K=D-1)}else 10===S&&(X++,q++,Y=0),S===S?(Z+=u(S),Y++):te();return Q.join("");function J(){return{line:X,column:Y,offset:K+(j.offset||0)}}function ee(e,t){var n=J();n.column+=t,n.offset+=t,G.call($,E[e],n,e)}function te(){Z&&(Q.push(Z),U&&U.call(H,Z,{start:O,end:J()}),Z="")}}(e,o)};var c={}.hasOwnProperty,u=String.fromCharCode,d=Function.prototype,p={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:!1,nonTerminated:!0},m="named",f="hexadecimal",g="decimal",h={hexadecimal:16,decimal:10},b={};b.named=s,b[g]=i,b[f]=o;var E={};function y(e){return e>=55296&&e<=57343||e>1114111}function T(e){return e>=1&&e<=8||11===e||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||65535===(65535&e)||65534===(65535&e)}E[1]="Named character references must be terminated by a semicolon",E[2]="Numeric character references must be terminated by a semicolon",E[3]="Named character references cannot be empty",E[4]="Numeric character references cannot be empty",E[5]="Named character references must be known",E[6]="Numeric character references cannot be disallowed",E[7]="Numeric character references cannot be outside the permissible Unicode range"},4802:function(e,t,n){"use strict";var r=n(9539).DOCUMENT_MODE,a="html",i=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"],o=i.concat(["-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"]),s=["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"],l=["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"],c=l.concat(["-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"]);function u(e){var t=-1!==e.indexOf('"')?"'":'"';return t+e+t}function d(e,t){for(var n=0;n<t.length;n++)if(0===e.indexOf(t[n]))return!0;return!1}t.isConforming=function(e){return e.name===a&&null===e.publicId&&(null===e.systemId||"about:legacy-compat"===e.systemId)},t.getDocumentMode=function(e){if(e.name!==a)return r.QUIRKS;var t=e.systemId;if(t&&"http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd"===t.toLowerCase())return r.QUIRKS;var n=e.publicId;if(null!==n){if(n=n.toLowerCase(),s.indexOf(n)>-1)return r.QUIRKS;var u=null===t?o:i;if(d(n,u))return r.QUIRKS;if(d(n,u=null===t?l:c))return r.LIMITED_QUIRKS}return r.NO_QUIRKS},t.serializeContent=function(e,t,n){var r="!DOCTYPE ";return e&&(r+=e),t?r+=" PUBLIC "+u(t):n&&(r+=" SYSTEM"),null!==n&&(r+=" "+u(n)),r}},4551:function(e){"use strict";e.exports={controlCharacterInInputStream:"control-character-in-input-stream",noncharacterInInputStream:"noncharacter-in-input-stream",surrogateInInputStream:"surrogate-in-input-stream",nonVoidHtmlElementStartTagWithTrailingSolidus:"non-void-html-element-start-tag-with-trailing-solidus",endTagWithAttributes:"end-tag-with-attributes",endTagWithTrailingSolidus:"end-tag-with-trailing-solidus",unexpectedSolidusInTag:"unexpected-solidus-in-tag",unexpectedNullCharacter:"unexpected-null-character",unexpectedQuestionMarkInsteadOfTagName:"unexpected-question-mark-instead-of-tag-name",invalidFirstCharacterOfTagName:"invalid-first-character-of-tag-name",unexpectedEqualsSignBeforeAttributeName:"unexpected-equals-sign-before-attribute-name",missingEndTagName:"missing-end-tag-name",unexpectedCharacterInAttributeName:"unexpected-character-in-attribute-name",unknownNamedCharacterReference:"unknown-named-character-reference",missingSemicolonAfterCharacterReference:"missing-semicolon-after-character-reference",unexpectedCharacterAfterDoctypeSystemIdentifier:"unexpected-character-after-doctype-system-identifier",unexpectedCharacterInUnquotedAttributeValue:"unexpected-character-in-unquoted-attribute-value",eofBeforeTagName:"eof-before-tag-name",eofInTag:"eof-in-tag",missingAttributeValue:"missing-attribute-value",missingWhitespaceBetweenAttributes:"missing-whitespace-between-attributes",missingWhitespaceAfterDoctypePublicKeyword:"missing-whitespace-after-doctype-public-keyword",missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers:"missing-whitespace-between-doctype-public-and-system-identifiers",missingWhitespaceAfterDoctypeSystemKeyword:"missing-whitespace-after-doctype-system-keyword",missingQuoteBeforeDoctypePublicIdentifier:"missing-quote-before-doctype-public-identifier",missingQuoteBeforeDoctypeSystemIdentifier:"missing-quote-before-doctype-system-identifier",missingDoctypePublicIdentifier:"missing-doctype-public-identifier",missingDoctypeSystemIdentifier:"missing-doctype-system-identifier",abruptDoctypePublicIdentifier:"abrupt-doctype-public-identifier",abruptDoctypeSystemIdentifier:"abrupt-doctype-system-identifier",cdataInHtmlContent:"cdata-in-html-content",incorrectlyOpenedComment:"incorrectly-opened-comment",eofInScriptHtmlCommentLikeText:"eof-in-script-html-comment-like-text",eofInDoctype:"eof-in-doctype",nestedComment:"nested-comment",abruptClosingOfEmptyComment:"abrupt-closing-of-empty-comment",eofInComment:"eof-in-comment",incorrectlyClosedComment:"incorrectly-closed-comment",eofInCdata:"eof-in-cdata",absenceOfDigitsInNumericCharacterReference:"absence-of-digits-in-numeric-character-reference",nullCharacterReference:"null-character-reference",surrogateCharacterReference:"surrogate-character-reference",characterReferenceOutsideUnicodeRange:"character-reference-outside-unicode-range",controlCharacterReference:"control-character-reference",noncharacterCharacterReference:"noncharacter-character-reference",missingWhitespaceBeforeDoctypeName:"missing-whitespace-before-doctype-name",missingDoctypeName:"missing-doctype-name",invalidCharacterSequenceAfterDoctypeName:"invalid-character-sequence-after-doctype-name",duplicateAttribute:"duplicate-attribute",nonConformingDoctype:"non-conforming-doctype",missingDoctype:"missing-doctype",misplacedDoctype:"misplaced-doctype",endTagWithoutMatchingOpenElement:"end-tag-without-matching-open-element",closingOfElementWithOpenChildElements:"closing-of-element-with-open-child-elements",disallowedContentInNoscriptInHead:"disallowed-content-in-noscript-in-head",openElementsLeftAfterEof:"open-elements-left-after-eof",abandonedHeadElementChild:"abandoned-head-element-child",misplacedStartTagForHeadElement:"misplaced-start-tag-for-head-element",nestedNoscriptInHead:"nested-noscript-in-head",eofInElementThatCanContainOnlyText:"eof-in-element-that-can-contain-only-text"}},5478:function(e,t,n){"use strict";var r,a=n(8416).default,i=n(3085),o=n(9539),s=o.TAG_NAMES,l=o.NAMESPACES,c=o.ATTRS,u="text/html",d="application/xhtml+xml",p={attributename:"attributeName",attributetype:"attributeType",basefrequency:"baseFrequency",baseprofile:"baseProfile",calcmode:"calcMode",clippathunits:"clipPathUnits",diffuseconstant:"diffuseConstant",edgemode:"edgeMode",filterunits:"filterUnits",glyphref:"glyphRef",gradienttransform:"gradientTransform",gradientunits:"gradientUnits",kernelmatrix:"kernelMatrix",kernelunitlength:"kernelUnitLength",keypoints:"keyPoints",keysplines:"keySplines",keytimes:"keyTimes",lengthadjust:"lengthAdjust",limitingconeangle:"limitingConeAngle",markerheight:"markerHeight",markerunits:"markerUnits",markerwidth:"markerWidth",maskcontentunits:"maskContentUnits",maskunits:"maskUnits",numoctaves:"numOctaves",pathlength:"pathLength",patterncontentunits:"patternContentUnits",patterntransform:"patternTransform",patternunits:"patternUnits",pointsatx:"pointsAtX",pointsaty:"pointsAtY",pointsatz:"pointsAtZ",preservealpha:"preserveAlpha",preserveaspectratio:"preserveAspectRatio",primitiveunits:"primitiveUnits",refx:"refX",refy:"refY",repeatcount:"repeatCount",repeatdur:"repeatDur",requiredextensions:"requiredExtensions",requiredfeatures:"requiredFeatures",specularconstant:"specularConstant",specularexponent:"specularExponent",spreadmethod:"spreadMethod",startoffset:"startOffset",stddeviation:"stdDeviation",stitchtiles:"stitchTiles",surfacescale:"surfaceScale",systemlanguage:"systemLanguage",tablevalues:"tableValues",targetx:"targetX",targety:"targetY",textlength:"textLength",viewbox:"viewBox",viewtarget:"viewTarget",xchannelselector:"xChannelSelector",ychannelselector:"yChannelSelector",zoomandpan:"zoomAndPan"},m={"xlink:actuate":{prefix:"xlink",name:"actuate",namespace:l.XLINK},"xlink:arcrole":{prefix:"xlink",name:"arcrole",namespace:l.XLINK},"xlink:href":{prefix:"xlink",name:"href",namespace:l.XLINK},"xlink:role":{prefix:"xlink",name:"role",namespace:l.XLINK},"xlink:show":{prefix:"xlink",name:"show",namespace:l.XLINK},"xlink:title":{prefix:"xlink",name:"title",namespace:l.XLINK},"xlink:type":{prefix:"xlink",name:"type",namespace:l.XLINK},"xml:base":{prefix:"xml",name:"base",namespace:l.XML},"xml:lang":{prefix:"xml",name:"lang",namespace:l.XML},"xml:space":{prefix:"xml",name:"space",namespace:l.XML},xmlns:{prefix:"",name:"xmlns",namespace:l.XMLNS},"xmlns:xlink":{prefix:"xmlns",name:"xlink",namespace:l.XMLNS}},f=t.SVG_TAG_NAMES_ADJUSTMENT_MAP={altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient",textpath:"textPath"},g=(a(r={},s.B,!0),a(r,s.BIG,!0),a(r,s.BLOCKQUOTE,!0),a(r,s.BODY,!0),a(r,s.BR,!0),a(r,s.CENTER,!0),a(r,s.CODE,!0),a(r,s.DD,!0),a(r,s.DIV,!0),a(r,s.DL,!0),a(r,s.DT,!0),a(r,s.EM,!0),a(r,s.EMBED,!0),a(r,s.H1,!0),a(r,s.H2,!0),a(r,s.H3,!0),a(r,s.H4,!0),a(r,s.H5,!0),a(r,s.H6,!0),a(r,s.HEAD,!0),a(r,s.HR,!0),a(r,s.I,!0),a(r,s.IMG,!0),a(r,s.LI,!0),a(r,s.LISTING,!0),a(r,s.MENU,!0),a(r,s.META,!0),a(r,s.NOBR,!0),a(r,s.OL,!0),a(r,s.P,!0),a(r,s.PRE,!0),a(r,s.RUBY,!0),a(r,s.S,!0),a(r,s.SMALL,!0),a(r,s.SPAN,!0),a(r,s.STRONG,!0),a(r,s.STRIKE,!0),a(r,s.SUB,!0),a(r,s.SUP,!0),a(r,s.TABLE,!0),a(r,s.TT,!0),a(r,s.U,!0),a(r,s.UL,!0),a(r,s.VAR,!0),r);t.causesExit=function(e){var t=e.tagName;return!!(t===s.FONT&&(null!==i.getTokenAttr(e,c.COLOR)||null!==i.getTokenAttr(e,c.SIZE)||null!==i.getTokenAttr(e,c.FACE)))||g[t]},t.adjustTokenMathMLAttrs=function(e){for(var t=0;t<e.attrs.length;t++)if("definitionurl"===e.attrs[t].name){e.attrs[t].name="definitionURL";break}},t.adjustTokenSVGAttrs=function(e){for(var t=0;t<e.attrs.length;t++){var n=p[e.attrs[t].name];n&&(e.attrs[t].name=n)}},t.adjustTokenXMLAttrs=function(e){for(var t=0;t<e.attrs.length;t++){var n=m[e.attrs[t].name];n&&(e.attrs[t].prefix=n.prefix,e.attrs[t].name=n.name,e.attrs[t].namespace=n.namespace)}},t.adjustTokenSVGTagName=function(e){var t=f[e.tagName];t&&(e.tagName=t)},t.isIntegrationPoint=function(e,t,n,r){return!(r&&r!==l.HTML||!function(e,t,n){if(t===l.MATHML&&e===s.ANNOTATION_XML)for(var r=0;r<n.length;r++)if(n[r].name===c.ENCODING){var a=n[r].value.toLowerCase();return a===u||a===d}return t===l.SVG&&(e===s.FOREIGN_OBJECT||e===s.DESC||e===s.TITLE)}(e,t,n))||!(r&&r!==l.MATHML||!function(e,t){return t===l.MATHML&&(e===s.MI||e===s.MO||e===s.MN||e===s.MS||e===s.MTEXT)}(e,t))}},9539:function(e,t,n){"use strict";var r,a,i,o,s=n(8416).default,l=t.NAMESPACES={HTML:"http://www.w3.org/1999/xhtml",MATHML:"http://www.w3.org/1998/Math/MathML",SVG:"http://www.w3.org/2000/svg",XLINK:"http://www.w3.org/1999/xlink",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"};t.ATTRS={TYPE:"type",ACTION:"action",ENCODING:"encoding",PROMPT:"prompt",NAME:"name",COLOR:"color",FACE:"face",SIZE:"size"},t.DOCUMENT_MODE={NO_QUIRKS:"no-quirks",QUIRKS:"quirks",LIMITED_QUIRKS:"limited-quirks"};var c=t.TAG_NAMES={A:"a",ADDRESS:"address",ANNOTATION_XML:"annotation-xml",APPLET:"applet",AREA:"area",ARTICLE:"article",ASIDE:"aside",B:"b",BASE:"base",BASEFONT:"basefont",BGSOUND:"bgsound",BIG:"big",BLOCKQUOTE:"blockquote",BODY:"body",BR:"br",BUTTON:"button",CAPTION:"caption",CENTER:"center",CODE:"code",COL:"col",COLGROUP:"colgroup",DD:"dd",DESC:"desc",DETAILS:"details",DIALOG:"dialog",DIR:"dir",DIV:"div",DL:"dl",DT:"dt",EM:"em",EMBED:"embed",FIELDSET:"fieldset",FIGCAPTION:"figcaption",FIGURE:"figure",FONT:"font",FOOTER:"footer",FOREIGN_OBJECT:"foreignObject",FORM:"form",FRAME:"frame",FRAMESET:"frameset",H1:"h1",H2:"h2",H3:"h3",H4:"h4",H5:"h5",H6:"h6",HEAD:"head",HEADER:"header",HGROUP:"hgroup",HR:"hr",HTML:"html",I:"i",IMG:"img",IMAGE:"image",INPUT:"input",IFRAME:"iframe",KEYGEN:"keygen",LABEL:"label",LI:"li",LINK:"link",LISTING:"listing",MAIN:"main",MALIGNMARK:"malignmark",MARQUEE:"marquee",MATH:"math",MENU:"menu",META:"meta",MGLYPH:"mglyph",MI:"mi",MO:"mo",MN:"mn",MS:"ms",MTEXT:"mtext",NAV:"nav",NOBR:"nobr",NOFRAMES:"noframes",NOEMBED:"noembed",NOSCRIPT:"noscript",OBJECT:"object",OL:"ol",OPTGROUP:"optgroup",OPTION:"option",P:"p",PARAM:"param",PLAINTEXT:"plaintext",PRE:"pre",RB:"rb",RP:"rp",RT:"rt",RTC:"rtc",RUBY:"ruby",S:"s",SCRIPT:"script",SECTION:"section",SELECT:"select",SOURCE:"source",SMALL:"small",SPAN:"span",STRIKE:"strike",STRONG:"strong",STYLE:"style",SUB:"sub",SUMMARY:"summary",SUP:"sup",TABLE:"table",TBODY:"tbody",TEMPLATE:"template",TEXTAREA:"textarea",TFOOT:"tfoot",TD:"td",TH:"th",THEAD:"thead",TITLE:"title",TR:"tr",TRACK:"track",TT:"tt",U:"u",UL:"ul",SVG:"svg",VAR:"var",WBR:"wbr",XMP:"xmp"};t.SPECIAL_ELEMENTS=(s(o={},l.HTML,(s(r={},c.ADDRESS,!0),s(r,c.APPLET,!0),s(r,c.AREA,!0),s(r,c.ARTICLE,!0),s(r,c.ASIDE,!0),s(r,c.BASE,!0),s(r,c.BASEFONT,!0),s(r,c.BGSOUND,!0),s(r,c.BLOCKQUOTE,!0),s(r,c.BODY,!0),s(r,c.BR,!0),s(r,c.BUTTON,!0),s(r,c.CAPTION,!0),s(r,c.CENTER,!0),s(r,c.COL,!0),s(r,c.COLGROUP,!0),s(r,c.DD,!0),s(r,c.DETAILS,!0),s(r,c.DIR,!0),s(r,c.DIV,!0),s(r,c.DL,!0),s(r,c.DT,!0),s(r,c.EMBED,!0),s(r,c.FIELDSET,!0),s(r,c.FIGCAPTION,!0),s(r,c.FIGURE,!0),s(r,c.FOOTER,!0),s(r,c.FORM,!0),s(r,c.FRAME,!0),s(r,c.FRAMESET,!0),s(r,c.H1,!0),s(r,c.H2,!0),s(r,c.H3,!0),s(r,c.H4,!0),s(r,c.H5,!0),s(r,c.H6,!0),s(r,c.HEAD,!0),s(r,c.HEADER,!0),s(r,c.HGROUP,!0),s(r,c.HR,!0),s(r,c.HTML,!0),s(r,c.IFRAME,!0),s(r,c.IMG,!0),s(r,c.INPUT,!0),s(r,c.LI,!0),s(r,c.LINK,!0),s(r,c.LISTING,!0),s(r,c.MAIN,!0),s(r,c.MARQUEE,!0),s(r,c.MENU,!0),s(r,c.META,!0),s(r,c.NAV,!0),s(r,c.NOEMBED,!0),s(r,c.NOFRAMES,!0),s(r,c.NOSCRIPT,!0),s(r,c.OBJECT,!0),s(r,c.OL,!0),s(r,c.P,!0),s(r,c.PARAM,!0),s(r,c.PLAINTEXT,!0),s(r,c.PRE,!0),s(r,c.SCRIPT,!0),s(r,c.SECTION,!0),s(r,c.SELECT,!0),s(r,c.SOURCE,!0),s(r,c.STYLE,!0),s(r,c.SUMMARY,!0),s(r,c.TABLE,!0),s(r,c.TBODY,!0),s(r,c.TD,!0),s(r,c.TEMPLATE,!0),s(r,c.TEXTAREA,!0),s(r,c.TFOOT,!0),s(r,c.TH,!0),s(r,c.THEAD,!0),s(r,c.TITLE,!0),s(r,c.TR,!0),s(r,c.TRACK,!0),s(r,c.UL,!0),s(r,c.WBR,!0),s(r,c.XMP,!0),r)),s(o,l.MATHML,(s(a={},c.MI,!0),s(a,c.MO,!0),s(a,c.MN,!0),s(a,c.MS,!0),s(a,c.MTEXT,!0),s(a,c.ANNOTATION_XML,!0),a)),s(o,l.SVG,(s(i={},c.TITLE,!0),s(i,c.FOREIGN_OBJECT,!0),s(i,c.DESC,!0),i)),o)},4529:function(e,t){"use strict";var n=[65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111];t.REPLACEMENT_CHARACTER="\ufffd",t.CODE_POINTS={EOF:-1,NULL:0,TABULATION:9,CARRIAGE_RETURN:13,LINE_FEED:10,FORM_FEED:12,SPACE:32,EXCLAMATION_MARK:33,QUOTATION_MARK:34,NUMBER_SIGN:35,AMPERSAND:38,APOSTROPHE:39,HYPHEN_MINUS:45,SOLIDUS:47,DIGIT_0:48,DIGIT_9:57,SEMICOLON:59,LESS_THAN_SIGN:60,EQUALS_SIGN:61,GREATER_THAN_SIGN:62,QUESTION_MARK:63,LATIN_CAPITAL_A:65,LATIN_CAPITAL_F:70,LATIN_CAPITAL_X:88,LATIN_CAPITAL_Z:90,RIGHT_SQUARE_BRACKET:93,GRAVE_ACCENT:96,LATIN_SMALL_A:97,LATIN_SMALL_F:102,LATIN_SMALL_X:120,LATIN_SMALL_Z:122,REPLACEMENT_CHARACTER:65533},t.CODE_POINT_SEQUENCES={DASH_DASH_STRING:[45,45],DOCTYPE_STRING:[68,79,67,84,89,80,69],CDATA_START_STRING:[91,67,68,65,84,65,91],SCRIPT_STRING:[115,99,114,105,112,116],PUBLIC_STRING:[80,85,66,76,73,67],SYSTEM_STRING:[83,89,83,84,69,77]},t.isSurrogate=function(e){return e>=55296&&e<=57343},t.isSurrogatePair=function(e){return e>=56320&&e<=57343},t.getSurrogatePairCodePoint=function(e,t){return 1024*(e-55296)+9216+t},t.isControlCodePoint=function(e){return 32!==e&&10!==e&&13!==e&&9!==e&&12!==e&&e>=1&&e<=31||e>=127&&e<=159},t.isUndefinedCodePoint=function(e){return e>=64976&&e<=65007||n.indexOf(e)>-1}},6915:function(e,t,n){"use strict";var r=n(6690).default,a=n(9728).default,i=n(1655).default,o=n(6389).default,s=function(e){i(n,e);var t=o(n);function n(e,a){var i;return r(this,n),(i=t.call(this,e)).posTracker=null,i.onParseError=a.onParseError,i}return a(n,[{key:"_setErrorLocation",value:function(e){e.startLine=e.endLine=this.posTracker.line,e.startCol=e.endCol=this.posTracker.col,e.startOffset=e.endOffset=this.posTracker.offset}},{key:"_reportError",value:function(e){var t={code:e,startLine:-1,startCol:-1,startOffset:-1,endLine:-1,endCol:-1,endOffset:-1};this._setErrorLocation(t),this.onParseError(t)}},{key:"_getOverriddenMethods",value:function(e){return{_err:function(t){e._reportError(t)}}}}]),n}(n(1458));e.exports=s},9839:function(e,t,n){"use strict";var r=n(6690).default,a=n(9728).default,i=n(1655).default,o=n(6389).default,s=n(6915),l=n(5611),c=n(2640),u=n(1458),d=function(e){i(n,e);var t=o(n);function n(e,a){var i;return r(this,n),(i=t.call(this,e,a)).opts=a,i.ctLoc=null,i.locBeforeToken=!1,i}return a(n,[{key:"_setErrorLocation",value:function(e){this.ctLoc&&(e.startLine=this.ctLoc.startLine,e.startCol=this.ctLoc.startCol,e.startOffset=this.ctLoc.startOffset,e.endLine=this.locBeforeToken?this.ctLoc.startLine:this.ctLoc.endLine,e.endCol=this.locBeforeToken?this.ctLoc.startCol:this.ctLoc.endCol,e.endOffset=this.locBeforeToken?this.ctLoc.startOffset:this.ctLoc.endOffset)}},{key:"_getOverriddenMethods",value:function(e,t){return{_bootstrap:function(n,r){t._bootstrap.call(this,n,r),u.install(this.tokenizer,l,e.opts),u.install(this.tokenizer,c)},_processInputToken:function(n){e.ctLoc=n.location,t._processInputToken.call(this,n)},_err:function(t,n){e.locBeforeToken=n&&n.beforeToken,e._reportError(t)}}}}]),n}(s);e.exports=d},2459:function(e,t,n){"use strict";var r=n(6690).default,a=n(9728).default,i=n(1588).default,o=n(3808).default,s=n(1655).default,l=n(6389).default,c=n(6915),u=n(64),d=n(1458),p=function(e){s(n,e);var t=l(n);function n(e,a){var i;return r(this,n),(i=t.call(this,e,a)).posTracker=d.install(e,u),i.lastErrOffset=-1,i}return a(n,[{key:"_reportError",value:function(e){this.lastErrOffset!==this.posTracker.offset&&(this.lastErrOffset=this.posTracker.offset,i(o(n.prototype),"_reportError",this).call(this,e))}}]),n}(c);e.exports=p},5611:function(e,t,n){"use strict";var r=n(9728).default,a=n(6690).default,i=n(1655).default,o=n(6389).default,s=n(6915),l=n(2459),c=n(1458),u=function(e){i(n,e);var t=o(n);function n(e,r){var i;a(this,n),i=t.call(this,e,r);var o=c.install(e.preprocessor,l,r);return i.posTracker=o.posTracker,i}return r(n)}(s);e.exports=u},4936:function(e,t,n){"use strict";var r=n(6690).default,a=n(9728).default,i=n(1655).default,o=n(6389).default,s=function(e){i(n,e);var t=o(n);function n(e,a){var i;return r(this,n),(i=t.call(this,e)).onItemPop=a.onItemPop,i}return a(n,[{key:"_getOverriddenMethods",value:function(e,t){return{pop:function(){e.onItemPop(this.current),t.pop.call(this)},popAllUpToHtmlElement:function(){for(var n=this.stackTop;n>0;n--)e.onItemPop(this.items[n]);t.popAllUpToHtmlElement.call(this)},remove:function(n){e.onItemPop(this.current),t.remove.call(this,n)}}}}]),n}(n(1458));e.exports=s},9037:function(e,t,n){"use strict";var r=n(6690).default,a=n(9728).default,i=n(1655).default,o=n(6389).default,s=n(1458),l=n(3085),c=n(2640),u=n(4936),d=n(9539).TAG_NAMES,p=function(e){i(n,e);var t=o(n);function n(e){var a;return r(this,n),(a=t.call(this,e)).parser=e,a.treeAdapter=a.parser.treeAdapter,a.posTracker=null,a.lastStartTagToken=null,a.lastFosterParentingLocation=null,a.currentToken=null,a}return a(n,[{key:"_setStartLocation",value:function(e){var t=null;this.lastStartTagToken&&((t=Object.assign({},this.lastStartTagToken.location)).startTag=this.lastStartTagToken.location),this.treeAdapter.setNodeSourceCodeLocation(e,t)}},{key:"_setEndLocation",value:function(e,t){if(this.treeAdapter.getNodeSourceCodeLocation(e)&&t.location){var n=t.location,r=this.treeAdapter.getTagName(e),a={};t.type===l.END_TAG_TOKEN&&r===t.tagName?(a.endTag=Object.assign({},n),a.endLine=n.endLine,a.endCol=n.endCol,a.endOffset=n.endOffset):(a.endLine=n.startLine,a.endCol=n.startCol,a.endOffset=n.startOffset),this.treeAdapter.updateNodeSourceCodeLocation(e,a)}}},{key:"_getOverriddenMethods",value:function(e,t){return{_bootstrap:function(n,r){t._bootstrap.call(this,n,r),e.lastStartTagToken=null,e.lastFosterParentingLocation=null,e.currentToken=null;var a=s.install(this.tokenizer,c);e.posTracker=a.posTracker,s.install(this.openElements,u,{onItemPop:function(t){e._setEndLocation(t,e.currentToken)}})},_runParsingLoop:function(n){t._runParsingLoop.call(this,n);for(var r=this.openElements.stackTop;r>=0;r--)e._setEndLocation(this.openElements.items[r],e.currentToken)},_processTokenInForeignContent:function(n){e.currentToken=n,t._processTokenInForeignContent.call(this,n)},_processToken:function(n){if(e.currentToken=n,t._processToken.call(this,n),n.type===l.END_TAG_TOKEN&&(n.tagName===d.HTML||n.tagName===d.BODY&&this.openElements.hasInScope(d.BODY)))for(var r=this.openElements.stackTop;r>=0;r--){var a=this.openElements.items[r];if(this.treeAdapter.getTagName(a)===n.tagName){e._setEndLocation(a,n);break}}},_setDocumentType:function(e){t._setDocumentType.call(this,e);for(var n=this.treeAdapter.getChildNodes(this.document),r=n.length,a=0;a<r;a++){var i=n[a];if(this.treeAdapter.isDocumentTypeNode(i)){this.treeAdapter.setNodeSourceCodeLocation(i,e.location);break}}},_attachElementToTree:function(n){e._setStartLocation(n),e.lastStartTagToken=null,t._attachElementToTree.call(this,n)},_appendElement:function(n,r){e.lastStartTagToken=n,t._appendElement.call(this,n,r)},_insertElement:function(n,r){e.lastStartTagToken=n,t._insertElement.call(this,n,r)},_insertTemplate:function(n){e.lastStartTagToken=n,t._insertTemplate.call(this,n);var r=this.treeAdapter.getTemplateContent(this.openElements.current);this.treeAdapter.setNodeSourceCodeLocation(r,null)},_insertFakeRootElement:function(){t._insertFakeRootElement.call(this),this.treeAdapter.setNodeSourceCodeLocation(this.openElements.current,null)},_appendCommentNode:function(e,n){t._appendCommentNode.call(this,e,n);var r=this.treeAdapter.getChildNodes(n),a=r[r.length-1];this.treeAdapter.setNodeSourceCodeLocation(a,e.location)},_findFosterParentingLocation:function(){return e.lastFosterParentingLocation=t._findFosterParentingLocation.call(this),e.lastFosterParentingLocation},_insertCharacters:function(n){t._insertCharacters.call(this,n);var r=this._shouldFosterParentOnInsertion(),a=r&&e.lastFosterParentingLocation.parent||this.openElements.currentTmplContent||this.openElements.current,i=this.treeAdapter.getChildNodes(a),o=r&&e.lastFosterParentingLocation.beforeElement?i.indexOf(e.lastFosterParentingLocation.beforeElement)-1:i.length-1,s=i[o];if(this.treeAdapter.getNodeSourceCodeLocation(s)){var l=n.location,c=l.endLine,u=l.endCol,d=l.endOffset;this.treeAdapter.updateNodeSourceCodeLocation(s,{endLine:c,endCol:u,endOffset:d})}else this.treeAdapter.setNodeSourceCodeLocation(s,n.location)}}}}]),n}(s);e.exports=p},2640:function(e,t,n){"use strict";var r=n(6690).default,a=n(9728).default,i=n(1655).default,o=n(6389).default,s=n(1458),l=n(3085),c=n(64),u=function(e){i(n,e);var t=o(n);function n(e){var a;return r(this,n),(a=t.call(this,e)).tokenizer=e,a.posTracker=s.install(e.preprocessor,c),a.currentAttrLocation=null,a.ctLoc=null,a}return a(n,[{key:"_getCurrentLocation",value:function(){return{startLine:this.posTracker.line,startCol:this.posTracker.col,startOffset:this.posTracker.offset,endLine:-1,endCol:-1,endOffset:-1}}},{key:"_attachCurrentAttrLocationInfo",value:function(){this.currentAttrLocation.endLine=this.posTracker.line,this.currentAttrLocation.endCol=this.posTracker.col,this.currentAttrLocation.endOffset=this.posTracker.offset;var e=this.tokenizer.currentToken,t=this.tokenizer.currentAttr;e.location.attrs||(e.location.attrs=Object.create(null)),e.location.attrs[t.name]=this.currentAttrLocation}},{key:"_getOverriddenMethods",value:function(e,t){var n={_createStartTagToken:function(){t._createStartTagToken.call(this),this.currentToken.location=e.ctLoc},_createEndTagToken:function(){t._createEndTagToken.call(this),this.currentToken.location=e.ctLoc},_createCommentToken:function(){t._createCommentToken.call(this),this.currentToken.location=e.ctLoc},_createDoctypeToken:function(n){t._createDoctypeToken.call(this,n),this.currentToken.location=e.ctLoc},_createCharacterToken:function(n,r){t._createCharacterToken.call(this,n,r),this.currentCharacterToken.location=e.ctLoc},_createEOFToken:function(){t._createEOFToken.call(this),this.currentToken.location=e._getCurrentLocation()},_createAttr:function(n){t._createAttr.call(this,n),e.currentAttrLocation=e._getCurrentLocation()},_leaveAttrName:function(n){t._leaveAttrName.call(this,n),e._attachCurrentAttrLocationInfo()},_leaveAttrValue:function(n){t._leaveAttrValue.call(this,n),e._attachCurrentAttrLocationInfo()},_emitCurrentToken:function(){var n=this.currentToken.location;this.currentCharacterToken&&(this.currentCharacterToken.location.endLine=n.startLine,this.currentCharacterToken.location.endCol=n.startCol,this.currentCharacterToken.location.endOffset=n.startOffset),this.currentToken.type===l.EOF_TOKEN?(n.endLine=n.startLine,n.endCol=n.startCol,n.endOffset=n.startOffset):(n.endLine=e.posTracker.line,n.endCol=e.posTracker.col+1,n.endOffset=e.posTracker.offset+1),t._emitCurrentToken.call(this)},_emitCurrentCharacterToken:function(){var n=this.currentCharacterToken&&this.currentCharacterToken.location;n&&-1===n.endOffset&&(n.endLine=e.posTracker.line,n.endCol=e.posTracker.col,n.endOffset=e.posTracker.offset),t._emitCurrentCharacterToken.call(this)}};return Object.keys(l.MODE).forEach((function(r){var a=l.MODE[r];n[a]=function(n){e.ctLoc=e._getCurrentLocation(),t[a].call(this,n)}})),n}}]),n}(s);e.exports=u},64:function(e,t,n){"use strict";var r=n(6690).default,a=n(9728).default,i=n(1655).default,o=n(6389).default,s=function(e){i(n,e);var t=o(n);function n(e){var a;return r(this,n),(a=t.call(this,e)).preprocessor=e,a.isEol=!1,a.lineStartPos=0,a.droppedBufferSize=0,a.offset=0,a.col=0,a.line=1,a}return a(n,[{key:"_getOverriddenMethods",value:function(e,t){return{advance:function(){var n=this.pos+1,r=this.html[n];return e.isEol&&(e.isEol=!1,e.line++,e.lineStartPos=n),("\n"===r||"\r"===r&&"\n"!==this.html[n+1])&&(e.isEol=!0),e.col=n-e.lineStartPos+1,e.offset=e.droppedBufferSize+n,t.advance.call(this)},retreat:function(){t.retreat.call(this),e.isEol=!1,e.col=this.pos-e.lineStartPos+1},dropParsedChunk:function(){var n=this.pos;t.dropParsedChunk.call(this);var r=n-this.pos;e.lineStartPos-=r,e.droppedBufferSize+=r,e.offset=e.droppedBufferSize+this.pos}}}}]),n}(n(1458));e.exports=s},2708:function(e,t,n){"use strict";var r=n(6690).default,a=n(9728).default,i=function(){function e(t){r(this,e),this.length=0,this.entries=[],this.treeAdapter=t,this.bookmark=null}return a(e,[{key:"_getNoahArkConditionCandidates",value:function(t){var n=[];if(this.length>=3)for(var r=this.treeAdapter.getAttrList(t).length,a=this.treeAdapter.getTagName(t),i=this.treeAdapter.getNamespaceURI(t),o=this.length-1;o>=0;o--){var s=this.entries[o];if(s.type===e.MARKER_ENTRY)break;var l=s.element,c=this.treeAdapter.getAttrList(l);this.treeAdapter.getTagName(l)===a&&this.treeAdapter.getNamespaceURI(l)===i&&c.length===r&&n.push({idx:o,attrs:c})}return n.length<3?[]:n}},{key:"_ensureNoahArkCondition",value:function(e){var t=this._getNoahArkConditionCandidates(e),n=t.length;if(n){for(var r=this.treeAdapter.getAttrList(e),a=r.length,i=Object.create(null),o=0;o<a;o++){var s=r[o];i[s.name]=s.value}for(var l=0;l<a;l++)for(var c=0;c<n;c++){var u=t[c].attrs[l];if(i[u.name]!==u.value&&(t.splice(c,1),n--),t.length<3)return}for(var d=n-1;d>=2;d--)this.entries.splice(t[d].idx,1),this.length--}}},{key:"insertMarker",value:function(){this.entries.push({type:e.MARKER_ENTRY}),this.length++}},{key:"pushElement",value:function(t,n){this._ensureNoahArkCondition(t),this.entries.push({type:e.ELEMENT_ENTRY,element:t,token:n}),this.length++}},{key:"insertElementAfterBookmark",value:function(t,n){for(var r=this.length-1;r>=0&&this.entries[r]!==this.bookmark;r--);this.entries.splice(r+1,0,{type:e.ELEMENT_ENTRY,element:t,token:n}),this.length++}},{key:"removeEntry",value:function(e){for(var t=this.length-1;t>=0;t--)if(this.entries[t]===e){this.entries.splice(t,1),this.length--;break}}},{key:"clearToLastMarker",value:function(){for(;this.length;){var t=this.entries.pop();if(this.length--,t.type===e.MARKER_ENTRY)break}}},{key:"getElementEntryInScopeWithTagName",value:function(t){for(var n=this.length-1;n>=0;n--){var r=this.entries[n];if(r.type===e.MARKER_ENTRY)return null;if(this.treeAdapter.getTagName(r.element)===t)return r}return null}},{key:"getElementEntry",value:function(t){for(var n=this.length-1;n>=0;n--){var r=this.entries[n];if(r.type===e.ELEMENT_ENTRY&&r.element===t)return r}return null}}]),e}();i.MARKER_ENTRY="MARKER_ENTRY",i.ELEMENT_ENTRY="ELEMENT_ENTRY",e.exports=i},8992:function(e,t,n){"use strict";var r,a,i,o,s,l,c,u,d,p,m,f,g,h,b,E,y,T,S,v,A,_,k,C,w,N,I=n(6690).default,R=n(9728).default,x=n(8416).default,O=n(3085),L=n(4808),P=n(2708),D=n(9037),M=n(9839),F=n(1458),U=n(3860),B=n(3874),G=n(4802),H=n(5478),z=n(4551),$=n(4529),j=n(9539),V=j.TAG_NAMES,W=j.NAMESPACES,K=j.ATTRS,q={scriptingEnabled:!0,sourceCodeLocationInfo:!1,onParseError:null,treeAdapter:U},Y="hidden",X="INITIAL_MODE",Z="BEFORE_HTML_MODE",Q="BEFORE_HEAD_MODE",J="IN_HEAD_MODE",ee="IN_HEAD_NO_SCRIPT_MODE",te="AFTER_HEAD_MODE",ne="IN_BODY_MODE",re="TEXT_MODE",ae="IN_TABLE_MODE",ie="IN_TABLE_TEXT_MODE",oe="IN_CAPTION_MODE",se="IN_COLUMN_GROUP_MODE",le="IN_TABLE_BODY_MODE",ce="IN_ROW_MODE",ue="IN_CELL_MODE",de="IN_SELECT_MODE",pe="IN_SELECT_IN_TABLE_MODE",me="IN_TEMPLATE_MODE",fe="AFTER_BODY_MODE",ge="IN_FRAMESET_MODE",he="AFTER_FRAMESET_MODE",be="AFTER_AFTER_BODY_MODE",Ee="AFTER_AFTER_FRAMESET_MODE",ye=(x(r={},V.TR,ce),x(r,V.TBODY,le),x(r,V.THEAD,le),x(r,V.TFOOT,le),x(r,V.CAPTION,oe),x(r,V.COLGROUP,se),x(r,V.TABLE,ae),x(r,V.BODY,ne),x(r,V.FRAMESET,ge),r),Te=(x(a={},V.CAPTION,ae),x(a,V.COLGROUP,ae),x(a,V.TBODY,ae),x(a,V.TFOOT,ae),x(a,V.THEAD,ae),x(a,V.COL,se),x(a,V.TR,le),x(a,V.TD,ce),x(a,V.TH,ce),a),Se=(x(N={},X,(x(i={},O.CHARACTER_TOKEN,Me),x(i,O.NULL_CHARACTER_TOKEN,Me),x(i,O.WHITESPACE_CHARACTER_TOKEN,Re),x(i,O.COMMENT_TOKEN,Oe),x(i,O.DOCTYPE_TOKEN,(function(e,t){e._setDocumentType(t);var n=t.forceQuirks?j.DOCUMENT_MODE.QUIRKS:G.getDocumentMode(t);G.isConforming(t)||e._err(z.nonConformingDoctype);e.treeAdapter.setDocumentMode(e.document,n),e.insertionMode=Z})),x(i,O.START_TAG_TOKEN,Me),x(i,O.END_TAG_TOKEN,Me),x(i,O.EOF_TOKEN,Me),i)),x(N,Z,(x(o={},O.CHARACTER_TOKEN,Fe),x(o,O.NULL_CHARACTER_TOKEN,Fe),x(o,O.WHITESPACE_CHARACTER_TOKEN,Re),x(o,O.COMMENT_TOKEN,Oe),x(o,O.DOCTYPE_TOKEN,Re),x(o,O.START_TAG_TOKEN,(function(e,t){t.tagName===V.HTML?(e._insertElement(t,W.HTML),e.insertionMode=Q):Fe(e,t)})),x(o,O.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n!==V.HTML&&n!==V.HEAD&&n!==V.BODY&&n!==V.BR||Fe(e,t)})),x(o,O.EOF_TOKEN,Fe),o)),x(N,Q,(x(s={},O.CHARACTER_TOKEN,Ue),x(s,O.NULL_CHARACTER_TOKEN,Ue),x(s,O.WHITESPACE_CHARACTER_TOKEN,Re),x(s,O.COMMENT_TOKEN,Oe),x(s,O.DOCTYPE_TOKEN,xe),x(s,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.HTML?nt(e,t):n===V.HEAD?(e._insertElement(t,W.HTML),e.headElement=e.openElements.current,e.insertionMode=J):Ue(e,t)})),x(s,O.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.HEAD||n===V.BODY||n===V.HTML||n===V.BR?Ue(e,t):e._err(z.endTagWithoutMatchingOpenElement)})),x(s,O.EOF_TOKEN,Ue),s)),x(N,J,(x(l={},O.CHARACTER_TOKEN,He),x(l,O.NULL_CHARACTER_TOKEN,He),x(l,O.WHITESPACE_CHARACTER_TOKEN,Pe),x(l,O.COMMENT_TOKEN,Oe),x(l,O.DOCTYPE_TOKEN,xe),x(l,O.START_TAG_TOKEN,Be),x(l,O.END_TAG_TOKEN,Ge),x(l,O.EOF_TOKEN,He),l)),x(N,ee,(x(c={},O.CHARACTER_TOKEN,ze),x(c,O.NULL_CHARACTER_TOKEN,ze),x(c,O.WHITESPACE_CHARACTER_TOKEN,Pe),x(c,O.COMMENT_TOKEN,Oe),x(c,O.DOCTYPE_TOKEN,xe),x(c,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.HTML?nt(e,t):n===V.BASEFONT||n===V.BGSOUND||n===V.HEAD||n===V.LINK||n===V.META||n===V.NOFRAMES||n===V.STYLE?Be(e,t):n===V.NOSCRIPT?e._err(z.nestedNoscriptInHead):ze(e,t)})),x(c,O.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.NOSCRIPT?(e.openElements.pop(),e.insertionMode=J):n===V.BR?ze(e,t):e._err(z.endTagWithoutMatchingOpenElement)})),x(c,O.EOF_TOKEN,ze),c)),x(N,te,(x(u={},O.CHARACTER_TOKEN,$e),x(u,O.NULL_CHARACTER_TOKEN,$e),x(u,O.WHITESPACE_CHARACTER_TOKEN,Pe),x(u,O.COMMENT_TOKEN,Oe),x(u,O.DOCTYPE_TOKEN,xe),x(u,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.HTML?nt(e,t):n===V.BODY?(e._insertElement(t,W.HTML),e.framesetOk=!1,e.insertionMode=ne):n===V.FRAMESET?(e._insertElement(t,W.HTML),e.insertionMode=ge):n===V.BASE||n===V.BASEFONT||n===V.BGSOUND||n===V.LINK||n===V.META||n===V.NOFRAMES||n===V.SCRIPT||n===V.STYLE||n===V.TEMPLATE||n===V.TITLE?(e._err(z.abandonedHeadElementChild),e.openElements.push(e.headElement),Be(e,t),e.openElements.remove(e.headElement)):n===V.HEAD?e._err(z.misplacedStartTagForHeadElement):$e(e,t)})),x(u,O.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.BODY||n===V.HTML||n===V.BR?$e(e,t):n===V.TEMPLATE?Ge(e,t):e._err(z.endTagWithoutMatchingOpenElement)})),x(u,O.EOF_TOKEN,$e),u)),x(N,ne,(x(d={},O.CHARACTER_TOKEN,Ve),x(d,O.NULL_CHARACTER_TOKEN,Re),x(d,O.WHITESPACE_CHARACTER_TOKEN,je),x(d,O.COMMENT_TOKEN,Oe),x(d,O.DOCTYPE_TOKEN,Re),x(d,O.START_TAG_TOKEN,nt),x(d,O.END_TAG_TOKEN,ot),x(d,O.EOF_TOKEN,st),d)),x(N,re,(x(p={},O.CHARACTER_TOKEN,Pe),x(p,O.NULL_CHARACTER_TOKEN,Pe),x(p,O.WHITESPACE_CHARACTER_TOKEN,Pe),x(p,O.COMMENT_TOKEN,Re),x(p,O.DOCTYPE_TOKEN,Re),x(p,O.START_TAG_TOKEN,Re),x(p,O.END_TAG_TOKEN,(function(e,t){t.tagName===V.SCRIPT&&(e.pendingScript=e.openElements.current);e.openElements.pop(),e.insertionMode=e.originalInsertionMode})),x(p,O.EOF_TOKEN,(function(e,t){e._err(z.eofInElementThatCanContainOnlyText),e.openElements.pop(),e.insertionMode=e.originalInsertionMode,e._processToken(t)})),p)),x(N,ae,(x(m={},O.CHARACTER_TOKEN,lt),x(m,O.NULL_CHARACTER_TOKEN,lt),x(m,O.WHITESPACE_CHARACTER_TOKEN,lt),x(m,O.COMMENT_TOKEN,Oe),x(m,O.DOCTYPE_TOKEN,Re),x(m,O.START_TAG_TOKEN,ct),x(m,O.END_TAG_TOKEN,ut),x(m,O.EOF_TOKEN,st),m)),x(N,ie,(x(f={},O.CHARACTER_TOKEN,(function(e,t){e.pendingCharacterTokens.push(t),e.hasNonWhitespacePendingCharacterToken=!0})),x(f,O.NULL_CHARACTER_TOKEN,Re),x(f,O.WHITESPACE_CHARACTER_TOKEN,(function(e,t){e.pendingCharacterTokens.push(t)})),x(f,O.COMMENT_TOKEN,pt),x(f,O.DOCTYPE_TOKEN,pt),x(f,O.START_TAG_TOKEN,pt),x(f,O.END_TAG_TOKEN,pt),x(f,O.EOF_TOKEN,pt),f)),x(N,oe,(x(g={},O.CHARACTER_TOKEN,Ve),x(g,O.NULL_CHARACTER_TOKEN,Re),x(g,O.WHITESPACE_CHARACTER_TOKEN,je),x(g,O.COMMENT_TOKEN,Oe),x(g,O.DOCTYPE_TOKEN,Re),x(g,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.CAPTION||n===V.COL||n===V.COLGROUP||n===V.TBODY||n===V.TD||n===V.TFOOT||n===V.TH||n===V.THEAD||n===V.TR?e.openElements.hasInTableScope(V.CAPTION)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(V.CAPTION),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=ae,e._processToken(t)):nt(e,t)})),x(g,O.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.CAPTION||n===V.TABLE?e.openElements.hasInTableScope(V.CAPTION)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(V.CAPTION),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=ae,n===V.TABLE&&e._processToken(t)):n!==V.BODY&&n!==V.COL&&n!==V.COLGROUP&&n!==V.HTML&&n!==V.TBODY&&n!==V.TD&&n!==V.TFOOT&&n!==V.TH&&n!==V.THEAD&&n!==V.TR&&ot(e,t)})),x(g,O.EOF_TOKEN,st),g)),x(N,se,(x(h={},O.CHARACTER_TOKEN,mt),x(h,O.NULL_CHARACTER_TOKEN,mt),x(h,O.WHITESPACE_CHARACTER_TOKEN,Pe),x(h,O.COMMENT_TOKEN,Oe),x(h,O.DOCTYPE_TOKEN,Re),x(h,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.HTML?nt(e,t):n===V.COL?(e._appendElement(t,W.HTML),t.ackSelfClosing=!0):n===V.TEMPLATE?Be(e,t):mt(e,t)})),x(h,O.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.COLGROUP?e.openElements.currentTagName===V.COLGROUP&&(e.openElements.pop(),e.insertionMode=ae):n===V.TEMPLATE?Ge(e,t):n!==V.COL&&mt(e,t)})),x(h,O.EOF_TOKEN,st),h)),x(N,le,(x(b={},O.CHARACTER_TOKEN,lt),x(b,O.NULL_CHARACTER_TOKEN,lt),x(b,O.WHITESPACE_CHARACTER_TOKEN,lt),x(b,O.COMMENT_TOKEN,Oe),x(b,O.DOCTYPE_TOKEN,Re),x(b,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.TR?(e.openElements.clearBackToTableBodyContext(),e._insertElement(t,W.HTML),e.insertionMode=ce):n===V.TH||n===V.TD?(e.openElements.clearBackToTableBodyContext(),e._insertFakeElement(V.TR),e.insertionMode=ce,e._processToken(t)):n===V.CAPTION||n===V.COL||n===V.COLGROUP||n===V.TBODY||n===V.TFOOT||n===V.THEAD?e.openElements.hasTableBodyContextInTableScope()&&(e.openElements.clearBackToTableBodyContext(),e.openElements.pop(),e.insertionMode=ae,e._processToken(t)):ct(e,t)})),x(b,O.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.TBODY||n===V.TFOOT||n===V.THEAD?e.openElements.hasInTableScope(n)&&(e.openElements.clearBackToTableBodyContext(),e.openElements.pop(),e.insertionMode=ae):n===V.TABLE?e.openElements.hasTableBodyContextInTableScope()&&(e.openElements.clearBackToTableBodyContext(),e.openElements.pop(),e.insertionMode=ae,e._processToken(t)):(n!==V.BODY&&n!==V.CAPTION&&n!==V.COL&&n!==V.COLGROUP||n!==V.HTML&&n!==V.TD&&n!==V.TH&&n!==V.TR)&&ut(e,t)})),x(b,O.EOF_TOKEN,st),b)),x(N,ce,(x(E={},O.CHARACTER_TOKEN,lt),x(E,O.NULL_CHARACTER_TOKEN,lt),x(E,O.WHITESPACE_CHARACTER_TOKEN,lt),x(E,O.COMMENT_TOKEN,Oe),x(E,O.DOCTYPE_TOKEN,Re),x(E,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.TH||n===V.TD?(e.openElements.clearBackToTableRowContext(),e._insertElement(t,W.HTML),e.insertionMode=ue,e.activeFormattingElements.insertMarker()):n===V.CAPTION||n===V.COL||n===V.COLGROUP||n===V.TBODY||n===V.TFOOT||n===V.THEAD||n===V.TR?e.openElements.hasInTableScope(V.TR)&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=le,e._processToken(t)):ct(e,t)})),x(E,O.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.TR?e.openElements.hasInTableScope(V.TR)&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=le):n===V.TABLE?e.openElements.hasInTableScope(V.TR)&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=le,e._processToken(t)):n===V.TBODY||n===V.TFOOT||n===V.THEAD?(e.openElements.hasInTableScope(n)||e.openElements.hasInTableScope(V.TR))&&(e.openElements.clearBackToTableRowContext(),e.openElements.pop(),e.insertionMode=le,e._processToken(t)):(n!==V.BODY&&n!==V.CAPTION&&n!==V.COL&&n!==V.COLGROUP||n!==V.HTML&&n!==V.TD&&n!==V.TH)&&ut(e,t)})),x(E,O.EOF_TOKEN,st),E)),x(N,ue,(x(y={},O.CHARACTER_TOKEN,Ve),x(y,O.NULL_CHARACTER_TOKEN,Re),x(y,O.WHITESPACE_CHARACTER_TOKEN,je),x(y,O.COMMENT_TOKEN,Oe),x(y,O.DOCTYPE_TOKEN,Re),x(y,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.CAPTION||n===V.COL||n===V.COLGROUP||n===V.TBODY||n===V.TD||n===V.TFOOT||n===V.TH||n===V.THEAD||n===V.TR?(e.openElements.hasInTableScope(V.TD)||e.openElements.hasInTableScope(V.TH))&&(e._closeTableCell(),e._processToken(t)):nt(e,t)})),x(y,O.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.TD||n===V.TH?e.openElements.hasInTableScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=ce):n===V.TABLE||n===V.TBODY||n===V.TFOOT||n===V.THEAD||n===V.TR?e.openElements.hasInTableScope(n)&&(e._closeTableCell(),e._processToken(t)):n!==V.BODY&&n!==V.CAPTION&&n!==V.COL&&n!==V.COLGROUP&&n!==V.HTML&&ot(e,t)})),x(y,O.EOF_TOKEN,st),y)),x(N,de,(x(T={},O.CHARACTER_TOKEN,Pe),x(T,O.NULL_CHARACTER_TOKEN,Re),x(T,O.WHITESPACE_CHARACTER_TOKEN,Pe),x(T,O.COMMENT_TOKEN,Oe),x(T,O.DOCTYPE_TOKEN,Re),x(T,O.START_TAG_TOKEN,ft),x(T,O.END_TAG_TOKEN,gt),x(T,O.EOF_TOKEN,st),T)),x(N,pe,(x(S={},O.CHARACTER_TOKEN,Pe),x(S,O.NULL_CHARACTER_TOKEN,Re),x(S,O.WHITESPACE_CHARACTER_TOKEN,Pe),x(S,O.COMMENT_TOKEN,Oe),x(S,O.DOCTYPE_TOKEN,Re),x(S,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.CAPTION||n===V.TABLE||n===V.TBODY||n===V.TFOOT||n===V.THEAD||n===V.TR||n===V.TD||n===V.TH?(e.openElements.popUntilTagNamePopped(V.SELECT),e._resetInsertionMode(),e._processToken(t)):ft(e,t)})),x(S,O.END_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.CAPTION||n===V.TABLE||n===V.TBODY||n===V.TFOOT||n===V.THEAD||n===V.TR||n===V.TD||n===V.TH?e.openElements.hasInTableScope(n)&&(e.openElements.popUntilTagNamePopped(V.SELECT),e._resetInsertionMode(),e._processToken(t)):gt(e,t)})),x(S,O.EOF_TOKEN,st),S)),x(N,me,(x(v={},O.CHARACTER_TOKEN,Ve),x(v,O.NULL_CHARACTER_TOKEN,Re),x(v,O.WHITESPACE_CHARACTER_TOKEN,je),x(v,O.COMMENT_TOKEN,Oe),x(v,O.DOCTYPE_TOKEN,Re),x(v,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;if(n===V.BASE||n===V.BASEFONT||n===V.BGSOUND||n===V.LINK||n===V.META||n===V.NOFRAMES||n===V.SCRIPT||n===V.STYLE||n===V.TEMPLATE||n===V.TITLE)Be(e,t);else{var r=Te[n]||ne;e._popTmplInsertionMode(),e._pushTmplInsertionMode(r),e.insertionMode=r,e._processToken(t)}})),x(v,O.END_TAG_TOKEN,(function(e,t){t.tagName===V.TEMPLATE&&Ge(e,t)})),x(v,O.EOF_TOKEN,ht),v)),x(N,fe,(x(A={},O.CHARACTER_TOKEN,bt),x(A,O.NULL_CHARACTER_TOKEN,bt),x(A,O.WHITESPACE_CHARACTER_TOKEN,je),x(A,O.COMMENT_TOKEN,(function(e,t){e._appendCommentNode(t,e.openElements.items[0])})),x(A,O.DOCTYPE_TOKEN,Re),x(A,O.START_TAG_TOKEN,(function(e,t){t.tagName===V.HTML?nt(e,t):bt(e,t)})),x(A,O.END_TAG_TOKEN,(function(e,t){t.tagName===V.HTML?e.fragmentContext||(e.insertionMode=be):bt(e,t)})),x(A,O.EOF_TOKEN,De),A)),x(N,ge,(x(_={},O.CHARACTER_TOKEN,Re),x(_,O.NULL_CHARACTER_TOKEN,Re),x(_,O.WHITESPACE_CHARACTER_TOKEN,Pe),x(_,O.COMMENT_TOKEN,Oe),x(_,O.DOCTYPE_TOKEN,Re),x(_,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.HTML?nt(e,t):n===V.FRAMESET?e._insertElement(t,W.HTML):n===V.FRAME?(e._appendElement(t,W.HTML),t.ackSelfClosing=!0):n===V.NOFRAMES&&Be(e,t)})),x(_,O.END_TAG_TOKEN,(function(e,t){t.tagName!==V.FRAMESET||e.openElements.isRootHtmlElementCurrent()||(e.openElements.pop(),e.fragmentContext||e.openElements.currentTagName===V.FRAMESET||(e.insertionMode=he))})),x(_,O.EOF_TOKEN,De),_)),x(N,he,(x(k={},O.CHARACTER_TOKEN,Re),x(k,O.NULL_CHARACTER_TOKEN,Re),x(k,O.WHITESPACE_CHARACTER_TOKEN,Pe),x(k,O.COMMENT_TOKEN,Oe),x(k,O.DOCTYPE_TOKEN,Re),x(k,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.HTML?nt(e,t):n===V.NOFRAMES&&Be(e,t)})),x(k,O.END_TAG_TOKEN,(function(e,t){t.tagName===V.HTML&&(e.insertionMode=Ee)})),x(k,O.EOF_TOKEN,De),k)),x(N,be,(x(C={},O.CHARACTER_TOKEN,Et),x(C,O.NULL_CHARACTER_TOKEN,Et),x(C,O.WHITESPACE_CHARACTER_TOKEN,je),x(C,O.COMMENT_TOKEN,Le),x(C,O.DOCTYPE_TOKEN,Re),x(C,O.START_TAG_TOKEN,(function(e,t){t.tagName===V.HTML?nt(e,t):Et(e,t)})),x(C,O.END_TAG_TOKEN,Et),x(C,O.EOF_TOKEN,De),C)),x(N,Ee,(x(w={},O.CHARACTER_TOKEN,Re),x(w,O.NULL_CHARACTER_TOKEN,Re),x(w,O.WHITESPACE_CHARACTER_TOKEN,je),x(w,O.COMMENT_TOKEN,Le),x(w,O.DOCTYPE_TOKEN,Re),x(w,O.START_TAG_TOKEN,(function(e,t){var n=t.tagName;n===V.HTML?nt(e,t):n===V.NOFRAMES&&Be(e,t)})),x(w,O.END_TAG_TOKEN,Re),x(w,O.EOF_TOKEN,De),w)),N),ve=function(){function e(t){I(this,e),this.options=B(q,t),this.treeAdapter=this.options.treeAdapter,this.pendingScript=null,this.options.sourceCodeLocationInfo&&F.install(this,D),this.options.onParseError&&F.install(this,M,{onParseError:this.options.onParseError})}return R(e,[{key:"parse",value:function(e){var t=this.treeAdapter.createDocument();return this._bootstrap(t,null),this.tokenizer.write(e,!0),this._runParsingLoop(null),t}},{key:"parseFragment",value:function(e,t){t||(t=this.treeAdapter.createElement(V.TEMPLATE,W.HTML,[]));var n=this.treeAdapter.createElement("documentmock",W.HTML,[]);this._bootstrap(n,t),this.treeAdapter.getTagName(t)===V.TEMPLATE&&this._pushTmplInsertionMode(me),this._initTokenizerForFragmentParsing(),this._insertFakeRootElement(),this._resetInsertionMode(),this._findFormInFragmentContext(),this.tokenizer.write(e,!0),this._runParsingLoop(null);var r=this.treeAdapter.getFirstChild(n),a=this.treeAdapter.createDocumentFragment();return this._adoptNodes(r,a),a}},{key:"_bootstrap",value:function(e,t){this.tokenizer=new O(this.options),this.stopped=!1,this.insertionMode=X,this.originalInsertionMode="",this.document=e,this.fragmentContext=t,this.headElement=null,this.formElement=null,this.openElements=new L(this.document,this.treeAdapter),this.activeFormattingElements=new P(this.treeAdapter),this.tmplInsertionModeStack=[],this.tmplInsertionModeStackTop=-1,this.currentTmplInsertionMode=null,this.pendingCharacterTokens=[],this.hasNonWhitespacePendingCharacterToken=!1,this.framesetOk=!0,this.skipNextNewLine=!1,this.fosterParentingEnabled=!1}},{key:"_err",value:function(){}},{key:"_runParsingLoop",value:function(e){for(;!this.stopped;){this._setupTokenizerCDATAMode();var t=this.tokenizer.getNextToken();if(t.type===O.HIBERNATION_TOKEN)break;if(this.skipNextNewLine&&(this.skipNextNewLine=!1,t.type===O.WHITESPACE_CHARACTER_TOKEN&&"\n"===t.chars[0])){if(1===t.chars.length)continue;t.chars=t.chars.substr(1)}if(this._processInputToken(t),e&&this.pendingScript)break}}},{key:"runParsingLoopForCurrentChunk",value:function(e,t){if(this._runParsingLoop(t),t&&this.pendingScript){var n=this.pendingScript;return this.pendingScript=null,void t(n)}e&&e()}},{key:"_setupTokenizerCDATAMode",value:function(){var e=this._getAdjustedCurrentElement();this.tokenizer.allowCDATA=e&&e!==this.document&&this.treeAdapter.getNamespaceURI(e)!==W.HTML&&!this._isIntegrationPoint(e)}},{key:"_switchToTextParsing",value:function(e,t){this._insertElement(e,W.HTML),this.tokenizer.state=t,this.originalInsertionMode=this.insertionMode,this.insertionMode=re}},{key:"switchToPlaintextParsing",value:function(){this.insertionMode=re,this.originalInsertionMode=ne,this.tokenizer.state=O.MODE.PLAINTEXT}},{key:"_getAdjustedCurrentElement",value:function(){return 0===this.openElements.stackTop&&this.fragmentContext?this.fragmentContext:this.openElements.current}},{key:"_findFormInFragmentContext",value:function(){var e=this.fragmentContext;do{if(this.treeAdapter.getTagName(e)===V.FORM){this.formElement=e;break}e=this.treeAdapter.getParentNode(e)}while(e)}},{key:"_initTokenizerForFragmentParsing",value:function(){if(this.treeAdapter.getNamespaceURI(this.fragmentContext)===W.HTML){var e=this.treeAdapter.getTagName(this.fragmentContext);e===V.TITLE||e===V.TEXTAREA?this.tokenizer.state=O.MODE.RCDATA:e===V.STYLE||e===V.XMP||e===V.IFRAME||e===V.NOEMBED||e===V.NOFRAMES||e===V.NOSCRIPT?this.tokenizer.state=O.MODE.RAWTEXT:e===V.SCRIPT?this.tokenizer.state=O.MODE.SCRIPT_DATA:e===V.PLAINTEXT&&(this.tokenizer.state=O.MODE.PLAINTEXT)}}},{key:"_setDocumentType",value:function(e){var t=e.name||"",n=e.publicId||"",r=e.systemId||"";this.treeAdapter.setDocumentType(this.document,t,n,r)}},{key:"_attachElementToTree",value:function(e){if(this._shouldFosterParentOnInsertion())this._fosterParentElement(e);else{var t=this.openElements.currentTmplContent||this.openElements.current;this.treeAdapter.appendChild(t,e)}}},{key:"_appendElement",value:function(e,t){var n=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(n)}},{key:"_insertElement",value:function(e,t){var n=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(n),this.openElements.push(n)}},{key:"_insertFakeElement",value:function(e){var t=this.treeAdapter.createElement(e,W.HTML,[]);this._attachElementToTree(t),this.openElements.push(t)}},{key:"_insertTemplate",value:function(e){var t=this.treeAdapter.createElement(e.tagName,W.HTML,e.attrs),n=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(t,n),this._attachElementToTree(t),this.openElements.push(t)}},{key:"_insertFakeRootElement",value:function(){var e=this.treeAdapter.createElement(V.HTML,W.HTML,[]);this.treeAdapter.appendChild(this.openElements.current,e),this.openElements.push(e)}},{key:"_appendCommentNode",value:function(e,t){var n=this.treeAdapter.createCommentNode(e.data);this.treeAdapter.appendChild(t,n)}},{key:"_insertCharacters",value:function(e){if(this._shouldFosterParentOnInsertion())this._fosterParentText(e.chars);else{var t=this.openElements.currentTmplContent||this.openElements.current;this.treeAdapter.insertText(t,e.chars)}}},{key:"_adoptNodes",value:function(e,t){for(var n=this.treeAdapter.getFirstChild(e);n;n=this.treeAdapter.getFirstChild(e))this.treeAdapter.detachNode(n),this.treeAdapter.appendChild(t,n)}},{key:"_shouldProcessTokenInForeignContent",value:function(e){var t=this._getAdjustedCurrentElement();if(!t||t===this.document)return!1;var n=this.treeAdapter.getNamespaceURI(t);if(n===W.HTML)return!1;if(this.treeAdapter.getTagName(t)===V.ANNOTATION_XML&&n===W.MATHML&&e.type===O.START_TAG_TOKEN&&e.tagName===V.SVG)return!1;var r=e.type===O.CHARACTER_TOKEN||e.type===O.NULL_CHARACTER_TOKEN||e.type===O.WHITESPACE_CHARACTER_TOKEN;return(!(e.type===O.START_TAG_TOKEN&&e.tagName!==V.MGLYPH&&e.tagName!==V.MALIGNMARK)&&!r||!this._isIntegrationPoint(t,W.MATHML))&&((e.type!==O.START_TAG_TOKEN&&!r||!this._isIntegrationPoint(t,W.HTML))&&e.type!==O.EOF_TOKEN)}},{key:"_processToken",value:function(e){Se[this.insertionMode][e.type](this,e)}},{key:"_processTokenInBodyMode",value:function(e){Se.IN_BODY_MODE[e.type](this,e)}},{key:"_processTokenInForeignContent",value:function(e){e.type===O.CHARACTER_TOKEN?function(e,t){e._insertCharacters(t),e.framesetOk=!1}(this,e):e.type===O.NULL_CHARACTER_TOKEN?function(e,t){t.chars=$.REPLACEMENT_CHARACTER,e._insertCharacters(t)}(this,e):e.type===O.WHITESPACE_CHARACTER_TOKEN?Pe(this,e):e.type===O.COMMENT_TOKEN?Oe(this,e):e.type===O.START_TAG_TOKEN?function(e,t){if(H.causesExit(t)&&!e.fragmentContext){for(;e.treeAdapter.getNamespaceURI(e.openElements.current)!==W.HTML&&!e._isIntegrationPoint(e.openElements.current);)e.openElements.pop();e._processToken(t)}else{var n=e._getAdjustedCurrentElement(),r=e.treeAdapter.getNamespaceURI(n);r===W.MATHML?H.adjustTokenMathMLAttrs(t):r===W.SVG&&(H.adjustTokenSVGTagName(t),H.adjustTokenSVGAttrs(t)),H.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,r):e._insertElement(t,r),t.ackSelfClosing=!0}}(this,e):e.type===O.END_TAG_TOKEN&&function(e,t){for(var n=e.openElements.stackTop;n>0;n--){var r=e.openElements.items[n];if(e.treeAdapter.getNamespaceURI(r)===W.HTML){e._processToken(t);break}if(e.treeAdapter.getTagName(r).toLowerCase()===t.tagName){e.openElements.popUntilElementPopped(r);break}}}(this,e)}},{key:"_processInputToken",value:function(e){this._shouldProcessTokenInForeignContent(e)?this._processTokenInForeignContent(e):this._processToken(e),e.type===O.START_TAG_TOKEN&&e.selfClosing&&!e.ackSelfClosing&&this._err(z.nonVoidHtmlElementStartTagWithTrailingSolidus)}},{key:"_isIntegrationPoint",value:function(e,t){var n=this.treeAdapter.getTagName(e),r=this.treeAdapter.getNamespaceURI(e),a=this.treeAdapter.getAttrList(e);return H.isIntegrationPoint(n,r,a,t)}},{key:"_reconstructActiveFormattingElements",value:function(){var e=this.activeFormattingElements.length;if(e){var t=e,n=null;do{if(t--,(n=this.activeFormattingElements.entries[t]).type===P.MARKER_ENTRY||this.openElements.contains(n.element)){t++;break}}while(t>0);for(var r=t;r<e;r++)n=this.activeFormattingElements.entries[r],this._insertElement(n.token,this.treeAdapter.getNamespaceURI(n.element)),n.element=this.openElements.current}}},{key:"_closeTableCell",value:function(){this.openElements.generateImpliedEndTags(),this.openElements.popUntilTableCellPopped(),this.activeFormattingElements.clearToLastMarker(),this.insertionMode=ce}},{key:"_closePElement",value:function(){this.openElements.generateImpliedEndTagsWithExclusion(V.P),this.openElements.popUntilTagNamePopped(V.P)}},{key:"_resetInsertionMode",value:function(){for(var e=this.openElements.stackTop,t=!1;e>=0;e--){var n=this.openElements.items[e];0===e&&(t=!0,this.fragmentContext&&(n=this.fragmentContext));var r=this.treeAdapter.getTagName(n),a=ye[r];if(a){this.insertionMode=a;break}if(!(t||r!==V.TD&&r!==V.TH)){this.insertionMode=ue;break}if(!t&&r===V.HEAD){this.insertionMode=J;break}if(r===V.SELECT){this._resetInsertionModeForSelect(e);break}if(r===V.TEMPLATE){this.insertionMode=this.currentTmplInsertionMode;break}if(r===V.HTML){this.insertionMode=this.headElement?te:Q;break}if(t){this.insertionMode=ne;break}}}},{key:"_resetInsertionModeForSelect",value:function(e){if(e>0)for(var t=e-1;t>0;t--){var n=this.openElements.items[t],r=this.treeAdapter.getTagName(n);if(r===V.TEMPLATE)break;if(r===V.TABLE)return void(this.insertionMode=pe)}this.insertionMode=de}},{key:"_pushTmplInsertionMode",value:function(e){this.tmplInsertionModeStack.push(e),this.tmplInsertionModeStackTop++,this.currentTmplInsertionMode=e}},{key:"_popTmplInsertionMode",value:function(){this.tmplInsertionModeStack.pop(),this.tmplInsertionModeStackTop--,this.currentTmplInsertionMode=this.tmplInsertionModeStack[this.tmplInsertionModeStackTop]}},{key:"_isElementCausesFosterParenting",value:function(e){var t=this.treeAdapter.getTagName(e);return t===V.TABLE||t===V.TBODY||t===V.TFOOT||t===V.THEAD||t===V.TR}},{key:"_shouldFosterParentOnInsertion",value:function(){return this.fosterParentingEnabled&&this._isElementCausesFosterParenting(this.openElements.current)}},{key:"_findFosterParentingLocation",value:function(){for(var e={parent:null,beforeElement:null},t=this.openElements.stackTop;t>=0;t--){var n=this.openElements.items[t],r=this.treeAdapter.getTagName(n),a=this.treeAdapter.getNamespaceURI(n);if(r===V.TEMPLATE&&a===W.HTML){e.parent=this.treeAdapter.getTemplateContent(n);break}if(r===V.TABLE){e.parent=this.treeAdapter.getParentNode(n),e.parent?e.beforeElement=n:e.parent=this.openElements.items[t-1];break}}return e.parent||(e.parent=this.openElements.items[0]),e}},{key:"_fosterParentElement",value:function(e){var t=this._findFosterParentingLocation();t.beforeElement?this.treeAdapter.insertBefore(t.parent,e,t.beforeElement):this.treeAdapter.appendChild(t.parent,e)}},{key:"_fosterParentText",value:function(e){var t=this._findFosterParentingLocation();t.beforeElement?this.treeAdapter.insertTextBefore(t.parent,e,t.beforeElement):this.treeAdapter.insertText(t.parent,e)}},{key:"_isSpecialElement",value:function(e){var t=this.treeAdapter.getTagName(e),n=this.treeAdapter.getNamespaceURI(e);return j.SPECIAL_ELEMENTS[n][t]}}]),e}();function Ae(e,t){var n=e.activeFormattingElements.getElementEntryInScopeWithTagName(t.tagName);return n?e.openElements.contains(n.element)?e.openElements.hasInScope(t.tagName)||(n=null):(e.activeFormattingElements.removeEntry(n),n=null):it(e,t),n}function _e(e,t){for(var n=null,r=e.openElements.stackTop;r>=0;r--){var a=e.openElements.items[r];if(a===t.element)break;e._isSpecialElement(a)&&(n=a)}return n||(e.openElements.popUntilElementPopped(t.element),e.activeFormattingElements.removeEntry(t)),n}function ke(e,t,n){for(var r=t,a=e.openElements.getCommonAncestor(t),i=0,o=a;o!==n;i++,o=a){a=e.openElements.getCommonAncestor(o);var s=e.activeFormattingElements.getElementEntry(o),l=s&&i>=3;!s||l?(l&&e.activeFormattingElements.removeEntry(s),e.openElements.remove(o)):(o=Ce(e,s),r===t&&(e.activeFormattingElements.bookmark=s),e.treeAdapter.detachNode(r),e.treeAdapter.appendChild(o,r),r=o)}return r}function Ce(e,t){var n=e.treeAdapter.getNamespaceURI(t.element),r=e.treeAdapter.createElement(t.token.tagName,n,t.token.attrs);return e.openElements.replace(t.element,r),t.element=r,r}function we(e,t,n){if(e._isElementCausesFosterParenting(t))e._fosterParentElement(n);else{var r=e.treeAdapter.getTagName(t),a=e.treeAdapter.getNamespaceURI(t);r===V.TEMPLATE&&a===W.HTML&&(t=e.treeAdapter.getTemplateContent(t)),e.treeAdapter.appendChild(t,n)}}function Ne(e,t,n){var r=e.treeAdapter.getNamespaceURI(n.element),a=n.token,i=e.treeAdapter.createElement(a.tagName,r,a.attrs);e._adoptNodes(t,i),e.treeAdapter.appendChild(t,i),e.activeFormattingElements.insertElementAfterBookmark(i,n.token),e.activeFormattingElements.removeEntry(n),e.openElements.remove(n.element),e.openElements.insertAfter(t,i)}function Ie(e,t){for(var n,r=0;r<8&&(n=Ae(e,t));r++){var a=_e(e,n);if(!a)break;e.activeFormattingElements.bookmark=n;var i=ke(e,a,n.element),o=e.openElements.getCommonAncestor(n.element);e.treeAdapter.detachNode(i),we(e,o,i),Ne(e,a,n)}}function Re(){}function xe(e){e._err(z.misplacedDoctype)}function Oe(e,t){e._appendCommentNode(t,e.openElements.currentTmplContent||e.openElements.current)}function Le(e,t){e._appendCommentNode(t,e.document)}function Pe(e,t){e._insertCharacters(t)}function De(e){e.stopped=!0}function Me(e,t){e._err(z.missingDoctype,{beforeToken:!0}),e.treeAdapter.setDocumentMode(e.document,j.DOCUMENT_MODE.QUIRKS),e.insertionMode=Z,e._processToken(t)}function Fe(e,t){e._insertFakeRootElement(),e.insertionMode=Q,e._processToken(t)}function Ue(e,t){e._insertFakeElement(V.HEAD),e.headElement=e.openElements.current,e.insertionMode=J,e._processToken(t)}function Be(e,t){var n=t.tagName;n===V.HTML?nt(e,t):n===V.BASE||n===V.BASEFONT||n===V.BGSOUND||n===V.LINK||n===V.META?(e._appendElement(t,W.HTML),t.ackSelfClosing=!0):n===V.TITLE?e._switchToTextParsing(t,O.MODE.RCDATA):n===V.NOSCRIPT?e.options.scriptingEnabled?e._switchToTextParsing(t,O.MODE.RAWTEXT):(e._insertElement(t,W.HTML),e.insertionMode=ee):n===V.NOFRAMES||n===V.STYLE?e._switchToTextParsing(t,O.MODE.RAWTEXT):n===V.SCRIPT?e._switchToTextParsing(t,O.MODE.SCRIPT_DATA):n===V.TEMPLATE?(e._insertTemplate(t,W.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1,e.insertionMode=me,e._pushTmplInsertionMode(me)):n===V.HEAD?e._err(z.misplacedStartTagForHeadElement):He(e,t)}function Ge(e,t){var n=t.tagName;n===V.HEAD?(e.openElements.pop(),e.insertionMode=te):n===V.BODY||n===V.BR||n===V.HTML?He(e,t):n===V.TEMPLATE&&e.openElements.tmplCount>0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagName!==V.TEMPLATE&&e._err(z.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(V.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e._popTmplInsertionMode(),e._resetInsertionMode()):e._err(z.endTagWithoutMatchingOpenElement)}function He(e,t){e.openElements.pop(),e.insertionMode=te,e._processToken(t)}function ze(e,t){var n=t.type===O.EOF_TOKEN?z.openElementsLeftAfterEof:z.disallowedContentInNoscriptInHead;e._err(n),e.openElements.pop(),e.insertionMode=J,e._processToken(t)}function $e(e,t){e._insertFakeElement(V.BODY),e.insertionMode=ne,e._processToken(t)}function je(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function Ve(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function We(e,t){e.openElements.hasInButtonScope(V.P)&&e._closePElement(),e._insertElement(t,W.HTML)}function Ke(e,t){e.openElements.hasInButtonScope(V.P)&&e._closePElement(),e._insertElement(t,W.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}function qe(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,W.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function Ye(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,W.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}function Xe(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,W.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function Ze(e,t){e._appendElement(t,W.HTML),t.ackSelfClosing=!0}function Qe(e,t){e._switchToTextParsing(t,O.MODE.RAWTEXT)}function Je(e,t){e.openElements.currentTagName===V.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(t,W.HTML)}function et(e,t){e.openElements.hasInScope(V.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(t,W.HTML)}function tt(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,W.HTML)}function nt(e,t){var n=t.tagName;switch(n.length){case 1:n===V.I||n===V.S||n===V.B||n===V.U?qe(e,t):n===V.P?We(e,t):n===V.A?function(e,t){var n=e.activeFormattingElements.getElementEntryInScopeWithTagName(V.A);n&&(Ie(e,t),e.openElements.remove(n.element),e.activeFormattingElements.removeEntry(n)),e._reconstructActiveFormattingElements(),e._insertElement(t,W.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t):tt(e,t);break;case 2:n===V.DL||n===V.OL||n===V.UL?We(e,t):n===V.H1||n===V.H2||n===V.H3||n===V.H4||n===V.H5||n===V.H6?function(e,t){e.openElements.hasInButtonScope(V.P)&&e._closePElement();var n=e.openElements.currentTagName;n!==V.H1&&n!==V.H2&&n!==V.H3&&n!==V.H4&&n!==V.H5&&n!==V.H6||e.openElements.pop(),e._insertElement(t,W.HTML)}(e,t):n===V.LI||n===V.DD||n===V.DT?function(e,t){e.framesetOk=!1;for(var n=t.tagName,r=e.openElements.stackTop;r>=0;r--){var a=e.openElements.items[r],i=e.treeAdapter.getTagName(a),o=null;if(n===V.LI&&i===V.LI?o=V.LI:n!==V.DD&&n!==V.DT||i!==V.DD&&i!==V.DT||(o=i),o){e.openElements.generateImpliedEndTagsWithExclusion(o),e.openElements.popUntilTagNamePopped(o);break}if(i!==V.ADDRESS&&i!==V.DIV&&i!==V.P&&e._isSpecialElement(a))break}e.openElements.hasInButtonScope(V.P)&&e._closePElement(),e._insertElement(t,W.HTML)}(e,t):n===V.EM||n===V.TT?qe(e,t):n===V.BR?Xe(e,t):n===V.HR?function(e,t){e.openElements.hasInButtonScope(V.P)&&e._closePElement(),e._appendElement(t,W.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}(e,t):n===V.RB?et(e,t):n===V.RT||n===V.RP?function(e,t){e.openElements.hasInScope(V.RUBY)&&e.openElements.generateImpliedEndTagsWithExclusion(V.RTC),e._insertElement(t,W.HTML)}(e,t):n!==V.TH&&n!==V.TD&&n!==V.TR&&tt(e,t);break;case 3:n===V.DIV||n===V.DIR||n===V.NAV?We(e,t):n===V.PRE?Ke(e,t):n===V.BIG?qe(e,t):n===V.IMG||n===V.WBR?Xe(e,t):n===V.XMP?function(e,t){e.openElements.hasInButtonScope(V.P)&&e._closePElement(),e._reconstructActiveFormattingElements(),e.framesetOk=!1,e._switchToTextParsing(t,O.MODE.RAWTEXT)}(e,t):n===V.SVG?function(e,t){e._reconstructActiveFormattingElements(),H.adjustTokenSVGAttrs(t),H.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,W.SVG):e._insertElement(t,W.SVG),t.ackSelfClosing=!0}(e,t):n===V.RTC?et(e,t):n!==V.COL&&tt(e,t);break;case 4:n===V.HTML?function(e,t){0===e.openElements.tmplCount&&e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}(e,t):n===V.BASE||n===V.LINK||n===V.META?Be(e,t):n===V.BODY?function(e,t){var n=e.openElements.tryPeekProperlyNestedBodyElement();n&&0===e.openElements.tmplCount&&(e.framesetOk=!1,e.treeAdapter.adoptAttributes(n,t.attrs))}(e,t):n===V.MAIN||n===V.MENU?We(e,t):n===V.FORM?function(e,t){var n=e.openElements.tmplCount>0;e.formElement&&!n||(e.openElements.hasInButtonScope(V.P)&&e._closePElement(),e._insertElement(t,W.HTML),n||(e.formElement=e.openElements.current))}(e,t):n===V.CODE||n===V.FONT?qe(e,t):n===V.NOBR?function(e,t){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(V.NOBR)&&(Ie(e,t),e._reconstructActiveFormattingElements()),e._insertElement(t,W.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t):n===V.AREA?Xe(e,t):n===V.MATH?function(e,t){e._reconstructActiveFormattingElements(),H.adjustTokenMathMLAttrs(t),H.adjustTokenXMLAttrs(t),t.selfClosing?e._appendElement(t,W.MATHML):e._insertElement(t,W.MATHML),t.ackSelfClosing=!0}(e,t):n===V.MENU?function(e,t){e.openElements.hasInButtonScope(V.P)&&e._closePElement(),e._insertElement(t,W.HTML)}(e,t):n!==V.HEAD&&tt(e,t);break;case 5:n===V.STYLE||n===V.TITLE?Be(e,t):n===V.ASIDE?We(e,t):n===V.SMALL?qe(e,t):n===V.TABLE?function(e,t){e.treeAdapter.getDocumentMode(e.document)!==j.DOCUMENT_MODE.QUIRKS&&e.openElements.hasInButtonScope(V.P)&&e._closePElement(),e._insertElement(t,W.HTML),e.framesetOk=!1,e.insertionMode=ae}(e,t):n===V.EMBED?Xe(e,t):n===V.INPUT?function(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,W.HTML);var n=O.getTokenAttr(t,K.TYPE);n&&n.toLowerCase()===Y||(e.framesetOk=!1),t.ackSelfClosing=!0}(e,t):n===V.PARAM||n===V.TRACK?Ze(e,t):n===V.IMAGE?function(e,t){t.tagName=V.IMG,Xe(e,t)}(e,t):n!==V.FRAME&&n!==V.TBODY&&n!==V.TFOOT&&n!==V.THEAD&&tt(e,t);break;case 6:n===V.SCRIPT?Be(e,t):n===V.CENTER||n===V.FIGURE||n===V.FOOTER||n===V.HEADER||n===V.HGROUP||n===V.DIALOG?We(e,t):n===V.BUTTON?function(e,t){e.openElements.hasInScope(V.BUTTON)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(V.BUTTON)),e._reconstructActiveFormattingElements(),e._insertElement(t,W.HTML),e.framesetOk=!1}(e,t):n===V.STRIKE||n===V.STRONG?qe(e,t):n===V.APPLET||n===V.OBJECT?Ye(e,t):n===V.KEYGEN?Xe(e,t):n===V.SOURCE?Ze(e,t):n===V.IFRAME?function(e,t){e.framesetOk=!1,e._switchToTextParsing(t,O.MODE.RAWTEXT)}(e,t):n===V.SELECT?function(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,W.HTML),e.framesetOk=!1,e.insertionMode===ae||e.insertionMode===oe||e.insertionMode===le||e.insertionMode===ce||e.insertionMode===ue?e.insertionMode=pe:e.insertionMode=de}(e,t):n===V.OPTION?Je(e,t):tt(e,t);break;case 7:n===V.BGSOUND?Be(e,t):n===V.DETAILS||n===V.ADDRESS||n===V.ARTICLE||n===V.SECTION||n===V.SUMMARY?We(e,t):n===V.LISTING?Ke(e,t):n===V.MARQUEE?Ye(e,t):n===V.NOEMBED?Qe(e,t):n!==V.CAPTION&&tt(e,t);break;case 8:n===V.BASEFONT?Be(e,t):n===V.FRAMESET?function(e,t){var n=e.openElements.tryPeekProperlyNestedBodyElement();e.framesetOk&&n&&(e.treeAdapter.detachNode(n),e.openElements.popAllUpToHtmlElement(),e._insertElement(t,W.HTML),e.insertionMode=ge)}(e,t):n===V.FIELDSET?We(e,t):n===V.TEXTAREA?function(e,t){e._insertElement(t,W.HTML),e.skipNextNewLine=!0,e.tokenizer.state=O.MODE.RCDATA,e.originalInsertionMode=e.insertionMode,e.framesetOk=!1,e.insertionMode=re}(e,t):n===V.TEMPLATE?Be(e,t):n===V.NOSCRIPT?e.options.scriptingEnabled?Qe(e,t):tt(e,t):n===V.OPTGROUP?Je(e,t):n!==V.COLGROUP&&tt(e,t);break;case 9:n===V.PLAINTEXT?function(e,t){e.openElements.hasInButtonScope(V.P)&&e._closePElement(),e._insertElement(t,W.HTML),e.tokenizer.state=O.MODE.PLAINTEXT}(e,t):tt(e,t);break;case 10:n===V.BLOCKQUOTE||n===V.FIGCAPTION?We(e,t):tt(e,t);break;default:tt(e,t)}}function rt(e,t){var n=t.tagName;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n))}function at(e,t){var n=t.tagName;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker())}function it(e,t){for(var n=t.tagName,r=e.openElements.stackTop;r>0;r--){var a=e.openElements.items[r];if(e.treeAdapter.getTagName(a)===n){e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.popUntilElementPopped(a);break}if(e._isSpecialElement(a))break}}function ot(e,t){var n=t.tagName;switch(n.length){case 1:n===V.A||n===V.B||n===V.I||n===V.S||n===V.U?Ie(e,t):n===V.P?function(e){e.openElements.hasInButtonScope(V.P)||e._insertFakeElement(V.P),e._closePElement()}(e):it(e,t);break;case 2:n===V.DL||n===V.UL||n===V.OL?rt(e,t):n===V.LI?function(e){e.openElements.hasInListItemScope(V.LI)&&(e.openElements.generateImpliedEndTagsWithExclusion(V.LI),e.openElements.popUntilTagNamePopped(V.LI))}(e):n===V.DD||n===V.DT?function(e,t){var n=t.tagName;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.popUntilTagNamePopped(n))}(e,t):n===V.H1||n===V.H2||n===V.H3||n===V.H4||n===V.H5||n===V.H6?function(e){e.openElements.hasNumberedHeaderInScope()&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilNumberedHeaderPopped())}(e):n===V.BR?function(e){e._reconstructActiveFormattingElements(),e._insertFakeElement(V.BR),e.openElements.pop(),e.framesetOk=!1}(e):n===V.EM||n===V.TT?Ie(e,t):it(e,t);break;case 3:n===V.BIG?Ie(e,t):n===V.DIR||n===V.DIV||n===V.NAV||n===V.PRE?rt(e,t):it(e,t);break;case 4:n===V.BODY?function(e){e.openElements.hasInScope(V.BODY)&&(e.insertionMode=fe)}(e):n===V.HTML?function(e,t){e.openElements.hasInScope(V.BODY)&&(e.insertionMode=fe,e._processToken(t))}(e,t):n===V.FORM?function(e){var t=e.openElements.tmplCount>0,n=e.formElement;t||(e.formElement=null),(n||t)&&e.openElements.hasInScope(V.FORM)&&(e.openElements.generateImpliedEndTags(),t?e.openElements.popUntilTagNamePopped(V.FORM):e.openElements.remove(n))}(e):n===V.CODE||n===V.FONT||n===V.NOBR?Ie(e,t):n===V.MAIN||n===V.MENU?rt(e,t):it(e,t);break;case 5:n===V.ASIDE?rt(e,t):n===V.SMALL?Ie(e,t):it(e,t);break;case 6:n===V.CENTER||n===V.FIGURE||n===V.FOOTER||n===V.HEADER||n===V.HGROUP||n===V.DIALOG?rt(e,t):n===V.APPLET||n===V.OBJECT?at(e,t):n===V.STRIKE||n===V.STRONG?Ie(e,t):it(e,t);break;case 7:n===V.ADDRESS||n===V.ARTICLE||n===V.DETAILS||n===V.SECTION||n===V.SUMMARY||n===V.LISTING?rt(e,t):n===V.MARQUEE?at(e,t):it(e,t);break;case 8:n===V.FIELDSET?rt(e,t):n===V.TEMPLATE?Ge(e,t):it(e,t);break;case 10:n===V.BLOCKQUOTE||n===V.FIGCAPTION?rt(e,t):it(e,t);break;default:it(e,t)}}function st(e,t){e.tmplInsertionModeStackTop>-1?ht(e,t):e.stopped=!0}function lt(e,t){var n=e.openElements.currentTagName;n===V.TABLE||n===V.TBODY||n===V.TFOOT||n===V.THEAD||n===V.TR?(e.pendingCharacterTokens=[],e.hasNonWhitespacePendingCharacterToken=!1,e.originalInsertionMode=e.insertionMode,e.insertionMode=ie,e._processToken(t)):dt(e,t)}function ct(e,t){var n=t.tagName;switch(n.length){case 2:n===V.TD||n===V.TH||n===V.TR?function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(V.TBODY),e.insertionMode=le,e._processToken(t)}(e,t):dt(e,t);break;case 3:n===V.COL?function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(V.COLGROUP),e.insertionMode=se,e._processToken(t)}(e,t):dt(e,t);break;case 4:n===V.FORM?function(e,t){e.formElement||0!==e.openElements.tmplCount||(e._insertElement(t,W.HTML),e.formElement=e.openElements.current,e.openElements.pop())}(e,t):dt(e,t);break;case 5:n===V.TABLE?function(e,t){e.openElements.hasInTableScope(V.TABLE)&&(e.openElements.popUntilTagNamePopped(V.TABLE),e._resetInsertionMode(),e._processToken(t))}(e,t):n===V.STYLE?Be(e,t):n===V.TBODY||n===V.TFOOT||n===V.THEAD?function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,W.HTML),e.insertionMode=le}(e,t):n===V.INPUT?function(e,t){var n=O.getTokenAttr(t,K.TYPE);n&&n.toLowerCase()===Y?e._appendElement(t,W.HTML):dt(e,t),t.ackSelfClosing=!0}(e,t):dt(e,t);break;case 6:n===V.SCRIPT?Be(e,t):dt(e,t);break;case 7:n===V.CAPTION?function(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,W.HTML),e.insertionMode=oe}(e,t):dt(e,t);break;case 8:n===V.COLGROUP?function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,W.HTML),e.insertionMode=se}(e,t):n===V.TEMPLATE?Be(e,t):dt(e,t);break;default:dt(e,t)}}function ut(e,t){var n=t.tagName;n===V.TABLE?e.openElements.hasInTableScope(V.TABLE)&&(e.openElements.popUntilTagNamePopped(V.TABLE),e._resetInsertionMode()):n===V.TEMPLATE?Ge(e,t):n!==V.BODY&&n!==V.CAPTION&&n!==V.COL&&n!==V.COLGROUP&&n!==V.HTML&&n!==V.TBODY&&n!==V.TD&&n!==V.TFOOT&&n!==V.TH&&n!==V.THEAD&&n!==V.TR&&dt(e,t)}function dt(e,t){var n=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,e._processTokenInBodyMode(t),e.fosterParentingEnabled=n}function pt(e,t){var n=0;if(e.hasNonWhitespacePendingCharacterToken)for(;n<e.pendingCharacterTokens.length;n++)dt(e,e.pendingCharacterTokens[n]);else for(;n<e.pendingCharacterTokens.length;n++)e._insertCharacters(e.pendingCharacterTokens[n]);e.insertionMode=e.originalInsertionMode,e._processToken(t)}function mt(e,t){e.openElements.currentTagName===V.COLGROUP&&(e.openElements.pop(),e.insertionMode=ae,e._processToken(t))}function ft(e,t){var n=t.tagName;n===V.HTML?nt(e,t):n===V.OPTION?(e.openElements.currentTagName===V.OPTION&&e.openElements.pop(),e._insertElement(t,W.HTML)):n===V.OPTGROUP?(e.openElements.currentTagName===V.OPTION&&e.openElements.pop(),e.openElements.currentTagName===V.OPTGROUP&&e.openElements.pop(),e._insertElement(t,W.HTML)):n===V.INPUT||n===V.KEYGEN||n===V.TEXTAREA||n===V.SELECT?e.openElements.hasInSelectScope(V.SELECT)&&(e.openElements.popUntilTagNamePopped(V.SELECT),e._resetInsertionMode(),n!==V.SELECT&&e._processToken(t)):n!==V.SCRIPT&&n!==V.TEMPLATE||Be(e,t)}function gt(e,t){var n=t.tagName;if(n===V.OPTGROUP){var r=e.openElements.items[e.openElements.stackTop-1],a=r&&e.treeAdapter.getTagName(r);e.openElements.currentTagName===V.OPTION&&a===V.OPTGROUP&&e.openElements.pop(),e.openElements.currentTagName===V.OPTGROUP&&e.openElements.pop()}else n===V.OPTION?e.openElements.currentTagName===V.OPTION&&e.openElements.pop():n===V.SELECT&&e.openElements.hasInSelectScope(V.SELECT)?(e.openElements.popUntilTagNamePopped(V.SELECT),e._resetInsertionMode()):n===V.TEMPLATE&&Ge(e,t)}function ht(e,t){e.openElements.tmplCount>0?(e.openElements.popUntilTagNamePopped(V.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e._popTmplInsertionMode(),e._resetInsertionMode(),e._processToken(t)):e.stopped=!0}function bt(e,t){e.insertionMode=ne,e._processToken(t)}function Et(e,t){e.insertionMode=ne,e._processToken(t)}e.exports=ve},4808:function(e,t,n){"use strict";var r=n(6690).default,a=n(9728).default,i=n(9539),o=i.TAG_NAMES,s=i.NAMESPACES;function l(e){switch(e.length){case 1:return e===o.P;case 2:return e===o.RB||e===o.RP||e===o.RT||e===o.DD||e===o.DT||e===o.LI;case 3:return e===o.RTC;case 6:return e===o.OPTION;case 8:return e===o.OPTGROUP}return!1}function c(e){switch(e.length){case 1:return e===o.P;case 2:return e===o.RB||e===o.RP||e===o.RT||e===o.DD||e===o.DT||e===o.LI||e===o.TD||e===o.TH||e===o.TR;case 3:return e===o.RTC;case 5:return e===o.TBODY||e===o.TFOOT||e===o.THEAD;case 6:return e===o.OPTION;case 7:return e===o.CAPTION;case 8:return e===o.OPTGROUP||e===o.COLGROUP}return!1}function u(e,t){switch(e.length){case 2:if(e===o.TD||e===o.TH)return t===s.HTML;if(e===o.MI||e===o.MO||e===o.MN||e===o.MS)return t===s.MATHML;break;case 4:if(e===o.HTML)return t===s.HTML;if(e===o.DESC)return t===s.SVG;break;case 5:if(e===o.TABLE)return t===s.HTML;if(e===o.MTEXT)return t===s.MATHML;if(e===o.TITLE)return t===s.SVG;break;case 6:return(e===o.APPLET||e===o.OBJECT)&&t===s.HTML;case 7:return(e===o.CAPTION||e===o.MARQUEE)&&t===s.HTML;case 8:return e===o.TEMPLATE&&t===s.HTML;case 13:return e===o.FOREIGN_OBJECT&&t===s.SVG;case 14:return e===o.ANNOTATION_XML&&t===s.MATHML}return!1}var d=function(){function e(t,n){r(this,e),this.stackTop=-1,this.items=[],this.current=t,this.currentTagName=null,this.currentTmplContent=null,this.tmplCount=0,this.treeAdapter=n}return a(e,[{key:"_indexOf",value:function(e){for(var t=-1,n=this.stackTop;n>=0;n--)if(this.items[n]===e){t=n;break}return t}},{key:"_isInTemplate",value:function(){return this.currentTagName===o.TEMPLATE&&this.treeAdapter.getNamespaceURI(this.current)===s.HTML}},{key:"_updateCurrentElement",value:function(){this.current=this.items[this.stackTop],this.currentTagName=this.current&&this.treeAdapter.getTagName(this.current),this.currentTmplContent=this._isInTemplate()?this.treeAdapter.getTemplateContent(this.current):null}},{key:"push",value:function(e){this.items[++this.stackTop]=e,this._updateCurrentElement(),this._isInTemplate()&&this.tmplCount++}},{key:"pop",value:function(){this.stackTop--,this.tmplCount>0&&this._isInTemplate()&&this.tmplCount--,this._updateCurrentElement()}},{key:"replace",value:function(e,t){var n=this._indexOf(e);this.items[n]=t,n===this.stackTop&&this._updateCurrentElement()}},{key:"insertAfter",value:function(e,t){var n=this._indexOf(e)+1;this.items.splice(n,0,t),n===++this.stackTop&&this._updateCurrentElement()}},{key:"popUntilTagNamePopped",value:function(e){for(;this.stackTop>-1;){var t=this.currentTagName,n=this.treeAdapter.getNamespaceURI(this.current);if(this.pop(),t===e&&n===s.HTML)break}}},{key:"popUntilElementPopped",value:function(e){for(;this.stackTop>-1;){var t=this.current;if(this.pop(),t===e)break}}},{key:"popUntilNumberedHeaderPopped",value:function(){for(;this.stackTop>-1;){var e=this.currentTagName,t=this.treeAdapter.getNamespaceURI(this.current);if(this.pop(),e===o.H1||e===o.H2||e===o.H3||e===o.H4||e===o.H5||e===o.H6&&t===s.HTML)break}}},{key:"popUntilTableCellPopped",value:function(){for(;this.stackTop>-1;){var e=this.currentTagName,t=this.treeAdapter.getNamespaceURI(this.current);if(this.pop(),e===o.TD||e===o.TH&&t===s.HTML)break}}},{key:"popAllUpToHtmlElement",value:function(){this.stackTop=0,this._updateCurrentElement()}},{key:"clearBackToTableContext",value:function(){for(;this.currentTagName!==o.TABLE&&this.currentTagName!==o.TEMPLATE&&this.currentTagName!==o.HTML||this.treeAdapter.getNamespaceURI(this.current)!==s.HTML;)this.pop()}},{key:"clearBackToTableBodyContext",value:function(){for(;this.currentTagName!==o.TBODY&&this.currentTagName!==o.TFOOT&&this.currentTagName!==o.THEAD&&this.currentTagName!==o.TEMPLATE&&this.currentTagName!==o.HTML||this.treeAdapter.getNamespaceURI(this.current)!==s.HTML;)this.pop()}},{key:"clearBackToTableRowContext",value:function(){for(;this.currentTagName!==o.TR&&this.currentTagName!==o.TEMPLATE&&this.currentTagName!==o.HTML||this.treeAdapter.getNamespaceURI(this.current)!==s.HTML;)this.pop()}},{key:"remove",value:function(e){for(var t=this.stackTop;t>=0;t--)if(this.items[t]===e){this.items.splice(t,1),this.stackTop--,this._updateCurrentElement();break}}},{key:"tryPeekProperlyNestedBodyElement",value:function(){var e=this.items[1];return e&&this.treeAdapter.getTagName(e)===o.BODY?e:null}},{key:"contains",value:function(e){return this._indexOf(e)>-1}},{key:"getCommonAncestor",value:function(e){var t=this._indexOf(e);return--t>=0?this.items[t]:null}},{key:"isRootHtmlElementCurrent",value:function(){return 0===this.stackTop&&this.currentTagName===o.HTML}},{key:"hasInScope",value:function(e){for(var t=this.stackTop;t>=0;t--){var n=this.treeAdapter.getTagName(this.items[t]),r=this.treeAdapter.getNamespaceURI(this.items[t]);if(n===e&&r===s.HTML)return!0;if(u(n,r))return!1}return!0}},{key:"hasNumberedHeaderInScope",value:function(){for(var e=this.stackTop;e>=0;e--){var t=this.treeAdapter.getTagName(this.items[e]),n=this.treeAdapter.getNamespaceURI(this.items[e]);if((t===o.H1||t===o.H2||t===o.H3||t===o.H4||t===o.H5||t===o.H6)&&n===s.HTML)return!0;if(u(t,n))return!1}return!0}},{key:"hasInListItemScope",value:function(e){for(var t=this.stackTop;t>=0;t--){var n=this.treeAdapter.getTagName(this.items[t]),r=this.treeAdapter.getNamespaceURI(this.items[t]);if(n===e&&r===s.HTML)return!0;if((n===o.UL||n===o.OL)&&r===s.HTML||u(n,r))return!1}return!0}},{key:"hasInButtonScope",value:function(e){for(var t=this.stackTop;t>=0;t--){var n=this.treeAdapter.getTagName(this.items[t]),r=this.treeAdapter.getNamespaceURI(this.items[t]);if(n===e&&r===s.HTML)return!0;if(n===o.BUTTON&&r===s.HTML||u(n,r))return!1}return!0}},{key:"hasInTableScope",value:function(e){for(var t=this.stackTop;t>=0;t--){var n=this.treeAdapter.getTagName(this.items[t]);if(this.treeAdapter.getNamespaceURI(this.items[t])===s.HTML){if(n===e)return!0;if(n===o.TABLE||n===o.TEMPLATE||n===o.HTML)return!1}}return!0}},{key:"hasTableBodyContextInTableScope",value:function(){for(var e=this.stackTop;e>=0;e--){var t=this.treeAdapter.getTagName(this.items[e]);if(this.treeAdapter.getNamespaceURI(this.items[e])===s.HTML){if(t===o.TBODY||t===o.THEAD||t===o.TFOOT)return!0;if(t===o.TABLE||t===o.HTML)return!1}}return!0}},{key:"hasInSelectScope",value:function(e){for(var t=this.stackTop;t>=0;t--){var n=this.treeAdapter.getTagName(this.items[t]);if(this.treeAdapter.getNamespaceURI(this.items[t])===s.HTML){if(n===e)return!0;if(n!==o.OPTION&&n!==o.OPTGROUP)return!1}}return!0}},{key:"generateImpliedEndTags",value:function(){for(;l(this.currentTagName);)this.pop()}},{key:"generateImpliedEndTagsThoroughly",value:function(){for(;c(this.currentTagName);)this.pop()}},{key:"generateImpliedEndTagsWithExclusion",value:function(e){for(;l(this.currentTagName)&&this.currentTagName!==e;)this.pop()}}]),e}();e.exports=d},3085:function(e,t,n){"use strict";var r=n(6690).default,a=n(9728).default,i=n(147),o=n(4529),s=n(9908),l=n(4551),c=o.CODE_POINTS,u=o.CODE_POINT_SEQUENCES,d={128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376},p="DATA_STATE",m="RCDATA_STATE",f="RAWTEXT_STATE",g="SCRIPT_DATA_STATE",h="PLAINTEXT_STATE",b="TAG_OPEN_STATE",E="END_TAG_OPEN_STATE",y="TAG_NAME_STATE",T="RCDATA_LESS_THAN_SIGN_STATE",S="RCDATA_END_TAG_OPEN_STATE",v="RCDATA_END_TAG_NAME_STATE",A="RAWTEXT_LESS_THAN_SIGN_STATE",_="RAWTEXT_END_TAG_OPEN_STATE",k="RAWTEXT_END_TAG_NAME_STATE",C="SCRIPT_DATA_LESS_THAN_SIGN_STATE",w="SCRIPT_DATA_END_TAG_OPEN_STATE",N="SCRIPT_DATA_END_TAG_NAME_STATE",I="SCRIPT_DATA_ESCAPE_START_STATE",R="SCRIPT_DATA_ESCAPE_START_DASH_STATE",x="SCRIPT_DATA_ESCAPED_STATE",O="SCRIPT_DATA_ESCAPED_DASH_STATE",L="SCRIPT_DATA_ESCAPED_DASH_DASH_STATE",P="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE",D="SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE",M="SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE",F="SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE",U="SCRIPT_DATA_DOUBLE_ESCAPED_STATE",B="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE",G="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE",H="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE",z="SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE",$="BEFORE_ATTRIBUTE_NAME_STATE",j="ATTRIBUTE_NAME_STATE",V="AFTER_ATTRIBUTE_NAME_STATE",W="BEFORE_ATTRIBUTE_VALUE_STATE",K="ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE",q="ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE",Y="ATTRIBUTE_VALUE_UNQUOTED_STATE",X="AFTER_ATTRIBUTE_VALUE_QUOTED_STATE",Z="SELF_CLOSING_START_TAG_STATE",Q="BOGUS_COMMENT_STATE",J="MARKUP_DECLARATION_OPEN_STATE",ee="COMMENT_START_STATE",te="COMMENT_START_DASH_STATE",ne="COMMENT_STATE",re="COMMENT_LESS_THAN_SIGN_STATE",ae="COMMENT_LESS_THAN_SIGN_BANG_STATE",ie="COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE",oe="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE",se="COMMENT_END_DASH_STATE",le="COMMENT_END_STATE",ce="COMMENT_END_BANG_STATE",ue="DOCTYPE_STATE",de="BEFORE_DOCTYPE_NAME_STATE",pe="DOCTYPE_NAME_STATE",me="AFTER_DOCTYPE_NAME_STATE",fe="AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE",ge="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE",he="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE",be="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE",Ee="AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE",ye="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE",Te="AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE",Se="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE",ve="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE",Ae="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE",_e="AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE",ke="BOGUS_DOCTYPE_STATE",Ce="CDATA_SECTION_STATE",we="CDATA_SECTION_BRACKET_STATE",Ne="CDATA_SECTION_END_STATE",Ie="CHARACTER_REFERENCE_STATE",Re="NAMED_CHARACTER_REFERENCE_STATE",xe="AMBIGUOS_AMPERSAND_STATE",Oe="NUMERIC_CHARACTER_REFERENCE_STATE",Le="HEXADEMICAL_CHARACTER_REFERENCE_START_STATE",Pe="DECIMAL_CHARACTER_REFERENCE_START_STATE",De="HEXADEMICAL_CHARACTER_REFERENCE_STATE",Me="DECIMAL_CHARACTER_REFERENCE_STATE",Fe="NUMERIC_CHARACTER_REFERENCE_END_STATE";function Ue(e){return e===c.SPACE||e===c.LINE_FEED||e===c.TABULATION||e===c.FORM_FEED}function Be(e){return e>=c.DIGIT_0&&e<=c.DIGIT_9}function Ge(e){return e>=c.LATIN_CAPITAL_A&&e<=c.LATIN_CAPITAL_Z}function He(e){return e>=c.LATIN_SMALL_A&&e<=c.LATIN_SMALL_Z}function ze(e){return He(e)||Ge(e)}function $e(e){return ze(e)||Be(e)}function je(e){return e>=c.LATIN_CAPITAL_A&&e<=c.LATIN_CAPITAL_F}function Ve(e){return e>=c.LATIN_SMALL_A&&e<=c.LATIN_SMALL_F}function We(e){return e+32}function Ke(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(e>>>10&1023|55296)+String.fromCharCode(56320|1023&e))}function qe(e){return String.fromCharCode(We(e))}function Ye(e,t){for(var n=s[++e],r=++e,a=r+n-1;r<=a;){var i=r+a>>>1,o=s[i];if(o<t)r=i+1;else{if(!(o>t))return s[i+n];a=i-1}}return-1}var Xe=function(){function e(){r(this,e),this.preprocessor=new i,this.tokenQueue=[],this.allowCDATA=!1,this.state=p,this.returnState="",this.charRefCode=-1,this.tempBuff=[],this.lastStartTagName="",this.consumedAfterSnapshot=-1,this.active=!1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr=null}return a(e,[{key:"_err",value:function(){}},{key:"_errOnNextCodePoint",value:function(e){this._consume(),this._err(e),this._unconsume()}},{key:"getNextToken",value:function(){for(;!this.tokenQueue.length&&this.active;){this.consumedAfterSnapshot=0;var e=this._consume();this._ensureHibernation()||this[this.state](e)}return this.tokenQueue.shift()}},{key:"write",value:function(e,t){this.active=!0,this.preprocessor.write(e,t)}},{key:"insertHtmlAtCurrentPos",value:function(e){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(e)}},{key:"_ensureHibernation",value:function(){if(this.preprocessor.endOfChunkHit){for(;this.consumedAfterSnapshot>0;this.consumedAfterSnapshot--)this.preprocessor.retreat();return this.active=!1,this.tokenQueue.push({type:e.HIBERNATION_TOKEN}),!0}return!1}},{key:"_consume",value:function(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}},{key:"_unconsume",value:function(){this.consumedAfterSnapshot--,this.preprocessor.retreat()}},{key:"_reconsumeInState",value:function(e){this.state=e,this._unconsume()}},{key:"_consumeSequenceIfMatch",value:function(e,t,n){for(var r=0,a=!0,i=e.length,o=0,s=t,l=void 0;o<i;o++){if(o>0&&(s=this._consume(),r++),s===c.EOF){a=!1;break}if(s!==(l=e[o])&&(n||s!==We(l))){a=!1;break}}if(!a)for(;r--;)this._unconsume();return a}},{key:"_isTempBufferEqualToScriptString",value:function(){if(this.tempBuff.length!==u.SCRIPT_STRING.length)return!1;for(var e=0;e<this.tempBuff.length;e++)if(this.tempBuff[e]!==u.SCRIPT_STRING[e])return!1;return!0}},{key:"_createStartTagToken",value:function(){this.currentToken={type:e.START_TAG_TOKEN,tagName:"",selfClosing:!1,ackSelfClosing:!1,attrs:[]}}},{key:"_createEndTagToken",value:function(){this.currentToken={type:e.END_TAG_TOKEN,tagName:"",selfClosing:!1,attrs:[]}}},{key:"_createCommentToken",value:function(){this.currentToken={type:e.COMMENT_TOKEN,data:""}}},{key:"_createDoctypeToken",value:function(t){this.currentToken={type:e.DOCTYPE_TOKEN,name:t,forceQuirks:!1,publicId:null,systemId:null}}},{key:"_createCharacterToken",value:function(e,t){this.currentCharacterToken={type:e,chars:t}}},{key:"_createEOFToken",value:function(){this.currentToken={type:e.EOF_TOKEN}}},{key:"_createAttr",value:function(e){this.currentAttr={name:e,value:""}}},{key:"_leaveAttrName",value:function(t){null===e.getTokenAttr(this.currentToken,this.currentAttr.name)?this.currentToken.attrs.push(this.currentAttr):this._err(l.duplicateAttribute),this.state=t}},{key:"_leaveAttrValue",value:function(e){this.state=e}},{key:"_emitCurrentToken",value:function(){this._emitCurrentCharacterToken();var t=this.currentToken;this.currentToken=null,t.type===e.START_TAG_TOKEN?this.lastStartTagName=t.tagName:t.type===e.END_TAG_TOKEN&&(t.attrs.length>0&&this._err(l.endTagWithAttributes),t.selfClosing&&this._err(l.endTagWithTrailingSolidus)),this.tokenQueue.push(t)}},{key:"_emitCurrentCharacterToken",value:function(){this.currentCharacterToken&&(this.tokenQueue.push(this.currentCharacterToken),this.currentCharacterToken=null)}},{key:"_emitEOFToken",value:function(){this._createEOFToken(),this._emitCurrentToken()}},{key:"_appendCharToCurrentCharacterToken",value:function(e,t){this.currentCharacterToken&&this.currentCharacterToken.type!==e&&this._emitCurrentCharacterToken(),this.currentCharacterToken?this.currentCharacterToken.chars+=t:this._createCharacterToken(e,t)}},{key:"_emitCodePoint",value:function(t){var n=e.CHARACTER_TOKEN;Ue(t)?n=e.WHITESPACE_CHARACTER_TOKEN:t===c.NULL&&(n=e.NULL_CHARACTER_TOKEN),this._appendCharToCurrentCharacterToken(n,Ke(t))}},{key:"_emitSeveralCodePoints",value:function(e){for(var t=0;t<e.length;t++)this._emitCodePoint(e[t])}},{key:"_emitChars",value:function(t){this._appendCharToCurrentCharacterToken(e.CHARACTER_TOKEN,t)}},{key:"_matchNamedCharacterReference",value:function(e){var t=null,n=1,r=Ye(0,e);for(this.tempBuff.push(e);r>-1;){var a=s[r],i=a<7;i&&1&a&&(t=2&a?[s[++r],s[++r]]:[s[++r]],n=0);var o=this._consume();if(this.tempBuff.push(o),n++,o===c.EOF)break;r=i?4&a?Ye(r,o):-1:o===a?++r:-1}for(;n--;)this.tempBuff.pop(),this._unconsume();return t}},{key:"_isCharacterReferenceInAttribute",value:function(){return this.returnState===K||this.returnState===q||this.returnState===Y}},{key:"_isCharacterReferenceAttributeQuirk",value:function(e){if(!e&&this._isCharacterReferenceInAttribute()){var t=this._consume();return this._unconsume(),t===c.EQUALS_SIGN||$e(t)}return!1}},{key:"_flushCodePointsConsumedAsCharacterReference",value:function(){if(this._isCharacterReferenceInAttribute())for(var e=0;e<this.tempBuff.length;e++)this.currentAttr.value+=Ke(this.tempBuff[e]);else this._emitSeveralCodePoints(this.tempBuff);this.tempBuff=[]}},{key:p,value:function(e){this.preprocessor.dropParsedChunk(),e===c.LESS_THAN_SIGN?this.state=b:e===c.AMPERSAND?(this.returnState=p,this.state=Ie):e===c.NULL?(this._err(l.unexpectedNullCharacter),this._emitCodePoint(e)):e===c.EOF?this._emitEOFToken():this._emitCodePoint(e)}},{key:m,value:function(e){this.preprocessor.dropParsedChunk(),e===c.AMPERSAND?(this.returnState=m,this.state=Ie):e===c.LESS_THAN_SIGN?this.state=T:e===c.NULL?(this._err(l.unexpectedNullCharacter),this._emitChars(o.REPLACEMENT_CHARACTER)):e===c.EOF?this._emitEOFToken():this._emitCodePoint(e)}},{key:f,value:function(e){this.preprocessor.dropParsedChunk(),e===c.LESS_THAN_SIGN?this.state=A:e===c.NULL?(this._err(l.unexpectedNullCharacter),this._emitChars(o.REPLACEMENT_CHARACTER)):e===c.EOF?this._emitEOFToken():this._emitCodePoint(e)}},{key:g,value:function(e){this.preprocessor.dropParsedChunk(),e===c.LESS_THAN_SIGN?this.state=C:e===c.NULL?(this._err(l.unexpectedNullCharacter),this._emitChars(o.REPLACEMENT_CHARACTER)):e===c.EOF?this._emitEOFToken():this._emitCodePoint(e)}},{key:h,value:function(e){this.preprocessor.dropParsedChunk(),e===c.NULL?(this._err(l.unexpectedNullCharacter),this._emitChars(o.REPLACEMENT_CHARACTER)):e===c.EOF?this._emitEOFToken():this._emitCodePoint(e)}},{key:b,value:function(e){e===c.EXCLAMATION_MARK?this.state=J:e===c.SOLIDUS?this.state=E:ze(e)?(this._createStartTagToken(),this._reconsumeInState(y)):e===c.QUESTION_MARK?(this._err(l.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(),this._reconsumeInState(Q)):e===c.EOF?(this._err(l.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken()):(this._err(l.invalidFirstCharacterOfTagName),this._emitChars("<"),this._reconsumeInState(p))}},{key:E,value:function(e){ze(e)?(this._createEndTagToken(),this._reconsumeInState(y)):e===c.GREATER_THAN_SIGN?(this._err(l.missingEndTagName),this.state=p):e===c.EOF?(this._err(l.eofBeforeTagName),this._emitChars("</"),this._emitEOFToken()):(this._err(l.invalidFirstCharacterOfTagName),this._createCommentToken(),this._reconsumeInState(Q))}},{key:y,value:function(e){Ue(e)?this.state=$:e===c.SOLIDUS?this.state=Z:e===c.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):Ge(e)?this.currentToken.tagName+=qe(e):e===c.NULL?(this._err(l.unexpectedNullCharacter),this.currentToken.tagName+=o.REPLACEMENT_CHARACTER):e===c.EOF?(this._err(l.eofInTag),this._emitEOFToken()):this.currentToken.tagName+=Ke(e)}},{key:T,value:function(e){e===c.SOLIDUS?(this.tempBuff=[],this.state=S):(this._emitChars("<"),this._reconsumeInState(m))}},{key:S,value:function(e){ze(e)?(this._createEndTagToken(),this._reconsumeInState(v)):(this._emitChars("</"),this._reconsumeInState(m))}},{key:v,value:function(e){if(Ge(e))this.currentToken.tagName+=qe(e),this.tempBuff.push(e);else if(He(e))this.currentToken.tagName+=Ke(e),this.tempBuff.push(e);else{if(this.lastStartTagName===this.currentToken.tagName){if(Ue(e))return void(this.state=$);if(e===c.SOLIDUS)return void(this.state=Z);if(e===c.GREATER_THAN_SIGN)return this.state=p,void this._emitCurrentToken()}this._emitChars("</"),this._emitSeveralCodePoints(this.tempBuff),this._reconsumeInState(m)}}},{key:A,value:function(e){e===c.SOLIDUS?(this.tempBuff=[],this.state=_):(this._emitChars("<"),this._reconsumeInState(f))}},{key:_,value:function(e){ze(e)?(this._createEndTagToken(),this._reconsumeInState(k)):(this._emitChars("</"),this._reconsumeInState(f))}},{key:k,value:function(e){if(Ge(e))this.currentToken.tagName+=qe(e),this.tempBuff.push(e);else if(He(e))this.currentToken.tagName+=Ke(e),this.tempBuff.push(e);else{if(this.lastStartTagName===this.currentToken.tagName){if(Ue(e))return void(this.state=$);if(e===c.SOLIDUS)return void(this.state=Z);if(e===c.GREATER_THAN_SIGN)return this._emitCurrentToken(),void(this.state=p)}this._emitChars("</"),this._emitSeveralCodePoints(this.tempBuff),this._reconsumeInState(f)}}},{key:C,value:function(e){e===c.SOLIDUS?(this.tempBuff=[],this.state=w):e===c.EXCLAMATION_MARK?(this.state=I,this._emitChars("<!")):(this._emitChars("<"),this._reconsumeInState(g))}},{key:w,value:function(e){ze(e)?(this._createEndTagToken(),this._reconsumeInState(N)):(this._emitChars("</"),this._reconsumeInState(g))}},{key:N,value:function(e){if(Ge(e))this.currentToken.tagName+=qe(e),this.tempBuff.push(e);else if(He(e))this.currentToken.tagName+=Ke(e),this.tempBuff.push(e);else{if(this.lastStartTagName===this.currentToken.tagName){if(Ue(e))return void(this.state=$);if(e===c.SOLIDUS)return void(this.state=Z);if(e===c.GREATER_THAN_SIGN)return this._emitCurrentToken(),void(this.state=p)}this._emitChars("</"),this._emitSeveralCodePoints(this.tempBuff),this._reconsumeInState(g)}}},{key:I,value:function(e){e===c.HYPHEN_MINUS?(this.state=R,this._emitChars("-")):this._reconsumeInState(g)}},{key:R,value:function(e){e===c.HYPHEN_MINUS?(this.state=L,this._emitChars("-")):this._reconsumeInState(g)}},{key:x,value:function(e){e===c.HYPHEN_MINUS?(this.state=O,this._emitChars("-")):e===c.LESS_THAN_SIGN?this.state=P:e===c.NULL?(this._err(l.unexpectedNullCharacter),this._emitChars(o.REPLACEMENT_CHARACTER)):e===c.EOF?(this._err(l.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):this._emitCodePoint(e)}},{key:O,value:function(e){e===c.HYPHEN_MINUS?(this.state=L,this._emitChars("-")):e===c.LESS_THAN_SIGN?this.state=P:e===c.NULL?(this._err(l.unexpectedNullCharacter),this.state=x,this._emitChars(o.REPLACEMENT_CHARACTER)):e===c.EOF?(this._err(l.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state=x,this._emitCodePoint(e))}},{key:L,value:function(e){e===c.HYPHEN_MINUS?this._emitChars("-"):e===c.LESS_THAN_SIGN?this.state=P:e===c.GREATER_THAN_SIGN?(this.state=g,this._emitChars(">")):e===c.NULL?(this._err(l.unexpectedNullCharacter),this.state=x,this._emitChars(o.REPLACEMENT_CHARACTER)):e===c.EOF?(this._err(l.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state=x,this._emitCodePoint(e))}},{key:P,value:function(e){e===c.SOLIDUS?(this.tempBuff=[],this.state=D):ze(e)?(this.tempBuff=[],this._emitChars("<"),this._reconsumeInState(F)):(this._emitChars("<"),this._reconsumeInState(x))}},{key:D,value:function(e){ze(e)?(this._createEndTagToken(),this._reconsumeInState(M)):(this._emitChars("</"),this._reconsumeInState(x))}},{key:M,value:function(e){if(Ge(e))this.currentToken.tagName+=qe(e),this.tempBuff.push(e);else if(He(e))this.currentToken.tagName+=Ke(e),this.tempBuff.push(e);else{if(this.lastStartTagName===this.currentToken.tagName){if(Ue(e))return void(this.state=$);if(e===c.SOLIDUS)return void(this.state=Z);if(e===c.GREATER_THAN_SIGN)return this._emitCurrentToken(),void(this.state=p)}this._emitChars("</"),this._emitSeveralCodePoints(this.tempBuff),this._reconsumeInState(x)}}},{key:F,value:function(e){Ue(e)||e===c.SOLIDUS||e===c.GREATER_THAN_SIGN?(this.state=this._isTempBufferEqualToScriptString()?U:x,this._emitCodePoint(e)):Ge(e)?(this.tempBuff.push(We(e)),this._emitCodePoint(e)):He(e)?(this.tempBuff.push(e),this._emitCodePoint(e)):this._reconsumeInState(x)}},{key:U,value:function(e){e===c.HYPHEN_MINUS?(this.state=B,this._emitChars("-")):e===c.LESS_THAN_SIGN?(this.state=H,this._emitChars("<")):e===c.NULL?(this._err(l.unexpectedNullCharacter),this._emitChars(o.REPLACEMENT_CHARACTER)):e===c.EOF?(this._err(l.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):this._emitCodePoint(e)}},{key:B,value:function(e){e===c.HYPHEN_MINUS?(this.state=G,this._emitChars("-")):e===c.LESS_THAN_SIGN?(this.state=H,this._emitChars("<")):e===c.NULL?(this._err(l.unexpectedNullCharacter),this.state=U,this._emitChars(o.REPLACEMENT_CHARACTER)):e===c.EOF?(this._err(l.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state=U,this._emitCodePoint(e))}},{key:G,value:function(e){e===c.HYPHEN_MINUS?this._emitChars("-"):e===c.LESS_THAN_SIGN?(this.state=H,this._emitChars("<")):e===c.GREATER_THAN_SIGN?(this.state=g,this._emitChars(">")):e===c.NULL?(this._err(l.unexpectedNullCharacter),this.state=U,this._emitChars(o.REPLACEMENT_CHARACTER)):e===c.EOF?(this._err(l.eofInScriptHtmlCommentLikeText),this._emitEOFToken()):(this.state=U,this._emitCodePoint(e))}},{key:H,value:function(e){e===c.SOLIDUS?(this.tempBuff=[],this.state=z,this._emitChars("/")):this._reconsumeInState(U)}},{key:z,value:function(e){Ue(e)||e===c.SOLIDUS||e===c.GREATER_THAN_SIGN?(this.state=this._isTempBufferEqualToScriptString()?x:U,this._emitCodePoint(e)):Ge(e)?(this.tempBuff.push(We(e)),this._emitCodePoint(e)):He(e)?(this.tempBuff.push(e),this._emitCodePoint(e)):this._reconsumeInState(U)}},{key:$,value:function(e){Ue(e)||(e===c.SOLIDUS||e===c.GREATER_THAN_SIGN||e===c.EOF?this._reconsumeInState(V):e===c.EQUALS_SIGN?(this._err(l.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state=j):(this._createAttr(""),this._reconsumeInState(j)))}},{key:j,value:function(e){Ue(e)||e===c.SOLIDUS||e===c.GREATER_THAN_SIGN||e===c.EOF?(this._leaveAttrName(V),this._unconsume()):e===c.EQUALS_SIGN?this._leaveAttrName(W):Ge(e)?this.currentAttr.name+=qe(e):e===c.QUOTATION_MARK||e===c.APOSTROPHE||e===c.LESS_THAN_SIGN?(this._err(l.unexpectedCharacterInAttributeName),this.currentAttr.name+=Ke(e)):e===c.NULL?(this._err(l.unexpectedNullCharacter),this.currentAttr.name+=o.REPLACEMENT_CHARACTER):this.currentAttr.name+=Ke(e)}},{key:V,value:function(e){Ue(e)||(e===c.SOLIDUS?this.state=Z:e===c.EQUALS_SIGN?this.state=W:e===c.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(l.eofInTag),this._emitEOFToken()):(this._createAttr(""),this._reconsumeInState(j)))}},{key:W,value:function(e){Ue(e)||(e===c.QUOTATION_MARK?this.state=K:e===c.APOSTROPHE?this.state=q:e===c.GREATER_THAN_SIGN?(this._err(l.missingAttributeValue),this.state=p,this._emitCurrentToken()):this._reconsumeInState(Y))}},{key:K,value:function(e){e===c.QUOTATION_MARK?this.state=X:e===c.AMPERSAND?(this.returnState=K,this.state=Ie):e===c.NULL?(this._err(l.unexpectedNullCharacter),this.currentAttr.value+=o.REPLACEMENT_CHARACTER):e===c.EOF?(this._err(l.eofInTag),this._emitEOFToken()):this.currentAttr.value+=Ke(e)}},{key:q,value:function(e){e===c.APOSTROPHE?this.state=X:e===c.AMPERSAND?(this.returnState=q,this.state=Ie):e===c.NULL?(this._err(l.unexpectedNullCharacter),this.currentAttr.value+=o.REPLACEMENT_CHARACTER):e===c.EOF?(this._err(l.eofInTag),this._emitEOFToken()):this.currentAttr.value+=Ke(e)}},{key:Y,value:function(e){Ue(e)?this._leaveAttrValue($):e===c.AMPERSAND?(this.returnState=Y,this.state=Ie):e===c.GREATER_THAN_SIGN?(this._leaveAttrValue(p),this._emitCurrentToken()):e===c.NULL?(this._err(l.unexpectedNullCharacter),this.currentAttr.value+=o.REPLACEMENT_CHARACTER):e===c.QUOTATION_MARK||e===c.APOSTROPHE||e===c.LESS_THAN_SIGN||e===c.EQUALS_SIGN||e===c.GRAVE_ACCENT?(this._err(l.unexpectedCharacterInUnquotedAttributeValue),this.currentAttr.value+=Ke(e)):e===c.EOF?(this._err(l.eofInTag),this._emitEOFToken()):this.currentAttr.value+=Ke(e)}},{key:X,value:function(e){Ue(e)?this._leaveAttrValue($):e===c.SOLIDUS?this._leaveAttrValue(Z):e===c.GREATER_THAN_SIGN?(this._leaveAttrValue(p),this._emitCurrentToken()):e===c.EOF?(this._err(l.eofInTag),this._emitEOFToken()):(this._err(l.missingWhitespaceBetweenAttributes),this._reconsumeInState($))}},{key:Z,value:function(e){e===c.GREATER_THAN_SIGN?(this.currentToken.selfClosing=!0,this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(l.eofInTag),this._emitEOFToken()):(this._err(l.unexpectedSolidusInTag),this._reconsumeInState($))}},{key:Q,value:function(e){e===c.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===c.EOF?(this._emitCurrentToken(),this._emitEOFToken()):e===c.NULL?(this._err(l.unexpectedNullCharacter),this.currentToken.data+=o.REPLACEMENT_CHARACTER):this.currentToken.data+=Ke(e)}},{key:J,value:function(e){this._consumeSequenceIfMatch(u.DASH_DASH_STRING,e,!0)?(this._createCommentToken(),this.state=ee):this._consumeSequenceIfMatch(u.DOCTYPE_STRING,e,!1)?this.state=ue:this._consumeSequenceIfMatch(u.CDATA_START_STRING,e,!0)?this.allowCDATA?this.state=Ce:(this._err(l.cdataInHtmlContent),this._createCommentToken(),this.currentToken.data="[CDATA[",this.state=Q):this._ensureHibernation()||(this._err(l.incorrectlyOpenedComment),this._createCommentToken(),this._reconsumeInState(Q))}},{key:ee,value:function(e){e===c.HYPHEN_MINUS?this.state=te:e===c.GREATER_THAN_SIGN?(this._err(l.abruptClosingOfEmptyComment),this.state=p,this._emitCurrentToken()):this._reconsumeInState(ne)}},{key:te,value:function(e){e===c.HYPHEN_MINUS?this.state=le:e===c.GREATER_THAN_SIGN?(this._err(l.abruptClosingOfEmptyComment),this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(l.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="-",this._reconsumeInState(ne))}},{key:ne,value:function(e){e===c.HYPHEN_MINUS?this.state=se:e===c.LESS_THAN_SIGN?(this.currentToken.data+="<",this.state=re):e===c.NULL?(this._err(l.unexpectedNullCharacter),this.currentToken.data+=o.REPLACEMENT_CHARACTER):e===c.EOF?(this._err(l.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.data+=Ke(e)}},{key:re,value:function(e){e===c.EXCLAMATION_MARK?(this.currentToken.data+="!",this.state=ae):e===c.LESS_THAN_SIGN?this.currentToken.data+="!":this._reconsumeInState(ne)}},{key:ae,value:function(e){e===c.HYPHEN_MINUS?this.state=ie:this._reconsumeInState(ne)}},{key:ie,value:function(e){e===c.HYPHEN_MINUS?this.state=oe:this._reconsumeInState(se)}},{key:oe,value:function(e){e!==c.GREATER_THAN_SIGN&&e!==c.EOF&&this._err(l.nestedComment),this._reconsumeInState(le)}},{key:se,value:function(e){e===c.HYPHEN_MINUS?this.state=le:e===c.EOF?(this._err(l.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="-",this._reconsumeInState(ne))}},{key:le,value:function(e){e===c.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===c.EXCLAMATION_MARK?this.state=ce:e===c.HYPHEN_MINUS?this.currentToken.data+="-":e===c.EOF?(this._err(l.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="--",this._reconsumeInState(ne))}},{key:ce,value:function(e){e===c.HYPHEN_MINUS?(this.currentToken.data+="--!",this.state=se):e===c.GREATER_THAN_SIGN?(this._err(l.incorrectlyClosedComment),this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(l.eofInComment),this._emitCurrentToken(),this._emitEOFToken()):(this.currentToken.data+="--!",this._reconsumeInState(ne))}},{key:ue,value:function(e){Ue(e)?this.state=de:e===c.GREATER_THAN_SIGN?this._reconsumeInState(de):e===c.EOF?(this._err(l.eofInDoctype),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(l.missingWhitespaceBeforeDoctypeName),this._reconsumeInState(de))}},{key:de,value:function(e){Ue(e)||(Ge(e)?(this._createDoctypeToken(qe(e)),this.state=pe):e===c.NULL?(this._err(l.unexpectedNullCharacter),this._createDoctypeToken(o.REPLACEMENT_CHARACTER),this.state=pe):e===c.GREATER_THAN_SIGN?(this._err(l.missingDoctypeName),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===c.EOF?(this._err(l.eofInDoctype),this._createDoctypeToken(null),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._createDoctypeToken(Ke(e)),this.state=pe))}},{key:pe,value:function(e){Ue(e)?this.state=me:e===c.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):Ge(e)?this.currentToken.name+=qe(e):e===c.NULL?(this._err(l.unexpectedNullCharacter),this.currentToken.name+=o.REPLACEMENT_CHARACTER):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.name+=Ke(e)}},{key:me,value:function(e){Ue(e)||(e===c.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this._consumeSequenceIfMatch(u.PUBLIC_STRING,e,!1)?this.state=fe:this._consumeSequenceIfMatch(u.SYSTEM_STRING,e,!1)?this.state=Te:this._ensureHibernation()||(this._err(l.invalidCharacterSequenceAfterDoctypeName),this.currentToken.forceQuirks=!0,this._reconsumeInState(ke)))}},{key:fe,value:function(e){Ue(e)?this.state=ge:e===c.QUOTATION_MARK?(this._err(l.missingWhitespaceAfterDoctypePublicKeyword),this.currentToken.publicId="",this.state=he):e===c.APOSTROPHE?(this._err(l.missingWhitespaceAfterDoctypePublicKeyword),this.currentToken.publicId="",this.state=be):e===c.GREATER_THAN_SIGN?(this._err(l.missingDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(l.missingQuoteBeforeDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(ke))}},{key:ge,value:function(e){Ue(e)||(e===c.QUOTATION_MARK?(this.currentToken.publicId="",this.state=he):e===c.APOSTROPHE?(this.currentToken.publicId="",this.state=be):e===c.GREATER_THAN_SIGN?(this._err(l.missingDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(l.missingQuoteBeforeDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(ke)))}},{key:he,value:function(e){e===c.QUOTATION_MARK?this.state=Ee:e===c.NULL?(this._err(l.unexpectedNullCharacter),this.currentToken.publicId+=o.REPLACEMENT_CHARACTER):e===c.GREATER_THAN_SIGN?(this._err(l.abruptDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.publicId+=Ke(e)}},{key:be,value:function(e){e===c.APOSTROPHE?this.state=Ee:e===c.NULL?(this._err(l.unexpectedNullCharacter),this.currentToken.publicId+=o.REPLACEMENT_CHARACTER):e===c.GREATER_THAN_SIGN?(this._err(l.abruptDoctypePublicIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.publicId+=Ke(e)}},{key:Ee,value:function(e){Ue(e)?this.state=ye:e===c.GREATER_THAN_SIGN?(this.state=p,this._emitCurrentToken()):e===c.QUOTATION_MARK?(this._err(l.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),this.currentToken.systemId="",this.state=ve):e===c.APOSTROPHE?(this._err(l.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),this.currentToken.systemId="",this.state=Ae):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(l.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(ke))}},{key:ye,value:function(e){Ue(e)||(e===c.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=p):e===c.QUOTATION_MARK?(this.currentToken.systemId="",this.state=ve):e===c.APOSTROPHE?(this.currentToken.systemId="",this.state=Ae):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(l.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(ke)))}},{key:Te,value:function(e){Ue(e)?this.state=Se:e===c.QUOTATION_MARK?(this._err(l.missingWhitespaceAfterDoctypeSystemKeyword),this.currentToken.systemId="",this.state=ve):e===c.APOSTROPHE?(this._err(l.missingWhitespaceAfterDoctypeSystemKeyword),this.currentToken.systemId="",this.state=Ae):e===c.GREATER_THAN_SIGN?(this._err(l.missingDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(l.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(ke))}},{key:Se,value:function(e){Ue(e)||(e===c.QUOTATION_MARK?(this.currentToken.systemId="",this.state=ve):e===c.APOSTROPHE?(this.currentToken.systemId="",this.state=Ae):e===c.GREATER_THAN_SIGN?(this._err(l.missingDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this.state=p,this._emitCurrentToken()):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(l.missingQuoteBeforeDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._reconsumeInState(ke)))}},{key:ve,value:function(e){e===c.QUOTATION_MARK?this.state=_e:e===c.NULL?(this._err(l.unexpectedNullCharacter),this.currentToken.systemId+=o.REPLACEMENT_CHARACTER):e===c.GREATER_THAN_SIGN?(this._err(l.abruptDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.systemId+=Ke(e)}},{key:Ae,value:function(e){e===c.APOSTROPHE?this.state=_e:e===c.NULL?(this._err(l.unexpectedNullCharacter),this.currentToken.systemId+=o.REPLACEMENT_CHARACTER):e===c.GREATER_THAN_SIGN?(this._err(l.abruptDoctypeSystemIdentifier),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this.state=p):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):this.currentToken.systemId+=Ke(e)}},{key:_e,value:function(e){Ue(e)||(e===c.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=p):e===c.EOF?(this._err(l.eofInDoctype),this.currentToken.forceQuirks=!0,this._emitCurrentToken(),this._emitEOFToken()):(this._err(l.unexpectedCharacterAfterDoctypeSystemIdentifier),this._reconsumeInState(ke)))}},{key:ke,value:function(e){e===c.GREATER_THAN_SIGN?(this._emitCurrentToken(),this.state=p):e===c.NULL?this._err(l.unexpectedNullCharacter):e===c.EOF&&(this._emitCurrentToken(),this._emitEOFToken())}},{key:Ce,value:function(e){e===c.RIGHT_SQUARE_BRACKET?this.state=we:e===c.EOF?(this._err(l.eofInCdata),this._emitEOFToken()):this._emitCodePoint(e)}},{key:we,value:function(e){e===c.RIGHT_SQUARE_BRACKET?this.state=Ne:(this._emitChars("]"),this._reconsumeInState(Ce))}},{key:Ne,value:function(e){e===c.GREATER_THAN_SIGN?this.state=p:e===c.RIGHT_SQUARE_BRACKET?this._emitChars("]"):(this._emitChars("]]"),this._reconsumeInState(Ce))}},{key:Ie,value:function(e){this.tempBuff=[c.AMPERSAND],e===c.NUMBER_SIGN?(this.tempBuff.push(e),this.state=Oe):$e(e)?this._reconsumeInState(Re):(this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState))}},{key:Re,value:function(e){var t=this._matchNamedCharacterReference(e);if(this._ensureHibernation())this.tempBuff=[c.AMPERSAND];else if(t){var n=this.tempBuff[this.tempBuff.length-1]===c.SEMICOLON;this._isCharacterReferenceAttributeQuirk(n)||(n||this._errOnNextCodePoint(l.missingSemicolonAfterCharacterReference),this.tempBuff=t),this._flushCodePointsConsumedAsCharacterReference(),this.state=this.returnState}else this._flushCodePointsConsumedAsCharacterReference(),this.state=xe}},{key:xe,value:function(e){$e(e)?this._isCharacterReferenceInAttribute()?this.currentAttr.value+=Ke(e):this._emitCodePoint(e):(e===c.SEMICOLON&&this._err(l.unknownNamedCharacterReference),this._reconsumeInState(this.returnState))}},{key:Oe,value:function(e){this.charRefCode=0,e===c.LATIN_SMALL_X||e===c.LATIN_CAPITAL_X?(this.tempBuff.push(e),this.state=Le):this._reconsumeInState(Pe)}},{key:Le,value:function(e){!function(e){return Be(e)||je(e)||Ve(e)}(e)?(this._err(l.absenceOfDigitsInNumericCharacterReference),this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState)):this._reconsumeInState(De)}},{key:Pe,value:function(e){Be(e)?this._reconsumeInState(Me):(this._err(l.absenceOfDigitsInNumericCharacterReference),this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState))}},{key:De,value:function(e){je(e)?this.charRefCode=16*this.charRefCode+e-55:Ve(e)?this.charRefCode=16*this.charRefCode+e-87:Be(e)?this.charRefCode=16*this.charRefCode+e-48:e===c.SEMICOLON?this.state=Fe:(this._err(l.missingSemicolonAfterCharacterReference),this._reconsumeInState(Fe))}},{key:Me,value:function(e){Be(e)?this.charRefCode=10*this.charRefCode+e-48:e===c.SEMICOLON?this.state=Fe:(this._err(l.missingSemicolonAfterCharacterReference),this._reconsumeInState(Fe))}},{key:Fe,value:function(){if(this.charRefCode===c.NULL)this._err(l.nullCharacterReference),this.charRefCode=c.REPLACEMENT_CHARACTER;else if(this.charRefCode>1114111)this._err(l.characterReferenceOutsideUnicodeRange),this.charRefCode=c.REPLACEMENT_CHARACTER;else if(o.isSurrogate(this.charRefCode))this._err(l.surrogateCharacterReference),this.charRefCode=c.REPLACEMENT_CHARACTER;else if(o.isUndefinedCodePoint(this.charRefCode))this._err(l.noncharacterCharacterReference);else if(o.isControlCodePoint(this.charRefCode)||this.charRefCode===c.CARRIAGE_RETURN){this._err(l.controlCharacterReference);var e=d[this.charRefCode];e&&(this.charRefCode=e)}this.tempBuff=[this.charRefCode],this._flushCodePointsConsumedAsCharacterReference(),this._reconsumeInState(this.returnState)}}]),e}();Xe.CHARACTER_TOKEN="CHARACTER_TOKEN",Xe.NULL_CHARACTER_TOKEN="NULL_CHARACTER_TOKEN",Xe.WHITESPACE_CHARACTER_TOKEN="WHITESPACE_CHARACTER_TOKEN",Xe.START_TAG_TOKEN="START_TAG_TOKEN",Xe.END_TAG_TOKEN="END_TAG_TOKEN",Xe.COMMENT_TOKEN="COMMENT_TOKEN",Xe.DOCTYPE_TOKEN="DOCTYPE_TOKEN",Xe.EOF_TOKEN="EOF_TOKEN",Xe.HIBERNATION_TOKEN="HIBERNATION_TOKEN",Xe.MODE={DATA:p,RCDATA:m,RAWTEXT:f,SCRIPT_DATA:g,PLAINTEXT:h},Xe.getTokenAttr=function(e,t){for(var n=e.attrs.length-1;n>=0;n--)if(e.attrs[n].name===t)return e.attrs[n].value;return null},e.exports=Xe},9908:function(e){"use strict";e.exports=new Uint16Array([4,52,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,106,303,412,810,1432,1701,1796,1987,2114,2360,2420,2484,3170,3251,4140,4393,4575,4610,5106,5512,5728,6117,6274,6315,6345,6427,6516,7002,7910,8733,9323,9870,10170,10631,10893,11318,11386,11467,12773,13092,14474,14922,15448,15542,16419,17666,18166,18611,19004,19095,19298,19397,4,16,69,77,97,98,99,102,103,108,109,110,111,112,114,115,116,117,140,150,158,169,176,194,199,210,216,222,226,242,256,266,283,294,108,105,103,5,198,1,59,148,1,198,80,5,38,1,59,156,1,38,99,117,116,101,5,193,1,59,167,1,193,114,101,118,101,59,1,258,4,2,105,121,182,191,114,99,5,194,1,59,189,1,194,59,1,1040,114,59,3,55349,56580,114,97,118,101,5,192,1,59,208,1,192,112,104,97,59,1,913,97,99,114,59,1,256,100,59,1,10835,4,2,103,112,232,237,111,110,59,1,260,102,59,3,55349,56632,112,108,121,70,117,110,99,116,105,111,110,59,1,8289,105,110,103,5,197,1,59,264,1,197,4,2,99,115,272,277,114,59,3,55349,56476,105,103,110,59,1,8788,105,108,100,101,5,195,1,59,292,1,195,109,108,5,196,1,59,301,1,196,4,8,97,99,101,102,111,114,115,117,321,350,354,383,388,394,400,405,4,2,99,114,327,336,107,115,108,97,115,104,59,1,8726,4,2,118,119,342,345,59,1,10983,101,100,59,1,8966,121,59,1,1041,4,3,99,114,116,362,369,379,97,117,115,101,59,1,8757,110,111,117,108,108,105,115,59,1,8492,97,59,1,914,114,59,3,55349,56581,112,102,59,3,55349,56633,101,118,101,59,1,728,99,114,59,1,8492,109,112,101,113,59,1,8782,4,14,72,79,97,99,100,101,102,104,105,108,111,114,115,117,442,447,456,504,542,547,569,573,577,616,678,784,790,796,99,121,59,1,1063,80,89,5,169,1,59,454,1,169,4,3,99,112,121,464,470,497,117,116,101,59,1,262,4,2,59,105,476,478,1,8914,116,97,108,68,105,102,102,101,114,101,110,116,105,97,108,68,59,1,8517,108,101,121,115,59,1,8493,4,4,97,101,105,111,514,520,530,535,114,111,110,59,1,268,100,105,108,5,199,1,59,528,1,199,114,99,59,1,264,110,105,110,116,59,1,8752,111,116,59,1,266,4,2,100,110,553,560,105,108,108,97,59,1,184,116,101,114,68,111,116,59,1,183,114,59,1,8493,105,59,1,935,114,99,108,101,4,4,68,77,80,84,591,596,603,609,111,116,59,1,8857,105,110,117,115,59,1,8854,108,117,115,59,1,8853,105,109,101,115,59,1,8855,111,4,2,99,115,623,646,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8754,101,67,117,114,108,121,4,2,68,81,658,671,111,117,98,108,101,81,117,111,116,101,59,1,8221,117,111,116,101,59,1,8217,4,4,108,110,112,117,688,701,736,753,111,110,4,2,59,101,696,698,1,8759,59,1,10868,4,3,103,105,116,709,717,722,114,117,101,110,116,59,1,8801,110,116,59,1,8751,111,117,114,73,110,116,101,103,114,97,108,59,1,8750,4,2,102,114,742,745,59,1,8450,111,100,117,99,116,59,1,8720,110,116,101,114,67,108,111,99,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8755,111,115,115,59,1,10799,99,114,59,3,55349,56478,112,4,2,59,67,803,805,1,8915,97,112,59,1,8781,4,11,68,74,83,90,97,99,101,102,105,111,115,834,850,855,860,865,888,903,916,921,1011,1415,4,2,59,111,840,842,1,8517,116,114,97,104,100,59,1,10513,99,121,59,1,1026,99,121,59,1,1029,99,121,59,1,1039,4,3,103,114,115,873,879,883,103,101,114,59,1,8225,114,59,1,8609,104,118,59,1,10980,4,2,97,121,894,900,114,111,110,59,1,270,59,1,1044,108,4,2,59,116,910,912,1,8711,97,59,1,916,114,59,3,55349,56583,4,2,97,102,927,998,4,2,99,109,933,992,114,105,116,105,99,97,108,4,4,65,68,71,84,950,957,978,985,99,117,116,101,59,1,180,111,4,2,116,117,964,967,59,1,729,98,108,101,65,99,117,116,101,59,1,733,114,97,118,101,59,1,96,105,108,100,101,59,1,732,111,110,100,59,1,8900,102,101,114,101,110,116,105,97,108,68,59,1,8518,4,4,112,116,117,119,1021,1026,1048,1249,102,59,3,55349,56635,4,3,59,68,69,1034,1036,1041,1,168,111,116,59,1,8412,113,117,97,108,59,1,8784,98,108,101,4,6,67,68,76,82,85,86,1065,1082,1101,1189,1211,1236,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8751,111,4,2,116,119,1089,1092,59,1,168,110,65,114,114,111,119,59,1,8659,4,2,101,111,1107,1141,102,116,4,3,65,82,84,1117,1124,1136,114,114,111,119,59,1,8656,105,103,104,116,65,114,114,111,119,59,1,8660,101,101,59,1,10980,110,103,4,2,76,82,1149,1177,101,102,116,4,2,65,82,1158,1165,114,114,111,119,59,1,10232,105,103,104,116,65,114,114,111,119,59,1,10234,105,103,104,116,65,114,114,111,119,59,1,10233,105,103,104,116,4,2,65,84,1199,1206,114,114,111,119,59,1,8658,101,101,59,1,8872,112,4,2,65,68,1218,1225,114,114,111,119,59,1,8657,111,119,110,65,114,114,111,119,59,1,8661,101,114,116,105,99,97,108,66,97,114,59,1,8741,110,4,6,65,66,76,82,84,97,1264,1292,1299,1352,1391,1408,114,114,111,119,4,3,59,66,85,1276,1278,1283,1,8595,97,114,59,1,10515,112,65,114,114,111,119,59,1,8693,114,101,118,101,59,1,785,101,102,116,4,3,82,84,86,1310,1323,1334,105,103,104,116,86,101,99,116,111,114,59,1,10576,101,101,86,101,99,116,111,114,59,1,10590,101,99,116,111,114,4,2,59,66,1345,1347,1,8637,97,114,59,1,10582,105,103,104,116,4,2,84,86,1362,1373,101,101,86,101,99,116,111,114,59,1,10591,101,99,116,111,114,4,2,59,66,1384,1386,1,8641,97,114,59,1,10583,101,101,4,2,59,65,1399,1401,1,8868,114,114,111,119,59,1,8615,114,114,111,119,59,1,8659,4,2,99,116,1421,1426,114,59,3,55349,56479,114,111,107,59,1,272,4,16,78,84,97,99,100,102,103,108,109,111,112,113,115,116,117,120,1466,1470,1478,1489,1515,1520,1525,1536,1544,1593,1609,1617,1650,1664,1668,1677,71,59,1,330,72,5,208,1,59,1476,1,208,99,117,116,101,5,201,1,59,1487,1,201,4,3,97,105,121,1497,1503,1512,114,111,110,59,1,282,114,99,5,202,1,59,1510,1,202,59,1,1069,111,116,59,1,278,114,59,3,55349,56584,114,97,118,101,5,200,1,59,1534,1,200,101,109,101,110,116,59,1,8712,4,2,97,112,1550,1555,99,114,59,1,274,116,121,4,2,83,86,1563,1576,109,97,108,108,83,113,117,97,114,101,59,1,9723,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9643,4,2,103,112,1599,1604,111,110,59,1,280,102,59,3,55349,56636,115,105,108,111,110,59,1,917,117,4,2,97,105,1624,1640,108,4,2,59,84,1631,1633,1,10869,105,108,100,101,59,1,8770,108,105,98,114,105,117,109,59,1,8652,4,2,99,105,1656,1660,114,59,1,8496,109,59,1,10867,97,59,1,919,109,108,5,203,1,59,1675,1,203,4,2,105,112,1683,1689,115,116,115,59,1,8707,111,110,101,110,116,105,97,108,69,59,1,8519,4,5,99,102,105,111,115,1713,1717,1722,1762,1791,121,59,1,1060,114,59,3,55349,56585,108,108,101,100,4,2,83,86,1732,1745,109,97,108,108,83,113,117,97,114,101,59,1,9724,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9642,4,3,112,114,117,1770,1775,1781,102,59,3,55349,56637,65,108,108,59,1,8704,114,105,101,114,116,114,102,59,1,8497,99,114,59,1,8497,4,12,74,84,97,98,99,100,102,103,111,114,115,116,1822,1827,1834,1848,1855,1877,1882,1887,1890,1896,1978,1984,99,121,59,1,1027,5,62,1,59,1832,1,62,109,109,97,4,2,59,100,1843,1845,1,915,59,1,988,114,101,118,101,59,1,286,4,3,101,105,121,1863,1869,1874,100,105,108,59,1,290,114,99,59,1,284,59,1,1043,111,116,59,1,288,114,59,3,55349,56586,59,1,8921,112,102,59,3,55349,56638,101,97,116,101,114,4,6,69,70,71,76,83,84,1915,1933,1944,1953,1959,1971,113,117,97,108,4,2,59,76,1925,1927,1,8805,101,115,115,59,1,8923,117,108,108,69,113,117,97,108,59,1,8807,114,101,97,116,101,114,59,1,10914,101,115,115,59,1,8823,108,97,110,116,69,113,117,97,108,59,1,10878,105,108,100,101,59,1,8819,99,114,59,3,55349,56482,59,1,8811,4,8,65,97,99,102,105,111,115,117,2005,2012,2026,2032,2036,2049,2073,2089,82,68,99,121,59,1,1066,4,2,99,116,2018,2023,101,107,59,1,711,59,1,94,105,114,99,59,1,292,114,59,1,8460,108,98,101,114,116,83,112,97,99,101,59,1,8459,4,2,112,114,2055,2059,102,59,1,8461,105,122,111,110,116,97,108,76,105,110,101,59,1,9472,4,2,99,116,2079,2083,114,59,1,8459,114,111,107,59,1,294,109,112,4,2,68,69,2097,2107,111,119,110,72,117,109,112,59,1,8782,113,117,97,108,59,1,8783,4,14,69,74,79,97,99,100,102,103,109,110,111,115,116,117,2144,2149,2155,2160,2171,2189,2194,2198,2209,2245,2307,2329,2334,2341,99,121,59,1,1045,108,105,103,59,1,306,99,121,59,1,1025,99,117,116,101,5,205,1,59,2169,1,205,4,2,105,121,2177,2186,114,99,5,206,1,59,2184,1,206,59,1,1048,111,116,59,1,304,114,59,1,8465,114,97,118,101,5,204,1,59,2207,1,204,4,3,59,97,112,2217,2219,2238,1,8465,4,2,99,103,2225,2229,114,59,1,298,105,110,97,114,121,73,59,1,8520,108,105,101,115,59,1,8658,4,2,116,118,2251,2281,4,2,59,101,2257,2259,1,8748,4,2,103,114,2265,2271,114,97,108,59,1,8747,115,101,99,116,105,111,110,59,1,8898,105,115,105,98,108,101,4,2,67,84,2293,2300,111,109,109,97,59,1,8291,105,109,101,115,59,1,8290,4,3,103,112,116,2315,2320,2325,111,110,59,1,302,102,59,3,55349,56640,97,59,1,921,99,114,59,1,8464,105,108,100,101,59,1,296,4,2,107,109,2347,2352,99,121,59,1,1030,108,5,207,1,59,2358,1,207,4,5,99,102,111,115,117,2372,2386,2391,2397,2414,4,2,105,121,2378,2383,114,99,59,1,308,59,1,1049,114,59,3,55349,56589,112,102,59,3,55349,56641,4,2,99,101,2403,2408,114,59,3,55349,56485,114,99,121,59,1,1032,107,99,121,59,1,1028,4,7,72,74,97,99,102,111,115,2436,2441,2446,2452,2467,2472,2478,99,121,59,1,1061,99,121,59,1,1036,112,112,97,59,1,922,4,2,101,121,2458,2464,100,105,108,59,1,310,59,1,1050,114,59,3,55349,56590,112,102,59,3,55349,56642,99,114,59,3,55349,56486,4,11,74,84,97,99,101,102,108,109,111,115,116,2508,2513,2520,2562,2585,2981,2986,3004,3011,3146,3167,99,121,59,1,1033,5,60,1,59,2518,1,60,4,5,99,109,110,112,114,2532,2538,2544,2548,2558,117,116,101,59,1,313,98,100,97,59,1,923,103,59,1,10218,108,97,99,101,116,114,102,59,1,8466,114,59,1,8606,4,3,97,101,121,2570,2576,2582,114,111,110,59,1,317,100,105,108,59,1,315,59,1,1051,4,2,102,115,2591,2907,116,4,10,65,67,68,70,82,84,85,86,97,114,2614,2663,2672,2728,2735,2760,2820,2870,2888,2895,4,2,110,114,2620,2633,103,108,101,66,114,97,99,107,101,116,59,1,10216,114,111,119,4,3,59,66,82,2644,2646,2651,1,8592,97,114,59,1,8676,105,103,104,116,65,114,114,111,119,59,1,8646,101,105,108,105,110,103,59,1,8968,111,4,2,117,119,2679,2692,98,108,101,66,114,97,99,107,101,116,59,1,10214,110,4,2,84,86,2699,2710,101,101,86,101,99,116,111,114,59,1,10593,101,99,116,111,114,4,2,59,66,2721,2723,1,8643,97,114,59,1,10585,108,111,111,114,59,1,8970,105,103,104,116,4,2,65,86,2745,2752,114,114,111,119,59,1,8596,101,99,116,111,114,59,1,10574,4,2,101,114,2766,2792,101,4,3,59,65,86,2775,2777,2784,1,8867,114,114,111,119,59,1,8612,101,99,116,111,114,59,1,10586,105,97,110,103,108,101,4,3,59,66,69,2806,2808,2813,1,8882,97,114,59,1,10703,113,117,97,108,59,1,8884,112,4,3,68,84,86,2829,2841,2852,111,119,110,86,101,99,116,111,114,59,1,10577,101,101,86,101,99,116,111,114,59,1,10592,101,99,116,111,114,4,2,59,66,2863,2865,1,8639,97,114,59,1,10584,101,99,116,111,114,4,2,59,66,2881,2883,1,8636,97,114,59,1,10578,114,114,111,119,59,1,8656,105,103,104,116,97,114,114,111,119,59,1,8660,115,4,6,69,70,71,76,83,84,2922,2936,2947,2956,2962,2974,113,117,97,108,71,114,101,97,116,101,114,59,1,8922,117,108,108,69,113,117,97,108,59,1,8806,114,101,97,116,101,114,59,1,8822,101,115,115,59,1,10913,108,97,110,116,69,113,117,97,108,59,1,10877,105,108,100,101,59,1,8818,114,59,3,55349,56591,4,2,59,101,2992,2994,1,8920,102,116,97,114,114,111,119,59,1,8666,105,100,111,116,59,1,319,4,3,110,112,119,3019,3110,3115,103,4,4,76,82,108,114,3030,3058,3070,3098,101,102,116,4,2,65,82,3039,3046,114,114,111,119,59,1,10229,105,103,104,116,65,114,114,111,119,59,1,10231,105,103,104,116,65,114,114,111,119,59,1,10230,101,102,116,4,2,97,114,3079,3086,114,114,111,119,59,1,10232,105,103,104,116,97,114,114,111,119,59,1,10234,105,103,104,116,97,114,114,111,119,59,1,10233,102,59,3,55349,56643,101,114,4,2,76,82,3123,3134,101,102,116,65,114,114,111,119,59,1,8601,105,103,104,116,65,114,114,111,119,59,1,8600,4,3,99,104,116,3154,3158,3161,114,59,1,8466,59,1,8624,114,111,107,59,1,321,59,1,8810,4,8,97,99,101,102,105,111,115,117,3188,3192,3196,3222,3227,3237,3243,3248,112,59,1,10501,121,59,1,1052,4,2,100,108,3202,3213,105,117,109,83,112,97,99,101,59,1,8287,108,105,110,116,114,102,59,1,8499,114,59,3,55349,56592,110,117,115,80,108,117,115,59,1,8723,112,102,59,3,55349,56644,99,114,59,1,8499,59,1,924,4,9,74,97,99,101,102,111,115,116,117,3271,3276,3283,3306,3422,3427,4120,4126,4137,99,121,59,1,1034,99,117,116,101,59,1,323,4,3,97,101,121,3291,3297,3303,114,111,110,59,1,327,100,105,108,59,1,325,59,1,1053,4,3,103,115,119,3314,3380,3415,97,116,105,118,101,4,3,77,84,86,3327,3340,3365,101,100,105,117,109,83,112,97,99,101,59,1,8203,104,105,4,2,99,110,3348,3357,107,83,112,97,99,101,59,1,8203,83,112,97,99,101,59,1,8203,101,114,121,84,104,105,110,83,112,97,99,101,59,1,8203,116,101,100,4,2,71,76,3389,3405,114,101,97,116,101,114,71,114,101,97,116,101,114,59,1,8811,101,115,115,76,101,115,115,59,1,8810,76,105,110,101,59,1,10,114,59,3,55349,56593,4,4,66,110,112,116,3437,3444,3460,3464,114,101,97,107,59,1,8288,66,114,101,97,107,105,110,103,83,112,97,99,101,59,1,160,102,59,1,8469,4,13,59,67,68,69,71,72,76,78,80,82,83,84,86,3492,3494,3517,3536,3578,3657,3685,3784,3823,3860,3915,4066,4107,1,10988,4,2,111,117,3500,3510,110,103,114,117,101,110,116,59,1,8802,112,67,97,112,59,1,8813,111,117,98,108,101,86,101,114,116,105,99,97,108,66,97,114,59,1,8742,4,3,108,113,120,3544,3552,3571,101,109,101,110,116,59,1,8713,117,97,108,4,2,59,84,3561,3563,1,8800,105,108,100,101,59,3,8770,824,105,115,116,115,59,1,8708,114,101,97,116,101,114,4,7,59,69,70,71,76,83,84,3600,3602,3609,3621,3631,3637,3650,1,8815,113,117,97,108,59,1,8817,117,108,108,69,113,117,97,108,59,3,8807,824,114,101,97,116,101,114,59,3,8811,824,101,115,115,59,1,8825,108,97,110,116,69,113,117,97,108,59,3,10878,824,105,108,100,101,59,1,8821,117,109,112,4,2,68,69,3666,3677,111,119,110,72,117,109,112,59,3,8782,824,113,117,97,108,59,3,8783,824,101,4,2,102,115,3692,3724,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3709,3711,3717,1,8938,97,114,59,3,10703,824,113,117,97,108,59,1,8940,115,4,6,59,69,71,76,83,84,3739,3741,3748,3757,3764,3777,1,8814,113,117,97,108,59,1,8816,114,101,97,116,101,114,59,1,8824,101,115,115,59,3,8810,824,108,97,110,116,69,113,117,97,108,59,3,10877,824,105,108,100,101,59,1,8820,101,115,116,101,100,4,2,71,76,3795,3812,114,101,97,116,101,114,71,114,101,97,116,101,114,59,3,10914,824,101,115,115,76,101,115,115,59,3,10913,824,114,101,99,101,100,101,115,4,3,59,69,83,3838,3840,3848,1,8832,113,117,97,108,59,3,10927,824,108,97,110,116,69,113,117,97,108,59,1,8928,4,2,101,105,3866,3881,118,101,114,115,101,69,108,101,109,101,110,116,59,1,8716,103,104,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3900,3902,3908,1,8939,97,114,59,3,10704,824,113,117,97,108,59,1,8941,4,2,113,117,3921,3973,117,97,114,101,83,117,4,2,98,112,3933,3952,115,101,116,4,2,59,69,3942,3945,3,8847,824,113,117,97,108,59,1,8930,101,114,115,101,116,4,2,59,69,3963,3966,3,8848,824,113,117,97,108,59,1,8931,4,3,98,99,112,3981,4e3,4045,115,101,116,4,2,59,69,3990,3993,3,8834,8402,113,117,97,108,59,1,8840,99,101,101,100,115,4,4,59,69,83,84,4015,4017,4025,4037,1,8833,113,117,97,108,59,3,10928,824,108,97,110,116,69,113,117,97,108,59,1,8929,105,108,100,101,59,3,8831,824,101,114,115,101,116,4,2,59,69,4056,4059,3,8835,8402,113,117,97,108,59,1,8841,105,108,100,101,4,4,59,69,70,84,4080,4082,4089,4100,1,8769,113,117,97,108,59,1,8772,117,108,108,69,113,117,97,108,59,1,8775,105,108,100,101,59,1,8777,101,114,116,105,99,97,108,66,97,114,59,1,8740,99,114,59,3,55349,56489,105,108,100,101,5,209,1,59,4135,1,209,59,1,925,4,14,69,97,99,100,102,103,109,111,112,114,115,116,117,118,4170,4176,4187,4205,4212,4217,4228,4253,4259,4292,4295,4316,4337,4346,108,105,103,59,1,338,99,117,116,101,5,211,1,59,4185,1,211,4,2,105,121,4193,4202,114,99,5,212,1,59,4200,1,212,59,1,1054,98,108,97,99,59,1,336,114,59,3,55349,56594,114,97,118,101,5,210,1,59,4226,1,210,4,3,97,101,105,4236,4241,4246,99,114,59,1,332,103,97,59,1,937,99,114,111,110,59,1,927,112,102,59,3,55349,56646,101,110,67,117,114,108,121,4,2,68,81,4272,4285,111,117,98,108,101,81,117,111,116,101,59,1,8220,117,111,116,101,59,1,8216,59,1,10836,4,2,99,108,4301,4306,114,59,3,55349,56490,97,115,104,5,216,1,59,4314,1,216,105,4,2,108,109,4323,4332,100,101,5,213,1,59,4330,1,213,101,115,59,1,10807,109,108,5,214,1,59,4344,1,214,101,114,4,2,66,80,4354,4380,4,2,97,114,4360,4364,114,59,1,8254,97,99,4,2,101,107,4372,4375,59,1,9182,101,116,59,1,9140,97,114,101,110,116,104,101,115,105,115,59,1,9180,4,9,97,99,102,104,105,108,111,114,115,4413,4422,4426,4431,4435,4438,4448,4471,4561,114,116,105,97,108,68,59,1,8706,121,59,1,1055,114,59,3,55349,56595,105,59,1,934,59,1,928,117,115,77,105,110,117,115,59,1,177,4,2,105,112,4454,4467,110,99,97,114,101,112,108,97,110,101,59,1,8460,102,59,1,8473,4,4,59,101,105,111,4481,4483,4526,4531,1,10939,99,101,100,101,115,4,4,59,69,83,84,4498,4500,4507,4519,1,8826,113,117,97,108,59,1,10927,108,97,110,116,69,113,117,97,108,59,1,8828,105,108,100,101,59,1,8830,109,101,59,1,8243,4,2,100,112,4537,4543,117,99,116,59,1,8719,111,114,116,105,111,110,4,2,59,97,4555,4557,1,8759,108,59,1,8733,4,2,99,105,4567,4572,114,59,3,55349,56491,59,1,936,4,4,85,102,111,115,4585,4594,4599,4604,79,84,5,34,1,59,4592,1,34,114,59,3,55349,56596,112,102,59,1,8474,99,114,59,3,55349,56492,4,12,66,69,97,99,101,102,104,105,111,114,115,117,4636,4642,4650,4681,4704,4763,4767,4771,5047,5069,5081,5094,97,114,114,59,1,10512,71,5,174,1,59,4648,1,174,4,3,99,110,114,4658,4664,4668,117,116,101,59,1,340,103,59,1,10219,114,4,2,59,116,4675,4677,1,8608,108,59,1,10518,4,3,97,101,121,4689,4695,4701,114,111,110,59,1,344,100,105,108,59,1,342,59,1,1056,4,2,59,118,4710,4712,1,8476,101,114,115,101,4,2,69,85,4722,4748,4,2,108,113,4728,4736,101,109,101,110,116,59,1,8715,117,105,108,105,98,114,105,117,109,59,1,8651,112,69,113,117,105,108,105,98,114,105,117,109,59,1,10607,114,59,1,8476,111,59,1,929,103,104,116,4,8,65,67,68,70,84,85,86,97,4792,4840,4849,4905,4912,4972,5022,5040,4,2,110,114,4798,4811,103,108,101,66,114,97,99,107,101,116,59,1,10217,114,111,119,4,3,59,66,76,4822,4824,4829,1,8594,97,114,59,1,8677,101,102,116,65,114,114,111,119,59,1,8644,101,105,108,105,110,103,59,1,8969,111,4,2,117,119,4856,4869,98,108,101,66,114,97,99,107,101,116,59,1,10215,110,4,2,84,86,4876,4887,101,101,86,101,99,116,111,114,59,1,10589,101,99,116,111,114,4,2,59,66,4898,4900,1,8642,97,114,59,1,10581,108,111,111,114,59,1,8971,4,2,101,114,4918,4944,101,4,3,59,65,86,4927,4929,4936,1,8866,114,114,111,119,59,1,8614,101,99,116,111,114,59,1,10587,105,97,110,103,108,101,4,3,59,66,69,4958,4960,4965,1,8883,97,114,59,1,10704,113,117,97,108,59,1,8885,112,4,3,68,84,86,4981,4993,5004,111,119,110,86,101,99,116,111,114,59,1,10575,101,101,86,101,99,116,111,114,59,1,10588,101,99,116,111,114,4,2,59,66,5015,5017,1,8638,97,114,59,1,10580,101,99,116,111,114,4,2,59,66,5033,5035,1,8640,97,114,59,1,10579,114,114,111,119,59,1,8658,4,2,112,117,5053,5057,102,59,1,8477,110,100,73,109,112,108,105,101,115,59,1,10608,105,103,104,116,97,114,114,111,119,59,1,8667,4,2,99,104,5087,5091,114,59,1,8475,59,1,8625,108,101,68,101,108,97,121,101,100,59,1,10740,4,13,72,79,97,99,102,104,105,109,111,113,115,116,117,5134,5150,5157,5164,5198,5203,5259,5265,5277,5283,5374,5380,5385,4,2,67,99,5140,5146,72,99,121,59,1,1065,121,59,1,1064,70,84,99,121,59,1,1068,99,117,116,101,59,1,346,4,5,59,97,101,105,121,5176,5178,5184,5190,5195,1,10940,114,111,110,59,1,352,100,105,108,59,1,350,114,99,59,1,348,59,1,1057,114,59,3,55349,56598,111,114,116,4,4,68,76,82,85,5216,5227,5238,5250,111,119,110,65,114,114,111,119,59,1,8595,101,102,116,65,114,114,111,119,59,1,8592,105,103,104,116,65,114,114,111,119,59,1,8594,112,65,114,114,111,119,59,1,8593,103,109,97,59,1,931,97,108,108,67,105,114,99,108,101,59,1,8728,112,102,59,3,55349,56650,4,2,114,117,5289,5293,116,59,1,8730,97,114,101,4,4,59,73,83,85,5306,5308,5322,5367,1,9633,110,116,101,114,115,101,99,116,105,111,110,59,1,8851,117,4,2,98,112,5329,5347,115,101,116,4,2,59,69,5338,5340,1,8847,113,117,97,108,59,1,8849,101,114,115,101,116,4,2,59,69,5358,5360,1,8848,113,117,97,108,59,1,8850,110,105,111,110,59,1,8852,99,114,59,3,55349,56494,97,114,59,1,8902,4,4,98,99,109,112,5395,5420,5475,5478,4,2,59,115,5401,5403,1,8912,101,116,4,2,59,69,5411,5413,1,8912,113,117,97,108,59,1,8838,4,2,99,104,5426,5468,101,101,100,115,4,4,59,69,83,84,5440,5442,5449,5461,1,8827,113,117,97,108,59,1,10928,108,97,110,116,69,113,117,97,108,59,1,8829,105,108,100,101,59,1,8831,84,104,97,116,59,1,8715,59,1,8721,4,3,59,101,115,5486,5488,5507,1,8913,114,115,101,116,4,2,59,69,5498,5500,1,8835,113,117,97,108,59,1,8839,101,116,59,1,8913,4,11,72,82,83,97,99,102,104,105,111,114,115,5536,5546,5552,5567,5579,5602,5607,5655,5695,5701,5711,79,82,78,5,222,1,59,5544,1,222,65,68,69,59,1,8482,4,2,72,99,5558,5563,99,121,59,1,1035,121,59,1,1062,4,2,98,117,5573,5576,59,1,9,59,1,932,4,3,97,101,121,5587,5593,5599,114,111,110,59,1,356,100,105,108,59,1,354,59,1,1058,114,59,3,55349,56599,4,2,101,105,5613,5631,4,2,114,116,5619,5627,101,102,111,114,101,59,1,8756,97,59,1,920,4,2,99,110,5637,5647,107,83,112,97,99,101,59,3,8287,8202,83,112,97,99,101,59,1,8201,108,100,101,4,4,59,69,70,84,5668,5670,5677,5688,1,8764,113,117,97,108,59,1,8771,117,108,108,69,113,117,97,108,59,1,8773,105,108,100,101,59,1,8776,112,102,59,3,55349,56651,105,112,108,101,68,111,116,59,1,8411,4,2,99,116,5717,5722,114,59,3,55349,56495,114,111,107,59,1,358,4,14,97,98,99,100,102,103,109,110,111,112,114,115,116,117,5758,5789,5805,5823,5830,5835,5846,5852,5921,5937,6089,6095,6101,6108,4,2,99,114,5764,5774,117,116,101,5,218,1,59,5772,1,218,114,4,2,59,111,5781,5783,1,8607,99,105,114,59,1,10569,114,4,2,99,101,5796,5800,121,59,1,1038,118,101,59,1,364,4,2,105,121,5811,5820,114,99,5,219,1,59,5818,1,219,59,1,1059,98,108,97,99,59,1,368,114,59,3,55349,56600,114,97,118,101,5,217,1,59,5844,1,217,97,99,114,59,1,362,4,2,100,105,5858,5905,101,114,4,2,66,80,5866,5892,4,2,97,114,5872,5876,114,59,1,95,97,99,4,2,101,107,5884,5887,59,1,9183,101,116,59,1,9141,97,114,101,110,116,104,101,115,105,115,59,1,9181,111,110,4,2,59,80,5913,5915,1,8899,108,117,115,59,1,8846,4,2,103,112,5927,5932,111,110,59,1,370,102,59,3,55349,56652,4,8,65,68,69,84,97,100,112,115,5955,5985,5996,6009,6026,6033,6044,6075,114,114,111,119,4,3,59,66,68,5967,5969,5974,1,8593,97,114,59,1,10514,111,119,110,65,114,114,111,119,59,1,8645,111,119,110,65,114,114,111,119,59,1,8597,113,117,105,108,105,98,114,105,117,109,59,1,10606,101,101,4,2,59,65,6017,6019,1,8869,114,114,111,119,59,1,8613,114,114,111,119,59,1,8657,111,119,110,97,114,114,111,119,59,1,8661,101,114,4,2,76,82,6052,6063,101,102,116,65,114,114,111,119,59,1,8598,105,103,104,116,65,114,114,111,119,59,1,8599,105,4,2,59,108,6082,6084,1,978,111,110,59,1,933,105,110,103,59,1,366,99,114,59,3,55349,56496,105,108,100,101,59,1,360,109,108,5,220,1,59,6115,1,220,4,9,68,98,99,100,101,102,111,115,118,6137,6143,6148,6152,6166,6250,6255,6261,6267,97,115,104,59,1,8875,97,114,59,1,10987,121,59,1,1042,97,115,104,4,2,59,108,6161,6163,1,8873,59,1,10982,4,2,101,114,6172,6175,59,1,8897,4,3,98,116,121,6183,6188,6238,97,114,59,1,8214,4,2,59,105,6194,6196,1,8214,99,97,108,4,4,66,76,83,84,6209,6214,6220,6231,97,114,59,1,8739,105,110,101,59,1,124,101,112,97,114,97,116,111,114,59,1,10072,105,108,100,101,59,1,8768,84,104,105,110,83,112,97,99,101,59,1,8202,114,59,3,55349,56601,112,102,59,3,55349,56653,99,114,59,3,55349,56497,100,97,115,104,59,1,8874,4,5,99,101,102,111,115,6286,6292,6298,6303,6309,105,114,99,59,1,372,100,103,101,59,1,8896,114,59,3,55349,56602,112,102,59,3,55349,56654,99,114,59,3,55349,56498,4,4,102,105,111,115,6325,6330,6333,6339,114,59,3,55349,56603,59,1,926,112,102,59,3,55349,56655,99,114,59,3,55349,56499,4,9,65,73,85,97,99,102,111,115,117,6365,6370,6375,6380,6391,6405,6410,6416,6422,99,121,59,1,1071,99,121,59,1,1031,99,121,59,1,1070,99,117,116,101,5,221,1,59,6389,1,221,4,2,105,121,6397,6402,114,99,59,1,374,59,1,1067,114,59,3,55349,56604,112,102,59,3,55349,56656,99,114,59,3,55349,56500,109,108,59,1,376,4,8,72,97,99,100,101,102,111,115,6445,6450,6457,6472,6477,6501,6505,6510,99,121,59,1,1046,99,117,116,101,59,1,377,4,2,97,121,6463,6469,114,111,110,59,1,381,59,1,1047,111,116,59,1,379,4,2,114,116,6483,6497,111,87,105,100,116,104,83,112,97,99,101,59,1,8203,97,59,1,918,114,59,1,8488,112,102,59,1,8484,99,114,59,3,55349,56501,4,16,97,98,99,101,102,103,108,109,110,111,112,114,115,116,117,119,6550,6561,6568,6612,6622,6634,6645,6672,6699,6854,6870,6923,6933,6963,6974,6983,99,117,116,101,5,225,1,59,6559,1,225,114,101,118,101,59,1,259,4,6,59,69,100,105,117,121,6582,6584,6588,6591,6600,6609,1,8766,59,3,8766,819,59,1,8767,114,99,5,226,1,59,6598,1,226,116,101,5,180,1,59,6607,1,180,59,1,1072,108,105,103,5,230,1,59,6620,1,230,4,2,59,114,6628,6630,1,8289,59,3,55349,56606,114,97,118,101,5,224,1,59,6643,1,224,4,2,101,112,6651,6667,4,2,102,112,6657,6663,115,121,109,59,1,8501,104,59,1,8501,104,97,59,1,945,4,2,97,112,6678,6692,4,2,99,108,6684,6688,114,59,1,257,103,59,1,10815,5,38,1,59,6697,1,38,4,2,100,103,6705,6737,4,5,59,97,100,115,118,6717,6719,6724,6727,6734,1,8743,110,100,59,1,10837,59,1,10844,108,111,112,101,59,1,10840,59,1,10842,4,7,59,101,108,109,114,115,122,6753,6755,6758,6762,6814,6835,6848,1,8736,59,1,10660,101,59,1,8736,115,100,4,2,59,97,6770,6772,1,8737,4,8,97,98,99,100,101,102,103,104,6790,6793,6796,6799,6802,6805,6808,6811,59,1,10664,59,1,10665,59,1,10666,59,1,10667,59,1,10668,59,1,10669,59,1,10670,59,1,10671,116,4,2,59,118,6821,6823,1,8735,98,4,2,59,100,6830,6832,1,8894,59,1,10653,4,2,112,116,6841,6845,104,59,1,8738,59,1,197,97,114,114,59,1,9084,4,2,103,112,6860,6865,111,110,59,1,261,102,59,3,55349,56658,4,7,59,69,97,101,105,111,112,6886,6888,6891,6897,6900,6904,6908,1,8776,59,1,10864,99,105,114,59,1,10863,59,1,8778,100,59,1,8779,115,59,1,39,114,111,120,4,2,59,101,6917,6919,1,8776,113,59,1,8778,105,110,103,5,229,1,59,6931,1,229,4,3,99,116,121,6941,6946,6949,114,59,3,55349,56502,59,1,42,109,112,4,2,59,101,6957,6959,1,8776,113,59,1,8781,105,108,100,101,5,227,1,59,6972,1,227,109,108,5,228,1,59,6981,1,228,4,2,99,105,6989,6997,111,110,105,110,116,59,1,8755,110,116,59,1,10769,4,16,78,97,98,99,100,101,102,105,107,108,110,111,112,114,115,117,7036,7041,7119,7135,7149,7155,7219,7224,7347,7354,7463,7489,7786,7793,7814,7866,111,116,59,1,10989,4,2,99,114,7047,7094,107,4,4,99,101,112,115,7058,7064,7073,7080,111,110,103,59,1,8780,112,115,105,108,111,110,59,1,1014,114,105,109,101,59,1,8245,105,109,4,2,59,101,7088,7090,1,8765,113,59,1,8909,4,2,118,119,7100,7105,101,101,59,1,8893,101,100,4,2,59,103,7113,7115,1,8965,101,59,1,8965,114,107,4,2,59,116,7127,7129,1,9141,98,114,107,59,1,9142,4,2,111,121,7141,7146,110,103,59,1,8780,59,1,1073,113,117,111,59,1,8222,4,5,99,109,112,114,116,7167,7181,7188,7193,7199,97,117,115,4,2,59,101,7176,7178,1,8757,59,1,8757,112,116,121,118,59,1,10672,115,105,59,1,1014,110,111,117,59,1,8492,4,3,97,104,119,7207,7210,7213,59,1,946,59,1,8502,101,101,110,59,1,8812,114,59,3,55349,56607,103,4,7,99,111,115,116,117,118,119,7241,7262,7288,7305,7328,7335,7340,4,3,97,105,117,7249,7253,7258,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,4,3,100,112,116,7270,7275,7281,111,116,59,1,10752,108,117,115,59,1,10753,105,109,101,115,59,1,10754,4,2,113,116,7294,7300,99,117,112,59,1,10758,97,114,59,1,9733,114,105,97,110,103,108,101,4,2,100,117,7318,7324,111,119,110,59,1,9661,112,59,1,9651,112,108,117,115,59,1,10756,101,101,59,1,8897,101,100,103,101,59,1,8896,97,114,111,119,59,1,10509,4,3,97,107,111,7362,7436,7458,4,2,99,110,7368,7432,107,4,3,108,115,116,7377,7386,7394,111,122,101,110,103,101,59,1,10731,113,117,97,114,101,59,1,9642,114,105,97,110,103,108,101,4,4,59,100,108,114,7411,7413,7419,7425,1,9652,111,119,110,59,1,9662,101,102,116,59,1,9666,105,103,104,116,59,1,9656,107,59,1,9251,4,2,49,51,7442,7454,4,2,50,52,7448,7451,59,1,9618,59,1,9617,52,59,1,9619,99,107,59,1,9608,4,2,101,111,7469,7485,4,2,59,113,7475,7478,3,61,8421,117,105,118,59,3,8801,8421,116,59,1,8976,4,4,112,116,119,120,7499,7504,7517,7523,102,59,3,55349,56659,4,2,59,116,7510,7512,1,8869,111,109,59,1,8869,116,105,101,59,1,8904,4,12,68,72,85,86,98,100,104,109,112,116,117,118,7549,7571,7597,7619,7655,7660,7682,7708,7715,7721,7728,7750,4,4,76,82,108,114,7559,7562,7565,7568,59,1,9559,59,1,9556,59,1,9558,59,1,9555,4,5,59,68,85,100,117,7583,7585,7588,7591,7594,1,9552,59,1,9574,59,1,9577,59,1,9572,59,1,9575,4,4,76,82,108,114,7607,7610,7613,7616,59,1,9565,59,1,9562,59,1,9564,59,1,9561,4,7,59,72,76,82,104,108,114,7635,7637,7640,7643,7646,7649,7652,1,9553,59,1,9580,59,1,9571,59,1,9568,59,1,9579,59,1,9570,59,1,9567,111,120,59,1,10697,4,4,76,82,108,114,7670,7673,7676,7679,59,1,9557,59,1,9554,59,1,9488,59,1,9484,4,5,59,68,85,100,117,7694,7696,7699,7702,7705,1,9472,59,1,9573,59,1,9576,59,1,9516,59,1,9524,105,110,117,115,59,1,8863,108,117,115,59,1,8862,105,109,101,115,59,1,8864,4,4,76,82,108,114,7738,7741,7744,7747,59,1,9563,59,1,9560,59,1,9496,59,1,9492,4,7,59,72,76,82,104,108,114,7766,7768,7771,7774,7777,7780,7783,1,9474,59,1,9578,59,1,9569,59,1,9566,59,1,9532,59,1,9508,59,1,9500,114,105,109,101,59,1,8245,4,2,101,118,7799,7804,118,101,59,1,728,98,97,114,5,166,1,59,7812,1,166,4,4,99,101,105,111,7824,7829,7834,7846,114,59,3,55349,56503,109,105,59,1,8271,109,4,2,59,101,7841,7843,1,8765,59,1,8909,108,4,3,59,98,104,7855,7857,7860,1,92,59,1,10693,115,117,98,59,1,10184,4,2,108,109,7872,7885,108,4,2,59,101,7879,7881,1,8226,116,59,1,8226,112,4,3,59,69,101,7894,7896,7899,1,8782,59,1,10926,4,2,59,113,7905,7907,1,8783,59,1,8783,4,15,97,99,100,101,102,104,105,108,111,114,115,116,117,119,121,7942,8021,8075,8080,8121,8126,8157,8279,8295,8430,8446,8485,8491,8707,8726,4,3,99,112,114,7950,7956,8007,117,116,101,59,1,263,4,6,59,97,98,99,100,115,7970,7972,7977,7984,7998,8003,1,8745,110,100,59,1,10820,114,99,117,112,59,1,10825,4,2,97,117,7990,7994,112,59,1,10827,112,59,1,10823,111,116,59,1,10816,59,3,8745,65024,4,2,101,111,8013,8017,116,59,1,8257,110,59,1,711,4,4,97,101,105,117,8031,8046,8056,8061,4,2,112,114,8037,8041,115,59,1,10829,111,110,59,1,269,100,105,108,5,231,1,59,8054,1,231,114,99,59,1,265,112,115,4,2,59,115,8069,8071,1,10828,109,59,1,10832,111,116,59,1,267,4,3,100,109,110,8088,8097,8104,105,108,5,184,1,59,8095,1,184,112,116,121,118,59,1,10674,116,5,162,2,59,101,8112,8114,1,162,114,100,111,116,59,1,183,114,59,3,55349,56608,4,3,99,101,105,8134,8138,8154,121,59,1,1095,99,107,4,2,59,109,8146,8148,1,10003,97,114,107,59,1,10003,59,1,967,114,4,7,59,69,99,101,102,109,115,8174,8176,8179,8258,8261,8268,8273,1,9675,59,1,10691,4,3,59,101,108,8187,8189,8193,1,710,113,59,1,8791,101,4,2,97,100,8200,8223,114,114,111,119,4,2,108,114,8210,8216,101,102,116,59,1,8634,105,103,104,116,59,1,8635,4,5,82,83,97,99,100,8235,8238,8241,8246,8252,59,1,174,59,1,9416,115,116,59,1,8859,105,114,99,59,1,8858,97,115,104,59,1,8861,59,1,8791,110,105,110,116,59,1,10768,105,100,59,1,10991,99,105,114,59,1,10690,117,98,115,4,2,59,117,8288,8290,1,9827,105,116,59,1,9827,4,4,108,109,110,112,8305,8326,8376,8400,111,110,4,2,59,101,8313,8315,1,58,4,2,59,113,8321,8323,1,8788,59,1,8788,4,2,109,112,8332,8344,97,4,2,59,116,8339,8341,1,44,59,1,64,4,3,59,102,108,8352,8354,8358,1,8705,110,59,1,8728,101,4,2,109,120,8365,8371,101,110,116,59,1,8705,101,115,59,1,8450,4,2,103,105,8382,8395,4,2,59,100,8388,8390,1,8773,111,116,59,1,10861,110,116,59,1,8750,4,3,102,114,121,8408,8412,8417,59,3,55349,56660,111,100,59,1,8720,5,169,2,59,115,8424,8426,1,169,114,59,1,8471,4,2,97,111,8436,8441,114,114,59,1,8629,115,115,59,1,10007,4,2,99,117,8452,8457,114,59,3,55349,56504,4,2,98,112,8463,8474,4,2,59,101,8469,8471,1,10959,59,1,10961,4,2,59,101,8480,8482,1,10960,59,1,10962,100,111,116,59,1,8943,4,7,100,101,108,112,114,118,119,8507,8522,8536,8550,8600,8697,8702,97,114,114,4,2,108,114,8516,8519,59,1,10552,59,1,10549,4,2,112,115,8528,8532,114,59,1,8926,99,59,1,8927,97,114,114,4,2,59,112,8545,8547,1,8630,59,1,10557,4,6,59,98,99,100,111,115,8564,8566,8573,8587,8592,8596,1,8746,114,99,97,112,59,1,10824,4,2,97,117,8579,8583,112,59,1,10822,112,59,1,10826,111,116,59,1,8845,114,59,1,10821,59,3,8746,65024,4,4,97,108,114,118,8610,8623,8663,8672,114,114,4,2,59,109,8618,8620,1,8631,59,1,10556,121,4,3,101,118,119,8632,8651,8656,113,4,2,112,115,8639,8645,114,101,99,59,1,8926,117,99,99,59,1,8927,101,101,59,1,8910,101,100,103,101,59,1,8911,101,110,5,164,1,59,8670,1,164,101,97,114,114,111,119,4,2,108,114,8684,8690,101,102,116,59,1,8630,105,103,104,116,59,1,8631,101,101,59,1,8910,101,100,59,1,8911,4,2,99,105,8713,8721,111,110,105,110,116,59,1,8754,110,116,59,1,8753,108,99,116,121,59,1,9005,4,19,65,72,97,98,99,100,101,102,104,105,106,108,111,114,115,116,117,119,122,8773,8778,8783,8821,8839,8854,8887,8914,8930,8944,9036,9041,9058,9197,9227,9258,9281,9297,9305,114,114,59,1,8659,97,114,59,1,10597,4,4,103,108,114,115,8793,8799,8805,8809,103,101,114,59,1,8224,101,116,104,59,1,8504,114,59,1,8595,104,4,2,59,118,8816,8818,1,8208,59,1,8867,4,2,107,108,8827,8834,97,114,111,119,59,1,10511,97,99,59,1,733,4,2,97,121,8845,8851,114,111,110,59,1,271,59,1,1076,4,3,59,97,111,8862,8864,8880,1,8518,4,2,103,114,8870,8876,103,101,114,59,1,8225,114,59,1,8650,116,115,101,113,59,1,10871,4,3,103,108,109,8895,8902,8907,5,176,1,59,8900,1,176,116,97,59,1,948,112,116,121,118,59,1,10673,4,2,105,114,8920,8926,115,104,116,59,1,10623,59,3,55349,56609,97,114,4,2,108,114,8938,8941,59,1,8643,59,1,8642,4,5,97,101,103,115,118,8956,8986,8989,8996,9001,109,4,3,59,111,115,8965,8967,8983,1,8900,110,100,4,2,59,115,8975,8977,1,8900,117,105,116,59,1,9830,59,1,9830,59,1,168,97,109,109,97,59,1,989,105,110,59,1,8946,4,3,59,105,111,9009,9011,9031,1,247,100,101,5,247,2,59,111,9020,9022,1,247,110,116,105,109,101,115,59,1,8903,110,120,59,1,8903,99,121,59,1,1106,99,4,2,111,114,9048,9053,114,110,59,1,8990,111,112,59,1,8973,4,5,108,112,116,117,119,9070,9076,9081,9130,9144,108,97,114,59,1,36,102,59,3,55349,56661,4,5,59,101,109,112,115,9093,9095,9109,9116,9122,1,729,113,4,2,59,100,9102,9104,1,8784,111,116,59,1,8785,105,110,117,115,59,1,8760,108,117,115,59,1,8724,113,117,97,114,101,59,1,8865,98,108,101,98,97,114,119,101,100,103,101,59,1,8966,110,4,3,97,100,104,9153,9160,9172,114,114,111,119,59,1,8595,111,119,110,97,114,114,111,119,115,59,1,8650,97,114,112,111,111,110,4,2,108,114,9184,9190,101,102,116,59,1,8643,105,103,104,116,59,1,8642,4,2,98,99,9203,9211,107,97,114,111,119,59,1,10512,4,2,111,114,9217,9222,114,110,59,1,8991,111,112,59,1,8972,4,3,99,111,116,9235,9248,9252,4,2,114,121,9241,9245,59,3,55349,56505,59,1,1109,108,59,1,10742,114,111,107,59,1,273,4,2,100,114,9264,9269,111,116,59,1,8945,105,4,2,59,102,9276,9278,1,9663,59,1,9662,4,2,97,104,9287,9292,114,114,59,1,8693,97,114,59,1,10607,97,110,103,108,101,59,1,10662,4,2,99,105,9311,9315,121,59,1,1119,103,114,97,114,114,59,1,10239,4,18,68,97,99,100,101,102,103,108,109,110,111,112,113,114,115,116,117,120,9361,9376,9398,9439,9444,9447,9462,9495,9531,9585,9598,9614,9659,9755,9771,9792,9808,9826,4,2,68,111,9367,9372,111,116,59,1,10871,116,59,1,8785,4,2,99,115,9382,9392,117,116,101,5,233,1,59,9390,1,233,116,101,114,59,1,10862,4,4,97,105,111,121,9408,9414,9430,9436,114,111,110,59,1,283,114,4,2,59,99,9421,9423,1,8790,5,234,1,59,9428,1,234,108,111,110,59,1,8789,59,1,1101,111,116,59,1,279,59,1,8519,4,2,68,114,9453,9458,111,116,59,1,8786,59,3,55349,56610,4,3,59,114,115,9470,9472,9482,1,10906,97,118,101,5,232,1,59,9480,1,232,4,2,59,100,9488,9490,1,10902,111,116,59,1,10904,4,4,59,105,108,115,9505,9507,9515,9518,1,10905,110,116,101,114,115,59,1,9191,59,1,8467,4,2,59,100,9524,9526,1,10901,111,116,59,1,10903,4,3,97,112,115,9539,9544,9564,99,114,59,1,275,116,121,4,3,59,115,118,9554,9556,9561,1,8709,101,116,59,1,8709,59,1,8709,112,4,2,49,59,9571,9583,4,2,51,52,9577,9580,59,1,8196,59,1,8197,1,8195,4,2,103,115,9591,9594,59,1,331,112,59,1,8194,4,2,103,112,9604,9609,111,110,59,1,281,102,59,3,55349,56662,4,3,97,108,115,9622,9635,9640,114,4,2,59,115,9629,9631,1,8917,108,59,1,10723,117,115,59,1,10865,105,4,3,59,108,118,9649,9651,9656,1,949,111,110,59,1,949,59,1,1013,4,4,99,115,117,118,9669,9686,9716,9747,4,2,105,111,9675,9680,114,99,59,1,8790,108,111,110,59,1,8789,4,2,105,108,9692,9696,109,59,1,8770,97,110,116,4,2,103,108,9705,9710,116,114,59,1,10902,101,115,115,59,1,10901,4,3,97,101,105,9724,9729,9734,108,115,59,1,61,115,116,59,1,8799,118,4,2,59,68,9741,9743,1,8801,68,59,1,10872,112,97,114,115,108,59,1,10725,4,2,68,97,9761,9766,111,116,59,1,8787,114,114,59,1,10609,4,3,99,100,105,9779,9783,9788,114,59,1,8495,111,116,59,1,8784,109,59,1,8770,4,2,97,104,9798,9801,59,1,951,5,240,1,59,9806,1,240,4,2,109,114,9814,9822,108,5,235,1,59,9820,1,235,111,59,1,8364,4,3,99,105,112,9834,9838,9843,108,59,1,33,115,116,59,1,8707,4,2,101,111,9849,9859,99,116,97,116,105,111,110,59,1,8496,110,101,110,116,105,97,108,101,59,1,8519,4,12,97,99,101,102,105,106,108,110,111,112,114,115,9896,9910,9914,9921,9954,9960,9967,9989,9994,10027,10036,10164,108,108,105,110,103,100,111,116,115,101,113,59,1,8786,121,59,1,1092,109,97,108,101,59,1,9792,4,3,105,108,114,9929,9935,9950,108,105,103,59,1,64259,4,2,105,108,9941,9945,103,59,1,64256,105,103,59,1,64260,59,3,55349,56611,108,105,103,59,1,64257,108,105,103,59,3,102,106,4,3,97,108,116,9975,9979,9984,116,59,1,9837,105,103,59,1,64258,110,115,59,1,9649,111,102,59,1,402,4,2,112,114,1e4,10005,102,59,3,55349,56663,4,2,97,107,10011,10016,108,108,59,1,8704,4,2,59,118,10022,10024,1,8916,59,1,10969,97,114,116,105,110,116,59,1,10765,4,2,97,111,10042,10159,4,2,99,115,10048,10155,4,6,49,50,51,52,53,55,10062,10102,10114,10135,10139,10151,4,6,50,51,52,53,54,56,10076,10083,10086,10093,10096,10099,5,189,1,59,10081,1,189,59,1,8531,5,188,1,59,10091,1,188,59,1,8533,59,1,8537,59,1,8539,4,2,51,53,10108,10111,59,1,8532,59,1,8534,4,3,52,53,56,10122,10129,10132,5,190,1,59,10127,1,190,59,1,8535,59,1,8540,53,59,1,8536,4,2,54,56,10145,10148,59,1,8538,59,1,8541,56,59,1,8542,108,59,1,8260,119,110,59,1,8994,99,114,59,3,55349,56507,4,17,69,97,98,99,100,101,102,103,105,106,108,110,111,114,115,116,118,10206,10217,10247,10254,10268,10273,10358,10363,10374,10380,10385,10406,10458,10464,10470,10497,10610,4,2,59,108,10212,10214,1,8807,59,1,10892,4,3,99,109,112,10225,10231,10244,117,116,101,59,1,501,109,97,4,2,59,100,10239,10241,1,947,59,1,989,59,1,10886,114,101,118,101,59,1,287,4,2,105,121,10260,10265,114,99,59,1,285,59,1,1075,111,116,59,1,289,4,4,59,108,113,115,10283,10285,10288,10308,1,8805,59,1,8923,4,3,59,113,115,10296,10298,10301,1,8805,59,1,8807,108,97,110,116,59,1,10878,4,4,59,99,100,108,10318,10320,10324,10345,1,10878,99,59,1,10921,111,116,4,2,59,111,10332,10334,1,10880,4,2,59,108,10340,10342,1,10882,59,1,10884,4,2,59,101,10351,10354,3,8923,65024,115,59,1,10900,114,59,3,55349,56612,4,2,59,103,10369,10371,1,8811,59,1,8921,109,101,108,59,1,8503,99,121,59,1,1107,4,4,59,69,97,106,10395,10397,10400,10403,1,8823,59,1,10898,59,1,10917,59,1,10916,4,4,69,97,101,115,10416,10419,10434,10453,59,1,8809,112,4,2,59,112,10426,10428,1,10890,114,111,120,59,1,10890,4,2,59,113,10440,10442,1,10888,4,2,59,113,10448,10450,1,10888,59,1,8809,105,109,59,1,8935,112,102,59,3,55349,56664,97,118,101,59,1,96,4,2,99,105,10476,10480,114,59,1,8458,109,4,3,59,101,108,10489,10491,10494,1,8819,59,1,10894,59,1,10896,5,62,6,59,99,100,108,113,114,10512,10514,10527,10532,10538,10545,1,62,4,2,99,105,10520,10523,59,1,10919,114,59,1,10874,111,116,59,1,8919,80,97,114,59,1,10645,117,101,115,116,59,1,10876,4,5,97,100,101,108,115,10557,10574,10579,10599,10605,4,2,112,114,10563,10570,112,114,111,120,59,1,10886,114,59,1,10616,111,116,59,1,8919,113,4,2,108,113,10586,10592,101,115,115,59,1,8923,108,101,115,115,59,1,10892,101,115,115,59,1,8823,105,109,59,1,8819,4,2,101,110,10616,10626,114,116,110,101,113,113,59,3,8809,65024,69,59,3,8809,65024,4,10,65,97,98,99,101,102,107,111,115,121,10653,10658,10713,10718,10724,10760,10765,10786,10850,10875,114,114,59,1,8660,4,4,105,108,109,114,10668,10674,10678,10684,114,115,112,59,1,8202,102,59,1,189,105,108,116,59,1,8459,4,2,100,114,10690,10695,99,121,59,1,1098,4,3,59,99,119,10703,10705,10710,1,8596,105,114,59,1,10568,59,1,8621,97,114,59,1,8463,105,114,99,59,1,293,4,3,97,108,114,10732,10748,10754,114,116,115,4,2,59,117,10741,10743,1,9829,105,116,59,1,9829,108,105,112,59,1,8230,99,111,110,59,1,8889,114,59,3,55349,56613,115,4,2,101,119,10772,10779,97,114,111,119,59,1,10533,97,114,111,119,59,1,10534,4,5,97,109,111,112,114,10798,10803,10809,10839,10844,114,114,59,1,8703,116,104,116,59,1,8763,107,4,2,108,114,10816,10827,101,102,116,97,114,114,111,119,59,1,8617,105,103,104,116,97,114,114,111,119,59,1,8618,102,59,3,55349,56665,98,97,114,59,1,8213,4,3,99,108,116,10858,10863,10869,114,59,3,55349,56509,97,115,104,59,1,8463,114,111,107,59,1,295,4,2,98,112,10881,10887,117,108,108,59,1,8259,104,101,110,59,1,8208,4,15,97,99,101,102,103,105,106,109,110,111,112,113,115,116,117,10925,10936,10958,10977,10990,11001,11039,11045,11101,11192,11220,11226,11237,11285,11299,99,117,116,101,5,237,1,59,10934,1,237,4,3,59,105,121,10944,10946,10955,1,8291,114,99,5,238,1,59,10953,1,238,59,1,1080,4,2,99,120,10964,10968,121,59,1,1077,99,108,5,161,1,59,10975,1,161,4,2,102,114,10983,10986,59,1,8660,59,3,55349,56614,114,97,118,101,5,236,1,59,10999,1,236,4,4,59,105,110,111,11011,11013,11028,11034,1,8520,4,2,105,110,11019,11024,110,116,59,1,10764,116,59,1,8749,102,105,110,59,1,10716,116,97,59,1,8489,108,105,103,59,1,307,4,3,97,111,112,11053,11092,11096,4,3,99,103,116,11061,11065,11088,114,59,1,299,4,3,101,108,112,11073,11076,11082,59,1,8465,105,110,101,59,1,8464,97,114,116,59,1,8465,104,59,1,305,102,59,1,8887,101,100,59,1,437,4,5,59,99,102,111,116,11113,11115,11121,11136,11142,1,8712,97,114,101,59,1,8453,105,110,4,2,59,116,11129,11131,1,8734,105,101,59,1,10717,100,111,116,59,1,305,4,5,59,99,101,108,112,11154,11156,11161,11179,11186,1,8747,97,108,59,1,8890,4,2,103,114,11167,11173,101,114,115,59,1,8484,99,97,108,59,1,8890,97,114,104,107,59,1,10775,114,111,100,59,1,10812,4,4,99,103,112,116,11202,11206,11211,11216,121,59,1,1105,111,110,59,1,303,102,59,3,55349,56666,97,59,1,953,114,111,100,59,1,10812,117,101,115,116,5,191,1,59,11235,1,191,4,2,99,105,11243,11248,114,59,3,55349,56510,110,4,5,59,69,100,115,118,11261,11263,11266,11271,11282,1,8712,59,1,8953,111,116,59,1,8949,4,2,59,118,11277,11279,1,8948,59,1,8947,59,1,8712,4,2,59,105,11291,11293,1,8290,108,100,101,59,1,297,4,2,107,109,11305,11310,99,121,59,1,1110,108,5,239,1,59,11316,1,239,4,6,99,102,109,111,115,117,11332,11346,11351,11357,11363,11380,4,2,105,121,11338,11343,114,99,59,1,309,59,1,1081,114,59,3,55349,56615,97,116,104,59,1,567,112,102,59,3,55349,56667,4,2,99,101,11369,11374,114,59,3,55349,56511,114,99,121,59,1,1112,107,99,121,59,1,1108,4,8,97,99,102,103,104,106,111,115,11404,11418,11433,11438,11445,11450,11455,11461,112,112,97,4,2,59,118,11413,11415,1,954,59,1,1008,4,2,101,121,11424,11430,100,105,108,59,1,311,59,1,1082,114,59,3,55349,56616,114,101,101,110,59,1,312,99,121,59,1,1093,99,121,59,1,1116,112,102,59,3,55349,56668,99,114,59,3,55349,56512,4,23,65,66,69,72,97,98,99,100,101,102,103,104,106,108,109,110,111,112,114,115,116,117,118,11515,11538,11544,11555,11560,11721,11780,11818,11868,12136,12160,12171,12203,12208,12246,12275,12327,12509,12523,12569,12641,12732,12752,4,3,97,114,116,11523,11528,11532,114,114,59,1,8666,114,59,1,8656,97,105,108,59,1,10523,97,114,114,59,1,10510,4,2,59,103,11550,11552,1,8806,59,1,10891,97,114,59,1,10594,4,9,99,101,103,109,110,112,113,114,116,11580,11586,11594,11600,11606,11624,11627,11636,11694,117,116,101,59,1,314,109,112,116,121,118,59,1,10676,114,97,110,59,1,8466,98,100,97,59,1,955,103,4,3,59,100,108,11615,11617,11620,1,10216,59,1,10641,101,59,1,10216,59,1,10885,117,111,5,171,1,59,11634,1,171,114,4,8,59,98,102,104,108,112,115,116,11655,11657,11669,11673,11677,11681,11685,11690,1,8592,4,2,59,102,11663,11665,1,8676,115,59,1,10527,115,59,1,10525,107,59,1,8617,112,59,1,8619,108,59,1,10553,105,109,59,1,10611,108,59,1,8610,4,3,59,97,101,11702,11704,11709,1,10923,105,108,59,1,10521,4,2,59,115,11715,11717,1,10925,59,3,10925,65024,4,3,97,98,114,11729,11734,11739,114,114,59,1,10508,114,107,59,1,10098,4,2,97,107,11745,11758,99,4,2,101,107,11752,11755,59,1,123,59,1,91,4,2,101,115,11764,11767,59,1,10635,108,4,2,100,117,11774,11777,59,1,10639,59,1,10637,4,4,97,101,117,121,11790,11796,11811,11815,114,111,110,59,1,318,4,2,100,105,11802,11807,105,108,59,1,316,108,59,1,8968,98,59,1,123,59,1,1083,4,4,99,113,114,115,11828,11832,11845,11864,97,59,1,10550,117,111,4,2,59,114,11840,11842,1,8220,59,1,8222,4,2,100,117,11851,11857,104,97,114,59,1,10599,115,104,97,114,59,1,10571,104,59,1,8626,4,5,59,102,103,113,115,11880,11882,12008,12011,12031,1,8804,116,4,5,97,104,108,114,116,11895,11913,11935,11947,11996,114,114,111,119,4,2,59,116,11905,11907,1,8592,97,105,108,59,1,8610,97,114,112,111,111,110,4,2,100,117,11925,11931,111,119,110,59,1,8637,112,59,1,8636,101,102,116,97,114,114,111,119,115,59,1,8647,105,103,104,116,4,3,97,104,115,11959,11974,11984,114,114,111,119,4,2,59,115,11969,11971,1,8596,59,1,8646,97,114,112,111,111,110,115,59,1,8651,113,117,105,103,97,114,114,111,119,59,1,8621,104,114,101,101,116,105,109,101,115,59,1,8907,59,1,8922,4,3,59,113,115,12019,12021,12024,1,8804,59,1,8806,108,97,110,116,59,1,10877,4,5,59,99,100,103,115,12043,12045,12049,12070,12083,1,10877,99,59,1,10920,111,116,4,2,59,111,12057,12059,1,10879,4,2,59,114,12065,12067,1,10881,59,1,10883,4,2,59,101,12076,12079,3,8922,65024,115,59,1,10899,4,5,97,100,101,103,115,12095,12103,12108,12126,12131,112,112,114,111,120,59,1,10885,111,116,59,1,8918,113,4,2,103,113,12115,12120,116,114,59,1,8922,103,116,114,59,1,10891,116,114,59,1,8822,105,109,59,1,8818,4,3,105,108,114,12144,12150,12156,115,104,116,59,1,10620,111,111,114,59,1,8970,59,3,55349,56617,4,2,59,69,12166,12168,1,8822,59,1,10897,4,2,97,98,12177,12198,114,4,2,100,117,12184,12187,59,1,8637,4,2,59,108,12193,12195,1,8636,59,1,10602,108,107,59,1,9604,99,121,59,1,1113,4,5,59,97,99,104,116,12220,12222,12227,12235,12241,1,8810,114,114,59,1,8647,111,114,110,101,114,59,1,8990,97,114,100,59,1,10603,114,105,59,1,9722,4,2,105,111,12252,12258,100,111,116,59,1,320,117,115,116,4,2,59,97,12267,12269,1,9136,99,104,101,59,1,9136,4,4,69,97,101,115,12285,12288,12303,12322,59,1,8808,112,4,2,59,112,12295,12297,1,10889,114,111,120,59,1,10889,4,2,59,113,12309,12311,1,10887,4,2,59,113,12317,12319,1,10887,59,1,8808,105,109,59,1,8934,4,8,97,98,110,111,112,116,119,122,12345,12359,12364,12421,12446,12467,12474,12490,4,2,110,114,12351,12355,103,59,1,10220,114,59,1,8701,114,107,59,1,10214,103,4,3,108,109,114,12373,12401,12409,101,102,116,4,2,97,114,12382,12389,114,114,111,119,59,1,10229,105,103,104,116,97,114,114,111,119,59,1,10231,97,112,115,116,111,59,1,10236,105,103,104,116,97,114,114,111,119,59,1,10230,112,97,114,114,111,119,4,2,108,114,12433,12439,101,102,116,59,1,8619,105,103,104,116,59,1,8620,4,3,97,102,108,12454,12458,12462,114,59,1,10629,59,3,55349,56669,117,115,59,1,10797,105,109,101,115,59,1,10804,4,2,97,98,12480,12485,115,116,59,1,8727,97,114,59,1,95,4,3,59,101,102,12498,12500,12506,1,9674,110,103,101,59,1,9674,59,1,10731,97,114,4,2,59,108,12517,12519,1,40,116,59,1,10643,4,5,97,99,104,109,116,12535,12540,12548,12561,12564,114,114,59,1,8646,111,114,110,101,114,59,1,8991,97,114,4,2,59,100,12556,12558,1,8651,59,1,10605,59,1,8206,114,105,59,1,8895,4,6,97,99,104,105,113,116,12583,12589,12594,12597,12614,12635,113,117,111,59,1,8249,114,59,3,55349,56513,59,1,8624,109,4,3,59,101,103,12606,12608,12611,1,8818,59,1,10893,59,1,10895,4,2,98,117,12620,12623,59,1,91,111,4,2,59,114,12630,12632,1,8216,59,1,8218,114,111,107,59,1,322,5,60,8,59,99,100,104,105,108,113,114,12660,12662,12675,12680,12686,12692,12698,12705,1,60,4,2,99,105,12668,12671,59,1,10918,114,59,1,10873,111,116,59,1,8918,114,101,101,59,1,8907,109,101,115,59,1,8905,97,114,114,59,1,10614,117,101,115,116,59,1,10875,4,2,80,105,12711,12716,97,114,59,1,10646,4,3,59,101,102,12724,12726,12729,1,9667,59,1,8884,59,1,9666,114,4,2,100,117,12739,12746,115,104,97,114,59,1,10570,104,97,114,59,1,10598,4,2,101,110,12758,12768,114,116,110,101,113,113,59,3,8808,65024,69,59,3,8808,65024,4,14,68,97,99,100,101,102,104,105,108,110,111,112,115,117,12803,12809,12893,12908,12914,12928,12933,12937,13011,13025,13032,13049,13052,13069,68,111,116,59,1,8762,4,4,99,108,112,114,12819,12827,12849,12887,114,5,175,1,59,12825,1,175,4,2,101,116,12833,12836,59,1,9794,4,2,59,101,12842,12844,1,10016,115,101,59,1,10016,4,2,59,115,12855,12857,1,8614,116,111,4,4,59,100,108,117,12869,12871,12877,12883,1,8614,111,119,110,59,1,8615,101,102,116,59,1,8612,112,59,1,8613,107,101,114,59,1,9646,4,2,111,121,12899,12905,109,109,97,59,1,10793,59,1,1084,97,115,104,59,1,8212,97,115,117,114,101,100,97,110,103,108,101,59,1,8737,114,59,3,55349,56618,111,59,1,8487,4,3,99,100,110,12945,12954,12985,114,111,5,181,1,59,12952,1,181,4,4,59,97,99,100,12964,12966,12971,12976,1,8739,115,116,59,1,42,105,114,59,1,10992,111,116,5,183,1,59,12983,1,183,117,115,4,3,59,98,100,12995,12997,13e3,1,8722,59,1,8863,4,2,59,117,13006,13008,1,8760,59,1,10794,4,2,99,100,13017,13021,112,59,1,10971,114,59,1,8230,112,108,117,115,59,1,8723,4,2,100,112,13038,13044,101,108,115,59,1,8871,102,59,3,55349,56670,59,1,8723,4,2,99,116,13058,13063,114,59,3,55349,56514,112,111,115,59,1,8766,4,3,59,108,109,13077,13079,13087,1,956,116,105,109,97,112,59,1,8888,97,112,59,1,8888,4,24,71,76,82,86,97,98,99,100,101,102,103,104,105,106,108,109,111,112,114,115,116,117,118,119,13142,13165,13217,13229,13247,13330,13359,13414,13420,13508,13513,13579,13602,13626,13631,13762,13767,13855,13936,13995,14214,14285,14312,14432,4,2,103,116,13148,13152,59,3,8921,824,4,2,59,118,13158,13161,3,8811,8402,59,3,8811,824,4,3,101,108,116,13173,13200,13204,102,116,4,2,97,114,13181,13188,114,114,111,119,59,1,8653,105,103,104,116,97,114,114,111,119,59,1,8654,59,3,8920,824,4,2,59,118,13210,13213,3,8810,8402,59,3,8810,824,105,103,104,116,97,114,114,111,119,59,1,8655,4,2,68,100,13235,13241,97,115,104,59,1,8879,97,115,104,59,1,8878,4,5,98,99,110,112,116,13259,13264,13270,13275,13308,108,97,59,1,8711,117,116,101,59,1,324,103,59,3,8736,8402,4,5,59,69,105,111,112,13287,13289,13293,13298,13302,1,8777,59,3,10864,824,100,59,3,8779,824,115,59,1,329,114,111,120,59,1,8777,117,114,4,2,59,97,13316,13318,1,9838,108,4,2,59,115,13325,13327,1,9838,59,1,8469,4,2,115,117,13336,13344,112,5,160,1,59,13342,1,160,109,112,4,2,59,101,13352,13355,3,8782,824,59,3,8783,824,4,5,97,101,111,117,121,13371,13385,13391,13407,13411,4,2,112,114,13377,13380,59,1,10819,111,110,59,1,328,100,105,108,59,1,326,110,103,4,2,59,100,13399,13401,1,8775,111,116,59,3,10861,824,112,59,1,10818,59,1,1085,97,115,104,59,1,8211,4,7,59,65,97,100,113,115,120,13436,13438,13443,13466,13472,13478,13494,1,8800,114,114,59,1,8663,114,4,2,104,114,13450,13454,107,59,1,10532,4,2,59,111,13460,13462,1,8599,119,59,1,8599,111,116,59,3,8784,824,117,105,118,59,1,8802,4,2,101,105,13484,13489,97,114,59,1,10536,109,59,3,8770,824,105,115,116,4,2,59,115,13503,13505,1,8708,59,1,8708,114,59,3,55349,56619,4,4,69,101,115,116,13523,13527,13563,13568,59,3,8807,824,4,3,59,113,115,13535,13537,13559,1,8817,4,3,59,113,115,13545,13547,13551,1,8817,59,3,8807,824,108,97,110,116,59,3,10878,824,59,3,10878,824,105,109,59,1,8821,4,2,59,114,13574,13576,1,8815,59,1,8815,4,3,65,97,112,13587,13592,13597,114,114,59,1,8654,114,114,59,1,8622,97,114,59,1,10994,4,3,59,115,118,13610,13612,13623,1,8715,4,2,59,100,13618,13620,1,8956,59,1,8954,59,1,8715,99,121,59,1,1114,4,7,65,69,97,100,101,115,116,13647,13652,13656,13661,13665,13737,13742,114,114,59,1,8653,59,3,8806,824,114,114,59,1,8602,114,59,1,8229,4,4,59,102,113,115,13675,13677,13703,13725,1,8816,116,4,2,97,114,13684,13691,114,114,111,119,59,1,8602,105,103,104,116,97,114,114,111,119,59,1,8622,4,3,59,113,115,13711,13713,13717,1,8816,59,3,8806,824,108,97,110,116,59,3,10877,824,4,2,59,115,13731,13734,3,10877,824,59,1,8814,105,109,59,1,8820,4,2,59,114,13748,13750,1,8814,105,4,2,59,101,13757,13759,1,8938,59,1,8940,105,100,59,1,8740,4,2,112,116,13773,13778,102,59,3,55349,56671,5,172,3,59,105,110,13787,13789,13829,1,172,110,4,4,59,69,100,118,13800,13802,13806,13812,1,8713,59,3,8953,824,111,116,59,3,8949,824,4,3,97,98,99,13820,13823,13826,59,1,8713,59,1,8951,59,1,8950,105,4,2,59,118,13836,13838,1,8716,4,3,97,98,99,13846,13849,13852,59,1,8716,59,1,8958,59,1,8957,4,3,97,111,114,13863,13892,13899,114,4,4,59,97,115,116,13874,13876,13883,13888,1,8742,108,108,101,108,59,1,8742,108,59,3,11005,8421,59,3,8706,824,108,105,110,116,59,1,10772,4,3,59,99,101,13907,13909,13914,1,8832,117,101,59,1,8928,4,2,59,99,13920,13923,3,10927,824,4,2,59,101,13929,13931,1,8832,113,59,3,10927,824,4,4,65,97,105,116,13946,13951,13971,13982,114,114,59,1,8655,114,114,4,3,59,99,119,13961,13963,13967,1,8603,59,3,10547,824,59,3,8605,824,103,104,116,97,114,114,111,119,59,1,8603,114,105,4,2,59,101,13990,13992,1,8939,59,1,8941,4,7,99,104,105,109,112,113,117,14011,14036,14060,14080,14085,14090,14106,4,4,59,99,101,114,14021,14023,14028,14032,1,8833,117,101,59,1,8929,59,3,10928,824,59,3,55349,56515,111,114,116,4,2,109,112,14045,14050,105,100,59,1,8740,97,114,97,108,108,101,108,59,1,8742,109,4,2,59,101,14067,14069,1,8769,4,2,59,113,14075,14077,1,8772,59,1,8772,105,100,59,1,8740,97,114,59,1,8742,115,117,4,2,98,112,14098,14102,101,59,1,8930,101,59,1,8931,4,3,98,99,112,14114,14157,14171,4,4,59,69,101,115,14124,14126,14130,14133,1,8836,59,3,10949,824,59,1,8840,101,116,4,2,59,101,14141,14144,3,8834,8402,113,4,2,59,113,14151,14153,1,8840,59,3,10949,824,99,4,2,59,101,14164,14166,1,8833,113,59,3,10928,824,4,4,59,69,101,115,14181,14183,14187,14190,1,8837,59,3,10950,824,59,1,8841,101,116,4,2,59,101,14198,14201,3,8835,8402,113,4,2,59,113,14208,14210,1,8841,59,3,10950,824,4,4,103,105,108,114,14224,14228,14238,14242,108,59,1,8825,108,100,101,5,241,1,59,14236,1,241,103,59,1,8824,105,97,110,103,108,101,4,2,108,114,14254,14269,101,102,116,4,2,59,101,14263,14265,1,8938,113,59,1,8940,105,103,104,116,4,2,59,101,14279,14281,1,8939,113,59,1,8941,4,2,59,109,14291,14293,1,957,4,3,59,101,115,14301,14303,14308,1,35,114,111,59,1,8470,112,59,1,8199,4,9,68,72,97,100,103,105,108,114,115,14332,14338,14344,14349,14355,14369,14376,14408,14426,97,115,104,59,1,8877,97,114,114,59,1,10500,112,59,3,8781,8402,97,115,104,59,1,8876,4,2,101,116,14361,14365,59,3,8805,8402,59,3,62,8402,110,102,105,110,59,1,10718,4,3,65,101,116,14384,14389,14393,114,114,59,1,10498,59,3,8804,8402,4,2,59,114,14399,14402,3,60,8402,105,101,59,3,8884,8402,4,2,65,116,14414,14419,114,114,59,1,10499,114,105,101,59,3,8885,8402,105,109,59,3,8764,8402,4,3,65,97,110,14440,14445,14468,114,114,59,1,8662,114,4,2,104,114,14452,14456,107,59,1,10531,4,2,59,111,14462,14464,1,8598,119,59,1,8598,101,97,114,59,1,10535,4,18,83,97,99,100,101,102,103,104,105,108,109,111,112,114,115,116,117,118,14512,14515,14535,14560,14597,14603,14618,14643,14657,14662,14701,14741,14747,14769,14851,14877,14907,14916,59,1,9416,4,2,99,115,14521,14531,117,116,101,5,243,1,59,14529,1,243,116,59,1,8859,4,2,105,121,14541,14557,114,4,2,59,99,14548,14550,1,8858,5,244,1,59,14555,1,244,59,1,1086,4,5,97,98,105,111,115,14572,14577,14583,14587,14591,115,104,59,1,8861,108,97,99,59,1,337,118,59,1,10808,116,59,1,8857,111,108,100,59,1,10684,108,105,103,59,1,339,4,2,99,114,14609,14614,105,114,59,1,10687,59,3,55349,56620,4,3,111,114,116,14626,14630,14640,110,59,1,731,97,118,101,5,242,1,59,14638,1,242,59,1,10689,4,2,98,109,14649,14654,97,114,59,1,10677,59,1,937,110,116,59,1,8750,4,4,97,99,105,116,14672,14677,14693,14698,114,114,59,1,8634,4,2,105,114,14683,14687,114,59,1,10686,111,115,115,59,1,10683,110,101,59,1,8254,59,1,10688,4,3,97,101,105,14709,14714,14719,99,114,59,1,333,103,97,59,1,969,4,3,99,100,110,14727,14733,14736,114,111,110,59,1,959,59,1,10678,117,115,59,1,8854,112,102,59,3,55349,56672,4,3,97,101,108,14755,14759,14764,114,59,1,10679,114,112,59,1,10681,117,115,59,1,8853,4,7,59,97,100,105,111,115,118,14785,14787,14792,14831,14837,14841,14848,1,8744,114,114,59,1,8635,4,4,59,101,102,109,14802,14804,14817,14824,1,10845,114,4,2,59,111,14811,14813,1,8500,102,59,1,8500,5,170,1,59,14822,1,170,5,186,1,59,14829,1,186,103,111,102,59,1,8886,114,59,1,10838,108,111,112,101,59,1,10839,59,1,10843,4,3,99,108,111,14859,14863,14873,114,59,1,8500,97,115,104,5,248,1,59,14871,1,248,108,59,1,8856,105,4,2,108,109,14884,14893,100,101,5,245,1,59,14891,1,245,101,115,4,2,59,97,14901,14903,1,8855,115,59,1,10806,109,108,5,246,1,59,14914,1,246,98,97,114,59,1,9021,4,12,97,99,101,102,104,105,108,109,111,114,115,117,14948,14992,14996,15033,15038,15068,15090,15189,15192,15222,15427,15441,114,4,4,59,97,115,116,14959,14961,14976,14989,1,8741,5,182,2,59,108,14968,14970,1,182,108,101,108,59,1,8741,4,2,105,108,14982,14986,109,59,1,10995,59,1,11005,59,1,8706,121,59,1,1087,114,4,5,99,105,109,112,116,15009,15014,15019,15024,15027,110,116,59,1,37,111,100,59,1,46,105,108,59,1,8240,59,1,8869,101,110,107,59,1,8241,114,59,3,55349,56621,4,3,105,109,111,15046,15057,15063,4,2,59,118,15052,15054,1,966,59,1,981,109,97,116,59,1,8499,110,101,59,1,9742,4,3,59,116,118,15076,15078,15087,1,960,99,104,102,111,114,107,59,1,8916,59,1,982,4,2,97,117,15096,15119,110,4,2,99,107,15103,15115,107,4,2,59,104,15110,15112,1,8463,59,1,8462,118,59,1,8463,115,4,9,59,97,98,99,100,101,109,115,116,15140,15142,15148,15151,15156,15168,15171,15179,15184,1,43,99,105,114,59,1,10787,59,1,8862,105,114,59,1,10786,4,2,111,117,15162,15165,59,1,8724,59,1,10789,59,1,10866,110,5,177,1,59,15177,1,177,105,109,59,1,10790,119,111,59,1,10791,59,1,177,4,3,105,112,117,15200,15208,15213,110,116,105,110,116,59,1,10773,102,59,3,55349,56673,110,100,5,163,1,59,15220,1,163,4,10,59,69,97,99,101,105,110,111,115,117,15244,15246,15249,15253,15258,15334,15347,15367,15416,15421,1,8826,59,1,10931,112,59,1,10935,117,101,59,1,8828,4,2,59,99,15264,15266,1,10927,4,6,59,97,99,101,110,115,15280,15282,15290,15299,15303,15329,1,8826,112,112,114,111,120,59,1,10935,117,114,108,121,101,113,59,1,8828,113,59,1,10927,4,3,97,101,115,15311,15319,15324,112,112,114,111,120,59,1,10937,113,113,59,1,10933,105,109,59,1,8936,105,109,59,1,8830,109,101,4,2,59,115,15342,15344,1,8242,59,1,8473,4,3,69,97,115,15355,15358,15362,59,1,10933,112,59,1,10937,105,109,59,1,8936,4,3,100,102,112,15375,15378,15404,59,1,8719,4,3,97,108,115,15386,15392,15398,108,97,114,59,1,9006,105,110,101,59,1,8978,117,114,102,59,1,8979,4,2,59,116,15410,15412,1,8733,111,59,1,8733,105,109,59,1,8830,114,101,108,59,1,8880,4,2,99,105,15433,15438,114,59,3,55349,56517,59,1,968,110,99,115,112,59,1,8200,4,6,102,105,111,112,115,117,15462,15467,15472,15478,15485,15491,114,59,3,55349,56622,110,116,59,1,10764,112,102,59,3,55349,56674,114,105,109,101,59,1,8279,99,114,59,3,55349,56518,4,3,97,101,111,15499,15520,15534,116,4,2,101,105,15506,15515,114,110,105,111,110,115,59,1,8461,110,116,59,1,10774,115,116,4,2,59,101,15528,15530,1,63,113,59,1,8799,116,5,34,1,59,15540,1,34,4,21,65,66,72,97,98,99,100,101,102,104,105,108,109,110,111,112,114,115,116,117,120,15586,15609,15615,15620,15796,15855,15893,15931,15977,16001,16039,16183,16204,16222,16228,16285,16312,16318,16363,16408,16416,4,3,97,114,116,15594,15599,15603,114,114,59,1,8667,114,59,1,8658,97,105,108,59,1,10524,97,114,114,59,1,10511,97,114,59,1,10596,4,7,99,100,101,110,113,114,116,15636,15651,15656,15664,15687,15696,15770,4,2,101,117,15642,15646,59,3,8765,817,116,101,59,1,341,105,99,59,1,8730,109,112,116,121,118,59,1,10675,103,4,4,59,100,101,108,15675,15677,15680,15683,1,10217,59,1,10642,59,1,10661,101,59,1,10217,117,111,5,187,1,59,15694,1,187,114,4,11,59,97,98,99,102,104,108,112,115,116,119,15721,15723,15727,15739,15742,15746,15750,15754,15758,15763,15767,1,8594,112,59,1,10613,4,2,59,102,15733,15735,1,8677,115,59,1,10528,59,1,10547,115,59,1,10526,107,59,1,8618,112,59,1,8620,108,59,1,10565,105,109,59,1,10612,108,59,1,8611,59,1,8605,4,2,97,105,15776,15781,105,108,59,1,10522,111,4,2,59,110,15788,15790,1,8758,97,108,115,59,1,8474,4,3,97,98,114,15804,15809,15814,114,114,59,1,10509,114,107,59,1,10099,4,2,97,107,15820,15833,99,4,2,101,107,15827,15830,59,1,125,59,1,93,4,2,101,115,15839,15842,59,1,10636,108,4,2,100,117,15849,15852,59,1,10638,59,1,10640,4,4,97,101,117,121,15865,15871,15886,15890,114,111,110,59,1,345,4,2,100,105,15877,15882,105,108,59,1,343,108,59,1,8969,98,59,1,125,59,1,1088,4,4,99,108,113,115,15903,15907,15914,15927,97,59,1,10551,100,104,97,114,59,1,10601,117,111,4,2,59,114,15922,15924,1,8221,59,1,8221,104,59,1,8627,4,3,97,99,103,15939,15966,15970,108,4,4,59,105,112,115,15950,15952,15957,15963,1,8476,110,101,59,1,8475,97,114,116,59,1,8476,59,1,8477,116,59,1,9645,5,174,1,59,15975,1,174,4,3,105,108,114,15985,15991,15997,115,104,116,59,1,10621,111,111,114,59,1,8971,59,3,55349,56623,4,2,97,111,16007,16028,114,4,2,100,117,16014,16017,59,1,8641,4,2,59,108,16023,16025,1,8640,59,1,10604,4,2,59,118,16034,16036,1,961,59,1,1009,4,3,103,110,115,16047,16167,16171,104,116,4,6,97,104,108,114,115,116,16063,16081,16103,16130,16143,16155,114,114,111,119,4,2,59,116,16073,16075,1,8594,97,105,108,59,1,8611,97,114,112,111,111,110,4,2,100,117,16093,16099,111,119,110,59,1,8641,112,59,1,8640,101,102,116,4,2,97,104,16112,16120,114,114,111,119,115,59,1,8644,97,114,112,111,111,110,115,59,1,8652,105,103,104,116,97,114,114,111,119,115,59,1,8649,113,117,105,103,97,114,114,111,119,59,1,8605,104,114,101,101,116,105,109,101,115,59,1,8908,103,59,1,730,105,110,103,100,111,116,115,101,113,59,1,8787,4,3,97,104,109,16191,16196,16201,114,114,59,1,8644,97,114,59,1,8652,59,1,8207,111,117,115,116,4,2,59,97,16214,16216,1,9137,99,104,101,59,1,9137,109,105,100,59,1,10990,4,4,97,98,112,116,16238,16252,16257,16278,4,2,110,114,16244,16248,103,59,1,10221,114,59,1,8702,114,107,59,1,10215,4,3,97,102,108,16265,16269,16273,114,59,1,10630,59,3,55349,56675,117,115,59,1,10798,105,109,101,115,59,1,10805,4,2,97,112,16291,16304,114,4,2,59,103,16298,16300,1,41,116,59,1,10644,111,108,105,110,116,59,1,10770,97,114,114,59,1,8649,4,4,97,99,104,113,16328,16334,16339,16342,113,117,111,59,1,8250,114,59,3,55349,56519,59,1,8625,4,2,98,117,16348,16351,59,1,93,111,4,2,59,114,16358,16360,1,8217,59,1,8217,4,3,104,105,114,16371,16377,16383,114,101,101,59,1,8908,109,101,115,59,1,8906,105,4,4,59,101,102,108,16394,16396,16399,16402,1,9657,59,1,8885,59,1,9656,116,114,105,59,1,10702,108,117,104,97,114,59,1,10600,59,1,8478,4,19,97,98,99,100,101,102,104,105,108,109,111,112,113,114,115,116,117,119,122,16459,16466,16472,16572,16590,16672,16687,16746,16844,16850,16924,16963,16988,17115,17121,17154,17206,17614,17656,99,117,116,101,59,1,347,113,117,111,59,1,8218,4,10,59,69,97,99,101,105,110,112,115,121,16494,16496,16499,16513,16518,16531,16536,16556,16564,16569,1,8827,59,1,10932,4,2,112,114,16505,16508,59,1,10936,111,110,59,1,353,117,101,59,1,8829,4,2,59,100,16524,16526,1,10928,105,108,59,1,351,114,99,59,1,349,4,3,69,97,115,16544,16547,16551,59,1,10934,112,59,1,10938,105,109,59,1,8937,111,108,105,110,116,59,1,10771,105,109,59,1,8831,59,1,1089,111,116,4,3,59,98,101,16582,16584,16587,1,8901,59,1,8865,59,1,10854,4,7,65,97,99,109,115,116,120,16606,16611,16634,16642,16646,16652,16668,114,114,59,1,8664,114,4,2,104,114,16618,16622,107,59,1,10533,4,2,59,111,16628,16630,1,8600,119,59,1,8600,116,5,167,1,59,16640,1,167,105,59,1,59,119,97,114,59,1,10537,109,4,2,105,110,16659,16665,110,117,115,59,1,8726,59,1,8726,116,59,1,10038,114,4,2,59,111,16679,16682,3,55349,56624,119,110,59,1,8994,4,4,97,99,111,121,16697,16702,16716,16739,114,112,59,1,9839,4,2,104,121,16708,16713,99,121,59,1,1097,59,1,1096,114,116,4,2,109,112,16724,16729,105,100,59,1,8739,97,114,97,108,108,101,108,59,1,8741,5,173,1,59,16744,1,173,4,2,103,109,16752,16770,109,97,4,3,59,102,118,16762,16764,16767,1,963,59,1,962,59,1,962,4,8,59,100,101,103,108,110,112,114,16788,16790,16795,16806,16817,16828,16832,16838,1,8764,111,116,59,1,10858,4,2,59,113,16801,16803,1,8771,59,1,8771,4,2,59,69,16812,16814,1,10910,59,1,10912,4,2,59,69,16823,16825,1,10909,59,1,10911,101,59,1,8774,108,117,115,59,1,10788,97,114,114,59,1,10610,97,114,114,59,1,8592,4,4,97,101,105,116,16860,16883,16891,16904,4,2,108,115,16866,16878,108,115,101,116,109,105,110,117,115,59,1,8726,104,112,59,1,10803,112,97,114,115,108,59,1,10724,4,2,100,108,16897,16900,59,1,8739,101,59,1,8995,4,2,59,101,16910,16912,1,10922,4,2,59,115,16918,16920,1,10924,59,3,10924,65024,4,3,102,108,112,16932,16938,16958,116,99,121,59,1,1100,4,2,59,98,16944,16946,1,47,4,2,59,97,16952,16954,1,10692,114,59,1,9023,102,59,3,55349,56676,97,4,2,100,114,16970,16985,101,115,4,2,59,117,16978,16980,1,9824,105,116,59,1,9824,59,1,8741,4,3,99,115,117,16996,17028,17089,4,2,97,117,17002,17015,112,4,2,59,115,17009,17011,1,8851,59,3,8851,65024,112,4,2,59,115,17022,17024,1,8852,59,3,8852,65024,117,4,2,98,112,17035,17062,4,3,59,101,115,17043,17045,17048,1,8847,59,1,8849,101,116,4,2,59,101,17056,17058,1,8847,113,59,1,8849,4,3,59,101,115,17070,17072,17075,1,8848,59,1,8850,101,116,4,2,59,101,17083,17085,1,8848,113,59,1,8850,4,3,59,97,102,17097,17099,17112,1,9633,114,4,2,101,102,17106,17109,59,1,9633,59,1,9642,59,1,9642,97,114,114,59,1,8594,4,4,99,101,109,116,17131,17136,17142,17148,114,59,3,55349,56520,116,109,110,59,1,8726,105,108,101,59,1,8995,97,114,102,59,1,8902,4,2,97,114,17160,17172,114,4,2,59,102,17167,17169,1,9734,59,1,9733,4,2,97,110,17178,17202,105,103,104,116,4,2,101,112,17188,17197,112,115,105,108,111,110,59,1,1013,104,105,59,1,981,115,59,1,175,4,5,98,99,109,110,112,17218,17351,17420,17423,17427,4,9,59,69,100,101,109,110,112,114,115,17238,17240,17243,17248,17261,17267,17279,17285,17291,1,8834,59,1,10949,111,116,59,1,10941,4,2,59,100,17254,17256,1,8838,111,116,59,1,10947,117,108,116,59,1,10945,4,2,69,101,17273,17276,59,1,10955,59,1,8842,108,117,115,59,1,10943,97,114,114,59,1,10617,4,3,101,105,117,17299,17335,17339,116,4,3,59,101,110,17308,17310,17322,1,8834,113,4,2,59,113,17317,17319,1,8838,59,1,10949,101,113,4,2,59,113,17330,17332,1,8842,59,1,10955,109,59,1,10951,4,2,98,112,17345,17348,59,1,10965,59,1,10963,99,4,6,59,97,99,101,110,115,17366,17368,17376,17385,17389,17415,1,8827,112,112,114,111,120,59,1,10936,117,114,108,121,101,113,59,1,8829,113,59,1,10928,4,3,97,101,115,17397,17405,17410,112,112,114,111,120,59,1,10938,113,113,59,1,10934,105,109,59,1,8937,105,109,59,1,8831,59,1,8721,103,59,1,9834,4,13,49,50,51,59,69,100,101,104,108,109,110,112,115,17455,17462,17469,17476,17478,17481,17496,17509,17524,17530,17536,17548,17554,5,185,1,59,17460,1,185,5,178,1,59,17467,1,178,5,179,1,59,17474,1,179,1,8835,59,1,10950,4,2,111,115,17487,17491,116,59,1,10942,117,98,59,1,10968,4,2,59,100,17502,17504,1,8839,111,116,59,1,10948,115,4,2,111,117,17516,17520,108,59,1,10185,98,59,1,10967,97,114,114,59,1,10619,117,108,116,59,1,10946,4,2,69,101,17542,17545,59,1,10956,59,1,8843,108,117,115,59,1,10944,4,3,101,105,117,17562,17598,17602,116,4,3,59,101,110,17571,17573,17585,1,8835,113,4,2,59,113,17580,17582,1,8839,59,1,10950,101,113,4,2,59,113,17593,17595,1,8843,59,1,10956,109,59,1,10952,4,2,98,112,17608,17611,59,1,10964,59,1,10966,4,3,65,97,110,17622,17627,17650,114,114,59,1,8665,114,4,2,104,114,17634,17638,107,59,1,10534,4,2,59,111,17644,17646,1,8601,119,59,1,8601,119,97,114,59,1,10538,108,105,103,5,223,1,59,17664,1,223,4,13,97,98,99,100,101,102,104,105,111,112,114,115,119,17694,17709,17714,17737,17742,17749,17754,17860,17905,17957,17964,18090,18122,4,2,114,117,17700,17706,103,101,116,59,1,8982,59,1,964,114,107,59,1,9140,4,3,97,101,121,17722,17728,17734,114,111,110,59,1,357,100,105,108,59,1,355,59,1,1090,111,116,59,1,8411,108,114,101,99,59,1,8981,114,59,3,55349,56625,4,4,101,105,107,111,17764,17805,17836,17851,4,2,114,116,17770,17786,101,4,2,52,102,17777,17780,59,1,8756,111,114,101,59,1,8756,97,4,3,59,115,118,17795,17797,17802,1,952,121,109,59,1,977,59,1,977,4,2,99,110,17811,17831,107,4,2,97,115,17818,17826,112,112,114,111,120,59,1,8776,105,109,59,1,8764,115,112,59,1,8201,4,2,97,115,17842,17846,112,59,1,8776,105,109,59,1,8764,114,110,5,254,1,59,17858,1,254,4,3,108,109,110,17868,17873,17901,100,101,59,1,732,101,115,5,215,3,59,98,100,17884,17886,17898,1,215,4,2,59,97,17892,17894,1,8864,114,59,1,10801,59,1,10800,116,59,1,8749,4,3,101,112,115,17913,17917,17953,97,59,1,10536,4,4,59,98,99,102,17927,17929,17934,17939,1,8868,111,116,59,1,9014,105,114,59,1,10993,4,2,59,111,17945,17948,3,55349,56677,114,107,59,1,10970,97,59,1,10537,114,105,109,101,59,1,8244,4,3,97,105,112,17972,17977,18082,100,101,59,1,8482,4,7,97,100,101,109,112,115,116,17993,18051,18056,18059,18066,18072,18076,110,103,108,101,4,5,59,100,108,113,114,18009,18011,18017,18032,18035,1,9653,111,119,110,59,1,9663,101,102,116,4,2,59,101,18026,18028,1,9667,113,59,1,8884,59,1,8796,105,103,104,116,4,2,59,101,18045,18047,1,9657,113,59,1,8885,111,116,59,1,9708,59,1,8796,105,110,117,115,59,1,10810,108,117,115,59,1,10809,98,59,1,10701,105,109,101,59,1,10811,101,122,105,117,109,59,1,9186,4,3,99,104,116,18098,18111,18116,4,2,114,121,18104,18108,59,3,55349,56521,59,1,1094,99,121,59,1,1115,114,111,107,59,1,359,4,2,105,111,18128,18133,120,116,59,1,8812,104,101,97,100,4,2,108,114,18143,18154,101,102,116,97,114,114,111,119,59,1,8606,105,103,104,116,97,114,114,111,119,59,1,8608,4,18,65,72,97,98,99,100,102,103,104,108,109,111,112,114,115,116,117,119,18204,18209,18214,18234,18250,18268,18292,18308,18319,18343,18379,18397,18413,18504,18547,18553,18584,18603,114,114,59,1,8657,97,114,59,1,10595,4,2,99,114,18220,18230,117,116,101,5,250,1,59,18228,1,250,114,59,1,8593,114,4,2,99,101,18241,18245,121,59,1,1118,118,101,59,1,365,4,2,105,121,18256,18265,114,99,5,251,1,59,18263,1,251,59,1,1091,4,3,97,98,104,18276,18281,18287,114,114,59,1,8645,108,97,99,59,1,369,97,114,59,1,10606,4,2,105,114,18298,18304,115,104,116,59,1,10622,59,3,55349,56626,114,97,118,101,5,249,1,59,18317,1,249,4,2,97,98,18325,18338,114,4,2,108,114,18332,18335,59,1,8639,59,1,8638,108,107,59,1,9600,4,2,99,116,18349,18374,4,2,111,114,18355,18369,114,110,4,2,59,101,18363,18365,1,8988,114,59,1,8988,111,112,59,1,8975,114,105,59,1,9720,4,2,97,108,18385,18390,99,114,59,1,363,5,168,1,59,18395,1,168,4,2,103,112,18403,18408,111,110,59,1,371,102,59,3,55349,56678,4,6,97,100,104,108,115,117,18427,18434,18445,18470,18475,18494,114,114,111,119,59,1,8593,111,119,110,97,114,114,111,119,59,1,8597,97,114,112,111,111,110,4,2,108,114,18457,18463,101,102,116,59,1,8639,105,103,104,116,59,1,8638,117,115,59,1,8846,105,4,3,59,104,108,18484,18486,18489,1,965,59,1,978,111,110,59,1,965,112,97,114,114,111,119,115,59,1,8648,4,3,99,105,116,18512,18537,18542,4,2,111,114,18518,18532,114,110,4,2,59,101,18526,18528,1,8989,114,59,1,8989,111,112,59,1,8974,110,103,59,1,367,114,105,59,1,9721,99,114,59,3,55349,56522,4,3,100,105,114,18561,18566,18572,111,116,59,1,8944,108,100,101,59,1,361,105,4,2,59,102,18579,18581,1,9653,59,1,9652,4,2,97,109,18590,18595,114,114,59,1,8648,108,5,252,1,59,18601,1,252,97,110,103,108,101,59,1,10663,4,15,65,66,68,97,99,100,101,102,108,110,111,112,114,115,122,18643,18648,18661,18667,18847,18851,18857,18904,18909,18915,18931,18937,18943,18949,18996,114,114,59,1,8661,97,114,4,2,59,118,18656,18658,1,10984,59,1,10985,97,115,104,59,1,8872,4,2,110,114,18673,18679,103,114,116,59,1,10652,4,7,101,107,110,112,114,115,116,18695,18704,18711,18720,18742,18754,18810,112,115,105,108,111,110,59,1,1013,97,112,112,97,59,1,1008,111,116,104,105,110,103,59,1,8709,4,3,104,105,114,18728,18732,18735,105,59,1,981,59,1,982,111,112,116,111,59,1,8733,4,2,59,104,18748,18750,1,8597,111,59,1,1009,4,2,105,117,18760,18766,103,109,97,59,1,962,4,2,98,112,18772,18791,115,101,116,110,101,113,4,2,59,113,18784,18787,3,8842,65024,59,3,10955,65024,115,101,116,110,101,113,4,2,59,113,18803,18806,3,8843,65024,59,3,10956,65024,4,2,104,114,18816,18822,101,116,97,59,1,977,105,97,110,103,108,101,4,2,108,114,18834,18840,101,102,116,59,1,8882,105,103,104,116,59,1,8883,121,59,1,1074,97,115,104,59,1,8866,4,3,101,108,114,18865,18884,18890,4,3,59,98,101,18873,18875,18880,1,8744,97,114,59,1,8891,113,59,1,8794,108,105,112,59,1,8942,4,2,98,116,18896,18901,97,114,59,1,124,59,1,124,114,59,3,55349,56627,116,114,105,59,1,8882,115,117,4,2,98,112,18923,18927,59,3,8834,8402,59,3,8835,8402,112,102,59,3,55349,56679,114,111,112,59,1,8733,116,114,105,59,1,8883,4,2,99,117,18955,18960,114,59,3,55349,56523,4,2,98,112,18966,18981,110,4,2,69,101,18973,18977,59,3,10955,65024,59,3,8842,65024,110,4,2,69,101,18988,18992,59,3,10956,65024,59,3,8843,65024,105,103,122,97,103,59,1,10650,4,7,99,101,102,111,112,114,115,19020,19026,19061,19066,19072,19075,19089,105,114,99,59,1,373,4,2,100,105,19032,19055,4,2,98,103,19038,19043,97,114,59,1,10847,101,4,2,59,113,19050,19052,1,8743,59,1,8793,101,114,112,59,1,8472,114,59,3,55349,56628,112,102,59,3,55349,56680,59,1,8472,4,2,59,101,19081,19083,1,8768,97,116,104,59,1,8768,99,114,59,3,55349,56524,4,14,99,100,102,104,105,108,109,110,111,114,115,117,118,119,19125,19146,19152,19157,19173,19176,19192,19197,19202,19236,19252,19269,19286,19291,4,3,97,105,117,19133,19137,19142,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,116,114,105,59,1,9661,114,59,3,55349,56629,4,2,65,97,19163,19168,114,114,59,1,10234,114,114,59,1,10231,59,1,958,4,2,65,97,19182,19187,114,114,59,1,10232,114,114,59,1,10229,97,112,59,1,10236,105,115,59,1,8955,4,3,100,112,116,19210,19215,19230,111,116,59,1,10752,4,2,102,108,19221,19225,59,3,55349,56681,117,115,59,1,10753,105,109,101,59,1,10754,4,2,65,97,19242,19247,114,114,59,1,10233,114,114,59,1,10230,4,2,99,113,19258,19263,114,59,3,55349,56525,99,117,112,59,1,10758,4,2,112,116,19275,19281,108,117,115,59,1,10756,114,105,59,1,9651,101,101,59,1,8897,101,100,103,101,59,1,8896,4,8,97,99,101,102,105,111,115,117,19316,19335,19349,19357,19362,19367,19373,19379,99,4,2,117,121,19323,19332,116,101,5,253,1,59,19330,1,253,59,1,1103,4,2,105,121,19341,19346,114,99,59,1,375,59,1,1099,110,5,165,1,59,19355,1,165,114,59,3,55349,56630,99,121,59,1,1111,112,102,59,3,55349,56682,99,114,59,3,55349,56526,4,2,99,109,19385,19389,121,59,1,1102,108,5,255,1,59,19395,1,255,4,10,97,99,100,101,102,104,105,111,115,119,19419,19426,19441,19446,19462,19467,19472,19480,19486,19492,99,117,116,101,59,1,378,4,2,97,121,19432,19438,114,111,110,59,1,382,59,1,1079,111,116,59,1,380,4,2,101,116,19452,19458,116,114,102,59,1,8488,97,59,1,950,114,59,3,55349,56631,99,121,59,1,1078,103,114,97,114,114,59,1,8669,112,102,59,3,55349,56683,99,114,59,3,55349,56527,4,2,106,110,19498,19501,59,1,8205,106,59,1,8204])},147:function(e,t,n){"use strict";var r=n(6690).default,a=n(9728).default,i=n(4529),o=n(4551),s=i.CODE_POINTS,l=function(){function e(){r(this,e),this.html=null,this.pos=-1,this.lastGapPos=-1,this.lastCharPos=-1,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=65536}return a(e,[{key:"_err",value:function(){}},{key:"_addGap",value:function(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}},{key:"_processSurrogate",value:function(e){if(this.pos!==this.lastCharPos){var t=this.html.charCodeAt(this.pos+1);if(i.isSurrogatePair(t))return this.pos++,this._addGap(),i.getSurrogatePairCodePoint(e,t)}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,s.EOF;return this._err(o.surrogateInInputStream),e}},{key:"dropParsedChunk",value:function(){this.pos>this.bufferWaterline&&(this.lastCharPos-=this.pos,this.html=this.html.substring(this.pos),this.pos=0,this.lastGapPos=-1,this.gapStack=[])}},{key:"write",value:function(e,t){this.html?this.html+=e:this.html=e,this.lastCharPos=this.html.length-1,this.endOfChunkHit=!1,this.lastChunkWritten=t}},{key:"insertHtmlAtCurrentPos",value:function(e){this.html=this.html.substring(0,this.pos+1)+e+this.html.substring(this.pos+1,this.html.length),this.lastCharPos=this.html.length-1,this.endOfChunkHit=!1}},{key:"advance",value:function(){if(this.pos++,this.pos>this.lastCharPos)return this.endOfChunkHit=!this.lastChunkWritten,s.EOF;var e=this.html.charCodeAt(this.pos);return this.skipNextNewLine&&e===s.LINE_FEED?(this.skipNextNewLine=!1,this._addGap(),this.advance()):e===s.CARRIAGE_RETURN?(this.skipNextNewLine=!0,s.LINE_FEED):(this.skipNextNewLine=!1,i.isSurrogate(e)&&(e=this._processSurrogate(e)),e>31&&e<127||e===s.LINE_FEED||e===s.CARRIAGE_RETURN||e>159&&e<64976||this._checkForProblematicCharacters(e),e)}},{key:"_checkForProblematicCharacters",value:function(e){i.isControlCodePoint(e)?this._err(o.controlCharacterInInputStream):i.isUndefinedCodePoint(e)&&this._err(o.noncharacterInInputStream)}},{key:"retreat",value:function(){this.pos===this.lastGapPos&&(this.lastGapPos=this.gapStack.pop(),this.pos--),this.pos--}}]),e}();e.exports=l},3860:function(e,t,n){"use strict";var r=n(9539).DOCUMENT_MODE;t.createDocument=function(){return{nodeName:"#document",mode:r.NO_QUIRKS,childNodes:[]}},t.createDocumentFragment=function(){return{nodeName:"#document-fragment",childNodes:[]}},t.createElement=function(e,t,n){return{nodeName:e,tagName:e,attrs:n,namespaceURI:t,childNodes:[],parentNode:null}},t.createCommentNode=function(e){return{nodeName:"#comment",data:e,parentNode:null}};var a=function(e){return{nodeName:"#text",value:e,parentNode:null}},i=t.appendChild=function(e,t){e.childNodes.push(t),t.parentNode=e},o=t.insertBefore=function(e,t,n){var r=e.childNodes.indexOf(n);e.childNodes.splice(r,0,t),t.parentNode=e};t.setTemplateContent=function(e,t){e.content=t},t.getTemplateContent=function(e){return e.content},t.setDocumentType=function(e,t,n,r){for(var a=null,o=0;o<e.childNodes.length;o++)if("#documentType"===e.childNodes[o].nodeName){a=e.childNodes[o];break}a?(a.name=t,a.publicId=n,a.systemId=r):i(e,{nodeName:"#documentType",name:t,publicId:n,systemId:r})},t.setDocumentMode=function(e,t){e.mode=t},t.getDocumentMode=function(e){return e.mode},t.detachNode=function(e){if(e.parentNode){var t=e.parentNode.childNodes.indexOf(e);e.parentNode.childNodes.splice(t,1),e.parentNode=null}},t.insertText=function(e,t){if(e.childNodes.length){var n=e.childNodes[e.childNodes.length-1];if("#text"===n.nodeName)return void(n.value+=t)}i(e,a(t))},t.insertTextBefore=function(e,t,n){var r=e.childNodes[e.childNodes.indexOf(n)-1];r&&"#text"===r.nodeName?r.value+=t:o(e,a(t),n)},t.adoptAttributes=function(e,t){for(var n=[],r=0;r<e.attrs.length;r++)n.push(e.attrs[r].name);for(var a=0;a<t.length;a++)-1===n.indexOf(t[a].name)&&e.attrs.push(t[a])},t.getFirstChild=function(e){return e.childNodes[0]},t.getChildNodes=function(e){return e.childNodes},t.getParentNode=function(e){return e.parentNode},t.getAttrList=function(e){return e.attrs},t.getTagName=function(e){return e.tagName},t.getNamespaceURI=function(e){return e.namespaceURI},t.getTextNodeContent=function(e){return e.value},t.getCommentNodeContent=function(e){return e.data},t.getDocumentTypeNodeName=function(e){return e.name},t.getDocumentTypeNodePublicId=function(e){return e.publicId},t.getDocumentTypeNodeSystemId=function(e){return e.systemId},t.isTextNode=function(e){return"#text"===e.nodeName},t.isCommentNode=function(e){return"#comment"===e.nodeName},t.isDocumentTypeNode=function(e){return"#documentType"===e.nodeName},t.isElementNode=function(e){return!!e.tagName},t.setNodeSourceCodeLocation=function(e,t){e.sourceCodeLocation=t},t.getNodeSourceCodeLocation=function(e){return e.sourceCodeLocation},t.updateNodeSourceCodeLocation=function(e,t){e.sourceCodeLocation=Object.assign(e.sourceCodeLocation,t)}},3874:function(e){"use strict";e.exports=function(e,t){return[e,t=t||Object.create(null)].reduce((function(e,t){return Object.keys(t).forEach((function(n){e[n]=t[n]})),e}),Object.create(null))}},1458:function(e,t,n){"use strict";var r=n(6690).default,a=n(9728).default,i=function(){function e(t){r(this,e);for(var n={},a=this._getOverriddenMethods(this,n),i=0,o=Object.keys(a);i<o.length;i++){var s=o[i];"function"===typeof a[s]&&(n[s]=t[s],t[s]=a[s])}}return a(e,[{key:"_getOverriddenMethods",value:function(){throw new Error("Not implemented")}}]),e}();i.install=function(e,t,n){e.__mixins||(e.__mixins=[]);for(var r=0;r<e.__mixins.length;r++)if(e.__mixins[r].constructor===t)return e.__mixins[r];var a=new t(e,n);return e.__mixins.push(a),a},e.exports=i},888:function(e,t,n){"use strict";var r=n(9047);function a(){}function i(){}i.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,i,o){if(o!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:a};return n.PropTypes=n,n}},2007:function(e,t,n){e.exports=n(888)()},9047:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4463:function(e,t,n){"use strict";var r=n(2791),a=n(5296);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var o=new Set,s={};function l(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(s[e]=t,e=0;e<t.length;e++)o.add(t[e])}var u=!("undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement),d=Object.prototype.hasOwnProperty,p=/^[: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][: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]*$/,m={},f={};function g(e,t,n,r,a,i,o){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var h={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){h[e]=new g(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];h[t]=new g(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){h[e]=new g(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){h[e]=new g(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){h[e]=new g(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){h[e]=new g(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){h[e]=new g(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){h[e]=new g(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){h[e]=new g(e,5,!1,e.toLowerCase(),null,!1,!1)}));var b=/[\-:]([a-z])/g;function E(e){return e[1].toUpperCase()}function y(e,t,n,r){var a=h.hasOwnProperty(t)?h[t]:null;(null!==a?0!==a.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,r){if(null===t||"undefined"===typeof t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,a,r)&&(n=null),r||null===a?function(e){return!!d.call(f,e)||!d.call(m,e)&&(p.test(e)?f[e]=!0:(m[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):a.mustUseProperty?e[a.propertyName]=null===n?3!==a.type&&"":n:(t=a.attributeName,r=a.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(a=a.type)||4===a&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(b,E);h[t]=new g(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(b,E);h[t]=new g(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(b,E);h[t]=new g(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){h[e]=new g(e,1,!1,e.toLowerCase(),null,!1,!1)})),h.xlinkHref=new g("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){h[e]=new g(e,1,!1,e.toLowerCase(),null,!0,!0)}));var T=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,S=Symbol.for("react.element"),v=Symbol.for("react.portal"),A=Symbol.for("react.fragment"),_=Symbol.for("react.strict_mode"),k=Symbol.for("react.profiler"),C=Symbol.for("react.provider"),w=Symbol.for("react.context"),N=Symbol.for("react.forward_ref"),I=Symbol.for("react.suspense"),R=Symbol.for("react.suspense_list"),x=Symbol.for("react.memo"),O=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var L=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var P=Symbol.iterator;function D(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=P&&e[P]||e["@@iterator"])?e:null}var M,F=Object.assign;function U(e){if(void 0===M)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);M=t&&t[1]||""}return"\n"+M+e}var B=!1;function G(e,t){if(!e||B)return"";B=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"===typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(c){var r=c}Reflect.construct(e,[],t)}else{try{t.call()}catch(c){r=c}e.call(t.prototype)}else{try{throw Error()}catch(c){r=c}e()}}catch(c){if(c&&r&&"string"===typeof c.stack){for(var a=c.stack.split("\n"),i=r.stack.split("\n"),o=a.length-1,s=i.length-1;1<=o&&0<=s&&a[o]!==i[s];)s--;for(;1<=o&&0<=s;o--,s--)if(a[o]!==i[s]){if(1!==o||1!==s)do{if(o--,0>--s||a[o]!==i[s]){var l="\n"+a[o].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}}while(1<=o&&0<=s);break}}}finally{B=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?U(e):""}function H(e){switch(e.tag){case 5:return U(e.type);case 16:return U("Lazy");case 13:return U("Suspense");case 19:return U("SuspenseList");case 0:case 2:case 15:return e=G(e.type,!1);case 11:return e=G(e.type.render,!1);case 1:return e=G(e.type,!0);default:return""}}function z(e){if(null==e)return null;if("function"===typeof e)return e.displayName||e.name||null;if("string"===typeof e)return e;switch(e){case A:return"Fragment";case v:return"Portal";case k:return"Profiler";case _:return"StrictMode";case I:return"Suspense";case R:return"SuspenseList"}if("object"===typeof e)switch(e.$$typeof){case w:return(e.displayName||"Context")+".Consumer";case C:return(e._context.displayName||"Context")+".Provider";case N:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case x:return null!==(t=e.displayName||null)?t:z(e.type)||"Memo";case O:t=e._payload,e=e._init;try{return z(e(t))}catch(n){}}return null}function $(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return z(t);case 8:return t===_?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"===typeof t)return t.displayName||t.name||null;if("string"===typeof t)return t}return null}function j(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function V(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function W(e){e._valueTracker||(e._valueTracker=function(e){var t=V(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&"undefined"!==typeof n&&"function"===typeof n.get&&"function"===typeof n.set){var a=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){r=""+e,i.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function K(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=V(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function q(e){if("undefined"===typeof(e=e||("undefined"!==typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Y(e,t){var n=t.checked;return F({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function X(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=j(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function Z(e,t){null!=(t=t.checked)&&y(e,"checked",t,!1)}function Q(e,t){Z(e,t);var n=j(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,j(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function J(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&q(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(n=""+j(n),t=null,a=0;a<e.length;a++){if(e[a].value===n)return e[a].selected=!0,void(r&&(e[a].defaultSelected=!0));null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function re(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(i(91));return F({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function ae(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(i(92));if(te(n)){if(1<n.length)throw Error(i(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:j(n)}}function ie(e,t){var n=j(t.value),r=j(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function oe(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function se(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function le(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?se(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ce,ue,de=(ue=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ce=ce||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ce.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return ue(e,t)}))}:ue);function pe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var me={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},fe=["Webkit","ms","Moz","O"];function ge(e,t,n){return null==t||"boolean"===typeof t||""===t?"":n||"number"!==typeof t||0===t||me.hasOwnProperty(e)&&me[e]?(""+t).trim():t+"px"}function he(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),a=ge(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}Object.keys(me).forEach((function(e){fe.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),me[t]=me[e]}))}));var be=F({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Ee(e,t){if(t){if(be[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(i(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(i(60));if("object"!==typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(i(61))}if(null!=t.style&&"object"!==typeof t.style)throw Error(i(62))}}function ye(e,t){if(-1===e.indexOf("-"))return"string"===typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Te=null;function Se(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var ve=null,Ae=null,_e=null;function ke(e){if(e=ya(e)){if("function"!==typeof ve)throw Error(i(280));var t=e.stateNode;t&&(t=Sa(t),ve(e.stateNode,e.type,t))}}function Ce(e){Ae?_e?_e.push(e):_e=[e]:Ae=e}function we(){if(Ae){var e=Ae,t=_e;if(_e=Ae=null,ke(e),t)for(e=0;e<t.length;e++)ke(t[e])}}function Ne(e,t){return e(t)}function Ie(){}var Re=!1;function xe(e,t,n){if(Re)return e(t,n);Re=!0;try{return Ne(e,t,n)}finally{Re=!1,(null!==Ae||null!==_e)&&(Ie(),we())}}function Oe(e,t){var n=e.stateNode;if(null===n)return null;var r=Sa(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!==typeof n)throw Error(i(231,t,typeof n));return n}var Le=!1;if(u)try{var Pe={};Object.defineProperty(Pe,"passive",{get:function(){Le=!0}}),window.addEventListener("test",Pe,Pe),window.removeEventListener("test",Pe,Pe)}catch(ue){Le=!1}function De(e,t,n,r,a,i,o,s,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(u){this.onError(u)}}var Me=!1,Fe=null,Ue=!1,Be=null,Ge={onError:function(e){Me=!0,Fe=e}};function He(e,t,n,r,a,i,o,s,l){Me=!1,Fe=null,De.apply(Ge,arguments)}function ze(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!==(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function $e(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function je(e){if(ze(e)!==e)throw Error(i(188))}function Ve(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=ze(e)))throw Error(i(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(null===a)break;var o=a.alternate;if(null===o){if(null!==(r=a.return)){n=r;continue}break}if(a.child===o.child){for(o=a.child;o;){if(o===n)return je(a),e;if(o===r)return je(a),t;o=o.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=o;else{for(var s=!1,l=a.child;l;){if(l===n){s=!0,n=a,r=o;break}if(l===r){s=!0,r=a,n=o;break}l=l.sibling}if(!s){for(l=o.child;l;){if(l===n){s=!0,n=o,r=a;break}if(l===r){s=!0,r=o,n=a;break}l=l.sibling}if(!s)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(3!==n.tag)throw Error(i(188));return n.stateNode.current===n?e:t}(e))?We(e):null}function We(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=We(e);if(null!==t)return t;e=e.sibling}return null}var Ke=a.unstable_scheduleCallback,qe=a.unstable_cancelCallback,Ye=a.unstable_shouldYield,Xe=a.unstable_requestPaint,Ze=a.unstable_now,Qe=a.unstable_getCurrentPriorityLevel,Je=a.unstable_ImmediatePriority,et=a.unstable_UserBlockingPriority,tt=a.unstable_NormalPriority,nt=a.unstable_LowPriority,rt=a.unstable_IdlePriority,at=null,it=null;var ot=Math.clz32?Math.clz32:function(e){return 0===(e>>>=0)?32:31-(st(e)/lt|0)|0},st=Math.log,lt=Math.LN2;var ct=64,ut=4194304;function dt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function pt(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,a=e.suspendedLanes,i=e.pingedLanes,o=268435455&n;if(0!==o){var s=o&~a;0!==s?r=dt(s):0!==(i&=o)&&(r=dt(i))}else 0!==(o=n&~a)?r=dt(o):0!==i&&(r=dt(i));if(0===r)return 0;if(0!==t&&t!==r&&0===(t&a)&&((a=r&-r)>=(i=t&-t)||16===a&&0!==(4194240&i)))return t;if(0!==(4&r)&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)a=1<<(n=31-ot(t)),r|=e[n],t&=~a;return r}function mt(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function ft(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function gt(){var e=ct;return 0===(4194240&(ct<<=1))&&(ct=64),e}function ht(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function bt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-ot(t)]=n}function Et(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-ot(n),a=1<<r;a&t|e[r]&t&&(e[r]|=t),n&=~a}}var yt=0;function Tt(e){return 1<(e&=-e)?4<e?0!==(268435455&e)?16:536870912:4:1}var St,vt,At,_t,kt,Ct=!1,wt=[],Nt=null,It=null,Rt=null,xt=new Map,Ot=new Map,Lt=[],Pt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Dt(e,t){switch(e){case"focusin":case"focusout":Nt=null;break;case"dragenter":case"dragleave":It=null;break;case"mouseover":case"mouseout":Rt=null;break;case"pointerover":case"pointerout":xt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Ot.delete(t.pointerId)}}function Mt(e,t,n,r,a,i){return null===e||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:i,targetContainers:[a]},null!==t&&(null!==(t=ya(t))&&vt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a),e)}function Ft(e){var t=Ea(e.target);if(null!==t){var n=ze(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=$e(n)))return e.blockedOn=t,void kt(e.priority,(function(){At(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Ut(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Yt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=ya(n))&&vt(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);Te=r,n.target.dispatchEvent(r),Te=null,t.shift()}return!0}function Bt(e,t,n){Ut(e)&&n.delete(t)}function Gt(){Ct=!1,null!==Nt&&Ut(Nt)&&(Nt=null),null!==It&&Ut(It)&&(It=null),null!==Rt&&Ut(Rt)&&(Rt=null),xt.forEach(Bt),Ot.forEach(Bt)}function Ht(e,t){e.blockedOn===t&&(e.blockedOn=null,Ct||(Ct=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,Gt)))}function zt(e){function t(t){return Ht(t,e)}if(0<wt.length){Ht(wt[0],e);for(var n=1;n<wt.length;n++){var r=wt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==Nt&&Ht(Nt,e),null!==It&&Ht(It,e),null!==Rt&&Ht(Rt,e),xt.forEach(t),Ot.forEach(t),n=0;n<Lt.length;n++)(r=Lt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<Lt.length&&null===(n=Lt[0]).blockedOn;)Ft(n),null===n.blockedOn&&Lt.shift()}var $t=T.ReactCurrentBatchConfig,jt=!0;function Vt(e,t,n,r){var a=yt,i=$t.transition;$t.transition=null;try{yt=1,Kt(e,t,n,r)}finally{yt=a,$t.transition=i}}function Wt(e,t,n,r){var a=yt,i=$t.transition;$t.transition=null;try{yt=4,Kt(e,t,n,r)}finally{yt=a,$t.transition=i}}function Kt(e,t,n,r){if(jt){var a=Yt(e,t,n,r);if(null===a)jr(e,t,r,qt,n),Dt(e,r);else if(function(e,t,n,r,a){switch(t){case"focusin":return Nt=Mt(Nt,e,t,n,r,a),!0;case"dragenter":return It=Mt(It,e,t,n,r,a),!0;case"mouseover":return Rt=Mt(Rt,e,t,n,r,a),!0;case"pointerover":var i=a.pointerId;return xt.set(i,Mt(xt.get(i)||null,e,t,n,r,a)),!0;case"gotpointercapture":return i=a.pointerId,Ot.set(i,Mt(Ot.get(i)||null,e,t,n,r,a)),!0}return!1}(a,e,t,n,r))r.stopPropagation();else if(Dt(e,r),4&t&&-1<Pt.indexOf(e)){for(;null!==a;){var i=ya(a);if(null!==i&&St(i),null===(i=Yt(e,t,n,r))&&jr(e,t,r,qt,n),i===a)break;a=i}null!==a&&r.stopPropagation()}else jr(e,t,r,null,n)}}var qt=null;function Yt(e,t,n,r){if(qt=null,null!==(e=Ea(e=Se(r))))if(null===(t=ze(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=$e(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return qt=e,null}function Xt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Qe()){case Je:return 1;case et:return 4;case tt:case nt:return 16;case rt:return 536870912;default:return 16}default:return 16}}var Zt=null,Qt=null,Jt=null;function en(){if(Jt)return Jt;var e,t,n=Qt,r=n.length,a="value"in Zt?Zt.value:Zt.textContent,i=a.length;for(e=0;e<r&&n[e]===a[e];e++);var o=r-e;for(t=1;t<=o&&n[r-t]===a[i-t];t++);return Jt=a.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function rn(){return!1}function an(e){function t(t,n,r,a,i){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=a,this.target=i,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(a):a[o]);return this.isDefaultPrevented=(null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue)?nn:rn,this.isPropagationStopped=rn,this}return F(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!==typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!==typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var on,sn,ln,cn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},un=an(cn),dn=F({},cn,{view:0,detail:0}),pn=an(dn),mn=F({},dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:kn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ln&&(ln&&"mousemove"===e.type?(on=e.screenX-ln.screenX,sn=e.screenY-ln.screenY):sn=on=0,ln=e),on)},movementY:function(e){return"movementY"in e?e.movementY:sn}}),fn=an(mn),gn=an(F({},mn,{dataTransfer:0})),hn=an(F({},dn,{relatedTarget:0})),bn=an(F({},cn,{animationName:0,elapsedTime:0,pseudoElement:0})),En=F({},cn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),yn=an(En),Tn=an(F({},cn,{data:0})),Sn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},vn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},An={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function _n(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=An[e])&&!!t[e]}function kn(){return _n}var Cn=F({},dn,{key:function(e){if(e.key){var t=Sn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?vn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:kn,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),wn=an(Cn),Nn=an(F({},mn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),In=an(F({},dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:kn})),Rn=an(F({},cn,{propertyName:0,elapsedTime:0,pseudoElement:0})),xn=F({},mn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),On=an(xn),Ln=[9,13,27,32],Pn=u&&"CompositionEvent"in window,Dn=null;u&&"documentMode"in document&&(Dn=document.documentMode);var Mn=u&&"TextEvent"in window&&!Dn,Fn=u&&(!Pn||Dn&&8<Dn&&11>=Dn),Un=String.fromCharCode(32),Bn=!1;function Gn(e,t){switch(e){case"keyup":return-1!==Ln.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Hn(e){return"object"===typeof(e=e.detail)&&"data"in e?e.data:null}var zn=!1;var $n={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function jn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!$n[e.type]:"textarea"===t}function Vn(e,t,n,r){Ce(r),0<(t=Wr(t,"onChange")).length&&(n=new un("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Wn=null,Kn=null;function qn(e){Ur(e,0)}function Yn(e){if(K(Ta(e)))return e}function Xn(e,t){if("change"===e)return t}var Zn=!1;if(u){var Qn;if(u){var Jn="oninput"in document;if(!Jn){var er=document.createElement("div");er.setAttribute("oninput","return;"),Jn="function"===typeof er.oninput}Qn=Jn}else Qn=!1;Zn=Qn&&(!document.documentMode||9<document.documentMode)}function tr(){Wn&&(Wn.detachEvent("onpropertychange",nr),Kn=Wn=null)}function nr(e){if("value"===e.propertyName&&Yn(Kn)){var t=[];Vn(t,Kn,e,Se(e)),xe(qn,t)}}function rr(e,t,n){"focusin"===e?(tr(),Kn=n,(Wn=t).attachEvent("onpropertychange",nr)):"focusout"===e&&tr()}function ar(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Yn(Kn)}function ir(e,t){if("click"===e)return Yn(t)}function or(e,t){if("input"===e||"change"===e)return Yn(t)}var sr="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t};function lr(e,t){if(sr(e,t))return!0;if("object"!==typeof e||null===e||"object"!==typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var a=n[r];if(!d.call(t,a)||!sr(e[a],t[a]))return!1}return!0}function cr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ur(e,t){var n,r=cr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=cr(r)}}function dr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function pr(){for(var e=window,t=q();t instanceof e.HTMLIFrameElement;){try{var n="string"===typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=q((e=t.contentWindow).document)}return t}function mr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function fr(e){var t=pr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&dr(n.ownerDocument.documentElement,n)){if(null!==r&&mr(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var a=n.textContent.length,i=Math.min(r.start,a);r=void 0===r.end?i:Math.min(r.end,a),!e.extend&&i>r&&(a=r,r=i,i=a),a=ur(n,i);var o=ur(n,r);a&&o&&(1!==e.rangeCount||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&((t=t.createRange()).setStart(a.node,a.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"===typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var gr=u&&"documentMode"in document&&11>=document.documentMode,hr=null,br=null,Er=null,yr=!1;function Tr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;yr||null==hr||hr!==q(r)||("selectionStart"in(r=hr)&&mr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},Er&&lr(Er,r)||(Er=r,0<(r=Wr(br,"onSelect")).length&&(t=new un("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=hr)))}function Sr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var vr={animationend:Sr("Animation","AnimationEnd"),animationiteration:Sr("Animation","AnimationIteration"),animationstart:Sr("Animation","AnimationStart"),transitionend:Sr("Transition","TransitionEnd")},Ar={},_r={};function kr(e){if(Ar[e])return Ar[e];if(!vr[e])return e;var t,n=vr[e];for(t in n)if(n.hasOwnProperty(t)&&t in _r)return Ar[e]=n[t];return e}u&&(_r=document.createElement("div").style,"AnimationEvent"in window||(delete vr.animationend.animation,delete vr.animationiteration.animation,delete vr.animationstart.animation),"TransitionEvent"in window||delete vr.transitionend.transition);var Cr=kr("animationend"),wr=kr("animationiteration"),Nr=kr("animationstart"),Ir=kr("transitionend"),Rr=new Map,xr="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Or(e,t){Rr.set(e,t),l(t,[e])}for(var Lr=0;Lr<xr.length;Lr++){var Pr=xr[Lr];Or(Pr.toLowerCase(),"on"+(Pr[0].toUpperCase()+Pr.slice(1)))}Or(Cr,"onAnimationEnd"),Or(wr,"onAnimationIteration"),Or(Nr,"onAnimationStart"),Or("dblclick","onDoubleClick"),Or("focusin","onFocus"),Or("focusout","onBlur"),Or(Ir,"onTransitionEnd"),c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),l("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),l("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),l("onBeforeInput",["compositionend","keypress","textInput","paste"]),l("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Dr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Mr=new Set("cancel close invalid load scroll toggle".split(" ").concat(Dr));function Fr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,a,o,s,l,c){if(He.apply(this,arguments),Me){if(!Me)throw Error(i(198));var u=Fe;Me=!1,Fe=null,Ue||(Ue=!0,Be=u)}}(r,t,void 0,e),e.currentTarget=null}function Ur(e,t){t=0!==(4&t);for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var i=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],l=s.instance,c=s.currentTarget;if(s=s.listener,l!==i&&a.isPropagationStopped())break e;Fr(a,s,c),i=l}else for(o=0;o<r.length;o++){if(l=(s=r[o]).instance,c=s.currentTarget,s=s.listener,l!==i&&a.isPropagationStopped())break e;Fr(a,s,c),i=l}}}if(Ue)throw e=Be,Ue=!1,Be=null,e}function Br(e,t){var n=t[ga];void 0===n&&(n=t[ga]=new Set);var r=e+"__bubble";n.has(r)||($r(t,e,2,!1),n.add(r))}function Gr(e,t,n){var r=0;t&&(r|=4),$r(n,e,r,t)}var Hr="_reactListening"+Math.random().toString(36).slice(2);function zr(e){if(!e[Hr]){e[Hr]=!0,o.forEach((function(t){"selectionchange"!==t&&(Mr.has(t)||Gr(t,!1,e),Gr(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Hr]||(t[Hr]=!0,Gr("selectionchange",!1,t))}}function $r(e,t,n,r){switch(Xt(t)){case 1:var a=Vt;break;case 4:a=Wt;break;default:a=Kt}n=a.bind(null,t,n,e),a=void 0,!Le||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(a=!0),r?void 0!==a?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):void 0!==a?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function jr(e,t,n,r,a){var i=r;if(0===(1&t)&&0===(2&t)&&null!==r)e:for(;;){if(null===r)return;var o=r.tag;if(3===o||4===o){var s=r.stateNode.containerInfo;if(s===a||8===s.nodeType&&s.parentNode===a)break;if(4===o)for(o=r.return;null!==o;){var l=o.tag;if((3===l||4===l)&&((l=o.stateNode.containerInfo)===a||8===l.nodeType&&l.parentNode===a))return;o=o.return}for(;null!==s;){if(null===(o=Ea(s)))return;if(5===(l=o.tag)||6===l){r=i=o;continue e}s=s.parentNode}}r=r.return}xe((function(){var r=i,a=Se(n),o=[];e:{var s=Rr.get(e);if(void 0!==s){var l=un,c=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":l=wn;break;case"focusin":c="focus",l=hn;break;case"focusout":c="blur",l=hn;break;case"beforeblur":case"afterblur":l=hn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=fn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=gn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=In;break;case Cr:case wr:case Nr:l=bn;break;case Ir:l=Rn;break;case"scroll":l=pn;break;case"wheel":l=On;break;case"copy":case"cut":case"paste":l=yn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=Nn}var u=0!==(4&t),d=!u&&"scroll"===e,p=u?null!==s?s+"Capture":null:s;u=[];for(var m,f=r;null!==f;){var g=(m=f).stateNode;if(5===m.tag&&null!==g&&(m=g,null!==p&&(null!=(g=Oe(f,p))&&u.push(Vr(f,g,m)))),d)break;f=f.return}0<u.length&&(s=new l(s,c,null,n,a),o.push({event:s,listeners:u}))}}if(0===(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(s="mouseover"===e||"pointerover"===e)||n===Te||!(c=n.relatedTarget||n.fromElement)||!Ea(c)&&!c[fa])&&(l||s)&&(s=a.window===a?a:(s=a.ownerDocument)?s.defaultView||s.parentWindow:window,l?(l=r,null!==(c=(c=n.relatedTarget||n.toElement)?Ea(c):null)&&(c!==(d=ze(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(l=null,c=r),l!==c)){if(u=fn,g="onMouseLeave",p="onMouseEnter",f="mouse","pointerout"!==e&&"pointerover"!==e||(u=Nn,g="onPointerLeave",p="onPointerEnter",f="pointer"),d=null==l?s:Ta(l),m=null==c?s:Ta(c),(s=new u(g,f+"leave",l,n,a)).target=d,s.relatedTarget=m,g=null,Ea(a)===r&&((u=new u(p,f+"enter",c,n,a)).target=m,u.relatedTarget=d,g=u),d=g,l&&c)e:{for(p=c,f=0,m=u=l;m;m=Kr(m))f++;for(m=0,g=p;g;g=Kr(g))m++;for(;0<f-m;)u=Kr(u),f--;for(;0<m-f;)p=Kr(p),m--;for(;f--;){if(u===p||null!==p&&u===p.alternate)break e;u=Kr(u),p=Kr(p)}u=null}else u=null;null!==l&&qr(o,s,l,u,!1),null!==c&&null!==d&&qr(o,d,c,u,!0)}if("select"===(l=(s=r?Ta(r):window).nodeName&&s.nodeName.toLowerCase())||"input"===l&&"file"===s.type)var h=Xn;else if(jn(s))if(Zn)h=or;else{h=ar;var b=rr}else(l=s.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===s.type||"radio"===s.type)&&(h=ir);switch(h&&(h=h(e,r))?Vn(o,h,n,a):(b&&b(e,s,r),"focusout"===e&&(b=s._wrapperState)&&b.controlled&&"number"===s.type&&ee(s,"number",s.value)),b=r?Ta(r):window,e){case"focusin":(jn(b)||"true"===b.contentEditable)&&(hr=b,br=r,Er=null);break;case"focusout":Er=br=hr=null;break;case"mousedown":yr=!0;break;case"contextmenu":case"mouseup":case"dragend":yr=!1,Tr(o,n,a);break;case"selectionchange":if(gr)break;case"keydown":case"keyup":Tr(o,n,a)}var E;if(Pn)e:{switch(e){case"compositionstart":var y="onCompositionStart";break e;case"compositionend":y="onCompositionEnd";break e;case"compositionupdate":y="onCompositionUpdate";break e}y=void 0}else zn?Gn(e,n)&&(y="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(y="onCompositionStart");y&&(Fn&&"ko"!==n.locale&&(zn||"onCompositionStart"!==y?"onCompositionEnd"===y&&zn&&(E=en()):(Qt="value"in(Zt=a)?Zt.value:Zt.textContent,zn=!0)),0<(b=Wr(r,y)).length&&(y=new Tn(y,e,null,n,a),o.push({event:y,listeners:b}),E?y.data=E:null!==(E=Hn(n))&&(y.data=E))),(E=Mn?function(e,t){switch(e){case"compositionend":return Hn(t);case"keypress":return 32!==t.which?null:(Bn=!0,Un);case"textInput":return(e=t.data)===Un&&Bn?null:e;default:return null}}(e,n):function(e,t){if(zn)return"compositionend"===e||!Pn&&Gn(e,t)?(e=en(),Jt=Qt=Zt=null,zn=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Fn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Wr(r,"onBeforeInput")).length&&(a=new Tn("onBeforeInput","beforeinput",null,n,a),o.push({event:a,listeners:r}),a.data=E))}Ur(o,t)}))}function Vr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Wr(e,t){for(var n=t+"Capture",r=[];null!==e;){var a=e,i=a.stateNode;5===a.tag&&null!==i&&(a=i,null!=(i=Oe(e,n))&&r.unshift(Vr(e,i,a)),null!=(i=Oe(e,t))&&r.push(Vr(e,i,a))),e=e.return}return r}function Kr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function qr(e,t,n,r,a){for(var i=t._reactName,o=[];null!==n&&n!==r;){var s=n,l=s.alternate,c=s.stateNode;if(null!==l&&l===r)break;5===s.tag&&null!==c&&(s=c,a?null!=(l=Oe(n,i))&&o.unshift(Vr(n,l,s)):a||null!=(l=Oe(n,i))&&o.push(Vr(n,l,s))),n=n.return}0!==o.length&&e.push({event:t,listeners:o})}var Yr=/\r\n?/g,Xr=/\u0000|\uFFFD/g;function Zr(e){return("string"===typeof e?e:""+e).replace(Yr,"\n").replace(Xr,"")}function Qr(e,t,n){if(t=Zr(t),Zr(e)!==t&&n)throw Error(i(425))}function Jr(){}var ea=null,ta=null;function na(e,t){return"textarea"===e||"noscript"===e||"string"===typeof t.children||"number"===typeof t.children||"object"===typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ra="function"===typeof setTimeout?setTimeout:void 0,aa="function"===typeof clearTimeout?clearTimeout:void 0,ia="function"===typeof Promise?Promise:void 0,oa="function"===typeof queueMicrotask?queueMicrotask:"undefined"!==typeof ia?function(e){return ia.resolve(null).then(e).catch(sa)}:ra;function sa(e){setTimeout((function(){throw e}))}function la(e,t){var n=t,r=0;do{var a=n.nextSibling;if(e.removeChild(n),a&&8===a.nodeType)if("/$"===(n=a.data)){if(0===r)return e.removeChild(a),void zt(t);r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++;n=a}while(n);zt(t)}function ca(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function ua(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var da=Math.random().toString(36).slice(2),pa="__reactFiber$"+da,ma="__reactProps$"+da,fa="__reactContainer$"+da,ga="__reactEvents$"+da,ha="__reactListeners$"+da,ba="__reactHandles$"+da;function Ea(e){var t=e[pa];if(t)return t;for(var n=e.parentNode;n;){if(t=n[fa]||n[pa]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=ua(e);null!==e;){if(n=e[pa])return n;e=ua(e)}return t}n=(e=n).parentNode}return null}function ya(e){return!(e=e[pa]||e[fa])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function Ta(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(i(33))}function Sa(e){return e[ma]||null}var va=[],Aa=-1;function _a(e){return{current:e}}function ka(e){0>Aa||(e.current=va[Aa],va[Aa]=null,Aa--)}function Ca(e,t){Aa++,va[Aa]=e.current,e.current=t}var wa={},Na=_a(wa),Ia=_a(!1),Ra=wa;function xa(e,t){var n=e.type.contextTypes;if(!n)return wa;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a,i={};for(a in n)i[a]=t[a];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Oa(e){return null!==(e=e.childContextTypes)&&void 0!==e}function La(){ka(Ia),ka(Na)}function Pa(e,t,n){if(Na.current!==wa)throw Error(i(168));Ca(Na,t),Ca(Ia,n)}function Da(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!==typeof r.getChildContext)return n;for(var a in r=r.getChildContext())if(!(a in t))throw Error(i(108,$(e)||"Unknown",a));return F({},n,r)}function Ma(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||wa,Ra=Na.current,Ca(Na,e),Ca(Ia,Ia.current),!0}function Fa(e,t,n){var r=e.stateNode;if(!r)throw Error(i(169));n?(e=Da(e,t,Ra),r.__reactInternalMemoizedMergedChildContext=e,ka(Ia),ka(Na),Ca(Na,e)):ka(Ia),Ca(Ia,n)}var Ua=null,Ba=!1,Ga=!1;function Ha(e){null===Ua?Ua=[e]:Ua.push(e)}function za(){if(!Ga&&null!==Ua){Ga=!0;var e=0,t=yt;try{var n=Ua;for(yt=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}Ua=null,Ba=!1}catch(a){throw null!==Ua&&(Ua=Ua.slice(e+1)),Ke(Je,za),a}finally{yt=t,Ga=!1}}return null}var $a=[],ja=0,Va=null,Wa=0,Ka=[],qa=0,Ya=null,Xa=1,Za="";function Qa(e,t){$a[ja++]=Wa,$a[ja++]=Va,Va=e,Wa=t}function Ja(e,t,n){Ka[qa++]=Xa,Ka[qa++]=Za,Ka[qa++]=Ya,Ya=e;var r=Xa;e=Za;var a=32-ot(r)-1;r&=~(1<<a),n+=1;var i=32-ot(t)+a;if(30<i){var o=a-a%5;i=(r&(1<<o)-1).toString(32),r>>=o,a-=o,Xa=1<<32-ot(t)+a|n<<a|r,Za=i+e}else Xa=1<<i|n<<a|r,Za=e}function ei(e){null!==e.return&&(Qa(e,1),Ja(e,1,0))}function ti(e){for(;e===Va;)Va=$a[--ja],$a[ja]=null,Wa=$a[--ja],$a[ja]=null;for(;e===Ya;)Ya=Ka[--qa],Ka[qa]=null,Za=Ka[--qa],Ka[qa]=null,Xa=Ka[--qa],Ka[qa]=null}var ni=null,ri=null,ai=!1,ii=null;function oi(e,t){var n=xc(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function si(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,ni=e,ri=ca(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,ni=e,ri=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Ya?{id:Xa,overflow:Za}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=xc(18,null,null,0)).stateNode=t,n.return=e,e.child=n,ni=e,ri=null,!0);default:return!1}}function li(e){return 0!==(1&e.mode)&&0===(128&e.flags)}function ci(e){if(ai){var t=ri;if(t){var n=t;if(!si(e,t)){if(li(e))throw Error(i(418));t=ca(n.nextSibling);var r=ni;t&&si(e,t)?oi(r,n):(e.flags=-4097&e.flags|2,ai=!1,ni=e)}}else{if(li(e))throw Error(i(418));e.flags=-4097&e.flags|2,ai=!1,ni=e}}}function ui(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;ni=e}function di(e){if(e!==ni)return!1;if(!ai)return ui(e),ai=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!na(e.type,e.memoizedProps)),t&&(t=ri)){if(li(e))throw pi(),Error(i(418));for(;t;)oi(e,t),t=ca(t.nextSibling)}if(ui(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(i(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){ri=ca(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}ri=null}}else ri=ni?ca(e.stateNode.nextSibling):null;return!0}function pi(){for(var e=ri;e;)e=ca(e.nextSibling)}function mi(){ri=ni=null,ai=!1}function fi(e){null===ii?ii=[e]:ii.push(e)}var gi=T.ReactCurrentBatchConfig;function hi(e,t){if(e&&e.defaultProps){for(var n in t=F({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var bi=_a(null),Ei=null,yi=null,Ti=null;function Si(){Ti=yi=Ei=null}function vi(e){var t=bi.current;ka(bi),e._currentValue=t}function Ai(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function _i(e,t){Ei=e,Ti=yi=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(Ts=!0),e.firstContext=null)}function ki(e){var t=e._currentValue;if(Ti!==e)if(e={context:e,memoizedValue:t,next:null},null===yi){if(null===Ei)throw Error(i(308));yi=e,Ei.dependencies={lanes:0,firstContext:e}}else yi=yi.next=e;return t}var Ci=null;function wi(e){null===Ci?Ci=[e]:Ci.push(e)}function Ni(e,t,n,r){var a=t.interleaved;return null===a?(n.next=n,wi(t)):(n.next=a.next,a.next=n),t.interleaved=n,Ii(e,r)}function Ii(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Ri=!1;function xi(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Oi(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Li(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Pi(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!==(2&Nl)){var a=r.pending;return null===a?t.next=t:(t.next=a.next,a.next=t),r.pending=t,Ii(e,n)}return null===(a=r.interleaved)?(t.next=t,wi(r)):(t.next=a.next,a.next=t),r.interleaved=t,Ii(e,n)}function Di(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!==(4194240&n))){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,Et(e,n)}}function Mi(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var a=null,i=null;if(null!==(n=n.firstBaseUpdate)){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===i?a=i=o:i=i.next=o,n=n.next}while(null!==n);null===i?a=i=t:i=i.next=t}else a=i=t;return n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:i,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Fi(e,t,n,r){var a=e.updateQueue;Ri=!1;var i=a.firstBaseUpdate,o=a.lastBaseUpdate,s=a.shared.pending;if(null!==s){a.shared.pending=null;var l=s,c=l.next;l.next=null,null===o?i=c:o.next=c,o=l;var u=e.alternate;null!==u&&((s=(u=u.updateQueue).lastBaseUpdate)!==o&&(null===s?u.firstBaseUpdate=c:s.next=c,u.lastBaseUpdate=l))}if(null!==i){var d=a.baseState;for(o=0,u=c=l=null,s=i;;){var p=s.lane,m=s.eventTime;if((r&p)===p){null!==u&&(u=u.next={eventTime:m,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var f=e,g=s;switch(p=t,m=n,g.tag){case 1:if("function"===typeof(f=g.payload)){d=f.call(m,d,p);break e}d=f;break e;case 3:f.flags=-65537&f.flags|128;case 0:if(null===(p="function"===typeof(f=g.payload)?f.call(m,d,p):f)||void 0===p)break e;d=F({},d,p);break e;case 2:Ri=!0}}null!==s.callback&&0!==s.lane&&(e.flags|=64,null===(p=a.effects)?a.effects=[s]:p.push(s))}else m={eventTime:m,lane:p,tag:s.tag,payload:s.payload,callback:s.callback,next:null},null===u?(c=u=m,l=d):u=u.next=m,o|=p;if(null===(s=s.next)){if(null===(s=a.shared.pending))break;s=(p=s).next,p.next=null,a.lastBaseUpdate=p,a.shared.pending=null}}if(null===u&&(l=d),a.baseState=l,a.firstBaseUpdate=c,a.lastBaseUpdate=u,null!==(t=a.shared.interleaved)){a=t;do{o|=a.lane,a=a.next}while(a!==t)}else null===i&&(a.shared.lanes=0);Ml|=o,e.lanes=o,e.memoizedState=d}}function Ui(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],a=r.callback;if(null!==a){if(r.callback=null,r=n,"function"!==typeof a)throw Error(i(191,a));a.call(r)}}}var Bi=(new r.Component).refs;function Gi(e,t,n,r){n=null===(n=n(r,t=e.memoizedState))||void 0===n?t:F({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var Hi={isMounted:function(e){return!!(e=e._reactInternals)&&ze(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=ec(),a=tc(e),i=Li(r,a);i.payload=t,void 0!==n&&null!==n&&(i.callback=n),null!==(t=Pi(e,i,a))&&(nc(t,e,a,r),Di(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=ec(),a=tc(e),i=Li(r,a);i.tag=1,i.payload=t,void 0!==n&&null!==n&&(i.callback=n),null!==(t=Pi(e,i,a))&&(nc(t,e,a,r),Di(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=ec(),r=tc(e),a=Li(n,r);a.tag=2,void 0!==t&&null!==t&&(a.callback=t),null!==(t=Pi(e,a,r))&&(nc(t,e,r,n),Di(t,e,r))}};function zi(e,t,n,r,a,i,o){return"function"===typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,i,o):!t.prototype||!t.prototype.isPureReactComponent||(!lr(n,r)||!lr(a,i))}function $i(e,t,n){var r=!1,a=wa,i=t.contextType;return"object"===typeof i&&null!==i?i=ki(i):(a=Oa(t)?Ra:Na.current,i=(r=null!==(r=t.contextTypes)&&void 0!==r)?xa(e,a):wa),t=new t(n,i),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=Hi,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=i),t}function ji(e,t,n,r){e=t.state,"function"===typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"===typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Hi.enqueueReplaceState(t,t.state,null)}function Vi(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs=Bi,xi(e);var i=t.contextType;"object"===typeof i&&null!==i?a.context=ki(i):(i=Oa(t)?Ra:Na.current,a.context=xa(e,i)),a.state=e.memoizedState,"function"===typeof(i=t.getDerivedStateFromProps)&&(Gi(e,t,i,n),a.state=e.memoizedState),"function"===typeof t.getDerivedStateFromProps||"function"===typeof a.getSnapshotBeforeUpdate||"function"!==typeof a.UNSAFE_componentWillMount&&"function"!==typeof a.componentWillMount||(t=a.state,"function"===typeof a.componentWillMount&&a.componentWillMount(),"function"===typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),t!==a.state&&Hi.enqueueReplaceState(a,a.state,null),Fi(e,n,a,r),a.state=e.memoizedState),"function"===typeof a.componentDidMount&&(e.flags|=4194308)}function Wi(e,t,n){if(null!==(e=n.ref)&&"function"!==typeof e&&"object"!==typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(i(309));var r=n.stateNode}if(!r)throw Error(i(147,e));var a=r,o=""+e;return null!==t&&null!==t.ref&&"function"===typeof t.ref&&t.ref._stringRef===o?t.ref:(t=function(e){var t=a.refs;t===Bi&&(t=a.refs={}),null===e?delete t[o]:t[o]=e},t._stringRef=o,t)}if("string"!==typeof e)throw Error(i(284));if(!n._owner)throw Error(i(290,e))}return e}function Ki(e,t){throw e=Object.prototype.toString.call(t),Error(i(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function qi(e){return(0,e._init)(e._payload)}function Yi(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function a(e,t){return(e=Lc(e,t)).index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function s(t){return e&&null===t.alternate&&(t.flags|=2),t}function l(e,t,n,r){return null===t||6!==t.tag?((t=Fc(n,e.mode,r)).return=e,t):((t=a(t,n)).return=e,t)}function c(e,t,n,r){var i=n.type;return i===A?d(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===i||"object"===typeof i&&null!==i&&i.$$typeof===O&&qi(i)===t.type)?((r=a(t,n.props)).ref=Wi(e,t,n),r.return=e,r):((r=Pc(n.type,n.key,n.props,null,e.mode,r)).ref=Wi(e,t,n),r.return=e,r)}function u(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Uc(n,e.mode,r)).return=e,t):((t=a(t,n.children||[])).return=e,t)}function d(e,t,n,r,i){return null===t||7!==t.tag?((t=Dc(n,e.mode,r,i)).return=e,t):((t=a(t,n)).return=e,t)}function p(e,t,n){if("string"===typeof t&&""!==t||"number"===typeof t)return(t=Fc(""+t,e.mode,n)).return=e,t;if("object"===typeof t&&null!==t){switch(t.$$typeof){case S:return(n=Pc(t.type,t.key,t.props,null,e.mode,n)).ref=Wi(e,null,t),n.return=e,n;case v:return(t=Uc(t,e.mode,n)).return=e,t;case O:return p(e,(0,t._init)(t._payload),n)}if(te(t)||D(t))return(t=Dc(t,e.mode,n,null)).return=e,t;Ki(e,t)}return null}function m(e,t,n,r){var a=null!==t?t.key:null;if("string"===typeof n&&""!==n||"number"===typeof n)return null!==a?null:l(e,t,""+n,r);if("object"===typeof n&&null!==n){switch(n.$$typeof){case S:return n.key===a?c(e,t,n,r):null;case v:return n.key===a?u(e,t,n,r):null;case O:return m(e,t,(a=n._init)(n._payload),r)}if(te(n)||D(n))return null!==a?null:d(e,t,n,r,null);Ki(e,n)}return null}function f(e,t,n,r,a){if("string"===typeof r&&""!==r||"number"===typeof r)return l(t,e=e.get(n)||null,""+r,a);if("object"===typeof r&&null!==r){switch(r.$$typeof){case S:return c(t,e=e.get(null===r.key?n:r.key)||null,r,a);case v:return u(t,e=e.get(null===r.key?n:r.key)||null,r,a);case O:return f(e,t,n,(0,r._init)(r._payload),a)}if(te(r)||D(r))return d(t,e=e.get(n)||null,r,a,null);Ki(t,r)}return null}function g(a,i,s,l){for(var c=null,u=null,d=i,g=i=0,h=null;null!==d&&g<s.length;g++){d.index>g?(h=d,d=null):h=d.sibling;var b=m(a,d,s[g],l);if(null===b){null===d&&(d=h);break}e&&d&&null===b.alternate&&t(a,d),i=o(b,i,g),null===u?c=b:u.sibling=b,u=b,d=h}if(g===s.length)return n(a,d),ai&&Qa(a,g),c;if(null===d){for(;g<s.length;g++)null!==(d=p(a,s[g],l))&&(i=o(d,i,g),null===u?c=d:u.sibling=d,u=d);return ai&&Qa(a,g),c}for(d=r(a,d);g<s.length;g++)null!==(h=f(d,a,g,s[g],l))&&(e&&null!==h.alternate&&d.delete(null===h.key?g:h.key),i=o(h,i,g),null===u?c=h:u.sibling=h,u=h);return e&&d.forEach((function(e){return t(a,e)})),ai&&Qa(a,g),c}function h(a,s,l,c){var u=D(l);if("function"!==typeof u)throw Error(i(150));if(null==(l=u.call(l)))throw Error(i(151));for(var d=u=null,g=s,h=s=0,b=null,E=l.next();null!==g&&!E.done;h++,E=l.next()){g.index>h?(b=g,g=null):b=g.sibling;var y=m(a,g,E.value,c);if(null===y){null===g&&(g=b);break}e&&g&&null===y.alternate&&t(a,g),s=o(y,s,h),null===d?u=y:d.sibling=y,d=y,g=b}if(E.done)return n(a,g),ai&&Qa(a,h),u;if(null===g){for(;!E.done;h++,E=l.next())null!==(E=p(a,E.value,c))&&(s=o(E,s,h),null===d?u=E:d.sibling=E,d=E);return ai&&Qa(a,h),u}for(g=r(a,g);!E.done;h++,E=l.next())null!==(E=f(g,a,h,E.value,c))&&(e&&null!==E.alternate&&g.delete(null===E.key?h:E.key),s=o(E,s,h),null===d?u=E:d.sibling=E,d=E);return e&&g.forEach((function(e){return t(a,e)})),ai&&Qa(a,h),u}return function e(r,i,o,l){if("object"===typeof o&&null!==o&&o.type===A&&null===o.key&&(o=o.props.children),"object"===typeof o&&null!==o){switch(o.$$typeof){case S:e:{for(var c=o.key,u=i;null!==u;){if(u.key===c){if((c=o.type)===A){if(7===u.tag){n(r,u.sibling),(i=a(u,o.props.children)).return=r,r=i;break e}}else if(u.elementType===c||"object"===typeof c&&null!==c&&c.$$typeof===O&&qi(c)===u.type){n(r,u.sibling),(i=a(u,o.props)).ref=Wi(r,u,o),i.return=r,r=i;break e}n(r,u);break}t(r,u),u=u.sibling}o.type===A?((i=Dc(o.props.children,r.mode,l,o.key)).return=r,r=i):((l=Pc(o.type,o.key,o.props,null,r.mode,l)).ref=Wi(r,i,o),l.return=r,r=l)}return s(r);case v:e:{for(u=o.key;null!==i;){if(i.key===u){if(4===i.tag&&i.stateNode.containerInfo===o.containerInfo&&i.stateNode.implementation===o.implementation){n(r,i.sibling),(i=a(i,o.children||[])).return=r,r=i;break e}n(r,i);break}t(r,i),i=i.sibling}(i=Uc(o,r.mode,l)).return=r,r=i}return s(r);case O:return e(r,i,(u=o._init)(o._payload),l)}if(te(o))return g(r,i,o,l);if(D(o))return h(r,i,o,l);Ki(r,o)}return"string"===typeof o&&""!==o||"number"===typeof o?(o=""+o,null!==i&&6===i.tag?(n(r,i.sibling),(i=a(i,o)).return=r,r=i):(n(r,i),(i=Fc(o,r.mode,l)).return=r,r=i),s(r)):n(r,i)}}var Xi=Yi(!0),Zi=Yi(!1),Qi={},Ji=_a(Qi),eo=_a(Qi),to=_a(Qi);function no(e){if(e===Qi)throw Error(i(174));return e}function ro(e,t){switch(Ca(to,t),Ca(eo,e),Ca(Ji,Qi),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:le(null,"");break;default:t=le(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}ka(Ji),Ca(Ji,t)}function ao(){ka(Ji),ka(eo),ka(to)}function io(e){no(to.current);var t=no(Ji.current),n=le(t,e.type);t!==n&&(Ca(eo,e),Ca(Ji,n))}function oo(e){eo.current===e&&(ka(Ji),ka(eo))}var so=_a(0);function lo(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!==(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var co=[];function uo(){for(var e=0;e<co.length;e++)co[e]._workInProgressVersionPrimary=null;co.length=0}var po=T.ReactCurrentDispatcher,mo=T.ReactCurrentBatchConfig,fo=0,go=null,ho=null,bo=null,Eo=!1,yo=!1,To=0,So=0;function vo(){throw Error(i(321))}function Ao(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!sr(e[n],t[n]))return!1;return!0}function _o(e,t,n,r,a,o){if(fo=o,go=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,po.current=null===e||null===e.memoizedState?ss:ls,e=n(r,a),yo){o=0;do{if(yo=!1,To=0,25<=o)throw Error(i(301));o+=1,bo=ho=null,t.updateQueue=null,po.current=cs,e=n(r,a)}while(yo)}if(po.current=os,t=null!==ho&&null!==ho.next,fo=0,bo=ho=go=null,Eo=!1,t)throw Error(i(300));return e}function ko(){var e=0!==To;return To=0,e}function Co(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===bo?go.memoizedState=bo=e:bo=bo.next=e,bo}function wo(){if(null===ho){var e=go.alternate;e=null!==e?e.memoizedState:null}else e=ho.next;var t=null===bo?go.memoizedState:bo.next;if(null!==t)bo=t,ho=e;else{if(null===e)throw Error(i(310));e={memoizedState:(ho=e).memoizedState,baseState:ho.baseState,baseQueue:ho.baseQueue,queue:ho.queue,next:null},null===bo?go.memoizedState=bo=e:bo=bo.next=e}return bo}function No(e,t){return"function"===typeof t?t(e):t}function Io(e){var t=wo(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=ho,a=r.baseQueue,o=n.pending;if(null!==o){if(null!==a){var s=a.next;a.next=o.next,o.next=s}r.baseQueue=a=o,n.pending=null}if(null!==a){o=a.next,r=r.baseState;var l=s=null,c=null,u=o;do{var d=u.lane;if((fo&d)===d)null!==c&&(c=c.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var p={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===c?(l=c=p,s=r):c=c.next=p,go.lanes|=d,Ml|=d}u=u.next}while(null!==u&&u!==o);null===c?s=r:c.next=l,sr(r,t.memoizedState)||(Ts=!0),t.memoizedState=r,t.baseState=s,t.baseQueue=c,n.lastRenderedState=r}if(null!==(e=n.interleaved)){a=e;do{o=a.lane,go.lanes|=o,Ml|=o,a=a.next}while(a!==e)}else null===a&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Ro(e){var t=wo(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(null!==a){n.pending=null;var s=a=a.next;do{o=e(o,s.action),s=s.next}while(s!==a);sr(o,t.memoizedState)||(Ts=!0),t.memoizedState=o,null===t.baseQueue&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function xo(){}function Oo(e,t){var n=go,r=wo(),a=t(),o=!sr(r.memoizedState,a);if(o&&(r.memoizedState=a,Ts=!0),r=r.queue,jo(Do.bind(null,n,r,e),[e]),r.getSnapshot!==t||o||null!==bo&&1&bo.memoizedState.tag){if(n.flags|=2048,Bo(9,Po.bind(null,n,r,a,t),void 0,null),null===Il)throw Error(i(349));0!==(30&fo)||Lo(n,t,a)}return a}function Lo(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=go.updateQueue)?(t={lastEffect:null,stores:null},go.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Po(e,t,n,r){t.value=n,t.getSnapshot=r,Mo(t)&&Fo(e)}function Do(e,t,n){return n((function(){Mo(t)&&Fo(e)}))}function Mo(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!sr(e,n)}catch(r){return!0}}function Fo(e){var t=Ii(e,1);null!==t&&nc(t,e,1,-1)}function Uo(e){var t=Co();return"function"===typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:No,lastRenderedState:e},t.queue=e,e=e.dispatch=ns.bind(null,go,e),[t.memoizedState,e]}function Bo(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=go.updateQueue)?(t={lastEffect:null,stores:null},go.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Go(){return wo().memoizedState}function Ho(e,t,n,r){var a=Co();go.flags|=e,a.memoizedState=Bo(1|t,n,void 0,void 0===r?null:r)}function zo(e,t,n,r){var a=wo();r=void 0===r?null:r;var i=void 0;if(null!==ho){var o=ho.memoizedState;if(i=o.destroy,null!==r&&Ao(r,o.deps))return void(a.memoizedState=Bo(t,n,i,r))}go.flags|=e,a.memoizedState=Bo(1|t,n,i,r)}function $o(e,t){return Ho(8390656,8,e,t)}function jo(e,t){return zo(2048,8,e,t)}function Vo(e,t){return zo(4,2,e,t)}function Wo(e,t){return zo(4,4,e,t)}function Ko(e,t){return"function"===typeof t?(e=e(),t(e),function(){t(null)}):null!==t&&void 0!==t?(e=e(),t.current=e,function(){t.current=null}):void 0}function qo(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,zo(4,4,Ko.bind(null,t,e),n)}function Yo(){}function Xo(e,t){var n=wo();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Ao(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Zo(e,t){var n=wo();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Ao(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Qo(e,t,n){return 0===(21&fo)?(e.baseState&&(e.baseState=!1,Ts=!0),e.memoizedState=n):(sr(n,t)||(n=gt(),go.lanes|=n,Ml|=n,e.baseState=!0),t)}function Jo(e,t){var n=yt;yt=0!==n&&4>n?n:4,e(!0);var r=mo.transition;mo.transition={};try{e(!1),t()}finally{yt=n,mo.transition=r}}function es(){return wo().memoizedState}function ts(e,t,n){var r=tc(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},rs(e))as(t,n);else if(null!==(n=Ni(e,t,n,r))){nc(n,e,r,ec()),is(n,t,r)}}function ns(e,t,n){var r=tc(e),a={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(rs(e))as(t,a);else{var i=e.alternate;if(0===e.lanes&&(null===i||0===i.lanes)&&null!==(i=t.lastRenderedReducer))try{var o=t.lastRenderedState,s=i(o,n);if(a.hasEagerState=!0,a.eagerState=s,sr(s,o)){var l=t.interleaved;return null===l?(a.next=a,wi(t)):(a.next=l.next,l.next=a),void(t.interleaved=a)}}catch(c){}null!==(n=Ni(e,t,a,r))&&(nc(n,e,r,a=ec()),is(n,t,r))}}function rs(e){var t=e.alternate;return e===go||null!==t&&t===go}function as(e,t){yo=Eo=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function is(e,t,n){if(0!==(4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,Et(e,n)}}var os={readContext:ki,useCallback:vo,useContext:vo,useEffect:vo,useImperativeHandle:vo,useInsertionEffect:vo,useLayoutEffect:vo,useMemo:vo,useReducer:vo,useRef:vo,useState:vo,useDebugValue:vo,useDeferredValue:vo,useTransition:vo,useMutableSource:vo,useSyncExternalStore:vo,useId:vo,unstable_isNewReconciler:!1},ss={readContext:ki,useCallback:function(e,t){return Co().memoizedState=[e,void 0===t?null:t],e},useContext:ki,useEffect:$o,useImperativeHandle:function(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,Ho(4194308,4,Ko.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ho(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ho(4,2,e,t)},useMemo:function(e,t){var n=Co();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Co();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=ts.bind(null,go,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},Co().memoizedState=e},useState:Uo,useDebugValue:Yo,useDeferredValue:function(e){return Co().memoizedState=e},useTransition:function(){var e=Uo(!1),t=e[0];return e=Jo.bind(null,e[1]),Co().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=go,a=Co();if(ai){if(void 0===n)throw Error(i(407));n=n()}else{if(n=t(),null===Il)throw Error(i(349));0!==(30&fo)||Lo(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,$o(Do.bind(null,r,o,e),[e]),r.flags|=2048,Bo(9,Po.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=Co(),t=Il.identifierPrefix;if(ai){var n=Za;t=":"+t+"R"+(n=(Xa&~(1<<32-ot(Xa)-1)).toString(32)+n),0<(n=To++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=So++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},ls={readContext:ki,useCallback:Xo,useContext:ki,useEffect:jo,useImperativeHandle:qo,useInsertionEffect:Vo,useLayoutEffect:Wo,useMemo:Zo,useReducer:Io,useRef:Go,useState:function(){return Io(No)},useDebugValue:Yo,useDeferredValue:function(e){return Qo(wo(),ho.memoizedState,e)},useTransition:function(){return[Io(No)[0],wo().memoizedState]},useMutableSource:xo,useSyncExternalStore:Oo,useId:es,unstable_isNewReconciler:!1},cs={readContext:ki,useCallback:Xo,useContext:ki,useEffect:jo,useImperativeHandle:qo,useInsertionEffect:Vo,useLayoutEffect:Wo,useMemo:Zo,useReducer:Ro,useRef:Go,useState:function(){return Ro(No)},useDebugValue:Yo,useDeferredValue:function(e){var t=wo();return null===ho?t.memoizedState=e:Qo(t,ho.memoizedState,e)},useTransition:function(){return[Ro(No)[0],wo().memoizedState]},useMutableSource:xo,useSyncExternalStore:Oo,useId:es,unstable_isNewReconciler:!1};function us(e,t){try{var n="",r=t;do{n+=H(r),r=r.return}while(r);var a=n}catch(i){a="\nError generating stack: "+i.message+"\n"+i.stack}return{value:e,source:t,stack:a,digest:null}}function ds(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function ps(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}var ms="function"===typeof WeakMap?WeakMap:Map;function fs(e,t,n){(n=Li(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){jl||(jl=!0,Vl=r),ps(0,t)},n}function gs(e,t,n){(n=Li(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"===typeof r){var a=t.value;n.payload=function(){return r(a)},n.callback=function(){ps(0,t)}}var i=e.stateNode;return null!==i&&"function"===typeof i.componentDidCatch&&(n.callback=function(){ps(0,t),"function"!==typeof r&&(null===Wl?Wl=new Set([this]):Wl.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function hs(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new ms;var a=new Set;r.set(t,a)}else void 0===(a=r.get(t))&&(a=new Set,r.set(t,a));a.has(n)||(a.add(n),e=kc.bind(null,e,t,n),t.then(e,e))}function bs(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function Es(e,t,n,r,a){return 0===(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=Li(-1,1)).tag=2,Pi(n,t,1))),n.lanes|=1),e):(e.flags|=65536,e.lanes=a,e)}var ys=T.ReactCurrentOwner,Ts=!1;function Ss(e,t,n,r){t.child=null===e?Zi(t,null,n,r):Xi(t,e.child,n,r)}function vs(e,t,n,r,a){n=n.render;var i=t.ref;return _i(t,a),r=_o(e,t,n,r,i,a),n=ko(),null===e||Ts?(ai&&n&&ei(t),t.flags|=1,Ss(e,t,r,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,js(e,t,a))}function As(e,t,n,r,a){if(null===e){var i=n.type;return"function"!==typeof i||Oc(i)||void 0!==i.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Pc(n.type,null,r,t,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=i,_s(e,t,i,r,a))}if(i=e.child,0===(e.lanes&a)){var o=i.memoizedProps;if((n=null!==(n=n.compare)?n:lr)(o,r)&&e.ref===t.ref)return js(e,t,a)}return t.flags|=1,(e=Lc(i,r)).ref=t.ref,e.return=t,t.child=e}function _s(e,t,n,r,a){if(null!==e){var i=e.memoizedProps;if(lr(i,r)&&e.ref===t.ref){if(Ts=!1,t.pendingProps=r=i,0===(e.lanes&a))return t.lanes=e.lanes,js(e,t,a);0!==(131072&e.flags)&&(Ts=!0)}}return ws(e,t,n,r,a)}function ks(e,t,n){var r=t.pendingProps,a=r.children,i=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(0===(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Ca(Ll,Ol),Ol|=n;else{if(0===(1073741824&n))return e=null!==i?i.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Ca(Ll,Ol),Ol|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==i?i.baseLanes:n,Ca(Ll,Ol),Ol|=r}else null!==i?(r=i.baseLanes|n,t.memoizedState=null):r=n,Ca(Ll,Ol),Ol|=r;return Ss(e,t,a,n),t.child}function Cs(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function ws(e,t,n,r,a){var i=Oa(n)?Ra:Na.current;return i=xa(t,i),_i(t,a),n=_o(e,t,n,r,i,a),r=ko(),null===e||Ts?(ai&&r&&ei(t),t.flags|=1,Ss(e,t,n,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,js(e,t,a))}function Ns(e,t,n,r,a){if(Oa(n)){var i=!0;Ma(t)}else i=!1;if(_i(t,a),null===t.stateNode)$s(e,t),$i(t,n,r),Vi(t,n,r,a),r=!0;else if(null===e){var o=t.stateNode,s=t.memoizedProps;o.props=s;var l=o.context,c=n.contextType;"object"===typeof c&&null!==c?c=ki(c):c=xa(t,c=Oa(n)?Ra:Na.current);var u=n.getDerivedStateFromProps,d="function"===typeof u||"function"===typeof o.getSnapshotBeforeUpdate;d||"function"!==typeof o.UNSAFE_componentWillReceiveProps&&"function"!==typeof o.componentWillReceiveProps||(s!==r||l!==c)&&ji(t,o,r,c),Ri=!1;var p=t.memoizedState;o.state=p,Fi(t,r,o,a),l=t.memoizedState,s!==r||p!==l||Ia.current||Ri?("function"===typeof u&&(Gi(t,n,u,r),l=t.memoizedState),(s=Ri||zi(t,n,s,r,p,l,c))?(d||"function"!==typeof o.UNSAFE_componentWillMount&&"function"!==typeof o.componentWillMount||("function"===typeof o.componentWillMount&&o.componentWillMount(),"function"===typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount()),"function"===typeof o.componentDidMount&&(t.flags|=4194308)):("function"===typeof o.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),o.props=r,o.state=l,o.context=c,r=s):("function"===typeof o.componentDidMount&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,Oi(e,t),s=t.memoizedProps,c=t.type===t.elementType?s:hi(t.type,s),o.props=c,d=t.pendingProps,p=o.context,"object"===typeof(l=n.contextType)&&null!==l?l=ki(l):l=xa(t,l=Oa(n)?Ra:Na.current);var m=n.getDerivedStateFromProps;(u="function"===typeof m||"function"===typeof o.getSnapshotBeforeUpdate)||"function"!==typeof o.UNSAFE_componentWillReceiveProps&&"function"!==typeof o.componentWillReceiveProps||(s!==d||p!==l)&&ji(t,o,r,l),Ri=!1,p=t.memoizedState,o.state=p,Fi(t,r,o,a);var f=t.memoizedState;s!==d||p!==f||Ia.current||Ri?("function"===typeof m&&(Gi(t,n,m,r),f=t.memoizedState),(c=Ri||zi(t,n,c,r,p,f,l)||!1)?(u||"function"!==typeof o.UNSAFE_componentWillUpdate&&"function"!==typeof o.componentWillUpdate||("function"===typeof o.componentWillUpdate&&o.componentWillUpdate(r,f,l),"function"===typeof o.UNSAFE_componentWillUpdate&&o.UNSAFE_componentWillUpdate(r,f,l)),"function"===typeof o.componentDidUpdate&&(t.flags|=4),"function"===typeof o.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!==typeof o.componentDidUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!==typeof o.getSnapshotBeforeUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=f),o.props=r,o.state=f,o.context=l,r=c):("function"!==typeof o.componentDidUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!==typeof o.getSnapshotBeforeUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),r=!1)}return Is(e,t,n,r,i,a)}function Is(e,t,n,r,a,i){Cs(e,t);var o=0!==(128&t.flags);if(!r&&!o)return a&&Fa(t,n,!1),js(e,t,i);r=t.stateNode,ys.current=t;var s=o&&"function"!==typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&o?(t.child=Xi(t,e.child,null,i),t.child=Xi(t,null,s,i)):Ss(e,t,s,i),t.memoizedState=r.state,a&&Fa(t,n,!0),t.child}function Rs(e){var t=e.stateNode;t.pendingContext?Pa(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Pa(0,t.context,!1),ro(e,t.containerInfo)}function xs(e,t,n,r,a){return mi(),fi(a),t.flags|=256,Ss(e,t,n,r),t.child}var Os,Ls,Ps,Ds={dehydrated:null,treeContext:null,retryLane:0};function Ms(e){return{baseLanes:e,cachePool:null,transitions:null}}function Fs(e,t,n){var r,a=t.pendingProps,o=so.current,s=!1,l=0!==(128&t.flags);if((r=l)||(r=(null===e||null!==e.memoizedState)&&0!==(2&o)),r?(s=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(o|=1),Ca(so,1&o),null===e)return ci(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0===(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(l=a.children,e=a.fallback,s?(a=t.mode,s=t.child,l={mode:"hidden",children:l},0===(1&a)&&null!==s?(s.childLanes=0,s.pendingProps=l):s=Mc(l,a,0,null),e=Dc(e,a,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Ms(n),t.memoizedState=Ds,e):Us(t,l));if(null!==(o=e.memoizedState)&&null!==(r=o.dehydrated))return function(e,t,n,r,a,o,s){if(n)return 256&t.flags?(t.flags&=-257,Bs(e,t,s,r=ds(Error(i(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(o=r.fallback,a=t.mode,r=Mc({mode:"visible",children:r.children},a,0,null),(o=Dc(o,a,s,null)).flags|=2,r.return=t,o.return=t,r.sibling=o,t.child=r,0!==(1&t.mode)&&Xi(t,e.child,null,s),t.child.memoizedState=Ms(s),t.memoizedState=Ds,o);if(0===(1&t.mode))return Bs(e,t,s,null);if("$!"===a.data){if(r=a.nextSibling&&a.nextSibling.dataset)var l=r.dgst;return r=l,Bs(e,t,s,r=ds(o=Error(i(419)),r,void 0))}if(l=0!==(s&e.childLanes),Ts||l){if(null!==(r=Il)){switch(s&-s){case 4:a=2;break;case 16:a=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:a=32;break;case 536870912:a=268435456;break;default:a=0}0!==(a=0!==(a&(r.suspendedLanes|s))?0:a)&&a!==o.retryLane&&(o.retryLane=a,Ii(e,a),nc(r,e,a,-1))}return gc(),Bs(e,t,s,r=ds(Error(i(421))))}return"$?"===a.data?(t.flags|=128,t.child=e.child,t=wc.bind(null,e),a._reactRetry=t,null):(e=o.treeContext,ri=ca(a.nextSibling),ni=t,ai=!0,ii=null,null!==e&&(Ka[qa++]=Xa,Ka[qa++]=Za,Ka[qa++]=Ya,Xa=e.id,Za=e.overflow,Ya=t),(t=Us(t,r.children)).flags|=4096,t)}(e,t,l,a,r,o,n);if(s){s=a.fallback,l=t.mode,r=(o=e.child).sibling;var c={mode:"hidden",children:a.children};return 0===(1&l)&&t.child!==o?((a=t.child).childLanes=0,a.pendingProps=c,t.deletions=null):(a=Lc(o,c)).subtreeFlags=14680064&o.subtreeFlags,null!==r?s=Lc(r,s):(s=Dc(s,l,n,null)).flags|=2,s.return=t,a.return=t,a.sibling=s,t.child=a,a=s,s=t.child,l=null===(l=e.child.memoizedState)?Ms(n):{baseLanes:l.baseLanes|n,cachePool:null,transitions:l.transitions},s.memoizedState=l,s.childLanes=e.childLanes&~n,t.memoizedState=Ds,a}return e=(s=e.child).sibling,a=Lc(s,{mode:"visible",children:a.children}),0===(1&t.mode)&&(a.lanes=n),a.return=t,a.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=a,t.memoizedState=null,a}function Us(e,t){return(t=Mc({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Bs(e,t,n,r){return null!==r&&fi(r),Xi(t,e.child,null,n),(e=Us(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Gs(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),Ai(e.return,t,n)}function Hs(e,t,n,r,a){var i=e.memoizedState;null===i?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=a)}function zs(e,t,n){var r=t.pendingProps,a=r.revealOrder,i=r.tail;if(Ss(e,t,r.children,n),0!==(2&(r=so.current)))r=1&r|2,t.flags|=128;else{if(null!==e&&0!==(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Gs(e,n,t);else if(19===e.tag)Gs(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Ca(so,r),0===(1&t.mode))t.memoizedState=null;else switch(a){case"forwards":for(n=t.child,a=null;null!==n;)null!==(e=n.alternate)&&null===lo(e)&&(a=n),n=n.sibling;null===(n=a)?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),Hs(t,!1,a,n,i);break;case"backwards":for(n=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===lo(e)){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}Hs(t,!0,n,null,i);break;case"together":Hs(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function $s(e,t){0===(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function js(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Ml|=t.lanes,0===(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(i(153));if(null!==t.child){for(n=Lc(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Lc(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Vs(e,t){if(!ai)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Ws(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=14680064&a.subtreeFlags,r|=14680064&a.flags,a.return=e,a=a.sibling;else for(a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags,r|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Ks(e,t,n){var r=t.pendingProps;switch(ti(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ws(t),null;case 1:case 17:return Oa(t.type)&&La(),Ws(t),null;case 3:return r=t.stateNode,ao(),ka(Ia),ka(Na),uo(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(di(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0===(256&t.flags)||(t.flags|=1024,null!==ii&&(oc(ii),ii=null))),Ws(t),null;case 5:oo(t);var a=no(to.current);if(n=t.type,null!==e&&null!=t.stateNode)Ls(e,t,n,r),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(i(166));return Ws(t),null}if(e=no(Ji.current),di(t)){r=t.stateNode,n=t.type;var o=t.memoizedProps;switch(r[pa]=t,r[ma]=o,e=0!==(1&t.mode),n){case"dialog":Br("cancel",r),Br("close",r);break;case"iframe":case"object":case"embed":Br("load",r);break;case"video":case"audio":for(a=0;a<Dr.length;a++)Br(Dr[a],r);break;case"source":Br("error",r);break;case"img":case"image":case"link":Br("error",r),Br("load",r);break;case"details":Br("toggle",r);break;case"input":X(r,o),Br("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!o.multiple},Br("invalid",r);break;case"textarea":ae(r,o),Br("invalid",r)}for(var l in Ee(n,o),a=null,o)if(o.hasOwnProperty(l)){var c=o[l];"children"===l?"string"===typeof c?r.textContent!==c&&(!0!==o.suppressHydrationWarning&&Qr(r.textContent,c,e),a=["children",c]):"number"===typeof c&&r.textContent!==""+c&&(!0!==o.suppressHydrationWarning&&Qr(r.textContent,c,e),a=["children",""+c]):s.hasOwnProperty(l)&&null!=c&&"onScroll"===l&&Br("scroll",r)}switch(n){case"input":W(r),J(r,o,!0);break;case"textarea":W(r),oe(r);break;case"select":case"option":break;default:"function"===typeof o.onClick&&(r.onclick=Jr)}r=a,t.updateQueue=r,null!==r&&(t.flags|=4)}else{l=9===a.nodeType?a:a.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=se(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=l.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"===typeof r.is?e=l.createElement(n,{is:r.is}):(e=l.createElement(n),"select"===n&&(l=e,r.multiple?l.multiple=!0:r.size&&(l.size=r.size))):e=l.createElementNS(e,n),e[pa]=t,e[ma]=r,Os(e,t),t.stateNode=e;e:{switch(l=ye(n,r),n){case"dialog":Br("cancel",e),Br("close",e),a=r;break;case"iframe":case"object":case"embed":Br("load",e),a=r;break;case"video":case"audio":for(a=0;a<Dr.length;a++)Br(Dr[a],e);a=r;break;case"source":Br("error",e),a=r;break;case"img":case"image":case"link":Br("error",e),Br("load",e),a=r;break;case"details":Br("toggle",e),a=r;break;case"input":X(e,r),a=Y(e,r),Br("invalid",e);break;case"option":default:a=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},a=F({},r,{value:void 0}),Br("invalid",e);break;case"textarea":ae(e,r),a=re(e,r),Br("invalid",e)}for(o in Ee(n,a),c=a)if(c.hasOwnProperty(o)){var u=c[o];"style"===o?he(e,u):"dangerouslySetInnerHTML"===o?null!=(u=u?u.__html:void 0)&&de(e,u):"children"===o?"string"===typeof u?("textarea"!==n||""!==u)&&pe(e,u):"number"===typeof u&&pe(e,""+u):"suppressContentEditableWarning"!==o&&"suppressHydrationWarning"!==o&&"autoFocus"!==o&&(s.hasOwnProperty(o)?null!=u&&"onScroll"===o&&Br("scroll",e):null!=u&&y(e,o,u,l))}switch(n){case"input":W(e),J(e,r,!1);break;case"textarea":W(e),oe(e);break;case"option":null!=r.value&&e.setAttribute("value",""+j(r.value));break;case"select":e.multiple=!!r.multiple,null!=(o=r.value)?ne(e,!!r.multiple,o,!1):null!=r.defaultValue&&ne(e,!!r.multiple,r.defaultValue,!0);break;default:"function"===typeof a.onClick&&(e.onclick=Jr)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Ws(t),null;case 6:if(e&&null!=t.stateNode)Ps(0,t,e.memoizedProps,r);else{if("string"!==typeof r&&null===t.stateNode)throw Error(i(166));if(n=no(to.current),no(Ji.current),di(t)){if(r=t.stateNode,n=t.memoizedProps,r[pa]=t,(o=r.nodeValue!==n)&&null!==(e=ni))switch(e.tag){case 3:Qr(r.nodeValue,n,0!==(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Qr(r.nodeValue,n,0!==(1&e.mode))}o&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[pa]=t,t.stateNode=r}return Ws(t),null;case 13:if(ka(so),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(ai&&null!==ri&&0!==(1&t.mode)&&0===(128&t.flags))pi(),mi(),t.flags|=98560,o=!1;else if(o=di(t),null!==r&&null!==r.dehydrated){if(null===e){if(!o)throw Error(i(318));if(!(o=null!==(o=t.memoizedState)?o.dehydrated:null))throw Error(i(317));o[pa]=t}else mi(),0===(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Ws(t),o=!1}else null!==ii&&(oc(ii),ii=null),o=!0;if(!o)return 65536&t.flags?t:null}return 0!==(128&t.flags)?(t.lanes=n,t):((r=null!==r)!==(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,0!==(1&t.mode)&&(null===e||0!==(1&so.current)?0===Pl&&(Pl=3):gc())),null!==t.updateQueue&&(t.flags|=4),Ws(t),null);case 4:return ao(),null===e&&zr(t.stateNode.containerInfo),Ws(t),null;case 10:return vi(t.type._context),Ws(t),null;case 19:if(ka(so),null===(o=t.memoizedState))return Ws(t),null;if(r=0!==(128&t.flags),null===(l=o.rendering))if(r)Vs(o,!1);else{if(0!==Pl||null!==e&&0!==(128&e.flags))for(e=t.child;null!==e;){if(null!==(l=lo(e))){for(t.flags|=128,Vs(o,!1),null!==(r=l.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)e=r,(o=n).flags&=14680066,null===(l=o.alternate)?(o.childLanes=0,o.lanes=e,o.child=null,o.subtreeFlags=0,o.memoizedProps=null,o.memoizedState=null,o.updateQueue=null,o.dependencies=null,o.stateNode=null):(o.childLanes=l.childLanes,o.lanes=l.lanes,o.child=l.child,o.subtreeFlags=0,o.deletions=null,o.memoizedProps=l.memoizedProps,o.memoizedState=l.memoizedState,o.updateQueue=l.updateQueue,o.type=l.type,e=l.dependencies,o.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Ca(so,1&so.current|2),t.child}e=e.sibling}null!==o.tail&&Ze()>zl&&(t.flags|=128,r=!0,Vs(o,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=lo(l))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Vs(o,!0),null===o.tail&&"hidden"===o.tailMode&&!l.alternate&&!ai)return Ws(t),null}else 2*Ze()-o.renderingStartTime>zl&&1073741824!==n&&(t.flags|=128,r=!0,Vs(o,!1),t.lanes=4194304);o.isBackwards?(l.sibling=t.child,t.child=l):(null!==(n=o.last)?n.sibling=l:t.child=l,o.last=l)}return null!==o.tail?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Ze(),t.sibling=null,n=so.current,Ca(so,r?1&n|2:1&n),t):(Ws(t),null);case 22:case 23:return dc(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&0!==(1&t.mode)?0!==(1073741824&Ol)&&(Ws(t),6&t.subtreeFlags&&(t.flags|=8192)):Ws(t),null;case 24:case 25:return null}throw Error(i(156,t.tag))}function qs(e,t){switch(ti(t),t.tag){case 1:return Oa(t.type)&&La(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return ao(),ka(Ia),ka(Na),uo(),0!==(65536&(e=t.flags))&&0===(128&e)?(t.flags=-65537&e|128,t):null;case 5:return oo(t),null;case 13:if(ka(so),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(i(340));mi()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return ka(so),null;case 4:return ao(),null;case 10:return vi(t.type._context),null;case 22:case 23:return dc(),null;default:return null}}Os=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Ls=function(e,t,n,r){var a=e.memoizedProps;if(a!==r){e=t.stateNode,no(Ji.current);var i,o=null;switch(n){case"input":a=Y(e,a),r=Y(e,r),o=[];break;case"select":a=F({},a,{value:void 0}),r=F({},r,{value:void 0}),o=[];break;case"textarea":a=re(e,a),r=re(e,r),o=[];break;default:"function"!==typeof a.onClick&&"function"===typeof r.onClick&&(e.onclick=Jr)}for(u in Ee(n,r),n=null,a)if(!r.hasOwnProperty(u)&&a.hasOwnProperty(u)&&null!=a[u])if("style"===u){var l=a[u];for(i in l)l.hasOwnProperty(i)&&(n||(n={}),n[i]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(s.hasOwnProperty(u)?o||(o=[]):(o=o||[]).push(u,null));for(u in r){var c=r[u];if(l=null!=a?a[u]:void 0,r.hasOwnProperty(u)&&c!==l&&(null!=c||null!=l))if("style"===u)if(l){for(i in l)!l.hasOwnProperty(i)||c&&c.hasOwnProperty(i)||(n||(n={}),n[i]="");for(i in c)c.hasOwnProperty(i)&&l[i]!==c[i]&&(n||(n={}),n[i]=c[i])}else n||(o||(o=[]),o.push(u,n)),n=c;else"dangerouslySetInnerHTML"===u?(c=c?c.__html:void 0,l=l?l.__html:void 0,null!=c&&l!==c&&(o=o||[]).push(u,c)):"children"===u?"string"!==typeof c&&"number"!==typeof c||(o=o||[]).push(u,""+c):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(s.hasOwnProperty(u)?(null!=c&&"onScroll"===u&&Br("scroll",e),o||l===c||(o=[])):(o=o||[]).push(u,c))}n&&(o=o||[]).push("style",n);var u=o;(t.updateQueue=u)&&(t.flags|=4)}},Ps=function(e,t,n,r){n!==r&&(t.flags|=4)};var Ys=!1,Xs=!1,Zs="function"===typeof WeakSet?WeakSet:Set,Qs=null;function Js(e,t){var n=e.ref;if(null!==n)if("function"===typeof n)try{n(null)}catch(r){_c(e,t,r)}else n.current=null}function el(e,t,n){try{n()}catch(r){_c(e,t,r)}}var tl=!1;function nl(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var a=r=r.next;do{if((a.tag&e)===e){var i=a.destroy;a.destroy=void 0,void 0!==i&&el(t,n,i)}a=a.next}while(a!==r)}}function rl(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function al(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"===typeof t?t(e):t.current=e}}function il(e){var t=e.alternate;null!==t&&(e.alternate=null,il(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[pa],delete t[ma],delete t[ga],delete t[ha],delete t[ba])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ol(e){return 5===e.tag||3===e.tag||4===e.tag}function sl(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||ol(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function ll(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!==(n=n._reactRootContainer)&&void 0!==n||null!==t.onclick||(t.onclick=Jr));else if(4!==r&&null!==(e=e.child))for(ll(e,t,n),e=e.sibling;null!==e;)ll(e,t,n),e=e.sibling}function cl(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(cl(e,t,n),e=e.sibling;null!==e;)cl(e,t,n),e=e.sibling}var ul=null,dl=!1;function pl(e,t,n){for(n=n.child;null!==n;)ml(e,t,n),n=n.sibling}function ml(e,t,n){if(it&&"function"===typeof it.onCommitFiberUnmount)try{it.onCommitFiberUnmount(at,n)}catch(s){}switch(n.tag){case 5:Xs||Js(n,t);case 6:var r=ul,a=dl;ul=null,pl(e,t,n),dl=a,null!==(ul=r)&&(dl?(e=ul,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):ul.removeChild(n.stateNode));break;case 18:null!==ul&&(dl?(e=ul,n=n.stateNode,8===e.nodeType?la(e.parentNode,n):1===e.nodeType&&la(e,n),zt(e)):la(ul,n.stateNode));break;case 4:r=ul,a=dl,ul=n.stateNode.containerInfo,dl=!0,pl(e,t,n),ul=r,dl=a;break;case 0:case 11:case 14:case 15:if(!Xs&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){a=r=r.next;do{var i=a,o=i.destroy;i=i.tag,void 0!==o&&(0!==(2&i)||0!==(4&i))&&el(n,t,o),a=a.next}while(a!==r)}pl(e,t,n);break;case 1:if(!Xs&&(Js(n,t),"function"===typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){_c(n,t,s)}pl(e,t,n);break;case 21:pl(e,t,n);break;case 22:1&n.mode?(Xs=(r=Xs)||null!==n.memoizedState,pl(e,t,n),Xs=r):pl(e,t,n);break;default:pl(e,t,n)}}function fl(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Zs),t.forEach((function(t){var r=Nc.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function gl(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var a=n[r];try{var o=e,s=t,l=s;e:for(;null!==l;){switch(l.tag){case 5:ul=l.stateNode,dl=!1;break e;case 3:case 4:ul=l.stateNode.containerInfo,dl=!0;break e}l=l.return}if(null===ul)throw Error(i(160));ml(o,s,a),ul=null,dl=!1;var c=a.alternate;null!==c&&(c.return=null),a.return=null}catch(u){_c(a,t,u)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)hl(t,e),t=t.sibling}function hl(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(gl(t,e),bl(e),4&r){try{nl(3,e,e.return),rl(3,e)}catch(h){_c(e,e.return,h)}try{nl(5,e,e.return)}catch(h){_c(e,e.return,h)}}break;case 1:gl(t,e),bl(e),512&r&&null!==n&&Js(n,n.return);break;case 5:if(gl(t,e),bl(e),512&r&&null!==n&&Js(n,n.return),32&e.flags){var a=e.stateNode;try{pe(a,"")}catch(h){_c(e,e.return,h)}}if(4&r&&null!=(a=e.stateNode)){var o=e.memoizedProps,s=null!==n?n.memoizedProps:o,l=e.type,c=e.updateQueue;if(e.updateQueue=null,null!==c)try{"input"===l&&"radio"===o.type&&null!=o.name&&Z(a,o),ye(l,s);var u=ye(l,o);for(s=0;s<c.length;s+=2){var d=c[s],p=c[s+1];"style"===d?he(a,p):"dangerouslySetInnerHTML"===d?de(a,p):"children"===d?pe(a,p):y(a,d,p,u)}switch(l){case"input":Q(a,o);break;case"textarea":ie(a,o);break;case"select":var m=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!o.multiple;var f=o.value;null!=f?ne(a,!!o.multiple,f,!1):m!==!!o.multiple&&(null!=o.defaultValue?ne(a,!!o.multiple,o.defaultValue,!0):ne(a,!!o.multiple,o.multiple?[]:"",!1))}a[ma]=o}catch(h){_c(e,e.return,h)}}break;case 6:if(gl(t,e),bl(e),4&r){if(null===e.stateNode)throw Error(i(162));a=e.stateNode,o=e.memoizedProps;try{a.nodeValue=o}catch(h){_c(e,e.return,h)}}break;case 3:if(gl(t,e),bl(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{zt(t.containerInfo)}catch(h){_c(e,e.return,h)}break;case 4:default:gl(t,e),bl(e);break;case 13:gl(t,e),bl(e),8192&(a=e.child).flags&&(o=null!==a.memoizedState,a.stateNode.isHidden=o,!o||null!==a.alternate&&null!==a.alternate.memoizedState||(Hl=Ze())),4&r&&fl(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Xs=(u=Xs)||d,gl(t,e),Xs=u):gl(t,e),bl(e),8192&r){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!d&&0!==(1&e.mode))for(Qs=e,d=e.child;null!==d;){for(p=Qs=d;null!==Qs;){switch(f=(m=Qs).child,m.tag){case 0:case 11:case 14:case 15:nl(4,m,m.return);break;case 1:Js(m,m.return);var g=m.stateNode;if("function"===typeof g.componentWillUnmount){r=m,n=m.return;try{t=r,g.props=t.memoizedProps,g.state=t.memoizedState,g.componentWillUnmount()}catch(h){_c(r,n,h)}}break;case 5:Js(m,m.return);break;case 22:if(null!==m.memoizedState){Sl(p);continue}}null!==f?(f.return=m,Qs=f):Sl(p)}d=d.sibling}e:for(d=null,p=e;;){if(5===p.tag){if(null===d){d=p;try{a=p.stateNode,u?"function"===typeof(o=a.style).setProperty?o.setProperty("display","none","important"):o.display="none":(l=p.stateNode,s=void 0!==(c=p.memoizedProps.style)&&null!==c&&c.hasOwnProperty("display")?c.display:null,l.style.display=ge("display",s))}catch(h){_c(e,e.return,h)}}}else if(6===p.tag){if(null===d)try{p.stateNode.nodeValue=u?"":p.memoizedProps}catch(h){_c(e,e.return,h)}}else if((22!==p.tag&&23!==p.tag||null===p.memoizedState||p===e)&&null!==p.child){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;null===p.sibling;){if(null===p.return||p.return===e)break e;d===p&&(d=null),p=p.return}d===p&&(d=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:gl(t,e),bl(e),4&r&&fl(e);case 21:}}function bl(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(ol(n)){var r=n;break e}n=n.return}throw Error(i(160))}switch(r.tag){case 5:var a=r.stateNode;32&r.flags&&(pe(a,""),r.flags&=-33),cl(e,sl(e),a);break;case 3:case 4:var o=r.stateNode.containerInfo;ll(e,sl(e),o);break;default:throw Error(i(161))}}catch(s){_c(e,e.return,s)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function El(e,t,n){Qs=e,yl(e,t,n)}function yl(e,t,n){for(var r=0!==(1&e.mode);null!==Qs;){var a=Qs,i=a.child;if(22===a.tag&&r){var o=null!==a.memoizedState||Ys;if(!o){var s=a.alternate,l=null!==s&&null!==s.memoizedState||Xs;s=Ys;var c=Xs;if(Ys=o,(Xs=l)&&!c)for(Qs=a;null!==Qs;)l=(o=Qs).child,22===o.tag&&null!==o.memoizedState?vl(a):null!==l?(l.return=o,Qs=l):vl(a);for(;null!==i;)Qs=i,yl(i,t,n),i=i.sibling;Qs=a,Ys=s,Xs=c}Tl(e)}else 0!==(8772&a.subtreeFlags)&&null!==i?(i.return=a,Qs=i):Tl(e)}}function Tl(e){for(;null!==Qs;){var t=Qs;if(0!==(8772&t.flags)){var n=t.alternate;try{if(0!==(8772&t.flags))switch(t.tag){case 0:case 11:case 15:Xs||rl(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!Xs)if(null===n)r.componentDidMount();else{var a=t.elementType===t.type?n.memoizedProps:hi(t.type,n.memoizedProps);r.componentDidUpdate(a,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var o=t.updateQueue;null!==o&&Ui(t,o,r);break;case 3:var s=t.updateQueue;if(null!==s){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}Ui(t,s,n)}break;case 5:var l=t.stateNode;if(null===n&&4&t.flags){n=l;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&n.focus();break;case"img":c.src&&(n.src=c.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var d=u.memoizedState;if(null!==d){var p=d.dehydrated;null!==p&&zt(p)}}}break;default:throw Error(i(163))}Xs||512&t.flags&&al(t)}catch(m){_c(t,t.return,m)}}if(t===e){Qs=null;break}if(null!==(n=t.sibling)){n.return=t.return,Qs=n;break}Qs=t.return}}function Sl(e){for(;null!==Qs;){var t=Qs;if(t===e){Qs=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Qs=n;break}Qs=t.return}}function vl(e){for(;null!==Qs;){var t=Qs;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{rl(4,t)}catch(l){_c(t,n,l)}break;case 1:var r=t.stateNode;if("function"===typeof r.componentDidMount){var a=t.return;try{r.componentDidMount()}catch(l){_c(t,a,l)}}var i=t.return;try{al(t)}catch(l){_c(t,i,l)}break;case 5:var o=t.return;try{al(t)}catch(l){_c(t,o,l)}}}catch(l){_c(t,t.return,l)}if(t===e){Qs=null;break}var s=t.sibling;if(null!==s){s.return=t.return,Qs=s;break}Qs=t.return}}var Al,_l=Math.ceil,kl=T.ReactCurrentDispatcher,Cl=T.ReactCurrentOwner,wl=T.ReactCurrentBatchConfig,Nl=0,Il=null,Rl=null,xl=0,Ol=0,Ll=_a(0),Pl=0,Dl=null,Ml=0,Fl=0,Ul=0,Bl=null,Gl=null,Hl=0,zl=1/0,$l=null,jl=!1,Vl=null,Wl=null,Kl=!1,ql=null,Yl=0,Xl=0,Zl=null,Ql=-1,Jl=0;function ec(){return 0!==(6&Nl)?Ze():-1!==Ql?Ql:Ql=Ze()}function tc(e){return 0===(1&e.mode)?1:0!==(2&Nl)&&0!==xl?xl&-xl:null!==gi.transition?(0===Jl&&(Jl=gt()),Jl):0!==(e=yt)?e:e=void 0===(e=window.event)?16:Xt(e.type)}function nc(e,t,n,r){if(50<Xl)throw Xl=0,Zl=null,Error(i(185));bt(e,n,r),0!==(2&Nl)&&e===Il||(e===Il&&(0===(2&Nl)&&(Fl|=n),4===Pl&&sc(e,xl)),rc(e,r),1===n&&0===Nl&&0===(1&t.mode)&&(zl=Ze()+500,Ba&&za()))}function rc(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,i=e.pendingLanes;0<i;){var o=31-ot(i),s=1<<o,l=a[o];-1===l?0!==(s&n)&&0===(s&r)||(a[o]=mt(s,t)):l<=t&&(e.expiredLanes|=s),i&=~s}}(e,t);var r=pt(e,e===Il?xl:0);if(0===r)null!==n&&qe(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&qe(n),1===t)0===e.tag?function(e){Ba=!0,Ha(e)}(lc.bind(null,e)):Ha(lc.bind(null,e)),oa((function(){0===(6&Nl)&&za()})),n=null;else{switch(Tt(r)){case 1:n=Je;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=rt}n=Ic(n,ac.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function ac(e,t){if(Ql=-1,Jl=0,0!==(6&Nl))throw Error(i(327));var n=e.callbackNode;if(vc()&&e.callbackNode!==n)return null;var r=pt(e,e===Il?xl:0);if(0===r)return null;if(0!==(30&r)||0!==(r&e.expiredLanes)||t)t=hc(e,r);else{t=r;var a=Nl;Nl|=2;var o=fc();for(Il===e&&xl===t||($l=null,zl=Ze()+500,pc(e,t));;)try{Ec();break}catch(l){mc(e,l)}Si(),kl.current=o,Nl=a,null!==Rl?t=0:(Il=null,xl=0,t=Pl)}if(0!==t){if(2===t&&(0!==(a=ft(e))&&(r=a,t=ic(e,a))),1===t)throw n=Dl,pc(e,0),sc(e,r),rc(e,Ze()),n;if(6===t)sc(e,r);else{if(a=e.current.alternate,0===(30&r)&&!function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var a=n[r],i=a.getSnapshot;a=a.value;try{if(!sr(i(),a))return!1}catch(s){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(a)&&(2===(t=hc(e,r))&&(0!==(o=ft(e))&&(r=o,t=ic(e,o))),1===t))throw n=Dl,pc(e,0),sc(e,r),rc(e,Ze()),n;switch(e.finishedWork=a,e.finishedLanes=r,t){case 0:case 1:throw Error(i(345));case 2:case 5:Sc(e,Gl,$l);break;case 3:if(sc(e,r),(130023424&r)===r&&10<(t=Hl+500-Ze())){if(0!==pt(e,0))break;if(((a=e.suspendedLanes)&r)!==r){ec(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=ra(Sc.bind(null,e,Gl,$l),t);break}Sc(e,Gl,$l);break;case 4:if(sc(e,r),(4194240&r)===r)break;for(t=e.eventTimes,a=-1;0<r;){var s=31-ot(r);o=1<<s,(s=t[s])>a&&(a=s),r&=~o}if(r=a,10<(r=(120>(r=Ze()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*_l(r/1960))-r)){e.timeoutHandle=ra(Sc.bind(null,e,Gl,$l),r);break}Sc(e,Gl,$l);break;default:throw Error(i(329))}}}return rc(e,Ze()),e.callbackNode===n?ac.bind(null,e):null}function ic(e,t){var n=Bl;return e.current.memoizedState.isDehydrated&&(pc(e,t).flags|=256),2!==(e=hc(e,t))&&(t=Gl,Gl=n,null!==t&&oc(t)),e}function oc(e){null===Gl?Gl=e:Gl.push.apply(Gl,e)}function sc(e,t){for(t&=~Ul,t&=~Fl,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-ot(t),r=1<<n;e[n]=-1,t&=~r}}function lc(e){if(0!==(6&Nl))throw Error(i(327));vc();var t=pt(e,0);if(0===(1&t))return rc(e,Ze()),null;var n=hc(e,t);if(0!==e.tag&&2===n){var r=ft(e);0!==r&&(t=r,n=ic(e,r))}if(1===n)throw n=Dl,pc(e,0),sc(e,t),rc(e,Ze()),n;if(6===n)throw Error(i(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Sc(e,Gl,$l),rc(e,Ze()),null}function cc(e,t){var n=Nl;Nl|=1;try{return e(t)}finally{0===(Nl=n)&&(zl=Ze()+500,Ba&&za())}}function uc(e){null!==ql&&0===ql.tag&&0===(6&Nl)&&vc();var t=Nl;Nl|=1;var n=wl.transition,r=yt;try{if(wl.transition=null,yt=1,e)return e()}finally{yt=r,wl.transition=n,0===(6&(Nl=t))&&za()}}function dc(){Ol=Ll.current,ka(Ll)}function pc(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,aa(n)),null!==Rl)for(n=Rl.return;null!==n;){var r=n;switch(ti(r),r.tag){case 1:null!==(r=r.type.childContextTypes)&&void 0!==r&&La();break;case 3:ao(),ka(Ia),ka(Na),uo();break;case 5:oo(r);break;case 4:ao();break;case 13:case 19:ka(so);break;case 10:vi(r.type._context);break;case 22:case 23:dc()}n=n.return}if(Il=e,Rl=e=Lc(e.current,null),xl=Ol=t,Pl=0,Dl=null,Ul=Fl=Ml=0,Gl=Bl=null,null!==Ci){for(t=0;t<Ci.length;t++)if(null!==(r=(n=Ci[t]).interleaved)){n.interleaved=null;var a=r.next,i=n.pending;if(null!==i){var o=i.next;i.next=a,r.next=o}n.pending=r}Ci=null}return e}function mc(e,t){for(;;){var n=Rl;try{if(Si(),po.current=os,Eo){for(var r=go.memoizedState;null!==r;){var a=r.queue;null!==a&&(a.pending=null),r=r.next}Eo=!1}if(fo=0,bo=ho=go=null,yo=!1,To=0,Cl.current=null,null===n||null===n.return){Pl=1,Dl=t,Rl=null;break}e:{var o=e,s=n.return,l=n,c=t;if(t=xl,l.flags|=32768,null!==c&&"object"===typeof c&&"function"===typeof c.then){var u=c,d=l,p=d.tag;if(0===(1&d.mode)&&(0===p||11===p||15===p)){var m=d.alternate;m?(d.updateQueue=m.updateQueue,d.memoizedState=m.memoizedState,d.lanes=m.lanes):(d.updateQueue=null,d.memoizedState=null)}var f=bs(s);if(null!==f){f.flags&=-257,Es(f,s,l,0,t),1&f.mode&&hs(o,u,t),c=u;var g=(t=f).updateQueue;if(null===g){var h=new Set;h.add(c),t.updateQueue=h}else g.add(c);break e}if(0===(1&t)){hs(o,u,t),gc();break e}c=Error(i(426))}else if(ai&&1&l.mode){var b=bs(s);if(null!==b){0===(65536&b.flags)&&(b.flags|=256),Es(b,s,l,0,t),fi(us(c,l));break e}}o=c=us(c,l),4!==Pl&&(Pl=2),null===Bl?Bl=[o]:Bl.push(o),o=s;do{switch(o.tag){case 3:o.flags|=65536,t&=-t,o.lanes|=t,Mi(o,fs(0,c,t));break e;case 1:l=c;var E=o.type,y=o.stateNode;if(0===(128&o.flags)&&("function"===typeof E.getDerivedStateFromError||null!==y&&"function"===typeof y.componentDidCatch&&(null===Wl||!Wl.has(y)))){o.flags|=65536,t&=-t,o.lanes|=t,Mi(o,gs(o,l,t));break e}}o=o.return}while(null!==o)}Tc(n)}catch(T){t=T,Rl===n&&null!==n&&(Rl=n=n.return);continue}break}}function fc(){var e=kl.current;return kl.current=os,null===e?os:e}function gc(){0!==Pl&&3!==Pl&&2!==Pl||(Pl=4),null===Il||0===(268435455&Ml)&&0===(268435455&Fl)||sc(Il,xl)}function hc(e,t){var n=Nl;Nl|=2;var r=fc();for(Il===e&&xl===t||($l=null,pc(e,t));;)try{bc();break}catch(a){mc(e,a)}if(Si(),Nl=n,kl.current=r,null!==Rl)throw Error(i(261));return Il=null,xl=0,Pl}function bc(){for(;null!==Rl;)yc(Rl)}function Ec(){for(;null!==Rl&&!Ye();)yc(Rl)}function yc(e){var t=Al(e.alternate,e,Ol);e.memoizedProps=e.pendingProps,null===t?Tc(e):Rl=t,Cl.current=null}function Tc(e){var t=e;do{var n=t.alternate;if(e=t.return,0===(32768&t.flags)){if(null!==(n=Ks(n,t,Ol)))return void(Rl=n)}else{if(null!==(n=qs(n,t)))return n.flags&=32767,void(Rl=n);if(null===e)return Pl=6,void(Rl=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}if(null!==(t=t.sibling))return void(Rl=t);Rl=t=e}while(null!==t);0===Pl&&(Pl=5)}function Sc(e,t,n){var r=yt,a=wl.transition;try{wl.transition=null,yt=1,function(e,t,n,r){do{vc()}while(null!==ql);if(0!==(6&Nl))throw Error(i(327));n=e.finishedWork;var a=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(i(177));e.callbackNode=null,e.callbackPriority=0;var o=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var a=31-ot(n),i=1<<a;t[a]=0,r[a]=-1,e[a]=-1,n&=~i}}(e,o),e===Il&&(Rl=Il=null,xl=0),0===(2064&n.subtreeFlags)&&0===(2064&n.flags)||Kl||(Kl=!0,Ic(tt,(function(){return vc(),null}))),o=0!==(15990&n.flags),0!==(15990&n.subtreeFlags)||o){o=wl.transition,wl.transition=null;var s=yt;yt=1;var l=Nl;Nl|=4,Cl.current=null,function(e,t){if(ea=jt,mr(e=pr())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch(S){n=null;break e}var s=0,l=-1,c=-1,u=0,d=0,p=e,m=null;t:for(;;){for(var f;p!==n||0!==a&&3!==p.nodeType||(l=s+a),p!==o||0!==r&&3!==p.nodeType||(c=s+r),3===p.nodeType&&(s+=p.nodeValue.length),null!==(f=p.firstChild);)m=p,p=f;for(;;){if(p===e)break t;if(m===n&&++u===a&&(l=s),m===o&&++d===r&&(c=s),null!==(f=p.nextSibling))break;m=(p=m).parentNode}p=f}n=-1===l||-1===c?null:{start:l,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(ta={focusedElem:e,selectionRange:n},jt=!1,Qs=t;null!==Qs;)if(e=(t=Qs).child,0!==(1028&t.subtreeFlags)&&null!==e)e.return=t,Qs=e;else for(;null!==Qs;){t=Qs;try{var g=t.alternate;if(0!==(1024&t.flags))switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==g){var h=g.memoizedProps,b=g.memoizedState,E=t.stateNode,y=E.getSnapshotBeforeUpdate(t.elementType===t.type?h:hi(t.type,h),b);E.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var T=t.stateNode.containerInfo;1===T.nodeType?T.textContent="":9===T.nodeType&&T.documentElement&&T.removeChild(T.documentElement);break;default:throw Error(i(163))}}catch(S){_c(t,t.return,S)}if(null!==(e=t.sibling)){e.return=t.return,Qs=e;break}Qs=t.return}g=tl,tl=!1}(e,n),hl(n,e),fr(ta),jt=!!ea,ta=ea=null,e.current=n,El(n,e,a),Xe(),Nl=l,yt=s,wl.transition=o}else e.current=n;if(Kl&&(Kl=!1,ql=e,Yl=a),0===(o=e.pendingLanes)&&(Wl=null),function(e){if(it&&"function"===typeof it.onCommitFiberRoot)try{it.onCommitFiberRoot(at,e,void 0,128===(128&e.current.flags))}catch(t){}}(n.stateNode),rc(e,Ze()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)r((a=t[n]).value,{componentStack:a.stack,digest:a.digest});if(jl)throw jl=!1,e=Vl,Vl=null,e;0!==(1&Yl)&&0!==e.tag&&vc(),0!==(1&(o=e.pendingLanes))?e===Zl?Xl++:(Xl=0,Zl=e):Xl=0,za()}(e,t,n,r)}finally{wl.transition=a,yt=r}return null}function vc(){if(null!==ql){var e=Tt(Yl),t=wl.transition,n=yt;try{if(wl.transition=null,yt=16>e?16:e,null===ql)var r=!1;else{if(e=ql,ql=null,Yl=0,0!==(6&Nl))throw Error(i(331));var a=Nl;for(Nl|=4,Qs=e.current;null!==Qs;){var o=Qs,s=o.child;if(0!==(16&Qs.flags)){var l=o.deletions;if(null!==l){for(var c=0;c<l.length;c++){var u=l[c];for(Qs=u;null!==Qs;){var d=Qs;switch(d.tag){case 0:case 11:case 15:nl(8,d,o)}var p=d.child;if(null!==p)p.return=d,Qs=p;else for(;null!==Qs;){var m=(d=Qs).sibling,f=d.return;if(il(d),d===u){Qs=null;break}if(null!==m){m.return=f,Qs=m;break}Qs=f}}}var g=o.alternate;if(null!==g){var h=g.child;if(null!==h){g.child=null;do{var b=h.sibling;h.sibling=null,h=b}while(null!==h)}}Qs=o}}if(0!==(2064&o.subtreeFlags)&&null!==s)s.return=o,Qs=s;else e:for(;null!==Qs;){if(0!==(2048&(o=Qs).flags))switch(o.tag){case 0:case 11:case 15:nl(9,o,o.return)}var E=o.sibling;if(null!==E){E.return=o.return,Qs=E;break e}Qs=o.return}}var y=e.current;for(Qs=y;null!==Qs;){var T=(s=Qs).child;if(0!==(2064&s.subtreeFlags)&&null!==T)T.return=s,Qs=T;else e:for(s=y;null!==Qs;){if(0!==(2048&(l=Qs).flags))try{switch(l.tag){case 0:case 11:case 15:rl(9,l)}}catch(v){_c(l,l.return,v)}if(l===s){Qs=null;break e}var S=l.sibling;if(null!==S){S.return=l.return,Qs=S;break e}Qs=l.return}}if(Nl=a,za(),it&&"function"===typeof it.onPostCommitFiberRoot)try{it.onPostCommitFiberRoot(at,e)}catch(v){}r=!0}return r}finally{yt=n,wl.transition=t}}return!1}function Ac(e,t,n){e=Pi(e,t=fs(0,t=us(n,t),1),1),t=ec(),null!==e&&(bt(e,1,t),rc(e,t))}function _c(e,t,n){if(3===e.tag)Ac(e,e,n);else for(;null!==t;){if(3===t.tag){Ac(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"===typeof t.type.getDerivedStateFromError||"function"===typeof r.componentDidCatch&&(null===Wl||!Wl.has(r))){t=Pi(t,e=gs(t,e=us(n,e),1),1),e=ec(),null!==t&&(bt(t,1,e),rc(t,e));break}}t=t.return}}function kc(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=ec(),e.pingedLanes|=e.suspendedLanes&n,Il===e&&(xl&n)===n&&(4===Pl||3===Pl&&(130023424&xl)===xl&&500>Ze()-Hl?pc(e,0):Ul|=n),rc(e,t)}function Cc(e,t){0===t&&(0===(1&e.mode)?t=1:(t=ut,0===(130023424&(ut<<=1))&&(ut=4194304)));var n=ec();null!==(e=Ii(e,t))&&(bt(e,t,n),rc(e,n))}function wc(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Cc(e,n)}function Nc(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,a=e.memoizedState;null!==a&&(n=a.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(i(314))}null!==r&&r.delete(t),Cc(e,n)}function Ic(e,t){return Ke(e,t)}function Rc(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function xc(e,t,n,r){return new Rc(e,t,n,r)}function Oc(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Lc(e,t){var n=e.alternate;return null===n?((n=xc(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Pc(e,t,n,r,a,o){var s=2;if(r=e,"function"===typeof e)Oc(e)&&(s=1);else if("string"===typeof e)s=5;else e:switch(e){case A:return Dc(n.children,a,o,t);case _:s=8,a|=8;break;case k:return(e=xc(12,n,t,2|a)).elementType=k,e.lanes=o,e;case I:return(e=xc(13,n,t,a)).elementType=I,e.lanes=o,e;case R:return(e=xc(19,n,t,a)).elementType=R,e.lanes=o,e;case L:return Mc(n,a,o,t);default:if("object"===typeof e&&null!==e)switch(e.$$typeof){case C:s=10;break e;case w:s=9;break e;case N:s=11;break e;case x:s=14;break e;case O:s=16,r=null;break e}throw Error(i(130,null==e?e:typeof e,""))}return(t=xc(s,n,t,a)).elementType=e,t.type=r,t.lanes=o,t}function Dc(e,t,n,r){return(e=xc(7,e,r,t)).lanes=n,e}function Mc(e,t,n,r){return(e=xc(22,e,r,t)).elementType=L,e.lanes=n,e.stateNode={isHidden:!1},e}function Fc(e,t,n){return(e=xc(6,e,null,t)).lanes=n,e}function Uc(e,t,n){return(t=xc(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Bc(e,t,n,r,a){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ht(0),this.expirationTimes=ht(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ht(0),this.identifierPrefix=r,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function Gc(e,t,n,r,a,i,o,s,l){return e=new Bc(e,t,n,s,l),1===t?(t=1,!0===i&&(t|=8)):t=0,i=xc(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},xi(i),e}function Hc(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:v,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}function zc(e){if(!e)return wa;e:{if(ze(e=e._reactInternals)!==e||1!==e.tag)throw Error(i(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Oa(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(i(171))}if(1===e.tag){var n=e.type;if(Oa(n))return Da(e,n,t)}return t}function $c(e,t,n,r,a,i,o,s,l){return(e=Gc(n,r,!0,e,0,i,0,s,l)).context=zc(null),n=e.current,(i=Li(r=ec(),a=tc(n))).callback=void 0!==t&&null!==t?t:null,Pi(n,i,a),e.current.lanes=a,bt(e,a,r),rc(e,r),e}function jc(e,t,n,r){var a=t.current,i=ec(),o=tc(a);return n=zc(n),null===t.context?t.context=n:t.pendingContext=n,(t=Li(i,o)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=Pi(a,t,o))&&(nc(e,a,o,i),Di(e,a,o)),o}function Vc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Wc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Kc(e,t){Wc(e,t),(e=e.alternate)&&Wc(e,t)}Al=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||Ia.current)Ts=!0;else{if(0===(e.lanes&n)&&0===(128&t.flags))return Ts=!1,function(e,t,n){switch(t.tag){case 3:Rs(t),mi();break;case 5:io(t);break;case 1:Oa(t.type)&&Ma(t);break;case 4:ro(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,a=t.memoizedProps.value;Ca(bi,r._currentValue),r._currentValue=a;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(Ca(so,1&so.current),t.flags|=128,null):0!==(n&t.child.childLanes)?Fs(e,t,n):(Ca(so,1&so.current),null!==(e=js(e,t,n))?e.sibling:null);Ca(so,1&so.current);break;case 19:if(r=0!==(n&t.childLanes),0!==(128&e.flags)){if(r)return zs(e,t,n);t.flags|=128}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),Ca(so,so.current),r)break;return null;case 22:case 23:return t.lanes=0,ks(e,t,n)}return js(e,t,n)}(e,t,n);Ts=0!==(131072&e.flags)}else Ts=!1,ai&&0!==(1048576&t.flags)&&Ja(t,Wa,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;$s(e,t),e=t.pendingProps;var a=xa(t,Na.current);_i(t,n),a=_o(null,t,r,e,a,n);var o=ko();return t.flags|=1,"object"===typeof a&&null!==a&&"function"===typeof a.render&&void 0===a.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Oa(r)?(o=!0,Ma(t)):o=!1,t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,xi(t),a.updater=Hi,t.stateNode=a,a._reactInternals=t,Vi(t,r,e,n),t=Is(null,t,r,!0,o,n)):(t.tag=0,ai&&o&&ei(t),Ss(null,t,a,n),t=t.child),t;case 16:r=t.elementType;e:{switch($s(e,t),e=t.pendingProps,r=(a=r._init)(r._payload),t.type=r,a=t.tag=function(e){if("function"===typeof e)return Oc(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===N)return 11;if(e===x)return 14}return 2}(r),e=hi(r,e),a){case 0:t=ws(null,t,r,e,n);break e;case 1:t=Ns(null,t,r,e,n);break e;case 11:t=vs(null,t,r,e,n);break e;case 14:t=As(null,t,r,hi(r.type,e),n);break e}throw Error(i(306,r,""))}return t;case 0:return r=t.type,a=t.pendingProps,ws(e,t,r,a=t.elementType===r?a:hi(r,a),n);case 1:return r=t.type,a=t.pendingProps,Ns(e,t,r,a=t.elementType===r?a:hi(r,a),n);case 3:e:{if(Rs(t),null===e)throw Error(i(387));r=t.pendingProps,a=(o=t.memoizedState).element,Oi(e,t),Fi(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated){if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,256&t.flags){t=xs(e,t,r,n,a=us(Error(i(423)),t));break e}if(r!==a){t=xs(e,t,r,n,a=us(Error(i(424)),t));break e}for(ri=ca(t.stateNode.containerInfo.firstChild),ni=t,ai=!0,ii=null,n=Zi(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(mi(),r===a){t=js(e,t,n);break e}Ss(e,t,r,n)}t=t.child}return t;case 5:return io(t),null===e&&ci(t),r=t.type,a=t.pendingProps,o=null!==e?e.memoizedProps:null,s=a.children,na(r,a)?s=null:null!==o&&na(r,o)&&(t.flags|=32),Cs(e,t),Ss(e,t,s,n),t.child;case 6:return null===e&&ci(t),null;case 13:return Fs(e,t,n);case 4:return ro(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Xi(t,null,r,n):Ss(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,vs(e,t,r,a=t.elementType===r?a:hi(r,a),n);case 7:return Ss(e,t,t.pendingProps,n),t.child;case 8:case 12:return Ss(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,a=t.pendingProps,o=t.memoizedProps,s=a.value,Ca(bi,r._currentValue),r._currentValue=s,null!==o)if(sr(o.value,s)){if(o.children===a.children&&!Ia.current){t=js(e,t,n);break e}}else for(null!==(o=t.child)&&(o.return=t);null!==o;){var l=o.dependencies;if(null!==l){s=o.child;for(var c=l.firstContext;null!==c;){if(c.context===r){if(1===o.tag){(c=Li(-1,n&-n)).tag=2;var u=o.updateQueue;if(null!==u){var d=(u=u.shared).pending;null===d?c.next=c:(c.next=d.next,d.next=c),u.pending=c}}o.lanes|=n,null!==(c=o.alternate)&&(c.lanes|=n),Ai(o.return,n,t),l.lanes|=n;break}c=c.next}}else if(10===o.tag)s=o.type===t.type?null:o.child;else if(18===o.tag){if(null===(s=o.return))throw Error(i(341));s.lanes|=n,null!==(l=s.alternate)&&(l.lanes|=n),Ai(s,n,t),s=o.sibling}else s=o.child;if(null!==s)s.return=o;else for(s=o;null!==s;){if(s===t){s=null;break}if(null!==(o=s.sibling)){o.return=s.return,s=o;break}s=s.return}o=s}Ss(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=t.pendingProps.children,_i(t,n),r=r(a=ki(a)),t.flags|=1,Ss(e,t,r,n),t.child;case 14:return a=hi(r=t.type,t.pendingProps),As(e,t,r,a=hi(r.type,a),n);case 15:return _s(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:hi(r,a),$s(e,t),t.tag=1,Oa(r)?(e=!0,Ma(t)):e=!1,_i(t,n),$i(t,r,a),Vi(t,r,a,n),Is(null,t,r,!0,e,n);case 19:return zs(e,t,n);case 22:return ks(e,t,n)}throw Error(i(156,t.tag))};var qc="function"===typeof reportError?reportError:function(e){console.error(e)};function Yc(e){this._internalRoot=e}function Xc(e){this._internalRoot=e}function Zc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Qc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Jc(){}function eu(e,t,n,r,a){var i=n._reactRootContainer;if(i){var o=i;if("function"===typeof a){var s=a;a=function(){var e=Vc(o);s.call(e)}}jc(t,o,e,a)}else o=function(e,t,n,r,a){if(a){if("function"===typeof r){var i=r;r=function(){var e=Vc(o);i.call(e)}}var o=$c(t,r,e,0,null,!1,0,"",Jc);return e._reactRootContainer=o,e[fa]=o.current,zr(8===e.nodeType?e.parentNode:e),uc(),o}for(;a=e.lastChild;)e.removeChild(a);if("function"===typeof r){var s=r;r=function(){var e=Vc(l);s.call(e)}}var l=Gc(e,0,!1,null,0,!1,0,"",Jc);return e._reactRootContainer=l,e[fa]=l.current,zr(8===e.nodeType?e.parentNode:e),uc((function(){jc(t,l,n,r)})),l}(n,t,e,a,r);return Vc(o)}Xc.prototype.render=Yc.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(i(409));jc(e,t,null,null)},Xc.prototype.unmount=Yc.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;uc((function(){jc(null,e,null,null)})),t[fa]=null}},Xc.prototype.unstable_scheduleHydration=function(e){if(e){var t=_t();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Lt.length&&0!==t&&t<Lt[n].priority;n++);Lt.splice(n,0,e),0===n&&Ft(e)}},St=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=dt(t.pendingLanes);0!==n&&(Et(t,1|n),rc(t,Ze()),0===(6&Nl)&&(zl=Ze()+500,za()))}break;case 13:uc((function(){var t=Ii(e,1);if(null!==t){var n=ec();nc(t,e,1,n)}})),Kc(e,1)}},vt=function(e){if(13===e.tag){var t=Ii(e,134217728);if(null!==t)nc(t,e,134217728,ec());Kc(e,134217728)}},At=function(e){if(13===e.tag){var t=tc(e),n=Ii(e,t);if(null!==n)nc(n,e,t,ec());Kc(e,t)}},_t=function(){return yt},kt=function(e,t){var n=yt;try{return yt=e,t()}finally{yt=n}},ve=function(e,t,n){switch(t){case"input":if(Q(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=Sa(r);if(!a)throw Error(i(90));K(r),Q(r,a)}}}break;case"textarea":ie(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Ne=cc,Ie=uc;var tu={usingClientEntryPoint:!1,Events:[ya,Ta,Sa,Ce,we,cc]},nu={findFiberByHostInstance:Ea,bundleType:0,version:"18.2.0",rendererPackageName:"react-dom"},ru={bundleType:nu.bundleType,version:nu.version,rendererPackageName:nu.rendererPackageName,rendererConfig:nu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:T.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ve(e))?null:e.stateNode},findFiberByHostInstance:nu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0-next-9e3b772b8-20220608"};if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var au=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!au.isDisabled&&au.supportsFiber)try{at=au.inject(ru),it=au}catch(ue){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tu,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Zc(t))throw Error(i(200));return Hc(e,t,null,n)},t.createRoot=function(e,t){if(!Zc(e))throw Error(i(299));var n=!1,r="",a=qc;return null!==t&&void 0!==t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(a=t.onRecoverableError)),t=Gc(e,1,!1,null,0,n,0,r,a),e[fa]=t.current,zr(8===e.nodeType?e.parentNode:e),new Yc(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"===typeof e.render)throw Error(i(188));throw e=Object.keys(e).join(","),Error(i(268,e))}return e=null===(e=Ve(t))?null:e.stateNode},t.flushSync=function(e){return uc(e)},t.hydrate=function(e,t,n){if(!Qc(t))throw Error(i(200));return eu(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Zc(e))throw Error(i(405));var r=null!=n&&n.hydratedSources||null,a=!1,o="",s=qc;if(null!==n&&void 0!==n&&(!0===n.unstable_strictMode&&(a=!0),void 0!==n.identifierPrefix&&(o=n.identifierPrefix),void 0!==n.onRecoverableError&&(s=n.onRecoverableError)),t=$c(t,null,e,1,null!=n?n:null,a,0,o,s),e[fa]=t.current,zr(e),r)for(e=0;e<r.length;e++)a=(a=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,a]:t.mutableSourceEagerHydrationData.push(n,a);return new Xc(t)},t.render=function(e,t,n){if(!Qc(t))throw Error(i(200));return eu(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Qc(e))throw Error(i(40));return!!e._reactRootContainer&&(uc((function(){eu(null,null,e,!1,(function(){e._reactRootContainer=null,e[fa]=null}))})),!0)},t.unstable_batchedUpdates=cc,t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Qc(n))throw Error(i(200));if(null==e||void 0===e._reactInternals)throw Error(i(38));return eu(e,t,n,!1,r)},t.version="18.2.0-next-9e3b772b8-20220608"},1250:function(e,t,n){"use strict";var r=n(4164);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},4164:function(e,t,n){"use strict";!function e(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(4463)},1372:function(e,t){"use strict";var n=60103,r=60106,a=60107,i=60108,o=60114,s=60109,l=60110,c=60112,u=60113,d=60120,p=60115,m=60116,f=60121,g=60122,h=60117,b=60129,E=60131;if("function"===typeof Symbol&&Symbol.for){var y=Symbol.for;n=y("react.element"),r=y("react.portal"),a=y("react.fragment"),i=y("react.strict_mode"),o=y("react.profiler"),s=y("react.provider"),l=y("react.context"),c=y("react.forward_ref"),u=y("react.suspense"),d=y("react.suspense_list"),p=y("react.memo"),m=y("react.lazy"),f=y("react.block"),g=y("react.server.block"),h=y("react.fundamental"),b=y("react.debug_trace_mode"),E=y("react.legacy_hidden")}function T(e){if("object"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:switch(e=e.type){case a:case o:case i:case u:case d:return e;default:switch(e=e&&e.$$typeof){case l:case c:case m:case p:case s:return e;default:return t}}case r:return t}}}var S=s,v=n,A=c,_=a,k=m,C=p,w=r,N=o,I=i,R=u;t.ContextConsumer=l,t.ContextProvider=S,t.Element=v,t.ForwardRef=A,t.Fragment=_,t.Lazy=k,t.Memo=C,t.Portal=w,t.Profiler=N,t.StrictMode=I,t.Suspense=R,t.isAsyncMode=function(){return!1},t.isConcurrentMode=function(){return!1},t.isContextConsumer=function(e){return T(e)===l},t.isContextProvider=function(e){return T(e)===s},t.isElement=function(e){return"object"===typeof e&&null!==e&&e.$$typeof===n},t.isForwardRef=function(e){return T(e)===c},t.isFragment=function(e){return T(e)===a},t.isLazy=function(e){return T(e)===m},t.isMemo=function(e){return T(e)===p},t.isPortal=function(e){return T(e)===r},t.isProfiler=function(e){return T(e)===o},t.isStrictMode=function(e){return T(e)===i},t.isSuspense=function(e){return T(e)===u},t.isValidElementType=function(e){return"string"===typeof e||"function"===typeof e||e===a||e===o||e===b||e===i||e===u||e===d||e===E||"object"===typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===p||e.$$typeof===s||e.$$typeof===l||e.$$typeof===c||e.$$typeof===h||e.$$typeof===f||e[0]===g)},t.typeOf=T},7441:function(e,t,n){"use strict";e.exports=n(1372)},6374:function(e,t,n){"use strict";var r=n(2791),a=Symbol.for("react.element"),i=Symbol.for("react.fragment"),o=Object.prototype.hasOwnProperty,s=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var r,i={},c=null,u=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)o.call(t,r)&&!l.hasOwnProperty(r)&&(i[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===i[r]&&(i[r]=t[r]);return{$$typeof:a,type:e,key:c,ref:u,props:i,_owner:s.current}}t.Fragment=i,t.jsx=c,t.jsxs=c},9117:function(e,t){"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),m=Symbol.iterator;var f={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,h={};function b(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||f}function E(){}function y(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||f}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!==typeof e&&"function"!==typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},E.prototype=b.prototype;var T=y.prototype=new E;T.constructor=y,g(T,b.prototype),T.isPureReactComponent=!0;var S=Array.isArray,v=Object.prototype.hasOwnProperty,A={current:null},_={key:!0,ref:!0,__self:!0,__source:!0};function k(e,t,r){var a,i={},o=null,s=null;if(null!=t)for(a in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(o=""+t.key),t)v.call(t,a)&&!_.hasOwnProperty(a)&&(i[a]=t[a]);var l=arguments.length-2;if(1===l)i.children=r;else if(1<l){for(var c=Array(l),u=0;u<l;u++)c[u]=arguments[u+2];i.children=c}if(e&&e.defaultProps)for(a in l=e.defaultProps)void 0===i[a]&&(i[a]=l[a]);return{$$typeof:n,type:e,key:o,ref:s,props:i,_owner:A.current}}function C(e){return"object"===typeof e&&null!==e&&e.$$typeof===n}var w=/\/+/g;function N(e,t){return"object"===typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function I(e,t,a,i,o){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var l=!1;if(null===e)l=!0;else switch(s){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case n:case r:l=!0}}if(l)return o=o(l=e),e=""===i?"."+N(l,0):i,S(o)?(a="",null!=e&&(a=e.replace(w,"$&/")+"/"),I(o,t,a,"",(function(e){return e}))):null!=o&&(C(o)&&(o=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(o,a+(!o.key||l&&l.key===o.key?"":(""+o.key).replace(w,"$&/")+"/")+e)),t.push(o)),1;if(l=0,i=""===i?".":i+":",S(e))for(var c=0;c<e.length;c++){var u=i+N(s=e[c],c);l+=I(s,t,a,u,o)}else if(u=function(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=m&&e[m]||e["@@iterator"])?e:null}(e),"function"===typeof u)for(e=u.call(e),c=0;!(s=e.next()).done;)l+=I(s=s.value,t,a,u=i+N(s,c++),o);else if("object"===s)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return l}function R(e,t,n){if(null==e)return e;var r=[],a=0;return I(e,r,"","",(function(e){return t.call(n,e,a++)})),r}function x(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var O={current:null},L={transition:null},P={ReactCurrentDispatcher:O,ReactCurrentBatchConfig:L,ReactCurrentOwner:A};t.Children={map:R,forEach:function(e,t,n){R(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return R(e,(function(){t++})),t},toArray:function(e){return R(e,(function(e){return e}))||[]},only:function(e){if(!C(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=b,t.Fragment=a,t.Profiler=o,t.PureComponent=y,t.StrictMode=i,t.Suspense=u,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=P,t.cloneElement=function(e,t,r){if(null===e||void 0===e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var a=g({},e.props),i=e.key,o=e.ref,s=e._owner;if(null!=t){if(void 0!==t.ref&&(o=t.ref,s=A.current),void 0!==t.key&&(i=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)v.call(t,c)&&!_.hasOwnProperty(c)&&(a[c]=void 0===t[c]&&void 0!==l?l[c]:t[c])}var c=arguments.length-2;if(1===c)a.children=r;else if(1<c){l=Array(c);for(var u=0;u<c;u++)l[u]=arguments[u+2];a.children=l}return{$$typeof:n,type:e.type,key:i,ref:o,props:a,_owner:s}},t.createContext=function(e){return(e={$$typeof:l,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:s,_context:e},e.Consumer=e},t.createElement=k,t.createFactory=function(e){var t=k.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:c,render:e}},t.isValidElement=C,t.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:x}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=L.transition;L.transition={};try{e()}finally{L.transition=t}},t.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")},t.useCallback=function(e,t){return O.current.useCallback(e,t)},t.useContext=function(e){return O.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return O.current.useDeferredValue(e)},t.useEffect=function(e,t){return O.current.useEffect(e,t)},t.useId=function(){return O.current.useId()},t.useImperativeHandle=function(e,t,n){return O.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return O.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return O.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return O.current.useMemo(e,t)},t.useReducer=function(e,t,n){return O.current.useReducer(e,t,n)},t.useRef=function(e){return O.current.useRef(e)},t.useState=function(e){return O.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return O.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return O.current.useTransition()},t.version="18.2.0"},2791:function(e,t,n){"use strict";e.exports=n(9117)},184:function(e,t,n){"use strict";e.exports=n(6374)},8959:function(e,t,n){"use strict";var r="object"===typeof globalThis?globalThis:"object"===typeof self?self:"object"===typeof window?window:"object"===typeof n.g?n.g:{},a=function(){var e="Prism"in r,t=e?r.Prism:void 0;return function(){e?r.Prism=t:delete r.Prism;e=void 0,t=void 0}}();r.Prism={manual:!0,disableWorkerMessageHandler:!0};var i=n(6913),o=n(5434),s=n(3264),l=n(2357),c=n(9625),u=n(3052),d=n(7556);a();var p={}.hasOwnProperty;function m(){}m.prototype=s;var f=new m;function g(e){if("function"!==typeof e||!e.displayName)throw new Error("Expected `function` for `grammar`, got `"+e+"`");void 0===f.languages[e.displayName]&&e(f)}e.exports=f,f.highlight=function(e,t){var n,r=s.highlight;if("string"!==typeof e)throw new Error("Expected `string` for `value`, got `"+e+"`");if("Object"===f.util.type(t))n=t,t=null;else{if("string"!==typeof t)throw new Error("Expected `string` for `name`, got `"+t+"`");if(!p.call(f.languages,t))throw new Error("Unknown language: `"+t+"` is not registered");n=f.languages[t]}return r.call(this,e,n,t)},f.register=g,f.alias=function(e,t){var n,r,a,i,o=f.languages,s=e;t&&((s={})[e]=t);for(n in s)for(r=s[n],a=(r="string"===typeof r?[r]:r).length,i=-1;++i<a;)o[r[i]]=o[n]},f.registered=function(e){if("string"!==typeof e)throw new Error("Expected `string` for `language`, got `"+e+"`");return p.call(f.languages,e)},f.listLanguages=function(){var e,t=f.languages,n=[];for(e in t)p.call(t,e)&&"object"===typeof t[e]&&n.push(e);return n},g(l),g(c),g(u),g(d),f.util.encode=function(e){return e},f.Token.stringify=function(e,t,n){var r;if("string"===typeof e)return{type:"text",value:e};if("Array"===f.util.type(e))return function(e,t){var n,r=[],a=e.length,i=-1;for(;++i<a;)""!==(n=e[i])&&null!==n&&void 0!==n&&r.push(n);i=-1,a=r.length;for(;++i<a;)n=r[i],r[i]=f.Token.stringify(n,t,r);return r}(e,t);r={type:e.type,content:f.Token.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n},e.alias&&(r.classes=r.classes.concat(e.alias));return f.hooks.run("wrap",r),i(r.tag+"."+r.classes.join("."),function(e){var t;for(t in e)e[t]=o(e[t]);return e}(r.attributes),r.content)}},9158:function(e,t,n){"use strict";var r=n(8959);e.exports=r,r.register(n(9743)),r.register(n(6887)),r.register(n(8081)),r.register(n(2677)),r.register(n(2239)),r.register(n(3306)),r.register(n(5001)),r.register(n(6748)),r.register(n(4556)),r.register(n(5775)),r.register(n(118)),r.register(n(9134)),r.register(n(4144)),r.register(n(7209)),r.register(n(4865)),r.register(n(2083)),r.register(n(6054)),r.register(n(476)),r.register(n(9894)),r.register(n(4291)),r.register(n(3981)),r.register(n(9730)),r.register(n(7033)),r.register(n(7867)),r.register(n(9607)),r.register(n(150)),r.register(n(3098)),r.register(n(4786)),r.register(n(6938)),r.register(n(9784)),r.register(n(2689)),r.register(n(6514)),r.register(n(25)),r.register(n(7501)),r.register(n(272)),r.register(n(943)),r.register(n(9785)),r.register(n(9529)),r.register(n(1915)),r.register(n(3549)),r.register(n(4732)),r.register(n(6522)),r.register(n(3723)),r.register(n(423)),r.register(n(8593)),r.register(n(7916)),r.register(n(3281)),r.register(n(9333)),r.register(n(3524)),r.register(n(9689)),r.register(n(691)),r.register(n(4704)),r.register(n(3818)),r.register(n(583)),r.register(n(5462)),r.register(n(1717)),r.register(n(6655)),r.register(n(9442)),r.register(n(6412)),r.register(n(8818)),r.register(n(3386)),r.register(n(7837)),r.register(n(9845)),r.register(n(6268)),r.register(n(4326)),r.register(n(8331)),r.register(n(3596)),r.register(n(3972)),r.register(n(4665)),r.register(n(865)),r.register(n(6168)),r.register(n(8171)),r.register(n(6175)),r.register(n(4988)),r.register(n(2727)),r.register(n(4037)),r.register(n(9770)),r.register(n(1987)),r.register(n(1505)),r.register(n(8403)),r.register(n(9124)),r.register(n(8495)),r.register(n(1019)),r.register(n(3666)),r.register(n(5120)),r.register(n(214)),r.register(n(1903)),r.register(n(288)),r.register(n(78)),r.register(n(8558)),r.register(n(8430)),r.register(n(7986)),r.register(n(7865)),r.register(n(4490)),r.register(n(9233)),r.register(n(6647)),r.register(n(8237)),r.register(n(9814)),r.register(n(8661)),r.register(n(5727)),r.register(n(7761)),r.register(n(6722)),r.register(n(1469)),r.register(n(8340)),r.register(n(8925)),r.register(n(3298)),r.register(n(3390)),r.register(n(7145)),r.register(n(4600)),r.register(n(3409)),r.register(n(4197)),r.register(n(3269)),r.register(n(5543)),r.register(n(8428)),r.register(n(9285)),r.register(n(1570)),r.register(n(9298)),r.register(n(32)),r.register(n(6044)),r.register(n(1408)),r.register(n(750)),r.register(n(2327)),r.register(n(837)),r.register(n(7778)),r.register(n(2117)),r.register(n(3228)),r.register(n(765)),r.register(n(1905)),r.register(n(6776)),r.register(n(8714)),r.register(n(8471)),r.register(n(2286)),r.register(n(6513)),r.register(n(5999)),r.register(n(9405)),r.register(n(9135)),r.register(n(382)),r.register(n(1146)),r.register(n(3807)),r.register(n(3062)),r.register(n(5467)),r.register(n(2112)),r.register(n(1343)),r.register(n(6759)),r.register(n(9987)),r.register(n(7589)),r.register(n(7932)),r.register(n(595)),r.register(n(93)),r.register(n(4234)),r.register(n(1102)),r.register(n(2172)),r.register(n(1337)),r.register(n(5638)),r.register(n(54)),r.register(n(1741)),r.register(n(2089)),r.register(n(5739)),r.register(n(8347)),r.register(n(9899)),r.register(n(2420)),r.register(n(2019)),r.register(n(2618)),r.register(n(8659)),r.register(n(6e3)),r.register(n(7190)),r.register(n(1465)),r.register(n(9263)),r.register(n(4974)),r.register(n(6296)),r.register(n(6778)),r.register(n(6792)),r.register(n(6478)),r.register(n(6806)),r.register(n(347)),r.register(n(7976)),r.register(n(7484)),r.register(n(3205)),r.register(n(1797)),r.register(n(7241)),r.register(n(7304)),r.register(n(7613)),r.register(n(7363)),r.register(n(7953)),r.register(n(4986)),r.register(n(4970)),r.register(n(5725)),r.register(n(7415)),r.register(n(9164)),r.register(n(4973)),r.register(n(1344)),r.register(n(9862)),r.register(n(354)),r.register(n(883)),r.register(n(3983)),r.register(n(2935)),r.register(n(5888)),r.register(n(9596)),r.register(n(6395)),r.register(n(7679)),r.register(n(2406)),r.register(n(2014)),r.register(n(548)),r.register(n(6023)),r.register(n(4005)),r.register(n(9982)),r.register(n(4184)),r.register(n(8228)),r.register(n(7937)),r.register(n(5728)),r.register(n(1528)),r.register(n(6326)),r.register(n(771)),r.register(n(4840)),r.register(n(1357)),r.register(n(7719)),r.register(n(2284)),r.register(n(1254)),r.register(n(6442)),r.register(n(2034)),r.register(n(9676)),r.register(n(9895)),r.register(n(3775)),r.register(n(5767)),r.register(n(9093)),r.register(n(8768)),r.register(n(8517)),r.register(n(7942)),r.register(n(4457)),r.register(n(7740)),r.register(n(4038)),r.register(n(4585)),r.register(n(692)),r.register(n(3171)),r.register(n(2257)),r.register(n(5559)),r.register(n(9547)),r.register(n(9338)),r.register(n(5515)),r.register(n(4207)),r.register(n(7492)),r.register(n(6453)),r.register(n(6686)),r.register(n(7369)),r.register(n(7191)),r.register(n(3089)),r.register(n(4411)),r.register(n(9669)),r.register(n(4773)),r.register(n(3210)),r.register(n(2613)),r.register(n(4317)),r.register(n(1927)),r.register(n(6845)),r.register(n(4941)),r.register(n(9803)),r.register(n(1107)),r.register(n(1413)),r.register(n(3555)),r.register(n(7117)),r.register(n(3244)),r.register(n(3673)),r.register(n(8953)),r.register(n(6747)),r.register(n(4211)),r.register(n(8832)),r.register(n(8186)),r.register(n(3679)),r.register(n(1752)),r.register(n(243)),r.register(n(5133)),r.register(n(2195)),r.register(n(3672))},9743:function(e){"use strict";function t(e){e.languages.abap={comment:/^\*.*/m,string:/(`|')(?:\\.|(?!\1)[^\\\r\n])*\1/,"string-template":{pattern:/([|}])(?:\\.|[^\\|{\r\n])*(?=[|{])/,lookbehind:!0,alias:"string"},"eol-comment":{pattern:/(^|\s)".*/m,lookbehind:!0,alias:"comment"},keyword:{pattern:/(\s|\.|^)(?:SCIENTIFIC_WITH_LEADING_ZERO|SCALE_PRESERVING_SCIENTIFIC|RMC_COMMUNICATION_FAILURE|END-ENHANCEMENT-SECTION|MULTIPLY-CORRESPONDING|SUBTRACT-CORRESPONDING|VERIFICATION-MESSAGE|DIVIDE-CORRESPONDING|ENHANCEMENT-SECTION|CURRENCY_CONVERSION|RMC_SYSTEM_FAILURE|START-OF-SELECTION|MOVE-CORRESPONDING|RMC_INVALID_STATUS|CUSTOMER-FUNCTION|END-OF-DEFINITION|ENHANCEMENT-POINT|SYSTEM-EXCEPTIONS|ADD-CORRESPONDING|SCALE_PRESERVING|SELECTION-SCREEN|CURSOR-SELECTION|END-OF-SELECTION|LOAD-OF-PROGRAM|SCROLL-BOUNDARY|SELECTION-TABLE|EXCEPTION-TABLE|IMPLEMENTATIONS|PARAMETER-TABLE|RIGHT-JUSTIFIED|UNIT_CONVERSION|AUTHORITY-CHECK|LIST-PROCESSING|SIGN_AS_POSTFIX|COL_BACKGROUND|IMPLEMENTATION|INTERFACE-POOL|TRANSFORMATION|IDENTIFICATION|ENDENHANCEMENT|LINE-SELECTION|INITIALIZATION|LEFT-JUSTIFIED|SELECT-OPTIONS|SELECTION-SETS|COMMUNICATION|CORRESPONDING|DECIMAL_SHIFT|PRINT-CONTROL|VALUE-REQUEST|CHAIN-REQUEST|FUNCTION-POOL|FIELD-SYMBOLS|FUNCTIONALITY|INVERTED-DATE|SELECTION-SET|CLASS-METHODS|OUTPUT-LENGTH|CLASS-CODING|COL_NEGATIVE|ERRORMESSAGE|FIELD-GROUPS|HELP-REQUEST|NO-EXTENSION|NO-TOPOFPAGE|REDEFINITION|DISPLAY-MODE|ENDINTERFACE|EXIT-COMMAND|FIELD-SYMBOL|NO-SCROLLING|SHORTDUMP-ID|ACCESSPOLICY|CLASS-EVENTS|COL_POSITIVE|DECLARATIONS|ENHANCEMENTS|FILTER-TABLE|SWITCHSTATES|SYNTAX-CHECK|TRANSPORTING|ASYNCHRONOUS|SYNTAX-TRACE|TOKENIZATION|USER-COMMAND|WITH-HEADING|ABAP-SOURCE|BREAK-POINT|CHAIN-INPUT|COMPRESSION|FIXED-POINT|NEW-SECTION|NON-UNICODE|OCCURRENCES|RESPONSIBLE|SYSTEM-CALL|TRACE-TABLE|ABBREVIATED|CHAR-TO-HEX|END-OF-FILE|ENDFUNCTION|ENVIRONMENT|ASSOCIATION|COL_HEADING|EDITOR-CALL|END-OF-PAGE|ENGINEERING|IMPLEMENTED|INTENSIFIED|RADIOBUTTON|SYSTEM-EXIT|TOP-OF-PAGE|TRANSACTION|APPLICATION|CONCATENATE|DESTINATION|ENHANCEMENT|IMMEDIATELY|NO-GROUPING|PRECOMPILED|REPLACEMENT|TITLE-LINES|ACTIVATION|BYTE-ORDER|CLASS-POOL|CONNECTION|CONVERSION|DEFINITION|DEPARTMENT|EXPIRATION|INHERITING|MESSAGE-ID|NO-HEADING|PERFORMING|QUEUE-ONLY|RIGHTSPACE|SCIENTIFIC|STATUSINFO|STRUCTURES|SYNCPOINTS|WITH-TITLE|ATTRIBUTES|BOUNDARIES|CLASS-DATA|COL_NORMAL|DD\/MM\/YYYY|DESCENDING|INTERFACES|LINE-COUNT|MM\/DD\/YYYY|NON-UNIQUE|PRESERVING|SELECTIONS|STATEMENTS|SUBROUTINE|TRUNCATION|TYPE-POOLS|ARITHMETIC|BACKGROUND|ENDPROVIDE|EXCEPTIONS|IDENTIFIER|INDEX-LINE|OBLIGATORY|PARAMETERS|PERCENTAGE|PUSHBUTTON|RESOLUTION|COMPONENTS|DEALLOCATE|DISCONNECT|DUPLICATES|FIRST-LINE|HEAD-LINES|NO-DISPLAY|OCCURRENCE|RESPECTING|RETURNCODE|SUBMATCHES|TRACE-FILE|ASCENDING|BYPASSING|ENDMODULE|EXCEPTION|EXCLUDING|EXPORTING|INCREMENT|MATCHCODE|PARAMETER|PARTIALLY|PREFERRED|REFERENCE|REPLACING|RETURNING|SELECTION|SEPARATED|SPECIFIED|STATEMENT|TIMESTAMP|TYPE-POOL|ACCEPTING|APPENDAGE|ASSIGNING|COL_GROUP|COMPARING|CONSTANTS|DANGEROUS|IMPORTING|INSTANCES|LEFTSPACE|LOG-POINT|QUICKINFO|READ-ONLY|SCROLLING|SQLSCRIPT|STEP-LOOP|TOP-LINES|TRANSLATE|APPENDING|AUTHORITY|CHARACTER|COMPONENT|CONDITION|DIRECTORY|DUPLICATE|MESSAGING|RECEIVING|SUBSCREEN|ACCORDING|COL_TOTAL|END-LINES|ENDMETHOD|ENDSELECT|EXPANDING|EXTENSION|INCLUDING|INFOTYPES|INTERFACE|INTERVALS|LINE-SIZE|PF-STATUS|PROCEDURE|PROTECTED|REQUESTED|RESUMABLE|RIGHTPLUS|SAP-SPOOL|SECONDARY|STRUCTURE|SUBSTRING|TABLEVIEW|NUMOFCHAR|ADJACENT|ANALYSIS|ASSIGNED|BACKWARD|CHANNELS|CHECKBOX|CONTINUE|CRITICAL|DATAINFO|DD\/MM\/YY|DURATION|ENCODING|ENDCLASS|FUNCTION|LEFTPLUS|LINEFEED|MM\/DD\/YY|OVERFLOW|RECEIVED|SKIPPING|SORTABLE|STANDARD|SUBTRACT|SUPPRESS|TABSTRIP|TITLEBAR|TRUNCATE|UNASSIGN|WHENEVER|ANALYZER|COALESCE|COMMENTS|CONDENSE|DECIMALS|DEFERRED|ENDWHILE|EXPLICIT|KEYWORDS|MESSAGES|POSITION|PRIORITY|RECEIVER|RENAMING|TIMEZONE|TRAILING|ALLOCATE|CENTERED|CIRCULAR|CONTROLS|CURRENCY|DELETING|DESCRIBE|DISTANCE|ENDCATCH|EXPONENT|EXTENDED|GENERATE|IGNORING|INCLUDES|INTERNAL|MAJOR-ID|MODIFIER|NEW-LINE|OPTIONAL|PROPERTY|ROLLBACK|STARTING|SUPPLIED|ABSTRACT|CHANGING|CONTEXTS|CREATING|CUSTOMER|DATABASE|DAYLIGHT|DEFINING|DISTINCT|DIVISION|ENABLING|ENDCHAIN|ESCAPING|HARMLESS|IMPLICIT|INACTIVE|LANGUAGE|MINOR-ID|MULTIPLY|NEW-PAGE|NO-TITLE|POS_HIGH|SEPARATE|TEXTPOOL|TRANSFER|SELECTOR|DBMAXLEN|ITERATOR|ARCHIVE|BIT-XOR|BYTE-CO|COLLECT|COMMENT|CURRENT|DEFAULT|DISPLAY|ENDFORM|EXTRACT|LEADING|LISTBOX|LOCATOR|MEMBERS|METHODS|NESTING|POS_LOW|PROCESS|PROVIDE|RAISING|RESERVE|SECONDS|SUMMARY|VISIBLE|BETWEEN|BIT-AND|BYTE-CS|CLEANUP|COMPUTE|CONTROL|CONVERT|DATASET|ENDCASE|FORWARD|HEADERS|HOTSPOT|INCLUDE|INVERSE|KEEPING|NO-ZERO|OBJECTS|OVERLAY|PADDING|PATTERN|PROGRAM|REFRESH|SECTION|SUMMING|TESTING|VERSION|WINDOWS|WITHOUT|BIT-NOT|BYTE-CA|BYTE-NA|CASTING|CONTEXT|COUNTRY|DYNAMIC|ENABLED|ENDLOOP|EXECUTE|FRIENDS|HANDLER|HEADING|INITIAL|\*-INPUT|LOGFILE|MAXIMUM|MINIMUM|NO-GAPS|NO-SIGN|PRAGMAS|PRIMARY|PRIVATE|REDUCED|REPLACE|REQUEST|RESULTS|UNICODE|WARNING|ALIASES|BYTE-CN|BYTE-NS|CALLING|COL_KEY|COLUMNS|CONNECT|ENDEXEC|ENTRIES|EXCLUDE|FILTERS|FURTHER|HELP-ID|LOGICAL|MAPPING|MESSAGE|NAMETAB|OPTIONS|PACKAGE|PERFORM|RECEIVE|STATICS|VARYING|BINDING|CHARLEN|GREATER|XSTRLEN|ACCEPT|APPEND|DETAIL|ELSEIF|ENDING|ENDTRY|FORMAT|FRAMES|GIVING|HASHED|HEADER|IMPORT|INSERT|MARGIN|MODULE|NATIVE|OBJECT|OFFSET|REMOTE|RESUME|SAVING|SIMPLE|SUBMIT|TABBED|TOKENS|UNIQUE|UNPACK|UPDATE|WINDOW|YELLOW|ACTUAL|ASPECT|CENTER|CURSOR|DELETE|DIALOG|DIVIDE|DURING|ERRORS|EVENTS|EXTEND|FILTER|HANDLE|HAVING|IGNORE|LITTLE|MEMORY|NO-GAP|OCCURS|OPTION|PERSON|PLACES|PUBLIC|REDUCE|REPORT|RESULT|SINGLE|SORTED|SWITCH|SYNTAX|TARGET|VALUES|WRITER|ASSERT|BLOCKS|BOUNDS|BUFFER|CHANGE|COLUMN|COMMIT|CONCAT|COPIES|CREATE|DDMMYY|DEFINE|ENDIAN|ESCAPE|EXPAND|KERNEL|LAYOUT|LEGACY|LEVELS|MMDDYY|NUMBER|OUTPUT|RANGES|READER|RETURN|SCREEN|SEARCH|SELECT|SHARED|SOURCE|STABLE|STATIC|SUBKEY|SUFFIX|TABLES|UNWIND|YYMMDD|ASSIGN|BACKUP|BEFORE|BINARY|BIT-OR|BLANKS|CLIENT|CODING|COMMON|DEMAND|DYNPRO|EXCEPT|EXISTS|EXPORT|FIELDS|GLOBAL|GROUPS|LENGTH|LOCALE|MEDIUM|METHOD|MODIFY|NESTED|OTHERS|REJECT|SCROLL|SUPPLY|SYMBOL|ENDFOR|STRLEN|ALIGN|BEGIN|BOUND|ENDAT|ENTRY|EVENT|FINAL|FLUSH|GRANT|INNER|SHORT|USING|WRITE|AFTER|BLACK|BLOCK|CLOCK|COLOR|COUNT|DUMMY|EMPTY|ENDDO|ENDON|GREEN|INDEX|INOUT|LEAVE|LEVEL|LINES|MODIF|ORDER|OUTER|RANGE|RESET|RETRY|RIGHT|SMART|SPLIT|STYLE|TABLE|THROW|UNDER|UNTIL|UPPER|UTF-8|WHERE|ALIAS|BLANK|CLEAR|CLOSE|EXACT|FETCH|FIRST|FOUND|GROUP|LLANG|LOCAL|OTHER|REGEX|SPOOL|TITLE|TYPES|VALID|WHILE|ALPHA|BOXED|CATCH|CHAIN|CHECK|CLASS|COVER|ENDIF|EQUIV|FIELD|FLOOR|FRAME|INPUT|LOWER|MATCH|NODES|PAGES|PRINT|RAISE|ROUND|SHIFT|SPACE|SPOTS|STAMP|STATE|TASKS|TIMES|TRMAC|ULINE|UNION|VALUE|WIDTH|EQUAL|LOG10|TRUNC|BLOB|CASE|CEIL|CLOB|COND|EXIT|FILE|GAPS|HOLD|INCL|INTO|KEEP|KEYS|LAST|LINE|LONG|LPAD|MAIL|MODE|OPEN|PINK|READ|ROWS|TEST|THEN|ZERO|AREA|BACK|BADI|BYTE|CAST|EDIT|EXEC|FAIL|FIND|FKEQ|FONT|FREE|GKEQ|HIDE|INIT|ITNO|LATE|LOOP|MAIN|MARK|MOVE|NEXT|NULL|RISK|ROLE|UNIT|WAIT|ZONE|BASE|CALL|CODE|DATA|DATE|FKGE|GKGE|HIGH|KIND|LEFT|LIST|MASK|MESH|NAME|NODE|PACK|PAGE|POOL|SEND|SIGN|SIZE|SOME|STOP|TASK|TEXT|TIME|USER|VARY|WITH|WORD|BLUE|CONV|COPY|DEEP|ELSE|FORM|FROM|HINT|ICON|JOIN|LIKE|LOAD|ONLY|PART|SCAN|SKIP|SORT|TYPE|UNIX|VIEW|WHEN|WORK|ACOS|ASIN|ATAN|COSH|EACH|FRAC|LESS|RTTI|SINH|SQRT|TANH|AVG|BIT|DIV|ISO|LET|OUT|PAD|SQL|ALL|CI_|CPI|END|LOB|LPI|MAX|MIN|NEW|OLE|RUN|SET|\?TO|YES|ABS|ADD|AND|BIG|FOR|HDB|JOB|LOW|NOT|SAP|TRY|VIA|XML|ANY|GET|IDS|KEY|MOD|OFF|PUT|RAW|RED|REF|SUM|TAB|XSD|CNT|COS|EXP|LOG|SIN|TAN|XOR|AT|CO|CP|DO|GT|ID|IF|NS|OR|BT|CA|CS|GE|NA|NB|EQ|IN|LT|NE|NO|OF|ON|PF|TO|AS|BY|CN|IS|LE|NP|UP|E|I|M|O|Z|C|X)\b/i,lookbehind:!0},number:/\b\d+\b/,operator:{pattern:/(\s)(?:\*\*?|<[=>]?|>=?|\?=|[-+\/=])(?=\s)/,lookbehind:!0},"string-operator":{pattern:/(\s)&&?(?=\s)/,lookbehind:!0,alias:"keyword"},"token-operator":[{pattern:/(\w)(?:->?|=>|[~|{}])(?=\w)/,lookbehind:!0,alias:"punctuation"},{pattern:/[|{}]/,alias:"punctuation"}],punctuation:/[,.:()]/}}e.exports=t,t.displayName="abap",t.aliases=[]},6887:function(e){"use strict";function t(e){!function(e){var t="(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)";e.languages.abnf={comment:/;.*/,string:{pattern:/(?:%[is])?"[^"\n\r]*"/,greedy:!0,inside:{punctuation:/^%[is]/}},range:{pattern:/%(?:b[01]+-[01]+|d\d+-\d+|x[A-F\d]+-[A-F\d]+)/i,alias:"number"},terminal:{pattern:/%(?:b[01]+(?:\.[01]+)*|d\d+(?:\.\d+)*|x[A-F\d]+(?:\.[A-F\d]+)*)/i,alias:"number"},repetition:{pattern:/(^|[^\w-])(?:\d*\*\d*|\d+)/,lookbehind:!0,alias:"operator"},definition:{pattern:/(^[ \t]*)(?:[a-z][\w-]*|<[^<>\r\n]*>)(?=\s*=)/m,lookbehind:!0,alias:"keyword",inside:{punctuation:/<|>/}},"core-rule":{pattern:RegExp("(?:(^|[^<\\w-])"+t+"|<"+t+">)(?![\\w-])","i"),lookbehind:!0,alias:["rule","constant"],inside:{punctuation:/<|>/}},rule:{pattern:/(^|[^<\w-])[a-z][\w-]*|<[^<>\r\n]*>/i,lookbehind:!0,inside:{punctuation:/<|>/}},operator:/=\/?|\//,punctuation:/[()\[\]]/}}(e)}e.exports=t,t.displayName="abnf",t.aliases=[]},8081:function(e){"use strict";function t(e){e.languages.actionscript=e.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),e.languages.actionscript["class-name"].alias="function",delete e.languages.actionscript.parameter,delete e.languages.actionscript["literal-property"],e.languages.markup&&e.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:e.languages.markup}})}e.exports=t,t.displayName="actionscript",t.aliases=[]},2677:function(e){"use strict";function t(e){e.languages.ada={comment:/--.*/,string:/"(?:""|[^"\r\f\n])*"/,number:[{pattern:/\b\d(?:_?\d)*#[\dA-F](?:_?[\dA-F])*(?:\.[\dA-F](?:_?[\dA-F])*)?#(?:E[+-]?\d(?:_?\d)*)?/i},{pattern:/\b\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:E[+-]?\d(?:_?\d)*)?\b/i}],"attr-name":/\b'\w+/,keyword:/\b(?:abort|abs|abstract|accept|access|aliased|all|and|array|at|begin|body|case|constant|declare|delay|delta|digits|do|else|elsif|end|entry|exception|exit|for|function|generic|goto|if|in|interface|is|limited|loop|mod|new|not|null|of|others|out|overriding|package|pragma|private|procedure|protected|raise|range|record|rem|renames|requeue|return|reverse|select|separate|some|subtype|synchronized|tagged|task|terminate|then|type|until|use|when|while|with|xor)\b/i,boolean:/\b(?:false|true)\b/i,operator:/<[=>]?|>=?|=>?|:=|\/=?|\*\*?|[&+-]/,punctuation:/\.\.?|[,;():]/,char:/'.'/,variable:/\b[a-z](?:\w)*\b/i}}e.exports=t,t.displayName="ada",t.aliases=[]},2239:function(e){"use strict";function t(e){!function(e){e.languages.agda={comment:/\{-[\s\S]*?(?:-\}|$)|--.*/,string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},punctuation:/[(){}\u2983\u2984.;@]/,"class-name":{pattern:/((?:data|record) +)\S+/,lookbehind:!0},function:{pattern:/(^[ \t]*)(?!\s)[^:\r\n]+(?=:)/m,lookbehind:!0},operator:{pattern:/(^\s*|\s)(?:[=|:\u2200\u2192\u03bb\\?_]|->)(?=\s)/,lookbehind:!0},keyword:/\b(?:Set|abstract|constructor|data|eta-equality|field|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\b/}}(e)}e.exports=t,t.displayName="agda",t.aliases=[]},3306:function(e){"use strict";function t(e){e.languages.al={comment:/\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/'(?:''|[^'\r\n])*'(?!')|"(?:""|[^"\r\n])*"(?!")/,greedy:!0},function:{pattern:/(\b(?:event|procedure|trigger)\s+|(?:^|[^.])\.\s*)[a-z_]\w*(?=\s*\()/i,lookbehind:!0},keyword:[/\b(?:array|asserterror|begin|break|case|do|downto|else|end|event|exit|for|foreach|function|if|implements|in|indataset|interface|internal|local|of|procedure|program|protected|repeat|runonclient|securityfiltering|suppressdispose|temporary|then|to|trigger|until|var|while|with|withevents)\b/i,/\b(?:action|actions|addafter|addbefore|addfirst|addlast|area|assembly|chartpart|codeunit|column|controladdin|cuegroup|customizes|dataitem|dataset|dotnet|elements|enum|enumextension|extends|field|fieldattribute|fieldelement|fieldgroup|fieldgroups|fields|filter|fixed|grid|group|key|keys|label|labels|layout|modify|moveafter|movebefore|movefirst|movelast|page|pagecustomization|pageextension|part|profile|query|repeater|report|requestpage|schema|separator|systempart|table|tableelement|tableextension|textattribute|textelement|type|usercontrol|value|xmlport)\b/i],number:/\b(?:0x[\da-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)(?:F|LL?|U(?:LL?)?)?\b/i,boolean:/\b(?:false|true)\b/i,variable:/\b(?:Curr(?:FieldNo|Page|Report)|x?Rec|RequestOptionsPage)\b/,"class-name":/\b(?:automation|biginteger|bigtext|blob|boolean|byte|char|clienttype|code|completiontriggererrorlevel|connectiontype|database|dataclassification|datascope|date|dateformula|datetime|decimal|defaultlayout|dialog|dictionary|dotnetassembly|dotnettypedeclaration|duration|errorinfo|errortype|executioncontext|executionmode|fieldclass|fieldref|fieldtype|file|filterpagebuilder|guid|httpclient|httpcontent|httpheaders|httprequestmessage|httpresponsemessage|instream|integer|joker|jsonarray|jsonobject|jsontoken|jsonvalue|keyref|list|moduledependencyinfo|moduleinfo|none|notification|notificationscope|objecttype|option|outstream|pageresult|record|recordid|recordref|reportformat|securityfilter|sessionsettings|tableconnectiontype|tablefilter|testaction|testfield|testfilterfield|testpage|testpermissions|testrequestpage|text|textbuilder|textconst|textencoding|time|transactionmodel|transactiontype|variant|verbosity|version|view|views|webserviceactioncontext|webserviceactionresultcode|xmlattribute|xmlattributecollection|xmlcdata|xmlcomment|xmldeclaration|xmldocument|xmldocumenttype|xmlelement|xmlnamespacemanager|xmlnametable|xmlnode|xmlnodelist|xmlprocessinginstruction|xmlreadoptions|xmltext|xmlwriteoptions)\b/i,operator:/\.\.|:[=:]|[-+*/]=?|<>|[<>]=?|=|\b(?:and|div|mod|not|or|xor)\b/i,punctuation:/[()\[\]{}:.;,]/}}e.exports=t,t.displayName="al",t.aliases=[]},5001:function(e){"use strict";function t(e){e.languages.antlr4={comment:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,string:{pattern:/'(?:\\.|[^\\'\r\n])*'/,greedy:!0},"character-class":{pattern:/\[(?:\\.|[^\\\]\r\n])*\]/,greedy:!0,alias:"regex",inside:{range:{pattern:/([^[]|(?:^|[^\\])(?:\\\\)*\\\[)-(?!\])/,lookbehind:!0,alias:"punctuation"},escape:/\\(?:u(?:[a-fA-F\d]{4}|\{[a-fA-F\d]+\})|[pP]\{[=\w-]+\}|[^\r\nupP])/,punctuation:/[\[\]]/}},action:{pattern:/\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\}/,greedy:!0,inside:{content:{pattern:/(\{)[\s\S]+(?=\})/,lookbehind:!0},punctuation:/[{}]/}},command:{pattern:/(->\s*(?!\s))(?:\s*(?:,\s*)?\b[a-z]\w*(?:\s*\([^()\r\n]*\))?)+(?=\s*;)/i,lookbehind:!0,inside:{function:/\b\w+(?=\s*(?:[,(]|$))/,punctuation:/[,()]/}},annotation:{pattern:/@\w+(?:::\w+)*/,alias:"keyword"},label:{pattern:/#[ \t]*\w+/,alias:"punctuation"},keyword:/\b(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|parser|returns|throws|tokens)\b/,definition:[{pattern:/\b[a-z]\w*(?=\s*:)/,alias:["rule","class-name"]},{pattern:/\b[A-Z]\w*(?=\s*:)/,alias:["token","constant"]}],constant:/\b[A-Z][A-Z_]*\b/,operator:/\.\.|->|[|~]|[*+?]\??/,punctuation:/[;:()=]/},e.languages.g4=e.languages.antlr4}e.exports=t,t.displayName="antlr4",t.aliases=["g4"]},6748:function(e){"use strict";function t(e){e.languages.apacheconf={comment:/#.*/,"directive-inline":{pattern:/(^[\t ]*)\b(?:AcceptFilter|AcceptPathInfo|AccessFileName|Action|Add(?:Alt|AltByEncoding|AltByType|Charset|DefaultCharset|Description|Encoding|Handler|Icon|IconByEncoding|IconByType|InputFilter|Language|ModuleInfo|OutputFilter|OutputFilterByType|Type)|Alias|AliasMatch|Allow(?:CONNECT|EncodedSlashes|Methods|Override|OverrideList)?|Anonymous(?:_LogEmail|_MustGiveEmail|_NoUserID|_VerifyEmail)?|AsyncRequestWorkerFactor|Auth(?:BasicAuthoritative|BasicFake|BasicProvider|BasicUseDigestAlgorithm|DBDUserPWQuery|DBDUserRealmQuery|DBMGroupFile|DBMType|DBMUserFile|Digest(?:Algorithm|Domain|NonceLifetime|Provider|Qop|ShmemSize)|Form(?:Authoritative|Body|DisableNoStore|FakeBasicAuth|Location|LoginRequiredLocation|LoginSuccessLocation|LogoutLocation|Method|Mimetype|Password|Provider|SitePassphrase|Size|Username)|GroupFile|LDAP(?:AuthorizePrefix|BindAuthoritative|BindDN|BindPassword|CharsetConfig|CompareAsUser|CompareDNOnServer|DereferenceAliases|GroupAttribute|GroupAttributeIsDN|InitialBindAsUser|InitialBindPattern|MaxSubGroupDepth|RemoteUserAttribute|RemoteUserIsDN|SearchAsUser|SubGroupAttribute|SubGroupClass|Url)|Merging|Name|nCache(?:Context|Enable|ProvideFor|SOCache|Timeout)|nzFcgiCheckAuthnProvider|nzFcgiDefineProvider|Type|UserFile|zDBDLoginToReferer|zDBDQuery|zDBDRedirectQuery|zDBMType|zSendForbiddenOnFailure)|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferedLogs|BufferSize|Cache(?:DefaultExpire|DetailHeader|DirLength|DirLevels|Disable|Enable|File|Header|IgnoreCacheControl|IgnoreHeaders|IgnoreNoLastMod|IgnoreQueryString|IgnoreURLSessionIdentifiers|KeyBaseURL|LastModifiedFactor|Lock|LockMaxAge|LockPath|MaxExpire|MaxFileSize|MinExpire|MinFileSize|NegotiatedDocs|QuickHandler|ReadSize|ReadTime|Root|Socache(?:MaxSize|MaxTime|MinTime|ReadSize|ReadTime)?|StaleOnError|StoreExpired|StoreNoStore|StorePrivate)|CGIDScriptTimeout|CGIMapExtension|CharsetDefault|CharsetOptions|CharsetSourceEnc|CheckCaseOnly|CheckSpelling|ChrootDir|ContentDigest|CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking|CoreDumpDirectory|CustomLog|Dav|DavDepthInfinity|DavGenericLockDB|DavLockDB|DavMinTimeout|DBDExptime|DBDInitSQL|DBDKeep|DBDMax|DBDMin|DBDParams|DBDPersist|DBDPrepareSQL|DBDriver|DefaultIcon|DefaultLanguage|DefaultRuntimeDir|DefaultType|Define|Deflate(?:BufferSize|CompressionLevel|FilterNote|InflateLimitRequestBody|InflateRatio(?:Burst|Limit)|MemLevel|WindowSize)|Deny|DirectoryCheckHandler|DirectoryIndex|DirectoryIndexRedirect|DirectorySlash|DocumentRoot|DTracePrivileges|DumpIOInput|DumpIOOutput|EnableExceptionHook|EnableMMAP|EnableSendfile|Error|ErrorDocument|ErrorLog|ErrorLogFormat|Example|ExpiresActive|ExpiresByType|ExpiresDefault|ExtendedStatus|ExtFilterDefine|ExtFilterOptions|FallbackResource|FileETag|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace|ForceLanguagePriority|ForceType|ForensicLog|GprofDir|GracefulShutdownTimeout|Group|Header|HeaderName|Heartbeat(?:Address|Listen|MaxServers|Storage)|HostnameLookups|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|Index(?:HeadInsert|Ignore|IgnoreReset|Options|OrderDefault|StyleSheet)|InputSed|ISAPI(?:AppendLogToErrors|AppendLogToQuery|CacheFile|FakeAsync|LogNotSupported|ReadAheadBuffer)|KeepAlive|KeepAliveTimeout|KeptBodySize|LanguagePriority|LDAP(?:CacheEntries|CacheTTL|ConnectionPoolTTL|ConnectionTimeout|LibraryDebug|OpCacheEntries|OpCacheTTL|ReferralHopLimit|Referrals|Retries|RetryDelay|SharedCacheFile|SharedCacheSize|Timeout|TrustedClientCert|TrustedGlobalCert|TrustedMode|VerifyServerCert)|Limit(?:InternalRecursion|Request(?:Body|Fields|FieldSize|Line)|XMLRequestBody)|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|Lua(?:Hook(?:AccessChecker|AuthChecker|CheckUserID|Fixups|InsertFilter|Log|MapToStorage|TranslateName|TypeChecker)|Inherit|InputFilter|MapHandler|OutputFilter|PackageCPath|PackagePath|QuickHandler|Root|Scope)|Max(?:ConnectionsPerChild|KeepAliveRequests|MemFree|RangeOverlaps|RangeReversals|Ranges|RequestWorkers|SpareServers|SpareThreads|Threads)|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|MMapFile|ModemStandard|ModMimeUsePathInfo|MultiviewsMatch|Mutex|NameVirtualHost|NoProxy|NWSSLTrustedCerts|NWSSLUpgradeable|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|Proxy(?:AddHeaders|BadHeader|Block|Domain|ErrorOverride|ExpressDBMFile|ExpressDBMType|ExpressEnable|FtpDirCharset|FtpEscapeWildcards|FtpListOnWildcard|HTML(?:BufSize|CharsetOut|DocType|Enable|Events|Extended|Fixups|Interp|Links|Meta|StripComments|URLMap)|IOBufferSize|MaxForwards|Pass(?:Inherit|InterpolateEnv|Match|Reverse|ReverseCookieDomain|ReverseCookiePath)?|PreserveHost|ReceiveBufferSize|Remote|RemoteMatch|Requests|SCGIInternalRedirect|SCGISendfile|Set|SourceAddress|Status|Timeout|Via)|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIP(?:Header|InternalProxy|InternalProxyList|ProxiesHeader|TrustedProxy|TrustedProxyList)|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|Rewrite(?:Base|Cond|Engine|Map|Options|Rule)|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScoreBoardFile|Script(?:Alias|AliasMatch|InterpreterSource|Log|LogBuffer|LogLength|Sock)?|SecureListen|SeeRequestTail|SendBufferSize|Server(?:Admin|Alias|Limit|Name|Path|Root|Signature|Tokens)|Session(?:Cookie(?:Name|Name2|Remove)|Crypto(?:Cipher|Driver|Passphrase|PassphraseFile)|DBD(?:CookieName|CookieName2|CookieRemove|DeleteLabel|InsertLabel|PerUser|SelectLabel|UpdateLabel)|Env|Exclude|Header|Include|MaxAge)?|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|SSIEndTag|SSIErrorMsg|SSIETag|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSL(?:CACertificateFile|CACertificatePath|CADNRequestFile|CADNRequestPath|CARevocationCheck|CARevocationFile|CARevocationPath|CertificateChainFile|CertificateFile|CertificateKeyFile|CipherSuite|Compression|CryptoDevice|Engine|FIPS|HonorCipherOrder|InsecureRenegotiation|OCSP(?:DefaultResponder|Enable|OverrideResponder|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|UseRequestNonce)|OpenSSLConfCmd|Options|PassPhraseDialog|Protocol|Proxy(?:CACertificateFile|CACertificatePath|CARevocation(?:Check|File|Path)|CheckPeer(?:CN|Expire|Name)|CipherSuite|Engine|MachineCertificate(?:ChainFile|File|Path)|Protocol|Verify|VerifyDepth)|RandomSeed|RenegBufferSize|Require|RequireSSL|Session(?:Cache|CacheTimeout|TicketKeyFile|Tickets)|SRPUnknownUserSeed|SRPVerifierFile|Stapling(?:Cache|ErrorCacheTimeout|FakeTryLater|ForceURL|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|ReturnResponderErrors|StandardCacheTimeout)|StrictSNIVHostCheck|UserName|UseStapling|VerifyClient|VerifyDepth)|StartServers|StartThreads|Substitute|Suexec|SuexecUserGroup|ThreadLimit|ThreadsPerChild|ThreadStackSize|TimeOut|TraceEnable|TransferLog|TypesConfig|UnDefine|UndefMacro|UnsetEnv|Use|UseCanonicalName|UseCanonicalPhysicalPort|User|UserDir|VHostCGIMode|VHostCGIPrivs|VHostGroup|VHostPrivs|VHostSecure|VHostUser|Virtual(?:DocumentRoot|ScriptAlias)(?:IP)?|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\b/im,lookbehind:!0,alias:"property"},"directive-block":{pattern:/<\/?\b(?:Auth[nz]ProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|Require(?:All|Any|None)|VirtualHost)\b.*>/i,inside:{"directive-block":{pattern:/^<\/?\w+/,inside:{punctuation:/^<\/?/},alias:"tag"},"directive-block-parameter":{pattern:/.*[^>]/,inside:{punctuation:/:/,string:{pattern:/("|').*\1/,inside:{variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/}}},alias:"attr-value"},punctuation:/>/},alias:"tag"},"directive-flags":{pattern:/\[(?:[\w=],?)+\]/,alias:"keyword"},string:{pattern:/("|').*\1/,inside:{variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/}},variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/,regex:/\^?.*\$|\^.*\$?/}}e.exports=t,t.displayName="apacheconf",t.aliases=[]},4556:function(e,t,n){"use strict";var r=n(7740);function a(e){e.register(r),function(e){var t=/\b(?:(?:after|before)(?=\s+[a-z])|abstract|activate|and|any|array|as|asc|autonomous|begin|bigdecimal|blob|boolean|break|bulk|by|byte|case|cast|catch|char|class|collect|commit|const|continue|currency|date|datetime|decimal|default|delete|desc|do|double|else|end|enum|exception|exit|export|extends|final|finally|float|for|from|get(?=\s*[{};])|global|goto|group|having|hint|if|implements|import|in|inner|insert|instanceof|int|integer|interface|into|join|like|limit|list|long|loop|map|merge|new|not|null|nulls|number|object|of|on|or|outer|override|package|parallel|pragma|private|protected|public|retrieve|return|rollback|select|set|short|sObject|sort|static|string|super|switch|synchronized|system|testmethod|then|this|throw|time|transaction|transient|trigger|try|undelete|update|upsert|using|virtual|void|webservice|when|where|while|(?:inherited|with|without)\s+sharing)\b/i,n=/\b(?:(?=[a-z_]\w*\s*[<\[])|(?!<keyword>))[A-Z_]\w*(?:\s*\.\s*[A-Z_]\w*)*\b(?:\s*(?:\[\s*\]|<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>))*/.source.replace(/<keyword>/g,(function(){return t.source}));function r(e){return RegExp(e.replace(/<CLASS-NAME>/g,(function(){return n})),"i")}var a={keyword:t,punctuation:/[()\[\]{};,:.<>]/};e.languages.apex={comment:e.languages.clike.comment,string:e.languages.clike.string,sql:{pattern:/((?:[=,({:]|\breturn)\s*)\[[^\[\]]*\]/i,lookbehind:!0,greedy:!0,alias:"language-sql",inside:e.languages.sql},annotation:{pattern:/@\w+\b/,alias:"punctuation"},"class-name":[{pattern:r(/(\b(?:class|enum|extends|implements|instanceof|interface|new|trigger\s+\w+\s+on)\s+)<CLASS-NAME>/.source),lookbehind:!0,inside:a},{pattern:r(/(\(\s*)<CLASS-NAME>(?=\s*\)\s*[\w(])/.source),lookbehind:!0,inside:a},{pattern:r(/<CLASS-NAME>(?=\s*\w+\s*[;=,(){:])/.source),inside:a}],trigger:{pattern:/(\btrigger\s+)\w+\b/i,lookbehind:!0,alias:"class-name"},keyword:t,function:/\b[a-z_]\w*(?=\s*\()/i,boolean:/\b(?:false|true)\b/i,number:/(?:\B\.\d+|\b\d+(?:\.\d+|L)?)\b/i,operator:/[!=](?:==?)?|\?\.?|&&|\|\||--|\+\+|[-+*/^&|]=?|:|<<?=?|>{1,3}=?/,punctuation:/[()\[\]{};,.]/}}(e)}e.exports=a,a.displayName="apex",a.aliases=[]},5775:function(e){"use strict";function t(e){e.languages.apl={comment:/(?:\u235d|#[! ]).*$/m,string:{pattern:/'(?:[^'\r\n]|'')*'/,greedy:!0},number:/\xaf?(?:\d*\.?\b\d+(?:e[+\xaf]?\d+)?|\xaf|\u221e)(?:j\xaf?(?:(?:\d+(?:\.\d+)?|\.\d+)(?:e[+\xaf]?\d+)?|\xaf|\u221e))?/i,statement:/:[A-Z][a-z][A-Za-z]*\b/,"system-function":{pattern:/\u2395[A-Z]+/i,alias:"function"},constant:/[\u236c\u233e#\u2395\u235e]/,function:/[-+\xd7\xf7\u2308\u230a\u2223|\u2373\u2378?*\u235f\u25cb!\u2339<\u2264=>\u2265\u2260\u2261\u2262\u220a\u2377\u222a\u2229~\u2228\u2227\u2371\u2372\u2374,\u236a\u233d\u2296\u2349\u2191\u2193\u2282\u2283\u2286\u2287\u2337\u234b\u2352\u22a4\u22a5\u2355\u234e\u22a3\u22a2\u2341\u2342\u2248\u236f\u2197\xa4\u2192]/,"monadic-operator":{pattern:/[\\\/\u233f\u2340\xa8\u2368\u2336&\u2225]/,alias:"operator"},"dyadic-operator":{pattern:/[.\u2363\u2360\u2364\u2218\u2338@\u233a\u2365]/,alias:"operator"},assignment:{pattern:/\u2190/,alias:"keyword"},punctuation:/[\[;\]()\u25c7\u22c4]/,dfn:{pattern:/[{}\u237a\u2375\u2376\u2379\u2207\u236b:]/,alias:"builtin"}}}e.exports=t,t.displayName="apl",t.aliases=[]},118:function(e){"use strict";function t(e){e.languages.applescript={comment:[/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,/--.+/,/#.+/],string:/"(?:\\.|[^"\\\r\n])*"/,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e-?\d+)?\b/i,operator:[/[&=\u2260\u2264\u2265*+\-\/\xf7^]|[<>]=?/,/\b(?:(?:begin|end|start)s? with|(?:contains?|(?:does not|doesn't) contain)|(?:is|isn't|is not) (?:contained by|in)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:comes|(?:does not|doesn't) come) (?:after|before)|(?:is|isn't|is not) equal(?: to)?|(?:(?:does not|doesn't) equal|equal to|equals|is not|isn't)|(?:a )?(?:ref(?: to)?|reference to)|(?:and|as|div|mod|not|or))\b/],keyword:/\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\b/,"class-name":/\b(?:POSIX file|RGB color|alias|application|boolean|centimeters|centimetres|class|constant|cubic centimeters|cubic centimetres|cubic feet|cubic inches|cubic meters|cubic metres|cubic yards|date|degrees Celsius|degrees Fahrenheit|degrees Kelvin|feet|file|gallons|grams|inches|integer|kilograms|kilometers|kilometres|list|liters|litres|meters|metres|miles|number|ounces|pounds|quarts|real|record|reference|script|square feet|square kilometers|square kilometres|square meters|square metres|square miles|square yards|text|yards)\b/,punctuation:/[{}():,\xac\xab\xbb\u300a\u300b]/}}e.exports=t,t.displayName="applescript",t.aliases=[]},9134:function(e){"use strict";function t(e){e.languages.aql={comment:/\/\/.*|\/\*[\s\S]*?\*\//,property:{pattern:/([{,]\s*)(?:(?!\d)\w+|(["'\xb4`])(?:(?!\2)[^\\\r\n]|\\.)*\2)(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\.)*\1/,greedy:!0},identifier:{pattern:/([\xb4`])(?:(?!\1)[^\\\r\n]|\\.)*\1/,greedy:!0},variable:/@@?\w+/,keyword:[{pattern:/(\bWITH\s+)COUNT(?=\s+INTO\b)/i,lookbehind:!0},/\b(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_PATHS|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WINDOW|WITH)\b/i,{pattern:/(^|[^\w.[])(?:KEEP|PRUNE|SEARCH|TO)\b/i,lookbehind:!0},{pattern:/(^|[^\w.[])(?:CURRENT|NEW|OLD)\b/,lookbehind:!0},{pattern:/\bOPTIONS(?=\s*\{)/i}],function:/\b(?!\d)\w+(?=\s*\()/,boolean:/\b(?:false|true)\b/i,range:{pattern:/\.\./,alias:"operator"},number:[/\b0b[01]+/i,/\b0x[0-9a-f]+/i,/(?:\B\.\d+|\b(?:0|[1-9]\d*)(?:\.\d+)?)(?:e[+-]?\d+)?/i],operator:/\*{2,}|[=!]~|[!=<>]=?|&&|\|\||[-+*/%]/,punctuation:/::|[?.:,;()[\]{}]/}}e.exports=t,t.displayName="aql",t.aliases=[]},4144:function(e,t,n){"use strict";var r=n(8593);function a(e){e.register(r),e.languages.arduino=e.languages.extend("cpp",{keyword:/\b(?:String|array|bool|boolean|break|byte|case|catch|continue|default|do|double|else|finally|for|function|goto|if|in|instanceof|int|integer|long|loop|new|null|return|setup|string|switch|throw|try|void|while|word)\b/,constant:/\b(?:ANALOG_MESSAGE|DEFAULT|DIGITAL_MESSAGE|EXTERNAL|FIRMATA_STRING|HIGH|INPUT|INPUT_PULLUP|INTERNAL|INTERNAL1V1|INTERNAL2V56|LED_BUILTIN|LOW|OUTPUT|REPORT_ANALOG|REPORT_DIGITAL|SET_PIN_MODE|SYSEX_START|SYSTEM_RESET)\b/,builtin:/\b(?:Audio|BSSID|Bridge|Client|Console|EEPROM|Esplora|EsploraTFT|Ethernet|EthernetClient|EthernetServer|EthernetUDP|File|FileIO|FileSystem|Firmata|GPRS|GSM|GSMBand|GSMClient|GSMModem|GSMPIN|GSMScanner|GSMServer|GSMVoiceCall|GSM_SMS|HttpClient|IPAddress|IRread|Keyboard|KeyboardController|LiquidCrystal|LiquidCrystal_I2C|Mailbox|Mouse|MouseController|PImage|Process|RSSI|RobotControl|RobotMotor|SD|SPI|SSID|Scheduler|Serial|Server|Servo|SoftwareSerial|Stepper|Stream|TFT|Task|USBHost|WiFi|WiFiClient|WiFiServer|WiFiUDP|Wire|YunClient|YunServer|abs|addParameter|analogRead|analogReadResolution|analogReference|analogWrite|analogWriteResolution|answerCall|attach|attachGPRS|attachInterrupt|attached|autoscroll|available|background|beep|begin|beginPacket|beginSD|beginSMS|beginSpeaker|beginTFT|beginTransmission|beginWrite|bit|bitClear|bitRead|bitSet|bitWrite|blink|blinkVersion|buffer|changePIN|checkPIN|checkPUK|checkReg|circle|cityNameRead|cityNameWrite|clear|clearScreen|click|close|compassRead|config|connect|connected|constrain|cos|countryNameRead|countryNameWrite|createChar|cursor|debugPrint|delay|delayMicroseconds|detach|detachInterrupt|digitalRead|digitalWrite|disconnect|display|displayLogos|drawBMP|drawCompass|encryptionType|end|endPacket|endSMS|endTransmission|endWrite|exists|exitValue|fill|find|findUntil|flush|gatewayIP|get|getAsynchronously|getBand|getButton|getCurrentCarrier|getIMEI|getKey|getModifiers|getOemKey|getPINUsed|getResult|getSignalStrength|getSocket|getVoiceCallStatus|getXChange|getYChange|hangCall|height|highByte|home|image|interrupts|isActionDone|isDirectory|isListening|isPIN|isPressed|isValid|keyPressed|keyReleased|keyboardRead|knobRead|leftToRight|line|lineFollowConfig|listen|listenOnLocalhost|loadImage|localIP|lowByte|macAddress|maintain|map|max|messageAvailable|micros|millis|min|mkdir|motorsStop|motorsWrite|mouseDragged|mouseMoved|mousePressed|mouseReleased|move|noAutoscroll|noBlink|noBuffer|noCursor|noDisplay|noFill|noInterrupts|noListenOnLocalhost|noStroke|noTone|onReceive|onRequest|open|openNextFile|overflow|parseCommand|parseFloat|parseInt|parsePacket|pauseMode|peek|pinMode|playFile|playMelody|point|pointTo|position|pow|prepare|press|print|printFirmwareVersion|printVersion|println|process|processInput|pulseIn|put|random|randomSeed|read|readAccelerometer|readBlue|readButton|readBytes|readBytesUntil|readGreen|readJoystickButton|readJoystickSwitch|readJoystickX|readJoystickY|readLightSensor|readMessage|readMicrophone|readNetworks|readRed|readSlider|readString|readStringUntil|readTemperature|ready|rect|release|releaseAll|remoteIP|remoteNumber|remotePort|remove|requestFrom|retrieveCallingNumber|rewindDirectory|rightToLeft|rmdir|robotNameRead|robotNameWrite|run|runAsynchronously|runShellCommand|runShellCommandAsynchronously|running|scanNetworks|scrollDisplayLeft|scrollDisplayRight|seek|sendAnalog|sendDigitalPortPair|sendDigitalPorts|sendString|sendSysex|serialEvent|setBand|setBitOrder|setClockDivider|setCursor|setDNS|setDataMode|setFirmwareVersion|setMode|setPINUsed|setSpeed|setTextSize|setTimeout|shiftIn|shiftOut|shutdown|sin|size|sqrt|startLoop|step|stop|stroke|subnetMask|switchPIN|tan|tempoWrite|text|tone|transfer|tuneWrite|turn|updateIR|userNameRead|userNameWrite|voiceCall|waitContinue|width|write|writeBlue|writeGreen|writeJSON|writeMessage|writeMicroseconds|writeRGB|writeRed|yield)\b/}),e.languages.ino=e.languages.arduino}e.exports=a,a.displayName="arduino",a.aliases=["ino"]},7209:function(e){"use strict";function t(e){e.languages.arff={comment:/%.*/,string:{pattern:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/@(?:attribute|data|end|relation)\b/i,number:/\b\d+(?:\.\d+)?\b/,punctuation:/[{},]/}}e.exports=t,t.displayName="arff",t.aliases=[]},4865:function(e){"use strict";function t(e){!function(e){var t={pattern:/(^[ \t]*)\[(?!\[)(?:(["'$`])(?:(?!\2)[^\\]|\\.)*\2|\[(?:[^\[\]\\]|\\.)*\]|[^\[\]\\"'$`]|\\.)*\]/m,lookbehind:!0,inside:{quoted:{pattern:/([$`])(?:(?!\1)[^\\]|\\.)*\1/,inside:{punctuation:/^[$`]|[$`]$/}},interpreted:{pattern:/'(?:[^'\\]|\\.)*'/,inside:{punctuation:/^'|'$/}},string:/"(?:[^"\\]|\\.)*"/,variable:/\w+(?==)/,punctuation:/^\[|\]$|,/,operator:/=/,"attr-value":/(?!^\s+$).+/}},n=e.languages.asciidoc={"comment-block":{pattern:/^(\/{4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1/m,alias:"comment"},table:{pattern:/^\|={3,}(?:(?:\r?\n|\r(?!\n)).*)*?(?:\r?\n|\r)\|={3,}$/m,inside:{specifiers:{pattern:/(?:(?:(?:\d+(?:\.\d+)?|\.\d+)[+*](?:[<^>](?:\.[<^>])?|\.[<^>])?|[<^>](?:\.[<^>])?|\.[<^>])[a-z]*|[a-z]+)(?=\|)/,alias:"attr-value"},punctuation:{pattern:/(^|[^\\])[|!]=*/,lookbehind:!0}}},"passthrough-block":{pattern:/^(\+{4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1$/m,inside:{punctuation:/^\++|\++$/}},"literal-block":{pattern:/^(-{4,}|\.{4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1$/m,inside:{punctuation:/^(?:-+|\.+)|(?:-+|\.+)$/}},"other-block":{pattern:/^(--|\*{4,}|_{4,}|={4,})(?:\r?\n|\r)(?:[\s\S]*(?:\r?\n|\r))??\1$/m,inside:{punctuation:/^(?:-+|\*+|_+|=+)|(?:-+|\*+|_+|=+)$/}},"list-punctuation":{pattern:/(^[ \t]*)(?:-|\*{1,5}|\.{1,5}|(?:[a-z]|\d+)\.|[xvi]+\))(?= )/im,lookbehind:!0,alias:"punctuation"},"list-label":{pattern:/(^[ \t]*)[a-z\d].+(?::{2,4}|;;)(?=\s)/im,lookbehind:!0,alias:"symbol"},"indented-block":{pattern:/((\r?\n|\r)\2)([ \t]+)\S.*(?:(?:\r?\n|\r)\3.+)*(?=\2{2}|$)/,lookbehind:!0},comment:/^\/\/.*/m,title:{pattern:/^.+(?:\r?\n|\r)(?:={3,}|-{3,}|~{3,}|\^{3,}|\+{3,})$|^={1,5} .+|^\.(?![\s.]).*/m,alias:"important",inside:{punctuation:/^(?:\.|=+)|(?:=+|-+|~+|\^+|\++)$/}},"attribute-entry":{pattern:/^:[^:\r\n]+:(?: .*?(?: \+(?:\r?\n|\r).*?)*)?$/m,alias:"tag"},attributes:t,hr:{pattern:/^'{3,}$/m,alias:"punctuation"},"page-break":{pattern:/^<{3,}$/m,alias:"punctuation"},admonition:{pattern:/^(?:CAUTION|IMPORTANT|NOTE|TIP|WARNING):/m,alias:"keyword"},callout:[{pattern:/(^[ \t]*)<?\d*>/m,lookbehind:!0,alias:"symbol"},{pattern:/<\d+>/,alias:"symbol"}],macro:{pattern:/\b[a-z\d][a-z\d-]*::?(?:[^\s\[\]]*\[(?:[^\]\\"']|(["'])(?:(?!\1)[^\\]|\\.)*\1|\\.)*\])/,inside:{function:/^[a-z\d-]+(?=:)/,punctuation:/^::?/,attributes:{pattern:/(?:\[(?:[^\]\\"']|(["'])(?:(?!\1)[^\\]|\\.)*\1|\\.)*\])/,inside:t.inside}}},inline:{pattern:/(^|[^\\])(?:(?:\B\[(?:[^\]\\"']|(["'])(?:(?!\2)[^\\]|\\.)*\2|\\.)*\])?(?:\b_(?!\s)(?: _|[^_\\\r\n]|\\.)+(?:(?:\r?\n|\r)(?: _|[^_\\\r\n]|\\.)+)*_\b|\B``(?!\s).+?(?:(?:\r?\n|\r).+?)*''\B|\B`(?!\s)(?:[^`'\s]|\s+\S)+['`]\B|\B(['*+#])(?!\s)(?: \3|(?!\3)[^\\\r\n]|\\.)+(?:(?:\r?\n|\r)(?: \3|(?!\3)[^\\\r\n]|\\.)+)*\3\B)|(?:\[(?:[^\]\\"']|(["'])(?:(?!\4)[^\\]|\\.)*\4|\\.)*\])?(?:(__|\*\*|\+\+\+?|##|\$\$|[~^]).+?(?:(?:\r?\n|\r).+?)*\5|\{[^}\r\n]+\}|\[\[\[?.+?(?:(?:\r?\n|\r).+?)*\]?\]\]|<<.+?(?:(?:\r?\n|\r).+?)*>>|\(\(\(?.+?(?:(?:\r?\n|\r).+?)*\)?\)\)))/m,lookbehind:!0,inside:{attributes:t,url:{pattern:/^(?:\[\[\[?.+?\]?\]\]|<<.+?>>)$/,inside:{punctuation:/^(?:\[\[\[?|<<)|(?:\]\]\]?|>>)$/}},"attribute-ref":{pattern:/^\{.+\}$/,inside:{variable:{pattern:/(^\{)[a-z\d,+_-]+/,lookbehind:!0},operator:/^[=?!#%@$]|!(?=[:}])/,punctuation:/^\{|\}$|::?/}},italic:{pattern:/^(['_])[\s\S]+\1$/,inside:{punctuation:/^(?:''?|__?)|(?:''?|__?)$/}},bold:{pattern:/^\*[\s\S]+\*$/,inside:{punctuation:/^\*\*?|\*\*?$/}},punctuation:/^(?:``?|\+{1,3}|##?|\$\$|[~^]|\(\(\(?)|(?:''?|\+{1,3}|##?|\$\$|[~^`]|\)?\)\))$/}},replacement:{pattern:/\((?:C|R|TM)\)/,alias:"builtin"},entity:/&#?[\da-z]{1,8};/i,"line-continuation":{pattern:/(^| )\+$/m,lookbehind:!0,alias:"punctuation"}};function r(e){for(var t={},r=0,a=(e=e.split(" ")).length;r<a;r++)t[e[r]]=n[e[r]];return t}t.inside.interpreted.inside.rest=r("macro inline replacement entity"),n["passthrough-block"].inside.rest=r("macro"),n["literal-block"].inside.rest=r("callout"),n.table.inside.rest=r("comment-block passthrough-block literal-block other-block list-punctuation indented-block comment title attribute-entry attributes hr page-break admonition list-label callout macro inline replacement entity line-continuation"),n["other-block"].inside.rest=r("table list-punctuation indented-block comment attribute-entry attributes hr page-break admonition list-label macro inline replacement entity line-continuation"),n.title.inside.rest=r("macro inline replacement entity"),e.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.value.replace(/&/,"&"))})),e.languages.adoc=e.languages.asciidoc}(e)}e.exports=t,t.displayName="asciidoc",t.aliases=["adoc"]},2083:function(e){"use strict";function t(e){e.languages.asm6502={comment:/;.*/,directive:{pattern:/\.\w+(?= )/,alias:"property"},string:/(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,"op-code":{pattern:/\b(?:ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA|adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya)\b/,alias:"keyword"},"hex-number":{pattern:/#?\$[\da-f]{1,4}\b/i,alias:"number"},"binary-number":{pattern:/#?%[01]+\b/,alias:"number"},"decimal-number":{pattern:/#?\b\d+\b/,alias:"number"},register:{pattern:/\b[xya]\b/i,alias:"variable"},punctuation:/[(),:]/}}e.exports=t,t.displayName="asm6502",t.aliases=[]},6054:function(e){"use strict";function t(e){e.languages.asmatmel={comment:{pattern:/;.*/,greedy:!0},string:{pattern:/(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},constant:/\b(?:PORT[A-Z]|DDR[A-Z]|(?:DD|P)[A-Z](?:\d|[0-2]\d|3[01]))\b/,directive:{pattern:/\.\w+(?= )/,alias:"property"},"r-register":{pattern:/\br(?:\d|[12]\d|3[01])\b/,alias:"variable"},"op-code":{pattern:/\b(?:ADC|ADD|ADIW|AND|ANDI|ASR|BCLR|BLD|BRBC|BRBS|BRCC|BRCS|BREAK|BREQ|BRGE|BRHC|BRHS|BRID|BRIE|BRLO|BRLT|BRMI|BRNE|BRPL|BRSH|BRTC|BRTS|BRVC|BRVS|BSET|BST|CALL|CBI|CBR|CLC|CLH|CLI|CLN|CLR|CLS|CLT|CLV|CLZ|COM|CP|CPC|CPI|CPSE|DEC|DES|EICALL|EIJMP|ELPM|EOR|FMUL|FMULS|FMULSU|ICALL|IJMP|IN|INC|JMP|LAC|LAS|LAT|LD|LD[A-Za-z0-9]|LPM|LSL|LSR|MOV|MOVW|MUL|MULS|MULSU|NEG|NOP|OR|ORI|OUT|POP|PUSH|RCALL|RET|RETI|RJMP|ROL|ROR|SBC|SBCI|SBI|SBIC|SBIS|SBIW|SBR|SBRC|SBRS|SEC|SEH|SEI|SEN|SER|SES|SET|SEV|SEZ|SLEEP|SPM|ST|ST[A-Z0-9]|SUB|SUBI|SWAP|TST|WDR|XCH|adc|add|adiw|and|andi|asr|bclr|bld|brbc|brbs|brcc|brcs|break|breq|brge|brhc|brhs|brid|brie|brlo|brlt|brmi|brne|brpl|brsh|brtc|brts|brvc|brvs|bset|bst|call|cbi|cbr|clc|clh|cli|cln|clr|cls|clt|clv|clz|com|cp|cpc|cpi|cpse|dec|des|eicall|eijmp|elpm|eor|fmul|fmuls|fmulsu|icall|ijmp|in|inc|jmp|lac|las|lat|ld|ld[a-z0-9]|lpm|lsl|lsr|mov|movw|mul|muls|mulsu|neg|nop|or|ori|out|pop|push|rcall|ret|reti|rjmp|rol|ror|sbc|sbci|sbi|sbic|sbis|sbiw|sbr|sbrc|sbrs|sec|seh|sei|sen|ser|ses|set|sev|sez|sleep|spm|st|st[a-zA-Z0-9]|sub|subi|swap|tst|wdr|xch)\b/,alias:"keyword"},"hex-number":{pattern:/#?\$[\da-f]{2,4}\b/i,alias:"number"},"binary-number":{pattern:/#?%[01]+\b/,alias:"number"},"decimal-number":{pattern:/#?\b\d+\b/,alias:"number"},register:{pattern:/\b[acznvshtixy]\b/i,alias:"variable"},operator:/>>=?|<<=?|&&?|\|\|?|[-+*/%&|^!=<>?]=?/,punctuation:/[(),:]/}}e.exports=t,t.displayName="asmatmel",t.aliases=[]},476:function(e,t,n){"use strict";var r=n(3281);function a(e){e.register(r),e.languages.aspnet=e.languages.extend("markup",{"page-directive":{pattern:/<%\s*@.*%>/,alias:"tag",inside:{"page-directive":{pattern:/<%\s*@\s*(?:Assembly|Control|Implements|Import|Master(?:Type)?|OutputCache|Page|PreviousPageType|Reference|Register)?|%>/i,alias:"tag"},rest:e.languages.markup.tag.inside}},directive:{pattern:/<%.*%>/,alias:"tag",inside:{directive:{pattern:/<%\s*?[$=%#:]{0,2}|%>/,alias:"tag"},rest:e.languages.csharp}}}),e.languages.aspnet.tag.pattern=/<(?!%)\/?[^\s>\/]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/,e.languages.insertBefore("inside","punctuation",{directive:e.languages.aspnet.directive},e.languages.aspnet.tag.inside["attr-value"]),e.languages.insertBefore("aspnet","comment",{"asp-comment":{pattern:/<%--[\s\S]*?--%>/,alias:["asp","comment"]}}),e.languages.insertBefore("aspnet",e.languages.javascript?"script":"tag",{"asp-script":{pattern:/(<script(?=.*runat=['"]?server\b)[^>]*>)[\s\S]*?(?=<\/script>)/i,lookbehind:!0,alias:["asp","script"],inside:e.languages.csharp||{}}})}e.exports=a,a.displayName="aspnet",a.aliases=[]},9894:function(e){"use strict";function t(e){e.languages.autohotkey={comment:[{pattern:/(^|\s);.*/,lookbehind:!0},{pattern:/(^[\t ]*)\/\*(?:[\r\n](?![ \t]*\*\/)|[^\r\n])*(?:[\r\n][ \t]*\*\/)?/m,lookbehind:!0,greedy:!0}],tag:{pattern:/^([ \t]*)[^\s,`":]+(?=:[ \t]*$)/m,lookbehind:!0},string:/"(?:[^"\n\r]|"")*"/,variable:/%\w+%/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/\?|\/\/?=?|:=|\|[=|]?|&[=&]?|\+[=+]?|-[=-]?|\*[=*]?|<(?:<=?|>|=)?|>>?=?|[.^!=~]=?|\b(?:AND|NOT|OR)\b/,boolean:/\b(?:false|true)\b/,selector:/\b(?:AutoTrim|BlockInput|Break|Click|ClipWait|Continue|Control|ControlClick|ControlFocus|ControlGet|ControlGetFocus|ControlGetPos|ControlGetText|ControlMove|ControlSend|ControlSendRaw|ControlSetText|CoordMode|Critical|DetectHiddenText|DetectHiddenWindows|Drive|DriveGet|DriveSpaceFree|EnvAdd|EnvDiv|EnvGet|EnvMult|EnvSet|EnvSub|EnvUpdate|Exit|ExitApp|FileAppend|FileCopy|FileCopyDir|FileCreateDir|FileCreateShortcut|FileDelete|FileEncoding|FileGetAttrib|FileGetShortcut|FileGetSize|FileGetTime|FileGetVersion|FileInstall|FileMove|FileMoveDir|FileRead|FileReadLine|FileRecycle|FileRecycleEmpty|FileRemoveDir|FileSelectFile|FileSelectFolder|FileSetAttrib|FileSetTime|FormatTime|GetKeyState|Gosub|Goto|GroupActivate|GroupAdd|GroupClose|GroupDeactivate|Gui|GuiControl|GuiControlGet|Hotkey|ImageSearch|IniDelete|IniRead|IniWrite|Input|InputBox|KeyWait|ListHotkeys|ListLines|ListVars|Loop|Menu|MouseClick|MouseClickDrag|MouseGetPos|MouseMove|MsgBox|OnExit|OutputDebug|Pause|PixelGetColor|PixelSearch|PostMessage|Process|Progress|Random|RegDelete|RegRead|RegWrite|Reload|Repeat|Return|Run|RunAs|RunWait|Send|SendEvent|SendInput|SendMessage|SendMode|SendPlay|SendRaw|SetBatchLines|SetCapslockState|SetControlDelay|SetDefaultMouseSpeed|SetEnv|SetFormat|SetKeyDelay|SetMouseDelay|SetNumlockState|SetRegView|SetScrollLockState|SetStoreCapslockMode|SetTimer|SetTitleMatchMode|SetWinDelay|SetWorkingDir|Shutdown|Sleep|Sort|SoundBeep|SoundGet|SoundGetWaveVolume|SoundPlay|SoundSet|SoundSetWaveVolume|SplashImage|SplashTextOff|SplashTextOn|SplitPath|StatusBarGetText|StatusBarWait|StringCaseSense|StringGetPos|StringLeft|StringLen|StringLower|StringMid|StringReplace|StringRight|StringSplit|StringTrimLeft|StringTrimRight|StringUpper|Suspend|SysGet|Thread|ToolTip|Transform|TrayTip|URLDownloadToFile|WinActivate|WinActivateBottom|WinClose|WinGet|WinGetActiveStats|WinGetActiveTitle|WinGetClass|WinGetPos|WinGetText|WinGetTitle|WinHide|WinKill|WinMaximize|WinMenuSelectItem|WinMinimize|WinMinimizeAll|WinMinimizeAllUndo|WinMove|WinRestore|WinSet|WinSetTitle|WinShow|WinWait|WinWaitActive|WinWaitClose|WinWaitNotActive)\b/i,constant:/\b(?:a_ahkpath|a_ahkversion|a_appdata|a_appdatacommon|a_autotrim|a_batchlines|a_caretx|a_carety|a_computername|a_controldelay|a_cursor|a_dd|a_ddd|a_dddd|a_defaultmousespeed|a_desktop|a_desktopcommon|a_detecthiddentext|a_detecthiddenwindows|a_endchar|a_eventinfo|a_exitreason|a_fileencoding|a_formatfloat|a_formatinteger|a_gui|a_guicontrol|a_guicontrolevent|a_guievent|a_guiheight|a_guiwidth|a_guix|a_guiy|a_hour|a_iconfile|a_iconhidden|a_iconnumber|a_icontip|a_index|a_ipaddress1|a_ipaddress2|a_ipaddress3|a_ipaddress4|a_is64bitos|a_isadmin|a_iscompiled|a_iscritical|a_ispaused|a_issuspended|a_isunicode|a_keydelay|a_language|a_lasterror|a_linefile|a_linenumber|a_loopfield|a_loopfileattrib|a_loopfiledir|a_loopfileext|a_loopfilefullpath|a_loopfilelongpath|a_loopfilename|a_loopfileshortname|a_loopfileshortpath|a_loopfilesize|a_loopfilesizekb|a_loopfilesizemb|a_loopfiletimeaccessed|a_loopfiletimecreated|a_loopfiletimemodified|a_loopreadline|a_loopregkey|a_loopregname|a_loopregsubkey|a_loopregtimemodified|a_loopregtype|a_mday|a_min|a_mm|a_mmm|a_mmmm|a_mon|a_mousedelay|a_msec|a_mydocuments|a_now|a_nowutc|a_numbatchlines|a_ostype|a_osversion|a_priorhotkey|a_priorkey|a_programfiles|a_programs|a_programscommon|a_ptrsize|a_regview|a_screendpi|a_screenheight|a_screenwidth|a_scriptdir|a_scriptfullpath|a_scripthwnd|a_scriptname|a_sec|a_space|a_startmenu|a_startmenucommon|a_startup|a_startupcommon|a_stringcasesense|a_tab|a_temp|a_thisfunc|a_thishotkey|a_thislabel|a_thismenu|a_thismenuitem|a_thismenuitempos|a_tickcount|a_timeidle|a_timeidlephysical|a_timesincepriorhotkey|a_timesincethishotkey|a_titlematchmode|a_titlematchmodespeed|a_username|a_wday|a_windelay|a_windir|a_workingdir|a_yday|a_year|a_yweek|a_yyyy|clipboard|clipboardall|comspec|errorlevel|programfiles)\b/i,builtin:/\b(?:abs|acos|asc|asin|atan|ceil|chr|class|comobjactive|comobjarray|comobjconnect|comobjcreate|comobjerror|comobjflags|comobjget|comobjquery|comobjtype|comobjvalue|cos|dllcall|exp|fileexist|Fileopen|floor|format|il_add|il_create|il_destroy|instr|isfunc|islabel|IsObject|ln|log|ltrim|lv_add|lv_delete|lv_deletecol|lv_getcount|lv_getnext|lv_gettext|lv_insert|lv_insertcol|lv_modify|lv_modifycol|lv_setimagelist|mod|numget|numput|onmessage|regexmatch|regexreplace|registercallback|round|rtrim|sb_seticon|sb_setparts|sb_settext|sin|sqrt|strlen|strreplace|strsplit|substr|tan|tv_add|tv_delete|tv_get|tv_getchild|tv_getcount|tv_getnext|tv_getparent|tv_getprev|tv_getselection|tv_gettext|tv_modify|varsetcapacity|winactive|winexist|__Call|__Get|__New|__Set)\b/i,symbol:/\b(?:alt|altdown|altup|appskey|backspace|browser_back|browser_favorites|browser_forward|browser_home|browser_refresh|browser_search|browser_stop|bs|capslock|ctrl|ctrlbreak|ctrldown|ctrlup|del|delete|down|end|enter|esc|escape|f1|f10|f11|f12|f13|f14|f15|f16|f17|f18|f19|f2|f20|f21|f22|f23|f24|f3|f4|f5|f6|f7|f8|f9|home|ins|insert|joy1|joy10|joy11|joy12|joy13|joy14|joy15|joy16|joy17|joy18|joy19|joy2|joy20|joy21|joy22|joy23|joy24|joy25|joy26|joy27|joy28|joy29|joy3|joy30|joy31|joy32|joy4|joy5|joy6|joy7|joy8|joy9|joyaxes|joybuttons|joyinfo|joyname|joypov|joyr|joyu|joyv|joyx|joyy|joyz|lalt|launch_app1|launch_app2|launch_mail|launch_media|lbutton|lcontrol|lctrl|left|lshift|lwin|lwindown|lwinup|mbutton|media_next|media_play_pause|media_prev|media_stop|numlock|numpad0|numpad1|numpad2|numpad3|numpad4|numpad5|numpad6|numpad7|numpad8|numpad9|numpadadd|numpadclear|numpaddel|numpaddiv|numpaddot|numpaddown|numpadend|numpadenter|numpadhome|numpadins|numpadleft|numpadmult|numpadpgdn|numpadpgup|numpadright|numpadsub|numpadup|pgdn|pgup|printscreen|ralt|rbutton|rcontrol|rctrl|right|rshift|rwin|rwindown|rwinup|scrolllock|shift|shiftdown|shiftup|space|tab|up|volume_down|volume_mute|volume_up|wheeldown|wheelleft|wheelright|wheelup|xbutton1|xbutton2)\b/i,important:/#\b(?:AllowSameLineComments|ClipboardTimeout|CommentFlag|DerefChar|ErrorStdOut|EscapeChar|HotkeyInterval|HotkeyModifierTimeout|Hotstring|If|IfTimeout|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Include|IncludeAgain|InputLevel|InstallKeybdHook|InstallMouseHook|KeyHistory|MaxHotkeysPerInterval|MaxMem|MaxThreads|MaxThreadsBuffer|MaxThreadsPerHotkey|MenuMaskKey|NoEnv|NoTrayIcon|Persistent|SingleInstance|UseHook|Warn|WinActivateForce)\b/i,keyword:/\b(?:Abort|AboveNormal|Add|ahk_class|ahk_exe|ahk_group|ahk_id|ahk_pid|All|Alnum|Alpha|AltSubmit|AltTab|AltTabAndMenu|AltTabMenu|AltTabMenuDismiss|AlwaysOnTop|AutoSize|Background|BackgroundTrans|BelowNormal|between|BitAnd|BitNot|BitOr|BitShiftLeft|BitShiftRight|BitXOr|Bold|Border|Button|ByRef|Catch|Checkbox|Checked|CheckedGray|Choose|ChooseString|Close|Color|ComboBox|Contains|ControlList|Count|Date|DateTime|Days|DDL|Default|DeleteAll|Delimiter|Deref|Destroy|Digit|Disable|Disabled|DropDownList|Edit|Eject|Else|Enable|Enabled|Error|Exist|Expand|ExStyle|FileSystem|Finally|First|Flash|Float|FloatFast|Focus|Font|for|global|Grid|Group|GroupBox|GuiClose|GuiContextMenu|GuiDropFiles|GuiEscape|GuiSize|Hdr|Hidden|Hide|High|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|Hours|HScroll|Icon|IconSmall|ID|IDLast|If|IfEqual|IfExist|IfGreater|IfGreaterOrEqual|IfInString|IfLess|IfLessOrEqual|IfMsgBox|IfNotEqual|IfNotExist|IfNotInString|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Ignore|ImageList|in|Integer|IntegerFast|Interrupt|is|italic|Join|Label|LastFound|LastFoundExist|Limit|Lines|List|ListBox|ListView|local|Lock|Logoff|Low|Lower|Lowercase|MainWindow|Margin|Maximize|MaximizeBox|MaxSize|Minimize|MinimizeBox|MinMax|MinSize|Minutes|MonthCal|Mouse|Move|Multi|NA|No|NoActivate|NoDefault|NoHide|NoIcon|NoMainWindow|norm|Normal|NoSort|NoSortHdr|NoStandard|Not|NoTab|NoTimers|Number|Off|Ok|On|OwnDialogs|Owner|Parse|Password|Picture|Pixel|Pos|Pow|Priority|ProcessName|Radio|Range|Read|ReadOnly|Realtime|Redraw|Region|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|Relative|Rename|Report|Resize|Restore|Retry|RGB|Screen|Seconds|Section|Serial|SetLabel|ShiftAltTab|Show|Single|Slider|SortDesc|Standard|static|Status|StatusBar|StatusCD|strike|Style|Submit|SysMenu|Tab2|TabStop|Text|Theme|Throw|Tile|ToggleCheck|ToggleEnable|ToolWindow|Top|Topmost|TransColor|Transparent|Tray|TreeView|Try|TryAgain|Type|UnCheck|underline|Unicode|Unlock|Until|UpDown|Upper|Uppercase|UseErrorLevel|Vis|VisFirst|Visible|VScroll|Wait|WaitClose|WantCtrlA|WantF2|WantReturn|While|Wrap|Xdigit|xm|xp|xs|Yes|ym|yp|ys)\b/i,function:/[^(); \t,\n+*\-=?>:\\\/<&%\[\]]+(?=\()/,punctuation:/[{}[\]():,]/}}e.exports=t,t.displayName="autohotkey",t.aliases=[]},4291:function(e){"use strict";function t(e){e.languages.autoit={comment:[/;.*/,{pattern:/(^[\t ]*)#(?:comments-start|cs)[\s\S]*?^[ \t]*#(?:ce|comments-end)/m,lookbehind:!0}],url:{pattern:/(^[\t ]*#include\s+)(?:<[^\r\n>]+>|"[^\r\n"]+")/m,lookbehind:!0},string:{pattern:/(["'])(?:\1\1|(?!\1)[^\r\n])*\1/,greedy:!0,inside:{variable:/([%$@])\w+\1/}},directive:{pattern:/(^[\t ]*)#[\w-]+/m,lookbehind:!0,alias:"keyword"},function:/\b\w+(?=\()/,variable:/[$@]\w+/,keyword:/\b(?:Case|Const|Continue(?:Case|Loop)|Default|Dim|Do|Else(?:If)?|End(?:Func|If|Select|Switch|With)|Enum|Exit(?:Loop)?|For|Func|Global|If|In|Local|Next|Null|ReDim|Select|Static|Step|Switch|Then|To|Until|Volatile|WEnd|While|With)\b/i,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,boolean:/\b(?:False|True)\b/i,operator:/<[=>]?|[-+*\/=&>]=?|[?^]|\b(?:And|Not|Or)\b/i,punctuation:/[\[\]().,:]/}}e.exports=t,t.displayName="autoit",t.aliases=[]},3981:function(e){"use strict";function t(e){!function(e){function t(e,t,n){return RegExp(function(e,t){return e.replace(/<<(\d+)>>/g,(function(e,n){return t[+n]}))}(e,t),n||"")}var n=/bool|clip|float|int|string|val/.source,r=[[/is(?:bool|clip|float|int|string)|defined|(?:(?:internal)?function|var)?exists?/.source,/apply|assert|default|eval|import|nop|select|undefined/.source,/opt_(?:allowfloataudio|avipadscanlines|dwchannelmask|enable_(?:b64a|planartopackedrgb|v210|y3_10_10|y3_10_16)|usewaveextensible|vdubplanarhack)|set(?:cachemode|maxcpu|memorymax|planarlegacyalignment|workingdir)/.source,/hex(?:value)?|value/.source,/abs|ceil|continued(?:denominator|numerator)?|exp|floor|fmod|frac|log(?:10)?|max|min|muldiv|pi|pow|rand|round|sign|spline|sqrt/.source,/a?sinh?|a?cosh?|a?tan[2h]?/.source,/(?:bit(?:and|not|x?or|[lr]?shift[aslu]?|sh[lr]|sa[lr]|[lr]rotatel?|ro[rl]|te?st|set(?:count)?|cl(?:ea)?r|ch(?:an)?ge?))/.source,/average(?:[bgr]|chroma[uv]|luma)|(?:[rgb]|chroma[uv]|luma|rgb|[yuv](?=difference(?:fromprevious|tonext)))difference(?:fromprevious|tonext)?|[yuvrgb]plane(?:median|min|max|minmaxdifference)/.source,/getprocessinfo|logmsg|script(?:dir(?:utf8)?|file(?:utf8)?|name(?:utf8)?)|setlogparams/.source,/chr|(?:fill|find|left|mid|replace|rev|right)str|format|[lu]case|ord|str(?:cmpi?|fromutf8|len|toutf8)|time|trim(?:all|left|right)/.source,/isversionorgreater|version(?:number|string)/.source,/buildpixeltype|colorspacenametopixeltype/.source,/addautoloaddir|on(?:cpu|cuda)|prefetch|setfiltermtmode/.source].join("|"),[/has(?:audio|video)/.source,/height|width/.source,/frame(?:count|rate)|framerate(?:denominator|numerator)/.source,/getparity|is(?:field|frame)based/.source,/bitspercomponent|componentsize|hasalpha|is(?:planar(?:rgba?)?|interleaved|rgb(?:24|32|48|64)?|y(?:8|u(?:va?|y2))?|yv(?:12|16|24|411)|420|422|444|packedrgb)|numcomponents|pixeltype/.source,/audio(?:bits|channels|duration|length(?:[fs]|hi|lo)?|rate)|isaudio(?:float|int)/.source].join("|"),[/avi(?:file)?source|directshowsource|image(?:reader|source|sourceanim)|opendmlsource|segmented(?:avisource|directshowsource)|wavsource/.source,/coloryuv|convertbacktoyuy2|convertto(?:RGB(?:24|32|48|64)|(?:planar)?RGBA?|Y8?|YV(?:12|16|24|411)|YUVA?(?:411|420|422|444)|YUY2)|fixluminance|gr[ae]yscale|invert|levels|limiter|mergea?rgb|merge(?:chroma|luma)|rgbadjust|show(?:alpha|blue|green|red)|swapuv|tweak|[uv]toy8?|ytouv/.source,/(?:colorkey|reset)mask|layer|mask(?:hs)?|merge|overlay|subtract/.source,/addborders|(?:bicubic|bilinear|blackman|gauss|lanczos4|lanczos|point|sinc|spline(?:16|36|64))resize|crop(?:bottom)?|flip(?:horizontal|vertical)|(?:horizontal|vertical)?reduceby2|letterbox|skewrows|turn(?:180|left|right)/.source,/blur|fixbrokenchromaupsampling|generalconvolution|(?:spatial|temporal)soften|sharpen/.source,/trim|(?:un)?alignedsplice|(?:assume|assumescaled|change|convert)FPS|(?:delete|duplicate)frame|dissolve|fade(?:in|io|out)[02]?|freezeframe|interleave|loop|reverse|select(?:even|odd|(?:range)?every)/.source,/assume[bt]ff|assume(?:field|frame)based|bob|complementparity|doubleweave|peculiarblend|pulldown|separate(?:columns|fields|rows)|swapfields|weave(?:columns|rows)?/.source,/amplify(?:db)?|assumesamplerate|audiodub(?:ex)?|audiotrim|convertaudioto(?:(?:8|16|24|32)bit|float)|converttomono|delayaudio|ensurevbrmp3sync|get(?:left|right)?channel|kill(?:audio|video)|mergechannels|mixaudio|monotostereo|normalize|resampleaudio|ssrc|supereq|timestretch/.source,/animate|applyrange|conditional(?:filter|reader|select)|frameevaluate|scriptclip|tcp(?:server|source)|writefile(?:end|if|start)?/.source,/imagewriter/.source,/blackness|blankclip|colorbars(?:hd)?|compare|dumpfiltergraph|echo|histogram|info|messageclip|preroll|setgraphanalysis|show(?:framenumber|smpte|time)|showfiveversions|stack(?:horizontal|vertical)|subtitle|tone|version/.source].join("|")].join("|");e.languages.avisynth={comment:[{pattern:/(^|[^\\])\[\*(?:[^\[*]|\[(?!\*)|\*(?!\])|\[\*(?:[^\[*]|\[(?!\*)|\*(?!\]))*\*\])*\*\]/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\$])#.*/,lookbehind:!0,greedy:!0}],argument:{pattern:t(/\b(?:<<0>>)\s+("?)\w+\1/.source,[n],"i"),inside:{keyword:/^\w+/}},"argument-label":{pattern:/([,(][\s\\]*)\w+\s*=(?!=)/,lookbehind:!0,inside:{"argument-name":{pattern:/^\w+/,alias:"punctuation"},punctuation:/=$/}},string:[{pattern:/"""[\s\S]*?"""/,greedy:!0},{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0,inside:{constant:{pattern:/\b(?:DEFAULT_MT_MODE|(?:MAINSCRIPT|PROGRAM|SCRIPT)DIR|(?:MACHINE|USER)_(?:CLASSIC|PLUS)_PLUGINS)\b/}}}],variable:/\b(?:last)\b/i,boolean:/\b(?:false|no|true|yes)\b/i,keyword:/\b(?:catch|else|for|function|global|if|return|try|while|__END__)\b/i,constant:/\bMT_(?:MULTI_INSTANCE|NICE_FILTER|SERIALIZED|SPECIAL_MT)\b/,"builtin-function":{pattern:t(/\b(?:<<0>>)\b/.source,[r],"i"),alias:"function"},"type-cast":{pattern:t(/\b(?:<<0>>)(?=\s*\()/.source,[n],"i"),alias:"keyword"},function:{pattern:/\b[a-z_]\w*(?=\s*\()|(\.)[a-z_]\w*\b/i,lookbehind:!0},"line-continuation":{pattern:/(^[ \t]*)\\|\\(?=[ \t]*$)/m,lookbehind:!0,alias:"punctuation"},number:/\B\$(?:[\da-f]{6}|[\da-f]{8})\b|(?:(?:\b|\B-)\d+(?:\.\d*)?\b|\B\.\d+\b)/i,operator:/\+\+?|[!=<>]=?|&&|\|\||[?:*/%-]/,punctuation:/[{}\[\]();,.]/},e.languages.avs=e.languages.avisynth}(e)}e.exports=t,t.displayName="avisynth",t.aliases=["avs"]},9730:function(e){"use strict";function t(e){e.languages["avro-idl"]={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/(^|[^\\])"(?:[^\r\n"\\]|\\.)*"/,lookbehind:!0,greedy:!0},annotation:{pattern:/@(?:[$\w.-]|`[^\r\n`]+`)+/,greedy:!0,alias:"function"},"function-identifier":{pattern:/`[^\r\n`]+`(?=\s*\()/,greedy:!0,alias:"function"},identifier:{pattern:/`[^\r\n`]+`/,greedy:!0},"class-name":{pattern:/(\b(?:enum|error|protocol|record|throws)\b\s+)[$\w]+/,lookbehind:!0,greedy:!0},keyword:/\b(?:array|boolean|bytes|date|decimal|double|enum|error|false|fixed|float|idl|import|int|local_timestamp_ms|long|map|null|oneway|protocol|record|schema|string|throws|time_ms|timestamp_ms|true|union|uuid|void)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:[{pattern:/(^|[^\w.])-?(?:(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|0x(?:[a-f0-9]+(?:\.[a-f0-9]*)?|\.[a-f0-9]+)(?:p[+-]?\d+)?)[dfl]?(?![\w.])/i,lookbehind:!0},/-?\b(?:Infinity|NaN)\b/],operator:/=/,punctuation:/[()\[\]{}<>.:,;-]/},e.languages.avdl=e.languages["avro-idl"]}e.exports=t,t.displayName="avroIdl",t.aliases=[]},7033:function(e){"use strict";function t(e){!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],i=r.variable[1].inside,o=0;o<a.length;o++)i[a[o]]=e.languages.bash[a[o]];e.languages.shell=e.languages.bash}(e)}e.exports=t,t.displayName="bash",t.aliases=["shell"]},7867:function(e){"use strict";function t(e){e.languages.basic={comment:{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},string:{pattern:/"(?:""|[!#$%&'()*,\/:;<=>?^\w +\-.])*"/,greedy:!0},number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,keyword:/\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SELECT CASE|SHARED|SHELL|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|\b)/i,function:/\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|\b)/i,operator:/<[=>]?|>=?|[+\-*\/^=&]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i,punctuation:/[,;:()]/}}e.exports=t,t.displayName="basic",t.aliases=[]},9607:function(e){"use strict";function t(e){!function(e){var t=/%%?[~:\w]+%?|!\S+!/,n={pattern:/\/[a-z?]+(?=[ :]|$):?|-[a-z]\b|--[a-z-]+\b/im,alias:"attr-name",inside:{punctuation:/:/}},r=/"(?:[\\"]"|[^"])*"(?!")/,a=/(?:\b|-)\d+\b/;e.languages.batch={comment:[/^::.*/m,{pattern:/((?:^|[&(])[ \t]*)rem\b(?:[^^&)\r\n]|\^(?:\r\n|[\s\S]))*/im,lookbehind:!0}],label:{pattern:/^:.*/m,alias:"property"},command:[{pattern:/((?:^|[&(])[ \t]*)for(?: \/[a-z?](?:[ :](?:"[^"]*"|[^\s"/]\S*))?)* \S+ in \([^)]+\) do/im,lookbehind:!0,inside:{keyword:/\b(?:do|in)\b|^for\b/i,string:r,parameter:n,variable:t,number:a,punctuation:/[()',]/}},{pattern:/((?:^|[&(])[ \t]*)if(?: \/[a-z?](?:[ :](?:"[^"]*"|[^\s"/]\S*))?)* (?:not )?(?:cmdextversion \d+|defined \w+|errorlevel \d+|exist \S+|(?:"[^"]*"|(?!")(?:(?!==)\S)+)?(?:==| (?:equ|geq|gtr|leq|lss|neq) )(?:"[^"]*"|[^\s"]\S*))/im,lookbehind:!0,inside:{keyword:/\b(?:cmdextversion|defined|errorlevel|exist|not)\b|^if\b/i,string:r,parameter:n,variable:t,number:a,operator:/\^|==|\b(?:equ|geq|gtr|leq|lss|neq)\b/i}},{pattern:/((?:^|[&()])[ \t]*)else\b/im,lookbehind:!0,inside:{keyword:/^else\b/i}},{pattern:/((?:^|[&(])[ \t]*)set(?: \/[a-z](?:[ :](?:"[^"]*"|[^\s"/]\S*))?)* (?:[^^&)\r\n]|\^(?:\r\n|[\s\S]))*/im,lookbehind:!0,inside:{keyword:/^set\b/i,string:r,parameter:n,variable:[t,/\w+(?=(?:[*\/%+\-&^|]|<<|>>)?=)/],number:a,operator:/[*\/%+\-&^|]=?|<<=?|>>=?|[!~_=]/,punctuation:/[()',]/}},{pattern:/((?:^|[&(])[ \t]*@?)\w+\b(?:"(?:[\\"]"|[^"])*"(?!")|[^"^&)\r\n]|\^(?:\r\n|[\s\S]))*/m,lookbehind:!0,inside:{keyword:/^\w+\b/,string:r,parameter:n,label:{pattern:/(^\s*):\S+/m,lookbehind:!0,alias:"property"},variable:t,number:a,operator:/\^/}}],operator:/[&@]/,punctuation:/[()']/}}(e)}e.exports=t,t.displayName="batch",t.aliases=[]},150:function(e){"use strict";function t(e){e.languages.bbcode={tag:{pattern:/\[\/?[^\s=\]]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'"\]=]+))?(?:\s+[^\s=\]]+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'"\]=]+))*\s*\]/,inside:{tag:{pattern:/^\[\/?[^\s=\]]+/,inside:{punctuation:/^\[\/?/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'"\]=]+)/,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\]/,"attr-name":/[^\s=\]]+/}}},e.languages.shortcode=e.languages.bbcode}e.exports=t,t.displayName="bbcode",t.aliases=["shortcode"]},3098:function(e){"use strict";function t(e){e.languages.bicep={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],property:[{pattern:/([\r\n][ \t]*)[a-z_]\w*(?=[ \t]*:)/i,lookbehind:!0},{pattern:/([\r\n][ \t]*)'(?:\\.|\$(?!\{)|[^'\\\r\n$])*'(?=[ \t]*:)/,lookbehind:!0,greedy:!0}],string:[{pattern:/'''[^'][\s\S]*?'''/,greedy:!0},{pattern:/(^|[^\\'])'(?:\\.|\$(?!\{)|[^'\\\r\n$])*'/,lookbehind:!0,greedy:!0}],"interpolated-string":{pattern:/(^|[^\\'])'(?:\\.|\$(?:(?!\{)|\{[^{}\r\n]*\})|[^'\\\r\n$])*'/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/\$\{[^{}\r\n]*\}/,inside:{expression:{pattern:/(^\$\{)[\s\S]+(?=\}$)/,lookbehind:!0},punctuation:/^\$\{|\}$/}},string:/[\s\S]+/}},datatype:{pattern:/(\b(?:output|param)\b[ \t]+\w+[ \t]+)\w+\b/,lookbehind:!0,alias:"class-name"},boolean:/\b(?:false|true)\b/,keyword:/\b(?:existing|for|if|in|module|null|output|param|resource|targetScope|var)\b/,decorator:/@\w+\b/,function:/\b[a-z_]\w*(?=[ \t]*\()/i,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/,punctuation:/[{}[\];(),.:]/},e.languages.bicep["interpolated-string"].inside.interpolation.inside.expression.inside=e.languages.bicep}e.exports=t,t.displayName="bicep",t.aliases=[]},4786:function(e){"use strict";function t(e){e.languages.birb=e.languages.extend("clike",{string:{pattern:/r?("|')(?:\\.|(?!\1)[^\\])*\1/,greedy:!0},"class-name":[/\b[A-Z](?:[\d_]*[a-zA-Z]\w*)?\b/,/\b(?:[A-Z]\w*|(?!(?:var|void)\b)[a-z]\w*)(?=\s+\w+\s*[;,=()])/],keyword:/\b(?:assert|break|case|class|const|default|else|enum|final|follows|for|grab|if|nest|new|next|noSeeb|return|static|switch|throw|var|void|while)\b/,operator:/\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?|:/,variable:/\b[a-z_]\w*\b/}),e.languages.insertBefore("birb","function",{metadata:{pattern:/<\w+>/,greedy:!0,alias:"symbol"}})}e.exports=t,t.displayName="birb",t.aliases=[]},6938:function(e,t,n){"use strict";var r=n(272);function a(e){e.register(r),e.languages.bison=e.languages.extend("c",{}),e.languages.insertBefore("bison","comment",{bison:{pattern:/^(?:[^%]|%(?!%))*%%[\s\S]*?%%/,inside:{c:{pattern:/%\{[\s\S]*?%\}|\{(?:\{[^}]*\}|[^{}])*\}/,inside:{delimiter:{pattern:/^%?\{|%?\}$/,alias:"punctuation"},"bison-variable":{pattern:/[$@](?:<[^\s>]+>)?[\w$]+/,alias:"variable",inside:{punctuation:/<|>/}},rest:e.languages.c}},comment:e.languages.c.comment,string:e.languages.c.string,property:/\S+(?=:)/,keyword:/%\w+/,number:{pattern:/(^|[^@])\b(?:0x[\da-f]+|\d+)/i,lookbehind:!0},punctuation:/%[%?]|[|:;\[\]<>]/}}})}e.exports=a,a.displayName="bison",a.aliases=[]},9784:function(e){"use strict";function t(e){e.languages.bnf={string:{pattern:/"[^\r\n"]*"|'[^\r\n']*'/},definition:{pattern:/<[^<>\r\n\t]+>(?=\s*::=)/,alias:["rule","keyword"],inside:{punctuation:/^<|>$/}},rule:{pattern:/<[^<>\r\n\t]+>/,inside:{punctuation:/^<|>$/}},operator:/::=|[|()[\]{}*+?]|\.{3}/},e.languages.rbnf=e.languages.bnf}e.exports=t,t.displayName="bnf",t.aliases=["rbnf"]},2689:function(e){"use strict";function t(e){e.languages.brainfuck={pointer:{pattern:/<|>/,alias:"keyword"},increment:{pattern:/\+/,alias:"inserted"},decrement:{pattern:/-/,alias:"deleted"},branching:{pattern:/\[|\]/,alias:"important"},operator:/[.,]/,comment:/\S+/}}e.exports=t,t.displayName="brainfuck",t.aliases=[]},6514:function(e){"use strict";function t(e){e.languages.brightscript={comment:/(?:\brem|').*/i,"directive-statement":{pattern:/(^[\t ]*)#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if).*/im,lookbehind:!0,alias:"property",inside:{"error-message":{pattern:/(^#error).+/,lookbehind:!0},directive:{pattern:/^#(?:const|else(?:[\t ]+if)?|end[\t ]+if|error|if)/,alias:"keyword"},expression:{pattern:/[\s\S]+/,inside:null}}},property:{pattern:/([\r\n{,][\t ]*)(?:(?!\d)\w+|"(?:[^"\r\n]|"")*"(?!"))(?=[ \t]*:)/,lookbehind:!0,greedy:!0},string:{pattern:/"(?:[^"\r\n]|"")*"(?!")/,greedy:!0},"class-name":{pattern:/(\bAs[\t ]+)\w+/i,lookbehind:!0},keyword:/\b(?:As|Dim|Each|Else|Elseif|End|Exit|For|Function|Goto|If|In|Print|Return|Step|Stop|Sub|Then|To|While)\b/i,boolean:/\b(?:false|true)\b/i,function:/\b(?!\d)\w+(?=[\t ]*\()/,number:/(?:\b\d+(?:\.\d+)?(?:[ed][+-]\d+)?|&h[a-f\d]+)\b[%&!#]?/i,operator:/--|\+\+|>>=?|<<=?|<>|[-+*/\\<>]=?|[:^=?]|\b(?:and|mod|not|or)\b/i,punctuation:/[.,;()[\]{}]/,constant:/\b(?:LINE_NUM)\b/i},e.languages.brightscript["directive-statement"].inside.expression.inside=e.languages.brightscript}e.exports=t,t.displayName="brightscript",t.aliases=[]},25:function(e){"use strict";function t(e){e.languages.bro={comment:{pattern:/(^|[^\\$])#.*/,lookbehind:!0,inside:{italic:/\b(?:FIXME|TODO|XXX)\b/}},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},boolean:/\b[TF]\b/,function:{pattern:/(\b(?:event|function|hook)[ \t]+)\w+(?:::\w+)?/,lookbehind:!0},builtin:/(?:@(?:load(?:-(?:plugin|sigs))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME))|(?:&?(?:add_func|create_expire|default|delete_func|encrypt|error_handler|expire_func|group|log|mergeable|optional|persistent|priority|raw_output|read_expire|redef|rotate_interval|rotate_size|synchronized|type_column|write_expire))/,constant:{pattern:/(\bconst[ \t]+)\w+/i,lookbehind:!0},keyword:/\b(?:add|addr|alarm|any|bool|break|const|continue|count|delete|double|else|enum|event|export|file|for|function|global|hook|if|in|int|interval|local|module|next|of|opaque|pattern|port|print|record|return|schedule|set|string|subnet|table|time|timeout|using|vector|when)\b/,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&|\|\|?|\?|\*|\/|~|\^|%/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,punctuation:/[{}[\];(),.:]/}}e.exports=t,t.displayName="bro",t.aliases=[]},7501:function(e){"use strict";function t(e){e.languages.bsl={comment:/\/\/.*/,string:[{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},{pattern:/'(?:[^'\r\n\\]|\\.)*'/}],keyword:[{pattern:/(^|[^\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:\u043f\u043e\u043a\u0430|\u0434\u043b\u044f|\u043d\u043e\u0432\u044b\u0439|\u043f\u0440\u0435\u0440\u0432\u0430\u0442\u044c|\u043f\u043e\u043f\u044b\u0442\u043a\u0430|\u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435|\u0432\u044b\u0437\u0432\u0430\u0442\u044c\u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435|\u0438\u043d\u0430\u0447\u0435|\u043a\u043e\u043d\u0435\u0446\u043f\u043e\u043f\u044b\u0442\u043a\u0438|\u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043e|\u0444\u0443\u043d\u043a\u0446\u0438\u044f|\u043f\u0435\u0440\u0435\u043c|\u0432\u043e\u0437\u0432\u0440\u0430\u0442|\u043a\u043e\u043d\u0435\u0446\u0444\u0443\u043d\u043a\u0446\u0438\u0438|\u0435\u0441\u043b\u0438|\u0438\u043d\u0430\u0447\u0435\u0435\u0441\u043b\u0438|\u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430|\u043a\u043e\u043d\u0435\u0446\u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b|\u0442\u043e\u0433\u0434\u0430|\u0437\u043d\u0430\u0447|\u044d\u043a\u0441\u043f\u043e\u0440\u0442|\u043a\u043e\u043d\u0435\u0446\u0435\u0441\u043b\u0438|\u0438\u0437|\u043a\u0430\u0436\u0434\u043e\u0433\u043e|\u0438\u0441\u0442\u0438\u043d\u0430|\u043b\u043e\u0436\u044c|\u043f\u043e|\u0446\u0438\u043a\u043b|\u043a\u043e\u043d\u0435\u0446\u0446\u0438\u043a\u043b\u0430|\u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c)(?![\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])/i,lookbehind:!0},{pattern:/\b(?:break|do|each|else|elseif|enddo|endfunction|endif|endprocedure|endtry|except|execute|export|false|for|function|if|in|new|null|procedure|raise|return|then|to|true|try|undefined|val|var|while)\b/i}],number:{pattern:/(^(?=\d)|[^\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:\d+(?:\.\d*)?|\.\d+)(?:E[+-]?\d+)?/i,lookbehind:!0},operator:[/[<>+\-*/]=?|[%=]/,{pattern:/(^|[^\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])(?:\u0438|\u0438\u043b\u0438|\u043d\u0435)(?![\w\u0400-\u0484\u0487-\u052f\u1d2b\u1d78\u2de0-\u2dff\ua640-\ua69f\ufe2e\ufe2f])/i,lookbehind:!0},{pattern:/\b(?:and|not|or)\b/i}],punctuation:/\(\.|\.\)|[()\[\]:;,.]/,directive:[{pattern:/^([ \t]*)&.*/m,lookbehind:!0,greedy:!0,alias:"important"},{pattern:/^([ \t]*)#.*/gm,lookbehind:!0,greedy:!0,alias:"important"}]},e.languages.oscript=e.languages.bsl}e.exports=t,t.displayName="bsl",t.aliases=[]},272:function(e){"use strict";function t(e){e.languages.c=e.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),e.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),e.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},e.languages.c.string],char:e.languages.c.char,comment:e.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:e.languages.c}}}}),e.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete e.languages.c.boolean}e.exports=t,t.displayName="c",t.aliases=[]},943:function(e){"use strict";function t(e){e.languages.cfscript=e.languages.extend("clike",{comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,inside:{annotation:{pattern:/(?:^|[^.])@[\w\.]+/,alias:"punctuation"}}},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],keyword:/\b(?:abstract|break|catch|component|continue|default|do|else|extends|final|finally|for|function|if|in|include|package|private|property|public|remote|required|rethrow|return|static|switch|throw|try|var|while|xml)\b(?!\s*=)/,operator:[/\+\+|--|&&|\|\||::|=>|[!=]==|<=?|>=?|[-+*/%&|^!=<>]=?|\?(?:\.|:)?|[?:]/,/\b(?:and|contains|eq|equal|eqv|gt|gte|imp|is|lt|lte|mod|not|or|xor)\b/],scope:{pattern:/\b(?:application|arguments|cgi|client|cookie|local|session|super|this|variables)\b/,alias:"global"},type:{pattern:/\b(?:any|array|binary|boolean|date|guid|numeric|query|string|struct|uuid|void|xml)\b/,alias:"builtin"}}),e.languages.insertBefore("cfscript","keyword",{"function-variable":{pattern:/[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"}}),delete e.languages.cfscript["class-name"],e.languages.cfc=e.languages.cfscript}e.exports=t,t.displayName="cfscript",t.aliases=[]},9785:function(e,t,n){"use strict";var r=n(8593);function a(e){e.register(r),e.languages.chaiscript=e.languages.extend("clike",{string:{pattern:/(^|[^\\])'(?:[^'\\]|\\[\s\S])*'/,lookbehind:!0,greedy:!0},"class-name":[{pattern:/(\bclass\s+)\w+/,lookbehind:!0},{pattern:/(\b(?:attr|def)\s+)\w+(?=\s*::)/,lookbehind:!0}],keyword:/\b(?:attr|auto|break|case|catch|class|continue|def|default|else|finally|for|fun|global|if|return|switch|this|try|var|while)\b/,number:[e.languages.cpp.number,/\b(?:Infinity|NaN)\b/],operator:/>>=?|<<=?|\|\||&&|:[:=]?|--|\+\+|[=!<>+\-*/%|&^]=?|[?~]|`[^`\r\n]{1,4}`/}),e.languages.insertBefore("chaiscript","operator",{"parameter-type":{pattern:/([,(]\s*)\w+(?=\s+\w)/,lookbehind:!0,alias:"class-name"}}),e.languages.insertBefore("chaiscript","string",{"string-interpolation":{pattern:/(^|[^\\])"(?:[^"$\\]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*"/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\}/,lookbehind:!0,inside:{"interpolation-expression":{pattern:/(^\$\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.chaiscript},"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"}}},string:/[\s\S]+/}}})}e.exports=a,a.displayName="chaiscript",a.aliases=[]},9529:function(e){"use strict";function t(e){e.languages.cil={comment:/\/\/.*/,string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},directive:{pattern:/(^|\W)\.[a-z]+(?=\s)/,lookbehind:!0,alias:"class-name"},variable:/\[[\w\.]+\]/,keyword:/\b(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|u?int(?:8|16|32|64)?|iant|idispatch|implements|import|initonly|instance|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)\b/,function:/\b(?:(?:constrained|no|readonly|tail|unaligned|volatile)\.)?(?:conv\.(?:[iu][1248]?|ovf\.[iu][1248]?(?:\.un)?|r\.un|r4|r8)|ldc\.(?:i4(?:\.\d+|\.[mM]1|\.s)?|i8|r4|r8)|ldelem(?:\.[iu][1248]?|\.r[48]|\.ref|a)?|ldind\.(?:[iu][1248]?|r[48]|ref)|stelem\.?(?:i[1248]?|r[48]|ref)?|stind\.(?:i[1248]?|r[48]|ref)?|end(?:fault|filter|finally)|ldarg(?:\.[0-3s]|a(?:\.s)?)?|ldloc(?:\.\d+|\.s)?|sub(?:\.ovf(?:\.un)?)?|mul(?:\.ovf(?:\.un)?)?|add(?:\.ovf(?:\.un)?)?|stloc(?:\.[0-3s])?|refany(?:type|val)|blt(?:\.un)?(?:\.s)?|ble(?:\.un)?(?:\.s)?|bgt(?:\.un)?(?:\.s)?|bge(?:\.un)?(?:\.s)?|unbox(?:\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\.s)?|bne\.un(?:\.s)?|ldloca(?:\.s)?|brzero(?:\.s)?|brtrue(?:\.s)?|brnull(?:\.s)?|brinst(?:\.s)?|starg(?:\.s)?|leave(?:\.s)?|shr(?:\.un)?|rem(?:\.un)?|div(?:\.un)?|clt(?:\.un)?|alignment|castclass|ldvirtftn|beq(?:\.s)?|ckfinite|ldsflda|ldtoken|localloc|mkrefany|rethrow|cgt\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|cgt|ceq|box|and|or|br)\b/,boolean:/\b(?:false|true)\b/,number:/\b-?(?:0x[0-9a-f]+|\d+)(?:\.[0-9a-f]+)?\b/i,punctuation:/[{}[\];(),:=]|IL_[0-9A-Za-z]+/}}e.exports=t,t.displayName="cil",t.aliases=[]},3052:function(e){"use strict";function t(e){e.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}e.exports=t,t.displayName="clike",t.aliases=[]},1915:function(e){"use strict";function t(e){e.languages.clojure={comment:{pattern:/;.*/,greedy:!0},string:{pattern:/"(?:[^"\\]|\\.)*"/,greedy:!0},char:/\\\w+/,symbol:{pattern:/(^|[\s()\[\]{},])::?[\w*+!?'<>=/.-]+/,lookbehind:!0},keyword:{pattern:/(\()(?:-|->|->>|\.|\.\.|\*|\/|\+|<|<=|=|==|>|>=|accessor|agent|agent-errors|aget|alength|all-ns|alter|and|append-child|apply|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|await|await-for|bean|binding|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|boolean|branch\?|butlast|byte|cast|char|children|class|clear-agent-errors|comment|commute|comp|comparator|complement|concat|cond|conj|cons|constantly|construct-proxy|contains\?|count|create-ns|create-struct|cycle|dec|declare|def|def-|definline|definterface|defmacro|defmethod|defmulti|defn|defn-|defonce|defproject|defprotocol|defrecord|defstruct|deftype|deref|difference|disj|dissoc|distinct|do|doall|doc|dorun|doseq|dosync|dotimes|doto|double|down|drop|drop-while|edit|end\?|ensure|eval|every\?|false\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|flush|fn|fnseq|for|frest|gensym|get|get-proxy-class|hash-map|hash-set|identical\?|identity|if|if-let|if-not|import|in-ns|inc|index|insert-child|insert-left|insert-right|inspect-table|inspect-tree|instance\?|int|interleave|intersection|into|into-array|iterate|join|key|keys|keyword|keyword\?|last|lazy-cat|lazy-cons|left|lefts|let|line-seq|list|list\*|load|load-file|locking|long|loop|macroexpand|macroexpand-1|make-array|make-node|map|map-invert|map\?|mapcat|max|max-key|memfn|merge|merge-with|meta|min|min-key|monitor-enter|name|namespace|neg\?|new|newline|next|nil\?|node|not|not-any\?|not-every\?|not=|ns|ns-imports|ns-interns|ns-map|ns-name|ns-publics|ns-refers|ns-resolve|ns-unmap|nth|nthrest|or|parse|partial|path|peek|pop|pos\?|pr|pr-str|print|print-str|println|println-str|prn|prn-str|project|proxy|proxy-mappings|quot|quote|rand|rand-int|range|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|recur|reduce|ref|ref-set|refer|rem|remove|remove-method|remove-ns|rename|rename-keys|repeat|replace|replicate|resolve|rest|resultset-seq|reverse|rfirst|right|rights|root|rrest|rseq|second|select|select-keys|send|send-off|seq|seq-zip|seq\?|set|set!|short|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|special-symbol\?|split-at|split-with|str|string\?|struct|struct-map|subs|subvec|symbol|symbol\?|sync|take|take-nth|take-while|test|throw|time|to-array|to-array-2d|tree-seq|true\?|try|union|up|update-proxy|val|vals|var|var-get|var-set|var\?|vector|vector-zip|vector\?|when|when-first|when-let|when-not|with-local-vars|with-meta|with-open|with-out-str|xml-seq|xml-zip|zero\?|zipmap|zipper)(?=[\s)]|$)/,lookbehind:!0},boolean:/\b(?:false|nil|true)\b/,number:{pattern:/(^|[^\w$@])(?:\d+(?:[/.]\d+)?(?:e[+-]?\d+)?|0x[a-f0-9]+|[1-9]\d?r[a-z0-9]+)[lmn]?(?![\w$@])/i,lookbehind:!0},function:{pattern:/((?:^|[^'])\()[\w*+!?'<>=/.-]+(?=[\s)]|$)/,lookbehind:!0},operator:/[#@^`~]/,punctuation:/[{}\[\](),]/}}e.exports=t,t.displayName="clojure",t.aliases=[]},3549:function(e){"use strict";function t(e){e.languages.cmake={comment:/#.*/,string:{pattern:/"(?:[^\\"]|\\.)*"/,greedy:!0,inside:{interpolation:{pattern:/\$\{(?:[^{}$]|\$\{[^{}$]*\})*\}/,inside:{punctuation:/\$\{|\}/,variable:/\w+/}}}},variable:/\b(?:CMAKE_\w+|\w+_(?:(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT|VERSION(?:_MAJOR|_MINOR|_PATCH|_TWEAK)?)|(?:ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERRORS|WARNINGS)|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_(?:BINARY_DIR|DESCRIPTION|HOMEPAGE_URL|NAME|SOURCE_DIR|VERSION|VERSION_(?:MAJOR|MINOR|PATCH|TWEAK))|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE|XCODE_VERSION))\b/,property:/\b(?:cxx_\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\w+|\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|GLOBAL_KEYWORD|GLOBAL_PROJECT_TYPES|GLOBAL_ROOTNAMESPACE|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)\b/,keyword:/\b(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\s*\()\b/,boolean:/\b(?:FALSE|OFF|ON|TRUE)\b/,namespace:/\b(?:INTERFACE|PRIVATE|PROPERTIES|PUBLIC|SHARED|STATIC|TARGET_OBJECTS)\b/,operator:/\b(?:AND|DEFINED|EQUAL|GREATER|LESS|MATCHES|NOT|OR|STREQUAL|STRGREATER|STRLESS|VERSION_EQUAL|VERSION_GREATER|VERSION_LESS)\b/,inserted:{pattern:/\b\w+::\w+\b/,alias:"class-name"},number:/\b\d+(?:\.\d+)*\b/,function:/\b[a-z_]\w*(?=\s*\()\b/i,punctuation:/[()>}]|\$[<{]/}}e.exports=t,t.displayName="cmake",t.aliases=[]},4732:function(e){"use strict";function t(e){e.languages.cobol={comment:{pattern:/\*>.*|(^[ \t]*)\*.*/m,lookbehind:!0,greedy:!0},string:{pattern:/[xzgn]?(?:"(?:[^\r\n"]|"")*"(?!")|'(?:[^\r\n']|'')*'(?!'))/i,greedy:!0},level:{pattern:/(^[ \t]*)\d+\b/m,lookbehind:!0,greedy:!0,alias:"number"},"class-name":{pattern:/(\bpic(?:ture)?\s+)(?:(?:[-\w$/,:*+<>]|\.(?!\s|$))(?:\(\d+\))?)+/i,lookbehind:!0,inside:{number:{pattern:/(\()\d+/,lookbehind:!0},punctuation:/[()]/}},keyword:{pattern:/(^|[^\w-])(?:ABORT|ACCEPT|ACCESS|ADD|ADDRESS|ADVANCING|AFTER|ALIGNED|ALL|ALPHABET|ALPHABETIC|ALPHABETIC-LOWER|ALPHABETIC-UPPER|ALPHANUMERIC|ALPHANUMERIC-EDITED|ALSO|ALTER|ALTERNATE|ANY|ARE|AREA|AREAS|AS|ASCENDING|ASCII|ASSIGN|ASSOCIATED-DATA|ASSOCIATED-DATA-LENGTH|AT|ATTRIBUTE|AUTHOR|AUTO|AUTO-SKIP|BACKGROUND-COLOR|BACKGROUND-COLOUR|BASIS|BEEP|BEFORE|BEGINNING|BELL|BINARY|BIT|BLANK|BLINK|BLOCK|BOTTOM|BOUNDS|BY|BYFUNCTION|BYTITLE|CALL|CANCEL|CAPABLE|CCSVERSION|CD|CF|CH|CHAINING|CHANGED|CHANNEL|CHARACTER|CHARACTERS|CLASS|CLASS-ID|CLOCK-UNITS|CLOSE|CLOSE-DISPOSITION|COBOL|CODE|CODE-SET|COL|COLLATING|COLUMN|COM-REG|COMMA|COMMITMENT|COMMON|COMMUNICATION|COMP|COMP-1|COMP-2|COMP-3|COMP-4|COMP-5|COMPUTATIONAL|COMPUTATIONAL-1|COMPUTATIONAL-2|COMPUTATIONAL-3|COMPUTATIONAL-4|COMPUTATIONAL-5|COMPUTE|CONFIGURATION|CONTAINS|CONTENT|CONTINUE|CONTROL|CONTROL-POINT|CONTROLS|CONVENTION|CONVERTING|COPY|CORR|CORRESPONDING|COUNT|CRUNCH|CURRENCY|CURSOR|DATA|DATA-BASE|DATE|DATE-COMPILED|DATE-WRITTEN|DAY|DAY-OF-WEEK|DBCS|DE|DEBUG-CONTENTS|DEBUG-ITEM|DEBUG-LINE|DEBUG-NAME|DEBUG-SUB-1|DEBUG-SUB-2|DEBUG-SUB-3|DEBUGGING|DECIMAL-POINT|DECLARATIVES|DEFAULT|DEFAULT-DISPLAY|DEFINITION|DELETE|DELIMITED|DELIMITER|DEPENDING|DESCENDING|DESTINATION|DETAIL|DFHRESP|DFHVALUE|DISABLE|DISK|DISPLAY|DISPLAY-1|DIVIDE|DIVISION|DONTCARE|DOUBLE|DOWN|DUPLICATES|DYNAMIC|EBCDIC|EGCS|EGI|ELSE|EMI|EMPTY-CHECK|ENABLE|END|END-ACCEPT|END-ADD|END-CALL|END-COMPUTE|END-DELETE|END-DIVIDE|END-EVALUATE|END-IF|END-MULTIPLY|END-OF-PAGE|END-PERFORM|END-READ|END-RECEIVE|END-RETURN|END-REWRITE|END-SEARCH|END-START|END-STRING|END-SUBTRACT|END-UNSTRING|END-WRITE|ENDING|ENTER|ENTRY|ENTRY-PROCEDURE|ENVIRONMENT|EOL|EOP|EOS|ERASE|ERROR|ESCAPE|ESI|EVALUATE|EVENT|EVERY|EXCEPTION|EXCLUSIVE|EXHIBIT|EXIT|EXPORT|EXTEND|EXTENDED|EXTERNAL|FD|FILE|FILE-CONTROL|FILLER|FINAL|FIRST|FOOTING|FOR|FOREGROUND-COLOR|FOREGROUND-COLOUR|FROM|FULL|FUNCTION|FUNCTION-POINTER|FUNCTIONNAME|GENERATE|GIVING|GLOBAL|GO|GOBACK|GRID|GROUP|HEADING|HIGH-VALUE|HIGH-VALUES|HIGHLIGHT|I-O|I-O-CONTROL|ID|IDENTIFICATION|IF|IMPLICIT|IMPORT|IN|INDEX|INDEXED|INDICATE|INITIAL|INITIALIZE|INITIATE|INPUT|INPUT-OUTPUT|INSPECT|INSTALLATION|INTEGER|INTO|INVALID|INVOKE|IS|JUST|JUSTIFIED|KANJI|KEPT|KEY|KEYBOARD|LABEL|LANGUAGE|LAST|LB|LD|LEADING|LEFT|LEFTLINE|LENGTH|LENGTH-CHECK|LIBACCESS|LIBPARAMETER|LIBRARY|LIMIT|LIMITS|LINAGE|LINAGE-COUNTER|LINE|LINE-COUNTER|LINES|LINKAGE|LIST|LOCAL|LOCAL-STORAGE|LOCK|LONG-DATE|LONG-TIME|LOW-VALUE|LOW-VALUES|LOWER|LOWLIGHT|MEMORY|MERGE|MESSAGE|MMDDYYYY|MODE|MODULES|MORE-LABELS|MOVE|MULTIPLE|MULTIPLY|NAMED|NATIONAL|NATIONAL-EDITED|NATIVE|NEGATIVE|NETWORK|NEXT|NO|NO-ECHO|NULL|NULLS|NUMBER|NUMERIC|NUMERIC-DATE|NUMERIC-EDITED|NUMERIC-TIME|OBJECT-COMPUTER|OCCURS|ODT|OF|OFF|OMITTED|ON|OPEN|OPTIONAL|ORDER|ORDERLY|ORGANIZATION|OTHER|OUTPUT|OVERFLOW|OVERLINE|OWN|PACKED-DECIMAL|PADDING|PAGE|PAGE-COUNTER|PASSWORD|PERFORM|PF|PH|PIC|PICTURE|PLUS|POINTER|PORT|POSITION|POSITIVE|PRINTER|PRINTING|PRIVATE|PROCEDURE|PROCEDURE-POINTER|PROCEDURES|PROCEED|PROCESS|PROGRAM|PROGRAM-ID|PROGRAM-LIBRARY|PROMPT|PURGE|QUEUE|QUOTE|QUOTES|RANDOM|RD|READ|READER|REAL|RECEIVE|RECEIVED|RECORD|RECORDING|RECORDS|RECURSIVE|REDEFINES|REEL|REF|REFERENCE|REFERENCES|RELATIVE|RELEASE|REMAINDER|REMARKS|REMOTE|REMOVAL|REMOVE|RENAMES|REPLACE|REPLACING|REPORT|REPORTING|REPORTS|REQUIRED|RERUN|RESERVE|RESET|RETURN|RETURN-CODE|RETURNING|REVERSE-VIDEO|REVERSED|REWIND|REWRITE|RF|RH|RIGHT|ROUNDED|RUN|SAME|SAVE|SCREEN|SD|SEARCH|SECTION|SECURE|SECURITY|SEGMENT|SEGMENT-LIMIT|SELECT|SEND|SENTENCE|SEPARATE|SEQUENCE|SEQUENTIAL|SET|SHARED|SHAREDBYALL|SHAREDBYRUNUNIT|SHARING|SHIFT-IN|SHIFT-OUT|SHORT-DATE|SIGN|SIZE|SORT|SORT-CONTROL|SORT-CORE-SIZE|SORT-FILE-SIZE|SORT-MERGE|SORT-MESSAGE|SORT-MODE-SIZE|SORT-RETURN|SOURCE|SOURCE-COMPUTER|SPACE|SPACES|SPECIAL-NAMES|STANDARD|STANDARD-1|STANDARD-2|START|STATUS|STOP|STRING|SUB-QUEUE-1|SUB-QUEUE-2|SUB-QUEUE-3|SUBTRACT|SUM|SUPPRESS|SYMBOL|SYMBOLIC|SYNC|SYNCHRONIZED|TABLE|TALLY|TALLYING|TAPE|TASK|TERMINAL|TERMINATE|TEST|TEXT|THEN|THREAD|THREAD-LOCAL|THROUGH|THRU|TIME|TIMER|TIMES|TITLE|TO|TODAYS-DATE|TODAYS-NAME|TOP|TRAILING|TRUNCATED|TYPE|TYPEDEF|UNDERLINE|UNIT|UNSTRING|UNTIL|UP|UPON|USAGE|USE|USING|VALUE|VALUES|VARYING|VIRTUAL|WAIT|WHEN|WHEN-COMPILED|WITH|WORDS|WORKING-STORAGE|WRITE|YEAR|YYYYDDD|YYYYMMDD|ZERO-FILL|ZEROES|ZEROS)(?![\w-])/i,lookbehind:!0},boolean:{pattern:/(^|[^\w-])(?:false|true)(?![\w-])/i,lookbehind:!0},number:{pattern:/(^|[^\w-])(?:[+-]?(?:(?:\d+(?:[.,]\d+)?|[.,]\d+)(?:e[+-]?\d+)?|zero))(?![\w-])/i,lookbehind:!0},operator:[/<>|[<>]=?|[=+*/&]/,{pattern:/(^|[^\w-])(?:-|and|equal|greater|less|not|or|than)(?![\w-])/i,lookbehind:!0}],punctuation:/[.:,()]/}}e.exports=t,t.displayName="cobol",t.aliases=[]},6522:function(e){"use strict";function t(e){!function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(e)}e.exports=t,t.displayName="coffeescript",t.aliases=["coffee"]},3723:function(e){"use strict";function t(e){e.languages.concurnas={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\/\/.*)/,lookbehind:!0,greedy:!0},langext:{pattern:/\b\w+\s*\|\|[\s\S]+?\|\|/,greedy:!0,inside:{"class-name":/^\w+/,string:{pattern:/(^\s*\|\|)[\s\S]+(?=\|\|$)/,lookbehind:!0},punctuation:/\|\|/}},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/,lookbehind:!0},keyword:/\b(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)\b/,boolean:/\b(?:false|true)\b/,number:/\b0b[01][01_]*L?\b|\b0x(?:[\da-f_]*\.)?[\da-f_p+-]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfls]?/i,punctuation:/[{}[\];(),.:]/,operator:/<==|>==|=>|->|<-|<>|&==|&<>|\?:?|\.\?|\+\+|--|[-+*/=<>]=?|[!^~]|\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\b=?/,annotation:{pattern:/@(?:\w+:)?(?:\w+|\[[^\]]+\])?/,alias:"builtin"}},e.languages.insertBefore("concurnas","langext",{"regex-literal":{pattern:/\br("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:e.languages.concurnas},regex:/[\s\S]+/}},"string-literal":{pattern:/(?:\B|\bs)("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:e.languages.concurnas},string:/[\s\S]+/}}}),e.languages.conc=e.languages.concurnas}e.exports=t,t.displayName="concurnas",t.aliases=["conc"]},423:function(e){"use strict";function t(e){!function(e){for(var t=/\(\*(?:[^(*]|\((?!\*)|\*(?!\))|<self>)*\*\)/.source,n=0;n<2;n++)t=t.replace(/<self>/g,(function(){return t}));t=t.replace(/<self>/g,"[]"),e.languages.coq={comment:RegExp(t),string:{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},attribute:[{pattern:RegExp(/#\[(?:[^\[\]("]|"(?:[^"]|"")*"(?!")|\((?!\*)|<comment>)*\]/.source.replace(/<comment>/g,(function(){return t}))),greedy:!0,alias:"attr-name",inside:{comment:RegExp(t),string:{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},operator:/=/,punctuation:/^#\[|\]$|[,()]/}},{pattern:/\b(?:Cumulative|Global|Local|Monomorphic|NonCumulative|Polymorphic|Private|Program)\b/,alias:"attr-name"}],keyword:/\b(?:Abort|About|Add|Admit|Admitted|All|Arguments|As|Assumptions|Axiom|Axioms|Back|BackTo|Backtrace|BinOp|BinOpSpec|BinRel|Bind|Blacklist|Canonical|Case|Cd|Check|Class|Classes|Close|CoFixpoint|CoInductive|Coercion|Coercions|Collection|Combined|Compute|Conjecture|Conjectures|Constant|Constants|Constraint|Constructors|Context|Corollary|Create|CstOp|Custom|Cut|Debug|Declare|Defined|Definition|Delimit|Dependencies|Dependent|Derive|Diffs|Drop|Elimination|End|Entry|Equality|Eval|Example|Existential|Existentials|Existing|Export|Extern|Extraction|Fact|Fail|Field|File|Firstorder|Fixpoint|Flags|Focus|From|Funclass|Function|Functional|GC|Generalizable|Goal|Grab|Grammar|Graph|Guarded|Haskell|Heap|Hide|Hint|HintDb|Hints|Hypotheses|Hypothesis|IF|Identity|Immediate|Implicit|Implicits|Import|Include|Induction|Inductive|Infix|Info|Initial|InjTyp|Inline|Inspect|Instance|Instances|Intro|Intros|Inversion|Inversion_clear|JSON|Language|Left|Lemma|Let|Lia|Libraries|Library|Load|LoadPath|Locate|Ltac|Ltac2|ML|Match|Method|Minimality|Module|Modules|Morphism|Next|NoInline|Notation|Number|OCaml|Obligation|Obligations|Opaque|Open|Optimize|Parameter|Parameters|Parametric|Path|Paths|Prenex|Preterm|Primitive|Print|Profile|Projections|Proof|Prop|PropBinOp|PropOp|PropUOp|Property|Proposition|Pwd|Qed|Quit|Rec|Record|Recursive|Redirect|Reduction|Register|Relation|Remark|Remove|Require|Reserved|Reset|Resolve|Restart|Rewrite|Right|Ring|Rings|SProp|Saturate|Save|Scheme|Scope|Scopes|Search|SearchHead|SearchPattern|SearchRewrite|Section|Separate|Set|Setoid|Show|Signatures|Solve|Solver|Sort|Sortclass|Sorted|Spec|Step|Strategies|Strategy|String|Structure|SubClass|Subgraph|SuchThat|Tactic|Term|TestCompile|Theorem|Time|Timeout|To|Transparent|Type|Typeclasses|Types|Typing|UnOp|UnOpSpec|Undelimit|Undo|Unfocus|Unfocused|Unfold|Universe|Universes|Unshelve|Variable|Variables|Variant|Verbose|View|Visibility|Zify|_|apply|as|at|by|cofix|else|end|exists|exists2|fix|for|forall|fun|if|in|let|match|measure|move|removed|return|struct|then|using|wf|where|with)\b/,number:/\b(?:0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]+)?(?:p[+-]?\d[\d_]*)?|\d[\d_]*(?:\.[\d_]+)?(?:e[+-]?\d[\d_]*)?)\b/i,punct:{pattern:/@\{|\{\||\[=|:>/,alias:"punctuation"},operator:/\/\\|\\\/|\.{2,3}|:{1,2}=|\*\*|[-=]>|<(?:->?|[+:=>]|<:)|>(?:=|->)|\|[-|]?|[-!%&*+/<=>?@^~']/,punctuation:/\.\(|`\(|@\{|`\{|\{\||\[=|:>|[:.,;(){}\[\]]/}}(e)}e.exports=t,t.displayName="coq",t.aliases=[]},8593:function(e,t,n){"use strict";var r=n(272);function a(e){e.register(r),function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(e)}e.exports=a,a.displayName="cpp",a.aliases=[]},7916:function(e,t,n){"use strict";var r=n(6326);function a(e){e.register(r),function(e){e.languages.crystal=e.languages.extend("ruby",{keyword:[/\b(?:__DIR__|__END_LINE__|__FILE__|__LINE__|abstract|alias|annotation|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|ifdef|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|ptr|require|rescue|return|select|self|sizeof|struct|super|then|type|typeof|undef|uninitialized|union|unless|until|when|while|with|yield)\b/,{pattern:/(\.\s*)(?:is_a|responds_to)\?/,lookbehind:!0}],number:/\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\da-fA-F_]*[\da-fA-F]|(?:\d(?:[\d_]*\d)?)(?:\.[\d_]*\d)?(?:[eE][+-]?[\d_]*\d)?)(?:_(?:[uif](?:8|16|32|64))?)?\b/,operator:[/->/,e.languages.ruby.operator],punctuation:/[(){}[\].,;\\]/}),e.languages.insertBefore("crystal","string-literal",{attribute:{pattern:/@\[.*?\]/,inside:{delimiter:{pattern:/^@\[|\]$/,alias:"punctuation"},attribute:{pattern:/^(\s*)\w+/,lookbehind:!0,alias:"class-name"},args:{pattern:/\S(?:[\s\S]*\S)?/,inside:e.languages.crystal}}},expansion:{pattern:/\{(?:\{.*?\}|%.*?%)\}/,inside:{content:{pattern:/^(\{.)[\s\S]+(?=.\}$)/,lookbehind:!0,inside:e.languages.crystal},delimiter:{pattern:/^\{[\{%]|[\}%]\}$/,alias:"operator"}}},char:{pattern:/'(?:[^\\\r\n]{1,2}|\\(?:.|u(?:[A-Fa-f0-9]{1,4}|\{[A-Fa-f0-9]{1,6}\})))'/,greedy:!0}})}(e)}e.exports=a,a.displayName="crystal",a.aliases=[]},3281:function(e){"use strict";function t(e){!function(e){function t(e,t){return e.replace(/<<(\d+)>>/g,(function(e,n){return"(?:"+t[+n]+")"}))}function n(e,n,r){return RegExp(t(e,n),r||"")}function r(e,t){for(var n=0;n<t;n++)e=e.replace(/<<self>>/g,(function(){return"(?:"+e+")"}));return e.replace(/<<self>>/g,"[^\\s\\S]")}var a="bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",i="class enum interface record struct",o="add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",s="abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield";function l(e){return"\\b(?:"+e.trim().replace(/ /g,"|")+")\\b"}var c=l(i),u=RegExp(l(a+" "+i+" "+o+" "+s)),d=l(i+" "+o+" "+s),p=l(a+" "+i+" "+s),m=r(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source,2),f=r(/\((?:[^()]|<<self>>)*\)/.source,2),g=/@?\b[A-Za-z_]\w*\b/.source,h=t(/<<0>>(?:\s*<<1>>)?/.source,[g,m]),b=t(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source,[d,h]),E=/\[\s*(?:,\s*)*\]/.source,y=t(/<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,[b,E]),T=t(/[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[m,f,E]),S=t(/\(<<0>>+(?:,<<0>>+)+\)/.source,[T]),v=t(/(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,[S,b,E]),A={keyword:u,punctuation:/[<>()?,.:[\]]/},_=/'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source,k=/"(?:\\.|[^\\"\r\n])*"/.source,C=/@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;e.languages.csharp=e.languages.extend("clike",{string:[{pattern:n(/(^|[^$\\])<<0>>/.source,[C]),lookbehind:!0,greedy:!0},{pattern:n(/(^|[^@$\\])<<0>>/.source,[k]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:n(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source,[b]),lookbehind:!0,inside:A},{pattern:n(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source,[g,v]),lookbehind:!0,inside:A},{pattern:n(/(\busing\s+)<<0>>(?=\s*=)/.source,[g]),lookbehind:!0},{pattern:n(/(\b<<0>>\s+)<<1>>/.source,[c,h]),lookbehind:!0,inside:A},{pattern:n(/(\bcatch\s*\(\s*)<<0>>/.source,[b]),lookbehind:!0,inside:A},{pattern:n(/(\bwhere\s+)<<0>>/.source,[g]),lookbehind:!0},{pattern:n(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source,[y]),lookbehind:!0,inside:A},{pattern:n(/\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/.source,[v,p,g]),inside:A}],keyword:u,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),e.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:n(/([(,]\s*)<<0>>(?=\s*:)/.source,[g]),lookbehind:!0,alias:"punctuation"}}),e.languages.insertBefore("csharp","class-name",{namespace:{pattern:n(/(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,[g]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:n(/(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/.source,[f]),lookbehind:!0,alias:"class-name",inside:A},"return-type":{pattern:n(/<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,[v,b]),inside:A,alias:"class-name"},"constructor-invocation":{pattern:n(/(\bnew\s+)<<0>>(?=\s*[[({])/.source,[v]),lookbehind:!0,inside:A,alias:"class-name"},"generic-method":{pattern:n(/<<0>>\s*<<1>>(?=\s*\()/.source,[g,m]),inside:{function:n(/^<<0>>/.source,[g]),generic:{pattern:RegExp(m),alias:"class-name",inside:A}}},"type-list":{pattern:n(/\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/.source,[c,h,g,v,u.source,f,/\bnew\s*\(\s*\)/.source]),lookbehind:!0,inside:{"record-arguments":{pattern:n(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source,[h,f]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:u,"class-name":{pattern:RegExp(v),greedy:!0,inside:A},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var w=k+"|"+_,N=t(/\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,[w]),I=r(t(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[N]),2),R=/\b(?:assembly|event|field|method|module|param|property|return|type)\b/.source,x=t(/<<0>>(?:\s*\(<<1>>*\))?/.source,[b,I]);e.languages.insertBefore("csharp","class-name",{attribute:{pattern:n(/((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/.source,[R,x]),lookbehind:!0,greedy:!0,inside:{target:{pattern:n(/^<<0>>(?=\s*:)/.source,[R]),alias:"keyword"},"attribute-arguments":{pattern:n(/\(<<0>>*\)/.source,[I]),inside:e.languages.csharp},"class-name":{pattern:RegExp(b),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var O=/:[^}\r\n]+/.source,L=r(t(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[N]),2),P=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[L,O]),D=r(t(/[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/.source,[w]),2),M=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[D,O]);function F(t,r){return{interpolation:{pattern:n(/((?:^|[^{])(?:\{\{)*)<<0>>/.source,[t]),lookbehind:!0,inside:{"format-string":{pattern:n(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source,[r,O]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:n(/(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,[P]),lookbehind:!0,greedy:!0,inside:F(P,L)},{pattern:n(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source,[M]),lookbehind:!0,greedy:!0,inside:F(M,D)}],char:{pattern:RegExp(_),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp}(e)}e.exports=t,t.displayName="csharp",t.aliases=["dotnet","cs"]},9333:function(e,t,n){"use strict";var r=n(3281);function a(e){e.register(r),function(e){var t=/\/(?![/*])|\/\/.*[\r\n]|\/\*[^*]*(?:\*(?!\/)[^*]*)*\*\//.source,n=/@(?!")|"(?:[^\r\n\\"]|\\.)*"|@"(?:[^\\"]|""|\\[\s\S])*"(?!")/.source+"|"+/'(?:(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'|(?=[^\\](?!')))/.source;function r(e,r){for(var a=0;a<r;a++)e=e.replace(/<self>/g,(function(){return"(?:"+e+")"}));return e.replace(/<self>/g,"[^\\s\\S]").replace(/<str>/g,"(?:"+n+")").replace(/<comment>/g,"(?:"+t+")")}var a=r(/\((?:[^()'"@/]|<str>|<comment>|<self>)*\)/.source,2),i=r(/\[(?:[^\[\]'"@/]|<str>|<comment>|<self>)*\]/.source,2),o=r(/\{(?:[^{}'"@/]|<str>|<comment>|<self>)*\}/.source,2),s=r(/<(?:[^<>'"@/]|<str>|<comment>|<self>)*>/.source,2),l=/(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?/.source,c=/(?!\d)[^\s>\/=$<%]+/.source+l+/\s*\/?>/.source,u=/\B@?/.source+"(?:"+/<([a-zA-Z][\w:]*)/.source+l+/\s*>/.source+"(?:"+/[^<]/.source+"|"+/<\/?(?!\1\b)/.source+c+"|"+r(/<\1/.source+l+/\s*>/.source+"(?:"+/[^<]/.source+"|"+/<\/?(?!\1\b)/.source+c+"|<self>)*"+/<\/\1\s*>/.source,2)+")*"+/<\/\1\s*>/.source+"|"+/</.source+c+")";e.languages.cshtml=e.languages.extend("markup",{});var d={pattern:/\S[\s\S]*/,alias:"language-csharp",inside:e.languages.insertBefore("csharp","string",{html:{pattern:RegExp(u),greedy:!0,inside:e.languages.cshtml}},{csharp:e.languages.extend("csharp",{})})};e.languages.insertBefore("cshtml","prolog",{"razor-comment":{pattern:/@\*[\s\S]*?\*@/,greedy:!0,alias:"comment"},block:{pattern:RegExp(/(^|[^@])@/.source+"(?:"+[o,/(?:code|functions)\s*/.source+o,/(?:for|foreach|lock|switch|using|while)\s*/.source+a+/\s*/.source+o,/do\s*/.source+o+/\s*while\s*/.source+a+/(?:\s*;)?/.source,/try\s*/.source+o+/\s*catch\s*/.source+a+/\s*/.source+o+/\s*finally\s*/.source+o,/if\s*/.source+a+/\s*/.source+o+"(?:"+/\s*else/.source+"(?:"+/\s+if\s*/.source+a+")?"+/\s*/.source+o+")*"].join("|")+")"),lookbehind:!0,greedy:!0,inside:{keyword:/^@\w*/,csharp:d}},directive:{pattern:/^([ \t]*)@(?:addTagHelper|attribute|implements|inherits|inject|layout|model|namespace|page|preservewhitespace|removeTagHelper|section|tagHelperPrefix|using)(?=\s).*/m,lookbehind:!0,greedy:!0,inside:{keyword:/^@\w+/,csharp:d}},value:{pattern:RegExp(/(^|[^@])@/.source+/(?:await\b\s*)?/.source+"(?:"+/\w+\b/.source+"|"+a+")(?:"+/[?!]?\.\w+\b/.source+"|"+a+"|"+i+"|"+s+a+")*"),lookbehind:!0,greedy:!0,alias:"variable",inside:{keyword:/^@/,csharp:d}},"delegate-operator":{pattern:/(^|[^@])@(?=<)/,lookbehind:!0,alias:"operator"}}),e.languages.razor=e.languages.cshtml}(e)}e.exports=a,a.displayName="cshtml",a.aliases=["razor"]},3524:function(e){"use strict";function t(e){!function(e){function t(e){return RegExp(/([ \t])/.source+"(?:"+e+")"+/(?=[\s;]|$)/.source,"i")}e.languages.csp={directive:{pattern:/(^|[\s;])(?:base-uri|block-all-mixed-content|(?:child|connect|default|font|frame|img|manifest|media|object|prefetch|script|style|worker)-src|disown-opener|form-action|frame-(?:ancestors|options)|input-protection(?:-(?:clip|selectors))?|navigate-to|plugin-types|policy-uri|referrer|reflected-xss|report-(?:to|uri)|require-sri-for|sandbox|(?:script|style)-src-(?:attr|elem)|upgrade-insecure-requests)(?=[\s;]|$)/i,lookbehind:!0,alias:"property"},scheme:{pattern:t(/[a-z][a-z0-9.+-]*:/.source),lookbehind:!0},none:{pattern:t(/'none'/.source),lookbehind:!0,alias:"keyword"},nonce:{pattern:t(/'nonce-[-+/\w=]+'/.source),lookbehind:!0,alias:"number"},hash:{pattern:t(/'sha(?:256|384|512)-[-+/\w=]+'/.source),lookbehind:!0,alias:"number"},host:{pattern:t(/[a-z][a-z0-9.+-]*:\/\/[^\s;,']*/.source+"|"+/\*[^\s;,']*/.source+"|"+/[a-z0-9-]+(?:\.[a-z0-9-]+)+(?::[\d*]+)?(?:\/[^\s;,']*)?/.source),lookbehind:!0,alias:"url",inside:{important:/\*/}},keyword:[{pattern:t(/'unsafe-[a-z-]+'/.source),lookbehind:!0,alias:"unsafe"},{pattern:t(/'[a-z-]+'/.source),lookbehind:!0,alias:"safe"}],punctuation:/;/}}(e)}e.exports=t,t.displayName="csp",t.aliases=[]},9689:function(e){"use strict";function t(e){!function(e){var t,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},a={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:r,number:a,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:a})}(e)}e.exports=t,t.displayName="cssExtras",t.aliases=[]},9625:function(e){"use strict";function t(e){!function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(e)}e.exports=t,t.displayName="css",t.aliases=[]},691:function(e){"use strict";function t(e){e.languages.csv={value:/[^\r\n,"]+|"(?:[^"]|"")*"(?!")/,punctuation:/,/}}e.exports=t,t.displayName="csv",t.aliases=[]},4704:function(e){"use strict";function t(e){e.languages.cypher={comment:/\/\/.*/,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/,greedy:!0},"class-name":{pattern:/(:\s*)(?:\w+|`(?:[^`\\\r\n])*`)(?=\s*[{):])/,lookbehind:!0,greedy:!0},relationship:{pattern:/(-\[\s*(?:\w+\s*|`(?:[^`\\\r\n])*`\s*)?:\s*|\|\s*:\s*)(?:\w+|`(?:[^`\\\r\n])*`)/,lookbehind:!0,greedy:!0,alias:"property"},identifier:{pattern:/`(?:[^`\\\r\n])*`/,greedy:!0},variable:/\$\w+/,keyword:/\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)\b/i,function:/\b\w+\b(?=\s*\()/,boolean:/\b(?:false|null|true)\b/i,number:/\b(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)\b/,operator:/:|<--?|--?>?|<>|=~?|[<>]=?|[+*/%^|]|\.\.\.?/,punctuation:/[()[\]{},;.]/}}e.exports=t,t.displayName="cypher",t.aliases=[]},3818:function(e){"use strict";function t(e){e.languages.d=e.languages.extend("clike",{comment:[{pattern:/^\s*#!.+/,greedy:!0},{pattern:RegExp(/(^|[^\\])/.source+"(?:"+[/\/\+(?:\/\+(?:[^+]|\+(?!\/))*\+\/|(?!\/\+)[\s\S])*?\+\//.source,/\/\/.*/.source,/\/\*[\s\S]*?\*\//.source].join("|")+")"),lookbehind:!0,greedy:!0}],string:[{pattern:RegExp([/\b[rx]"(?:\\[\s\S]|[^\\"])*"[cwd]?/.source,/\bq"(?:\[[\s\S]*?\]|\([\s\S]*?\)|<[\s\S]*?>|\{[\s\S]*?\})"/.source,/\bq"((?!\d)\w+)$[\s\S]*?^\1"/.source,/\bq"(.)[\s\S]*?\2"/.source,/(["`])(?:\\[\s\S]|(?!\3)[^\\])*\3[cwd]?/.source].join("|"),"m"),greedy:!0},{pattern:/\bq\{(?:\{[^{}]*\}|[^{}])*\}/,greedy:!0,alias:"token-string"}],keyword:/\$|\b(?:__(?:(?:DATE|EOF|FILE|FUNCTION|LINE|MODULE|PRETTY_FUNCTION|TIMESTAMP|TIME|VENDOR|VERSION)__|gshared|parameters|traits|vector)|abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|dstring|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|ptrdiff_t|public|pure|real|ref|return|scope|shared|short|size_t|static|string|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|wstring)\b/,number:[/\b0x\.?[a-f\d_]+(?:(?!\.\.)\.[a-f\d_]*)?(?:p[+-]?[a-f\d_]+)?[ulfi]{0,4}/i,{pattern:/((?:\.\.)?)(?:\b0b\.?|\b|\.)\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:e[+-]?\d[\d_]*)?[ulfi]{0,4}/i,lookbehind:!0}],operator:/\|[|=]?|&[&=]?|\+[+=]?|-[-=]?|\.?\.\.|=[>=]?|!(?:i[ns]\b|<>?=?|>=?|=)?|\bi[ns]\b|(?:<[<>]?|>>?>?|\^\^|[*\/%^~])=?/}),e.languages.insertBefore("d","string",{char:/'(?:\\(?:\W|\w+)|[^\\])'/}),e.languages.insertBefore("d","keyword",{property:/\B@\w*/}),e.languages.insertBefore("d","function",{register:{pattern:/\b(?:[ABCD][LHX]|E?(?:BP|DI|SI|SP)|[BS]PL|[ECSDGF]S|CR[0234]|[DS]IL|DR[012367]|E[ABCD]X|X?MM[0-7]|R(?:1[0-5]|[89])[BWD]?|R[ABCD]X|R[BS]P|R[DS]I|TR[3-7]|XMM(?:1[0-5]|[89])|YMM(?:1[0-5]|\d))\b|\bST(?:\([0-7]\)|\b)/,alias:"variable"}})}e.exports=t,t.displayName="d",t.aliases=[]},583:function(e){"use strict";function t(e){!function(e){var t=[/\b(?:async|sync|yield)\*/,/\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extends|extension|external|factory|final|finally|for|get|hide|if|implements|import|in|interface|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/],n=/(^|[^\w.])(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,r={pattern:RegExp(n+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}}}};e.languages.dart=e.languages.extend("clike",{"class-name":[r,{pattern:RegExp(n+/[A-Z]\w*(?=\s+\w+\s*[;,=()])/.source),lookbehind:!0,inside:r.inside}],keyword:t,operator:/\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/}),e.languages.insertBefore("dart","string",{"string-literal":{pattern:/r?(?:("""|''')[\s\S]*?\1|(["'])(?:\\.|(?!\2)[^\\\r\n])*\2(?!\2))/,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,lookbehind:!0,inside:{punctuation:/^\$\{?|\}$/,expression:{pattern:/[\s\S]+/,inside:e.languages.dart}}},string:/[\s\S]+/}},string:void 0}),e.languages.insertBefore("dart","class-name",{metadata:{pattern:/@\w+/,alias:"function"}}),e.languages.insertBefore("dart","class-name",{generics:{pattern:/<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}}})}(e)}e.exports=t,t.displayName="dart",t.aliases=[]},5462:function(e){"use strict";function t(e){!function(e){e.languages.dataweave={url:/\b[A-Za-z]+:\/\/[\w/:.?=&-]+|\burn:[\w:.?=&-]+/,property:{pattern:/(?:\b\w+#)?(?:"(?:\\.|[^\\"\r\n])*"|\b\w+)(?=\s*[:@])/,greedy:!0},string:{pattern:/(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0},"mime-type":/\b(?:application|audio|image|multipart|text|video)\/[\w+-]+/,date:{pattern:/\|[\w:+-]+\|/,greedy:!0},comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],regex:{pattern:/\/(?:[^\\\/\r\n]|\\[^\r\n])+\//,greedy:!0},keyword:/\b(?:and|as|at|case|do|else|fun|if|input|is|match|not|ns|null|or|output|type|unless|update|using|var)\b/,function:/\b[A-Z_]\w*(?=\s*\()/i,number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\];(),.:@]/,operator:/<<|>>|->|[<>~=]=?|!=|--?-?|\+\+?|!|\?/,boolean:/\b(?:false|true)\b/}}(e)}e.exports=t,t.displayName="dataweave",t.aliases=[]},1717:function(e){"use strict";function t(e){e.languages.dax={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/).*)/,lookbehind:!0},"data-field":{pattern:/'(?:[^']|'')*'(?!')(?:\[[ \w\xA0-\uFFFF]+\])?|\w+\[[ \w\xA0-\uFFFF]+\]/,alias:"symbol"},measure:{pattern:/\[[ \w\xA0-\uFFFF]+\]/,alias:"constant"},string:{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},function:/\b(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\.DIST|BETA\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\.DIST|CHISQ\.DIST\.RT|CHISQ\.INV|CHISQ\.INV\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\.NORM|CONFIDENCE\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\.DIST|NORM\.INV|NORM\.S\.DIST|NORM\.S\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\.EXC|PERCENTILE\.INC|PERCENTILEX\.EXC|PERCENTILEX\.INC|PERMUT|PI|POISSON\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\.P|STDEV\.S|STDEVX\.P|STDEVX\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\.DIST|T\.DIST\.2T|T\.DIST\.RT|T\.INV|T\.INV\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\.P|VAR\.S|VARX\.P|VARX\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\s*\()/i,keyword:/\b(?:DEFINE|EVALUATE|MEASURE|ORDER\s+BY|RETURN|VAR|START\s+AT|ASC|DESC)\b/i,boolean:{pattern:/\b(?:FALSE|NULL|TRUE)\b/i,alias:"constant"},number:/\b\d+(?:\.\d*)?|\B\.\d+\b/,operator:/:=|[-+*\/=^]|&&?|\|\||<(?:=>?|<|>)?|>[>=]?|\b(?:IN|NOT)\b/i,punctuation:/[;\[\](){}`,.]/}}e.exports=t,t.displayName="dax",t.aliases=[]},6655:function(e){"use strict";function t(e){e.languages.dhall={comment:/--.*|\{-(?:[^-{]|-(?!\})|\{(?!-)|\{-(?:[^-{]|-(?!\})|\{(?!-))*-\})*-\}/,string:{pattern:/"(?:[^"\\]|\\.)*"|''(?:[^']|'(?!')|'''|''\$\{)*''(?!'|\$)/,greedy:!0,inside:{interpolation:{pattern:/\$\{[^{}]*\}/,inside:{expression:{pattern:/(^\$\{)[\s\S]+(?=\}$)/,lookbehind:!0,alias:"language-dhall",inside:null},punctuation:/\$\{|\}/}}}},label:{pattern:/`[^`]*`/,greedy:!0},url:{pattern:/\bhttps?:\/\/[\w.:%!$&'*+;=@~-]+(?:\/[\w.:%!$&'*+;=@~-]*)*(?:\?[/?\w.:%!$&'*+;=@~-]*)?/,greedy:!0},env:{pattern:/\benv:(?:(?!\d)\w+|"(?:[^"\\=]|\\.)*")/,greedy:!0,inside:{function:/^env/,operator:/^:/,variable:/[\s\S]+/}},hash:{pattern:/\bsha256:[\da-fA-F]{64}\b/,inside:{function:/sha256/,operator:/:/,number:/[\da-fA-F]{64}/}},keyword:/\b(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)\b|\u2200/,builtin:/\b(?:None|Some)\b/,boolean:/\b(?:False|True)\b/,number:/\bNaN\b|-?\bInfinity\b|[+-]?\b(?:0x[\da-fA-F]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/,operator:/\/\\|\/\/\\\\|&&|\|\||===|[!=]=|\/\/|->|\+\+|::|[+*#@=:?<>|\\\u2227\u2a53\u2261\u2afd\u03bb\u2192]/,punctuation:/\.\.|[{}\[\](),./]/,"class-name":/\b[A-Z]\w*\b/},e.languages.dhall.string.inside.interpolation.inside.expression.inside=e.languages.dhall}e.exports=t,t.displayName="dhall",t.aliases=[]},9442:function(e){"use strict";function t(e){!function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var r=t[n],a=[];/^\w+$/.test(n)||a.push(/\w+/.exec(n)[0]),"diff"===n&&a.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:a,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(e)}e.exports=t,t.displayName="diff",t.aliases=[]},6412:function(e,t,n){"use strict";var r=n(595);function a(e){e.register(r),function(e){e.languages.django={comment:/^\{#[\s\S]*?#\}$/,tag:{pattern:/(^\{%[+-]?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%][+-]?|[+-]?[}%]\}$/,alias:"punctuation"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},filter:{pattern:/(\|)\w+/,lookbehind:!0,alias:"function"},test:{pattern:/(\bis\s+(?:not\s+)?)(?!not\b)\w+/,lookbehind:!0,alias:"function"},function:/\b[a-z_]\w+(?=\s*\()/i,keyword:/\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,number:/\b\d+(?:\.\d+)?\b/,boolean:/[Ff]alse|[Nn]one|[Tt]rue/,variable:/\b\w+\b/,punctuation:/[{}[\](),.:;]/};var t=/\{\{[\s\S]*?\}\}|\{%[\s\S]*?%\}|\{#[\s\S]*?#\}/g,n=e.languages["markup-templating"];e.hooks.add("before-tokenize",(function(e){n.buildPlaceholders(e,"django",t)})),e.hooks.add("after-tokenize",(function(e){n.tokenizePlaceholders(e,"django")})),e.languages.jinja2=e.languages.django,e.hooks.add("before-tokenize",(function(e){n.buildPlaceholders(e,"jinja2",t)})),e.hooks.add("after-tokenize",(function(e){n.tokenizePlaceholders(e,"jinja2")}))}(e)}e.exports=a,a.displayName="django",a.aliases=["jinja2"]},8818:function(e){"use strict";function t(e){e.languages["dns-zone-file"]={comment:/;.*/,string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0},variable:[{pattern:/(^\$ORIGIN[ \t]+)\S+/m,lookbehind:!0},{pattern:/(^|\s)@(?=\s|$)/,lookbehind:!0}],keyword:/^\$(?:INCLUDE|ORIGIN|TTL)(?=\s|$)/m,class:{pattern:/(^|\s)(?:CH|CS|HS|IN)(?=\s|$)/,lookbehind:!0,alias:"keyword"},type:{pattern:/(^|\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?=\s|$)/,lookbehind:!0,alias:"keyword"},punctuation:/[()]/},e.languages["dns-zone"]=e.languages["dns-zone-file"]}e.exports=t,t.displayName="dnsZoneFile",t.aliases=[]},3386:function(e){"use strict";function t(e){!function(e){var t=/\\[\r\n](?:\s|\\[\r\n]|#.*(?!.))*(?![\s#]|\\[\r\n])/.source,n=/(?:[ \t]+(?![ \t])(?:<SP_BS>)?|<SP_BS>)/.source.replace(/<SP_BS>/g,(function(){return t})),r=/"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"|'(?:[^'\\\r\n]|\\(?:\r\n|[\s\S]))*'/.source,a=/--[\w-]+=(?:<STR>|(?!["'])(?:[^\s\\]|\\.)+)/.source.replace(/<STR>/g,(function(){return r})),i={pattern:RegExp(r),greedy:!0},o={pattern:/(^[ \t]*)#.*/m,lookbehind:!0,greedy:!0};function s(e,t){return e=e.replace(/<OPT>/g,(function(){return a})).replace(/<SP>/g,(function(){return n})),RegExp(e,t)}e.languages.docker={instruction:{pattern:/(^[ \t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)(?:\\.|[^\r\n\\])*(?:\\$(?:\s|#.*$)*(?![\s#])(?:\\.|[^\r\n\\])*)*/im,lookbehind:!0,greedy:!0,inside:{options:{pattern:s(/(^(?:ONBUILD<SP>)?\w+<SP>)<OPT>(?:<SP><OPT>)*/.source,"i"),lookbehind:!0,greedy:!0,inside:{property:{pattern:/(^|\s)--[\w-]+/,lookbehind:!0},string:[i,{pattern:/(=)(?!["'])(?:[^\s\\]|\\.)+/,lookbehind:!0}],operator:/\\$/m,punctuation:/=/}},keyword:[{pattern:s(/(^(?:ONBUILD<SP>)?HEALTHCHECK<SP>(?:<OPT><SP>)*)(?:CMD|NONE)\b/.source,"i"),lookbehind:!0,greedy:!0},{pattern:s(/(^(?:ONBUILD<SP>)?FROM<SP>(?:<OPT><SP>)*(?!--)[^ \t\\]+<SP>)AS/.source,"i"),lookbehind:!0,greedy:!0},{pattern:s(/(^ONBUILD<SP>)\w+/.source,"i"),lookbehind:!0,greedy:!0},{pattern:/^\w+/,greedy:!0}],comment:o,string:i,variable:/\$(?:\w+|\{[^{}"'\\]*\})/,operator:/\\$/m}},comment:o},e.languages.dockerfile=e.languages.docker}(e)}e.exports=t,t.displayName="docker",t.aliases=["dockerfile"]},7837:function(e){"use strict";function t(e){!function(e){var t="(?:"+[/[a-zA-Z_\x80-\uFFFF][\w\x80-\uFFFF]*/.source,/-?(?:\.\d+|\d+(?:\.\d*)?)/.source,/"[^"\\]*(?:\\[\s\S][^"\\]*)*"/.source,/<(?:[^<>]|(?!<!--)<(?:[^<>"']|"[^"]*"|'[^']*')+>|<!--(?:[^-]|-(?!->))*-->)*>/.source].join("|")+")",n={markup:{pattern:/(^<)[\s\S]+(?=>$)/,lookbehind:!0,alias:["language-markup","language-html","language-xml"],inside:e.languages.markup}};function r(e,n){return RegExp(e.replace(/<ID>/g,(function(){return t})),n)}e.languages.dot={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\/|^#.*/m,greedy:!0},"graph-name":{pattern:r(/(\b(?:digraph|graph|subgraph)[ \t\r\n]+)<ID>/.source,"i"),lookbehind:!0,greedy:!0,alias:"class-name",inside:n},"attr-value":{pattern:r(/(=[ \t\r\n]*)<ID>/.source),lookbehind:!0,greedy:!0,inside:n},"attr-name":{pattern:r(/([\[;, \t\r\n])<ID>(?=[ \t\r\n]*=)/.source),lookbehind:!0,greedy:!0,inside:n},keyword:/\b(?:digraph|edge|graph|node|strict|subgraph)\b/i,"compass-point":{pattern:/(:[ \t\r\n]*)(?:[ewc_]|[ns][ew]?)(?![\w\x80-\uFFFF])/,lookbehind:!0,alias:"builtin"},node:{pattern:r(/(^|[^-.\w\x80-\uFFFF\\])<ID>/.source),lookbehind:!0,greedy:!0,inside:n},operator:/[=:]|-[->]/,punctuation:/[\[\]{};,]/},e.languages.gv=e.languages.dot}(e)}e.exports=t,t.displayName="dot",t.aliases=["gv"]},9845:function(e){"use strict";function t(e){e.languages.ebnf={comment:/\(\*[\s\S]*?\*\)/,string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,greedy:!0},special:{pattern:/\?[^?\r\n]*\?/,greedy:!0,alias:"class-name"},definition:{pattern:/^([\t ]*)[a-z]\w*(?:[ \t]+[a-z]\w*)*(?=\s*=)/im,lookbehind:!0,alias:["rule","keyword"]},rule:/\b[a-z]\w*(?:[ \t]+[a-z]\w*)*\b/i,punctuation:/\([:/]|[:/]\)|[.,;()[\]{}]/,operator:/[-=|*/!]/}}e.exports=t,t.displayName="ebnf",t.aliases=[]},6268:function(e){"use strict";function t(e){e.languages.editorconfig={comment:/[;#].*/,section:{pattern:/(^[ \t]*)\[.+\]/m,lookbehind:!0,alias:"selector",inside:{regex:/\\\\[\[\]{},!?.*]/,operator:/[!?]|\.\.|\*{1,2}/,punctuation:/[\[\]{},]/}},key:{pattern:/(^[ \t]*)[^\s=]+(?=[ \t]*=)/m,lookbehind:!0,alias:"attr-name"},value:{pattern:/=.*/,alias:"attr-value",inside:{punctuation:/^=/}}}}e.exports=t,t.displayName="editorconfig",t.aliases=[]},4326:function(e){"use strict";function t(e){e.languages.eiffel={comment:/--.*/,string:[{pattern:/"([^[]*)\[[\s\S]*?\]\1"/,greedy:!0},{pattern:/"([^{]*)\{[\s\S]*?\}\1"/,greedy:!0},{pattern:/"(?:%(?:(?!\n)\s)*\n\s*%|%\S|[^%"\r\n])*"/,greedy:!0}],char:/'(?:%.|[^%'\r\n])+'/,keyword:/\b(?:across|agent|alias|all|and|as|assign|attached|attribute|check|class|convert|create|Current|debug|deferred|detachable|do|else|elseif|end|ensure|expanded|export|external|feature|from|frozen|if|implies|inherit|inspect|invariant|like|local|loop|not|note|obsolete|old|once|or|Precursor|redefine|rename|require|rescue|Result|retry|select|separate|some|then|undefine|until|variant|Void|when|xor)\b/i,boolean:/\b(?:False|True)\b/i,"class-name":/\b[A-Z][\dA-Z_]*\b/,number:[/\b0[xcb][\da-f](?:_*[\da-f])*\b/i,/(?:\b\d(?:_*\d)*)?\.(?:(?:\d(?:_*\d)*)?e[+-]?)?\d(?:_*\d)*\b|\b\d(?:_*\d)*\b\.?/i],punctuation:/:=|<<|>>|\(\||\|\)|->|\.(?=\w)|[{}[\];(),:?]/,operator:/\\\\|\|\.\.\||\.\.|\/[~\/=]?|[><]=?|[-+*^=~]/}}e.exports=t,t.displayName="eiffel",t.aliases=[]},8331:function(e,t,n){"use strict";var r=n(595);function a(e){e.register(r),function(e){e.languages.ejs={delimiter:{pattern:/^<%[-_=]?|[-_]?%>$/,alias:"punctuation"},comment:/^#[\s\S]*/,"language-javascript":{pattern:/[\s\S]+/,inside:e.languages.javascript}},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"ejs",/<%(?!%)[\s\S]+?%>/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"ejs")})),e.languages.eta=e.languages.ejs}(e)}e.exports=a,a.displayName="ejs",a.aliases=["eta"]},3596:function(e){"use strict";function t(e){e.languages.elixir={doc:{pattern:/@(?:doc|moduledoc)\s+(?:("""|''')[\s\S]*?\1|("|')(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2)/,inside:{attribute:/^@\w+/,string:/['"][\s\S]+/}},comment:{pattern:/#.*/,greedy:!0},regex:{pattern:/~[rR](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|[^\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[uismxfr]*/,greedy:!0},string:[{pattern:/~[cCsSwW](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|#\{[^}]+\}|#(?!\{)|[^#\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[csa]?/,greedy:!0,inside:{}},{pattern:/("""|''')[\s\S]*?\1/,greedy:!0,inside:{}},{pattern:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0,inside:{}}],atom:{pattern:/(^|[^:]):\w+/,lookbehind:!0,alias:"symbol"},module:{pattern:/\b[A-Z]\w*\b/,alias:"class-name"},"attr-name":/\b\w+\??:(?!:)/,argument:{pattern:/(^|[^&])&\d+/,lookbehind:!0,alias:"variable"},attribute:{pattern:/@\w+/,alias:"variable"},function:/\b[_a-zA-Z]\w*[?!]?(?:(?=\s*(?:\.\s*)?\()|(?=\/\d))/,number:/\b(?:0[box][a-f\d_]+|\d[\d_]*)(?:\.[\d_]+)?(?:e[+-]?[\d_]+)?\b/i,keyword:/\b(?:after|alias|and|case|catch|cond|def(?:callback|delegate|exception|impl|macro|module|n|np|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|quote|raise|require|rescue|try|unless|unquote|use|when)\b/,boolean:/\b(?:false|nil|true)\b/,operator:[/\bin\b|&&?|\|[|>]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*\/^]/,{pattern:/([^<])<(?!<)/,lookbehind:!0},{pattern:/([^>])>(?!>)/,lookbehind:!0}],punctuation:/<<|>>|[.,%\[\]{}()]/},e.languages.elixir.string.forEach((function(t){t.inside={interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"},rest:e.languages.elixir}}}}))}e.exports=t,t.displayName="elixir",t.aliases=[]},3972:function(e){"use strict";function t(e){e.languages.elm={comment:/--.*|\{-[\s\S]*?-\}/,char:{pattern:/'(?:[^\\'\r\n]|\\(?:[abfnrtv\\']|\d+|x[0-9a-fA-F]+|u\{[0-9a-fA-F]+\}))'/,greedy:!0},string:[{pattern:/"""[\s\S]*?"""/,greedy:!0},{pattern:/"(?:[^\\"\r\n]|\\.)*"/,greedy:!0}],"import-statement":{pattern:/(^[\t ]*)import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+(?:[A-Z]\w*)(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m,lookbehind:!0,inside:{keyword:/\b(?:as|exposing|import)\b/}},keyword:/\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b/,builtin:/\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\b/,number:/\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0x[0-9a-f]+)\b/i,operator:/\s\.\s|[+\-/*=.$<>:&|^?%#@~!]{2,}|[+\-/*=$<>:&|^?%#@~!]/,hvariable:/\b(?:[A-Z]\w*\.)*[a-z]\w*\b/,constant:/\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/,punctuation:/[{}[\]|(),.:]/}}e.exports=t,t.displayName="elm",t.aliases=[]},4665:function(e,t,n){"use strict";var r=n(6326),a=n(595);function i(e){e.register(r),e.register(a),function(e){e.languages.erb={delimiter:{pattern:/^(\s*)<%=?|%>(?=\s*$)/,lookbehind:!0,alias:"punctuation"},ruby:{pattern:/\s*\S[\s\S]*/,alias:"language-ruby",inside:e.languages.ruby}},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"erb",/<%=?(?:[^\r\n]|[\r\n](?!=begin)|[\r\n]=begin\s(?:[^\r\n]|[\r\n](?!=end))*[\r\n]=end)+?%>/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"erb")}))}(e)}e.exports=i,i.displayName="erb",i.aliases=[]},865:function(e){"use strict";function t(e){e.languages.erlang={comment:/%.+/,string:{pattern:/"(?:\\.|[^\\"\r\n])*"/,greedy:!0},"quoted-function":{pattern:/'(?:\\.|[^\\'\r\n])+'(?=\()/,alias:"function"},"quoted-atom":{pattern:/'(?:\\.|[^\\'\r\n])+'/,alias:"atom"},boolean:/\b(?:false|true)\b/,keyword:/\b(?:after|case|catch|end|fun|if|of|receive|try|when)\b/,number:[/\$\\?./,/\b\d+#[a-z0-9]+/i,/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i],function:/\b[a-z][\w@]*(?=\()/,variable:{pattern:/(^|[^@])(?:\b|\?)[A-Z_][\w@]*/,lookbehind:!0},operator:[/[=\/<>:]=|=[:\/]=|\+\+?|--?|[=*\/!]|\b(?:and|andalso|band|bnot|bor|bsl|bsr|bxor|div|not|or|orelse|rem|xor)\b/,{pattern:/(^|[^<])<(?!<)/,lookbehind:!0},{pattern:/(^|[^>])>(?!>)/,lookbehind:!0}],atom:/\b[a-z][\w@]*/,punctuation:/[()[\]{}:;,.#|]|<<|>>/}}e.exports=t,t.displayName="erlang",t.aliases=[]},6168:function(e,t,n){"use strict";var r=n(6759),a=n(595);function i(e){e.register(r),e.register(a),function(e){e.languages.etlua={delimiter:{pattern:/^<%[-=]?|-?%>$/,alias:"punctuation"},"language-lua":{pattern:/[\s\S]+/,inside:e.languages.lua}},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"etlua",/<%[\s\S]+?%>/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"etlua")}))}(e)}e.exports=i,i.displayName="etlua",i.aliases=[]},8171:function(e){"use strict";function t(e){e.languages["excel-formula"]={comment:{pattern:/(\bN\(\s*)"(?:[^"]|"")*"(?=\s*\))/i,lookbehind:!0,greedy:!0},string:{pattern:/"(?:[^"]|"")*"(?!")/,greedy:!0},reference:{pattern:/(?:'[^']*'|(?:[^\s()[\]{}<>*?"';,$&]*\[[^^\s()[\]{}<>*?"']+\])?\w+)!/,greedy:!0,alias:"string",inside:{operator:/!$/,punctuation:/'/,sheet:{pattern:/[^[\]]+$/,alias:"function"},file:{pattern:/\[[^[\]]+\]$/,inside:{punctuation:/[[\]]/}},path:/[\s\S]+/}},"function-name":{pattern:/\b[A-Z]\w*(?=\()/i,alias:"keyword"},range:{pattern:/\$?\b(?:[A-Z]+\$?\d+:\$?[A-Z]+\$?\d+|[A-Z]+:\$?[A-Z]+|\d+:\$?\d+)\b/i,alias:"property",inside:{operator:/:/,cell:/\$?[A-Z]+\$?\d+/i,column:/\$?[A-Z]+/i,row:/\$?\d+/}},cell:{pattern:/\b[A-Z]+\d+\b|\$[A-Za-z]+\$?\d+\b|\b[A-Za-z]+\$\d+\b/,alias:"property"},number:/(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:e[+-]?\d+)?\b/i,boolean:/\b(?:FALSE|TRUE)\b/i,operator:/[-+*/^%=&,]|<[=>]?|>=?/,punctuation:/[[\]();{}|]/},e.languages.xlsx=e.languages.xls=e.languages["excel-formula"]}e.exports=t,t.displayName="excelFormula",t.aliases=[]},6175:function(e){"use strict";function t(e){!function(e){var t={function:/\b(?:BUGS?|FIX(?:MES?)?|NOTES?|TODOS?|XX+|HACKS?|WARN(?:ING)?|\?{2,}|!{2,})\b/},n={number:/\\[^\s']|%\w/},r={comment:[{pattern:/(^|\s)(?:! .*|!$)/,lookbehind:!0,inside:t},{pattern:/(^|\s)\/\*\s[\s\S]*?\*\/(?=\s|$)/,lookbehind:!0,greedy:!0,inside:t},{pattern:/(^|\s)!\[(={0,6})\[\s[\s\S]*?\]\2\](?=\s|$)/,lookbehind:!0,greedy:!0,inside:t}],number:[{pattern:/(^|\s)[+-]?\d+(?=\s|$)/,lookbehind:!0},{pattern:/(^|\s)[+-]?0(?:b[01]+|o[0-7]+|d\d+|x[\dA-F]+)(?=\s|$)/i,lookbehind:!0},{pattern:/(^|\s)[+-]?\d+\/\d+\.?(?=\s|$)/,lookbehind:!0},{pattern:/(^|\s)\+?\d+\+\d+\/\d+(?=\s|$)/,lookbehind:!0},{pattern:/(^|\s)-\d+-\d+\/\d+(?=\s|$)/,lookbehind:!0},{pattern:/(^|\s)[+-]?(?:\d*\.\d+|\d+\.\d*|\d+)(?:e[+-]?\d+)?(?=\s|$)/i,lookbehind:!0},{pattern:/(^|\s)NAN:\s+[\da-fA-F]+(?=\s|$)/,lookbehind:!0},{pattern:/(^|\s)[+-]?0(?:b1\.[01]*|o1\.[0-7]*|d1\.\d*|x1\.[\dA-F]*)p\d+(?=\s|$)/i,lookbehind:!0}],regexp:{pattern:/(^|\s)R\/\s(?:\\\S|[^\\/])*\/(?:[idmsr]*|[idmsr]+-[idmsr]+)(?=\s|$)/,lookbehind:!0,alias:"number",inside:{variable:/\\\S/,keyword:/[+?*\[\]^$(){}.|]/,operator:{pattern:/(\/)[idmsr]+(?:-[idmsr]+)?/,lookbehind:!0}}},boolean:{pattern:/(^|\s)[tf](?=\s|$)/,lookbehind:!0},"custom-string":{pattern:/(^|\s)[A-Z0-9\-]+"\s(?:\\\S|[^"\\])*"/,lookbehind:!0,greedy:!0,alias:"string",inside:{number:/\\\S|%\w|\//}},"multiline-string":[{pattern:/(^|\s)STRING:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*;(?=\s|$)/,lookbehind:!0,greedy:!0,alias:"string",inside:{number:n.number,"semicolon-or-setlocal":{pattern:/([\r\n][ \t]*);(?=\s|$)/,lookbehind:!0,alias:"function"}}},{pattern:/(^|\s)HEREDOC:\s+\S+(?:\n|\r\n).*(?:\n|\r\n)\s*\S+(?=\s|$)/,lookbehind:!0,greedy:!0,alias:"string",inside:n},{pattern:/(^|\s)\[(={0,6})\[\s[\s\S]*?\]\2\](?=\s|$)/,lookbehind:!0,greedy:!0,alias:"string",inside:n}],"special-using":{pattern:/(^|\s)USING:(?:\s\S+)*(?=\s+;(?:\s|$))/,lookbehind:!0,alias:"function",inside:{string:{pattern:/(\s)[^:\s]+/,lookbehind:!0}}},"stack-effect-delimiter":[{pattern:/(^|\s)(?:call|eval|execute)?\((?=\s)/,lookbehind:!0,alias:"operator"},{pattern:/(\s)--(?=\s)/,lookbehind:!0,alias:"operator"},{pattern:/(\s)\)(?=\s|$)/,lookbehind:!0,alias:"operator"}],combinators:{pattern:null,lookbehind:!0,alias:"keyword"},"kernel-builtin":{pattern:null,lookbehind:!0,alias:"variable"},"sequences-builtin":{pattern:null,lookbehind:!0,alias:"variable"},"math-builtin":{pattern:null,lookbehind:!0,alias:"variable"},"constructor-word":{pattern:/(^|\s)<(?!=+>|-+>)\S+>(?=\s|$)/,lookbehind:!0,alias:"keyword"},"other-builtin-syntax":{pattern:null,lookbehind:!0,alias:"operator"},"conventionally-named-word":{pattern:/(^|\s)(?!")(?:(?:change|new|set|with)-\S+|\$\S+|>[^>\s]+|[^:>\s]+>|[^>\s]+>[^>\s]+|\+[^+\s]+\+|[^?\s]+\?|\?[^?\s]+|[^>\s]+>>|>>[^>\s]+|[^<\s]+<<|\([^()\s]+\)|[^!\s]+!|[^*\s]\S*\*|[^.\s]\S*\.)(?=\s|$)/,lookbehind:!0,alias:"keyword"},"colon-syntax":{pattern:/(^|\s)(?:[A-Z0-9\-]+#?)?:{1,2}\s+(?:;\S+|(?!;)\S+)(?=\s|$)/,lookbehind:!0,greedy:!0,alias:"function"},"semicolon-or-setlocal":{pattern:/(\s)(?:;|:>)(?=\s|$)/,lookbehind:!0,alias:"function"},"curly-brace-literal-delimiter":[{pattern:/(^|\s)[a-z]*\{(?=\s)/i,lookbehind:!0,alias:"operator"},{pattern:/(\s)\}(?=\s|$)/,lookbehind:!0,alias:"operator"}],"quotation-delimiter":[{pattern:/(^|\s)\[(?=\s)/,lookbehind:!0,alias:"operator"},{pattern:/(\s)\](?=\s|$)/,lookbehind:!0,alias:"operator"}],"normal-word":{pattern:/(^|\s)[^"\s]\S*(?=\s|$)/,lookbehind:!0},string:{pattern:/"(?:\\\S|[^"\\])*"/,greedy:!0,inside:n}},a=function(e){return(e+"").replace(/([.?*+\^$\[\]\\(){}|\-])/g,"\\$1")},i=function(e){return new RegExp("(^|\\s)(?:"+e.map(a).join("|")+")(?=\\s|$)")},o={"kernel-builtin":["or","2nipd","4drop","tuck","wrapper","nip","wrapper?","callstack>array","die","dupd","callstack","callstack?","3dup","hashcode","pick","4nip","build",">boolean","nipd","clone","5nip","eq?","?","=","swapd","2over","clear","2dup","get-retainstack","not","tuple?","dup","3nipd","call","-rotd","object","drop","assert=","assert?","-rot","execute","boa","get-callstack","curried?","3drop","pickd","overd","over","roll","3nip","swap","and","2nip","rotd","throw","(clone)","hashcode*","spin","reach","4dup","equal?","get-datastack","assert","2drop","<wrapper>","boolean?","identity-hashcode","identity-tuple?","null","composed?","new","5drop","rot","-roll","xor","identity-tuple","boolean"],"other-builtin-syntax":["=======","recursive","flushable",">>","<<<<<<","M\\","B","PRIVATE>","\\","======","final","inline","delimiter","deprecated","<PRIVATE",">>>>>>","<<<<<<<","parse-complex","malformed-complex","read-only",">>>>>>>","call-next-method","<<","foldable","$","$[","${"],"sequences-builtin":["member-eq?","mismatch","append","assert-sequence=","longer","repetition","clone-like","3sequence","assert-sequence?","last-index-from","reversed","index-from","cut*","pad-tail","join-as","remove-eq!","concat-as","but-last","snip","nths","nth","sequence","longest","slice?","<slice>","remove-nth","tail-slice","empty?","tail*","member?","virtual-sequence?","set-length","drop-prefix","iota","unclip","bounds-error?","unclip-last-slice","non-negative-integer-expected","non-negative-integer-expected?","midpoint@","longer?","?set-nth","?first","rest-slice","prepend-as","prepend","fourth","sift","subseq-start","new-sequence","?last","like","first4","1sequence","reverse","slice","virtual@","repetition?","set-last","index","4sequence","max-length","set-second","immutable-sequence","first2","first3","supremum","unclip-slice","suffix!","insert-nth","tail","3append","short","suffix","concat","flip","immutable?","reverse!","2sequence","sum","delete-all","indices","snip-slice","<iota>","check-slice","sequence?","head","append-as","halves","sequence=","collapse-slice","?second","slice-error?","product","bounds-check?","bounds-check","immutable","virtual-exemplar","harvest","remove","pad-head","last","set-fourth","cartesian-product","remove-eq","shorten","shorter","reversed?","shorter?","shortest","head-slice","pop*","tail-slice*","but-last-slice","iota?","append!","cut-slice","new-resizable","head-slice*","sequence-hashcode","pop","set-nth","?nth","second","join","immutable-sequence?","<reversed>","3append-as","virtual-sequence","subseq?","remove-nth!","length","last-index","lengthen","assert-sequence","copy","move","third","first","tail?","set-first","prefix","bounds-error","<repetition>","exchange","surround","cut","min-length","set-third","push-all","head?","subseq-start-from","delete-slice","rest","sum-lengths","head*","infimum","remove!","glue","slice-error","subseq","push","replace-slice","subseq-as","unclip-last"],"math-builtin":["number=","next-power-of-2","?1+","fp-special?","imaginary-part","float>bits","number?","fp-infinity?","bignum?","fp-snan?","denominator","gcd","*","+","fp-bitwise=","-","u>=","/",">=","bitand","power-of-2?","log2-expects-positive","neg?","<","log2",">","integer?","number","bits>double","2/","zero?","bits>float","float?","shift","ratio?","rect>","even?","ratio","fp-sign","bitnot",">fixnum","complex?","/i","integer>fixnum","/f","sgn",">bignum","next-float","u<","u>","mod","recip","rational",">float","2^","integer","fixnum?","neg","fixnum","sq","bignum",">rect","bit?","fp-qnan?","simple-gcd","complex","<fp-nan>","real",">fraction","double>bits","bitor","rem","fp-nan-payload","real-part","log2-expects-positive?","prev-float","align","unordered?","float","fp-nan?","abs","bitxor","integer>fixnum-strict","u<=","odd?","<=","/mod",">integer","real?","rational?","numerator"]};Object.keys(o).forEach((function(e){r[e].pattern=i(o[e])}));r.combinators.pattern=i(["2bi","while","2tri","bi*","4dip","both?","same?","tri@","curry","prepose","3bi","?if","tri*","2keep","3keep","curried","2keepd","when","2bi*","2tri*","4keep","bi@","keepdd","do","unless*","tri-curry","if*","loop","bi-curry*","when*","2bi@","2tri@","with","2with","either?","bi","until","3dip","3curry","tri-curry*","tri-curry@","bi-curry","keepd","compose","2dip","if","3tri","unless","tuple","keep","2curry","tri","most","while*","dip","composed","bi-curry@","find-last-from","trim-head-slice","map-as","each-from","none?","trim-tail","partition","if-empty","accumulate*","reject!","find-from","accumulate-as","collector-for-as","reject","map","map-sum","accumulate!","2each-from","follow","supremum-by","map!","unless-empty","collector","padding","reduce-index","replicate-as","infimum-by","trim-tail-slice","count","find-index","filter","accumulate*!","reject-as","map-integers","map-find","reduce","selector","interleave","2map","filter-as","binary-reduce","map-index-as","find","produce","filter!","replicate","cartesian-map","cartesian-each","find-index-from","map-find-last","3map-as","3map","find-last","selector-as","2map-as","2map-reduce","accumulate","each","each-index","accumulate*-as","when-empty","all?","collector-as","push-either","new-like","collector-for","2selector","push-if","2all?","map-reduce","3each","any?","trim-slice","2reduce","change-nth","produce-as","2each","trim","trim-head","cartesian-find","map-index","if-zero","each-integer","unless-zero","(find-integer)","when-zero","find-last-integer","(all-integers?)","times","(each-integer)","find-integer","all-integers?","unless-negative","if-positive","when-positive","when-negative","unless-positive","if-negative","case","2cleave","cond>quot","case>quot","3cleave","wrong-values","to-fixed-point","alist>quot","cond","cleave","call-effect","recursive-hashcode","spread","deep-spread>quot","2||","0||","n||","0&&","2&&","3||","1||","1&&","n&&","3&&","smart-unless*","keep-inputs","reduce-outputs","smart-when*","cleave>array","smart-with","smart-apply","smart-if","inputs/outputs","output>sequence-n","map-outputs","map-reduce-outputs","dropping","output>array","smart-map-reduce","smart-2map-reduce","output>array-n","nullary","input<sequence","append-outputs","drop-inputs","inputs","smart-2reduce","drop-outputs","smart-reduce","preserving","smart-when","outputs","append-outputs-as","smart-unless","smart-if*","sum-outputs","input<sequence-unsafe","output>sequence"]),e.languages.factor=r}(e)}e.exports=t,t.displayName="factor",t.aliases=[]},4988:function(e){"use strict";function t(e){!function(e){e.languages.false={comment:{pattern:/\{[^}]*\}/},string:{pattern:/"[^"]*"/,greedy:!0},"character-code":{pattern:/'(?:[^\r]|\r\n?)/,alias:"number"},"assembler-code":{pattern:/\d+`/,alias:"important"},number:/\d+/,operator:/[-!#$%&'*+,./:;=>?@\\^_`|~\xdf\xf8]/,punctuation:/\[|\]/,variable:/[a-z]/,"non-standard":{pattern:/[()<BDO\xae]/,alias:"bold"}}}(e)}e.exports=t,t.displayName="$false",t.aliases=[]},2727:function(e){"use strict";function t(e){e.languages["firestore-security-rules"]=e.languages.extend("clike",{comment:/\/\/.*/,keyword:/\b(?:allow|function|if|match|null|return|rules_version|service)\b/,operator:/&&|\|\||[<>!=]=?|[-+*/%]|\b(?:in|is)\b/}),delete e.languages["firestore-security-rules"]["class-name"],e.languages.insertBefore("firestore-security-rules","keyword",{path:{pattern:/(^|[\s(),])(?:\/(?:[\w\xA0-\uFFFF]+|\{[\w\xA0-\uFFFF]+(?:=\*\*)?\}|\$\([\w\xA0-\uFFFF.]+\)))+/,lookbehind:!0,greedy:!0,inside:{variable:{pattern:/\{[\w\xA0-\uFFFF]+(?:=\*\*)?\}|\$\([\w\xA0-\uFFFF.]+\)/,inside:{operator:/=/,keyword:/\*\*/,punctuation:/[.$(){}]/}},punctuation:/\//}},method:{pattern:/(\ballow\s+)[a-z]+(?:\s*,\s*[a-z]+)*(?=\s*[:;])/,lookbehind:!0,alias:"builtin",inside:{punctuation:/,/}}})}e.exports=t,t.displayName="firestoreSecurityRules",t.aliases=[]},4037:function(e){"use strict";function t(e){!function(e){e.languages.flow=e.languages.extend("javascript",{}),e.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|any|mixed|null|void)\b/,alias:"tag"}]}),e.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}(e)}e.exports=t,t.displayName="flow",t.aliases=[]},9770:function(e){"use strict";function t(e){e.languages.fortran={"quoted-number":{pattern:/[BOZ](['"])[A-F0-9]+\1/i,alias:"number"},string:{pattern:/(?:\b\w+_)?(['"])(?:\1\1|&(?:\r\n?|\n)(?:[ \t]*!.*(?:\r\n?|\n)|(?![ \t]*!))|(?!\1).)*(?:\1|&)/,inside:{comment:{pattern:/(&(?:\r\n?|\n)\s*)!.*/,lookbehind:!0}}},comment:{pattern:/!.*/,greedy:!0},boolean:/\.(?:FALSE|TRUE)\.(?:_\w+)?/i,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[ED][+-]?\d+)?(?:_\w+)?/i,keyword:[/\b(?:CHARACTER|COMPLEX|DOUBLE ?PRECISION|INTEGER|LOGICAL|REAL)\b/i,/\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\b/i,/\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\b/i,/\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEIF|ELSEWHERE|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\b/i],operator:[/\*\*|\/\/|=>|[=\/]=|[<>]=?|::|[+\-*=%]|\.[A-Z]+\./i,{pattern:/(^|(?!\().)\/(?!\))/,lookbehind:!0}],punctuation:/\(\/|\/\)|[(),;:&]/}}e.exports=t,t.displayName="fortran",t.aliases=[]},1987:function(e){"use strict";function t(e){e.languages.fsharp=e.languages.extend("clike",{comment:[{pattern:/(^|[^\\])\(\*(?!\))[\s\S]*?\*\)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(?:"""[\s\S]*?"""|@"(?:""|[^"])*"|"(?:\\[\s\S]|[^\\"])*")B?/,greedy:!0},"class-name":{pattern:/(\b(?:exception|inherit|interface|new|of|type)\s+|\w\s*:\s*|\s:\??>\s*)[.\w]+\b(?:\s*(?:->|\*)\s*[.\w]+\b)*(?!\s*[:.])/,lookbehind:!0,inside:{operator:/->|\*/,punctuation:/\./}},keyword:/\b(?:let|return|use|yield)(?:!\B|\b)|\b(?:abstract|and|as|asr|assert|atomic|base|begin|break|checked|class|component|const|constraint|constructor|continue|default|delegate|do|done|downcast|downto|eager|elif|else|end|event|exception|extern|external|false|finally|fixed|for|fun|function|functor|global|if|in|include|inherit|inline|interface|internal|land|lazy|lor|lsl|lsr|lxor|match|member|method|mixin|mod|module|mutable|namespace|new|not|null|object|of|open|or|override|parallel|private|process|protected|public|pure|rec|sealed|select|sig|static|struct|tailcall|then|to|trait|true|try|type|upcast|val|virtual|void|volatile|when|while|with)\b/,number:[/\b0x[\da-fA-F]+(?:LF|lf|un)?\b/,/\b0b[01]+(?:uy|y)?\b/,/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[fm]|e[+-]?\d+)?\b/i,/\b\d+(?:[IlLsy]|UL|u[lsy]?)?\b/],operator:/([<>~&^])\1\1|([*.:<>&])\2|<-|->|[!=:]=|<?\|{1,3}>?|\??(?:<=|>=|<>|[-+*/%=<>])\??|[!?^&]|~[+~-]|:>|:\?>?/}),e.languages.insertBefore("fsharp","keyword",{preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(^#)\b(?:else|endif|if|light|line|nowarn)\b/,lookbehind:!0,alias:"keyword"}}}}),e.languages.insertBefore("fsharp","punctuation",{"computation-expression":{pattern:/\b[_a-z]\w*(?=\s*\{)/i,alias:"keyword"}}),e.languages.insertBefore("fsharp","string",{annotation:{pattern:/\[<.+?>\]/,greedy:!0,inside:{punctuation:/^\[<|>\]$/,"class-name":{pattern:/^\w+$|(^|;\s*)[A-Z]\w*(?=\()/,lookbehind:!0},"annotation-content":{pattern:/[\s\S]+/,inside:e.languages.fsharp}}},char:{pattern:/'(?:[^\\']|\\(?:.|\d{3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}|U[a-fA-F\d]{8}))'B?/,greedy:!0}})}e.exports=t,t.displayName="fsharp",t.aliases=[]},1505:function(e,t,n){"use strict";var r=n(595);function a(e){e.register(r),function(e){for(var t=/[^<()"']|\((?:<expr>)*\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|"(?:[^\\"]|\\.)*"|'(?:[^\\']|\\.)*'/.source,n=0;n<2;n++)t=t.replace(/<expr>/g,(function(){return t}));t=t.replace(/<expr>/g,/[^\s\S]/.source);var r={comment:/<#--[\s\S]*?-->/,string:[{pattern:/\br("|')(?:(?!\1)[^\\]|\\.)*\1/,greedy:!0},{pattern:RegExp(/("|')(?:(?!\1|\$\{)[^\\]|\\.|\$\{(?:(?!\})(?:<expr>))*\})*\1/.source.replace(/<expr>/g,(function(){return t}))),greedy:!0,inside:{interpolation:{pattern:RegExp(/((?:^|[^\\])(?:\\\\)*)\$\{(?:(?!\})(?:<expr>))*\}/.source.replace(/<expr>/g,(function(){return t}))),lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:null}}}}],keyword:/\b(?:as)\b/,boolean:/\b(?:false|true)\b/,"builtin-function":{pattern:/((?:^|[^?])\?\s*)\w+/,lookbehind:!0,alias:"function"},function:/\b\w+(?=\s*\()/,number:/\b\d+(?:\.\d+)?\b/,operator:/\.\.[<*!]?|->|--|\+\+|&&|\|\||\?{1,2}|[-+*/%!=<>]=?|\b(?:gt|gte|lt|lte)\b/,punctuation:/[,;.:()[\]{}]/};r.string[1].inside.interpolation.inside.rest=r,e.languages.ftl={"ftl-comment":{pattern:/^<#--[\s\S]*/,alias:"comment"},"ftl-directive":{pattern:/^<[\s\S]+>$/,inside:{directive:{pattern:/(^<\/?)[#@][a-z]\w*/i,lookbehind:!0,alias:"keyword"},punctuation:/^<\/?|\/?>$/,content:{pattern:/\s*\S[\s\S]*/,alias:"ftl",inside:r}}},"ftl-interpolation":{pattern:/^\$\{[\s\S]*\}$/,inside:{punctuation:/^\$\{|\}$/,content:{pattern:/\s*\S[\s\S]*/,alias:"ftl",inside:r}}}},e.hooks.add("before-tokenize",(function(n){var r=RegExp(/<#--[\s\S]*?-->|<\/?[#@][a-zA-Z](?:<expr>)*?>|\$\{(?:<expr>)*?\}/.source.replace(/<expr>/g,(function(){return t})),"gi");e.languages["markup-templating"].buildPlaceholders(n,"ftl",r)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"ftl")}))}(e)}e.exports=a,a.displayName="ftl",a.aliases=[]},8403:function(e){"use strict";function t(e){e.languages.gap={shell:{pattern:/^gap>[\s\S]*?(?=^gap>|$(?![\s\S]))/m,greedy:!0,inside:{gap:{pattern:/^(gap>).+(?:(?:\r(?:\n|(?!\n))|\n)>.*)*/,lookbehind:!0,inside:null},punctuation:/^gap>/}},comment:{pattern:/#.*/,greedy:!0},string:{pattern:/(^|[^\\'"])(?:'(?:[^\r\n\\']|\\.){1,10}'|"(?:[^\r\n\\"]|\\.)*"(?!")|"""[\s\S]*?""")/,lookbehind:!0,greedy:!0,inside:{continuation:{pattern:/([\r\n])>/,lookbehind:!0,alias:"punctuation"}}},keyword:/\b(?:Assert|Info|IsBound|QUIT|TryNextMethod|Unbind|and|atomic|break|continue|do|elif|else|end|fi|for|function|if|in|local|mod|not|od|or|quit|readonly|readwrite|rec|repeat|return|then|until|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:{pattern:/(^|[^\w.]|\.\.)(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?(?:_[a-z]?)?(?=$|[^\w.]|\.\.)/,lookbehind:!0},continuation:{pattern:/([\r\n])>/,lookbehind:!0,alias:"punctuation"},operator:/->|[-+*/^~=!]|<>|[<>]=?|:=|\.\./,punctuation:/[()[\]{},;.:]/},e.languages.gap.shell.inside.gap.inside=e.languages.gap}e.exports=t,t.displayName="gap",t.aliases=[]},9124:function(e){"use strict";function t(e){e.languages.gcode={comment:/;.*|\B\(.*?\)\B/,string:{pattern:/"(?:""|[^"])*"/,greedy:!0},keyword:/\b[GM]\d+(?:\.\d+)?\b/,property:/\b[A-Z]/,checksum:{pattern:/(\*)\d+/,lookbehind:!0,alias:"number"},punctuation:/[:*]/}}e.exports=t,t.displayName="gcode",t.aliases=[]},8495:function(e){"use strict";function t(e){e.languages.gdscript={comment:/#.*/,string:{pattern:/@?(?:("|')(?:(?!\1)[^\n\\]|\\[\s\S])*\1(?!"|')|"""(?:[^\\]|\\[\s\S])*?""")/,greedy:!0},"class-name":{pattern:/(^(?:class|class_name|extends)[ \t]+|^export\([ \t]*|\bas[ \t]+|(?:\b(?:const|var)[ \t]|[,(])[ \t]*\w+[ \t]*:[ \t]*|->[ \t]*)[a-zA-Z_]\w*/m,lookbehind:!0},keyword:/\b(?:and|as|assert|break|breakpoint|class|class_name|const|continue|elif|else|enum|export|extends|for|func|if|in|is|master|mastersync|match|not|null|onready|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|signal|static|tool|var|while|yield)\b/,function:/\b[a-z_]\w*(?=[ \t]*\()/i,variable:/\$\w+/,number:[/\b0b[01_]+\b|\b0x[\da-fA-F_]+\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.[\d_]+)(?:e[+-]?[\d_]+)?\b/,/\b(?:INF|NAN|PI|TAU)\b/],constant:/\b[A-Z][A-Z_\d]*\b/,boolean:/\b(?:false|true)\b/,operator:/->|:=|&&|\|\||<<|>>|[-+*/%&|!<>=]=?|[~^]/,punctuation:/[.:,;()[\]{}]/}}e.exports=t,t.displayName="gdscript",t.aliases=[]},1019:function(e){"use strict";function t(e){e.languages.gedcom={"line-value":{pattern:/(^[\t ]*\d+ +(?:@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@ +)?\w+ ).+/m,lookbehind:!0,inside:{pointer:{pattern:/^@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@$/,alias:"variable"}}},tag:{pattern:/(^[\t ]*\d+ +(?:@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@ +)?)\w+/m,lookbehind:!0,alias:"string"},level:{pattern:/(^[\t ]*)\d+/m,lookbehind:!0,alias:"number"},pointer:{pattern:/@\w[\w!"$%&'()*+,\-./:;<=>?[\\\]^`{|}~\x80-\xfe #]*@/,alias:"variable"}}}e.exports=t,t.displayName="gedcom",t.aliases=[]},3666:function(e){"use strict";function t(e){!function(e){var t=/(?:\r?\n|\r)[ \t]*\|.+\|(?:(?!\|).)*/.source;e.languages.gherkin={pystring:{pattern:/("""|''')[\s\S]+?\1/,alias:"string"},comment:{pattern:/(^[ \t]*)#.*/m,lookbehind:!0},tag:{pattern:/(^[ \t]*)@\S*/m,lookbehind:!0},feature:{pattern:/((?:^|\r?\n|\r)[ \t]*)(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Caracter\xedstica|Egenskab|Egenskap|Eiginleiki|Feature|F\u012b\u010da|Fitur|Fonctionnalit\xe9|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Func\u0163ionalitate|Func\u021bionalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalit\u0101te|Funkcionalnost|Funkcja|Funksie|Funktionalit\xe4t|Funktionalit\xe9it|Funzionalit\xe0|Hwaet|Hw\xe6t|Jellemz\u0151|Karakteristik|Lastnost|Mak|Mogucnost|laH|Mogu\u0107nost|Moznosti|Mo\u017enosti|OH HAI|Omadus|Ominaisuus|Osobina|\xd6zellik|Potrzeba biznesowa|perbogh|poQbogh malja'|Po\u017eadavek|Po\u017eiadavka|Pretty much|Qap|Qu'meH 'ut|Savyb\u0117|T\xednh n\u0103ng|Trajto|Vermo\xeb|Vlastnos\u0165|W\u0142a\u015bciwo\u015b\u0107|Zna\u010dilnost|\u0394\u03c5\u03bd\u03b1\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1|\u039b\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1|\u041c\u043e\u0433\u0443\u045b\u043d\u043e\u0441\u0442|\u041c\u04e9\u043c\u043a\u0438\u043d\u043b\u0435\u043a|\u041e\u0441\u043e\u0431\u0438\u043d\u0430|\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u043e|\u04ae\u0437\u0435\u043d\u0447\u04d9\u043b\u0435\u043a\u043b\u0435\u043b\u0435\u043a|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b|\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u043d\u043e\u0441\u0442|\u0424\u0443\u043d\u043a\u0446\u0438\u044f|\u0424\u0443\u043d\u043a\u0446\u0456\u043e\u043d\u0430\u043b|\u05ea\u05db\u05d5\u05e0\u05d4|\u062e\u0627\u0635\u064a\u0629|\u062e\u0635\u0648\u0635\u06cc\u062a|\u0635\u0644\u0627\u062d\u06cc\u062a|\u06a9\u0627\u0631\u0648\u0628\u0627\u0631 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a|\u0648\u0650\u06cc\u0698\u06af\u06cc|\u0930\u0942\u092a \u0932\u0947\u0916|\u0a16\u0a3e\u0a38\u0a40\u0a05\u0a24|\u0a28\u0a15\u0a36 \u0a28\u0a41\u0a39\u0a3e\u0a30|\u0a2e\u0a41\u0a39\u0a3e\u0a02\u0a26\u0a30\u0a3e|\u0c17\u0c41\u0c23\u0c2e\u0c41|\u0cb9\u0cc6\u0c9a\u0ccd\u0c9a\u0cb3|\u0e04\u0e27\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e17\u0e32\u0e07\u0e18\u0e38\u0e23\u0e01\u0e34\u0e08|\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16|\u0e42\u0e04\u0e23\u0e07\u0e2b\u0e25\u0e31\u0e01|\uae30\ub2a5|\u30d5\u30a3\u30fc\u30c1\u30e3|\u529f\u80fd|\u6a5f\u80fd):(?:[^:\r\n]+(?:\r?\n|\r|$))*/,lookbehind:!0,inside:{important:{pattern:/(:)[^\r\n]+/,lookbehind:!0},keyword:/[^:\r\n]+:/}},scenario:{pattern:/(^[ \t]*)(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|\xc6r|Agtergrond|All y'all|Antecedentes|Antecedents|Atbur\xf0ar\xe1s|Atbur\xf0ar\xe1sir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|B\u1ed1i c\u1ea3nh|Cefndir|Cenario|Cen\xe1rio|Cenario de Fundo|Cen\xe1rio de Fundo|Cenarios|Cen\xe1rios|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|D\xe6mi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delinea\xe7\xe3o do Cen\xe1rio|Dis is what went down|D\u1eef li\u1ec7u|Dyagram Senaryo|Dyagram senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cen\xe1rio|EXAMPLZ|Examples|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgat\xf3k\xf6nyv|Forgat\xf3k\xf6nyv v\xe1zlat|Fundo|Ge\xe7mi\u015f|Grundlage|Hannergrond|ghantoH|H\xe1tt\xe9r|Heave to|Istorik|Juhtumid|Keadaan|Khung k\u1ecbch b\u1ea3n|Khung t\xecnh hu\u1ed1ng|K\u1ecbch b\u1ea3n|Koncept|Konsep skenario|Kont\xe8ks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut chovnatlh|lut|lutmey|L\xfdsing Atbur\xf0ar\xe1sar|L\xfdsing D\xe6ma|MISHUN SRSLY|MISHUN|Menggariskan Senario|mo'|N\xe1\u010drt Scen\xe1ra|N\xe1\u010drt Sc\xe9n\xe1\u0159e|N\xe1\u010drt Scen\xe1ru|Oris scenarija|\xd6rnekler|Osnova|Osnova Scen\xe1ra|Osnova sc\xe9n\xe1\u0159e|Osnutek|Ozadje|Paraugs|Pavyzd\u017eiai|P\xe9ld\xe1k|Piem\u0113ri|Plan du sc\xe9nario|Plan du Sc\xe9nario|Plan Senaryo|Plan senaryo|Plang vum Szenario|Pozad\xed|Pozadie|Pozadina|Pr\xedklady|P\u0159\xedklady|Primer|Primeri|Primjeri|Przyk\u0142ady|Raamstsenaarium|Reckon it's like|Rerefons|Scen\xe1r|Sc\xe9n\xe1\u0159|Scenarie|Scenarij|Scenarijai|Scenarijaus \u0161ablonas|Scenariji|Scen\u0101rijs|Scen\u0101rijs p\u0113c parauga|Scenarijus|Scenario|Sc\xe9nario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se \xf0e|Se the|Se \xfee|Senario|Senaryo Deskripsyon|Senaryo deskripsyon|Senaryo|Senaryo tasla\u011f\u0131|Shiver me timbers|Situ\u0101cija|Situai|Situasie Uiteensetting|Situasie|Skenario konsep|Skenario|Skica|Structura scenariu|Structur\u0103 scenariu|Struktura scenarija|Stsenaarium|Swa hwaer swa|Swa|Swa hw\xe6r swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|T\xecnh hu\u1ed1ng|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo-ho-ho|You'll wanna|Za\u0142o\u017cenia|\u03a0\u03b1\u03c1\u03b1\u03b4\u03b5\u03af\u03b3\u03bc\u03b1\u03c4\u03b1|\u03a0\u03b5\u03c1\u03b9\u03b3\u03c1\u03b1\u03c6\u03ae \u03a3\u03b5\u03bd\u03b1\u03c1\u03af\u03bf\u03c5|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03b1|\u03a3\u03b5\u03bd\u03ac\u03c1\u03b9\u03bf|\u03a5\u03c0\u03cc\u03b2\u03b1\u03b8\u03c1\u03bf|\u041a\u0435\u0440\u0435\u0448|\u041a\u043e\u043d\u0442\u0435\u043a\u0441\u0442|\u041a\u043e\u043d\u0446\u0435\u043f\u0442|\u041c\u0438\u0441\u0430\u043b\u043b\u0430\u0440|\u041c\u0438\u0441\u043e\u043b\u043b\u0430\u0440|\u041e\u0441\u043d\u043e\u0432\u0430|\u041f\u0435\u0440\u0435\u0434\u0443\u043c\u043e\u0432\u0430|\u041f\u043e\u0437\u0430\u0434\u0438\u043d\u0430|\u041f\u0440\u0435\u0434\u0438\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0435\u0434\u044b\u0441\u0442\u043e\u0440\u0438\u044f|\u041f\u0440\u0438\u043a\u043b\u0430\u0434\u0438|\u041f\u0440\u0438\u043c\u0435\u0440|\u041f\u0440\u0438\u043c\u0435\u0440\u0438|\u041f\u0440\u0438\u043c\u0435\u0440\u044b|\u0420\u0430\u043c\u043a\u0430 \u043d\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u043a\u0438\u0446\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0430|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f|\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0456\u044e|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0441\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439\u043d\u044b\u04a3 \u0442\u04e9\u0437\u0435\u043b\u0435\u0448\u0435|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0458\u0438|\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u043e|\u0421\u0446\u0435\u043d\u0430\u0440\u0456\u0439|\u0422\u0430\u0440\u0438\u0445|\u04ae\u0440\u043d\u04d9\u043a\u043b\u04d9\u0440|\u05d3\u05d5\u05d2\u05de\u05d0\u05d5\u05ea|\u05e8\u05e7\u05e2|\u05ea\u05d1\u05e0\u05d9\u05ea \u05ea\u05e8\u05d7\u05d9\u05e9|\u05ea\u05e8\u05d7\u05d9\u05e9|\u0627\u0644\u062e\u0644\u0641\u064a\u0629|\u0627\u0644\u06af\u0648\u06cc \u0633\u0646\u0627\u0631\u06cc\u0648|\u0627\u0645\u062b\u0644\u0629|\u067e\u0633 \u0645\u0646\u0638\u0631|\u0632\u0645\u06cc\u0646\u0647|\u0633\u0646\u0627\u0631\u06cc\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648|\u0633\u064a\u0646\u0627\u0631\u064a\u0648 \u0645\u062e\u0637\u0637|\u0645\u062b\u0627\u0644\u06cc\u06ba|\u0645\u0646\u0638\u0631 \u0646\u0627\u0645\u06d2 \u06a9\u0627 \u062e\u0627\u06a9\u06c1|\u0645\u0646\u0638\u0631\u0646\u0627\u0645\u06c1|\u0646\u0645\u0648\u0646\u0647 \u0647\u0627|\u0909\u0926\u093e\u0939\u0930\u0923|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f|\u092a\u0930\u093f\u0926\u0943\u0936\u094d\u092f \u0930\u0942\u092a\u0930\u0947\u0916\u093e|\u092a\u0943\u0937\u094d\u0920\u092d\u0942\u092e\u093f|\u0a09\u0a26\u0a3e\u0a39\u0a30\u0a28\u0a3e\u0a02|\u0a2a\u0a1f\u0a15\u0a25\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a22\u0a3e\u0a02\u0a1a\u0a3e|\u0a2a\u0a1f\u0a15\u0a25\u0a3e \u0a30\u0a42\u0a2a \u0a30\u0a47\u0a16\u0a3e|\u0a2a\u0a3f\u0a1b\u0a4b\u0a15\u0a5c|\u0c09\u0c26\u0c3e\u0c39\u0c30\u0c23\u0c32\u0c41|\u0c15\u0c25\u0c28\u0c02|\u0c28\u0c47\u0c2a\u0c25\u0c4d\u0c2f\u0c02|\u0c38\u0c28\u0c4d\u0c28\u0c3f\u0c35\u0c47\u0c36\u0c02|\u0c89\u0ca6\u0cbe\u0cb9\u0cb0\u0ca3\u0cc6\u0c97\u0cb3\u0cc1|\u0c95\u0ca5\u0cbe\u0cb8\u0cbe\u0cb0\u0cbe\u0c82\u0cb6|\u0cb5\u0cbf\u0cb5\u0cb0\u0ca3\u0cc6|\u0cb9\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6\u0cb2\u0cc6|\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07|\u0e0a\u0e38\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e41\u0e19\u0e27\u0e04\u0e34\u0e14|\u0e2a\u0e23\u0e38\u0e1b\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c|\ubc30\uacbd|\uc2dc\ub098\ub9ac\uc624|\uc2dc\ub098\ub9ac\uc624 \uac1c\uc694|\uc608|\u30b5\u30f3\u30d7\u30eb|\u30b7\u30ca\u30ea\u30aa|\u30b7\u30ca\u30ea\u30aa\u30a2\u30a6\u30c8\u30e9\u30a4\u30f3|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec|\u30b7\u30ca\u30ea\u30aa\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8|\u30c6\u30f3\u30d7\u30ec|\u4f8b|\u4f8b\u5b50|\u5267\u672c|\u5267\u672c\u5927\u7eb2|\u5287\u672c|\u5287\u672c\u5927\u7db1|\u573a\u666f|\u573a\u666f\u5927\u7eb2|\u5834\u666f|\u5834\u666f\u5927\u7db1|\u80cc\u666f):[^:\r\n]*/m,lookbehind:!0,inside:{important:{pattern:/(:)[^\r\n]*/,lookbehind:!0},keyword:/[^:\r\n]+:/}},"table-body":{pattern:RegExp("("+t+")(?:"+t+")+"),lookbehind:!0,inside:{outline:{pattern:/<[^>]+>/,alias:"variable"},td:{pattern:/\s*[^\s|][^|]*/,alias:"string"},punctuation:/\|/}},"table-head":{pattern:RegExp(t),inside:{th:{pattern:/\s*[^\s|][^|]*/,alias:"variable"},punctuation:/\|/}},atrule:{pattern:/(^[ \t]+)(?:'a|'ach|'ej|7|a|A tak\xe9|A taktie\u017e|A tie\u017e|A z\xe1rove\u0148|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|At\xe8s|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Bi\u1ebft|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|C\xe2nd|Cand|Cando|Ce|Cuando|\u010ce|\xd0a \xf0e|\xd0a|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Da\u0163i fiind|Da\u021bi fiind|DEN|Dato|De|Den youse gotta|Dengan|Diberi|Diyelim ki|Donada|Donat|Donita\u0135o|Do|Dun|Duota|\xd0urh|Eeldades|Ef|E\u011fer ki|Entao|Ent\xe3o|Ent\xf3n|E|En|Entonces|Epi|\xc9s|Etant donn\xe9e|Etant donn\xe9|Et|\xc9tant donn\xe9es|\xc9tant donn\xe9e|\xc9tant donn\xe9|Etant donn\xe9es|Etant donn\xe9s|\xc9tant donn\xe9s|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Je\u015bli|Je\u017celi|Kad|Kada|Kadar|Kai|Kaj|Kdy\u017e|Ke\u010f|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|L\xe8 sa a|L\xe8|Logo|Lorsqu'<|Lorsque|m\xe4|Maar|Mais|Maj\u0105c|Ma|Majd|Maka|Manawa|Mas|Men|Menawa|Mutta|Nalika|Nalikaning|Nanging|N\xe5r|N\xe4r|Nato|Nh\u01b0ng|Niin|Njuk|O zaman|Och|Og|Oletetaan|Ond|Onda|Oraz|Pak|Pero|Per\xf2|Podano|Pokia\u013e|Pokud|Potem|Potom|Privzeto|Pryd|Quan|Quand|Quando|qaSDI'|S\xe5|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|\u015ei|\u0218i|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Th\xec|Thurh|Toda|Too right|Un|Und|ugeholl|V\xe0|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za p\u0159edpokladu|Zadan|Zadani|Zadano|Zadate|Zadato|Zak\u0142adaj\u0105c|Zaradi|Zatati|\xdea \xfee|\xdea|\xde\xe1|\xdeegar|\xdeurh|\u0391\u03bb\u03bb\u03ac|\u0394\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03bf\u03c5|\u039a\u03b1\u03b9|\u038c\u03c4\u03b1\u03bd|\u03a4\u03cc\u03c4\u03b5|\u0410 \u0442\u0430\u043a\u043e\u0436|\u0410\u0433\u0430\u0440|\u0410\u043b\u0435|\u0410\u043b\u0438|\u0410\u043c\u043c\u043e|\u0410|\u04d8\u0433\u04d9\u0440|\u04d8\u0439\u0442\u0438\u043a|\u04d8\u043c\u043c\u0430|\u0411\u0438\u0440\u043e\u043a|\u0412\u0430|\u0412\u04d9|\u0414\u0430\u0434\u0435\u043d\u043e|\u0414\u0430\u043d\u043e|\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c|\u0415\u0441\u043b\u0438|\u0417\u0430\u0434\u0430\u0442\u0435|\u0417\u0430\u0434\u0430\u0442\u0438|\u0417\u0430\u0434\u0430\u0442\u043e|\u0418|\u0406|\u041a \u0442\u043e\u043c\u0443 \u0436\u0435|\u041a\u0430\u0434\u0430|\u041a\u0430\u0434|\u041a\u043e\u0433\u0430\u0442\u043e|\u041a\u043e\u0433\u0434\u0430|\u041a\u043e\u043b\u0438|\u041b\u04d9\u043a\u0438\u043d|\u041b\u0435\u043a\u0438\u043d|\u041d\u04d9\u0442\u0438\u0497\u04d9\u0434\u04d9|\u041d\u0435\u0445\u0430\u0439|\u041d\u043e|\u041e\u043d\u0434\u0430|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e, \u0449\u043e|\u041f\u0440\u0438\u043f\u0443\u0441\u0442\u0438\u043c\u043e|\u041f\u0443\u0441\u0442\u044c|\u0422\u0430\u043a\u0436\u0435|\u0422\u0430|\u0422\u043e\u0433\u0434\u0430|\u0422\u043e\u0434\u0456|\u0422\u043e|\u0423\u043d\u0434\u0430|\u04ba\u04d9\u043c|\u042f\u043a\u0449\u043e|\u05d0\u05d1\u05dc|\u05d0\u05d6\u05d9|\u05d0\u05d6|\u05d1\u05d4\u05d9\u05e0\u05ea\u05df|\u05d5\u05d2\u05dd|\u05db\u05d0\u05e9\u05e8|\u0622\u0646\u06af\u0627\u0647|\u0627\u0630\u0627\u064b|\u0627\u06af\u0631|\u0627\u0645\u0627|\u0627\u0648\u0631|\u0628\u0627 \u0641\u0631\u0636|\u0628\u0627\u0644\u0641\u0631\u0636|\u0628\u0641\u0631\u0636|\u067e\u06be\u0631|\u062a\u0628|\u062b\u0645|\u062c\u0628|\u0639\u0646\u062f\u0645\u0627|\u0641\u0631\u0636 \u06a9\u06cc\u0627|\u0644\u0643\u0646|\u0644\u06cc\u06a9\u0646|\u0645\u062a\u0649|\u0647\u0646\u06af\u0627\u0645\u06cc|\u0648|\u0905\u0917\u0930|\u0914\u0930|\u0915\u0926\u093e|\u0915\u093f\u0928\u094d\u0924\u0941|\u091a\u0942\u0902\u0915\u093f|\u091c\u092c|\u0924\u0925\u093e|\u0924\u0926\u093e|\u0924\u092c|\u092a\u0930\u0928\u094d\u0924\u0941|\u092a\u0930|\u092f\u0926\u093f|\u0a05\u0a24\u0a47|\u0a1c\u0a26\u0a4b\u0a02|\u0a1c\u0a3f\u0a35\u0a47\u0a02 \u0a15\u0a3f|\u0a1c\u0a47\u0a15\u0a30|\u0a24\u0a26|\u0a2a\u0a30|\u0c05\u0c2a\u0c4d\u0c2a\u0c41\u0c21\u0c41|\u0c08 \u0c2a\u0c30\u0c3f\u0c38\u0c4d\u0c25\u0c3f\u0c24\u0c3f\u0c32\u0c4b|\u0c15\u0c3e\u0c28\u0c3f|\u0c1a\u0c46\u0c2a\u0c4d\u0c2a\u0c2c\u0c21\u0c3f\u0c28\u0c26\u0c3f|\u0c2e\u0c30\u0c3f\u0c2f\u0c41|\u0c86\u0ca6\u0cb0\u0cc6|\u0ca8\u0c82\u0ca4\u0cb0|\u0ca8\u0cbf\u0cd5\u0ca1\u0cbf\u0ca6|\u0cae\u0ca4\u0ccd\u0ca4\u0cc1|\u0cb8\u0ccd\u0ca5\u0cbf\u0ca4\u0cbf\u0caf\u0ca8\u0ccd\u0ca8\u0cc1|\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e43\u0e2b\u0e49|\u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19|\u0e41\u0e15\u0e48|\u0e40\u0e21\u0e37\u0e48\u0e2d|\u0e41\u0e25\u0e30|\uadf8\ub7ec\uba74<|\uadf8\ub9ac\uace0<|\ub2e8<|\ub9cc\uc57d<|\ub9cc\uc77c<|\uba3c\uc800<|\uc870\uac74<|\ud558\uc9c0\ub9cc<|\u304b\u3064<|\u3057\u304b\u3057<|\u305f\u3060\u3057<|\u306a\u3089\u3070<|\u3082\u3057<|\u4e26\u4e14<|\u4f46\u3057<|\u4f46\u662f<|\u5047\u5982<|\u5047\u5b9a<|\u5047\u8a2d<|\u5047\u8bbe<|\u524d\u63d0<|\u540c\u65f6<|\u540c\u6642<|\u5e76\u4e14<|\u5f53<|\u7576<|\u800c\u4e14<|\u90a3\u4e48<|\u90a3\u9ebc<)(?=[ \t])/m,lookbehind:!0},string:{pattern:/"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*'/,inside:{outline:{pattern:/<[^>]+>/,alias:"variable"}}},outline:{pattern:/<[^>]+>/,alias:"variable"}}}(e)}e.exports=t,t.displayName="gherkin",t.aliases=[]},5120:function(e){"use strict";function t(e){e.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m}}e.exports=t,t.displayName="git",t.aliases=[]},214:function(e,t,n){"use strict";var r=n(272);function a(e){e.register(r),e.languages.glsl=e.languages.extend("c",{keyword:/\b(?:active|asm|atomic_uint|attribute|[ibdu]?vec[234]|bool|break|buffer|case|cast|centroid|class|coherent|common|const|continue|d?mat[234](?:x[234])?|default|discard|do|double|else|enum|extern|external|false|filter|fixed|flat|float|for|fvec[234]|goto|half|highp|hvec[234]|[iu]?sampler2DMS(?:Array)?|[iu]?sampler2DRect|[iu]?samplerBuffer|[iu]?samplerCube|[iu]?samplerCubeArray|[iu]?sampler[123]D|[iu]?sampler[12]DArray|[iu]?image2DMS(?:Array)?|[iu]?image2DRect|[iu]?imageBuffer|[iu]?imageCube|[iu]?imageCubeArray|[iu]?image[123]D|[iu]?image[12]DArray|if|in|inline|inout|input|int|interface|invariant|layout|long|lowp|mediump|namespace|noinline|noperspective|out|output|partition|patch|precise|precision|public|readonly|resource|restrict|return|sample|sampler[12]DArrayShadow|sampler[12]DShadow|sampler2DRectShadow|sampler3DRect|samplerCubeArrayShadow|samplerCubeShadow|shared|short|sizeof|smooth|static|struct|subroutine|superp|switch|template|this|true|typedef|uint|uniform|union|unsigned|using|varying|void|volatile|while|writeonly)\b/})}e.exports=a,a.displayName="glsl",a.aliases=[]},1903:function(e){"use strict";function t(e){e.languages.gamemakerlanguage=e.languages.gml=e.languages.extend("clike",{keyword:/\b(?:break|case|continue|default|do|else|enum|exit|for|globalvar|if|repeat|return|switch|until|var|while)\b/,number:/(?:\b0x[\da-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ulf]{0,4}/i,operator:/--|\+\+|[-+%/=]=?|!=|\*\*?=?|<[<=>]?|>[=>]?|&&?|\^\^?|\|\|?|~|\b(?:and|at|not|or|with|xor)\b/,constant:/\b(?:GM_build_date|GM_version|action_(?:continue|restart|reverse|stop)|all|gamespeed_(?:fps|microseconds)|global|local|noone|other|pi|pointer_(?:invalid|null)|self|timezone_(?:local|utc)|undefined|ev_(?:create|destroy|step|alarm|keyboard|mouse|collision|other|draw|draw_(?:begin|end|post|pre)|keypress|keyrelease|trigger|(?:left|middle|no|right)_button|(?:left|middle|right)_press|(?:left|middle|right)_release|mouse_(?:enter|leave|wheel_down|wheel_up)|global_(?:left|middle|right)_button|global_(?:left|middle|right)_press|global_(?:left|middle|right)_release|joystick(?:1|2)_(?:button1|button2|button3|button4|button5|button6|button7|button8|down|left|right|up)|outside|boundary|game_start|game_end|room_start|room_end|no_more_lives|animation_end|end_of_path|no_more_health|user\d|gui|gui_begin|gui_end|step_(?:begin|end|normal))|vk_(?:alt|anykey|backspace|control|delete|down|end|enter|escape|home|insert|left|nokey|pagedown|pageup|pause|printscreen|return|right|shift|space|tab|up|f\d|numpad\d|add|decimal|divide|lalt|lcontrol|lshift|multiply|ralt|rcontrol|rshift|subtract)|achievement_(?:filter_(?:all_players|favorites_only|friends_only)|friends_info|info|leaderboard_info|our_info|pic_loaded|show_(?:achievement|bank|friend_picker|leaderboard|profile|purchase_prompt|ui)|type_challenge|type_score_challenge)|asset_(?:font|object|path|room|script|shader|sound|sprite|tiles|timeline|unknown)|audio_(?:3d|falloff_(?:exponent_distance|exponent_distance_clamped|inverse_distance|inverse_distance_clamped|linear_distance|linear_distance_clamped|none)|mono|new_system|old_system|stereo)|bm_(?:add|complex|dest_alpha|dest_color|dest_colour|inv_dest_alpha|inv_dest_color|inv_dest_colour|inv_src_alpha|inv_src_color|inv_src_colour|max|normal|one|src_alpha|src_alpha_sat|src_color|src_colour|subtract|zero)|browser_(?:chrome|firefox|ie|ie_mobile|not_a_browser|opera|safari|safari_mobile|tizen|unknown|windows_store)|buffer_(?:bool|f16|f32|f64|fast|fixed|generalerror|grow|invalidtype|network|outofbounds|outofspace|s16|s32|s8|seek_end|seek_relative|seek_start|string|text|u16|u32|u64|u8|vbuffer|wrap)|c_(?:aqua|black|blue|dkgray|fuchsia|gray|green|lime|ltgray|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)|cmpfunc_(?:always|equal|greater|greaterequal|less|lessequal|never|notequal)|cr_(?:appstart|arrow|beam|cross|default|drag|handpoint|hourglass|none|size_all|size_nesw|size_ns|size_nwse|size_we|uparrow)|cull_(?:clockwise|counterclockwise|noculling)|device_(?:emulator|tablet)|device_ios_(?:ipad|ipad_retina|iphone|iphone5|iphone6|iphone6plus|iphone_retina|unknown)|display_(?:landscape|landscape_flipped|portrait|portrait_flipped)|dll_(?:cdecl|cdel|stdcall)|ds_type_(?:grid|list|map|priority|queue|stack)|ef_(?:cloud|ellipse|explosion|firework|flare|rain|ring|smoke|smokeup|snow|spark|star)|fa_(?:archive|bottom|center|directory|hidden|left|middle|readonly|right|sysfile|top|volumeid)|fb_login_(?:default|fallback_to_webview|forcing_safari|forcing_webview|no_fallback_to_webview|use_system_account)|iap_(?:available|canceled|ev_consume|ev_product|ev_purchase|ev_restore|ev_storeload|failed|purchased|refunded|status_available|status_loading|status_processing|status_restoring|status_unavailable|status_uninitialised|storeload_failed|storeload_ok|unavailable)|leaderboard_type_(?:number|time_mins_secs)|lighttype_(?:dir|point)|matrix_(?:projection|view|world)|mb_(?:any|left|middle|none|right)|network_(?:config_(?:connect_timeout|disable_reliable_udp|enable_reliable_udp|use_non_blocking_socket)|socket_(?:bluetooth|tcp|udp)|type_(?:connect|data|disconnect|non_blocking_connect))|of_challenge_(?:lose|tie|win)|os_(?:android|ios|linux|macosx|ps3|ps4|psvita|unknown|uwp|win32|win8native|windows|winphone|xboxone)|phy_debug_render_(?:aabb|collision_pairs|coms|core_shapes|joints|obb|shapes)|phy_joint_(?:anchor_1_x|anchor_1_y|anchor_2_x|anchor_2_y|angle|angle_limits|damping_ratio|frequency|length_1|length_2|lower_angle_limit|max_force|max_length|max_motor_force|max_motor_torque|max_torque|motor_force|motor_speed|motor_torque|reaction_force_x|reaction_force_y|reaction_torque|speed|translation|upper_angle_limit)|phy_particle_data_flag_(?:category|color|colour|position|typeflags|velocity)|phy_particle_flag_(?:colormixing|colourmixing|elastic|powder|spring|tensile|viscous|wall|water|zombie)|phy_particle_group_flag_(?:rigid|solid)|pr_(?:linelist|linestrip|pointlist|trianglefan|trianglelist|trianglestrip)|ps_(?:distr|shape)_(?:diamond|ellipse|gaussian|invgaussian|line|linear|rectangle)|pt_shape_(?:circle|cloud|disk|explosion|flare|line|pixel|ring|smoke|snow|spark|sphere|square|star)|ty_(?:real|string)|gp_(?:face\d|axislh|axislv|axisrh|axisrv|padd|padl|padr|padu|select|shoulderl|shoulderlb|shoulderr|shoulderrb|start|stickl|stickr)|lb_disp_(?:none|numeric|time_ms|time_sec)|lb_sort_(?:ascending|descending|none)|ov_(?:achievements|community|friends|gamegroup|players|settings)|ugc_(?:filetype_(?:community|microtrans)|list_(?:Favorited|Followed|Published|Subscribed|UsedOrPlayed|VotedDown|VotedOn|VotedUp|WillVoteLater)|match_(?:AllGuides|Artwork|Collections|ControllerBindings|IntegratedGuides|Items|Items_Mtx|Items_ReadyToUse|Screenshots|UsableInGame|Videos|WebGuides)|query_(?:AcceptedForGameRankedByAcceptanceDate|CreatedByFriendsRankedByPublicationDate|FavoritedByFriendsRankedByPublicationDate|NotYetRated)|query_RankedBy(?:NumTimesReported|PublicationDate|TextSearch|TotalVotesAsc|Trend|Vote|VotesUp)|result_success|sortorder_CreationOrder(?:Asc|Desc)|sortorder_(?:ForModeration|LastUpdatedDesc|SubscriptionDateDesc|TitleAsc|VoteScoreDesc)|visibility_(?:friends_only|private|public))|vertex_usage_(?:binormal|blendindices|blendweight|color|colour|depth|fog|normal|position|psize|sample|tangent|texcoord|textcoord)|vertex_type_(?:float\d|color|colour|ubyte4)|input_type|layerelementtype_(?:background|instance|oldtilemap|particlesystem|sprite|tile|tilemap|undefined)|se_(?:chorus|compressor|echo|equalizer|flanger|gargle|none|reverb)|text_type|tile_(?:flip|index_mask|mirror|rotate)|(?:obj|rm|scr|spr)\w+)\b/,variable:/\b(?:alarm|application_surface|async_load|background_(?:alpha|blend|color|colour|foreground|height|hspeed|htiled|index|showcolor|showcolour|visible|vspeed|vtiled|width|x|xscale|y|yscale)|bbox_(?:bottom|left|right|top)|browser_(?:height|width)|caption_(?:health|lives|score)|current_(?:day|hour|minute|month|second|time|weekday|year)|cursor_sprite|debug_mode|delta_time|direction|display_aa|error_(?:last|occurred)|event_(?:action|number|object|type)|fps|fps_real|friction|game_(?:display|project|save)_(?:id|name)|gamemaker_(?:pro|registered|version)|gravity|gravity_direction|(?:h|v)speed|health|iap_data|id|image_(?:alpha|angle|blend|depth|index|number|speed|xscale|yscale)|instance_(?:count|id)|keyboard_(?:key|lastchar|lastkey|string)|layer|lives|mask_index|mouse_(?:button|lastbutton|x|y)|object_index|os_(?:browser|device|type|version)|path_(?:endaction|index|orientation|position|positionprevious|scale|speed)|persistent|phy_(?:rotation|(?:col_normal|collision|com|linear_velocity|position|speed)_(?:x|y)|angular_(?:damping|velocity)|position_(?:x|y)previous|speed|linear_damping|bullet|fixed_rotation|active|mass|inertia|dynamic|kinematic|sleeping|collision_points)|pointer_(?:invalid|null)|room|room_(?:caption|first|height|last|persistent|speed|width)|score|secure_mode|show_(?:health|lives|score)|solid|speed|sprite_(?:height|index|width|xoffset|yoffset)|temp_directory|timeline_(?:index|loop|position|running|speed)|transition_(?:color|kind|steps)|undefined|view_(?:angle|current|enabled|(?:h|v)(?:border|speed)|(?:h|w|x|y)port|(?:h|w|x|y)view|object|surface_id|visible)|visible|webgl_enabled|working_directory|(?:x|y)(?:previous|start)|x|y|argument(?:_relitive|_count|\d)|argument|global|local|other|self)\b/})}e.exports=t,t.displayName="gml",t.aliases=[]},288:function(e){"use strict";function t(e){e.languages.gn={comment:{pattern:/#.*/,greedy:!0},"string-literal":{pattern:/(^|[^\\"])"(?:[^\r\n"\\]|\\.)*"/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\{[\s\S]*?\}|[a-zA-Z_]\w*|0x[a-fA-F0-9]{2})/,lookbehind:!0,inside:{number:/^\$0x[\s\S]{2}$/,variable:/^\$\w+$/,"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:null}}},string:/[\s\S]+/}},keyword:/\b(?:else|if)\b/,boolean:/\b(?:false|true)\b/,"builtin-function":{pattern:/\b(?:assert|defined|foreach|import|pool|print|template|tool|toolchain)(?=\s*\()/i,alias:"keyword"},function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:current_cpu|current_os|current_toolchain|default_toolchain|host_cpu|host_os|root_build_dir|root_gen_dir|root_out_dir|target_cpu|target_gen_dir|target_os|target_out_dir)\b/,number:/-?\b\d+\b/,operator:/[-+!=<>]=?|&&|\|\|/,punctuation:/[(){}[\],.]/},e.languages.gn["string-literal"].inside.interpolation.inside.expression.inside=e.languages.gn,e.languages.gni=e.languages.gn}e.exports=t,t.displayName="gn",t.aliases=["gni"]},78:function(e){"use strict";function t(e){e.languages["go-mod"]=e.languages["go-module"]={comment:{pattern:/\/\/.*/,greedy:!0},version:{pattern:/(^|[\s()[\],])v\d+\.\d+\.\d+(?:[+-][-+.\w]*)?(?![^\s()[\],])/,lookbehind:!0,alias:"number"},"go-version":{pattern:/((?:^|\s)go\s+)\d+(?:\.\d+){1,2}/,lookbehind:!0,alias:"number"},keyword:{pattern:/^([ \t]*)(?:exclude|go|module|replace|require|retract)\b/m,lookbehind:!0},operator:/=>/,punctuation:/[()[\],]/}}e.exports=t,t.displayName="goModule",t.aliases=[]},8558:function(e){"use strict";function t(e){e.languages.go=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),e.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete e.languages.go["class-name"]}e.exports=t,t.displayName="go",t.aliases=[]},8430:function(e){"use strict";function t(e){e.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:e.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},e.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!==typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n<t.length;){var r=t[n++];if("keyword"===r.type&&"mutation"===r.content){var a=[];if(d(["definition-mutation","punctuation"])&&"("===u(1).content){n+=2;var i=p(/^\($/,/^\)$/);if(-1===i)continue;for(;n<i;n++){var o=u(0);"variable"===o.type&&(m(o,"variable-input"),a.push(o.content))}n=i+1}if(d(["punctuation","property-query"])&&"{"===u(0).content&&(n++,m(u(0),"property-mutation"),a.length>0)){var s=p(/^\{$/,/^\}$/);if(-1===s)continue;for(var l=n;l<s;l++){var c=t[l];"variable"===c.type&&a.indexOf(c.content)>=0&&m(c,"variable-input")}}}}function u(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n<e.length;n++){var r=u(n+t);if(!r||r.type!==e[n])return!1}return!0}function p(e,r){for(var a=1,i=n;i<t.length;i++){var o=t[i],s=o.content;if("punctuation"===o.type&&"string"===typeof s)if(e.test(s))a++;else if(r.test(s)&&0===--a)return i}return-1}function m(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}}))}e.exports=t,t.displayName="graphql",t.aliases=[]},7986:function(e){"use strict";function t(e){e.languages.groovy=e.languages.extend("clike",{string:[{pattern:/("""|''')(?:[^\\]|\\[\s\S])*?\1|\$\/(?:[^/$]|\$(?:[/$]|(?![/$]))|\/(?!\$))*\/\$/,greedy:!0},{pattern:/(["'/])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0}],keyword:/\b(?:abstract|as|assert|boolean|break|byte|case|catch|char|class|const|continue|def|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|in|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\b/,number:/\b(?:0b[01_]+|0x[\da-f_]+(?:\.[\da-f_p\-]+)?|[\d_]+(?:\.[\d_]+)?(?:e[+-]?\d+)?)[glidf]?\b/i,operator:{pattern:/(^|[^.])(?:~|==?~?|\?[.:]?|\*(?:[.=]|\*=?)?|\.[@&]|\.\.<|\.\.(?!\.)|-[-=>]?|\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\|[|=]?|\/=?|\^=?|%=?)/,lookbehind:!0},punctuation:/\.+|[{}[\];(),:$]/}),e.languages.insertBefore("groovy","string",{shebang:{pattern:/#!.+/,alias:"comment"}}),e.languages.insertBefore("groovy","punctuation",{"spock-block":/\b(?:and|cleanup|expect|given|setup|then|when|where):/}),e.languages.insertBefore("groovy","function",{annotation:{pattern:/(^|[^.])@\w+/,lookbehind:!0,alias:"punctuation"}}),e.hooks.add("wrap",(function(t){if("groovy"===t.language&&"string"===t.type){var n=t.content.value[0];if("'"!=n){var r=/([^\\])(?:\$(?:\{.*?\}|[\w.]+))/;"$"===n&&(r=/([^\$])(?:\$(?:\{.*?\}|[\w.]+))/),t.content.value=t.content.value.replace(/</g,"<").replace(/&/g,"&"),t.content=e.highlight(t.content.value,{expression:{pattern:r,lookbehind:!0,inside:e.languages.groovy}}),t.classes.push("/"===n?"regex":"gstring")}}}))}e.exports=t,t.displayName="groovy",t.aliases=[]},7865:function(e,t,n){"use strict";var r=n(6326);function a(e){e.register(r),function(e){e.languages.haml={"multiline-comment":{pattern:/((?:^|\r?\n|\r)([\t ]*))(?:\/|-#).*(?:(?:\r?\n|\r)\2[\t ].+)*/,lookbehind:!0,alias:"comment"},"multiline-code":[{pattern:/((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*,[\t ]*(?:(?:\r?\n|\r)\2[\t ].*,[\t ]*)*(?:(?:\r?\n|\r)\2[\t ].+)/,lookbehind:!0,inside:e.languages.ruby},{pattern:/((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*(?:(?:\r?\n|\r)\2[\t ].*\|[\t ]*)*/,lookbehind:!0,inside:e.languages.ruby}],filter:{pattern:/((?:^|\r?\n|\r)([\t ]*)):[\w-]+(?:(?:\r?\n|\r)(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/,lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"symbol"}}},markup:{pattern:/((?:^|\r?\n|\r)[\t ]*)<.+/,lookbehind:!0,inside:e.languages.markup},doctype:{pattern:/((?:^|\r?\n|\r)[\t ]*)!!!(?: .+)?/,lookbehind:!0},tag:{pattern:/((?:^|\r?\n|\r)[\t ]*)[%.#][\w\-#.]*[\w\-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^{}])+\}|\[[^\]]+\])*[\/<>]*/,lookbehind:!0,inside:{attributes:[{pattern:/(^|[^#])\{(?:\{[^}]+\}|[^{}])+\}/,lookbehind:!0,inside:e.languages.ruby},{pattern:/\([^)]+\)/,inside:{"attr-value":{pattern:/(=\s*)(?:"(?:\\.|[^\\"\r\n])*"|[^)\s]+)/,lookbehind:!0},"attr-name":/[\w:-]+(?=\s*!?=|\s*[,)])/,punctuation:/[=(),]/}},{pattern:/\[[^\]]+\]/,inside:e.languages.ruby}],punctuation:/[<>]/}},code:{pattern:/((?:^|\r?\n|\r)[\t ]*(?:[~-]|[&!]?=)).+/,lookbehind:!0,inside:e.languages.ruby},interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"},ruby:{pattern:/[\s\S]+/,inside:e.languages.ruby}}},punctuation:{pattern:/((?:^|\r?\n|\r)[\t ]*)[~=\-&!]+/,lookbehind:!0}};for(var t=["css",{filter:"coffee",language:"coffeescript"},"erb","javascript","less","markdown","ruby","scss","textile"],n={},r=0,a=t.length;r<a;r++){var i=t[r];i="string"===typeof i?{filter:i,language:i}:i,e.languages[i.language]&&(n["filter-"+i.filter]={pattern:RegExp("((?:^|\\r?\\n|\\r)([\\t ]*)):{{filter_name}}(?:(?:\\r?\\n|\\r)(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+".replace("{{filter_name}}",(function(){return i.filter}))),lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"symbol"},text:{pattern:/[\s\S]+/,alias:[i.language,"language-"+i.language],inside:e.languages[i.language]}}})}e.languages.insertBefore("haml","filter",n)}(e)}e.exports=a,a.displayName="haml",a.aliases=[]},4490:function(e,t,n){"use strict";var r=n(595);function a(e){e.register(r),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")})),e.languages.hbs=e.languages.handlebars}(e)}e.exports=a,a.displayName="handlebars",a.aliases=["hbs"]},9233:function(e){"use strict";function t(e){e.languages.haskell={comment:{pattern:/(^|[^-!#$%*+=?&@|~.:<>^\\\/])(?:--(?:(?=.)[^-!#$%*+=?&@|~.:<>^\\\/].*|$)|\{-[\s\S]*?-\})/m,lookbehind:!0},char:{pattern:/'(?:[^\\']|\\(?:[abfnrtv\\"'&]|\^[A-Z@[\]^_]|ACK|BEL|BS|CAN|CR|DC1|DC2|DC3|DC4|DEL|DLE|EM|ENQ|EOT|ESC|ETB|ETX|FF|FS|GS|HT|LF|NAK|NUL|RS|SI|SO|SOH|SP|STX|SUB|SYN|US|VT|\d+|o[0-7]+|x[0-9a-fA-F]+))'/,alias:"string"},string:{pattern:/"(?:[^\\"]|\\(?:\S|\s+\\))*"/,greedy:!0},keyword:/\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b/,"import-statement":{pattern:/(^[\t ]*)import\s+(?:qualified\s+)?(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*(?:\s+as\s+(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m,lookbehind:!0,inside:{keyword:/\b(?:as|hiding|import|qualified)\b/,punctuation:/\./}},builtin:/\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\b/,number:/\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0o[0-7]+|0x[0-9a-f]+)\b/i,operator:[{pattern:/`(?:[A-Z][\w']*\.)*[_a-z][\w']*`/,greedy:!0},{pattern:/(\s)\.(?=\s)/,lookbehind:!0},/[-!#$%*+=?&@|~:<>^\\\/][-!#$%*+=?&@|~.:<>^\\\/]*|\.[-!#$%*+=?&@|~.:<>^\\\/]+/],hvariable:{pattern:/\b(?:[A-Z][\w']*\.)*[_a-z][\w']*/,inside:{punctuation:/\./}},constant:{pattern:/\b(?:[A-Z][\w']*\.)*[A-Z][\w']*/,inside:{punctuation:/\./}},punctuation:/[{}[\];(),.:]/},e.languages.hs=e.languages.haskell}e.exports=t,t.displayName="haskell",t.aliases=["hs"]},6647:function(e){"use strict";function t(e){e.languages.haxe=e.languages.extend("clike",{string:{pattern:/"(?:[^"\\]|\\[\s\S])*"/,greedy:!0},"class-name":[{pattern:/(\b(?:abstract|class|enum|extends|implements|interface|new|typedef)\s+)[A-Z_]\w*/,lookbehind:!0},/\b[A-Z]\w*/],keyword:/\bthis\b|\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|final|for|from|function|if|implements|import|in|inline|interface|macro|new|null|operator|overload|override|package|private|public|return|static|super|switch|throw|to|try|typedef|untyped|using|var|while)(?!\.)\b/,function:{pattern:/\b[a-z_]\w*(?=\s*(?:<[^<>]*>\s*)?\()/i,greedy:!0},operator:/\.{3}|\+\+|--|&&|\|\||->|=>|(?:<<?|>{1,3}|[-+*/%!=&|^])=?|[?:~]/}),e.languages.insertBefore("haxe","string",{"string-interpolation":{pattern:/'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{interpolation:{pattern:/(^|[^\\])\$(?:\w+|\{[^{}]+\})/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.haxe}}},string:/[\s\S]+/}}}),e.languages.insertBefore("haxe","class-name",{regex:{pattern:/~\/(?:[^\/\\\r\n]|\\.)+\/[a-z]*/,greedy:!0,inside:{"regex-flags":/\b[a-z]+$/,"regex-source":{pattern:/^(~\/)[\s\S]+(?=\/$)/,lookbehind:!0,alias:"language-regex",inside:e.languages.regex},"regex-delimiter":/^~\/|\/$/}}}),e.languages.insertBefore("haxe","keyword",{preprocessor:{pattern:/#(?:else|elseif|end|if)\b.*/,alias:"property"},metadata:{pattern:/@:?[\w.]+/,alias:"symbol"},reification:{pattern:/\$(?:\w+|(?=\{))/,alias:"important"}})}e.exports=t,t.displayName="haxe",t.aliases=[]},8237:function(e){"use strict";function t(e){e.languages.hcl={comment:/(?:\/\/|#).*|\/\*[\s\S]*?(?:\*\/|$)/,heredoc:{pattern:/<<-?(\w+\b)[\s\S]*?^[ \t]*\1/m,greedy:!0,alias:"string"},keyword:[{pattern:/(?:data|resource)\s+(?:"(?:\\[\s\S]|[^\\"])*")(?=\s+"[\w-]+"\s+\{)/i,inside:{type:{pattern:/(resource|data|\s+)(?:"(?:\\[\s\S]|[^\\"])*")/i,lookbehind:!0,alias:"variable"}}},{pattern:/(?:backend|module|output|provider|provisioner|variable)\s+(?:[\w-]+|"(?:\\[\s\S]|[^\\"])*")\s+(?=\{)/i,inside:{type:{pattern:/(backend|module|output|provider|provisioner|variable)\s+(?:[\w-]+|"(?:\\[\s\S]|[^\\"])*")\s+/i,lookbehind:!0,alias:"variable"}}},/[\w-]+(?=\s+\{)/],property:[/[-\w\.]+(?=\s*=(?!=))/,/"(?:\\[\s\S]|[^\\"])+"(?=\s*[:=])/],string:{pattern:/"(?:[^\\$"]|\\[\s\S]|\$(?:(?=")|\$+(?!\$)|[^"${])|\$\{(?:[^{}"]|"(?:[^\\"]|\\[\s\S])*")*\})*"/,greedy:!0,inside:{interpolation:{pattern:/(^|[^$])\$\{(?:[^{}"]|"(?:[^\\"]|\\[\s\S])*")*\}/,lookbehind:!0,inside:{type:{pattern:/(\b(?:count|data|local|module|path|self|terraform|var)\b\.)[\w\*]+/i,lookbehind:!0,alias:"variable"},keyword:/\b(?:count|data|local|module|path|self|terraform|var)\b/i,function:/\w+(?=\()/,string:{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0},number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i,punctuation:/[!\$#%&'()*+,.\/;<=>@\[\\\]^`{|}~?:]/}}}},number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i,boolean:/\b(?:false|true)\b/i,punctuation:/[=\[\]{}]/}}e.exports=t,t.displayName="hcl",t.aliases=[]},9814:function(e,t,n){"use strict";var r=n(272);function a(e){e.register(r),e.languages.hlsl=e.languages.extend("c",{"class-name":[e.languages.c["class-name"],/\b(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|ComputeShader|ConsumeStructuredBuffer|DepthStencilState|DepthStencilView|DomainShader|GeometryShader|Hullshader|InputPatch|LineStream|OutputPatch|PixelShader|PointStream|RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture(?:1D|1DArray|2D|2DArray|3D)|RasterizerState|RenderTargetView|SamplerComparisonState|SamplerState|StructuredBuffer|Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray)|TriangleStream|VertexShader)\b/],keyword:[/\b(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_major|compile|compile_fragment|const|const_cast|continue|default|delete|discard|do|dynamic_cast|else|enum|explicit|export|extern|for|friend|fxgroup|goto|groupshared|if|in|inline|inout|interface|line|lineadj|linear|long|matrix|mutable|namespace|new|nointerpolation|noperspective|operator|out|packoffset|pass|pixelfragment|point|precise|private|protected|public|register|reinterpret_cast|return|row_major|sample|sampler|shared|short|signed|sizeof|snorm|stateblock|stateblock_state|static|static_cast|string|struct|switch|tbuffer|technique|technique10|technique11|template|texture|this|throw|triangle|triangleadj|try|typedef|typename|uniform|union|unorm|unsigned|using|vector|vertexfragment|virtual|void|volatile|while)\b/,/\b(?:bool|double|dword|float|half|int|min(?:10float|12int|16(?:float|int|uint))|uint)(?:[1-4](?:x[1-4])?)?\b/],number:/(?:(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[eE][+-]?\d+)?|\b0x[\da-fA-F]+)[fFhHlLuU]?\b/,boolean:/\b(?:false|true)\b/})}e.exports=a,a.displayName="hlsl",a.aliases=[]},8661:function(e){"use strict";function t(e){e.languages.hoon={comment:{pattern:/::.*/,greedy:!0},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},constant:/%(?:\.[ny]|[\w-]+)/,"class-name":/@(?:[a-z0-9-]*[a-z0-9])?|\*/i,function:/(?:\+[-+] {2})?(?:[a-z](?:[a-z0-9-]*[a-z0-9])?)/,keyword:/\.[\^\+\*=\?]|![><:\.=\?!]|=[>|:,\.\-\^<+;/~\*\?]|\?[>|:\.\-\^<\+&~=@!]|\|[\$_%:\.\-\^~\*=@\?]|\+[|\$\+\*]|:[_\-\^\+~\*]|%[_:\.\-\^\+~\*=]|\^[|:\.\-\+&~\*=\?]|\$[|_%:<>\-\^&~@=\?]|;[:<\+;\/~\*=]|~[>|\$_%<\+\/&=\?!]|--|==/}}e.exports=t,t.displayName="hoon",t.aliases=[]},5727:function(e){"use strict";function t(e){e.languages.hpkp={directive:{pattern:/\b(?:includeSubDomains|max-age|pin-sha256|preload|report-to|report-uri|strict)(?=[\s;=]|$)/i,alias:"property"},operator:/=/,punctuation:/;/}}e.exports=t,t.displayName="hpkp",t.aliases=[]},7761:function(e){"use strict";function t(e){e.languages.hsts={directive:{pattern:/\b(?:includeSubDomains|max-age|preload)(?=[\s;=]|$)/i,alias:"property"},operator:/=/,punctuation:/;/}}e.exports=t,t.displayName="hsts",t.aliases=[]},6722:function(e){"use strict";function t(e){!function(e){function t(e){return RegExp("(^(?:"+e+"):[ \t]*(?![ \t]))[^]+","i")}e.languages.http={"request-line":{pattern:/^(?:CONNECT|DELETE|GET|HEAD|OPTIONS|PATCH|POST|PRI|PUT|SEARCH|TRACE)\s(?:https?:\/\/|\/)\S*\sHTTP\/[\d.]+/m,inside:{method:{pattern:/^[A-Z]+\b/,alias:"property"},"request-target":{pattern:/^(\s)(?:https?:\/\/|\/)\S*(?=\s)/,lookbehind:!0,alias:"url",inside:e.languages.uri},"http-version":{pattern:/^(\s)HTTP\/[\d.]+/,lookbehind:!0,alias:"property"}}},"response-status":{pattern:/^HTTP\/[\d.]+ \d+ .+/m,inside:{"http-version":{pattern:/^HTTP\/[\d.]+/,alias:"property"},"status-code":{pattern:/^(\s)\d+(?=\s)/,lookbehind:!0,alias:"number"},"reason-phrase":{pattern:/^(\s).+/,lookbehind:!0,alias:"string"}}},header:{pattern:/^[\w-]+:.+(?:(?:\r\n?|\n)[ \t].+)*/m,inside:{"header-value":[{pattern:t(/Content-Security-Policy/.source),lookbehind:!0,alias:["csp","languages-csp"],inside:e.languages.csp},{pattern:t(/Public-Key-Pins(?:-Report-Only)?/.source),lookbehind:!0,alias:["hpkp","languages-hpkp"],inside:e.languages.hpkp},{pattern:t(/Strict-Transport-Security/.source),lookbehind:!0,alias:["hsts","languages-hsts"],inside:e.languages.hsts},{pattern:t(/[^:]+/.source),lookbehind:!0}],"header-name":{pattern:/^[^:]+/,alias:"keyword"},punctuation:/^:/}}};var n,r=e.languages,a={"application/javascript":r.javascript,"application/json":r.json||r.javascript,"application/xml":r.xml,"text/xml":r.xml,"text/html":r.html,"text/css":r.css,"text/plain":r.plain},i={"application/json":!0,"application/xml":!0};function o(e){var t=e.replace(/^[a-z]+\//,"");return"(?:"+e+"|"+("\\w+/(?:[\\w.-]+\\+)+"+t+"(?![+\\w.-])")+")"}for(var s in a)if(a[s]){n=n||{};var l=i[s]?o(s):s;n[s.replace(/\//g,"-")]={pattern:RegExp("("+/content-type:\s*/.source+l+/(?:(?:\r\n?|\n)[\w-].*)*(?:\r(?:\n|(?!\n))|\n)/.source+")"+/[^ \t\w-][\s\S]*/.source,"i"),lookbehind:!0,inside:a[s]}}n&&e.languages.insertBefore("http","header",n)}(e)}e.exports=t,t.displayName="http",t.aliases=[]},1469:function(e){"use strict";function t(e){e.languages.ichigojam={comment:/(?:\B'|REM)(?:[^\n\r]*)/i,string:{pattern:/"(?:""|[!#$%&'()*,\/:;<=>?^\w +\-.])*"/,greedy:!0},number:/\B#[0-9A-F]+|\B`[01]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,keyword:/\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GOTO|GSB|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RIGHT|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\$|\b)/i,function:/\b(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\$|\b)/i,label:/(?:\B@\S+)/,operator:/<[=>]?|>=?|\|\||&&|[+\-*\/=|&^~!]|\b(?:AND|NOT|OR)\b/i,punctuation:/[\[,;:()\]]/}}e.exports=t,t.displayName="ichigojam",t.aliases=[]},8340:function(e){"use strict";function t(e){e.languages.icon={comment:/#.*/,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n_]|\\.|_(?!\1)(?:\r\n|[\s\S]))*\1/,greedy:!0},number:/\b(?:\d+r[a-z\d]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b|\.\d+\b/i,"builtin-keyword":{pattern:/&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)\b/,alias:"variable"},directive:{pattern:/\$\w+/,alias:"builtin"},keyword:/\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)\b/,function:/\b(?!\d)\w+(?=\s*[({]|\s*!\s*\[)/,operator:/[+-]:(?!=)|(?:[\/?@^%&]|\+\+?|--?|==?=?|~==?=?|\*\*?|\|\|\|?|<(?:->?|<?=?)|>>?=?)(?::=)?|:(?:=:?)?|[!.\\|~]/,punctuation:/[\[\](){},;]/}}e.exports=t,t.displayName="icon",t.aliases=[]},8925:function(e){"use strict";function t(e){!function(e){function t(e,n){return n<=0?/[]/.source:e.replace(/<SELF>/g,(function(){return t(e,n-1)}))}var n=/'[{}:=,](?:[^']|'')*'(?!')/,r={pattern:/''/,greedy:!0,alias:"operator"},a={pattern:n,greedy:!0,inside:{escape:r}},i=t(/\{(?:[^{}']|'(?![{},'])|''|<STR>|<SELF>)*\}/.source.replace(/<STR>/g,(function(){return n.source})),8),o={pattern:RegExp(i),inside:{message:{pattern:/^(\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:null},"message-delimiter":{pattern:/./,alias:"punctuation"}}};e.languages["icu-message-format"]={argument:{pattern:RegExp(i),greedy:!0,inside:{content:{pattern:/^(\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:{"argument-name":{pattern:/^(\s*)[^{}:=,\s]+/,lookbehind:!0},"choice-style":{pattern:/^(\s*,\s*choice\s*,\s*)\S(?:[\s\S]*\S)?/,lookbehind:!0,inside:{punctuation:/\|/,range:{pattern:/^(\s*)[+-]?(?:\d+(?:\.\d*)?|\u221e)\s*[<#\u2264]/,lookbehind:!0,inside:{operator:/[<#\u2264]/,number:/\S+/}},rest:null}},"plural-style":{pattern:/^(\s*,\s*(?:plural|selectordinal)\s*,\s*)\S(?:[\s\S]*\S)?/,lookbehind:!0,inside:{offset:/^offset:\s*\d+/,"nested-message":o,selector:{pattern:/=\d+|[^{}:=,\s]+/,inside:{keyword:/^(?:few|many|one|other|two|zero)$/}}}},"select-style":{pattern:/^(\s*,\s*select\s*,\s*)\S(?:[\s\S]*\S)?/,lookbehind:!0,inside:{"nested-message":o,selector:{pattern:/[^{}:=,\s]+/,inside:{keyword:/^other$/}}}},keyword:/\b(?:choice|plural|select|selectordinal)\b/,"arg-type":{pattern:/\b(?:date|duration|number|ordinal|spellout|time)\b/,alias:"keyword"},"arg-skeleton":{pattern:/(,\s*)::[^{}:=,\s]+/,lookbehind:!0},"arg-style":{pattern:/(,\s*)(?:currency|full|integer|long|medium|percent|short)(?=\s*$)/,lookbehind:!0},"arg-style-text":{pattern:RegExp(/(^\s*,\s*(?=\S))/.source+t(/(?:[^{}']|'[^']*'|\{(?:<SELF>)?\})+/.source,8)+"$"),lookbehind:!0,alias:"string"},punctuation:/,/}},"argument-delimiter":{pattern:/./,alias:"operator"}}},escape:r,string:a},o.inside.message.inside=e.languages["icu-message-format"],e.languages["icu-message-format"].argument.inside.content.inside["choice-style"].inside.rest=e.languages["icu-message-format"]}(e)}e.exports=t,t.displayName="icuMessageFormat",t.aliases=[]},3298:function(e,t,n){"use strict";var r=n(9233);function a(e){e.register(r),e.languages.idris=e.languages.extend("haskell",{comment:{pattern:/(?:(?:--|\|\|\|).*$|\{-[\s\S]*?-\})/m},keyword:/\b(?:Type|case|class|codata|constructor|corecord|data|do|dsl|else|export|if|implementation|implicit|import|impossible|in|infix|infixl|infixr|instance|interface|let|module|mutual|namespace|of|parameters|partial|postulate|private|proof|public|quoteGoal|record|rewrite|syntax|then|total|using|where|with)\b/,builtin:void 0}),e.languages.insertBefore("idris","keyword",{"import-statement":{pattern:/(^\s*import\s+)(?:[A-Z][\w']*)(?:\.[A-Z][\w']*)*/m,lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.idr=e.languages.idris}e.exports=a,a.displayName="idris",a.aliases=["idr"]},3390:function(e){"use strict";function t(e){e.languages.iecst={comment:[{pattern:/(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\(\*[\s\S]*?(?:\*\)|$)|\{[\s\S]*?(?:\}|$))/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:[/\b(?:END_)?(?:PROGRAM|CONFIGURATION|INTERFACE|FUNCTION_BLOCK|FUNCTION|ACTION|TRANSITION|TYPE|STRUCT|(?:INITIAL_)?STEP|NAMESPACE|LIBRARY|CHANNEL|FOLDER|RESOURCE|VAR_(?:ACCESS|CONFIG|EXTERNAL|GLOBAL|INPUT|IN_OUT|OUTPUT|TEMP)|VAR|METHOD|PROPERTY)\b/i,/\b(?:AT|BY|(?:END_)?(?:CASE|FOR|IF|REPEAT|WHILE)|CONSTANT|CONTINUE|DO|ELSE|ELSIF|EXIT|EXTENDS|FROM|GET|GOTO|IMPLEMENTS|JMP|NON_RETAIN|OF|PRIVATE|PROTECTED|PUBLIC|RETAIN|RETURN|SET|TASK|THEN|TO|UNTIL|USING|WITH|__CATCH|__ENDTRY|__FINALLY|__TRY)\b/],"class-name":/\b(?:ANY|ARRAY|BOOL|BYTE|U?(?:D|L|S)?INT|(?:D|L)?WORD|DATE(?:_AND_TIME)?|DT|L?REAL|POINTER|STRING|TIME(?:_OF_DAY)?|TOD)\b/,address:{pattern:/%[IQM][XBWDL][\d.]*|%[IQ][\d.]*/,alias:"symbol"},number:/\b(?:16#[\da-f]+|2#[01_]+|0x[\da-f]+)\b|\b(?:D|DT|T|TOD)#[\d_shmd:]*|\b[A-Z]*#[\d.,_]*|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/,operator:/S?R?:?=>?|&&?|\*\*?|<[=>]?|>=?|[-:^/+#]|\b(?:AND|EQ|EXPT|GE|GT|LE|LT|MOD|NE|NOT|OR|XOR)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,punctuation:/[()[\].,;]/}}e.exports=t,t.displayName="iecst",t.aliases=[]},7145:function(e){"use strict";function t(e){!function(e){e.languages.ignore={comment:/^#.*/m,entry:{pattern:/\S(?:.*(?:(?:\\ )|\S))?/,alias:"string",inside:{operator:/^!|\*\*?|\?/,regex:{pattern:/(^|[^\\])\[[^\[\]]*\]/,lookbehind:!0},punctuation:/\//}}},e.languages.gitignore=e.languages.ignore,e.languages.hgignore=e.languages.ignore,e.languages.npmignore=e.languages.ignore}(e)}e.exports=t,t.displayName="ignore",t.aliases=["gitignore","hgignore","npmignore"]},4600:function(e){"use strict";function t(e){e.languages.inform7={string:{pattern:/"[^"]*"/,inside:{substitution:{pattern:/\[[^\[\]]+\]/,inside:{delimiter:{pattern:/\[|\]/,alias:"punctuation"}}}}},comment:{pattern:/\[[^\[\]]+\]/,greedy:!0},title:{pattern:/^[ \t]*(?:book|chapter|part(?! of)|section|table|volume)\b.+/im,alias:"important"},number:{pattern:/(^|[^-])(?:\b\d+(?:\.\d+)?(?:\^\d+)?(?:(?!\d)\w+)?|\b(?:eight|eleven|five|four|nine|one|seven|six|ten|three|twelve|two))\b(?!-)/i,lookbehind:!0},verb:{pattern:/(^|[^-])\b(?:answering|applying to|are|asking|attacking|be(?:ing)?|burning|buying|called|carries|carry(?! out)|carrying|climbing|closing|conceal(?:ing|s)?|consulting|contain(?:ing|s)?|cutting|drinking|dropping|eating|enclos(?:es?|ing)|entering|examining|exiting|getting|giving|going|ha(?:s|ve|ving)|hold(?:ing|s)?|impl(?:ies|y)|incorporat(?:es?|ing)|inserting|is|jumping|kissing|listening|locking|looking|mean(?:ing|s)?|opening|provid(?:es?|ing)|pulling|pushing|putting|relat(?:es?|ing)|removing|searching|see(?:ing|s)?|setting|showing|singing|sleeping|smelling|squeezing|support(?:ing|s)?|swearing|switching|taking|tasting|telling|thinking|throwing|touching|turning|tying|unlock(?:ing|s)?|var(?:ies|y|ying)|waiting|waking|waving|wear(?:ing|s)?)\b(?!-)/i,lookbehind:!0,alias:"operator"},keyword:{pattern:/(^|[^-])\b(?:after|before|carry out|check|continue the action|definition(?= *:)|do nothing|else|end (?:if|the story|unless)|every turn|if|include|instead(?: of)?|let|move|no|now|otherwise|repeat|report|resume the story|rule for|running through|say(?:ing)?|stop the action|test|try(?:ing)?|understand|unless|use|when|while|yes)\b(?!-)/i,lookbehind:!0},property:{pattern:/(^|[^-])\b(?:adjacent(?! to)|carried|closed|concealed|contained|dark|described|edible|empty|enclosed|enterable|even|female|fixed in place|full|handled|held|improper-named|incorporated|inedible|invisible|lighted|lit|lock(?:able|ed)|male|marked for listing|mentioned|negative|neuter|non-(?:empty|full|recurring)|odd|opaque|open(?:able)?|plural-named|portable|positive|privately-named|proper-named|provided|publically-named|pushable between rooms|recurring|related|rubbing|scenery|seen|singular-named|supported|swinging|switch(?:able|ed(?: off| on)?)|touch(?:able|ed)|transparent|unconcealed|undescribed|unlit|unlocked|unmarked for listing|unmentioned|unopenable|untouchable|unvisited|variable|visible|visited|wearable|worn)\b(?!-)/i,lookbehind:!0,alias:"symbol"},position:{pattern:/(^|[^-])\b(?:above|adjacent to|back side of|below|between|down|east|everywhere|front side|here|in|inside(?: from)?|north(?:east|west)?|nowhere|on(?: top of)?|other side|outside(?: from)?|parts? of|regionally in|south(?:east|west)?|through|up|west|within)\b(?!-)/i,lookbehind:!0,alias:"keyword"},type:{pattern:/(^|[^-])\b(?:actions?|activit(?:ies|y)|actors?|animals?|backdrops?|containers?|devices?|directions?|doors?|holders?|kinds?|lists?|m[ae]n|nobody|nothing|nouns?|numbers?|objects?|people|persons?|player(?:'s holdall)?|regions?|relations?|rooms?|rule(?:book)?s?|scenes?|someone|something|supporters?|tables?|texts?|things?|time|vehicles?|wom[ae]n)\b(?!-)/i,lookbehind:!0,alias:"variable"},punctuation:/[.,:;(){}]/},e.languages.inform7.string.inside.substitution.inside.rest=e.languages.inform7,e.languages.inform7.string.inside.substitution.inside.rest.text={pattern:/\S(?:\s*\S)*/,alias:"comment"}}e.exports=t,t.displayName="inform7",t.aliases=[]},3409:function(e){"use strict";function t(e){e.languages.ini={comment:{pattern:/(^[ \f\t\v]*)[#;][^\n\r]*/m,lookbehind:!0},section:{pattern:/(^[ \f\t\v]*)\[[^\n\r\]]*\]?/m,lookbehind:!0,inside:{"section-name":{pattern:/(^\[[ \f\t\v]*)[^ \f\t\v\]]+(?:[ \f\t\v]+[^ \f\t\v\]]+)*/,lookbehind:!0,alias:"selector"},punctuation:/\[|\]/}},key:{pattern:/(^[ \f\t\v]*)[^ \f\n\r\t\v=]+(?:[ \f\t\v]+[^ \f\n\r\t\v=]+)*(?=[ \f\t\v]*=)/m,lookbehind:!0,alias:"attr-name"},value:{pattern:/(=[ \f\t\v]*)[^ \f\n\r\t\v]+(?:[ \f\t\v]+[^ \f\n\r\t\v]+)*/,lookbehind:!0,alias:"attr-value",inside:{"inner-value":{pattern:/^("|').+(?=\1$)/,lookbehind:!0}}},punctuation:/=/}}e.exports=t,t.displayName="ini",t.aliases=[]},4197:function(e){"use strict";function t(e){e.languages.io={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?(?:\*\/|$)|\/\/.*|#.*)/,lookbehind:!0,greedy:!0},"triple-quoted-string":{pattern:/"""(?:\\[\s\S]|(?!""")[^\\])*"""/,greedy:!0,alias:"string"},string:{pattern:/"(?:\\.|[^\\\r\n"])*"/,greedy:!0},keyword:/\b(?:activate|activeCoroCount|asString|block|break|call|catch|clone|collectGarbage|compileString|continue|do|doFile|doMessage|doString|else|elseif|exit|for|foreach|forward|getEnvironmentVariable|getSlot|hasSlot|if|ifFalse|ifNil|ifNilEval|ifTrue|isActive|isNil|isResumable|list|message|method|parent|pass|pause|perform|performWithArgList|print|println|proto|raise|raiseResumable|removeSlot|resend|resume|schedulerSleepSeconds|self|sender|setSchedulerSleepSeconds|setSlot|shallowCopy|slotNames|super|system|then|thisBlock|thisContext|try|type|uniqueId|updateSlot|wait|while|write|yield)\b/,builtin:/\b(?:Array|AudioDevice|AudioMixer|BigNum|Block|Box|Buffer|CFunction|CGI|Color|Curses|DBM|DNSResolver|DOConnection|DOProxy|DOServer|Date|Directory|Duration|DynLib|Error|Exception|FFT|File|Fnmatch|Font|Future|GL|GLE|GLScissor|GLU|GLUCylinder|GLUQuadric|GLUSphere|GLUT|Host|Image|Importer|LinkList|List|Lobby|Locals|MD5|MP3Decoder|MP3Encoder|Map|Message|Movie|Notification|Number|Object|OpenGL|Point|Protos|Random|Regex|SGML|SGMLElement|SGMLParser|SQLite|Sequence|Server|ShowMessage|SleepyCat|SleepyCatCursor|Socket|SocketManager|Sound|Soup|Store|String|Tree|UDPSender|UPDReceiver|URL|User|Warning|WeakLink)\b/,boolean:/\b(?:false|nil|true)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e-?\d+)?/i,operator:/[=!*/%+\-^&|]=|>>?=?|<<?=?|:?:?=|\+\+?|--?|\*\*?|\/\/?|%|\|\|?|&&?|\b(?:and|not|or|return)\b|@@?|\?\??|\.\./,punctuation:/[{}[\];(),.:]/}}e.exports=t,t.displayName="io",t.aliases=[]},3269:function(e){"use strict";function t(e){e.languages.j={comment:{pattern:/\bNB\..*/,greedy:!0},string:{pattern:/'(?:''|[^'\r\n])*'/,greedy:!0},keyword:/\b(?:(?:CR|LF|adverb|conjunction|def|define|dyad|monad|noun|verb)\b|(?:assert|break|case|catch[dt]?|continue|do|else|elseif|end|fcase|for|for_\w+|goto_\w+|if|label_\w+|return|select|throw|try|while|whilst)\.)/,verb:{pattern:/(?!\^:|;\.|[=!][.:])(?:\{(?:\.|::?)?|p(?:\.\.?|:)|[=!\]]|[<>+*\-%$|,#][.:]?|[?^]\.?|[;\[]:?|[~}"i][.:]|[ACeEIjLor]\.|(?:[_\/\\qsux]|_?\d):)/,alias:"keyword"},number:/\b_?(?:(?!\d:)\d+(?:\.\d+)?(?:(?:ad|ar|[ejpx])_?\d+(?:\.\d+)?)*(?:b_?[\da-z]+(?:\.[\da-z]+)?)?|_\b(?!\.))/,adverb:{pattern:/[~}]|[\/\\]\.?|[bfM]\.|t[.:]/,alias:"builtin"},operator:/[=a][.:]|_\./,conjunction:{pattern:/&(?:\.:?|:)?|[.:@][.:]?|[!D][.:]|[;dHT]\.|`:?|[\^LS]:|"/,alias:"variable"},punctuation:/[()]/}}e.exports=t,t.displayName="j",t.aliases=[]},5543:function(e){"use strict";function t(e){!function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=/(^|[^\w.])(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,r={pattern:RegExp(n+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(n+/[A-Z]\w*(?=\s+\w+\s*[;,=()])/.source),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0}}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!<keyword>)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0,inside:{punctuation:/\./}}})}(e)}e.exports=t,t.displayName="java",t.aliases=[]},8428:function(e,t,n){"use strict";var r=n(5543),a=n(9285);function i(e){e.register(r),e.register(a),function(e){var t=/(^(?:[\t ]*(?:\*\s*)*))[^*\s].*$/m,n=/#\s*\w+(?:\s*\([^()]*\))?/.source,r=/(?:\b[a-zA-Z]\w+\s*\.\s*)*\b[A-Z]\w*(?:\s*<mem>)?|<mem>/.source.replace(/<mem>/g,(function(){return n}));e.languages.javadoc=e.languages.extend("javadoclike",{}),e.languages.insertBefore("javadoc","keyword",{reference:{pattern:RegExp(/(@(?:exception|link|linkplain|see|throws|value)\s+(?:\*\s*)?)/.source+"(?:"+r+")"),lookbehind:!0,inside:{function:{pattern:/(#\s*)\w+(?=\s*\()/,lookbehind:!0},field:{pattern:/(#\s*)\w+/,lookbehind:!0},namespace:{pattern:/\b(?:[a-z]\w*\s*\.\s*)+/,inside:{punctuation:/\./}},"class-name":/\b[A-Z]\w*/,keyword:e.languages.java.keyword,punctuation:/[#()[\],.]/}},"class-name":{pattern:/(@param\s+)<[A-Z]\w*>/,lookbehind:!0,inside:{punctuation:/[.<>]/}},"code-section":[{pattern:/(\{@code\s+(?!\s))(?:[^\s{}]|\s+(?![\s}])|\{(?:[^{}]|\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})*\})*\})+(?=\s*\})/,lookbehind:!0,inside:{code:{pattern:t,lookbehind:!0,inside:e.languages.java,alias:"language-java"}}},{pattern:/(<(code|pre|tt)>(?!<code>)\s*)\S(?:\S|\s+\S)*?(?=\s*<\/\2>)/,lookbehind:!0,inside:{line:{pattern:t,lookbehind:!0,inside:{tag:e.languages.markup.tag,entity:e.languages.markup.entity,code:{pattern:/.+/,inside:e.languages.java,alias:"language-java"}}}}}],tag:e.languages.markup.tag,entity:e.languages.markup.entity}),e.languages.javadoclike.addSupport("java",e.languages.javadoc)}(e)}e.exports=i,i.displayName="javadoc",i.aliases=[]},9285:function(e){"use strict";function t(e){!function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,n){"string"===typeof t&&(t=[t]),t.forEach((function(t){!function(t,n){var r="doc-comment",a=e.languages[t];if(a){var i=a[r];if(!i){var o={"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}};i=(a=e.languages.insertBefore(t,"comment",o))[r]}if(i instanceof RegExp&&(i=a[r]={pattern:i}),Array.isArray(i))for(var s=0,l=i.length;s<l;s++)i[s]instanceof RegExp&&(i[s]={pattern:i[s]}),n(i[s]);else n(i)}}(t,(function(e){e.inside||(e.inside={}),e.inside.rest=n}))}))}}),t.addSupport(["java","javascript","php"],t)}(e)}e.exports=t,t.displayName="javadoclike",t.aliases=[]},7556:function(e){"use strict";function t(e){e.languages.javascript=e.languages.extend("clike",{"class-name":[e.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),e.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,e.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:e.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:e.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:e.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:e.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:e.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),e.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:e.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),e.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),e.languages.markup&&(e.languages.markup.tag.addInlined("script","javascript"),e.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),e.languages.js=e.languages.javascript}e.exports=t,t.displayName="javascript",t.aliases=["js"]},1570:function(e){"use strict";function t(e){e.languages.javastacktrace={summary:{pattern:/^([\t ]*)(?:(?:Caused by:|Suppressed:|Exception in thread "[^"]*")[\t ]+)?[\w$.]+(?::.*)?$/m,lookbehind:!0,inside:{keyword:{pattern:/^([\t ]*)(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m,lookbehind:!0},string:{pattern:/^(\s*)"[^"]*"/,lookbehind:!0},exceptions:{pattern:/^(:?\s*)[\w$.]+(?=:|$)/,lookbehind:!0,inside:{"class-name":/[\w$]+$/,namespace:/\b[a-z]\w*\b/,punctuation:/\./}},message:{pattern:/(:\s*)\S.*/,lookbehind:!0,alias:"string"},punctuation:/:/}},"stack-frame":{pattern:/^([\t ]*)at (?:[\w$./]|@[\w$.+-]*\/)+(?:<init>)?\([^()]*\)/m,lookbehind:!0,inside:{keyword:{pattern:/^(\s*)at(?= )/,lookbehind:!0},source:[{pattern:/(\()\w+\.\w+:\d+(?=\))/,lookbehind:!0,inside:{file:/^\w+\.\w+/,punctuation:/:/,"line-number":{pattern:/\b\d+\b/,alias:"number"}}},{pattern:/(\()[^()]*(?=\))/,lookbehind:!0,inside:{keyword:/^(?:Native Method|Unknown Source)$/}}],"class-name":/[\w$]+(?=\.(?:<init>|[\w$]+)\()/,function:/(?:<init>|[\w$]+)(?=\()/,"class-loader":{pattern:/(\s)[a-z]\w*(?:\.[a-z]\w*)*(?=\/[\w@$.]*\/)/,lookbehind:!0,alias:"namespace",inside:{punctuation:/\./}},module:{pattern:/([\s/])[a-z]\w*(?:\.[a-z]\w*)*(?:@[\w$.+-]*)?(?=\/)/,lookbehind:!0,inside:{version:{pattern:/(@)[\s\S]+/,lookbehind:!0,alias:"number"},punctuation:/[@.]/}},namespace:{pattern:/(?:\b[a-z]\w*\.)+/,inside:{punctuation:/\./}},punctuation:/[()/.]/}},more:{pattern:/^([\t ]*)\.{3} \d+ [a-z]+(?: [a-z]+)*/m,lookbehind:!0,inside:{punctuation:/\.{3}/,number:/\d+/,keyword:/\b[a-z]+(?: [a-z]+)*\b/}}}}e.exports=t,t.displayName="javastacktrace",t.aliases=[]},9298:function(e){"use strict";function t(e){e.languages.jexl={string:/(["'])(?:\\[\s\S]|(?!\1)[^\\])*\1/,transform:{pattern:/(\|\s*)[a-zA-Z\u0430-\u044f\u0410-\u042f_\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$][\w\u0430-\u044f\u0410-\u042f\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$]*/,alias:"function",lookbehind:!0},function:/[a-zA-Z\u0430-\u044f\u0410-\u042f_\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$][\w\u0430-\u044f\u0410-\u042f\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF$]*\s*(?=\()/,number:/\b\d+(?:\.\d+)?\b|\B\.\d+\b/,operator:/[<>!]=?|-|\+|&&|==|\|\|?|\/\/?|[?:*^%]/,boolean:/\b(?:false|true)\b/,keyword:/\bin\b/,punctuation:/[{}[\](),.]/}}e.exports=t,t.displayName="jexl",t.aliases=[]},32:function(e){"use strict";function t(e){e.languages.jolie=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\[\s\S]|[^"\\])*"/,lookbehind:!0,greedy:!0},"class-name":{pattern:/((?:\b(?:as|courier|embed|in|inputPort|outputPort|service)\b|@)[ \t]*)\w+/,lookbehind:!0},keyword:/\b(?:as|cH|comp|concurrent|constants|courier|cset|csets|default|define|else|embed|embedded|execution|exit|extender|for|foreach|forward|from|global|if|import|in|include|init|inputPort|install|instanceof|interface|is_defined|linkIn|linkOut|main|new|nullProcess|outputPort|over|private|provide|public|scope|sequential|service|single|spawn|synchronized|this|throw|throws|type|undef|until|while|with)\b/,function:/\b[a-z_]\w*(?=[ \t]*[@(])/i,number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?l?/i,operator:/-[-=>]?|\+[+=]?|<[<=]?|[>=*!]=?|&&|\|\||[?\/%^@|]/,punctuation:/[()[\]{},;.:]/,builtin:/\b(?:Byte|any|bool|char|double|enum|float|int|length|long|ranges|regex|string|undefined|void)\b/}),e.languages.insertBefore("jolie","keyword",{aggregates:{pattern:/(\bAggregates\s*:\s*)(?:\w+(?:\s+with\s+\w+)?\s*,\s*)*\w+(?:\s+with\s+\w+)?/,lookbehind:!0,inside:{keyword:/\bwith\b/,"class-name":/\w+/,punctuation:/,/}},redirects:{pattern:/(\bRedirects\s*:\s*)(?:\w+\s*=>\s*\w+\s*,\s*)*(?:\w+\s*=>\s*\w+)/,lookbehind:!0,inside:{punctuation:/,/,"class-name":/\w+/,operator:/=>/}},property:{pattern:/\b(?:Aggregates|[Ii]nterfaces|Java|Javascript|Jolie|[Ll]ocation|OneWay|[Pp]rotocol|Redirects|RequestResponse)\b(?=[ \t]*:)/}})}e.exports=t,t.displayName="jolie",t.aliases=[]},6044:function(e){"use strict";function t(e){!function(e){var t=/\\\((?:[^()]|\([^()]*\))*\)/.source,n=RegExp(/(^|[^\\])"(?:[^"\r\n\\]|\\[^\r\n(]|__)*"/.source.replace(/__/g,(function(){return t}))),r={interpolation:{pattern:RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+t),lookbehind:!0,inside:{content:{pattern:/^(\\\()[\s\S]+(?=\)$)/,lookbehind:!0,inside:null},punctuation:/^\\\(|\)$/}}},a=e.languages.jq={comment:/#.*/,property:{pattern:RegExp(n.source+/(?=\s*:(?!:))/.source),lookbehind:!0,greedy:!0,inside:r},string:{pattern:n,lookbehind:!0,greedy:!0,inside:r},function:{pattern:/(\bdef\s+)[a-z_]\w+/i,lookbehind:!0},variable:/\B\$\w+/,"property-literal":{pattern:/\b[a-z_]\w*(?=\s*:(?!:))/i,alias:"property"},keyword:/\b(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)\b/,boolean:/\b(?:false|true)\b/,number:/(?:\b\d+\.|\B\.)?\b\d+(?:[eE][+-]?\d+)?\b/,operator:[{pattern:/\|=?/,alias:"pipe"},/\.\.|[!=<>]?=|\?\/\/|\/\/=?|[-+*/%]=?|[<>?]|\b(?:and|not|or)\b/],"c-style-function":{pattern:/\b[a-z_]\w*(?=\s*\()/i,alias:"function"},punctuation:/::|[()\[\]{},:;]|\.(?=\s*[\[\w$])/,dot:{pattern:/\./,alias:"important"}};r.interpolation.inside.content.inside=a}(e)}e.exports=t,t.displayName="jq",t.aliases=[]},1408:function(e){"use strict";function t(e){!function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r<n.length;r++){var a=n[r],i=e.languages.javascript[a];"RegExp"===e.util.type(i)&&(i=e.languages.javascript[a]={pattern:i});var o=i.inside||{};i.inside=o,o["maybe-class-name"]=/^[A-Z][\s\S]*/}}(e)}e.exports=t,t.displayName="jsExtras",t.aliases=[]},750:function(e){"use strict";function t(e){!function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],i=r.pattern.source;function o(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function l(t,n,r){var a={code:t,grammar:n,language:r};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(a.code,a.grammar),e.hooks.run("after-tokenize",a),a.tokens}function c(t){var n={};n["interpolation-punctuation"]=a;var i=e.tokenize(t,n);if(3===i.length){var o=[1,1];o.push.apply(o,l(i[1],e.languages.javascript,"javascript")),i.splice.apply(i,o)}return new e.Token("interpolation",i,r.alias,t)}function u(t,n,r){var a=e.tokenize(t,{interpolation:{pattern:RegExp(i),lookbehind:!0}}),o=0,u={},d=l(a.map((function(e){if("string"===typeof e)return e;for(var n,a=e.content;-1!==t.indexOf(n=s(o++,r)););return u[n]=a,n})).join(""),n,r),p=Object.keys(u);return o=0,function e(t){for(var n=0;n<t.length;n++){if(o>=p.length)return;var r=t[n];if("string"===typeof r||"string"===typeof r.content){var a=p[o],i="string"===typeof r?r:r.content,s=i.indexOf(a);if(-1!==s){++o;var l=i.substring(0,s),d=c(u[a]),m=i.substring(s+a.length),f=[];if(l&&f.push(l),f.push(d),m){var g=[m];e(g),f.push.apply(f,g)}"string"===typeof r?(t.splice.apply(t,[n,1].concat(f)),n+=f.length-1):r.content=f}}else{var h=r.content;Array.isArray(h)?e(h):e([h])}}}(d),new e.Token(r,d,"language-"+r,t)}e.languages.javascript["template-string"]=[o("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),o("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),o("svg",/\bsvg/.source),o("markdown",/\b(?:markdown|md)/.source),o("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),o("sql",/\bsql/.source),t].filter(Boolean);var d={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function p(e){return"string"===typeof e?e:Array.isArray(e)?e.map(p).join(""):p(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in d&&function t(n){for(var r=0,a=n.length;r<a;r++){var i=n[r];if("string"!==typeof i){var o=i.content;if(Array.isArray(o))if("template-string"===i.type){var s=o[1];if(3===o.length&&"string"!==typeof s&&"embedded-code"===s.type){var l=p(s),c=s.alias,d=Array.isArray(c)?c[0]:c,m=e.languages[d];if(!m)continue;o[1]=u(l,m,d)}}else t(o);else"string"!==typeof o&&t([o])}}}(t.tokens)}))}(e)}e.exports=t,t.displayName="jsTemplates",t.aliases=[]},2327:function(e,t,n){"use strict";var r=n(9285),a=n(9669);function i(e){e.register(r),e.register(a),function(e){var t=e.languages.javascript,n=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source,r="(@(?:arg|argument|param|property)\\s+(?:"+n+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(r+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(r+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g,(function(){return n}))),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{string:t.string,number:t.number,boolean:t.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:t,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(e)}e.exports=i,i.displayName="jsdoc",i.aliases=[]},837:function(e){"use strict";function t(e){e.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},e.languages.webmanifest=e.languages.json}e.exports=t,t.displayName="json",t.aliases=["webmanifest"]},7778:function(e,t,n){"use strict";var r=n(837);function a(e){e.register(r),function(e){var t=/("|')(?:\\(?:\r\n?|\n|.)|(?!\1)[^\\\r\n])*\1/;e.languages.json5=e.languages.extend("json",{property:[{pattern:RegExp(t.source+"(?=\\s*:)"),greedy:!0},{pattern:/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/,alias:"unquoted"}],string:{pattern:t,greedy:!0},number:/[+-]?\b(?:NaN|Infinity|0x[a-fA-F\d]+)\b|[+-]?(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[eE][+-]?\d+\b)?/})}(e)}e.exports=a,a.displayName="json5",a.aliases=[]},2117:function(e,t,n){"use strict";var r=n(837);function a(e){e.register(r),e.languages.jsonp=e.languages.extend("json",{punctuation:/[{}[\]();,.]/}),e.languages.insertBefore("jsonp","punctuation",{function:/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*\()/})}e.exports=a,a.displayName="jsonp",a.aliases=[]},3228:function(e){"use strict";function t(e){e.languages.jsstacktrace={"error-message":{pattern:/^\S.*/m,alias:"string"},"stack-frame":{pattern:/(^[ \t]+)at[ \t].*/m,lookbehind:!0,inside:{"not-my-code":{pattern:/^at[ \t]+(?!\s)(?:node\.js|<unknown>|.*(?:node_modules|\(<anonymous>\)|\(<unknown>|<anonymous>$|\(internal\/|\(node\.js)).*/m,alias:"comment"},filename:{pattern:/(\bat\s+(?!\s)|\()(?:[a-zA-Z]:)?[^():]+(?=:)/,lookbehind:!0,alias:"url"},function:{pattern:/(\bat\s+(?:new\s+)?)(?!\s)[_$a-zA-Z\xA0-\uFFFF<][.$\w\xA0-\uFFFF<>]*/,lookbehind:!0,inside:{punctuation:/\./}},punctuation:/[()]/,keyword:/\b(?:at|new)\b/,alias:{pattern:/\[(?:as\s+)?(?!\s)[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\]/,alias:"variable"},"line-number":{pattern:/:\d+(?::\d+)?\b/,alias:"number",inside:{punctuation:/:/}}}}}}e.exports=t,t.displayName="jsstacktrace",t.aliases=[]},765:function(e){"use strict";function t(e){!function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,a=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function i(e,t){return e=e.replace(/<S>/g,(function(){return n})).replace(/<BRACES>/g,(function(){return r})).replace(/<SPREAD>/g,(function(){return a})),RegExp(e,t)}a=i(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=i(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:i(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:i(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var o=function e(t){return t?"string"===typeof t?t:"string"===typeof t.content?t.content:t.content.map(e).join(""):""},s=function t(n){for(var r=[],a=0;a<n.length;a++){var i=n[a],s=!1;if("string"!==typeof i&&("tag"===i.type&&i.content[0]&&"tag"===i.content[0].type?"</"===i.content[0].content[0].content?r.length>0&&r[r.length-1].tagName===o(i.content[0].content[1])&&r.pop():"/>"===i.content[i.content.length-1].content||r.push({tagName:o(i.content[0].content[1]),openedBraces:0}):r.length>0&&"punctuation"===i.type&&"{"===i.content?r[r.length-1].openedBraces++:r.length>0&&r[r.length-1].openedBraces>0&&"punctuation"===i.type&&"}"===i.content?r[r.length-1].openedBraces--:s=!0),(s||"string"===typeof i)&&r.length>0&&0===r[r.length-1].openedBraces){var l=o(i);a<n.length-1&&("string"===typeof n[a+1]||"plain-text"===n[a+1].type)&&(l+=o(n[a+1]),n.splice(a+1,1)),a>0&&("string"===typeof n[a-1]||"plain-text"===n[a-1].type)&&(l=o(n[a-1])+l,n.splice(a-1,1),a--),n[a]=new e.Token("plain-text",l,null,l)}i.content&&"string"!==typeof i.content&&t(i.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||s(e.tokens)}))}(e)}e.exports=t,t.displayName="jsx",t.aliases=[]},1905:function(e){"use strict";function t(e){e.languages.julia={comment:{pattern:/(^|[^\\])(?:#=(?:[^#=]|=(?!#)|#(?!=)|#=(?:[^#=]|=(?!#)|#(?!=))*=#)*=#|#.*)/,lookbehind:!0},regex:{pattern:/r"(?:\\.|[^"\\\r\n])*"[imsx]{0,4}/,greedy:!0},string:{pattern:/"""[\s\S]+?"""|(?:\b\w+)?"(?:\\.|[^"\\\r\n])*"|`(?:[^\\`\r\n]|\\.)*`/,greedy:!0},char:{pattern:/(^|[^\w'])'(?:\\[^\r\n][^'\r\n]*|[^\\\r\n])'/,lookbehind:!0,greedy:!0},keyword:/\b(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|in|let|local|macro|module|print|println|quote|return|struct|try|type|typealias|using|while)\b/,boolean:/\b(?:false|true)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[box])?(?:[\da-f]+(?:_[\da-f]+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[efp][+-]?\d+(?:_\d+)*)?j?/i,operator:/&&|\|\||[-+*^%\xf7\u22bb&$\\]=?|\/[\/=]?|!=?=?|\|[=>]?|<(?:<=?|[=:|])?|>(?:=|>>?=?)?|==?=?|[~\u2260\u2264\u2265'\u221a\u221b]/,punctuation:/::?|[{}[\]();,.?]/,constant:/\b(?:(?:Inf|NaN)(?:16|32|64)?|im|pi)\b|[\u03c0\u212f]/}}e.exports=t,t.displayName="julia",t.aliases=[]},6776:function(e){"use strict";function t(e){e.languages.keepalived={comment:{pattern:/[#!].*/,greedy:!0},string:{pattern:/(^|[^\\])(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/,lookbehind:!0,greedy:!0},ip:{pattern:RegExp(/\b(?:(?:(?:[\da-f]{1,4}:){7}[\da-f]{1,4}|(?:[\da-f]{1,4}:){6}:[\da-f]{1,4}|(?:[\da-f]{1,4}:){5}:(?:[\da-f]{1,4}:)?[\da-f]{1,4}|(?:[\da-f]{1,4}:){4}:(?:[\da-f]{1,4}:){0,2}[\da-f]{1,4}|(?:[\da-f]{1,4}:){3}:(?:[\da-f]{1,4}:){0,3}[\da-f]{1,4}|(?:[\da-f]{1,4}:){2}:(?:[\da-f]{1,4}:){0,4}[\da-f]{1,4}|(?:[\da-f]{1,4}:){6}<ipv4>|(?:[\da-f]{1,4}:){0,5}:<ipv4>|::(?:[\da-f]{1,4}:){0,5}<ipv4>|[\da-f]{1,4}::(?:[\da-f]{1,4}:){0,5}[\da-f]{1,4}|::(?:[\da-f]{1,4}:){0,6}[\da-f]{1,4}|(?:[\da-f]{1,4}:){1,7}:)(?:\/\d{1,3})?|<ipv4>(?:\/\d{1,2})?)\b/.source.replace(/<ipv4>/g,(function(){return/(?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d))/.source})),"i"),alias:"number"},path:{pattern:/(\s)\/(?:[^\/\s]+\/)*[^\/\s]*|\b[a-zA-Z]:\\(?:[^\\\s]+\\)*[^\\\s]*/,lookbehind:!0,alias:"string"},variable:/\$\{?\w+\}?/,email:{pattern:/[\w-]+@[\w-]+(?:\.[\w-]{2,3}){1,2}/,alias:"string"},"conditional-configuration":{pattern:/@\^?[\w-]+/,alias:"variable"},operator:/=/,property:/\b(?:BFD_CHECK|DNS_CHECK|FILE_CHECK|HTTP_GET|MISC_CHECK|NAME|PING_CHECK|SCRIPTS|SMTP_CHECK|SSL|SSL_GET|TCP_CHECK|UDP_CHECK|accept|advert_int|alpha|auth_pass|auth_type|authentication|bfd_cpu_affinity|bfd_instance|bfd_no_swap|bfd_priority|bfd_process_name|bfd_rlimit_rttime|bfd_rt_priority|bind_if|bind_port|bindto|ca|certificate|check_unicast_src|checker|checker_cpu_affinity|checker_log_all_failures|checker_no_swap|checker_priority|checker_rlimit_rttime|checker_rt_priority|child_wait_time|connect_ip|connect_port|connect_timeout|dbus_service_name|debug|default_interface|delay|delay_before_retry|delay_loop|digest|dont_track_primary|dynamic|dynamic_interfaces|enable_(?:dbus|script_security|sni|snmp_checker|snmp_rfc|snmp_rfcv2|snmp_rfcv3|snmp_vrrp|traps)|end|fall|fast_recovery|file|flag-[123]|fork_delay|full_command|fwmark|garp_group|garp_interval|garp_lower_prio_delay|garp_lower_prio_repeat|garp_master_delay|garp_master_refresh|garp_master_refresh_repeat|garp_master_repeat|global_defs|global_tracking|gna_interval|group|ha_suspend|hashed|helo_name|higher_prio_send_advert|hoplimit|http_protocol|hysteresis|idle_tx|include|inhibit_on_failure|init_fail|init_file|instance|interface|interfaces|interval|ip_family|ipvs_process_name|keepalived.conf|kernel_rx_buf_size|key|linkbeat_interfaces|linkbeat_use_polling|log_all_failures|log_unknown_vrids|lower_prio_no_advert|lthreshold|lvs_flush|lvs_flush_onstop|lvs_method|lvs_netlink_cmd_rcv_bufs|lvs_netlink_cmd_rcv_bufs_force|lvs_netlink_monitor_rcv_bufs|lvs_netlink_monitor_rcv_bufs_force|lvs_notify_fifo|lvs_notify_fifo_script|lvs_sched|lvs_sync_daemon|max_auto_priority|max_hops|mcast_src_ip|mh-fallback|mh-port|min_auto_priority_delay|min_rx|min_tx|misc_dynamic|misc_path|misc_timeout|multiplier|name|namespace_with_ipsets|native_ipv6|neighbor_ip|net_namespace|net_namespace_ipvs|nftables|nftables_counters|nftables_ifindex|nftables_priority|no_accept|no_checker_emails|no_email_faults|nopreempt|notification_email|notification_email_from|notify|notify_backup|notify_deleted|notify_down|notify_fault|notify_fifo|notify_fifo_script|notify_master|notify_master_rx_lower_pri|notify_priority_changes|notify_stop|notify_up|old_unicast_checksum|omega|ops|param_match|passive|password|path|persistence_engine|persistence_granularity|persistence_timeout|preempt|preempt_delay|priority|process|process_monitor_rcv_bufs|process_monitor_rcv_bufs_force|process_name|process_names|promote_secondaries|protocol|proxy_arp|proxy_arp_pvlan|quorum|quorum_down|quorum_max|quorum_up|random_seed|real_server|regex|regex_max_offset|regex_min_offset|regex_no_match|regex_options|regex_stack|reload_repeat|reload_time_file|require_reply|retry|rise|router_id|rs_init_notifies|script|script_user|sh-fallback|sh-port|shutdown_script|shutdown_script_timeout|skip_check_adv_addr|smtp_alert|smtp_alert_checker|smtp_alert_vrrp|smtp_connect_timeout|smtp_helo_name|smtp_server|snmp_socket|sorry_server|sorry_server_inhibit|sorry_server_lvs_method|source_ip|start|startup_script|startup_script_timeout|state|static_ipaddress|static_routes|static_rules|status_code|step|strict_mode|sync_group_tracking_weight|terminate_delay|timeout|track_bfd|track_file|track_group|track_interface|track_process|track_script|track_src_ip|ttl|type|umask|unicast_peer|unicast_src_ip|unicast_ttl|url|use_ipvlan|use_pid_dir|use_vmac|user|uthreshold|val[123]|version|virtual_ipaddress|virtual_ipaddress_excluded|virtual_router_id|virtual_routes|virtual_rules|virtual_server|virtual_server_group|virtualhost|vmac_xmit_base|vrrp|vrrp_(?:check_unicast_src|cpu_affinity|garp_interval|garp_lower_prio_delay|garp_lower_prio_repeat|garp_master_delay|garp_master_refresh|garp_master_refresh_repeat|garp_master_repeat|gna_interval|higher_prio_send_advert|instance|ipsets|iptables|lower_prio_no_advert|mcast_group4|mcast_group6|min_garp|netlink_cmd_rcv_bufs|netlink_cmd_rcv_bufs_force|netlink_monitor_rcv_bufs|netlink_monitor_rcv_bufs_force|no_swap|notify_fifo|notify_fifo_script|notify_priority_changes|priority|process_name|rlimit_rttime|rt_priority|rx_bufs_multiplier|rx_bufs_policy|script|skip_check_adv_addr|startup_delay|strict|sync_group|track_process|version)|warmup|weight)\b/,constant:/\b(?:A|AAAA|AH|BACKUP|CNAME|DR|MASTER|MX|NAT|NS|PASS|SCTP|SOA|TCP|TUN|TXT|UDP|dh|fo|lblc|lblcr|lc|mh|nq|ovf|rr|sed|sh|wlc|wrr)\b/,number:{pattern:/(^|[^\w.-])-?\d+(?:\.\d+)?/,lookbehind:!0},boolean:/\b(?:false|no|off|on|true|yes)\b/,punctuation:/[\{\}]/}}e.exports=t,t.displayName="keepalived",t.aliases=[]},8714:function(e){"use strict";function t(e){e.languages.keyman={comment:{pattern:/\bc .*/i,greedy:!0},string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,greedy:!0},"virtual-key":{pattern:/\[\s*(?:(?:ALT|CAPS|CTRL|LALT|LCTRL|NCAPS|RALT|RCTRL|SHIFT)\s+)*(?:[TKU]_[\w?]+|[A-E]\d\d?|"[^"\r\n]*"|'[^'\r\n]*')\s*\]/i,greedy:!0,alias:"function"},"header-keyword":{pattern:/&\w+/,alias:"bold"},"header-statement":{pattern:/\b(?:bitmap|bitmaps|caps always off|caps on only|copyright|hotkey|language|layout|message|name|shift frees caps|version)\b/i,alias:"bold"},"rule-keyword":{pattern:/\b(?:any|baselayout|beep|call|context|deadkey|dk|if|index|layer|notany|nul|outs|platform|reset|return|save|set|store|use)\b/i,alias:"keyword"},"structural-keyword":{pattern:/\b(?:ansi|begin|group|match|nomatch|unicode|using keys)\b/i,alias:"keyword"},"compile-target":{pattern:/\$(?:keyman|keymanonly|keymanweb|kmfl|weaver):/i,alias:"property"},number:/\b(?:U\+[\dA-F]+|d\d+|x[\da-f]+|\d+)\b/i,operator:/[+>\\$]|\.\./,punctuation:/[()=,]/}}e.exports=t,t.displayName="keyman",t.aliases=[]},8471:function(e){"use strict";function t(e){!function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(e)}e.exports=t,t.displayName="kotlin",t.aliases=["kt","kts"]},2286:function(e){"use strict";function t(e){!function(e){var t=/\s\x00-\x1f\x22-\x2f\x3a-\x3f\x5b-\x5e\x60\x7b-\x7e/.source;function n(e,n){return RegExp(e.replace(/<nonId>/g,t),n)}e.languages.kumir={comment:{pattern:/\|.*/},prolog:{pattern:/#.*/,greedy:!0},string:{pattern:/"[^\n\r"]*"|'[^\n\r']*'/,greedy:!0},boolean:{pattern:n(/(^|[<nonId>])(?:\u0434\u0430|\u043d\u0435\u0442)(?=[<nonId>]|$)/.source),lookbehind:!0},"operator-word":{pattern:n(/(^|[<nonId>])(?:\u0438|\u0438\u043b\u0438|\u043d\u0435)(?=[<nonId>]|$)/.source),lookbehind:!0,alias:"keyword"},"system-variable":{pattern:n(/(^|[<nonId>])\u0437\u043d\u0430\u0447(?=[<nonId>]|$)/.source),lookbehind:!0,alias:"keyword"},type:[{pattern:n(/(^|[<nonId>])(?:\u0432\u0435\u0449|\u043b\u0438\u0442|\u043b\u043e\u0433|\u0441\u0438\u043c|\u0446\u0435\u043b)(?:\x20*\u0442\u0430\u0431)?(?=[<nonId>]|$)/.source),lookbehind:!0,alias:"builtin"},{pattern:n(/(^|[<nonId>])(?:\u043a\u043e\u043c\u043f\u043b|\u0441\u043a\u0430\u043d\u043a\u043e\u0434|\u0444\u0430\u0439\u043b|\u0446\u0432\u0435\u0442)(?=[<nonId>]|$)/.source),lookbehind:!0,alias:"important"}],keyword:{pattern:n(/(^|[<nonId>])(?:\u0430\u043b\u0433|\u0430\u0440\u0433(?:\x20*\u0440\u0435\u0437)?|\u0432\u0432\u043e\u0434|\u0412\u041a\u041b\u042e\u0427\u0418\u0422\u042c|\u0432\u0441[\u0435\u0451]|\u0432\u044b\u0431\u043e\u0440|\u0432\u044b\u0432\u043e\u0434|\u0432\u044b\u0445\u043e\u0434|\u0434\u0430\u043d\u043e|\u0434\u043b\u044f|\u0434\u043e|\u0434\u0441|\u0435\u0441\u043b\u0438|\u0438\u043d\u0430\u0447\u0435|\u0438\u0441\u043f|\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c|\u043a\u043e\u043d(?:(?:\x20+|_)\u0438\u0441\u043f)?|\u043a\u0446(?:(?:\x20+|_)\u043f\u0440\u0438)?|\u043d\u0430\u0434\u043e|\u043d\u0430\u0447|\u043d\u0441|\u043d\u0446|\u043e\u0442|\u043f\u0430\u0443\u0437\u0430|\u043f\u043e\u043a\u0430|\u043f\u0440\u0438|\u0440\u0430\u0437\u0430?|\u0440\u0435\u0437|\u0441\u0442\u043e\u043f|\u0442\u0430\u0431|\u0442\u043e|\u0443\u0442\u0432|\u0448\u0430\u0433)(?=[<nonId>]|$)/.source),lookbehind:!0},name:{pattern:n(/(^|[<nonId>])[^\d<nonId>][^<nonId>]*(?:\x20+[^<nonId>]+)*(?=[<nonId>]|$)/.source),lookbehind:!0},number:{pattern:n(/(^|[<nonId>])(?:\B\$[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)(?=[<nonId>]|$)/.source,"i"),lookbehind:!0},punctuation:/:=|[(),:;\[\]]/,"operator-char":{pattern:/\*\*?|<[=>]?|>=?|[-+/=]/,alias:"operator"}},e.languages.kum=e.languages.kumir}(e)}e.exports=t,t.displayName="kumir",t.aliases=["kum"]},6513:function(e){"use strict";function t(e){e.languages.kusto={comment:{pattern:/\/\/.*/,greedy:!0},string:{pattern:/```[\s\S]*?```|[hH]?(?:"(?:[^\r\n\\"]|\\.)*"|'(?:[^\r\n\\']|\\.)*'|@(?:"[^\r\n"]*"|'[^\r\n']*'))/,greedy:!0},verb:{pattern:/(\|\s*)[a-z][\w-]*/i,lookbehind:!0,alias:"keyword"},command:{pattern:/\.[a-z][a-z\d-]*\b/,alias:"keyword"},"class-name":/\b(?:bool|datetime|decimal|dynamic|guid|int|long|real|string|timespan)\b/,keyword:/\b(?:access|alias|and|anti|as|asc|auto|between|by|(?:contains|(?:ends|starts)with|has(?:perfix|suffix)?)(?:_cs)?|database|declare|desc|external|from|fullouter|has_all|in|ingestion|inline|inner|innerunique|into|(?:left|right)(?:anti(?:semi)?|inner|outer|semi)?|let|like|local|not|of|on|or|pattern|print|query_parameters|range|restrict|schema|set|step|table|tables|to|view|where|with|matches\s+regex|nulls\s+(?:first|last))(?![\w-])/,boolean:/\b(?:false|null|true)\b/,function:/\b[a-z_]\w*(?=\s*\()/,datetime:[{pattern:/\b(?:(?:Fri|Friday|Mon|Monday|Sat|Saturday|Sun|Sunday|Thu|Thursday|Tue|Tuesday|Wed|Wednesday)\s*,\s*)?\d{1,2}(?:\s+|-)(?:Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)(?:\s+|-)\d{2}\s+\d{2}:\d{2}(?::\d{2})?(?:\s*(?:\b(?:[A-Z]|(?:[ECMT][DS]|GM|U)T)|[+-]\d{4}))?\b/,alias:"number"},{pattern:/[+-]?\b(?:\d{4}-\d{2}-\d{2}(?:[ T]\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?)?|\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?)Z?/,alias:"number"}],number:/\b(?:0x[0-9A-Fa-f]+|\d+(?:\.\d+)?(?:[Ee][+-]?\d+)?)(?:(?:min|sec|[mn\xb5]s|[dhms]|microsecond|tick)\b)?|[+-]?\binf\b/,operator:/=>|[!=]~|[!=<>]=?|[-+*/%|]|\.\./,punctuation:/[()\[\]{},;.:]/}}e.exports=t,t.displayName="kusto",t.aliases=[]},5999:function(e){"use strict";function t(e){!function(e){var t=/\\(?:[^a-z()[\]]|[a-z*]+)/i,n={"equation-command":{pattern:t,alias:"regex"}};e.languages.latex={comment:/%.*/,cdata:{pattern:/(\\begin\{((?:lstlisting|verbatim)\*?)\})[\s\S]*?(?=\\end\{\2\})/,lookbehind:!0},equation:[{pattern:/\$\$(?:\\[\s\S]|[^\\$])+\$\$|\$(?:\\[\s\S]|[^\\$])+\$|\\\([\s\S]*?\\\)|\\\[[\s\S]*?\\\]/,inside:n,alias:"string"},{pattern:/(\\begin\{((?:align|eqnarray|equation|gather|math|multline)\*?)\})[\s\S]*?(?=\\end\{\2\})/,lookbehind:!0,inside:n,alias:"string"}],keyword:{pattern:/(\\(?:begin|cite|documentclass|end|label|ref|usepackage)(?:\[[^\]]+\])?\{)[^}]+(?=\})/,lookbehind:!0},url:{pattern:/(\\url\{)[^}]+(?=\})/,lookbehind:!0},headline:{pattern:/(\\(?:chapter|frametitle|paragraph|part|section|subparagraph|subsection|subsubparagraph|subsubsection|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{)[^}]+(?=\})/,lookbehind:!0,alias:"class-name"},function:{pattern:t,alias:"selector"},punctuation:/[[\]{}&]/},e.languages.tex=e.languages.latex,e.languages.context=e.languages.latex}(e)}e.exports=t,t.displayName="latex",t.aliases=["tex","context"]},9405:function(e,t,n){"use strict";var r=n(595),a=n(7304);function i(e){e.register(r),e.register(a),function(e){e.languages.latte={comment:/^\{\*[\s\S]*/,"latte-tag":{pattern:/(^\{(?:\/(?=[a-z]))?)(?:[=_]|[a-z]\w*\b(?!\())/i,lookbehind:!0,alias:"important"},delimiter:{pattern:/^\{\/?|\}$/,alias:"punctuation"},php:{pattern:/\S(?:[\s\S]*\S)?/,alias:"language-php",inside:e.languages.php}};var t=e.languages.extend("markup",{});e.languages.insertBefore("inside","attr-value",{"n-attr":{pattern:/n:[\w-]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+))?/,inside:{"attr-name":{pattern:/^[^\s=]+/,alias:"important"},"attr-value":{pattern:/=[\s\S]+/,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}],php:{pattern:/\S(?:[\s\S]*\S)?/,inside:e.languages.php}}}}}},t.tag),e.hooks.add("before-tokenize",(function(n){if("latte"===n.language){e.languages["markup-templating"].buildPlaceholders(n,"latte",/\{\*[\s\S]*?\*\}|\{[^'"\s{}*](?:[^"'/{}]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|\/\*(?:[^*]|\*(?!\/))*\*\/)*\}/g),n.grammar=t}})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"latte")}))}(e)}e.exports=i,i.displayName="latte",i.aliases=[]},9135:function(e){"use strict";function t(e){e.languages.less=e.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),e.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}})}e.exports=t,t.displayName="less",t.aliases=[]},382:function(e,t,n){"use strict";var r=n(2284);function a(e){e.register(r),function(e){for(var t=/\((?:[^();"#\\]|\\[\s\S]|;.*(?!.)|"(?:[^"\\]|\\.)*"|#(?:\{(?:(?!#\})[\s\S])*#\}|[^{])|<expr>)*\)/.source,n=0;n<5;n++)t=t.replace(/<expr>/g,(function(){return t}));t=t.replace(/<expr>/g,/[^\s\S]/.source);var r=e.languages.lilypond={comment:/%(?:(?!\{).*|\{[\s\S]*?%\})/,"embedded-scheme":{pattern:RegExp(/(^|[=\s])#(?:"(?:[^"\\]|\\.)*"|[^\s()"]*(?:[^\s()]|<expr>))/.source.replace(/<expr>/g,(function(){return t})),"m"),lookbehind:!0,greedy:!0,inside:{scheme:{pattern:/^(#)[\s\S]+$/,lookbehind:!0,alias:"language-scheme",inside:{"embedded-lilypond":{pattern:/#\{[\s\S]*?#\}/,greedy:!0,inside:{punctuation:/^#\{|#\}$/,lilypond:{pattern:/[\s\S]+/,alias:"language-lilypond",inside:null}}},rest:e.languages.scheme}},punctuation:/#/}},string:{pattern:/"(?:[^"\\]|\\.)*"/,greedy:!0},"class-name":{pattern:/(\\new\s+)[\w-]+/,lookbehind:!0},keyword:{pattern:/\\[a-z][-\w]*/i,inside:{punctuation:/^\\/}},operator:/[=|]|<<|>>/,punctuation:{pattern:/(^|[a-z\d])(?:'+|,+|[_^]?-[_^]?(?:[-+^!>._]|(?=\d))|[_^]\.?|[.!])|[{}()[\]<>^~]|\\[()[\]<>\\!]|--|__/,lookbehind:!0},number:/\b\d+(?:\/\d+)?\b/};r["embedded-scheme"].inside.scheme.inside["embedded-lilypond"].inside.lilypond.inside=r,e.languages.ly=r}(e)}e.exports=a,a.displayName="lilypond",a.aliases=[]},1146:function(e,t,n){"use strict";var r=n(595);function a(e){e.register(r),e.languages.liquid={comment:{pattern:/(^\{%\s*comment\s*%\})[\s\S]+(?=\{%\s*endcomment\s*%\}$)/,lookbehind:!0},delimiter:{pattern:/^\{(?:\{\{|[%\{])-?|-?(?:\}\}|[%\}])\}$/,alias:"punctuation"},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},keyword:/\b(?:as|assign|break|(?:end)?(?:capture|case|comment|for|form|if|paginate|raw|style|tablerow|unless)|continue|cycle|decrement|echo|else|elsif|in|include|increment|limit|liquid|offset|range|render|reversed|section|when|with)\b/,object:/\b(?:address|all_country_option_tags|article|block|blog|cart|checkout|collection|color|country|country_option_tags|currency|current_page|current_tags|customer|customer_address|date|discount_allocation|discount_application|external_video|filter|filter_value|font|forloop|fulfillment|generic_file|gift_card|group|handle|image|line_item|link|linklist|localization|location|measurement|media|metafield|model|model_source|order|page|page_description|page_image|page_title|part|policy|product|product_option|recommendations|request|robots|routes|rule|script|search|selling_plan|selling_plan_allocation|selling_plan_group|shipping_method|shop|shop_locale|sitemap|store_availability|tax_line|template|theme|transaction|unit_price_measurement|user_agent|variant|video|video_source)\b/,function:[{pattern:/(\|\s*)\w+/,lookbehind:!0,alias:"filter"},{pattern:/(\.\s*)(?:first|last|size)/,lookbehind:!0}],boolean:/\b(?:false|nil|true)\b/,range:{pattern:/\.\./,alias:"operator"},number:/\b\d+(?:\.\d+)?\b/,operator:/[!=]=|<>|[<>]=?|[|?:=-]|\b(?:and|contains(?=\s)|or)\b/,punctuation:/[.,\[\]()]/,empty:{pattern:/\bempty\b/,alias:"keyword"}},e.hooks.add("before-tokenize",(function(t){var n=!1;e.languages["markup-templating"].buildPlaceholders(t,"liquid",/\{%\s*comment\s*%\}[\s\S]*?\{%\s*endcomment\s*%\}|\{(?:%[\s\S]*?%|\{\{[\s\S]*?\}\}|\{[\s\S]*?\})\}/g,(function(e){var t=/^\{%-?\s*(\w+)/.exec(e);if(t){var r=t[1];if("raw"===r&&!n)return n=!0,!0;if("endraw"===r)return n=!1,!0}return!n}))})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"liquid")}))}e.exports=a,a.displayName="liquid",a.aliases=[]},3807:function(e){"use strict";function t(e){!function(e){function t(e){return RegExp(/(\()/.source+"(?:"+e+")"+/(?=[\s\)])/.source)}function n(e){return RegExp(/([\s([])/.source+"(?:"+e+")"+/(?=[\s)])/.source)}var r=/(?!\d)[-+*/~!@$%^=<>{}\w]+/.source,a="&"+r,i="(\\()",o=/(?:[^()]|\((?:[^()]|\((?:[^()]|\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\))*\))*\))*/.source,s={heading:{pattern:/;;;.*/,alias:["comment","title"]},comment:/;.*/,string:{pattern:/"(?:[^"\\]|\\.)*"/,greedy:!0,inside:{argument:/[-A-Z]+(?=[.,\s])/,symbol:RegExp("`"+r+"'")}},"quoted-symbol":{pattern:RegExp("#?'"+r),alias:["variable","symbol"]},"lisp-property":{pattern:RegExp(":"+r),alias:"property"},splice:{pattern:RegExp(",@?"+r),alias:["symbol","variable"]},keyword:[{pattern:RegExp("(\\()(?:and|(?:cl-)?letf|cl-loop|cond|cons|error|if|(?:lexical-)?let\\*?|message|not|null|or|provide|require|setq|unless|use-package|when|while)(?=\\s)"),lookbehind:!0},{pattern:RegExp("(\\()(?:append|by|collect|concat|do|finally|for|in|return)(?=\\s)"),lookbehind:!0}],declare:{pattern:t(/declare/.source),lookbehind:!0,alias:"keyword"},interactive:{pattern:t(/interactive/.source),lookbehind:!0,alias:"keyword"},boolean:{pattern:n(/nil|t/.source),lookbehind:!0},number:{pattern:n(/[-+]?\d+(?:\.\d*)?/.source),lookbehind:!0},defvar:{pattern:RegExp("(\\()def(?:const|custom|group|var)\\s+"+r),lookbehind:!0,inside:{keyword:/^def[a-z]+/,variable:RegExp(r)}},defun:{pattern:RegExp(i+/(?:cl-)?(?:defmacro|defun\*?)\s+/.source+r+/\s+\(/.source+o+/\)/.source),lookbehind:!0,greedy:!0,inside:{keyword:/^(?:cl-)?def\S+/,arguments:null,function:{pattern:RegExp("(^\\s)"+r),lookbehind:!0},punctuation:/[()]/}},lambda:{pattern:RegExp("(\\()lambda\\s+\\(\\s*(?:&?"+r+"(?:\\s+&?"+r+")*\\s*)?\\)"),lookbehind:!0,greedy:!0,inside:{keyword:/^lambda/,arguments:null,punctuation:/[()]/}},car:{pattern:RegExp(i+r),lookbehind:!0},punctuation:[/(?:['`,]?\(|[)\[\]])/,{pattern:/(\s)\.(?=\s)/,lookbehind:!0}]},l={"lisp-marker":RegExp(a),varform:{pattern:RegExp(/\(/.source+r+/\s+(?=\S)/.source+o+/\)/.source),inside:s},argument:{pattern:RegExp(/(^|[\s(])/.source+r),lookbehind:!0,alias:"variable"},rest:s},c="\\S+(?:\\s+\\S+)*",u={pattern:RegExp(i+o+"(?=\\))"),lookbehind:!0,inside:{"rest-vars":{pattern:RegExp("&(?:body|rest)\\s+"+c),inside:l},"other-marker-vars":{pattern:RegExp("&(?:aux|optional)\\s+"+c),inside:l},keys:{pattern:RegExp("&key\\s+"+c+"(?:\\s+&allow-other-keys)?"),inside:l},argument:{pattern:RegExp(r),alias:"variable"},punctuation:/[()]/}};s.lambda.inside.arguments=u,s.defun.inside.arguments=e.util.clone(u),s.defun.inside.arguments.inside.sublist=u,e.languages.lisp=s,e.languages.elisp=s,e.languages.emacs=s,e.languages["emacs-lisp"]=s}(e)}e.exports=t,t.displayName="lisp",t.aliases=[]},3062:function(e){"use strict";function t(e){e.languages.livescript={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\])#.*/,lookbehind:!0}],"interpolated-string":{pattern:/(^|[^"])("""|")(?:\\[\s\S]|(?!\2)[^\\])*\2(?!")/,lookbehind:!0,greedy:!0,inside:{variable:{pattern:/(^|[^\\])#[a-z_](?:-?[a-z]|[\d_])*/m,lookbehind:!0},interpolation:{pattern:/(^|[^\\])#\{[^}]+\}/m,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^#\{|\}$/,alias:"variable"}}},string:/[\s\S]+/}},string:[{pattern:/('''|')(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0},{pattern:/<\[[\s\S]*?\]>/,greedy:!0},/\\[^\s,;\])}]+/],regex:[{pattern:/\/\/(?:\[[^\r\n\]]*\]|\\.|(?!\/\/)[^\\\[])+\/\/[gimyu]{0,5}/,greedy:!0,inside:{comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0}}},{pattern:/\/(?:\[[^\r\n\]]*\]|\\.|[^/\\\r\n\[])+\/[gimyu]{0,5}/,greedy:!0}],keyword:{pattern:/(^|(?!-).)\b(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)\b/m,lookbehind:!0},"keyword-operator":{pattern:/(^|[^-])\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?: not|nt)?|not|of|or|til|to|typeof|with|xor)(?!-)\b)/m,lookbehind:!0,alias:"operator"},boolean:{pattern:/(^|[^-])\b(?:false|no|off|on|true|yes)(?!-)\b/m,lookbehind:!0},argument:{pattern:/(^|(?!\.&\.)[^&])&(?!&)\d*/m,lookbehind:!0,alias:"variable"},number:/\b(?:\d+~[\da-z]+|\d[\d_]*(?:\.\d[\d_]*)?(?:[a-z]\w*)?)/i,identifier:/[a-z_](?:-?[a-z]|[\d_])*/i,operator:[{pattern:/( )\.(?= )/,lookbehind:!0},/\.(?:[=~]|\.\.?)|\.(?:[&|^]|<<|>>>?)\.|:(?:=|:=?)|&&|\|[|>]|<(?:<<?<?|--?!?|~~?!?|[|=?])?|>[>=?]?|-(?:->?|>)?|\+\+?|@@?|%%?|\*\*?|!(?:~?=|--?>|~?~>)?|~(?:~?>|=)?|==?|\^\^?|[\/?]/],punctuation:/[(){}\[\]|.,:;`]/},e.languages.livescript["interpolated-string"].inside.interpolation.inside.rest=e.languages.livescript}e.exports=t,t.displayName="livescript",t.aliases=[]},5467:function(e){"use strict";function t(e){!function(e){e.languages.llvm={comment:/;.*/,string:{pattern:/"[^"]*"/,greedy:!0},boolean:/\b(?:false|true)\b/,variable:/[%@!#](?:(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+|\d+)/i,label:/(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+:/i,type:{pattern:/\b(?:double|float|fp128|half|i[1-9]\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)\b/,alias:"class-name"},keyword:/\b[a-z_][a-z_0-9]*\b/,number:/[+-]?\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b|\b0x[\dA-Fa-f]+\b|\b0xK[\dA-Fa-f]{20}\b|\b0x[ML][\dA-Fa-f]{32}\b|\b0xH[\dA-Fa-f]{4}\b/,punctuation:/[{}[\];(),.!*=<>]/}}(e)}e.exports=t,t.displayName="llvm",t.aliases=[]},2112:function(e){"use strict";function t(e){e.languages.log={string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?![st] | \w)(?:[^'\\\r\n]|\\.)*'/,greedy:!0},exception:{pattern:/(^|[^\w.])[a-z][\w.]*(?:Error|Exception):.*(?:(?:\r\n?|\n)[ \t]*(?:at[ \t].+|\.{3}.*|Caused by:.*))+(?:(?:\r\n?|\n)[ \t]*\.\.\. .*)?/,lookbehind:!0,greedy:!0,alias:["javastacktrace","language-javastacktrace"],inside:e.languages.javastacktrace||{keyword:/\bat\b/,function:/[a-z_][\w$]*(?=\()/,punctuation:/[.:()]/}},level:[{pattern:/\b(?:ALERT|CRIT|CRITICAL|EMERG|EMERGENCY|ERR|ERROR|FAILURE|FATAL|SEVERE)\b/,alias:["error","important"]},{pattern:/\b(?:WARN|WARNING|WRN)\b/,alias:["warning","important"]},{pattern:/\b(?:DISPLAY|INF|INFO|NOTICE|STATUS)\b/,alias:["info","keyword"]},{pattern:/\b(?:DBG|DEBUG|FINE)\b/,alias:["debug","keyword"]},{pattern:/\b(?:FINER|FINEST|TRACE|TRC|VERBOSE|VRB)\b/,alias:["trace","comment"]}],property:{pattern:/((?:^|[\]|])[ \t]*)[a-z_](?:[\w-]|\b\/\b)*(?:[. ]\(?\w(?:[\w-]|\b\/\b)*\)?)*:(?=\s)/im,lookbehind:!0},separator:{pattern:/(^|[^-+])-{3,}|={3,}|\*{3,}|- - /m,lookbehind:!0,alias:"comment"},url:/\b(?:file|ftp|https?):\/\/[^\s|,;'"]*[^\s|,;'">.]/,email:{pattern:/(^|\s)[-\w+.]+@[a-z][a-z0-9-]*(?:\.[a-z][a-z0-9-]*)+(?=\s)/,lookbehind:!0,alias:"url"},"ip-address":{pattern:/\b(?:\d{1,3}(?:\.\d{1,3}){3})\b/,alias:"constant"},"mac-address":{pattern:/\b[a-f0-9]{2}(?::[a-f0-9]{2}){5}\b/i,alias:"constant"},domain:{pattern:/(^|\s)[a-z][a-z0-9-]*(?:\.[a-z][a-z0-9-]*)*\.[a-z][a-z0-9-]+(?=\s)/,lookbehind:!0,alias:"constant"},uuid:{pattern:/\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/i,alias:"constant"},hash:{pattern:/\b(?:[a-f0-9]{32}){1,2}\b/i,alias:"constant"},"file-path":{pattern:/\b[a-z]:[\\/][^\s|,;:(){}\[\]"']+|(^|[\s:\[\](>|])\.{0,2}\/\w[^\s|,;:(){}\[\]"']*/i,lookbehind:!0,greedy:!0,alias:"string"},date:{pattern:RegExp(/\b\d{4}[-/]\d{2}[-/]\d{2}(?:T(?=\d{1,2}:)|(?=\s\d{1,2}:))/.source+"|"+/\b\d{1,4}[-/ ](?:\d{1,2}|Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)[-/ ]\d{2,4}T?\b/.source+"|"+/\b(?:(?:Fri|Mon|Sat|Sun|Thu|Tue|Wed)(?:\s{1,2}(?:Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep))?|Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)\s{1,2}\d{1,2}\b/.source,"i"),alias:"number"},time:{pattern:/\b\d{1,2}:\d{1,2}:\d{1,2}(?:[.,:]\d+)?(?:\s?[+-]\d{2}:?\d{2}|Z)?\b/,alias:"number"},boolean:/\b(?:false|null|true)\b/i,number:{pattern:/(^|[^.\w])(?:0x[a-f0-9]+|0o[0-7]+|0b[01]+|v?\d[\da-f]*(?:\.\d+)*(?:e[+-]?\d+)?[a-z]{0,3}\b)\b(?!\.\w)/i,lookbehind:!0},operator:/[;:?<=>~/@!$%&+\-|^(){}*#]/,punctuation:/[\[\].,]/}}e.exports=t,t.displayName="log",t.aliases=[]},1343:function(e){"use strict";function t(e){e.languages.lolcode={comment:[/\bOBTW\s[\s\S]*?\sTLDR\b/,/\bBTW.+/],string:{pattern:/"(?::.|[^":])*"/,inside:{variable:/:\{[^}]+\}/,symbol:[/:\([a-f\d]+\)/i,/:\[[^\]]+\]/,/:[)>o":]/]},greedy:!0},number:/(?:\B-)?(?:\b\d+(?:\.\d*)?|\B\.\d+)/,symbol:{pattern:/(^|\s)(?:A )?(?:BUKKIT|NOOB|NUMBAR|NUMBR|TROOF|YARN)(?=\s|,|$)/,lookbehind:!0,inside:{keyword:/A(?=\s)/}},label:{pattern:/((?:^|\s)(?:IM IN YR|IM OUTTA YR) )[a-zA-Z]\w*/,lookbehind:!0,alias:"string"},function:{pattern:/((?:^|\s)(?:HOW IZ I|I IZ|IZ) )[a-zA-Z]\w*/,lookbehind:!0},keyword:[{pattern:/(^|\s)(?:AN|FOUND YR|GIMMEH|GTFO|HAI|HAS A|HOW IZ I|I HAS A|I IZ|IF U SAY SO|IM IN YR|IM OUTTA YR|IS NOW(?: A)?|ITZ(?: A)?|IZ|KTHX|KTHXBYE|LIEK(?: A)?|MAEK|MEBBE|MKAY|NERFIN|NO WAI|O HAI IM|O RLY\?|OIC|OMG|OMGWTF|R|SMOOSH|SRS|TIL|UPPIN|VISIBLE|WILE|WTF\?|YA RLY|YR)(?=\s|,|$)/,lookbehind:!0},/'Z(?=\s|,|$)/],boolean:{pattern:/(^|\s)(?:FAIL|WIN)(?=\s|,|$)/,lookbehind:!0},variable:{pattern:/(^|\s)IT(?=\s|,|$)/,lookbehind:!0},operator:{pattern:/(^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:ALL|ANY|BIGGR|BOTH|DIFF|EITHER|MOD|PRODUKT|QUOSHUNT|SMALLR|SUM|WON) OF)(?=\s|,|$)/,lookbehind:!0},punctuation:/\.{3}|\u2026|,|!/}}e.exports=t,t.displayName="lolcode",t.aliases=[]},6759:function(e){"use strict";function t(e){e.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[^z]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:!0},number:/\b0x[a-f\d]+(?:\.[a-f\d]*)?(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|(?:\.\d*)?(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,function:/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/}}e.exports=t,t.displayName="lua",t.aliases=[]},9987:function(e){"use strict";function t(e){e.languages.magma={output:{pattern:/^(>.*(?:\r(?:\n|(?!\n))|\n))(?!>)(?:.+|(?:\r(?:\n|(?!\n))|\n)(?!>).*)(?:(?:\r(?:\n|(?!\n))|\n)(?!>).*)*/m,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/(^|[^\\"])"(?:[^\r\n\\"]|\\.)*"/,lookbehind:!0,greedy:!0},keyword:/\b(?:_|adj|and|assert|assert2|assert3|assigned|break|by|case|cat|catch|clear|cmpeq|cmpne|continue|declare|default|delete|diff|div|do|elif|else|end|eq|error|eval|exists|exit|for|forall|forward|fprintf|freeze|function|ge|gt|if|iload|import|in|intrinsic|is|join|le|load|local|lt|meet|mod|ne|not|notadj|notin|notsubset|or|print|printf|procedure|quit|random|read|readi|repeat|require|requirege|requirerange|restore|return|save|sdiff|select|subset|then|time|to|try|until|vprint|vprintf|vtime|when|where|while|xor)\b/,boolean:/\b(?:false|true)\b/,generator:{pattern:/\b[a-z_]\w*(?=\s*<)/i,alias:"class-name"},function:/\b[a-z_]\w*(?=\s*\()/i,number:{pattern:/(^|[^\w.]|\.\.)(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?(?:_[a-z]?)?(?=$|[^\w.]|\.\.)/,lookbehind:!0},operator:/->|[-+*/^~!|#=]|:=|\.\./,punctuation:/[()[\]{}<>,;.:]/}}e.exports=t,t.displayName="magma",t.aliases=[]},7589:function(e){"use strict";function t(e){e.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/}}e.exports=t,t.displayName="makefile",t.aliases=[]},7932:function(e){"use strict";function t(e){!function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),i=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+i+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+i+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+i+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!==typeof t)for(var n=0,r=t.length;n<r;n++){var a=t[n];if("code"===a.type){var i=a.content[1],o=a.content[3];if(i&&o&&"code-language"===i.type&&"code-block"===o.type&&"string"===typeof i.content){var s=i.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),l="language-"+(s=(/[a-z][\w-]*/i.exec(s)||[""])[0].toLowerCase());o.alias?"string"===typeof o.alias?o.alias=[o.alias,l]:o.alias.push(l):o.alias=[l]}}else e(a.content)}}(e.tokens)})),e.hooks.add("wrap",(function(t){if("code-block"===t.type){for(var n="",r=0,a=t.classes.length;r<a;r++){var i=t.classes[r],c=/language-(.+)/.exec(i);if(c){n=c[1];break}}var u=e.languages[n];if(u)t.content=e.highlight(function(e){var t=e.replace(o,"");return t=t.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(e,t){var n;if("#"===(t=t.toLowerCase())[0])return n="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),l(n);var r=s[t];return r||e}))}(t.content.value),u,n);else if(n&&"none"!==n&&e.plugins.autoloader){var d="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random());t.attributes.id=d,e.plugins.autoloader.loadLanguages(n,(function(){var t=document.getElementById(d);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))}))}}}));var o=RegExp(e.languages.markup.tag.pattern.source,"gi"),s={amp:"&",lt:"<",gt:">",quot:'"'},l=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(e)}e.exports=t,t.displayName="markdown",t.aliases=["md"]},595:function(e){"use strict";function t(e){!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,i){if(n.language===r){var o=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"===typeof i&&!i(e))return e;for(var a,s=o.length;-1!==n.code.indexOf(a=t(r,s));)++s;return o[s]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,i=Object.keys(n.tokenStack);!function o(s){for(var l=0;l<s.length&&!(a>=i.length);l++){var c=s[l];if("string"===typeof c||c.content&&"string"===typeof c.content){var u=i[a],d=n.tokenStack[u],p="string"===typeof c?c:c.content,m=t(r,u),f=p.indexOf(m);if(f>-1){++a;var g=p.substring(0,f),h=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=p.substring(f+m.length),E=[];g&&E.push.apply(E,o([g])),E.push(h),b&&E.push.apply(E,o([b])),"string"===typeof c?s.splice.apply(s,[l,1].concat(E)):c.content=E}}else c.content&&o(c.content)}return s}(n.tokens)}}}})}(e)}e.exports=t,t.displayName="markupTemplating",t.aliases=[]},2357:function(e){"use strict";function t(e){e.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},e.languages.markup.tag.inside["attr-value"].inside.entity=e.languages.markup.entity,e.languages.markup.doctype.inside["internal-subset"].inside=e.languages.markup,e.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.value.replace(/&/,"&"))})),Object.defineProperty(e.languages.markup.tag,"addInlined",{value:function(t,n){var r={};r["language-"+n]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:e.languages[n]},r.cdata=/^<!\[CDATA\[|\]\]>$/i;var a={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:r}};a["language-"+n]={pattern:/[\s\S]+/,inside:e.languages[n]};var i={};i[t]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return t})),"i"),lookbehind:!0,greedy:!0,inside:a},e.languages.insertBefore("markup","cdata",i)}}),Object.defineProperty(e.languages.markup.tag,"addAttribute",{value:function(t,n){e.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+t+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[n,"language-"+n],inside:e.languages[n]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),e.languages.html=e.languages.markup,e.languages.mathml=e.languages.markup,e.languages.svg=e.languages.markup,e.languages.xml=e.languages.extend("markup",{}),e.languages.ssml=e.languages.xml,e.languages.atom=e.languages.xml,e.languages.rss=e.languages.xml}e.exports=t,t.displayName="markup",t.aliases=["html","mathml","svg","xml","ssml","atom","rss"]},93:function(e){"use strict";function t(e){e.languages.matlab={comment:[/%\{[\s\S]*?\}%/,/%.+/],string:{pattern:/\B'(?:''|[^'\r\n])*'/,greedy:!0},number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[eE][+-]?\d+)?(?:[ij])?|\b[ij]\b/,keyword:/\b(?:NaN|break|case|catch|continue|else|elseif|end|for|function|if|inf|otherwise|parfor|pause|pi|return|switch|try|while)\b/,function:/\b(?!\d)\w+(?=\s*\()/,operator:/\.?[*^\/\\']|[+\-:@]|[<>=~]=?|&&?|\|\|?/,punctuation:/\.{3}|[.,;\[\](){}!]/}}e.exports=t,t.displayName="matlab",t.aliases=[]},4234:function(e){"use strict";function t(e){!function(e){var t=/\b(?:about|and|animate|as|at|attributes|by|case|catch|collect|continue|coordsys|do|else|exit|fn|for|from|function|global|if|in|local|macroscript|mapped|max|not|of|off|on|or|parameters|persistent|plugin|rcmenu|return|rollout|set|struct|then|throw|to|tool|try|undo|utility|when|where|while|with)\b/i;e.languages.maxscript={comment:{pattern:/\/\*[\s\S]*?(?:\*\/|$)|--.*/,greedy:!0},string:{pattern:/(^|[^"\\@])(?:"(?:[^"\\]|\\[\s\S])*"|@"[^"]*")/,lookbehind:!0,greedy:!0},path:{pattern:/\$(?:[\w/\\.*?]|'[^']*')*/,greedy:!0,alias:"string"},"function-call":{pattern:RegExp("((?:"+/^/.source+"|"+/[;=<>+\-*/^({\[]/.source+"|"+/\b(?:and|by|case|catch|collect|do|else|if|in|not|or|return|then|to|try|where|while|with)\b/.source+")[ \t]*)(?!"+t.source+")"+/[a-z_]\w*\b/.source+"(?=[ \t]*(?:(?!"+t.source+")"+/[a-z_]/.source+"|"+/\d|-\.?\d/.source+"|"+/[({'"$@#?]/.source+"))","im"),lookbehind:!0,greedy:!0,alias:"function"},"function-definition":{pattern:/(\b(?:fn|function)\s+)\w+\b/i,lookbehind:!0,alias:"function"},argument:{pattern:/\b[a-z_]\w*(?=:)/i,alias:"attr-name"},keyword:t,boolean:/\b(?:false|true)\b/,time:{pattern:/(^|[^\w.])(?:(?:(?:\d+(?:\.\d*)?|\.\d+)(?:[eEdD][+-]\d+|[LP])?[msft])+|\d+:\d+(?:\.\d*)?)(?![\w.:])/,lookbehind:!0,alias:"number"},number:[{pattern:/(^|[^\w.])(?:(?:\d+(?:\.\d*)?|\.\d+)(?:[eEdD][+-]\d+|[LP])?|0x[a-fA-F0-9]+)(?![\w.:])/,lookbehind:!0},/\b(?:e|pi)\b/],constant:/\b(?:dontcollect|ok|silentValue|undefined|unsupplied)\b/,color:{pattern:/\b(?:black|blue|brown|gray|green|orange|red|white|yellow)\b/i,alias:"constant"},operator:/[-+*/<>=!]=?|[&^?]|#(?!\()/,punctuation:/[()\[\]{}.:,;]|#(?=\()|\\$/m}}(e)}e.exports=t,t.displayName="maxscript",t.aliases=[]},1102:function(e){"use strict";function t(e){e.languages.mel={comment:/\/\/.*/,code:{pattern:/`(?:\\.|[^\\`\r\n])*`/,greedy:!0,alias:"italic",inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"}}},string:{pattern:/"(?:\\.|[^\\"\r\n])*"/,greedy:!0},variable:/\$\w+/,number:/\b0x[\da-fA-F]+\b|\b\d+(?:\.\d*)?|\B\.\d+/,flag:{pattern:/-[^\d\W]\w*/,alias:"operator"},keyword:/\b(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)\b/,function:/\b\w+(?=\()|\b(?:CBG|HfAddAttractorToAS|HfAssignAS|HfBuildEqualMap|HfBuildFurFiles|HfBuildFurImages|HfCancelAFR|HfConnectASToHF|HfCreateAttractor|HfDeleteAS|HfEditAS|HfPerformCreateAS|HfRemoveAttractorFromAS|HfSelectAttached|HfSelectAttractors|HfUnAssignAS|Mayatomr|about|abs|addAttr|addAttributeEditorNodeHelp|addDynamic|addNewShelfTab|addPP|addPanelCategory|addPrefixToName|advanceToNextDrivenKey|affectedNet|affects|aimConstraint|air|alias|aliasAttr|align|alignCtx|alignCurve|alignSurface|allViewFit|ambientLight|angle|angleBetween|animCone|animCurveEditor|animDisplay|animView|annotate|appendStringArray|applicationName|applyAttrPreset|applyTake|arcLenDimContext|arcLengthDimension|arclen|arrayMapper|art3dPaintCtx|artAttrCtx|artAttrPaintVertexCtx|artAttrSkinPaintCtx|artAttrTool|artBuildPaintMenu|artFluidAttrCtx|artPuttyCtx|artSelectCtx|artSetPaintCtx|artUserPaintCtx|assignCommand|assignInputDevice|assignViewportFactories|attachCurve|attachDeviceAttr|attachSurface|attrColorSliderGrp|attrCompatibility|attrControlGrp|attrEnumOptionMenu|attrEnumOptionMenuGrp|attrFieldGrp|attrFieldSliderGrp|attrNavigationControlGrp|attrPresetEditWin|attributeExists|attributeInfo|attributeMenu|attributeQuery|autoKeyframe|autoPlace|bakeClip|bakeFluidShading|bakePartialHistory|bakeResults|bakeSimulation|basename|basenameEx|batchRender|bessel|bevel|bevelPlus|binMembership|bindSkin|blend2|blendShape|blendShapeEditor|blendShapePanel|blendTwoAttr|blindDataType|boneLattice|boundary|boxDollyCtx|boxZoomCtx|bufferCurve|buildBookmarkMenu|buildKeyframeMenu|button|buttonManip|cacheFile|cacheFileCombine|cacheFileMerge|cacheFileTrack|camera|cameraView|canCreateManip|canvas|capitalizeString|catch|catchQuiet|ceil|changeSubdivComponentDisplayLevel|changeSubdivRegion|channelBox|character|characterMap|characterOutlineEditor|characterize|chdir|checkBox|checkBoxGrp|checkDefaultRenderGlobals|choice|circle|circularFillet|clamp|clear|clearCache|clip|clipEditor|clipEditorCurrentTimeCtx|clipSchedule|clipSchedulerOutliner|clipTrimBefore|closeCurve|closeSurface|cluster|cmdFileOutput|cmdScrollFieldExecuter|cmdScrollFieldReporter|cmdShell|coarsenSubdivSelectionList|collision|color|colorAtPoint|colorEditor|colorIndex|colorIndexSliderGrp|colorSliderButtonGrp|colorSliderGrp|columnLayout|commandEcho|commandLine|commandPort|compactHairSystem|componentEditor|compositingInterop|computePolysetVolume|condition|cone|confirmDialog|connectAttr|connectControl|connectDynamic|connectJoint|connectionInfo|constrain|constrainValue|constructionHistory|container|containsMultibyte|contextInfo|control|convertFromOldLayers|convertIffToPsd|convertLightmap|convertSolidTx|convertTessellation|convertUnit|copyArray|copyFlexor|copyKey|copySkinWeights|cos|cpButton|cpCache|cpClothSet|cpCollision|cpConstraint|cpConvClothToMesh|cpForces|cpGetSolverAttr|cpPanel|cpProperty|cpRigidCollisionFilter|cpSeam|cpSetEdit|cpSetSolverAttr|cpSolver|cpSolverTypes|cpTool|cpUpdateClothUVs|createDisplayLayer|createDrawCtx|createEditor|createLayeredPsdFile|createMotionField|createNewShelf|createNode|createRenderLayer|createSubdivRegion|cross|crossProduct|ctxAbort|ctxCompletion|ctxEditMode|ctxTraverse|currentCtx|currentTime|currentTimeCtx|currentUnit|curve|curveAddPtCtx|curveCVCtx|curveEPCtx|curveEditorCtx|curveIntersect|curveMoveEPCtx|curveOnSurface|curveSketchCtx|cutKey|cycleCheck|cylinder|dagPose|date|defaultLightListCheckBox|defaultNavigation|defineDataServer|defineVirtualDevice|deformer|deg_to_rad|delete|deleteAttr|deleteShadingGroupsAndMaterials|deleteShelfTab|deleteUI|deleteUnusedBrushes|delrandstr|detachCurve|detachDeviceAttr|detachSurface|deviceEditor|devicePanel|dgInfo|dgdirty|dgeval|dgtimer|dimWhen|directKeyCtx|directionalLight|dirmap|dirname|disable|disconnectAttr|disconnectJoint|diskCache|displacementToPoly|displayAffected|displayColor|displayCull|displayLevelOfDetail|displayPref|displayRGBColor|displaySmoothness|displayStats|displayString|displaySurface|distanceDimContext|distanceDimension|doBlur|dolly|dollyCtx|dopeSheetEditor|dot|dotProduct|doubleProfileBirailSurface|drag|dragAttrContext|draggerContext|dropoffLocator|duplicate|duplicateCurve|duplicateSurface|dynCache|dynControl|dynExport|dynExpression|dynGlobals|dynPaintEditor|dynParticleCtx|dynPref|dynRelEdPanel|dynRelEditor|dynamicLoad|editAttrLimits|editDisplayLayerGlobals|editDisplayLayerMembers|editRenderLayerAdjustment|editRenderLayerGlobals|editRenderLayerMembers|editor|editorTemplate|effector|emit|emitter|enableDevice|encodeString|endString|endsWith|env|equivalent|equivalentTol|erf|error|eval|evalDeferred|evalEcho|event|exactWorldBoundingBox|exclusiveLightCheckBox|exec|executeForEachObject|exists|exp|expression|expressionEditorListen|extendCurve|extendSurface|extrude|fcheck|fclose|feof|fflush|fgetline|fgetword|file|fileBrowserDialog|fileDialog|fileExtension|fileInfo|filetest|filletCurve|filter|filterCurve|filterExpand|filterStudioImport|findAllIntersections|findAnimCurves|findKeyframe|findMenuItem|findRelatedSkinCluster|finder|firstParentOf|fitBspline|flexor|floatEq|floatField|floatFieldGrp|floatScrollBar|floatSlider|floatSlider2|floatSliderButtonGrp|floatSliderGrp|floor|flow|fluidCacheInfo|fluidEmitter|fluidVoxelInfo|flushUndo|fmod|fontDialog|fopen|formLayout|format|fprint|frameLayout|fread|freeFormFillet|frewind|fromNativePath|fwrite|gamma|gauss|geometryConstraint|getApplicationVersionAsFloat|getAttr|getClassification|getDefaultBrush|getFileList|getFluidAttr|getInputDeviceRange|getMayaPanelTypes|getModifiers|getPanel|getParticleAttr|getPluginResource|getenv|getpid|glRender|glRenderEditor|globalStitch|gmatch|goal|gotoBindPose|grabColor|gradientControl|gradientControlNoAttr|graphDollyCtx|graphSelectContext|graphTrackCtx|gravity|grid|gridLayout|group|groupObjectsByName|hardenPointCurve|hardware|hardwareRenderPanel|headsUpDisplay|headsUpMessage|help|helpLine|hermite|hide|hilite|hitTest|hotBox|hotkey|hotkeyCheck|hsv_to_rgb|hudButton|hudSlider|hudSliderButton|hwReflectionMap|hwRender|hwRenderLoad|hyperGraph|hyperPanel|hyperShade|hypot|iconTextButton|iconTextCheckBox|iconTextRadioButton|iconTextRadioCollection|iconTextScrollList|iconTextStaticLabel|ikHandle|ikHandleCtx|ikHandleDisplayScale|ikSolver|ikSplineHandleCtx|ikSystem|ikSystemInfo|ikfkDisplayMethod|illustratorCurves|image|imfPlugins|inheritTransform|insertJoint|insertJointCtx|insertKeyCtx|insertKnotCurve|insertKnotSurface|instance|instanceable|instancer|intField|intFieldGrp|intScrollBar|intSlider|intSliderGrp|interToUI|internalVar|intersect|iprEngine|isAnimCurve|isConnected|isDirty|isParentOf|isSameObject|isTrue|isValidObjectName|isValidString|isValidUiName|isolateSelect|itemFilter|itemFilterAttr|itemFilterRender|itemFilterType|joint|jointCluster|jointCtx|jointDisplayScale|jointLattice|keyTangent|keyframe|keyframeOutliner|keyframeRegionCurrentTimeCtx|keyframeRegionDirectKeyCtx|keyframeRegionDollyCtx|keyframeRegionInsertKeyCtx|keyframeRegionMoveKeyCtx|keyframeRegionScaleKeyCtx|keyframeRegionSelectKeyCtx|keyframeRegionSetKeyCtx|keyframeRegionTrackCtx|keyframeStats|lassoContext|lattice|latticeDeformKeyCtx|launch|launchImageEditor|layerButton|layeredShaderPort|layeredTexturePort|layout|layoutDialog|lightList|lightListEditor|lightListPanel|lightlink|lineIntersection|linearPrecision|linstep|listAnimatable|listAttr|listCameras|listConnections|listDeviceAttachments|listHistory|listInputDeviceAxes|listInputDeviceButtons|listInputDevices|listMenuAnnotation|listNodeTypes|listPanelCategories|listRelatives|listSets|listTransforms|listUnselected|listerEditor|loadFluid|loadNewShelf|loadPlugin|loadPluginLanguageResources|loadPrefObjects|localizedPanelLabel|lockNode|loft|log|longNameOf|lookThru|ls|lsThroughFilter|lsType|lsUI|mag|makeIdentity|makeLive|makePaintable|makeRoll|makeSingleSurface|makeTubeOn|makebot|manipMoveContext|manipMoveLimitsCtx|manipOptions|manipRotateContext|manipRotateLimitsCtx|manipScaleContext|manipScaleLimitsCtx|marker|match|max|memory|menu|menuBarLayout|menuEditor|menuItem|menuItemToShelf|menuSet|menuSetPref|messageLine|min|minimizeApp|mirrorJoint|modelCurrentTimeCtx|modelEditor|modelPanel|mouse|movIn|movOut|move|moveIKtoFK|moveKeyCtx|moveVertexAlongDirection|multiProfileBirailSurface|mute|nParticle|nameCommand|nameField|namespace|namespaceInfo|newPanelItems|newton|nodeCast|nodeIconButton|nodeOutliner|nodePreset|nodeType|noise|nonLinear|normalConstraint|normalize|nurbsBoolean|nurbsCopyUVSet|nurbsCube|nurbsEditUV|nurbsPlane|nurbsSelect|nurbsSquare|nurbsToPoly|nurbsToPolygonsPref|nurbsToSubdiv|nurbsToSubdivPref|nurbsUVSet|nurbsViewDirectionVector|objExists|objectCenter|objectLayer|objectType|objectTypeUI|obsoleteProc|oceanNurbsPreviewPlane|offsetCurve|offsetCurveOnSurface|offsetSurface|openGLExtension|openMayaPref|optionMenu|optionMenuGrp|optionVar|orbit|orbitCtx|orientConstraint|outlinerEditor|outlinerPanel|overrideModifier|paintEffectsDisplay|pairBlend|palettePort|paneLayout|panel|panelConfiguration|panelHistory|paramDimContext|paramDimension|paramLocator|parent|parentConstraint|particle|particleExists|particleInstancer|particleRenderInfo|partition|pasteKey|pathAnimation|pause|pclose|percent|performanceOptions|pfxstrokes|pickWalk|picture|pixelMove|planarSrf|plane|play|playbackOptions|playblast|plugAttr|plugNode|pluginInfo|pluginResourceUtil|pointConstraint|pointCurveConstraint|pointLight|pointMatrixMult|pointOnCurve|pointOnSurface|pointPosition|poleVectorConstraint|polyAppend|polyAppendFacetCtx|polyAppendVertex|polyAutoProjection|polyAverageNormal|polyAverageVertex|polyBevel|polyBlendColor|polyBlindData|polyBoolOp|polyBridgeEdge|polyCacheMonitor|polyCheck|polyChipOff|polyClipboard|polyCloseBorder|polyCollapseEdge|polyCollapseFacet|polyColorBlindData|polyColorDel|polyColorPerVertex|polyColorSet|polyCompare|polyCone|polyCopyUV|polyCrease|polyCreaseCtx|polyCreateFacet|polyCreateFacetCtx|polyCube|polyCut|polyCutCtx|polyCylinder|polyCylindricalProjection|polyDelEdge|polyDelFacet|polyDelVertex|polyDuplicateAndConnect|polyDuplicateEdge|polyEditUV|polyEditUVShell|polyEvaluate|polyExtrudeEdge|polyExtrudeFacet|polyExtrudeVertex|polyFlipEdge|polyFlipUV|polyForceUV|polyGeoSampler|polyHelix|polyInfo|polyInstallAction|polyLayoutUV|polyListComponentConversion|polyMapCut|polyMapDel|polyMapSew|polyMapSewMove|polyMergeEdge|polyMergeEdgeCtx|polyMergeFacet|polyMergeFacetCtx|polyMergeUV|polyMergeVertex|polyMirrorFace|polyMoveEdge|polyMoveFacet|polyMoveFacetUV|polyMoveUV|polyMoveVertex|polyNormal|polyNormalPerVertex|polyNormalizeUV|polyOptUvs|polyOptions|polyOutput|polyPipe|polyPlanarProjection|polyPlane|polyPlatonicSolid|polyPoke|polyPrimitive|polyPrism|polyProjection|polyPyramid|polyQuad|polyQueryBlindData|polyReduce|polySelect|polySelectConstraint|polySelectConstraintMonitor|polySelectCtx|polySelectEditCtx|polySeparate|polySetToFaceNormal|polySewEdge|polyShortestPathCtx|polySmooth|polySoftEdge|polySphere|polySphericalProjection|polySplit|polySplitCtx|polySplitEdge|polySplitRing|polySplitVertex|polyStraightenUVBorder|polySubdivideEdge|polySubdivideFacet|polyToSubdiv|polyTorus|polyTransfer|polyTriangulate|polyUVSet|polyUnite|polyWedgeFace|popen|popupMenu|pose|pow|preloadRefEd|print|progressBar|progressWindow|projFileViewer|projectCurve|projectTangent|projectionContext|projectionManip|promptDialog|propModCtx|propMove|psdChannelOutliner|psdEditTextureFile|psdExport|psdTextureFile|putenv|pwd|python|querySubdiv|quit|rad_to_deg|radial|radioButton|radioButtonGrp|radioCollection|radioMenuItemCollection|rampColorPort|rand|randomizeFollicles|randstate|rangeControl|readTake|rebuildCurve|rebuildSurface|recordAttr|recordDevice|redo|reference|referenceEdit|referenceQuery|refineSubdivSelectionList|refresh|refreshAE|registerPluginResource|rehash|reloadImage|removeJoint|removeMultiInstance|removePanelCategory|rename|renameAttr|renameSelectionList|renameUI|render|renderGlobalsNode|renderInfo|renderLayerButton|renderLayerParent|renderLayerPostProcess|renderLayerUnparent|renderManip|renderPartition|renderQualityNode|renderSettings|renderThumbnailUpdate|renderWindowEditor|renderWindowSelectContext|renderer|reorder|reorderDeformers|requires|reroot|resampleFluid|resetAE|resetPfxToPolyCamera|resetTool|resolutionNode|retarget|reverseCurve|reverseSurface|revolve|rgb_to_hsv|rigidBody|rigidSolver|roll|rollCtx|rootOf|rot|rotate|rotationInterpolation|roundConstantRadius|rowColumnLayout|rowLayout|runTimeCommand|runup|sampleImage|saveAllShelves|saveAttrPreset|saveFluid|saveImage|saveInitialState|saveMenu|savePrefObjects|savePrefs|saveShelf|saveToolSettings|scale|scaleBrushBrightness|scaleComponents|scaleConstraint|scaleKey|scaleKeyCtx|sceneEditor|sceneUIReplacement|scmh|scriptCtx|scriptEditorInfo|scriptJob|scriptNode|scriptTable|scriptToShelf|scriptedPanel|scriptedPanelType|scrollField|scrollLayout|sculpt|searchPathArray|seed|selLoadSettings|select|selectContext|selectCurveCV|selectKey|selectKeyCtx|selectKeyframeRegionCtx|selectMode|selectPref|selectPriority|selectType|selectedNodes|selectionConnection|separator|setAttr|setAttrEnumResource|setAttrMapping|setAttrNiceNameResource|setConstraintRestPosition|setDefaultShadingGroup|setDrivenKeyframe|setDynamic|setEditCtx|setEditor|setFluidAttr|setFocus|setInfinity|setInputDeviceMapping|setKeyCtx|setKeyPath|setKeyframe|setKeyframeBlendshapeTargetWts|setMenuMode|setNodeNiceNameResource|setNodeTypeFlag|setParent|setParticleAttr|setPfxToPolyCamera|setPluginResource|setProject|setStampDensity|setStartupMessage|setState|setToolTo|setUITemplate|setXformManip|sets|shadingConnection|shadingGeometryRelCtx|shadingLightRelCtx|shadingNetworkCompare|shadingNode|shapeCompare|shelfButton|shelfLayout|shelfTabLayout|shellField|shortNameOf|showHelp|showHidden|showManipCtx|showSelectionInTitle|showShadingGroupAttrEditor|showWindow|sign|simplify|sin|singleProfileBirailSurface|size|sizeBytes|skinCluster|skinPercent|smoothCurve|smoothTangentSurface|smoothstep|snap2to2|snapKey|snapMode|snapTogetherCtx|snapshot|soft|softMod|softModCtx|sort|sound|soundControl|source|spaceLocator|sphere|sphrand|spotLight|spotLightPreviewPort|spreadSheetEditor|spring|sqrt|squareSurface|srtContext|stackTrace|startString|startsWith|stitchAndExplodeShell|stitchSurface|stitchSurfacePoints|strcmp|stringArrayCatenate|stringArrayContains|stringArrayCount|stringArrayInsertAtIndex|stringArrayIntersector|stringArrayRemove|stringArrayRemoveAtIndex|stringArrayRemoveDuplicates|stringArrayRemoveExact|stringArrayToString|stringToStringArray|strip|stripPrefixFromName|stroke|subdAutoProjection|subdCleanTopology|subdCollapse|subdDuplicateAndConnect|subdEditUV|subdListComponentConversion|subdMapCut|subdMapSewMove|subdMatchTopology|subdMirror|subdToBlind|subdToPoly|subdTransferUVsToCache|subdiv|subdivCrease|subdivDisplaySmoothness|substitute|substituteAllString|substituteGeometry|substring|surface|surfaceSampler|surfaceShaderList|swatchDisplayPort|switchTable|symbolButton|symbolCheckBox|sysFile|system|tabLayout|tan|tangentConstraint|texLatticeDeformContext|texManipContext|texMoveContext|texMoveUVShellContext|texRotateContext|texScaleContext|texSelectContext|texSelectShortestPathCtx|texSmudgeUVContext|texWinToolCtx|text|textCurves|textField|textFieldButtonGrp|textFieldGrp|textManip|textScrollList|textToShelf|textureDisplacePlane|textureHairColor|texturePlacementContext|textureWindow|threadCount|threePointArcCtx|timeControl|timePort|timerX|toNativePath|toggle|toggleAxis|toggleWindowVisibility|tokenize|tokenizeList|tolerance|tolower|toolButton|toolCollection|toolDropped|toolHasOptions|toolPropertyWindow|torus|toupper|trace|track|trackCtx|transferAttributes|transformCompare|transformLimits|translator|trim|trunc|truncateFluidCache|truncateHairCache|tumble|tumbleCtx|turbulence|twoPointArcCtx|uiRes|uiTemplate|unassignInputDevice|undo|undoInfo|ungroup|uniform|unit|unloadPlugin|untangleUV|untitledFileName|untrim|upAxis|updateAE|userCtx|uvLink|uvSnapshot|validateShelfName|vectorize|view2dToolCtx|viewCamera|viewClipPlane|viewFit|viewHeadOn|viewLookAt|viewManip|viewPlace|viewSet|visor|volumeAxis|vortex|waitCursor|warning|webBrowser|webBrowserPrefs|whatIs|window|windowPref|wire|wireContext|workspace|wrinkle|wrinkleContext|writeTake|xbmLangPathList|xform)\b/,operator:[/\+[+=]?|-[-=]?|&&|\|\||[<>]=|[*\/!=]=?|[%^]/,{pattern:/(^|[^<])<(?!<)/,lookbehind:!0},{pattern:/(^|[^>])>(?!>)/,lookbehind:!0}],punctuation:/<<|>>|[.,:;?\[\](){}]/},e.languages.mel.code.inside.rest=e.languages.mel}e.exports=t,t.displayName="mel",t.aliases=[]},2172:function(e){"use strict";function t(e){e.languages.mermaid={comment:{pattern:/%%.*/,greedy:!0},style:{pattern:/^([ \t]*(?:classDef|linkStyle|style)[ \t]+[\w$-]+[ \t]+)\w.*[^\s;]/m,lookbehind:!0,inside:{property:/\b\w[\w-]*(?=[ \t]*:)/,operator:/:/,punctuation:/,/}},"inter-arrow-label":{pattern:/([^<>ox.=-])(?:-[-.]|==)(?![<>ox.=-])[ \t]*(?:"[^"\r\n]*"|[^\s".=-](?:[^\r\n.=-]*[^\s.=-])?)[ \t]*(?:\.+->?|--+[->]|==+[=>])(?![<>ox.=-])/,lookbehind:!0,greedy:!0,inside:{arrow:{pattern:/(?:\.+->?|--+[->]|==+[=>])$/,alias:"operator"},label:{pattern:/^([\s\S]{2}[ \t]*)\S(?:[\s\S]*\S)?/,lookbehind:!0,alias:"property"},"arrow-head":{pattern:/^\S+/,alias:["arrow","operator"]}}},arrow:[{pattern:/(^|[^{}|o.-])[|}][|o](?:--|\.\.)[|o][|{](?![{}|o.-])/,lookbehind:!0,alias:"operator"},{pattern:/(^|[^<>ox.=-])(?:[<ox](?:==+|--+|-\.*-)[>ox]?|(?:==+|--+|-\.*-)[>ox]|===+|---+|-\.+-)(?![<>ox.=-])/,lookbehind:!0,alias:"operator"},{pattern:/(^|[^<>()x-])(?:--?(?:>>|[x>)])(?![<>()x])|(?:<<|[x<(])--?(?!-))/,lookbehind:!0,alias:"operator"},{pattern:/(^|[^<>|*o.-])(?:[*o]--|--[*o]|<\|?(?:--|\.\.)|(?:--|\.\.)\|?>|--|\.\.)(?![<>|*o.-])/,lookbehind:!0,alias:"operator"}],label:{pattern:/(^|[^|<])\|(?:[^\r\n"|]|"[^"\r\n]*")+\|/,lookbehind:!0,greedy:!0,alias:"property"},text:{pattern:/(?:[(\[{]+|\b>)(?:[^\r\n"()\[\]{}]|"[^"\r\n]*")+(?:[)\]}]+|>)/,alias:"string"},string:{pattern:/"[^"\r\n]*"/,greedy:!0},annotation:{pattern:/<<(?:abstract|choice|enumeration|fork|interface|join|service)>>|\[\[(?:choice|fork|join)\]\]/i,alias:"important"},keyword:[{pattern:/(^[ \t]*)(?:action|callback|class|classDef|classDiagram|click|direction|erDiagram|flowchart|gantt|gitGraph|graph|journey|link|linkStyle|pie|requirementDiagram|sequenceDiagram|stateDiagram|stateDiagram-v2|style|subgraph)(?![\w$-])/m,lookbehind:!0,greedy:!0},{pattern:/(^[ \t]*)(?:activate|alt|and|as|autonumber|deactivate|else|end(?:[ \t]+note)?|loop|opt|par|participant|rect|state|note[ \t]+(?:over|(?:left|right)[ \t]+of))(?![\w$-])/im,lookbehind:!0,greedy:!0}],entity:/#[a-z0-9]+;/,operator:{pattern:/(\w[ \t]*)&(?=[ \t]*\w)|:::|:/,lookbehind:!0},punctuation:/[(){};]/}}e.exports=t,t.displayName="mermaid",t.aliases=[]},1337:function(e){"use strict";function t(e){e.languages.mizar={comment:/::.+/,keyword:/@proof\b|\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|end|environ|equals|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|iff?|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:ies|y)|when|where|with|wrt)\b/,parameter:{pattern:/\$(?:10|\d)/,alias:"variable"},variable:/\b\w+(?=:)/,number:/(?:\b|-)\d+\b/,operator:/\.\.\.|->|&|\.?=/,punctuation:/\(#|#\)|[,:;\[\](){}]/}}e.exports=t,t.displayName="mizar",t.aliases=[]},5638:function(e){"use strict";function t(e){!function(e){var t=["$eq","$gt","$gte","$in","$lt","$lte","$ne","$nin","$and","$not","$nor","$or","$exists","$type","$expr","$jsonSchema","$mod","$regex","$text","$where","$geoIntersects","$geoWithin","$near","$nearSphere","$all","$elemMatch","$size","$bitsAllClear","$bitsAllSet","$bitsAnyClear","$bitsAnySet","$comment","$elemMatch","$meta","$slice","$currentDate","$inc","$min","$max","$mul","$rename","$set","$setOnInsert","$unset","$addToSet","$pop","$pull","$push","$pullAll","$each","$position","$slice","$sort","$bit","$addFields","$bucket","$bucketAuto","$collStats","$count","$currentOp","$facet","$geoNear","$graphLookup","$group","$indexStats","$limit","$listLocalSessions","$listSessions","$lookup","$match","$merge","$out","$planCacheStats","$project","$redact","$replaceRoot","$replaceWith","$sample","$set","$skip","$sort","$sortByCount","$unionWith","$unset","$unwind","$setWindowFields","$abs","$accumulator","$acos","$acosh","$add","$addToSet","$allElementsTrue","$and","$anyElementTrue","$arrayElemAt","$arrayToObject","$asin","$asinh","$atan","$atan2","$atanh","$avg","$binarySize","$bsonSize","$ceil","$cmp","$concat","$concatArrays","$cond","$convert","$cos","$dateFromParts","$dateToParts","$dateFromString","$dateToString","$dayOfMonth","$dayOfWeek","$dayOfYear","$degreesToRadians","$divide","$eq","$exp","$filter","$first","$floor","$function","$gt","$gte","$hour","$ifNull","$in","$indexOfArray","$indexOfBytes","$indexOfCP","$isArray","$isNumber","$isoDayOfWeek","$isoWeek","$isoWeekYear","$last","$last","$let","$literal","$ln","$log","$log10","$lt","$lte","$ltrim","$map","$max","$mergeObjects","$meta","$min","$millisecond","$minute","$mod","$month","$multiply","$ne","$not","$objectToArray","$or","$pow","$push","$radiansToDegrees","$range","$reduce","$regexFind","$regexFindAll","$regexMatch","$replaceOne","$replaceAll","$reverseArray","$round","$rtrim","$second","$setDifference","$setEquals","$setIntersection","$setIsSubset","$setUnion","$size","$sin","$slice","$split","$sqrt","$stdDevPop","$stdDevSamp","$strcasecmp","$strLenBytes","$strLenCP","$substr","$substrBytes","$substrCP","$subtract","$sum","$switch","$tan","$toBool","$toDate","$toDecimal","$toDouble","$toInt","$toLong","$toObjectId","$toString","$toLower","$toUpper","$trim","$trunc","$type","$week","$year","$zip","$count","$dateAdd","$dateDiff","$dateSubtract","$dateTrunc","$getField","$rand","$sampleRate","$setField","$unsetField","$comment","$explain","$hint","$max","$maxTimeMS","$min","$orderby","$query","$returnKey","$showDiskLoc","$natural"],n="(?:"+(t=t.map((function(e){return e.replace("$","\\$")}))).join("|")+")\\b";e.languages.mongodb=e.languages.extend("javascript",{}),e.languages.insertBefore("mongodb","string",{property:{pattern:/(?:(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)(?=\s*:)/,greedy:!0,inside:{keyword:RegExp("^(['\"])?"+n+"(?:\\1)?$")}}}),e.languages.mongodb.string.inside={url:{pattern:/https?:\/\/[-\w@:%.+~#=]{1,256}\.[a-z0-9()]{1,6}\b[-\w()@:%+.~#?&/=]*/i,greedy:!0},entity:{pattern:/\b(?:(?:[01]?\d\d?|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d\d?|2[0-4]\d|25[0-5])\b/,greedy:!0}},e.languages.insertBefore("mongodb","constant",{builtin:{pattern:RegExp("\\b(?:"+["ObjectId","Code","BinData","DBRef","Timestamp","NumberLong","NumberDecimal","MaxKey","MinKey","RegExp","ISODate","UUID"].join("|")+")\\b"),alias:"keyword"}})}(e)}e.exports=t,t.displayName="mongodb",t.aliases=[]},54:function(e){"use strict";function t(e){e.languages.monkey={comment:{pattern:/^#Rem\s[\s\S]*?^#End|'.+/im,greedy:!0},string:{pattern:/"[^"\r\n]*"/,greedy:!0},preprocessor:{pattern:/(^[ \t]*)#.+/m,lookbehind:!0,greedy:!0,alias:"property"},function:/\b\w+(?=\()/,"type-char":{pattern:/\b[?%#$]/,alias:"class-name"},number:{pattern:/((?:\.\.)?)(?:(?:\b|\B-\.?|\B\.)\d+(?:(?!\.\.)\.\d*)?|\$[\da-f]+)/i,lookbehind:!0},keyword:/\b(?:Abstract|Array|Bool|Case|Catch|Class|Const|Continue|Default|Eachin|Else|ElseIf|End|EndIf|Exit|Extends|Extern|False|Field|Final|Float|For|Forever|Function|Global|If|Implements|Import|Inline|Int|Interface|Local|Method|Module|New|Next|Null|Object|Private|Property|Public|Repeat|Return|Select|Self|Step|Strict|String|Super|Then|Throw|To|True|Try|Until|Void|Wend|While)\b/i,operator:/\.\.|<[=>]?|>=?|:?=|(?:[+\-*\/&~|]|\b(?:Mod|Shl|Shr)\b)=?|\b(?:And|Not|Or)\b/i,punctuation:/[.,:;()\[\]]/}}e.exports=t,t.displayName="monkey",t.aliases=[]},1741:function(e){"use strict";function t(e){e.languages.moonscript={comment:/--.*/,string:[{pattern:/'[^']*'|\[(=*)\[[\s\S]*?\]\1\]/,greedy:!0},{pattern:/"[^"]*"/,greedy:!0,inside:{interpolation:{pattern:/#\{[^{}]*\}/,inside:{moonscript:{pattern:/(^#\{)[\s\S]+(?=\})/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/#\{|\}/,alias:"punctuation"}}}}}],"class-name":[{pattern:/(\b(?:class|extends)[ \t]+)\w+/,lookbehind:!0},/\b[A-Z]\w*/],keyword:/\b(?:class|continue|do|else|elseif|export|extends|for|from|if|import|in|local|nil|return|self|super|switch|then|unless|using|when|while|with)\b/,variable:/@@?\w*/,property:{pattern:/\b(?!\d)\w+(?=:)|(:)(?!\d)\w+/,lookbehind:!0},function:{pattern:/\b(?:_G|_VERSION|assert|collectgarbage|coroutine\.(?:create|resume|running|status|wrap|yield)|debug\.(?:debug|getfenv|gethook|getinfo|getlocal|getmetatable|getregistry|getupvalue|setfenv|sethook|setlocal|setmetatable|setupvalue|traceback)|dofile|error|getfenv|getmetatable|io\.(?:close|flush|input|lines|open|output|popen|read|stderr|stdin|stdout|tmpfile|type|write)|ipairs|load|loadfile|loadstring|math\.(?:abs|acos|asin|atan|atan2|ceil|cos|cosh|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|pi|pow|rad|random|randomseed|sin|sinh|sqrt|tan|tanh)|module|next|os\.(?:clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\.(?:cpath|loaded|loadlib|path|preload|seeall)|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|string\.(?:byte|char|dump|find|format|gmatch|gsub|len|lower|match|rep|reverse|sub|upper)|table\.(?:concat|insert|maxn|remove|sort)|tonumber|tostring|type|unpack|xpcall)\b/,inside:{punctuation:/\./}},boolean:/\b(?:false|true)\b/,number:/(?:\B\.\d+|\b\d+\.\d+|\b\d+(?=[eE]))(?:[eE][-+]?\d+)?\b|\b(?:0x[a-fA-F\d]+|\d+)(?:U?LL)?\b/,operator:/\.{3}|[-=]>|~=|(?:[-+*/%<>!=]|\.\.)=?|[:#^]|\b(?:and|or)\b=?|\b(?:not)\b/,punctuation:/[.,()[\]{}\\]/},e.languages.moonscript.string[1].inside.interpolation.inside.moonscript.inside=e.languages.moonscript,e.languages.moon=e.languages.moonscript}e.exports=t,t.displayName="moonscript",t.aliases=["moon"]},2089:function(e){"use strict";function t(e){e.languages.n1ql={comment:{pattern:/\/\*[\s\S]*?(?:$|\*\/)|--.*/,greedy:!0},string:{pattern:/(["'])(?:\\[\s\S]|(?!\1)[^\\]|\1\1)*\1/,greedy:!0},identifier:{pattern:/`(?:\\[\s\S]|[^\\`]|``)*`/,greedy:!0},parameter:/\$[\w.]+/,keyword:/\b(?:ADVISE|ALL|ALTER|ANALYZE|AS|ASC|AT|BEGIN|BINARY|BOOLEAN|BREAK|BUCKET|BUILD|BY|CALL|CAST|CLUSTER|COLLATE|COLLECTION|COMMIT|COMMITTED|CONNECT|CONTINUE|CORRELATE|CORRELATED|COVER|CREATE|CURRENT|DATABASE|DATASET|DATASTORE|DECLARE|DECREMENT|DELETE|DERIVED|DESC|DESCRIBE|DISTINCT|DO|DROP|EACH|ELEMENT|EXCEPT|EXCLUDE|EXECUTE|EXPLAIN|FETCH|FILTER|FLATTEN|FLUSH|FOLLOWING|FOR|FORCE|FROM|FTS|FUNCTION|GOLANG|GRANT|GROUP|GROUPS|GSI|HASH|HAVING|IF|IGNORE|ILIKE|INCLUDE|INCREMENT|INDEX|INFER|INLINE|INNER|INSERT|INTERSECT|INTO|IS|ISOLATION|JAVASCRIPT|JOIN|KEY|KEYS|KEYSPACE|KNOWN|LANGUAGE|LAST|LEFT|LET|LETTING|LEVEL|LIMIT|LSM|MAP|MAPPING|MATCHED|MATERIALIZED|MERGE|MINUS|MISSING|NAMESPACE|NEST|NL|NO|NTH_VALUE|NULL|NULLS|NUMBER|OBJECT|OFFSET|ON|OPTION|OPTIONS|ORDER|OTHERS|OUTER|OVER|PARSE|PARTITION|PASSWORD|PATH|POOL|PRECEDING|PREPARE|PRIMARY|PRIVATE|PRIVILEGE|PROBE|PROCEDURE|PUBLIC|RANGE|RAW|REALM|REDUCE|RENAME|RESPECT|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLLBACK|ROW|ROWS|SATISFIES|SAVEPOINT|SCHEMA|SCOPE|SELECT|SELF|SEMI|SET|SHOW|SOME|START|STATISTICS|STRING|SYSTEM|TIES|TO|TRAN|TRANSACTION|TRIGGER|TRUNCATE|UNBOUNDED|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNSET|UPDATE|UPSERT|USE|USER|USING|VALIDATE|VALUE|VALUES|VIA|VIEW|WHERE|WHILE|WINDOW|WITH|WORK|XOR)\b/i,function:/\b[a-z_]\w*(?=\s*\()/i,boolean:/\b(?:FALSE|TRUE)\b/i,number:/(?:\b\d+\.|\B\.)\d+e[+\-]?\d+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/%]|!=|==?|\|\||<[>=]?|>=?|\b(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY|EXISTS|FIRST|IN|LIKE|NOT|OR|THEN|VALUED|WHEN|WITHIN)\b/i,punctuation:/[;[\](),.{}:]/}}e.exports=t,t.displayName="n1ql",t.aliases=[]},5739:function(e){"use strict";function t(e){e.languages.n4js=e.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),e.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),e.languages.n4jsd=e.languages.n4js}e.exports=t,t.displayName="n4js",t.aliases=["n4jsd"]},8347:function(e){"use strict";function t(e){e.languages["nand2tetris-hdl"]={comment:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,keyword:/\b(?:BUILTIN|CHIP|CLOCKED|IN|OUT|PARTS)\b/,boolean:/\b(?:false|true)\b/,function:/\b[A-Za-z][A-Za-z0-9]*(?=\()/,number:/\b\d+\b/,operator:/=|\.\./,punctuation:/[{}[\];(),:]/}}e.exports=t,t.displayName="nand2tetrisHdl",t.aliases=[]},9899:function(e){"use strict";function t(e){!function(e){var t=/\{[^\r\n\[\]{}]*\}/,n={"quoted-string":{pattern:/"(?:[^"\\]|\\.)*"/,alias:"operator"},"command-param-id":{pattern:/(\s)\w+:/,lookbehind:!0,alias:"property"},"command-param-value":[{pattern:t,alias:"selector"},{pattern:/([\t ])\S+/,lookbehind:!0,greedy:!0,alias:"operator"},{pattern:/\S(?:.*\S)?/,alias:"operator"}]};function r(e){return"string"===typeof e?e:Array.isArray(e)?e.map(r).join(""):r(e.content)}e.languages.naniscript={comment:{pattern:/^([\t ]*);.*/m,lookbehind:!0},define:{pattern:/^>.+/m,alias:"tag",inside:{value:{pattern:/(^>\w+[\t ]+)(?!\s)[^{}\r\n]+/,lookbehind:!0,alias:"operator"},key:{pattern:/(^>)\w+/,lookbehind:!0}}},label:{pattern:/^([\t ]*)#[\t ]*\w+[\t ]*$/m,lookbehind:!0,alias:"regex"},command:{pattern:/^([\t ]*)@\w+(?=[\t ]|$).*/m,lookbehind:!0,alias:"function",inside:{"command-name":/^@\w+/,expression:{pattern:t,greedy:!0,alias:"selector"},"command-params":{pattern:/\s*\S[\s\S]*/,inside:n}}},"generic-text":{pattern:/(^[ \t]*)[^#@>;\s].*/m,lookbehind:!0,alias:"punctuation",inside:{"escaped-char":/\\[{}\[\]"]/,expression:{pattern:t,greedy:!0,alias:"selector"},"inline-command":{pattern:/\[[\t ]*\w[^\r\n\[\]]*\]/,greedy:!0,alias:"function",inside:{"command-params":{pattern:/(^\[[\t ]*\w+\b)[\s\S]+(?=\]$)/,lookbehind:!0,inside:n},"command-param-name":{pattern:/^(\[[\t ]*)\w+/,lookbehind:!0,alias:"name"},"start-stop-char":/[\[\]]/}}}}},e.languages.nani=e.languages.naniscript,e.hooks.add("after-tokenize",(function(e){e.tokens.forEach((function(e){if("string"!==typeof e&&"generic-text"===e.type){var t=r(e);(function(e){for(var t="[]{}",n=[],r=0;r<e.length;r++){var a=e[r],i=t.indexOf(a);if(-1!==i)if(i%2===0)n.push(i+1);else if(n.pop()!==i)return!1}return 0===n.length})(t)||(e.type="bad-line",e.content=t)}}))}))}(e)}e.exports=t,t.displayName="naniscript",t.aliases=[]},2420:function(e){"use strict";function t(e){e.languages.nasm={comment:/;.*$/m,string:/(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,label:{pattern:/(^\s*)[A-Za-z._?$][\w.?$@~#]*:/m,lookbehind:!0,alias:"function"},keyword:[/\[?BITS (?:16|32|64)\]?/,{pattern:/(^\s*)section\s*[a-z.]+:?/im,lookbehind:!0},/(?:extern|global)[^;\r\n]*/i,/(?:CPU|DEFAULT|FLOAT).*$/m],register:{pattern:/\b(?:st\d|[xyz]mm\d\d?|[cdt]r\d|r\d\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|di|si|sp)|[cdefgs]s)\b/i,alias:"variable"},number:/(?:\b|(?=\$))(?:0[hx](?:\.[\da-f]+|[\da-f]+(?:\.[\da-f]+)?)(?:p[+-]?\d+)?|\d[\da-f]+[hx]|\$\d[\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\d+|(?:\d+(?:\.\d+)?|\.\d+)(?:\.?e[+-]?\d+)?[dt]?)\b/i,operator:/[\[\]*+\-\/%<>=&|$!]/}}e.exports=t,t.displayName="nasm",t.aliases=[]},2019:function(e){"use strict";function t(e){e.languages.neon={comment:{pattern:/#.*/,greedy:!0},datetime:{pattern:/(^|[[{(=:,\s])\d\d\d\d-\d\d?-\d\d?(?:(?:[Tt]| +)\d\d?:\d\d:\d\d(?:\.\d*)? *(?:Z|[-+]\d\d?(?::?\d\d)?)?)?(?=$|[\]}),\s])/,lookbehind:!0,alias:"number"},key:{pattern:/(^|[[{(,\s])[^,:=[\]{}()'"\s]+(?=\s*:(?:$|[\]}),\s])|\s*=)/,lookbehind:!0,alias:"atrule"},number:{pattern:/(^|[[{(=:,\s])[+-]?(?:0x[\da-fA-F]+|0o[0-7]+|0b[01]+|(?:\d+(?:\.\d*)?|\.?\d+)(?:[eE][+-]?\d+)?)(?=$|[\]}),:=\s])/,lookbehind:!0},boolean:{pattern:/(^|[[{(=:,\s])(?:false|no|true|yes)(?=$|[\]}),:=\s])/i,lookbehind:!0},null:{pattern:/(^|[[{(=:,\s])(?:null)(?=$|[\]}),:=\s])/i,lookbehind:!0,alias:"keyword"},string:{pattern:/(^|[[{(=:,\s])(?:('''|""")\r?\n(?:(?:[^\r\n]|\r?\n(?![\t ]*\2))*\r?\n)?[\t ]*\2|'[^'\r\n]*'|"(?:\\.|[^\\"\r\n])*")/,lookbehind:!0,greedy:!0},literal:{pattern:/(^|[[{(=:,\s])(?:[^#"',:=[\]{}()\s`-]|[:-][^"',=[\]{}()\s])(?:[^,:=\]})(\s]|:(?![\s,\]})]|$)|[ \t]+[^#,:=\]})(\s])*/,lookbehind:!0,alias:"string"},punctuation:/[,:=[\]{}()-]/}}e.exports=t,t.displayName="neon",t.aliases=[]},2618:function(e){"use strict";function t(e){e.languages.nevod={comment:/\/\/.*|(?:\/\*[\s\S]*?(?:\*\/|$))/,string:{pattern:/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))!?\*?/,greedy:!0,inside:{"string-attrs":/!$|!\*$|\*$/}},namespace:{pattern:/(@namespace\s+)[a-zA-Z0-9\-.]+(?=\s*\{)/,lookbehind:!0},pattern:{pattern:/(@pattern\s+)?#?[a-zA-Z0-9\-.]+(?:\s*\(\s*(?:~\s*)?[a-zA-Z0-9\-.]+\s*(?:,\s*(?:~\s*)?[a-zA-Z0-9\-.]*)*\))?(?=\s*=)/,lookbehind:!0,inside:{"pattern-name":{pattern:/^#?[a-zA-Z0-9\-.]+/,alias:"class-name"},fields:{pattern:/\(.*\)/,inside:{"field-name":{pattern:/[a-zA-Z0-9\-.]+/,alias:"variable"},punctuation:/[,()]/,operator:{pattern:/~/,alias:"field-hidden-mark"}}}}},search:{pattern:/(@search\s+|#)[a-zA-Z0-9\-.]+(?:\.\*)?(?=\s*;)/,alias:"function",lookbehind:!0},keyword:/@(?:having|inside|namespace|outside|pattern|require|search|where)\b/,"standard-pattern":{pattern:/\b(?:Alpha|AlphaNum|Any|Blank|End|LineBreak|Num|NumAlpha|Punct|Space|Start|Symbol|Word|WordBreak)\b(?:\([a-zA-Z0-9\-.,\s+]*\))?/,inside:{"standard-pattern-name":{pattern:/^[a-zA-Z0-9\-.]+/,alias:"builtin"},quantifier:{pattern:/\b\d+(?:\s*\+|\s*-\s*\d+)?(?!\w)/,alias:"number"},"standard-pattern-attr":{pattern:/[a-zA-Z0-9\-.]+/,alias:"builtin"},punctuation:/[,()]/}},quantifier:{pattern:/\b\d+(?:\s*\+|\s*-\s*\d+)?(?!\w)/,alias:"number"},operator:[{pattern:/=/,alias:"pattern-def"},{pattern:/&/,alias:"conjunction"},{pattern:/~/,alias:"exception"},{pattern:/\?/,alias:"optionality"},{pattern:/[[\]]/,alias:"repetition"},{pattern:/[{}]/,alias:"variation"},{pattern:/[+_]/,alias:"sequence"},{pattern:/\.{2,3}/,alias:"span"}],"field-capture":[{pattern:/([a-zA-Z0-9\-.]+\s*\()\s*[a-zA-Z0-9\-.]+\s*:\s*[a-zA-Z0-9\-.]+(?:\s*,\s*[a-zA-Z0-9\-.]+\s*:\s*[a-zA-Z0-9\-.]+)*(?=\s*\))/,lookbehind:!0,inside:{"field-name":{pattern:/[a-zA-Z0-9\-.]+/,alias:"variable"},colon:/:/}},{pattern:/[a-zA-Z0-9\-.]+\s*:/,inside:{"field-name":{pattern:/[a-zA-Z0-9\-.]+/,alias:"variable"},colon:/:/}}],punctuation:/[:;,()]/,name:/[a-zA-Z0-9\-.]+/}}e.exports=t,t.displayName="nevod",t.aliases=[]},8659:function(e){"use strict";function t(e){!function(e){var t=/\$(?:\w[a-z\d]*(?:_[^\x00-\x1F\s"'\\()$]*)?|\{[^}\s"'\\]+\})/i;e.languages.nginx={comment:{pattern:/(^|[\s{};])#.*/,lookbehind:!0,greedy:!0},directive:{pattern:/(^|\s)\w(?:[^;{}"'\\\s]|\\.|"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\s+(?:#.*(?!.)|(?![#\s])))*?(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:{string:{pattern:/((?:^|[^\\])(?:\\\\)*)(?:"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')/,lookbehind:!0,greedy:!0,inside:{escape:{pattern:/\\["'\\nrt]/,alias:"entity"},variable:t}},comment:{pattern:/(\s)#.*/,lookbehind:!0,greedy:!0},keyword:{pattern:/^\S+/,greedy:!0},boolean:{pattern:/(\s)(?:off|on)(?!\S)/,lookbehind:!0},number:{pattern:/(\s)\d+[a-z]*(?!\S)/i,lookbehind:!0},variable:t}},punctuation:/[{};]/}}(e)}e.exports=t,t.displayName="nginx",t.aliases=[]},6e3:function(e){"use strict";function t(e){e.languages.nim={comment:{pattern:/#.*/,greedy:!0},string:{pattern:/(?:\b(?!\d)(?:\w|\\x[89a-fA-F][0-9a-fA-F])+)?(?:"""[\s\S]*?"""(?!")|"(?:\\[\s\S]|""|[^"\\])*")/,greedy:!0},char:{pattern:/'(?:\\(?:\d+|x[\da-fA-F]{0,2}|.)|[^'])'/,greedy:!0},function:{pattern:/(?:(?!\d)(?:\w|\\x[89a-fA-F][0-9a-fA-F])+|`[^`\r\n]+`)\*?(?:\[[^\]]+\])?(?=\s*\()/,greedy:!0,inside:{operator:/\*$/}},identifier:{pattern:/`[^`\r\n]+`/,greedy:!0,inside:{punctuation:/`/}},number:/\b(?:0[xXoObB][\da-fA-F_]+|\d[\d_]*(?:(?!\.\.)\.[\d_]*)?(?:[eE][+-]?\d[\d_]*)?)(?:'?[iuf]\d*)?/,keyword:/\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\b/,operator:{pattern:/(^|[({\[](?=\.\.)|(?![({\[]\.).)(?:(?:[=+\-*\/<>@$~&%|!?^:\\]|\.\.|\.(?![)}\]]))+|\b(?:and|div|in|is|isnot|mod|not|notin|of|or|shl|shr|xor)\b)/m,lookbehind:!0},punctuation:/[({\[]\.|\.[)}\]]|[`(){}\[\],:]/}}e.exports=t,t.displayName="nim",t.aliases=[]},7190:function(e){"use strict";function t(e){e.languages.nix={comment:{pattern:/\/\*[\s\S]*?\*\/|#.*/,greedy:!0},string:{pattern:/"(?:[^"\\]|\\[\s\S])*"|''(?:(?!'')[\s\S]|''(?:'|\\|\$\{))*''/,greedy:!0,inside:{interpolation:{pattern:/(^|(?:^|(?!'').)[^\\])\$\{(?:[^{}]|\{[^}]*\})*\}/,lookbehind:!0,inside:null}}},url:[/\b(?:[a-z]{3,7}:\/\/)[\w\-+%~\/.:#=?&]+/,{pattern:/([^\/])(?:[\w\-+%~.:#=?&]*(?!\/\/)[\w\-+%~\/.:#=?&])?(?!\/\/)\/[\w\-+%~\/.:#=?&]*/,lookbehind:!0}],antiquotation:{pattern:/\$(?=\{)/,alias:"important"},number:/\b\d+\b/,keyword:/\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\b/,function:/\b(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:Tarball|url)|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf)\b|\bfoldl'\B/,boolean:/\b(?:false|true)\b/,operator:/[=!<>]=?|\+\+?|\|\||&&|\/\/|->?|[?@]/,punctuation:/[{}()[\].,:;]/},e.languages.nix.string.inside.interpolation.inside=e.languages.nix}e.exports=t,t.displayName="nix",t.aliases=[]},1465:function(e){"use strict";function t(e){e.languages.nsis={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|[#;].*)/,lookbehind:!0,greedy:!0},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:{pattern:/(^[\t ]*)(?:Abort|Add(?:BrandingImage|Size)|AdvSplash|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|BG(?:Font|Gradient|Image)|Banner|BrandingText|BringToFront|CRCCheck|Call(?:InstDLL)?|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|Create(?:Directory|Font|ShortCut)|Delete(?:INISec|INIStr|RegKey|RegValue)?|Detail(?:Print|sButtonText)|Dialer|Dir(?:Text|Var|Verify)|EnableWindow|Enum(?:RegKey|RegValue)|Exch|Exec(?:Shell(?:Wait)?|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read|ReadByte|ReadUTF16LE|ReadWord|Seek|Write|WriteByte|WriteUTF16LE|WriteWord)?|Find(?:Close|First|Next|Window)|FlushINI|Get(?:CurInstType|CurrentAddress|DLLVersion(?:Local)?|DlgItem|ErrorLevel|FileTime(?:Local)?|FullPathName|Function(?:Address|End)?|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|InstProgressFlags|Inst(?:Type(?:GetText|SetText)?)|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|Int(?:64|Ptr)?CmpU?|Int(?:64)?Fmt|Int(?:Ptr)?Op|IsWindow|Lang(?:DLL|String)|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|Manifest(?:DPIAware|SupportedOS)|Math|MessageBox|MiscButtonText|NSISdl|Name|Nop|OutFile|PE(?:DllCharacteristics|SubsysVer)|Page(?:Callbacks)?|Pop|Push|Quit|RMDir|Read(?:EnvStr|INIStr|RegDWORD|RegStr)|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|SearchPath|Section(?:End|GetFlags|GetInstTypes|GetSize|GetText|Group|In|SetFlags|SetInstTypes|SetSize|SetText)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress|Compressor(?:DictSize)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|ErrorLevel|Errors|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|RegView|ShellVarContext|Silent)|Show(?:InstDetails|UninstDetails|Window)|Silent(?:Install|UnInstall)|Sleep|SpaceTexts|Splash|StartMenu|Str(?:CmpS?|Cpy|Len)|SubCaption|System|UnRegDLL|Unicode|UninstPage|Uninstall(?:ButtonText|Caption|Icon|SubCaption|Text)|UserInfo|VI(?:AddVersionKey|FileVersion|ProductVersion)|VPatch|Var|WindowIcon|Write(?:INIStr|Reg(?:Bin|DWORD|ExpandStr|MultiStr|None|Str)|Uninstaller)|XPStyle|ns(?:Dialogs|Exec))\b/m,lookbehind:!0},property:/\b(?:ARCHIVE|FILE_(?:ATTRIBUTE_ARCHIVE|ATTRIBUTE_NORMAL|ATTRIBUTE_OFFLINE|ATTRIBUTE_READONLY|ATTRIBUTE_SYSTEM|ATTRIBUTE_TEMPORARY)|HK(?:(?:CR|CU|LM)(?:32|64)?|DD|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_CONFIG|CURRENT_USER|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON1|DEFBUTTON2|DEFBUTTON3|DEFBUTTON4|ICONEXCLAMATION|ICONINFORMATION|ICONQUESTION|ICONSTOP|OK|OKCANCEL|RETRYCANCEL|RIGHT|RTLREADING|SETFOREGROUND|TOPMOST|USERICON|YESNO)|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY|admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user)\b/,constant:/\$\{[!\w\.:\^-]+\}|\$\([!\w\.:\^-]+\)/,variable:/\$\w[\w\.]*/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--?|\+\+?|<=?|>=?|==?=?|&&?|\|\|?|[?*\/~^%]/,punctuation:/[{}[\];(),.:]/,important:{pattern:/(^[\t ]*)!(?:addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversion|gettlbversion|if|ifdef|ifmacrodef|ifmacrondef|ifndef|include|insertmacro|macro|macroend|makensis|packhdr|pragma|searchparse|searchreplace|system|tempfile|undef|verbose|warning)\b/im,lookbehind:!0}}}e.exports=t,t.displayName="nsis",t.aliases=[]},9263:function(e,t,n){"use strict";var r=n(272);function a(e){e.register(r),e.languages.objectivec=e.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete e.languages.objectivec["class-name"],e.languages.objc=e.languages.objectivec}e.exports=a,a.displayName="objectivec",a.aliases=["objc"]},4974:function(e){"use strict";function t(e){e.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/}}e.exports=t,t.displayName="ocaml",t.aliases=[]},6296:function(e,t,n){"use strict";var r=n(272);function a(e){e.register(r),function(e){e.languages.opencl=e.languages.extend("c",{keyword:/\b(?:(?:__)?(?:constant|global|kernel|local|private|read_only|read_write|write_only)|__attribute__|auto|(?:bool|u?(?:char|int|long|short)|half|quad)(?:2|3|4|8|16)?|break|case|complex|const|continue|(?:double|float)(?:16(?:x(?:1|2|4|8|16))?|1x(?:1|2|4|8|16)|2(?:x(?:1|2|4|8|16))?|3|4(?:x(?:1|2|4|8|16))?|8(?:x(?:1|2|4|8|16))?)?|default|do|else|enum|extern|for|goto|if|imaginary|inline|packed|pipe|register|restrict|return|signed|sizeof|static|struct|switch|typedef|uniform|union|unsigned|void|volatile|while)\b/,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[fuhl]{0,4}/i,boolean:/\b(?:false|true)\b/,"constant-opencl-kernel":{pattern:/\b(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FILTER_(?:LINEAR|NEAREST)|(?:GLOBAL|LOCAL)_MEM_FENCE|NORMALIZED_COORDS_(?:FALSE|TRUE))|CL_(?:BGRA|(?:HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?[Ax]?|(?:(?:UN)?SIGNED|[US]NORM)_(?:INT(?:8|16|32))|UNORM_(?:INT_101010|SHORT_(?:555|565)))|(?:DBL|FLT|HALF)_(?:DIG|EPSILON|(?:MAX|MIN)(?:(?:_10)?_EXP)?|MANT_DIG)|FLT_RADIX|HUGE_VALF?|(?:INT|LONG|SCHAR|SHRT)_(?:MAX|MIN)|INFINITY|MAXFLOAT|M_(?:[12]_PI|2_SQRTPI|E|LN(?:2|10)|LOG(?:2|10)E?|PI(?:_[24])?|SQRT(?:1_2|2))(?:_F|_H)?|NAN|(?:UCHAR|UINT|ULONG|USHRT)_MAX)\b/,alias:"constant"}}),e.languages.insertBefore("opencl","class-name",{"builtin-type":{pattern:/\b(?:_cl_(?:command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|cl_(?:image_format|mem_fence_flags)|clk_event_t|event_t|image(?:1d_(?:array_|buffer_)?t|2d_(?:array_(?:depth_|msaa_depth_|msaa_)?|depth_|msaa_depth_|msaa_)?t|3d_t)|intptr_t|ndrange_t|ptrdiff_t|queue_t|reserve_id_t|sampler_t|size_t|uintptr_t)\b/,alias:"keyword"}});var t={"type-opencl-host":{pattern:/\b(?:cl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(?:order|type)|(?:u?(?:char|int|long|short)|double|float)(?:2|3|4|8|16)?|command_(?:queue(?:_info|_properties)?|type)|context(?:_info|_properties)?|device_(?:exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(?:event|sampler)(?:_info)?|filter_mode|half|image_info|kernel(?:_info|_work_group_info)?|map_flags|mem(?:_flags|_info|_object_type)?|platform_(?:id|info)|profiling_info|program(?:_build_info|_info)?))\b/,alias:"keyword"},"boolean-opencl-host":{pattern:/\bCL_(?:FALSE|TRUE)\b/,alias:"boolean"},"constant-opencl-host":{pattern:/\bCL_(?:A|ABGR|ADDRESS_(?:CLAMP(?:_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(?:ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(?:ACQUIRE_GL_OBJECTS|BARRIER|COPY_(?:BUFFER(?:_RECT|_TO_IMAGE)?|IMAGE(?:_TO_BUFFER)?)|FILL_(?:BUFFER|IMAGE)|MAP(?:_BUFFER|_IMAGE)|MARKER|MIGRATE(?:_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(?:BUFFER(?:_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(?:FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(?:BUFFER(?:_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(?:DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(?:_STENCIL)?|DEVICE_(?:ADDRESS_BITS|AFFINITY_DOMAIN_(?:L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(?:MEM_(?:CACHELINE_SIZE|CACHE_SIZE|CACHE_TYPE|SIZE)|VARIABLE_PREFERRED_TOTAL_SIZE)|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(?:2D_MAX_(?:HEIGHT|WIDTH)|3D_MAX_(?:DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(?:CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(?:EVENTS|QUEUES)|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(?:AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(?:AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(?:ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(?:GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(?:ON_(?:DEVICE_(?:MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(?:ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(?:_ACCELERATOR|_ALL|_CPU|_CUSTOM|_DEFAULT|_GPU)?|VENDOR(?:_ID)?|VERSION)|DRIVER_VERSION|EVENT_(?:COMMAND_(?:EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(?:KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(?:LINEAR|NEAREST)|FLOAT|FP_(?:CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(?:ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(?:ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(?:ARG_(?:ACCESS_(?:NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(?:CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(?:CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(?:FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(?:ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(?:ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(?:CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(?:HOST_MEMORY|RESOURCES)|PIPE_(?:MAX_PACKETS|PACKET_SIZE)|PLATFORM_(?:EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(?:COMMAND_(?:COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(?:BINARIES|BINARY_SIZES|BINARY_TYPE(?:_COMPILED_OBJECT|_EXECUTABLE|_LIBRARY|_NONE)?|BUILD_(?:GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(?:CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(?:ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(?:ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(?:UN)?SIGNED_INT(?:8|16|32)|SNORM_INT(?:8|16)|SUBMITTED|SUCCESS|UNORM_INT(?:8|16|24|_101010|_101010_2)|UNORM_SHORT_(?:555|565)|VERSION_(?:1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)\b/,alias:"constant"},"function-opencl-host":{pattern:/\bcl(?:BuildProgram|CloneKernel|CompileProgram|Create(?:Buffer|CommandQueue(?:WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(?:Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue(?:(?:Barrier|Marker)(?:WithWaitList)?|Copy(?:Buffer(?:Rect|ToImage)?|Image(?:ToBuffer)?)|(?:Fill|Map)(?:Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(?:Read|Write)(?:Buffer(?:Rect)?|Image)|SVM(?:Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(?:CommandQueueInfo|ContextInfo|Device(?:AndHostTimer|IDs|Info)|Event(?:Profiling)?Info|ExtensionFunctionAddress(?:ForPlatform)?|HostTimer|ImageInfo|Kernel(?:ArgInfo|Info|SubGroupInfo|WorkGroupInfo)|MemObjectInfo|PipeInfo|Platform(?:IDs|Info)|Program(?:Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|(?:Release|Retain)(?:CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(?:Alloc|Free)|Set(?:CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel|Kernel(?:Arg(?:SVMPointer)?|ExecInfo)|MemObjectDestructorCallback|UserEventStatus)|Unload(?:Platform)?Compiler|WaitForEvents)\b/,alias:"function"}};e.languages.insertBefore("c","keyword",t),e.languages.cpp&&(t["type-opencl-host-cpp"]={pattern:/\b(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|Sampler|UserEvent)\b/,alias:"keyword"},e.languages.insertBefore("cpp","keyword",t))}(e)}e.exports=a,a.displayName="opencl",a.aliases=[]},6778:function(e){"use strict";function t(e){e.languages.openqasm={comment:/\/\*[\s\S]*?\*\/|\/\/.*/,string:{pattern:/"[^"\r\n\t]*"|'[^'\r\n\t]*'/,greedy:!0},keyword:/\b(?:CX|OPENQASM|U|barrier|boxas|boxto|break|const|continue|ctrl|def|defcal|defcalgrammar|delay|else|end|for|gate|gphase|if|in|include|inv|kernel|lengthof|let|measure|pow|reset|return|rotary|stretchinf|while)\b|#pragma\b/,"class-name":/\b(?:angle|bit|bool|creg|fixed|float|int|length|qreg|qubit|stretch|uint)\b/,function:/\b(?:cos|exp|ln|popcount|rotl|rotr|sin|sqrt|tan)\b(?=\s*\()/,constant:/\b(?:euler|pi|tau)\b|\u03c0|\ud835\udf0f|\u2107/,number:{pattern:/(^|[^.\w$])(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?(?:dt|ns|us|\xb5s|ms|s)?/i,lookbehind:!0},operator:/->|>>=?|<<=?|&&|\|\||\+\+|--|[!=<>&|~^+\-*/%]=?|@/,punctuation:/[(){}\[\];,:.]/},e.languages.qasm=e.languages.openqasm}e.exports=t,t.displayName="openqasm",t.aliases=["qasm"]},6792:function(e){"use strict";function t(e){e.languages.oz={comment:{pattern:/\/\*[\s\S]*?\*\/|%.*/,greedy:!0},string:{pattern:/"(?:[^"\\]|\\[\s\S])*"/,greedy:!0},atom:{pattern:/'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,alias:"builtin"},keyword:/\$|\[\]|\b(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\b/,function:[/\b[a-z][A-Za-z\d]*(?=\()/,{pattern:/(\{)[A-Z][A-Za-z\d]*\b/,lookbehind:!0}],number:/\b(?:0[bx][\da-f]+|\d+(?:\.\d*)?(?:e~?\d+)?)\b|&(?:[^\\]|\\(?:\d{3}|.))/i,variable:/`(?:[^`\\]|\\.)+`/,"attr-name":/\b\w+(?=[ \t]*:(?![:=]))/,operator:/:(?:=|::?)|<[-:=]?|=(?:=|<?:?)|>=?:?|\\=:?|!!?|[|#+\-*\/,~^@]|\b(?:andthen|div|mod|orelse)\b/,punctuation:/[\[\](){}.:;?]/}}e.exports=t,t.displayName="oz",t.aliases=[]},6478:function(e){"use strict";function t(e){e.languages.parigp={comment:/\/\*[\s\S]*?\*\/|\\\\.*/,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"/,greedy:!0},keyword:function(){var e=["breakpoint","break","dbg_down","dbg_err","dbg_up","dbg_x","forcomposite","fordiv","forell","forpart","forprime","forstep","forsubgroup","forvec","for","iferr","if","local","my","next","return","until","while"];return e=e.map((function(e){return e.split("").join(" *")})).join("|"),RegExp("\\b(?:"+e+")\\b")}(),function:/\b\w(?:[\w ]*\w)?(?= *\()/,number:{pattern:/((?:\. *\. *)?)(?:\b\d(?: *\d)*(?: *(?!\. *\.)\.(?: *\d)*)?|\. *\d(?: *\d)*)(?: *e *(?:[+-] *)?\d(?: *\d)*)?/i,lookbehind:!0},operator:/\. *\.|[*\/!](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\+(?: *[+=])?|-(?: *[-=>])?|<(?: *>|(?: *<)?(?: *=)?)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\(?: *\/)?(?: *=)?|&(?: *&)?|\| *\||['#~^]/,punctuation:/[\[\]{}().,:;|]/}}e.exports=t,t.displayName="parigp",t.aliases=[]},6806:function(e){"use strict";function t(e){!function(e){var t=e.languages.parser=e.languages.extend("markup",{keyword:{pattern:/(^|[^^])(?:\^(?:case|eval|for|if|switch|throw)\b|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)\b)/,lookbehind:!0},variable:{pattern:/(^|[^^])\B\$(?:\w+|(?=[.{]))(?:(?:\.|::?)\w+)*(?:\.|::?)?/,lookbehind:!0,inside:{punctuation:/\.|:+/}},function:{pattern:/(^|[^^])\B[@^]\w+(?:(?:\.|::?)\w+)*(?:\.|::?)?/,lookbehind:!0,inside:{keyword:{pattern:/(^@)(?:GET_|SET_)/,lookbehind:!0},punctuation:/\.|:+/}},escape:{pattern:/\^(?:[$^;@()\[\]{}"':]|#[a-f\d]*)/i,alias:"builtin"},punctuation:/[\[\](){};]/});t=e.languages.insertBefore("parser","keyword",{"parser-comment":{pattern:/(\s)#.*/,lookbehind:!0,alias:"comment"},expression:{pattern:/(^|[^^])\((?:[^()]|\((?:[^()]|\((?:[^()])*\))*\))*\)/,greedy:!0,lookbehind:!0,inside:{string:{pattern:/(^|[^^])(["'])(?:(?!\2)[^^]|\^[\s\S])*\2/,lookbehind:!0},keyword:t.keyword,variable:t.variable,function:t.function,boolean:/\b(?:false|true)\b/,number:/\b(?:0x[a-f\d]+|\d+(?:\.\d*)?(?:e[+-]?\d+)?)\b/i,escape:t.escape,operator:/[~+*\/\\%]|!(?:\|\|?|=)?|&&?|\|\|?|==|<[<=]?|>[>=]?|-[fd]?|\b(?:def|eq|ge|gt|in|is|le|lt|ne)\b/,punctuation:t.punctuation}}}),e.languages.insertBefore("inside","punctuation",{expression:t.expression,keyword:t.keyword,variable:t.variable,function:t.function,escape:t.escape,"parser-punctuation":{pattern:t.punctuation,alias:"punctuation"}},t.tag.inside["attr-value"])}(e)}e.exports=t,t.displayName="parser",t.aliases=[]},347:function(e){"use strict";function t(e){e.languages.pascal={directive:{pattern:/\{\$[\s\S]*?\}/,greedy:!0,alias:["marco","property"]},comment:{pattern:/\(\*[\s\S]*?\*\)|\{[\s\S]*?\}|\/\/.*/,greedy:!0},string:{pattern:/(?:'(?:''|[^'\r\n])*'(?!')|#[&$%]?[a-f\d]+)+|\^[a-z]/i,greedy:!0},asm:{pattern:/(\basm\b)[\s\S]+?(?=\bend\s*[;[])/i,lookbehind:!0,greedy:!0,inside:null},keyword:[{pattern:/(^|[^&])\b(?:absolute|array|asm|begin|case|const|constructor|destructor|do|downto|else|end|file|for|function|goto|if|implementation|inherited|inline|interface|label|nil|object|of|operator|packed|procedure|program|record|reintroduce|repeat|self|set|string|then|to|type|unit|until|uses|var|while|with)\b/i,lookbehind:!0},{pattern:/(^|[^&])\b(?:dispose|exit|false|new|true)\b/i,lookbehind:!0},{pattern:/(^|[^&])\b(?:class|dispinterface|except|exports|finalization|finally|initialization|inline|library|on|out|packed|property|raise|resourcestring|threadvar|try)\b/i,lookbehind:!0},{pattern:/(^|[^&])\b(?:absolute|abstract|alias|assembler|bitpacked|break|cdecl|continue|cppdecl|cvar|default|deprecated|dynamic|enumerator|experimental|export|external|far|far16|forward|generic|helper|implements|index|interrupt|iochecks|local|message|name|near|nodefault|noreturn|nostackframe|oldfpccall|otherwise|overload|override|pascal|platform|private|protected|public|published|read|register|reintroduce|result|safecall|saveregisters|softfloat|specialize|static|stdcall|stored|strict|unaligned|unimplemented|varargs|virtual|write)\b/i,lookbehind:!0}],number:[/(?:[&%]\d+|\$[a-f\d]+)/i,/\b\d+(?:\.\d+)?(?:e[+-]?\d+)?/i],operator:[/\.\.|\*\*|:=|<[<=>]?|>[>=]?|[+\-*\/]=?|[@^=]/,{pattern:/(^|[^&])\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\b/,lookbehind:!0}],punctuation:/\(\.|\.\)|[()\[\]:;,.]/},e.languages.pascal.asm.inside=e.languages.extend("pascal",{asm:void 0,keyword:void 0,operator:void 0}),e.languages.objectpascal=e.languages.pascal}e.exports=t,t.displayName="pascal",t.aliases=["objectpascal"]},7976:function(e){"use strict";function t(e){!function(e){var t=/\((?:[^()]|\((?:[^()]|\([^()]*\))*\))*\)/.source,n=/(?:\b\w+(?:<braces>)?|<braces>)/.source.replace(/<braces>/g,(function(){return t})),r=e.languages.pascaligo={comment:/\(\*[\s\S]+?\*\)|\/\/.*/,string:{pattern:/(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1|\^[a-z]/i,greedy:!0},"class-name":[{pattern:RegExp(/(\btype\s+\w+\s+is\s+)<type>/.source.replace(/<type>/g,(function(){return n})),"i"),lookbehind:!0,inside:null},{pattern:RegExp(/<type>(?=\s+is\b)/.source.replace(/<type>/g,(function(){return n})),"i"),inside:null},{pattern:RegExp(/(:\s*)<type>/.source.replace(/<type>/g,(function(){return n}))),lookbehind:!0,inside:null}],keyword:{pattern:/(^|[^&])\b(?:begin|block|case|const|else|end|fail|for|from|function|if|is|nil|of|remove|return|skip|then|type|var|while|with)\b/i,lookbehind:!0},boolean:{pattern:/(^|[^&])\b(?:False|True)\b/i,lookbehind:!0},builtin:{pattern:/(^|[^&])\b(?:bool|int|list|map|nat|record|string|unit)\b/i,lookbehind:!0},function:/\b\w+(?=\s*\()/,number:[/%[01]+|&[0-7]+|\$[a-f\d]+/i,/\b\d+(?:\.\d+)?(?:e[+-]?\d+)?(?:mtz|n)?/i],operator:/->|=\/=|\.\.|\*\*|:=|<[<=>]?|>[>=]?|[+\-*\/]=?|[@^=|]|\b(?:and|mod|or)\b/,punctuation:/\(\.|\.\)|[()\[\]:;,.{}]/},a=["comment","keyword","builtin","operator","punctuation"].reduce((function(e,t){return e[t]=r[t],e}),{});r["class-name"].forEach((function(e){e.inside=a}))}(e)}e.exports=t,t.displayName="pascaligo",t.aliases=[]},7484:function(e){"use strict";function t(e){e.languages.pcaxis={string:/"[^"]*"/,keyword:{pattern:/((?:^|;)\s*)[-A-Z\d]+(?:\s*\[[-\w]+\])?(?:\s*\("[^"]*"(?:,\s*"[^"]*")*\))?(?=\s*=)/,lookbehind:!0,greedy:!0,inside:{keyword:/^[-A-Z\d]+/,language:{pattern:/^(\s*)\[[-\w]+\]/,lookbehind:!0,inside:{punctuation:/^\[|\]$/,property:/[-\w]+/}},"sub-key":{pattern:/^(\s*)\S[\s\S]*/,lookbehind:!0,inside:{parameter:{pattern:/"[^"]*"/,alias:"property"},punctuation:/^\(|\)$|,/}}}},operator:/=/,tlist:{pattern:/TLIST\s*\(\s*\w+(?:(?:\s*,\s*"[^"]*")+|\s*,\s*"[^"]*"-"[^"]*")?\s*\)/,greedy:!0,inside:{function:/^TLIST/,property:{pattern:/^(\s*\(\s*)\w+/,lookbehind:!0},string:/"[^"]*"/,punctuation:/[(),]/,operator:/-/}},punctuation:/[;,]/,number:{pattern:/(^|\s)\d+(?:\.\d+)?(?!\S)/,lookbehind:!0},boolean:/NO|YES/},e.languages.px=e.languages.pcaxis}e.exports=t,t.displayName="pcaxis",t.aliases=["px"]},3205:function(e){"use strict";function t(e){e.languages.peoplecode={comment:RegExp([/\/\*[\s\S]*?\*\//.source,/\bREM[^;]*;/.source,/<\*(?:[^<*]|\*(?!>)|<(?!\*)|<\*(?:(?!\*>)[\s\S])*\*>)*\*>/.source,/\/\+[\s\S]*?\+\//.source].join("|")),string:{pattern:/'(?:''|[^'\r\n])*'(?!')|"(?:""|[^"\r\n])*"(?!")/,greedy:!0},variable:/%\w+/,"function-definition":{pattern:/((?:^|[^\w-])(?:function|method)\s+)\w+/i,lookbehind:!0,alias:"function"},"class-name":{pattern:/((?:^|[^-\w])(?:as|catch|class|component|create|extends|global|implements|instance|local|of|property|returns)\s+)\w+(?::\w+)*/i,lookbehind:!0,inside:{punctuation:/:/}},keyword:/\b(?:abstract|alias|as|catch|class|component|constant|create|declare|else|end-(?:class|evaluate|for|function|get|if|method|set|try|while)|evaluate|extends|for|function|get|global|if|implements|import|instance|library|local|method|null|of|out|peopleCode|private|program|property|protected|readonly|ref|repeat|returns?|set|step|then|throw|to|try|until|value|when(?:-other)?|while)\b/i,"operator-keyword":{pattern:/\b(?:and|not|or)\b/i,alias:"operator"},function:/[_a-z]\w*(?=\s*\()/i,boolean:/\b(?:false|true)\b/i,number:/\b\d+(?:\.\d+)?\b/,operator:/<>|[<>]=?|!=|\*\*|[-+*/|=@]/,punctuation:/[:.;,()[\]]/},e.languages.pcode=e.languages.peoplecode}e.exports=t,t.displayName="peoplecode",t.aliases=["pcode"]},1797:function(e){"use strict";function t(e){!function(e){var t=/(?:\((?:[^()\\]|\\[\s\S])*\)|\{(?:[^{}\\]|\\[\s\S])*\}|\[(?:[^[\]\\]|\\[\s\S])*\]|<(?:[^<>\\]|\\[\s\S])*>)/.source;e.languages.perl={comment:[{pattern:/(^\s*)=\w[\s\S]*?=cut.*/m,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\$])#.*/,lookbehind:!0,greedy:!0}],string:[{pattern:RegExp(/\b(?:q|qq|qw|qx)(?![a-zA-Z0-9])\s*/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,t].join("|")+")"),greedy:!0},{pattern:/("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/'(?:[^'\\\r\n]|\\.)*'/,greedy:!0}],regex:[{pattern:RegExp(/\b(?:m|qr)(?![a-zA-Z0-9])\s*/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,t].join("|")+")"+/[msixpodualngc]*/.source),greedy:!0},{pattern:RegExp(/(^|[^-])\b(?:s|tr|y)(?![a-zA-Z0-9])\s*/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,/([a-zA-Z0-9])(?:(?!\3)[^\\]|\\[\s\S])*\3(?:(?!\3)[^\\]|\\[\s\S])*\3/.source,t+/\s*/.source+t].join("|")+")"+/[msixpodualngcer]*/.source),lookbehind:!0,greedy:!0},{pattern:/\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|x|xor)\b))/,greedy:!0}],variable:[/[&*$@%]\{\^[A-Z]+\}/,/[&*$@%]\^[A-Z_]/,/[&*$@%]#?(?=\{)/,/[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+(?![\w$]))+(?:::)*/,/[&*$@%]\d+/,/(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/],filehandle:{pattern:/<(?![<=])\S*?>|\b_\b/,alias:"symbol"},"v-string":{pattern:/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/,alias:"string"},function:{pattern:/(\bsub[ \t]+)\w+/,lookbehind:!0},keyword:/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/,number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/,operator:/-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)\b/,punctuation:/[{}[\];(),:]/}}(e)}e.exports=t,t.displayName="perl",t.aliases=[]},7241:function(e,t,n){"use strict";var r=n(7304);function a(e){e.register(r),e.languages.insertBefore("php","variable",{this:{pattern:/\$this\b/,alias:"keyword"},global:/\$(?:GLOBALS|HTTP_RAW_POST_DATA|_(?:COOKIE|ENV|FILES|GET|POST|REQUEST|SERVER|SESSION)|argc|argv|http_response_header|php_errormsg)\b/,scope:{pattern:/\b[\w\\]+::/,inside:{keyword:/\b(?:parent|self|static)\b/,punctuation:/::|\\/}}})}e.exports=a,a.displayName="phpExtras",a.aliases=[]},7304:function(e,t,n){"use strict";var r=n(595);function a(e){e.register(r),function(e){var t=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,n=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],r=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,a=/<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,i=/[{}\[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:t,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s+)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:r,operator:a,punctuation:i};var o={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},s=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:o}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:o}}];e.languages.insertBefore("php","variable",{string:s,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:t,string:s,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,number:r,operator:a,punctuation:i}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),e.hooks.add("before-tokenize",(function(t){if(/<\?/.test(t.code)){e.languages["markup-templating"].buildPlaceholders(t,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)}})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"php")}))}(e)}e.exports=a,a.displayName="php",a.aliases=[]},7613:function(e,t,n){"use strict";var r=n(7304),a=n(9285);function i(e){e.register(r),e.register(a),function(e){var t=/(?:\b[a-zA-Z]\w*|[|\\[\]])+/.source;e.languages.phpdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp("(@(?:global|param|property(?:-read|-write)?|var)\\s+(?:"+t+"\\s+)?)\\$\\w+"),lookbehind:!0}}),e.languages.insertBefore("phpdoc","keyword",{"class-name":[{pattern:RegExp("(@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\\s+)"+t),lookbehind:!0,inside:{keyword:/\b(?:array|bool|boolean|callback|double|false|float|int|integer|mixed|null|object|resource|self|string|true|void)\b/,punctuation:/[|\\[\]()]/}}]}),e.languages.javadoclike.addSupport("php",e.languages.phpdoc)}(e)}e.exports=i,i.displayName="phpdoc",i.aliases=[]},7363:function(e,t,n){"use strict";var r=n(7740);function a(e){e.register(r),e.languages.plsql=e.languages.extend("sql",{comment:{pattern:/\/\*[\s\S]*?\*\/|--.*/,greedy:!0},keyword:/\b(?:A|ACCESSIBLE|ADD|AGENT|AGGREGATE|ALL|ALTER|AND|ANY|ARRAY|AS|ASC|AT|ATTRIBUTE|AUTHID|AVG|BEGIN|BETWEEN|BFILE_BASE|BINARY|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BULK|BY|BYTE|C|CALL|CALLING|CASCADE|CASE|CHAR|CHARACTER|CHARSET|CHARSETFORM|CHARSETID|CHAR_BASE|CHECK|CLOB_BASE|CLONE|CLOSE|CLUSTER|CLUSTERS|COLAUTH|COLLECT|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPILED|COMPRESS|CONNECT|CONSTANT|CONSTRUCTOR|CONTEXT|CONTINUE|CONVERT|COUNT|CRASH|CREATE|CREDENTIAL|CURRENT|CURSOR|CUSTOMDATUM|DANGLING|DATA|DATE|DATE_BASE|DAY|DECLARE|DEFAULT|DEFINE|DELETE|DESC|DETERMINISTIC|DIRECTORY|DISTINCT|DOUBLE|DROP|DURATION|ELEMENT|ELSE|ELSIF|EMPTY|END|ESCAPE|EXCEPT|EXCEPTION|EXCEPTIONS|EXCLUSIVE|EXECUTE|EXISTS|EXIT|EXTERNAL|FETCH|FINAL|FIRST|FIXED|FLOAT|FOR|FORALL|FORCE|FROM|FUNCTION|GENERAL|GOTO|GRANT|GROUP|HASH|HAVING|HEAP|HIDDEN|HOUR|IDENTIFIED|IF|IMMEDIATE|IMMUTABLE|IN|INCLUDING|INDEX|INDEXES|INDICATOR|INDICES|INFINITE|INSERT|INSTANTIABLE|INT|INTERFACE|INTERSECT|INTERVAL|INTO|INVALIDATE|IS|ISOLATION|JAVA|LANGUAGE|LARGE|LEADING|LENGTH|LEVEL|LIBRARY|LIKE|LIKE2|LIKE4|LIKEC|LIMIT|LIMITED|LOCAL|LOCK|LONG|LOOP|MAP|MAX|MAXLEN|MEMBER|MERGE|MIN|MINUS|MINUTE|MOD|MODE|MODIFY|MONTH|MULTISET|MUTABLE|NAME|NAN|NATIONAL|NATIVE|NCHAR|NEW|NOCOMPRESS|NOCOPY|NOT|NOWAIT|NULL|NUMBER_BASE|OBJECT|OCICOLL|OCIDATE|OCIDATETIME|OCIDURATION|OCIINTERVAL|OCILOBLOCATOR|OCINUMBER|OCIRAW|OCIREF|OCIREFCURSOR|OCIROWID|OCISTRING|OCITYPE|OF|OLD|ON|ONLY|OPAQUE|OPEN|OPERATOR|OPTION|OR|ORACLE|ORADATA|ORDER|ORGANIZATION|ORLANY|ORLVARY|OTHERS|OUT|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETER|PARAMETERS|PARENT|PARTITION|PASCAL|PERSISTABLE|PIPE|PIPELINED|PLUGGABLE|POLYMORPHIC|PRAGMA|PRECISION|PRIOR|PRIVATE|PROCEDURE|PUBLIC|RAISE|RANGE|RAW|READ|RECORD|REF|REFERENCE|RELIES_ON|REM|REMAINDER|RENAME|RESOURCE|RESULT|RESULT_CACHE|RETURN|RETURNING|REVERSE|REVOKE|ROLLBACK|ROW|SAMPLE|SAVE|SAVEPOINT|SB1|SB2|SB4|SECOND|SEGMENT|SELECT|SELF|SEPARATE|SEQUENCE|SERIALIZABLE|SET|SHARE|SHORT|SIZE|SIZE_T|SOME|SPARSE|SQL|SQLCODE|SQLDATA|SQLNAME|SQLSTATE|STANDARD|START|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUM|SYNONYM|TABAUTH|TABLE|TDO|THE|THEN|TIME|TIMESTAMP|TIMEZONE_ABBR|TIMEZONE_HOUR|TIMEZONE_MINUTE|TIMEZONE_REGION|TO|TRAILING|TRANSACTION|TRANSACTIONAL|TRUSTED|TYPE|UB1|UB2|UB4|UNDER|UNION|UNIQUE|UNPLUG|UNSIGNED|UNTRUSTED|UPDATE|USE|USING|VALIST|VALUE|VALUES|VARIABLE|VARIANCE|VARRAY|VARYING|VIEW|VIEWS|VOID|WHEN|WHERE|WHILE|WITH|WORK|WRAPPED|WRITE|YEAR|ZONE)\b/i,operator:/:=?|=>|[<>^~!]=|\.\.|\|\||\*\*|[-+*/%<>=@]/}),e.languages.insertBefore("plsql","operator",{label:{pattern:/<<\s*\w+\s*>>/,alias:"symbol"}})}e.exports=a,a.displayName="plsql",a.aliases=[]},7953:function(e){"use strict";function t(e){e.languages.powerquery={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},"quoted-identifier":{pattern:/#"(?:[^"\r\n]|"")*"(?!")/,greedy:!0},string:{pattern:/(?:#!)?"(?:[^"\r\n]|"")*"(?!")/,greedy:!0},constant:[/\bDay\.(?:Friday|Monday|Saturday|Sunday|Thursday|Tuesday|Wednesday)\b/,/\bTraceLevel\.(?:Critical|Error|Information|Verbose|Warning)\b/,/\bOccurrence\.(?:All|First|Last)\b/,/\bOrder\.(?:Ascending|Descending)\b/,/\bRoundingMode\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)\b/,/\bMissingField\.(?:Error|Ignore|UseNull)\b/,/\bQuoteStyle\.(?:Csv|None)\b/,/\bJoinKind\.(?:FullOuter|Inner|LeftAnti|LeftOuter|RightAnti|RightOuter)\b/,/\bGroupKind\.(?:Global|Local)\b/,/\bExtraValues\.(?:Error|Ignore|List)\b/,/\bJoinAlgorithm\.(?:Dynamic|LeftHash|LeftIndex|PairwiseHash|RightHash|RightIndex|SortMerge)\b/,/\bJoinSide\.(?:Left|Right)\b/,/\bPrecision\.(?:Decimal|Double)\b/,/\bRelativePosition\.From(?:End|Start)\b/,/\bTextEncoding\.(?:Ascii|BigEndianUnicode|Unicode|Utf16|Utf8|Windows)\b/,/\b(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Function|Int16|Int32|Int64|Int8|List|Logical|None|Number|Record|Table|Text|Time)\.Type\b/,/\bnull\b/],boolean:/\b(?:false|true)\b/,keyword:/\b(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwise|section|shared|then|try|type)\b|#(?:binary|date|datetime|datetimezone|duration|infinity|nan|sections|shared|table|time)\b/,function:{pattern:/(^|[^#\w.])[a-z_][\w.]*(?=\s*\()/i,lookbehind:!0},"data-type":{pattern:/\b(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time)\b/,alias:"class-name"},number:{pattern:/\b0x[\da-f]+\b|(?:[+-]?(?:\b\d+\.)?\b\d+|[+-]\.\d+|(^|[^.])\B\.\d+)(?:e[+-]?\d+)?\b/i,lookbehind:!0},operator:/[-+*\/&?@^]|<(?:=>?|>)?|>=?|=>?|\.\.\.?/,punctuation:/[,;\[\](){}]/},e.languages.pq=e.languages.powerquery,e.languages.mscript=e.languages.powerquery}e.exports=t,t.displayName="powerquery",t.aliases=[]},4986:function(e){"use strict";function t(e){!function(e){var t=e.languages.powershell={comment:[{pattern:/(^|[^`])<#[\s\S]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.*/,lookbehind:!0}],string:[{pattern:/"(?:`[\s\S]|[^`"])*"/,greedy:!0,inside:null},{pattern:/'(?:[^']|'')*'/,greedy:!0}],namespace:/\[[a-z](?:\[(?:\[[^\]]*\]|[^\[\]])*\]|[^\[\]])*\]/i,boolean:/\$(?:false|true)\b/i,variable:/\$\w+\b/,function:[/\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i,/\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i],keyword:/\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,operator:{pattern:/(^|\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\b|-[-=]?|\+[+=]?|[*\/%]=?)/i,lookbehind:!0},punctuation:/[|{}[\];(),.]/};t.string[0].inside={function:{pattern:/(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/,lookbehind:!0,inside:t},boolean:t.boolean,variable:t.variable}}(e)}e.exports=t,t.displayName="powershell",t.aliases=[]},4970:function(e){"use strict";function t(e){e.languages.processing=e.languages.extend("clike",{keyword:/\b(?:break|case|catch|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\b/,function:/\b\w+(?=\s*\()/,operator:/<[<=]?|>[>=]?|&&?|\|\|?|[%?]|[!=+\-*\/]=?/}),e.languages.insertBefore("processing","number",{constant:/\b(?!XML\b)[A-Z][A-Z\d_]+\b/,type:{pattern:/\b(?:boolean|byte|char|color|double|float|int|[A-Z]\w*)\b/,alias:"class-name"}})}e.exports=t,t.displayName="processing",t.aliases=[]},5725:function(e){"use strict";function t(e){e.languages.prolog={comment:{pattern:/\/\*[\s\S]*?\*\/|%.*/,greedy:!0},string:{pattern:/(["'])(?:\1\1|\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1(?!\1)/,greedy:!0},builtin:/\b(?:fx|fy|xf[xy]?|yfx?)\b/,function:/\b[a-z]\w*(?:(?=\()|\/\d+)/,number:/\b\d+(?:\.\d*)?/,operator:/[:\\=><\-?*@\/;+^|!$.]+|\b(?:is|mod|not|xor)\b/,punctuation:/[(){}\[\],]/}}e.exports=t,t.displayName="prolog",t.aliases=[]},7415:function(e){"use strict";function t(e){!function(e){var t=["on","ignoring","group_right","group_left","by","without"],n=["sum","min","max","avg","group","stddev","stdvar","count","count_values","bottomk","topk","quantile"].concat(t,["offset"]);e.languages.promql={comment:{pattern:/(^[ \t]*)#.*/m,lookbehind:!0},"vector-match":{pattern:new RegExp("((?:"+t.join("|")+")\\s*)\\([^)]*\\)"),lookbehind:!0,inside:{"label-key":{pattern:/\b[^,]+\b/,alias:"attr-name"},punctuation:/[(),]/}},"context-labels":{pattern:/\{[^{}]*\}/,inside:{"label-key":{pattern:/\b[a-z_]\w*(?=\s*(?:=|![=~]))/,alias:"attr-name"},"label-value":{pattern:/(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0,alias:"attr-value"},punctuation:/\{|\}|=~?|![=~]|,/}},"context-range":[{pattern:/\[[\w\s:]+\]/,inside:{punctuation:/\[|\]|:/,"range-duration":{pattern:/\b(?:\d+(?:[smhdwy]|ms))+\b/i,alias:"number"}}},{pattern:/(\boffset\s+)\w+/,lookbehind:!0,inside:{"range-duration":{pattern:/\b(?:\d+(?:[smhdwy]|ms))+\b/i,alias:"number"}}}],keyword:new RegExp("\\b(?:"+n.join("|")+")\\b","i"),function:/\b[a-z_]\w*(?=\s*\()/i,number:/[-+]?(?:(?:\b\d+(?:\.\d+)?|\B\.\d+)(?:e[-+]?\d+)?\b|\b(?:0x[0-9a-f]+|nan|inf)\b)/i,operator:/[\^*/%+-]|==|!=|<=|<|>=|>|\b(?:and|or|unless)\b/i,punctuation:/[{};()`,.[\]]/}}(e)}e.exports=t,t.displayName="promql",t.aliases=[]},9164:function(e){"use strict";function t(e){e.languages.properties={comment:/^[ \t]*[#!].*$/m,"attr-value":{pattern:/(^[ \t]*(?:\\(?:\r\n|[\s\S])|[^\\\s:=])+(?: *[=:] *(?! )| ))(?:\\(?:\r\n|[\s\S])|[^\\\r\n])+/m,lookbehind:!0},"attr-name":/^[ \t]*(?:\\(?:\r\n|[\s\S])|[^\\\s:=])+(?= *[=:]| )/m,punctuation:/[=:]/}}e.exports=t,t.displayName="properties",t.aliases=[]},4973:function(e){"use strict";function t(e){!function(e){var t=/\b(?:bool|bytes|double|s?fixed(?:32|64)|float|[su]?int(?:32|64)|string)\b/;e.languages.protobuf=e.languages.extend("clike",{"class-name":[{pattern:/(\b(?:enum|extend|message|service)\s+)[A-Za-z_]\w*(?=\s*\{)/,lookbehind:!0},{pattern:/(\b(?:rpc\s+\w+|returns)\s*\(\s*(?:stream\s+)?)\.?[A-Za-z_]\w*(?:\.[A-Za-z_]\w*)*(?=\s*\))/,lookbehind:!0}],keyword:/\b(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\s+\w)|service|stream|syntax|to)\b(?!\s*=\s*\d)/,function:/\b[a-z_]\w*(?=\s*\()/i}),e.languages.insertBefore("protobuf","operator",{map:{pattern:/\bmap<\s*[\w.]+\s*,\s*[\w.]+\s*>(?=\s+[a-z_]\w*\s*[=;])/i,alias:"class-name",inside:{punctuation:/[<>.,]/,builtin:t}},builtin:t,"positional-class-name":{pattern:/(?:\b|\B\.)[a-z_]\w*(?:\.[a-z_]\w*)*(?=\s+[a-z_]\w*\s*[=;])/i,alias:"class-name",inside:{punctuation:/\./}},annotation:{pattern:/(\[\s*)[a-z_]\w*(?=\s*=)/i,lookbehind:!0}})}(e)}e.exports=t,t.displayName="protobuf",t.aliases=[]},1344:function(e){"use strict";function t(e){e.languages.psl={comment:{pattern:/#.*/,greedy:!0},string:{pattern:/"(?:\\.|[^\\"])*"/,greedy:!0,inside:{symbol:/\\[ntrbA-Z"\\]/}},"heredoc-string":{pattern:/<<<([a-zA-Z_]\w*)[\r\n](?:.*[\r\n])*?\1\b/,alias:"string",greedy:!0},keyword:/\b(?:__multi|__single|case|default|do|else|elsif|exit|export|for|foreach|function|if|last|line|local|next|requires|return|switch|until|while|word)\b/,constant:/\b(?:ALARM|CHART_ADD_GRAPH|CHART_DELETE_GRAPH|CHART_DESTROY|CHART_LOAD|CHART_PRINT|EOF|OFFLINE|OK|PSL_PROF_LOG|R_CHECK_HORIZ|R_CHECK_VERT|R_CLICKER|R_COLUMN|R_FRAME|R_ICON|R_LABEL|R_LABEL_CENTER|R_LIST_MULTIPLE|R_LIST_MULTIPLE_ND|R_LIST_SINGLE|R_LIST_SINGLE_ND|R_MENU|R_POPUP|R_POPUP_SCROLLED|R_RADIO_HORIZ|R_RADIO_VERT|R_ROW|R_SCALE_HORIZ|R_SCALE_VERT|R_SEP_HORIZ|R_SEP_VERT|R_SPINNER|R_TEXT_FIELD|R_TEXT_FIELD_LABEL|R_TOGGLE|TRIM_LEADING|TRIM_LEADING_AND_TRAILING|TRIM_REDUNDANT|TRIM_TRAILING|VOID|WARN)\b/,boolean:/\b(?:FALSE|False|NO|No|TRUE|True|YES|Yes|false|no|true|yes)\b/,variable:/\b(?:PslDebug|errno|exit_status)\b/,builtin:{pattern:/\b(?:PslExecute|PslFunctionCall|PslFunctionExists|PslSetOptions|_snmp_debug|acos|add_diary|annotate|annotate_get|ascii_to_ebcdic|asctime|asin|atan|atexit|batch_set|blackout|cat|ceil|chan_exists|change_state|close|code_cvt|cond_signal|cond_wait|console_type|convert_base|convert_date|convert_locale_date|cos|cosh|create|date|dcget_text|destroy|destroy_lock|dget_text|difference|dump_hist|ebcdic_to_ascii|encrypt|event_archive|event_catalog_get|event_check|event_query|event_range_manage|event_range_query|event_report|event_schedule|event_trigger|event_trigger2|execute|exists|exp|fabs|file|floor|fmod|fopen|fseek|ftell|full_discovery|get|get_chan_info|get_ranges|get_text|get_vars|getenv|gethostinfo|getpid|getpname|grep|history|history_get_retention|in_transition|index|int|internal|intersection|is_var|isnumber|join|kill|length|lines|lock|lock_info|log|log10|loge|matchline|msg_check|msg_get_format|msg_get_severity|msg_printf|msg_sprintf|ntharg|nthargf|nthline|nthlinef|num_bytes|num_consoles|pconfig|popen|poplines|pow|print|printf|proc_exists|process|random|read|readln|refresh_parameters|remote_check|remote_close|remote_event_query|remote_event_trigger|remote_file_send|remote_open|remove|replace|rindex|sec_check_priv|sec_store_get|sec_store_set|set|set_alarm_ranges|set_locale|share|sin|sinh|sleep|snmp_agent_config|snmp_agent_start|snmp_agent_stop|snmp_close|snmp_config|snmp_get|snmp_get_next|snmp_h_get|snmp_h_get_next|snmp_h_set|snmp_open|snmp_set|snmp_trap_ignore|snmp_trap_listen|snmp_trap_raise_std_trap|snmp_trap_receive|snmp_trap_register_im|snmp_trap_send|snmp_walk|sopen|sort|splitline|sprintf|sqrt|srandom|str_repeat|strcasecmp|subset|substr|system|tail|tan|tanh|text_domain|time|tmpnam|tolower|toupper|trace_psl_process|trim|union|unique|unlock|unset|va_arg|va_start|write)\b/,alias:"builtin-function"},"foreach-variable":{pattern:/(\bforeach\s+(?:(?:\w+\b|"(?:\\.|[^\\"])*")\s+){0,2})[_a-zA-Z]\w*(?=\s*\()/,lookbehind:!0,greedy:!0},function:/\b[_a-z]\w*\b(?=\s*\()/i,number:/\b(?:0x[0-9a-f]+|\d+(?:\.\d+)?)\b/i,operator:/--|\+\+|&&=?|\|\|=?|<<=?|>>=?|[=!]~|[-+*/%&|^!=<>]=?|\.|[:?]/,punctuation:/[(){}\[\];,]/}}e.exports=t,t.displayName="psl",t.aliases=[]},9862:function(e){"use strict";function t(e){!function(e){e.languages.pug={comment:{pattern:/(^([\t ]*))\/\/.*(?:(?:\r?\n|\r)\2[\t ].+)*/m,lookbehind:!0},"multiline-script":{pattern:/(^([\t ]*)script\b.*\.[\t ]*)(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/m,lookbehind:!0,inside:e.languages.javascript},filter:{pattern:/(^([\t ]*)):.+(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/m,lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"},text:/\S[\s\S]*/}},"multiline-plain-text":{pattern:/(^([\t ]*)[\w\-#.]+\.[\t ]*)(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/m,lookbehind:!0},markup:{pattern:/(^[\t ]*)<.+/m,lookbehind:!0,inside:e.languages.markup},doctype:{pattern:/((?:^|\n)[\t ]*)doctype(?: .+)?/,lookbehind:!0},"flow-control":{pattern:/(^[\t ]*)(?:case|default|each|else|if|unless|when|while)\b(?: .+)?/m,lookbehind:!0,inside:{each:{pattern:/^each .+? in\b/,inside:{keyword:/\b(?:each|in)\b/,punctuation:/,/}},branch:{pattern:/^(?:case|default|else|if|unless|when|while)\b/,alias:"keyword"},rest:e.languages.javascript}},keyword:{pattern:/(^[\t ]*)(?:append|block|extends|include|prepend)\b.+/m,lookbehind:!0},mixin:[{pattern:/(^[\t ]*)mixin .+/m,lookbehind:!0,inside:{keyword:/^mixin/,function:/\w+(?=\s*\(|\s*$)/,punctuation:/[(),.]/}},{pattern:/(^[\t ]*)\+.+/m,lookbehind:!0,inside:{name:{pattern:/^\+\w+/,alias:"function"},rest:e.languages.javascript}}],script:{pattern:/(^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]).+/m,lookbehind:!0,inside:e.languages.javascript},"plain-text":{pattern:/(^[\t ]*(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]).+/m,lookbehind:!0},tag:{pattern:/(^[\t ]*)(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m,lookbehind:!0,inside:{attributes:[{pattern:/&[^(]+\([^)]+\)/,inside:e.languages.javascript},{pattern:/\([^)]+\)/,inside:{"attr-value":{pattern:/(=\s*(?!\s))(?:\{[^}]*\}|[^,)\r\n]+)/,lookbehind:!0,inside:e.languages.javascript},"attr-name":/[\w-]+(?=\s*!?=|\s*[,)])/,punctuation:/[!=(),]+/}}],punctuation:/:/,"attr-id":/#[\w\-]+/,"attr-class":/\.[\w\-]+/}},code:[{pattern:/(^[\t ]*(?:-|!?=)).+/m,lookbehind:!0,inside:e.languages.javascript}],punctuation:/[.\-!=|]+/};for(var t=/(^([\t ]*)):<filter_name>(?:(?:\r?\n|\r(?!\n))(?:\2[\t ].+|\s*?(?=\r?\n|\r)))+/.source,n=[{filter:"atpl",language:"twig"},{filter:"coffee",language:"coffeescript"},"ejs","handlebars","less","livescript","markdown",{filter:"sass",language:"scss"},"stylus"],r={},a=0,i=n.length;a<i;a++){var o=n[a];o="string"===typeof o?{filter:o,language:o}:o,e.languages[o.language]&&(r["filter-"+o.filter]={pattern:RegExp(t.replace("<filter_name>",(function(){return o.filter})),"m"),lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"},text:{pattern:/\S[\s\S]*/,alias:[o.language,"language-"+o.language],inside:e.languages[o.language]}}})}e.languages.insertBefore("pug","filter",r)}(e)}e.exports=t,t.displayName="pug",t.aliases=[]},354:function(e){"use strict";function t(e){!function(e){e.languages.puppet={heredoc:[{pattern:/(@\("([^"\r\n\/):]+)"(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r(?!\n)))*?[ \t]*(?:\|[ \t]*)?(?:-[ \t]*)?\2/,lookbehind:!0,alias:"string",inside:{punctuation:/(?=\S).*\S(?= *$)/}},{pattern:/(@\(([^"\r\n\/):]+)(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r(?!\n)))*?[ \t]*(?:\|[ \t]*)?(?:-[ \t]*)?\2/,lookbehind:!0,greedy:!0,alias:"string",inside:{punctuation:/(?=\S).*\S(?= *$)/}},{pattern:/@\("?(?:[^"\r\n\/):]+)"?(?:\/[nrts$uL]*)?\)/,alias:"string",inside:{punctuation:{pattern:/(\().+?(?=\))/,lookbehind:!0}}}],"multiline-comment":{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0,greedy:!0,alias:"comment"},regex:{pattern:/((?:\bnode\s+|[~=\(\[\{,]\s*|[=+]>\s*|^\s*))\/(?:[^\/\\]|\\[\s\S])+\/(?:[imx]+\b|\B)/,lookbehind:!0,greedy:!0,inside:{"extended-regex":{pattern:/^\/(?:[^\/\\]|\\[\s\S])+\/[im]*x[im]*$/,inside:{comment:/#.*/}}}},comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},string:{pattern:/(["'])(?:\$\{(?:[^'"}]|(["'])(?:(?!\2)[^\\]|\\[\s\S])*\2)+\}|\$(?!\{)|(?!\1)[^\\$]|\\[\s\S])*\1/,greedy:!0,inside:{"double-quoted":{pattern:/^"[\s\S]*"$/,inside:{}}}},variable:{pattern:/\$(?:::)?\w+(?:::\w+)*/,inside:{punctuation:/::/}},"attr-name":/(?:\b\w+|\*)(?=\s*=>)/,function:[{pattern:/(\.)(?!\d)\w+/,lookbehind:!0},/\b(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\b|\b(?!\d)\w+(?=\()/],number:/\b(?:0x[a-f\d]+|\d+(?:\.\d+)?(?:e-?\d+)?)\b/i,boolean:/\b(?:false|true)\b/,keyword:/\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\b/,datatype:{pattern:/\b(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)\b/,alias:"symbol"},operator:/=[=~>]?|![=~]?|<(?:<\|?|[=~|-])?|>[>=]?|->?|~>|\|>?>?|[*\/%+?]|\b(?:and|in|or)\b/,punctuation:/[\[\]{}().,;]|:+/};var t=[{pattern:/(^|[^\\])\$\{(?:[^'"{}]|\{[^}]*\}|(["'])(?:(?!\2)[^\\]|\\[\s\S])*\2)+\}/,lookbehind:!0,inside:{"short-variable":{pattern:/(^\$\{)(?!\w+\()(?:::)?\w+(?:::\w+)*/,lookbehind:!0,alias:"variable",inside:{punctuation:/::/}},delimiter:{pattern:/^\$/,alias:"variable"},rest:e.languages.puppet}},{pattern:/(^|[^\\])\$(?:::)?\w+(?:::\w+)*/,lookbehind:!0,alias:"variable",inside:{punctuation:/::/}}];e.languages.puppet.heredoc[0].inside.interpolation=t,e.languages.puppet.string.inside["double-quoted"].inside.interpolation=t}(e)}e.exports=t,t.displayName="puppet",t.aliases=[]},883:function(e){"use strict";function t(e){!function(e){e.languages.pure={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0},/#!.+/],"inline-lang":{pattern:/%<[\s\S]+?%>/,greedy:!0,inside:{lang:{pattern:/(^%< *)-\*-.+?-\*-/,lookbehind:!0,alias:"comment"},delimiter:{pattern:/^%<.*|%>$/,alias:"punctuation"}}},string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0},number:{pattern:/((?:\.\.)?)(?:\b(?:inf|nan)\b|\b0x[\da-f]+|(?:\b(?:0b)?\d+(?:\.\d+)?|\B\.\d+)(?:e[+-]?\d+)?L?)/i,lookbehind:!0},keyword:/\b(?:NULL|ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)\b/,function:/\b(?:abs|add_(?:addr|constdef|(?:fundef|interface|macdef|typedef)(?:_at)?|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_c?string(?:_pointer)?|byte_(?:matrix|pointer)|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float(?:_matrix|_pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|sentry|short|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)\b/,special:{pattern:/\b__[a-z]+__\b/i,alias:"builtin"},operator:/(?:[!"#$%&'*+,\-.\/:<=>?@\\^`|~\u00a1-\u00bf\u00d7-\u00f7\u20d0-\u2bff]|\b_+\b)+|\b(?:and|div|mod|not|or)\b/,punctuation:/[(){}\[\];,|]/};var t=/%< *-\*- *<lang>\d* *-\*-[\s\S]+?%>/.source;["c",{lang:"c++",alias:"cpp"},"fortran"].forEach((function(n){var r=n;if("string"!==typeof n&&(r=n.alias,n=n.lang),e.languages[r]){var a={};a["inline-lang-"+r]={pattern:RegExp(t.replace("<lang>",n.replace(/([.+*?\/\\(){}\[\]])/g,"\\$1")),"i"),inside:e.util.clone(e.languages.pure["inline-lang"].inside)},a["inline-lang-"+r].inside.rest=e.util.clone(e.languages[r]),e.languages.insertBefore("pure","inline-lang",a)}})),e.languages.c&&(e.languages.pure["inline-lang"].inside.rest=e.util.clone(e.languages.c))}(e)}e.exports=t,t.displayName="pure",t.aliases=[]},3983:function(e){"use strict";function t(e){e.languages.purebasic=e.languages.extend("clike",{comment:/;.*/,keyword:/\b(?:align|and|as|break|calldebugger|case|compilercase|compilerdefault|compilerelse|compilerelseif|compilerendif|compilerendselect|compilererror|compilerif|compilerselect|continue|data|datasection|debug|debuglevel|declare|declarec|declarecdll|declaredll|declaremodule|default|define|dim|disableasm|disabledebugger|disableexplicit|else|elseif|enableasm|enabledebugger|enableexplicit|end|enddatasection|enddeclaremodule|endenumeration|endif|endimport|endinterface|endmacro|endmodule|endprocedure|endselect|endstructure|endstructureunion|endwith|enumeration|extends|fakereturn|for|foreach|forever|global|gosub|goto|if|import|importc|includebinary|includefile|includepath|interface|macro|module|newlist|newmap|next|not|or|procedure|procedurec|procedurecdll|proceduredll|procedurereturn|protected|prototype|prototypec|read|redim|repeat|restore|return|runtime|select|shared|static|step|structure|structureunion|swap|threaded|to|until|wend|while|with|xincludefile|xor)\b/i,function:/\b\w+(?:\.\w+)?\s*(?=\()/,number:/(?:\$[\da-f]+|\b-?(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?)\b/i,operator:/(?:@\*?|\?|\*)\w+|-[>-]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|?\||[~^%?*/@]/}),e.languages.insertBefore("purebasic","keyword",{tag:/#\w+\$?/,asm:{pattern:/(^[\t ]*)!.*/m,lookbehind:!0,alias:"tag",inside:{comment:/;.*/,string:{pattern:/(["'`])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},"label-reference-anonymous":{pattern:/(!\s*j[a-z]+\s+)@[fb]/i,lookbehind:!0,alias:"fasm-label"},"label-reference-addressed":{pattern:/(!\s*j[a-z]+\s+)[A-Z._?$@][\w.?$@~#]*/i,lookbehind:!0,alias:"fasm-label"},keyword:[/\b(?:extern|global)\b[^;\r\n]*/i,/\b(?:CPU|DEFAULT|FLOAT)\b.*/],function:{pattern:/^([\t ]*!\s*)[\da-z]+(?=\s|$)/im,lookbehind:!0},"function-inline":{pattern:/(:\s*)[\da-z]+(?=\s)/i,lookbehind:!0,alias:"function"},label:{pattern:/^([\t ]*!\s*)[A-Za-z._?$@][\w.?$@~#]*(?=:)/m,lookbehind:!0,alias:"fasm-label"},register:/\b(?:st\d|[xyz]mm\d\d?|[cdt]r\d|r\d\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|di|si|sp)|[cdefgs]s|mm\d+)\b/i,number:/(?:\b|-|(?=\$))(?:0[hx](?:[\da-f]*\.)?[\da-f]+(?:p[+-]?\d+)?|\d[\da-f]+[hx]|\$\d[\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\d+|(?:\d+(?:\.\d+)?|\.\d+)(?:\.?e[+-]?\d+)?[dt]?)\b/i,operator:/[\[\]*+\-/%<>=&|$!,.:]/}}}),delete e.languages.purebasic["class-name"],delete e.languages.purebasic.boolean,e.languages.pbfasm=e.languages.purebasic}e.exports=t,t.displayName="purebasic",t.aliases=[]},2935:function(e,t,n){"use strict";var r=n(9233);function a(e){e.register(r),e.languages.purescript=e.languages.extend("haskell",{keyword:/\b(?:ado|case|class|data|derive|do|else|forall|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\b|\u2200/,"import-statement":{pattern:/(^[\t ]*)import\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*(?:\s+as\s+[A-Z][\w']*(?:\.[A-Z][\w']*)*)?(?:\s+hiding\b)?/m,lookbehind:!0,inside:{keyword:/\b(?:as|hiding|import)\b/,punctuation:/\./}},builtin:/\b(?:absurd|add|ap|append|apply|between|bind|bottom|clamp|compare|comparing|compose|conj|const|degree|discard|disj|div|eq|flap|flip|gcd|identity|ifM|join|lcm|liftA1|liftM1|map|max|mempty|min|mod|mul|negate|not|notEq|one|otherwise|recip|show|sub|top|unit|unless|unlessM|void|when|whenM|zero)\b/,operator:[e.languages.haskell.operator[0],e.languages.haskell.operator[2],/[\xa2-\xa6\xa8\xa9\xac\xae-\xb1\xb4\xb8\xd7\xf7\u02c2-\u02c5\u02d2-\u02df\u02e5-\u02eb\u02ed\u02ef-\u02ff\u0375\u0384\u0385\u03f6\u0482\u058d-\u058f\u0606-\u0608\u060b\u060e\u060f\u06de\u06e9\u06fd\u06fe\u07f6\u07fe\u07ff\u09f2\u09f3\u09fa\u09fb\u0af1\u0b70\u0bf3-\u0bfa\u0c7f\u0d4f\u0d79\u0e3f\u0f01-\u0f03\u0f13\u0f15-\u0f17\u0f1a-\u0f1f\u0f34\u0f36\u0f38\u0fbe-\u0fc5\u0fc7-\u0fcc\u0fce\u0fcf\u0fd5-\u0fd8\u109e\u109f\u1390-\u1399\u166d\u17db\u1940\u19de-\u19ff\u1b61-\u1b6a\u1b74-\u1b7c\u1fbd\u1fbf-\u1fc1\u1fcd-\u1fcf\u1fdd-\u1fdf\u1fed-\u1fef\u1ffd\u1ffe\u2044\u2052\u207a-\u207c\u208a-\u208c\u20a0-\u20bf\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211e-\u2123\u2125\u2127\u2129\u212e\u213a\u213b\u2140-\u2144\u214a-\u214d\u214f\u218a\u218b\u2190-\u2307\u230c-\u2328\u232b-\u2426\u2440-\u244a\u249c-\u24e9\u2500-\u2767\u2794-\u27c4\u27c7-\u27e5\u27f0-\u2982\u2999-\u29d7\u29dc-\u29fb\u29fe-\u2b73\u2b76-\u2b95\u2b97-\u2bff\u2ce5-\u2cea\u2e50\u2e51\u2e80-\u2e99\u2e9b-\u2ef3\u2f00-\u2fd5\u2ff0-\u2ffb\u3004\u3012\u3013\u3020\u3036\u3037\u303e\u303f\u309b\u309c\u3190\u3191\u3196-\u319f\u31c0-\u31e3\u3200-\u321e\u322a-\u3247\u3250\u3260-\u327f\u328a-\u32b0\u32c0-\u33ff\u4dc0-\u4dff\ua490-\ua4c6\ua700-\ua716\ua720\ua721\ua789\ua78a\ua828-\ua82b\ua836-\ua839\uaa77-\uaa79\uab5b\uab6a\uab6b\ufb29\ufbb2-\ufbc1\ufdfc\ufdfd\ufe62\ufe64-\ufe66\ufe69\uff04\uff0b\uff1c-\uff1e\uff3e\uff40\uff5c\uff5e\uffe0-\uffe6\uffe8-\uffee\ufffc\ufffd]/]}),e.languages.purs=e.languages.purescript}e.exports=a,a.displayName="purescript",a.aliases=["purs"]},5888:function(e){"use strict";function t(e){e.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},e.languages.python["string-interpolation"].inside.interpolation.inside.rest=e.languages.python,e.languages.py=e.languages.python}e.exports=t,t.displayName="python",t.aliases=["py"]},9596:function(e){"use strict";function t(e){e.languages.q={string:/"(?:\\.|[^"\\\r\n])*"/,comment:[{pattern:/([\t )\]}])\/.*/,lookbehind:!0,greedy:!0},{pattern:/(^|\r?\n|\r)\/[\t ]*(?:(?:\r?\n|\r)(?:.*(?:\r?\n|\r(?!\n)))*?(?:\\(?=[\t ]*(?:\r?\n|\r))|$)|\S.*)/,lookbehind:!0,greedy:!0},{pattern:/^\\[\t ]*(?:\r?\n|\r)[\s\S]+/m,greedy:!0},{pattern:/^#!.+/m,greedy:!0}],symbol:/`(?::\S+|[\w.]*)/,datetime:{pattern:/0N[mdzuvt]|0W[dtz]|\d{4}\.\d\d(?:m|\.\d\d(?:T(?:\d\d(?::\d\d(?::\d\d(?:[.:]\d\d\d)?)?)?)?)?[dz]?)|\d\d:\d\d(?::\d\d(?:[.:]\d\d\d)?)?[uvt]?/,alias:"number"},number:/\b(?![01]:)(?:0N[hje]?|0W[hj]?|0[wn]|0x[\da-fA-F]+|\d+(?:\.\d*)?(?:e[+-]?\d+)?[hjfeb]?)/,keyword:/\\\w+\b|\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\b/,adverb:{pattern:/['\/\\]:?|\beach\b/,alias:"function"},verb:{pattern:/(?:\B\.\B|\b[01]:|<[=>]?|>=?|[:+\-*%,!?~=|$&#@^]):?|\b_\b:?/,alias:"operator"},punctuation:/[(){}\[\];.]/}}e.exports=t,t.displayName="q",t.aliases=[]},6395:function(e){"use strict";function t(e){!function(e){for(var t=/"(?:\\.|[^\\"\r\n])*"|'(?:\\.|[^\\'\r\n])*'/.source,n=/\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\//.source,r=/(?:[^\\()[\]{}"'/]|<string>|\/(?![*/])|<comment>|\(<expr>*\)|\[<expr>*\]|\{<expr>*\}|\\[\s\S])/.source.replace(/<string>/g,(function(){return t})).replace(/<comment>/g,(function(){return n})),a=0;a<2;a++)r=r.replace(/<expr>/g,(function(){return r}));r=r.replace(/<expr>/g,"[^\\s\\S]"),e.languages.qml={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},"javascript-function":{pattern:RegExp(/((?:^|;)[ \t]*)function\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*\(<js>*\)\s*\{<js>*\}/.source.replace(/<js>/g,(function(){return r})),"m"),lookbehind:!0,greedy:!0,alias:"language-javascript",inside:e.languages.javascript},"class-name":{pattern:/((?:^|[:;])[ \t]*)(?!\d)\w+(?=[ \t]*\{|[ \t]+on\b)/m,lookbehind:!0},property:[{pattern:/((?:^|[;{])[ \t]*)(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m,lookbehind:!0},{pattern:/((?:^|[;{])[ \t]*)property[ \t]+(?!\d)\w+(?:\.\w+)*[ \t]+(?!\d)\w+(?:\.\w+)*(?=[ \t]*:)/m,lookbehind:!0,inside:{keyword:/^property/,property:/\w+(?:\.\w+)*/}}],"javascript-expression":{pattern:RegExp(/(:[ \t]*)(?![\s;}[])(?:(?!$|[;}])<js>)+/.source.replace(/<js>/g,(function(){return r})),"m"),lookbehind:!0,greedy:!0,alias:"language-javascript",inside:e.languages.javascript},string:{pattern:/"(?:\\.|[^\\"\r\n])*"/,greedy:!0},keyword:/\b(?:as|import|on)\b/,punctuation:/[{}[\]:;,]/}}(e)}e.exports=t,t.displayName="qml",t.aliases=[]},7679:function(e){"use strict";function t(e){e.languages.qore=e.languages.extend("clike",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:\/\/|#).*)/,lookbehind:!0},string:{pattern:/("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0},keyword:/\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:bool|date|float|int|list|number|string)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\b/,boolean:/\b(?:false|true)\b/i,function:/\$?\b(?!\d)\w+(?=\()/,number:/\b(?:0b[01]+|0x(?:[\da-f]*\.)?[\da-fp\-]+|(?:\d+(?:\.\d+)?|\.\d+)(?:e\d+)?[df]|(?:\d+(?:\.\d+)?|\.\d+))\b/i,operator:{pattern:/(^|[^.])(?:\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\|[|=]?|[*\/%^]=?|[~?])/,lookbehind:!0},variable:/\$(?!\d)\w+\b/})}e.exports=t,t.displayName="qore",t.aliases=[]},2406:function(e){"use strict";function t(e){!function(e){function t(e,t){return e.replace(/<<(\d+)>>/g,(function(e,n){return"(?:"+t[+n]+")"}))}function n(e,n,r){return RegExp(t(e,n),r||"")}var r=RegExp("\\b(?:"+("Adj BigInt Bool Ctl Double false Int One Pauli PauliI PauliX PauliY PauliZ Qubit Range Result String true Unit Zero"+" "+"Adjoint adjoint apply as auto body borrow borrowing Controlled controlled distribute elif else fail fixup for function if in internal intrinsic invert is let mutable namespace new newtype open operation repeat return self set until use using while within").trim().replace(/ /g,"|")+")\\b"),a=t(/<<0>>(?:\s*\.\s*<<0>>)*/.source,[/\b[A-Za-z_]\w*\b/.source]),i={keyword:r,punctuation:/[<>()?,.:[\]]/},o=/"(?:\\.|[^\\"])*"/.source;e.languages.qsharp=e.languages.extend("clike",{comment:/\/\/.*/,string:[{pattern:n(/(^|[^$\\])<<0>>/.source,[o]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:n(/(\b(?:as|open)\s+)<<0>>(?=\s*(?:;|as\b))/.source,[a]),lookbehind:!0,inside:i},{pattern:n(/(\bnamespace\s+)<<0>>(?=\s*\{)/.source,[a]),lookbehind:!0,inside:i}],keyword:r,number:/(?:\b0(?:x[\da-f]+|b[01]+|o[0-7]+)|(?:\B\.\d+|\b\d+(?:\.\d*)?)(?:e[-+]?\d+)?)l?\b/i,operator:/\band=|\bor=|\band\b|\bnot\b|\bor\b|<[-=]|[-=]>|>>>=?|<<<=?|\^\^\^=?|\|\|\|=?|&&&=?|w\/=?|~~~|[*\/+\-^=!%]=?/,punctuation:/::|[{}[\];(),.:]/}),e.languages.insertBefore("qsharp","number",{range:{pattern:/\.\./,alias:"operator"}});var s=function(e,t){for(var n=0;n<t;n++)e=e.replace(/<<self>>/g,(function(){return"(?:"+e+")"}));return e.replace(/<<self>>/g,"[^\\s\\S]")}(t(/\{(?:[^"{}]|<<0>>|<<self>>)*\}/.source,[o]),2);e.languages.insertBefore("qsharp","string",{"interpolation-string":{pattern:n(/\$"(?:\\.|<<0>>|[^\\"{])*"/.source,[s]),greedy:!0,inside:{interpolation:{pattern:n(/((?:^|[^\\])(?:\\\\)*)<<0>>/.source,[s]),lookbehind:!0,inside:{punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-qsharp",inside:e.languages.qsharp}}},string:/[\s\S]+/}}})}(e),e.languages.qs=e.languages.qsharp}e.exports=t,t.displayName="qsharp",t.aliases=["qs"]},2014:function(e){"use strict";function t(e){e.languages.r={comment:/#.*/,string:{pattern:/(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},"percent-operator":{pattern:/%[^%\s]*%/,alias:"operator"},boolean:/\b(?:FALSE|TRUE)\b/,ellipsis:/\.\.(?:\.|\d+)/,number:[/\b(?:Inf|NaN)\b/,/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+(?:\.\d*)?|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/],keyword:/\b(?:NA|NA_character_|NA_complex_|NA_integer_|NA_real_|NULL|break|else|for|function|if|in|next|repeat|while)\b/,operator:/->?>?|<(?:=|<?-)?|[>=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/,punctuation:/[(){}\[\],;]/}}e.exports=t,t.displayName="r",t.aliases=[]},548:function(e,t,n){"use strict";var r=n(2284);function a(e){e.register(r),e.languages.racket=e.languages.extend("scheme",{"lambda-parameter":{pattern:/([(\[]lambda\s+[(\[])[^()\[\]'\s]+/,lookbehind:!0}}),e.languages.insertBefore("racket","string",{lang:{pattern:/^#lang.+/m,greedy:!0,alias:"keyword"}}),e.languages.rkt=e.languages.racket}e.exports=a,a.displayName="racket",a.aliases=["rkt"]},6023:function(e){"use strict";function t(e){e.languages.reason=e.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),e.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete e.languages.reason.function}e.exports=t,t.displayName="reason",t.aliases=[]},4005:function(e){"use strict";function t(e){!function(e){var t={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},n=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/,r="(?:[^\\\\-]|"+n.source+")",a=RegExp(r+"-"+r),i={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"};e.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:a,inside:{escape:n,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":t,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:n}},"special-escape":t,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":i}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:n,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":i}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}}}(e)}e.exports=t,t.displayName="regex",t.aliases=[]},9982:function(e){"use strict";function t(e){e.languages.rego={comment:/#.*/,property:{pattern:/(^|[^\\.])(?:"(?:\\.|[^\\"\r\n])*"|`[^`]*`|\b[a-z_]\w*\b)(?=\s*:(?!=))/i,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:as|default|else|import|not|null|package|set(?=\s*\()|some|with)\b/,boolean:/\b(?:false|true)\b/,function:{pattern:/\b[a-z_]\w*\b(?:\s*\.\s*\b[a-z_]\w*\b)*(?=\s*\()/i,inside:{namespace:/\b\w+\b(?=\s*\.)/,punctuation:/\./}},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,operator:/[-+*/%|&]|[<>:=]=?|!=|\b_\b/,punctuation:/[,;.\[\]{}()]/}}e.exports=t,t.displayName="rego",t.aliases=[]},4184:function(e){"use strict";function t(e){e.languages.renpy={comment:{pattern:/(^|[^\\])#.+/,lookbehind:!0},string:{pattern:/("""|''')[\s\S]+?\1|("|')(?:\\.|(?!\2)[^\\])*\2|(?:^#?(?:(?:[0-9a-fA-F]){3}|[0-9a-fA-F]{6})$)/m,greedy:!0},function:/\b[a-z_]\w*(?=\()/i,property:/\b(?:Update|UpdateVersion|action|activate_sound|adv_nvl_transition|after_load_transition|align|alpha|alt|anchor|antialias|area|auto|background|bar_invert|bar_resizing|bar_vertical|black_color|bold|bottom_bar|bottom_gutter|bottom_margin|bottom_padding|box_reverse|box_wrap|can_update|caret|child|color|crop|default_afm_enable|default_afm_time|default_fullscreen|default_text_cps|developer|directory_name|drag_handle|drag_joined|drag_name|drag_raise|draggable|dragged|drop_shadow|drop_shadow_color|droppable|dropped|easein|easeout|edgescroll|end_game_transition|end_splash_transition|enter_replay_transition|enter_sound|enter_transition|enter_yesno_transition|executable_name|exit_replay_transition|exit_sound|exit_transition|exit_yesno_transition|fadein|fadeout|first_indent|first_spacing|fit_first|focus|focus_mask|font|foreground|game_main_transition|get_installed_packages|google_play_key|google_play_salt|ground|has_music|has_sound|has_voice|height|help|hinting|hover|hover_background|hover_color|hover_sound|hovered|hyperlink_functions|idle|idle_color|image_style|include_update|insensitive|insensitive_background|insensitive_color|inside|intra_transition|italic|justify|kerning|keyboard_focus|language|layer_clipping|layers|layout|left_bar|left_gutter|left_margin|left_padding|length|line_leading|line_overlap_split|line_spacing|linear|main_game_transition|main_menu_music|maximum|min_width|minimum|minwidth|modal|mouse|mousewheel|name|narrator_menu|newline_indent|nvl_adv_transition|offset|order_reverse|outlines|overlay_functions|pos|position|prefix|radius|range|rest_indent|right_bar|right_gutter|right_margin|right_padding|rotate|rotate_pad|ruby_style|sample_sound|save_directory|say_attribute_transition|screen_height|screen_width|scrollbars|selected_hover|selected_hover_color|selected_idle|selected_idle_color|selected_insensitive|show_side_image|show_two_window|side_spacing|side_xpos|side_ypos|size|size_group|slow_cps|slow_cps_multiplier|spacing|strikethrough|subpixel|text_align|text_style|text_xpos|text_y_fudge|text_ypos|thumb|thumb_offset|thumb_shadow|thumbnail_height|thumbnail_width|time|top_bar|top_gutter|top_margin|top_padding|translations|underline|unscrollable|update|value|version|version_name|version_tuple|vertical|width|window_hide_transition|window_icon|window_left_padding|window_show_transition|window_title|windows_icon|xadjustment|xalign|xanchor|xanchoraround|xaround|xcenter|xfill|xinitial|xmargin|xmaximum|xminimum|xoffset|xofsset|xpadding|xpos|xsize|xzoom|yadjustment|yalign|yanchor|yanchoraround|yaround|ycenter|yfill|yinitial|ymargin|ymaximum|yminimum|yoffset|ypadding|ypos|ysize|ysizexysize|yzoom|zoom|zorder)\b/,tag:/\b(?:bar|block|button|buttoscreenn|drag|draggroup|fixed|frame|grid|[hv]box|hotbar|hotspot|image|imagebutton|imagemap|input|key|label|menu|mm_menu_frame|mousearea|nvl|parallel|screen|self|side|tag|text|textbutton|timer|vbar|viewport|window)\b|\$/,keyword:/\b(?:None|add|adjustment|alignaround|allow|angle|animation|around|as|assert|behind|box_layout|break|build|cache|call|center|changed|child_size|choice|circles|class|clear|clicked|clipping|clockwise|config|contains|continue|corner1|corner2|counterclockwise|def|default|define|del|delay|disabled|disabled_text|dissolve|elif|else|event|except|exclude|exec|expression|fade|finally|for|from|function|global|gm_root|has|hide|id|if|import|in|init|is|jump|knot|lambda|left|less_rounded|mm_root|movie|music|null|on|onlayer|pass|pause|persistent|play|print|python|queue|raise|random|renpy|repeat|return|right|rounded_window|scene|scope|set|show|slow|slow_abortable|slow_done|sound|stop|store|style|style_group|substitute|suffix|theme|transform|transform_anchor|transpose|try|ui|unhovered|updater|use|voice|while|widget|widget_hover|widget_selected|widget_text|yield)\b/,boolean:/\b(?:[Ff]alse|[Tt]rue)\b/,number:/(?:\b(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?)|\B\.\d+)(?:e[+-]?\d+)?j?/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:and|at|not|or|with)\b/,punctuation:/[{}[\];(),.:]/},e.languages.rpy=e.languages.renpy}e.exports=t,t.displayName="renpy",t.aliases=["rpy"]},8228:function(e){"use strict";function t(e){e.languages.rest={table:[{pattern:/(^[\t ]*)(?:\+[=-]+)+\+(?:\r?\n|\r)(?:\1[+|].+[+|](?:\r?\n|\r))+\1(?:\+[=-]+)+\+/m,lookbehind:!0,inside:{punctuation:/\||(?:\+[=-]+)+\+/}},{pattern:/(^[\t ]*)=+ [ =]*=(?:(?:\r?\n|\r)\1.+)+(?:\r?\n|\r)\1=+ [ =]*=(?=(?:\r?\n|\r){2}|\s*$)/m,lookbehind:!0,inside:{punctuation:/[=-]+/}}],"substitution-def":{pattern:/(^[\t ]*\.\. )\|(?:[^|\s](?:[^|]*[^|\s])?)\| [^:]+::/m,lookbehind:!0,inside:{substitution:{pattern:/^\|(?:[^|\s]|[^|\s][^|]*[^|\s])\|/,alias:"attr-value",inside:{punctuation:/^\||\|$/}},directive:{pattern:/( )(?! )[^:]+::/,lookbehind:!0,alias:"function",inside:{punctuation:/::$/}}}},"link-target":[{pattern:/(^[\t ]*\.\. )\[[^\]]+\]/m,lookbehind:!0,alias:"string",inside:{punctuation:/^\[|\]$/}},{pattern:/(^[\t ]*\.\. )_(?:`[^`]+`|(?:[^:\\]|\\.)+):/m,lookbehind:!0,alias:"string",inside:{punctuation:/^_|:$/}}],directive:{pattern:/(^[\t ]*\.\. )[^:]+::/m,lookbehind:!0,alias:"function",inside:{punctuation:/::$/}},comment:{pattern:/(^[\t ]*\.\.)(?:(?: .+)?(?:(?:\r?\n|\r).+)+| .+)(?=(?:\r?\n|\r){2}|$)/m,lookbehind:!0},title:[{pattern:/^(([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2+)(?:\r?\n|\r).+(?:\r?\n|\r)\1$/m,inside:{punctuation:/^[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+|[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+$/,important:/.+/}},{pattern:/(^|(?:\r?\n|\r){2}).+(?:\r?\n|\r)([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2+(?=\r?\n|\r|$)/,lookbehind:!0,inside:{punctuation:/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]+$/,important:/.+/}}],hr:{pattern:/((?:\r?\n|\r){2})([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\2{3,}(?=(?:\r?\n|\r){2})/,lookbehind:!0,alias:"punctuation"},field:{pattern:/(^[\t ]*):[^:\r\n]+:(?= )/m,lookbehind:!0,alias:"attr-name"},"command-line-option":{pattern:/(^[\t ]*)(?:[+-][a-z\d]|(?:--|\/)[a-z\d-]+)(?:[ =](?:[a-z][\w-]*|<[^<>]+>))?(?:, (?:[+-][a-z\d]|(?:--|\/)[a-z\d-]+)(?:[ =](?:[a-z][\w-]*|<[^<>]+>))?)*(?=(?:\r?\n|\r)? {2,}\S)/im,lookbehind:!0,alias:"symbol"},"literal-block":{pattern:/::(?:\r?\n|\r){2}([ \t]+)(?![ \t]).+(?:(?:\r?\n|\r)\1.+)*/,inside:{"literal-block-punctuation":{pattern:/^::/,alias:"punctuation"}}},"quoted-literal-block":{pattern:/::(?:\r?\n|\r){2}([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~]).*(?:(?:\r?\n|\r)\1.*)*/,inside:{"literal-block-punctuation":{pattern:/^(?:::|([!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~])\1*)/m,alias:"punctuation"}}},"list-bullet":{pattern:/(^[\t ]*)(?:[*+\-\u2022\u2023\u2043]|\(?(?:\d+|[a-z]|[ivxdclm]+)\)|(?:\d+|[a-z]|[ivxdclm]+)\.)(?= )/im,lookbehind:!0,alias:"punctuation"},"doctest-block":{pattern:/(^[\t ]*)>>> .+(?:(?:\r?\n|\r).+)*/m,lookbehind:!0,inside:{punctuation:/^>>>/}},inline:[{pattern:/(^|[\s\-:\/'"<(\[{])(?::[^:]+:`.*?`|`.*?`:[^:]+:|(\*\*?|``?|\|)(?!\s)(?:(?!\2).)*\S\2(?=[\s\-.,:;!?\\\/'")\]}]|$))/m,lookbehind:!0,inside:{bold:{pattern:/(^\*\*).+(?=\*\*$)/,lookbehind:!0},italic:{pattern:/(^\*).+(?=\*$)/,lookbehind:!0},"inline-literal":{pattern:/(^``).+(?=``$)/,lookbehind:!0,alias:"symbol"},role:{pattern:/^:[^:]+:|:[^:]+:$/,alias:"function",inside:{punctuation:/^:|:$/}},"interpreted-text":{pattern:/(^`).+(?=`$)/,lookbehind:!0,alias:"attr-value"},substitution:{pattern:/(^\|).+(?=\|$)/,lookbehind:!0,alias:"attr-value"},punctuation:/\*\*?|``?|\|/}}],link:[{pattern:/\[[^\[\]]+\]_(?=[\s\-.,:;!?\\\/'")\]}]|$)/,alias:"string",inside:{punctuation:/^\[|\]_$/}},{pattern:/(?:\b[a-z\d]+(?:[_.:+][a-z\d]+)*_?_|`[^`]+`_?_|_`[^`]+`)(?=[\s\-.,:;!?\\\/'")\]}]|$)/i,alias:"string",inside:{punctuation:/^_?`|`$|`?_?_$/}}],punctuation:{pattern:/(^[\t ]*)(?:\|(?= |$)|(?:---?|\u2014|\.\.|__)(?= )|\.\.$)/m,lookbehind:!0}}}e.exports=t,t.displayName="rest",t.aliases=[]},7937:function(e){"use strict";function t(e){e.languages.rip={comment:{pattern:/#.*/,greedy:!0},char:{pattern:/\B`[^\s`'",.:;#\/\\()<>\[\]{}]\b/,greedy:!0},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},regex:{pattern:/(^|[^/])\/(?!\/)(?:\[[^\n\r\]]*\]|\\.|[^/\\\r\n\[])+\/(?=\s*(?:$|[\r\n,.;})]))/,lookbehind:!0,greedy:!0},keyword:/(?:=>|->)|\b(?:case|catch|class|else|exit|finally|if|raise|return|switch|try)\b/,builtin:/@|\bSystem\b/,boolean:/\b(?:false|true)\b/,date:/\b\d{4}-\d{2}-\d{2}\b/,time:/\b\d{2}:\d{2}:\d{2}\b/,datetime:/\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\b/,symbol:/:[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/,number:/[+-]?\b(?:\d+\.\d+|\d+)\b/,punctuation:/(?:\.{2,3})|[`,.:;=\/\\()<>\[\]{}]/,reference:/[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/}}e.exports=t,t.displayName="rip",t.aliases=[]},5728:function(e){"use strict";function t(e){e.languages.roboconf={comment:/#.*/,keyword:{pattern:/(^|\s)(?:(?:external|import)\b|(?:facet|instance of)(?=[ \t]+[\w-]+[ \t]*\{))/,lookbehind:!0},component:{pattern:/[\w-]+(?=[ \t]*\{)/,alias:"variable"},property:/[\w.-]+(?=[ \t]*:)/,value:{pattern:/(=[ \t]*(?![ \t]))[^,;]+/,lookbehind:!0,alias:"attr-value"},optional:{pattern:/\(optional\)/,alias:"builtin"},wildcard:{pattern:/(\.)\*/,lookbehind:!0,alias:"operator"},punctuation:/[{},.;:=]/}}e.exports=t,t.displayName="roboconf",t.aliases=[]},1528:function(e){"use strict";function t(e){!function(e){var t={pattern:/(^[ \t]*| {2}|\t)#.*/m,lookbehind:!0,greedy:!0},n={pattern:/((?:^|[^\\])(?:\\{2})*)[$@&%]\{(?:[^{}\r\n]|\{[^{}\r\n]*\})*\}/,lookbehind:!0,inside:{punctuation:/^[$@&%]\{|\}$/}};function r(e,r){var a={"section-header":{pattern:/^ ?\*{3}.+?\*{3}/,alias:"keyword"}};for(var i in r)a[i]=r[i];return a.tag={pattern:/([\r\n](?: {2}|\t)[ \t]*)\[[-\w]+\]/,lookbehind:!0,inside:{punctuation:/\[|\]/}},a.variable=n,a.comment=t,{pattern:RegExp(/^ ?\*{3}[ \t]*<name>[ \t]*\*{3}(?:.|[\r\n](?!\*{3}))*/.source.replace(/<name>/g,(function(){return e})),"im"),alias:"section",inside:a}}var a={pattern:/(\[Documentation\](?: {2}|\t)[ \t]*)(?![ \t]|#)(?:.|(?:\r\n?|\n)[ \t]*\.{3})+/,lookbehind:!0,alias:"string"},i={pattern:/([\r\n] ?)(?!#)(?:\S(?:[ \t]\S)*)+/,lookbehind:!0,alias:"function",inside:{variable:n}},o={pattern:/([\r\n](?: {2}|\t)[ \t]*)(?!\[|\.{3}|#)(?:\S(?:[ \t]\S)*)+/,lookbehind:!0,inside:{variable:n}};e.languages.robotframework={settings:r("Settings",{documentation:{pattern:/([\r\n] ?Documentation(?: {2}|\t)[ \t]*)(?![ \t]|#)(?:.|(?:\r\n?|\n)[ \t]*\.{3})+/,lookbehind:!0,alias:"string"},property:{pattern:/([\r\n] ?)(?!\.{3}|#)(?:\S(?:[ \t]\S)*)+/,lookbehind:!0}}),variables:r("Variables"),"test-cases":r("Test Cases",{"test-name":i,documentation:a,property:o}),keywords:r("Keywords",{"keyword-name":i,documentation:a,property:o}),tasks:r("Tasks",{"task-name":i,documentation:a,property:o}),comment:t},e.languages.robot=e.languages.robotframework}(e)}e.exports=t,t.displayName="robotframework",t.aliases=[]},6326:function(e){"use strict";function t(e){!function(e){e.languages.ruby=e.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),e.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var t={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete e.languages.ruby.function;var n="(?:"+[/([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,/\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,/<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source].join("|")+")",r=/(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source;e.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp(/%r/.source+n+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+r),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\r\n{(,][ \t]*)/.source+r+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),e.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp(/%[qQiIwWs]?/.source+n),greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(/%x/.source+n),greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete e.languages.ruby.string,e.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),e.languages.rb=e.languages.ruby}(e)}e.exports=t,t.displayName="ruby",t.aliases=["rb"]},771:function(e){"use strict";function t(e){!function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,n=0;n<2;n++)t=t.replace(/<self>/g,(function(){return t}));t=t.replace(/<self>/g,(function(){return/[^\s\S]/.source})),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(e)}e.exports=t,t.displayName="rust",t.aliases=[]},4840:function(e){"use strict";function t(e){!function(e){var t=/(?:"(?:""|[^"])*"(?!")|'(?:''|[^'])*'(?!'))/.source,n=/\b(?:\d[\da-f]*x|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,r={pattern:RegExp(t+"[bx]"),alias:"number"},a={pattern:/&[a-z_]\w*/i},i={pattern:/((?:^|\s|=|\())%(?:ABORT|BY|CMS|COPY|DISPLAY|DO|ELSE|END|EVAL|GLOBAL|GO|GOTO|IF|INC|INCLUDE|INDEX|INPUT|KTRIM|LENGTH|LET|LIST|LOCAL|PUT|QKTRIM|QSCAN|QSUBSTR|QSYSFUNC|QUPCASE|RETURN|RUN|SCAN|SUBSTR|SUPERQ|SYMDEL|SYMEXIST|SYMGLOBL|SYMLOCAL|SYSCALL|SYSEVALF|SYSEXEC|SYSFUNC|SYSGET|SYSRPUT|THEN|TO|TSO|UNQUOTE|UNTIL|UPCASE|WHILE|WINDOW)\b/i,lookbehind:!0,alias:"keyword"},o={pattern:/(^|\s)(?:proc\s+\w+|data(?!=)|quit|run)\b/i,alias:"keyword",lookbehind:!0},s=[/\/\*[\s\S]*?\*\//,{pattern:/(^[ \t]*|;\s*)\*[^;]*;/m,lookbehind:!0}],l={pattern:RegExp(t),greedy:!0},c=/[$%@.(){}\[\];,\\]/,u={pattern:/%?\b\w+(?=\()/,alias:"keyword"},d={function:u,"arg-value":{pattern:/(=\s*)[A-Z\.]+/i,lookbehind:!0},operator:/=/,"macro-variable":a,arg:{pattern:/[A-Z]+/i,alias:"keyword"},number:n,"numeric-constant":r,punctuation:c,string:l},p={pattern:/\b(?:format|put)\b=?[\w'$.]+/i,inside:{keyword:/^(?:format|put)(?==)/i,equals:/=/,format:{pattern:/(?:\w|\$\d)+\.\d?/,alias:"number"}}},m={pattern:/\b(?:format|put)\s+[\w']+(?:\s+[$.\w]+)+(?=;)/i,inside:{keyword:/^(?:format|put)/i,format:{pattern:/[\w$]+\.\d?/,alias:"number"}}},f={pattern:/((?:^|\s)=?)(?:catname|checkpoint execute_always|dm|endsas|filename|footnote|%include|libname|%list|lock|missing|options|page|resetline|%run|sasfile|skip|sysecho|title\d?)\b/i,lookbehind:!0,alias:"keyword"},g={pattern:/(^|\s)(?:submit(?:\s+(?:load|norun|parseonly))?|endsubmit)\b/i,lookbehind:!0,alias:"keyword"},h=/aStore|accessControl|aggregation|audio|autotune|bayesianNetClassifier|bioMedImage|boolRule|builtins|cardinality|cdm|clustering|conditionalRandomFields|configuration|copula|countreg|dataDiscovery|dataPreprocess|dataSciencePilot|dataStep|decisionTree|deduplication|deepLearn|deepNeural|deepRnn|ds2|ecm|entityRes|espCluster|explainModel|factmac|fastKnn|fcmpact|fedSql|freqTab|gVarCluster|gam|gleam|graphSemiSupLearn|hiddenMarkovModel|hyperGroup|ica|image|iml|kernalPca|langModel|ldaTopic|loadStreams|mbc|mixed|mlTools|modelPublishing|network|neuralNet|nmf|nonParametricBayes|nonlinear|optNetwork|optimization|panel|pca|percentile|phreg|pls|qkb|qlim|quantreg|recommend|regression|reinforcementLearn|robustPca|ruleMining|sampling|sandwich|sccasl|search(?:Analytics)?|sentimentAnalysis|sequence|session(?:Prop)?|severity|simSystem|simple|smartData|sparkEmbeddedProcess|sparseML|spatialreg|spc|stabilityMonitoring|svDataDescription|svm|table|text(?:Filters|Frequency|Mining|Parse|Rule(?:Develop|Score)|Topic|Util)|timeData|transpose|tsInfo|tsReconcile|uniTimeSeries|varReduce/.source,b={pattern:RegExp(/(^|\s)(?:action\s+)?(?:<act>)\.[a-z]+\b[^;]+/.source.replace(/<act>/g,(function(){return h})),"i"),lookbehind:!0,inside:{keyword:RegExp(/(?:<act>)\.[a-z]+\b/.source.replace(/<act>/g,(function(){return h})),"i"),action:{pattern:/(?:action)/i,alias:"keyword"},comment:s,function:u,"arg-value":d["arg-value"],operator:d.operator,argument:d.arg,number:n,"numeric-constant":r,punctuation:c,string:l}},E={pattern:/((?:^|\s)=?)(?:after|analysis|and|array|barchart|barwidth|begingraph|by|call|cas|cbarline|cfill|class(?:lev)?|close|column|computed?|contains|continue|data(?==)|define|delete|describe|document|do\s+over|do|dol|drop|dul|else|end(?:comp|source)?|entryTitle|eval(?:uate)?|exec(?:ute)?|exit|file(?:name)?|fill(?:attrs)?|flist|fnc|function(?:list)?|global|goto|group(?:by)?|headline|headskip|histogram|if|infile|keep|keylabel|keyword|label|layout|leave|legendlabel|length|libname|loadactionset|merge|midpoints|_?null_|name|noobs|nowd|ods|options|or|otherwise|out(?:put)?|over(?:lay)?|plot|print|put|raise|ranexp|rannor|rbreak|retain|return|select|session|sessref|set|source|statgraph|sum|summarize|table|temp|terminate|then\s+do|then|title\d?|to|var|when|where|xaxisopts|y2axisopts|yaxisopts)\b/i,lookbehind:!0};e.languages.sas={datalines:{pattern:/^([ \t]*)(?:cards|(?:data)?lines);[\s\S]+?^[ \t]*;/im,lookbehind:!0,alias:"string",inside:{keyword:{pattern:/^(?:cards|(?:data)?lines)/i},punctuation:/;/}},"proc-sql":{pattern:/(^proc\s+(?:fed)?sql(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|data|quit|run);|(?![\s\S]))/im,lookbehind:!0,inside:{sql:{pattern:RegExp(/^[ \t]*(?:select|alter\s+table|(?:create|describe|drop)\s+(?:index|table(?:\s+constraints)?|view)|create\s+unique\s+index|insert\s+into|update)(?:<str>|[^;"'])+;/.source.replace(/<str>/g,(function(){return t})),"im"),alias:"language-sql",inside:e.languages.sql},"global-statements":f,"sql-statements":{pattern:/(^|\s)(?:disconnect\s+from|begin|commit|exec(?:ute)?|reset|rollback|validate)\b/i,lookbehind:!0,alias:"keyword"},number:n,"numeric-constant":r,punctuation:c,string:l}},"proc-groovy":{pattern:/(^proc\s+groovy(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|data|quit|run);|(?![\s\S]))/im,lookbehind:!0,inside:{comment:s,groovy:{pattern:RegExp(/(^[ \t]*submit(?:\s+(?:load|norun|parseonly))?)(?:<str>|[^"'])+?(?=endsubmit;)/.source.replace(/<str>/g,(function(){return t})),"im"),lookbehind:!0,alias:"language-groovy",inside:e.languages.groovy},keyword:E,"submit-statement":g,"global-statements":f,number:n,"numeric-constant":r,punctuation:c,string:l}},"proc-lua":{pattern:/(^proc\s+lua(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|data|quit|run);|(?![\s\S]))/im,lookbehind:!0,inside:{comment:s,lua:{pattern:RegExp(/(^[ \t]*submit(?:\s+(?:load|norun|parseonly))?)(?:<str>|[^"'])+?(?=endsubmit;)/.source.replace(/<str>/g,(function(){return t})),"im"),lookbehind:!0,alias:"language-lua",inside:e.languages.lua},keyword:E,"submit-statement":g,"global-statements":f,number:n,"numeric-constant":r,punctuation:c,string:l}},"proc-cas":{pattern:/(^proc\s+cas(?:\s+[\w|=]+)?;)[\s\S]+?(?=^(?:proc\s+\w+|quit|data);|(?![\s\S]))/im,lookbehind:!0,inside:{comment:s,"statement-var":{pattern:/((?:^|\s)=?)saveresult\s[^;]+/im,lookbehind:!0,inside:{statement:{pattern:/^saveresult\s+\S+/i,inside:{keyword:/^(?:saveresult)/i}},rest:d}},"cas-actions":b,statement:{pattern:/((?:^|\s)=?)(?:default|(?:un)?set|on|output|upload)[^;]+/im,lookbehind:!0,inside:d},step:o,keyword:E,function:u,format:p,altformat:m,"global-statements":f,number:n,"numeric-constant":r,punctuation:c,string:l}},"proc-args":{pattern:RegExp(/(^proc\s+\w+\s+)(?!\s)(?:[^;"']|<str>)+;/.source.replace(/<str>/g,(function(){return t})),"im"),lookbehind:!0,inside:d},"macro-keyword":i,"macro-variable":a,"macro-string-functions":{pattern:/((?:^|\s|=))%(?:BQUOTE|NRBQUOTE|NRQUOTE|NRSTR|QUOTE|STR)\(.*?(?:[^%]\))/i,lookbehind:!0,inside:{function:{pattern:/%(?:BQUOTE|NRBQUOTE|NRQUOTE|NRSTR|QUOTE|STR)/i,alias:"keyword"},"macro-keyword":i,"macro-variable":a,"escaped-char":{pattern:/%['"()<>=\xac^~;,#]/},punctuation:c}},"macro-declaration":{pattern:/^%macro[^;]+(?=;)/im,inside:{keyword:/%macro/i}},"macro-end":{pattern:/^%mend[^;]+(?=;)/im,inside:{keyword:/%mend/i}},macro:{pattern:/%_\w+(?=\()/,alias:"keyword"},input:{pattern:/\binput\s[-\w\s/*.$&]+;/i,inside:{input:{alias:"keyword",pattern:/^input/i},comment:s,number:n,"numeric-constant":r}},"options-args":{pattern:/(^options)[-'"|/\\<>*+=:()\w\s]*(?=;)/im,lookbehind:!0,inside:d},"cas-actions":b,comment:s,function:u,format:p,altformat:m,"numeric-constant":r,datetime:{pattern:RegExp(t+"(?:dt?|t)"),alias:"number"},string:l,step:o,keyword:E,"operator-keyword":{pattern:/\b(?:eq|ge|gt|in|le|lt|ne|not)\b/i,alias:"operator"},number:n,operator:/\*\*?|\|\|?|!!?|\xa6\xa6?|<[>=]?|>[<=]?|[-+\/=&]|[~\xac^]=?/,punctuation:c}}(e)}e.exports=t,t.displayName="sas",t.aliases=[]},1357:function(e){"use strict";function t(e){!function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(e)}e.exports=t,t.displayName="sass",t.aliases=[]},7719:function(e,t,n){"use strict";var r=n(5543);function a(e){e.register(r),e.languages.scala=e.languages.extend("java",{"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/<-|=>|\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\b/,number:/\b0x(?:[\da-f]*\.)?[\da-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e\d+)?[dfl]?/i,builtin:/\b(?:Any|AnyRef|AnyVal|Boolean|Byte|Char|Double|Float|Int|Long|Nothing|Short|String|Unit)\b/,symbol:/'[^\d\s\\]\w*/}),e.languages.insertBefore("scala","triple-quoted-string",{"string-interpolation":{pattern:/\b[a-z]\w*(?:"""(?:[^$]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*?"""|"(?:[^$"\r\n]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*")/i,greedy:!0,inside:{id:{pattern:/^\w+/,greedy:!0,alias:"function"},escape:{pattern:/\\\$"|\$[$"]/,greedy:!0,alias:"symbol"},interpolation:{pattern:/\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,greedy:!0,inside:{punctuation:/^\$\{?|\}$/,expression:{pattern:/[\s\S]+/,inside:e.languages.scala}}},string:/[\s\S]+/}}}),delete e.languages.scala["class-name"],delete e.languages.scala.function}e.exports=a,a.displayName="scala",a.aliases=[]},2284:function(e){"use strict";function t(e){!function(e){e.languages.scheme={comment:/;.*|#;\s*(?:\((?:[^()]|\([^()]*\))*\)|\[(?:[^\[\]]|\[[^\[\]]*\])*\])|#\|(?:[^#|]|#(?!\|)|\|(?!#)|#\|(?:[^#|]|#(?!\|)|\|(?!#))*\|#)*\|#/,string:{pattern:/"(?:[^"\\]|\\.)*"/,greedy:!0},symbol:{pattern:/'[^()\[\]#'\s]+/,greedy:!0},char:{pattern:/#\\(?:[ux][a-fA-F\d]+\b|[-a-zA-Z]+\b|[\uD800-\uDBFF][\uDC00-\uDFFF]|\S)/,greedy:!0},"lambda-parameter":[{pattern:/((?:^|[^'`#])[(\[]lambda\s+)(?:[^|()\[\]'\s]+|\|(?:[^\\|]|\\.)*\|)/,lookbehind:!0},{pattern:/((?:^|[^'`#])[(\[]lambda\s+[(\[])[^()\[\]']+/,lookbehind:!0}],keyword:{pattern:/((?:^|[^'`#])[(\[])(?:begin|case(?:-lambda)?|cond(?:-expand)?|define(?:-library|-macro|-record-type|-syntax|-values)?|defmacro|delay(?:-force)?|do|else|except|export|guard|if|import|include(?:-ci|-library-declarations)?|lambda|let(?:rec)?(?:-syntax|-values|\*)?|let\*-values|only|parameterize|prefix|(?:quasi-?)?quote|rename|set!|syntax-(?:case|rules)|unless|unquote(?:-splicing)?|when)(?=[()\[\]\s]|$)/,lookbehind:!0},builtin:{pattern:/((?:^|[^'`#])[(\[])(?:abs|and|append|apply|assoc|ass[qv]|binary-port\?|boolean=?\?|bytevector(?:-append|-copy|-copy!|-length|-u8-ref|-u8-set!|\?)?|caar|cadr|call-with-(?:current-continuation|port|values)|call\/cc|car|cdar|cddr|cdr|ceiling|char(?:->integer|-ready\?|\?|<\?|<=\?|=\?|>\?|>=\?)|close-(?:input-port|output-port|port)|complex\?|cons|current-(?:error|input|output)-port|denominator|dynamic-wind|eof-object\??|eq\?|equal\?|eqv\?|error|error-object(?:-irritants|-message|\?)|eval|even\?|exact(?:-integer-sqrt|-integer\?|\?)?|expt|features|file-error\?|floor(?:-quotient|-remainder|\/)?|flush-output-port|for-each|gcd|get-output-(?:bytevector|string)|inexact\??|input-port(?:-open\?|\?)|integer(?:->char|\?)|lcm|length|list(?:->string|->vector|-copy|-ref|-set!|-tail|\?)?|make-(?:bytevector|list|parameter|string|vector)|map|max|member|memq|memv|min|modulo|negative\?|newline|not|null\?|number(?:->string|\?)|numerator|odd\?|open-(?:input|output)-(?:bytevector|string)|or|output-port(?:-open\?|\?)|pair\?|peek-char|peek-u8|port\?|positive\?|procedure\?|quotient|raise|raise-continuable|rational\?|rationalize|read-(?:bytevector|bytevector!|char|error\?|line|string|u8)|real\?|remainder|reverse|round|set-c[ad]r!|square|string(?:->list|->number|->symbol|->utf8|->vector|-append|-copy|-copy!|-fill!|-for-each|-length|-map|-ref|-set!|\?|<\?|<=\?|=\?|>\?|>=\?)?|substring|symbol(?:->string|\?|=\?)|syntax-error|textual-port\?|truncate(?:-quotient|-remainder|\/)?|u8-ready\?|utf8->string|values|vector(?:->list|->string|-append|-copy|-copy!|-fill!|-for-each|-length|-map|-ref|-set!|\?)?|with-exception-handler|write-(?:bytevector|char|string|u8)|zero\?)(?=[()\[\]\s]|$)/,lookbehind:!0},operator:{pattern:/((?:^|[^'`#])[(\[])(?:[-+*%/]|[<>]=?|=>?)(?=[()\[\]\s]|$)/,lookbehind:!0},number:{pattern:RegExp(function(e){for(var t in e)e[t]=e[t].replace(/<[\w\s]+>/g,(function(t){return"(?:"+e[t].trim()+")"}));return e[t]}({"<ureal dec>":/\d+(?:\/\d+)|(?:\d+(?:\.\d*)?|\.\d+)(?:[esfdl][+-]?\d+)?/.source,"<real dec>":/[+-]?<ureal dec>|[+-](?:inf|nan)\.0/.source,"<imaginary dec>":/[+-](?:<ureal dec>|(?:inf|nan)\.0)?i/.source,"<complex dec>":/<real dec>(?:@<real dec>|<imaginary dec>)?|<imaginary dec>/.source,"<num dec>":/(?:#d(?:#[ei])?|#[ei](?:#d)?)?<complex dec>/.source,"<ureal box>":/[0-9a-f]+(?:\/[0-9a-f]+)?/.source,"<real box>":/[+-]?<ureal box>|[+-](?:inf|nan)\.0/.source,"<imaginary box>":/[+-](?:<ureal box>|(?:inf|nan)\.0)?i/.source,"<complex box>":/<real box>(?:@<real box>|<imaginary box>)?|<imaginary box>/.source,"<num box>":/#[box](?:#[ei])?|(?:#[ei])?#[box]<complex box>/.source,"<number>":/(^|[()\[\]\s])(?:<num dec>|<num box>)(?=[()\[\]\s]|$)/.source}),"i"),lookbehind:!0},boolean:{pattern:/(^|[()\[\]\s])#(?:[ft]|false|true)(?=[()\[\]\s]|$)/,lookbehind:!0},function:{pattern:/((?:^|[^'`#])[(\[])(?:[^|()\[\]'\s]+|\|(?:[^\\|]|\\.)*\|)(?=[()\[\]\s]|$)/,lookbehind:!0},identifier:{pattern:/(^|[()\[\]\s])\|(?:[^\\|]|\\.)*\|(?=[()\[\]\s]|$)/,lookbehind:!0,greedy:!0},punctuation:/[()\[\]']/}}(e)}e.exports=t,t.displayName="scheme",t.aliases=[]},1254:function(e){"use strict";function t(e){e.languages.scss=e.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),e.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),e.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),e.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),e.languages.scss.atrule.inside.rest=e.languages.scss}e.exports=t,t.displayName="scss",t.aliases=[]},6442:function(e,t,n){"use strict";var r=n(7033);function a(e){e.register(r),function(e){var t=[/"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/.source,/'[^']*'/.source,/\$'(?:[^'\\]|\\[\s\S])*'/.source,/<<-?\s*(["']?)(\w+)\1\s[\s\S]*?[\r\n]\2/.source].join("|");e.languages["shell-session"]={command:{pattern:RegExp(/^/.source+"(?:"+/[^\s@:$#%*!/\\]+@[^\r\n@:$#%*!/\\]+(?::[^\0-\x1F$#%*?"<>:;|]+)?/.source+"|"+/[/~.][^\0-\x1F$#%*?"<>@:;|]*/.source+")?"+/[$#%](?=\s)/.source+/(?:[^\\\r\n \t'"<$]|[ \t](?:(?!#)|#.*$)|\\(?:[^\r]|\r\n?)|\$(?!')|<(?!<)|<<str>>)+/.source.replace(/<<str>>/g,(function(){return t})),"m"),greedy:!0,inside:{info:{pattern:/^[^#$%]+/,alias:"punctuation",inside:{user:/^[^\s@:$#%*!/\\]+@[^\r\n@:$#%*!/\\]+/,punctuation:/:/,path:/[\s\S]+/}},bash:{pattern:/(^[$#%]\s*)\S[\s\S]*/,lookbehind:!0,alias:"language-bash",inside:e.languages.bash},"shell-symbol":{pattern:/^[$#%]/,alias:"important"}}},output:/.(?:.*(?:[\r\n]|.$))*/},e.languages["sh-session"]=e.languages.shellsession=e.languages["shell-session"]}(e)}e.exports=a,a.displayName="shellSession",a.aliases=[]},2034:function(e){"use strict";function t(e){e.languages.smali={comment:/#.*/,string:{pattern:/"(?:[^\r\n\\"]|\\.)*"|'(?:[^\r\n\\']|\\(?:.|u[\da-fA-F]{4}))'/,greedy:!0},"class-name":{pattern:/(^|[^L])L(?:(?:\w+|`[^`\r\n]*`)\/)*(?:[\w$]+|`[^`\r\n]*`)(?=\s*;)/,lookbehind:!0,inside:{"class-name":{pattern:/(^L|\/)(?:[\w$]+|`[^`\r\n]*`)$/,lookbehind:!0},namespace:{pattern:/^(L)(?:(?:\w+|`[^`\r\n]*`)\/)+/,lookbehind:!0,inside:{punctuation:/\//}},builtin:/^L/}},builtin:[{pattern:/([();\[])[BCDFIJSVZ]+/,lookbehind:!0},{pattern:/([\w$>]:)[BCDFIJSVZ]/,lookbehind:!0}],keyword:[{pattern:/(\.end\s+)[\w-]+/,lookbehind:!0},{pattern:/(^|[^\w.-])\.(?!\d)[\w-]+/,lookbehind:!0},{pattern:/(^|[^\w.-])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\w.-])/,lookbehind:!0}],function:{pattern:/(^|[^\w.-])(?:\w+|<[\w$-]+>)(?=\()/,lookbehind:!0},field:{pattern:/[\w$]+(?=:)/,alias:"variable"},register:{pattern:/(^|[^\w.-])[vp]\d(?![\w.-])/,lookbehind:!0,alias:"variable"},boolean:{pattern:/(^|[^\w.-])(?:false|true)(?![\w.-])/,lookbehind:!0},number:{pattern:/(^|[^/\w.-])-?(?:NAN|INFINITY|0x(?:[\dA-F]+(?:\.[\dA-F]*)?|\.[\dA-F]+)(?:p[+-]?[\dA-F]+)?|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?)[dflst]?(?![\w.-])/i,lookbehind:!0},label:{pattern:/(:)\w+/,lookbehind:!0,alias:"property"},operator:/->|\.\.|[\[=]/,punctuation:/[{}(),;:]/}}e.exports=t,t.displayName="smali",t.aliases=[]},9676:function(e){"use strict";function t(e){e.languages.smalltalk={comment:{pattern:/"(?:""|[^"])*"/,greedy:!0},char:{pattern:/\$./,greedy:!0},string:{pattern:/'(?:''|[^'])*'/,greedy:!0},symbol:/#[\da-z]+|#(?:-|([+\/\\*~<>=@%|&?!])\1?)|#(?=\()/i,"block-arguments":{pattern:/(\[\s*):[^\[|]*\|/,lookbehind:!0,inside:{variable:/:[\da-z]+/i,punctuation:/\|/}},"temporary-variables":{pattern:/\|[^|]+\|/,inside:{variable:/[\da-z]+/i,punctuation:/\|/}},keyword:/\b(?:new|nil|self|super)\b/,boolean:/\b(?:false|true)\b/,number:[/\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/,/\b\d+(?:\.\d+)?(?:e-?\d+)?/],operator:/[<=]=?|:=|~[~=]|\/\/?|\\\\|>[>=]?|[!^+\-*&|,@]/,punctuation:/[.;:?\[\](){}]/}}e.exports=t,t.displayName="smalltalk",t.aliases=[]},9895:function(e,t,n){"use strict";var r=n(595);function a(e){e.register(r),function(e){e.languages.smarty={comment:{pattern:/^\{\*[\s\S]*?\*\}/,greedy:!0},"embedded-php":{pattern:/^\{php\}[\s\S]*?\{\/php\}/,greedy:!0,inside:{smarty:{pattern:/^\{php\}|\{\/php\}$/,inside:null},php:{pattern:/[\s\S]+/,alias:"language-php",inside:e.languages.php}}},string:[{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0,inside:{interpolation:{pattern:/\{[^{}]*\}|`[^`]*`/,inside:{"interpolation-punctuation":{pattern:/^[{`]|[`}]$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:null}}},variable:/\$\w+/}},{pattern:/'(?:\\.|[^'\\\r\n])*'/,greedy:!0}],keyword:{pattern:/(^\{\/?)[a-z_]\w*\b(?!\()/i,lookbehind:!0,greedy:!0},delimiter:{pattern:/^\{\/?|\}$/,greedy:!0,alias:"punctuation"},number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,variable:[/\$(?!\d)\w+/,/#(?!\d)\w+#/,{pattern:/(\.|->|\w\s*=)(?!\d)\w+\b(?!\()/,lookbehind:!0},{pattern:/(\[)(?!\d)\w+(?=\])/,lookbehind:!0}],function:{pattern:/(\|\s*)@?[a-z_]\w*|\b[a-z_]\w*(?=\()/i,lookbehind:!0},"attr-name":/\b[a-z_]\w*(?=\s*=)/i,boolean:/\b(?:false|no|off|on|true|yes)\b/,punctuation:/[\[\](){}.,:`]|->/,operator:[/[+\-*\/%]|==?=?|[!<>]=?|&&|\|\|?/,/\bis\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?\b/,/\b(?:and|eq|gt?e|gt|lt?e|lt|mod|neq?|not|or)\b/]},e.languages.smarty["embedded-php"].inside.smarty.inside=e.languages.smarty,e.languages.smarty.string[0].inside.interpolation.inside.expression.inside=e.languages.smarty;var t=/"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*'/,n=RegExp(/\{\*[\s\S]*?\*\}/.source+"|"+/\{php\}[\s\S]*?\{\/php\}/.source+"|"+/\{(?:[^{}"']|<str>|\{(?:[^{}"']|<str>|\{(?:[^{}"']|<str>)*\})*\})*\}/.source.replace(/<str>/g,(function(){return t.source})),"g");e.hooks.add("before-tokenize",(function(t){var r=!1;e.languages["markup-templating"].buildPlaceholders(t,"smarty",n,(function(e){return"{/literal}"===e&&(r=!1),!r&&("{literal}"===e&&(r=!0),!0)}))})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"smarty")}))}(e)}e.exports=a,a.displayName="smarty",a.aliases=[]},3775:function(e){"use strict";function t(e){!function(e){var t=/\b(?:abstype|and|andalso|as|case|datatype|do|else|end|eqtype|exception|fn|fun|functor|handle|if|in|include|infix|infixr|let|local|nonfix|of|op|open|orelse|raise|rec|sharing|sig|signature|struct|structure|then|type|val|where|while|with|withtype)\b/i;e.languages.sml={comment:/\(\*(?:[^*(]|\*(?!\))|\((?!\*)|\(\*(?:[^*(]|\*(?!\))|\((?!\*))*\*\))*\*\)/,string:{pattern:/#?"(?:[^"\\]|\\.)*"/,greedy:!0},"class-name":[{pattern:RegExp(/((?:^|[^:]):\s*)<TERMINAL>(?:\s*(?:(?:\*|->)\s*<TERMINAL>|,\s*<TERMINAL>(?:(?=<NOT-LAST>)|(?!<NOT-LAST>)\s+<LONG-ID>)))*/.source.replace(/<NOT-LAST>/g,(function(){return/\s*(?:[*,]|->)/.source})).replace(/<TERMINAL>/g,(function(){return/(?:'[\w']*|<LONG-ID>|\((?:[^()]|\([^()]*\))*\)|\{(?:[^{}]|\{[^{}]*\})*\})(?:\s+<LONG-ID>)*/.source})).replace(/<LONG-ID>/g,(function(){return/(?!<KEYWORD>)[a-z\d_][\w'.]*/.source})).replace(/<KEYWORD>/g,(function(){return t.source})),"i"),lookbehind:!0,greedy:!0,inside:null},{pattern:/((?:^|[^\w'])(?:datatype|exception|functor|signature|structure|type)\s+)[a-z_][\w'.]*/i,lookbehind:!0}],function:{pattern:/((?:^|[^\w'])fun\s+)[a-z_][\w'.]*/i,lookbehind:!0},keyword:t,variable:{pattern:/(^|[^\w'])'[\w']*/,lookbehind:!0},number:/~?\b(?:\d+(?:\.\d+)?(?:e~?\d+)?|0x[\da-f]+)\b/i,word:{pattern:/\b0w(?:\d+|x[\da-f]+)\b/i,alias:"constant"},boolean:/\b(?:false|true)\b/i,operator:/\.\.\.|:[>=:]|=>?|->|[<>]=?|[!+\-*/^#|@~]/,punctuation:/[(){}\[\].:,;]/},e.languages.sml["class-name"][0].inside=e.languages.sml,e.languages.smlnj=e.languages.sml}(e)}e.exports=t,t.displayName="sml",t.aliases=["smlnj"]},5767:function(e){"use strict";function t(e){e.languages.solidity=e.languages.extend("clike",{"class-name":{pattern:/(\b(?:contract|enum|interface|library|new|struct|using)\s+)(?!\d)[\w$]+/,lookbehind:!0},keyword:/\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\b/,operator:/=>|->|:=|=:|\*\*|\+\+|--|\|\||&&|<<=?|>>=?|[-+*/%^&|<>!=]=?|[~?]/}),e.languages.insertBefore("solidity","keyword",{builtin:/\b(?:address|bool|byte|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|string|bytes(?:[1-9]|[12]\d|3[0-2])?)\b/}),e.languages.insertBefore("solidity","number",{version:{pattern:/([<>]=?|\^)\d+\.\d+\.\d+\b/,lookbehind:!0,alias:"number"}}),e.languages.sol=e.languages.solidity}e.exports=t,t.displayName="solidity",t.aliases=["sol"]},9093:function(e){"use strict";function t(e){!function(e){var t={pattern:/\{[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}\}/i,alias:"constant",inside:{punctuation:/[{}]/}};e.languages["solution-file"]={comment:{pattern:/#.*/,greedy:!0},string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,greedy:!0,inside:{guid:t}},object:{pattern:/^([ \t]*)(?:([A-Z]\w*)\b(?=.*(?:\r\n?|\n)(?:\1[ \t].*(?:\r\n?|\n))*\1End\2(?=[ \t]*$))|End[A-Z]\w*(?=[ \t]*$))/m,lookbehind:!0,greedy:!0,alias:"keyword"},property:{pattern:/^([ \t]*)(?!\s)[^\r\n"#=()]*[^\s"#=()](?=\s*=)/m,lookbehind:!0,inside:{guid:t}},guid:t,number:/\b\d+(?:\.\d+)*\b/,boolean:/\b(?:FALSE|TRUE)\b/,operator:/=/,punctuation:/[(),]/},e.languages.sln=e.languages["solution-file"]}(e)}e.exports=t,t.displayName="solutionFile",t.aliases=[]},8768:function(e,t,n){"use strict";var r=n(595);function a(e){e.register(r),function(e){var t=/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,n=/\b\d+(?:\.\d+)?(?:[eE][+-]?\d+)?\b|\b0x[\dA-F]+\b/;e.languages.soy={comment:[/\/\*[\s\S]*?\*\//,{pattern:/(\s)\/\/.*/,lookbehind:!0,greedy:!0}],"command-arg":{pattern:/(\{+\/?\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\s+)\.?[\w.]+/,lookbehind:!0,alias:"string",inside:{punctuation:/\./}},parameter:{pattern:/(\{+\/?\s*@?param\??\s+)\.?[\w.]+/,lookbehind:!0,alias:"variable"},keyword:[{pattern:/(\{+\/?[^\S\r\n]*)(?:\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\??|rb|sp|switch|template|xid)/,lookbehind:!0},/\b(?:any|as|attributes|bool|css|float|html|in|int|js|list|map|null|number|string|uri)\b/],delimiter:{pattern:/^\{+\/?|\/?\}+$/,alias:"punctuation"},property:/\w+(?==)/,variable:{pattern:/\$[^\W\d]\w*(?:\??(?:\.\w+|\[[^\]]+\]))*/,inside:{string:{pattern:t,greedy:!0},number:n,punctuation:/[\[\].?]/}},string:{pattern:t,greedy:!0},function:[/\w+(?=\()/,{pattern:/(\|[^\S\r\n]*)\w+/,lookbehind:!0}],boolean:/\b(?:false|true)\b/,number:n,operator:/\?:?|<=?|>=?|==?|!=|[+*/%-]|\b(?:and|not|or)\b/,punctuation:/[{}()\[\]|.,:]/},e.hooks.add("before-tokenize",(function(t){var n=!1;e.languages["markup-templating"].buildPlaceholders(t,"soy",/\{\{.+?\}\}|\{.+?\}|\s\/\/.*|\/\*[\s\S]*?\*\//g,(function(e){return"{/literal}"===e&&(n=!1),!n&&("{literal}"===e&&(n=!0),!0)}))})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"soy")}))}(e)}e.exports=a,a.displayName="soy",a.aliases=[]},8517:function(e,t,n){"use strict";var r=n(3089);function a(e){e.register(r),e.languages.sparql=e.languages.extend("turtle",{boolean:/\b(?:false|true)\b/i,variable:{pattern:/[?$]\w+/,greedy:!0}}),e.languages.insertBefore("sparql","punctuation",{keyword:[/\b(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DELETE|DESC|DESCRIBE|DISTINCT|DROP|EXISTS|FILTER|FROM|GROUP|HAVING|INSERT|INTO|LIMIT|LOAD|MINUS|MOVE|NAMED|NOT|NOW|OFFSET|OPTIONAL|ORDER|RAND|REDUCED|SELECT|SEPARATOR|SERVICE|SILENT|STRUUID|UNION|USING|UUID|VALUES|WHERE)\b/i,/\b(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE_FOR_URI|FLOOR|GROUP_CONCAT|HOURS|IF|IRI|isBLANK|isIRI|isLITERAL|isNUMERIC|isURI|LANG|LANGMATCHES|LCASE|MAX|MD5|MIN|MINUTES|MONTH|REGEX|REPLACE|ROUND|sameTerm|SAMPLE|SECONDS|SHA1|SHA256|SHA384|SHA512|STR|STRAFTER|STRBEFORE|STRDT|STRENDS|STRLANG|STRLEN|STRSTARTS|SUBSTR|SUM|TIMEZONE|TZ|UCASE|URI|YEAR)\b(?=\s*\()/i,/\b(?:BASE|GRAPH|PREFIX)\b/i]}),e.languages.rq=e.languages.sparql}e.exports=a,a.displayName="sparql",a.aliases=["rq"]},7942:function(e){"use strict";function t(e){e.languages["splunk-spl"]={comment:/`comment\("(?:\\.|[^\\"])*"\)`/,string:{pattern:/"(?:\\.|[^\\"])*"/,greedy:!0},keyword:/\b(?:abstract|accum|addcoltotals|addinfo|addtotals|analyzefields|anomalies|anomalousvalue|anomalydetection|append|appendcols|appendcsv|appendlookup|appendpipe|arules|associate|audit|autoregress|bin|bucket|bucketdir|chart|cluster|cofilter|collect|concurrency|contingency|convert|correlate|datamodel|dbinspect|dedup|delete|delta|diff|erex|eval|eventcount|eventstats|extract|fieldformat|fields|fieldsummary|filldown|fillnull|findtypes|folderize|foreach|format|from|gauge|gentimes|geom|geomfilter|geostats|head|highlight|history|iconify|input|inputcsv|inputlookup|iplocation|join|kmeans|kv|kvform|loadjob|localize|localop|lookup|makecontinuous|makemv|makeresults|map|mcollect|metadata|metasearch|meventcollect|mstats|multikv|multisearch|mvcombine|mvexpand|nomv|outlier|outputcsv|outputlookup|outputtext|overlap|pivot|predict|rangemap|rare|regex|relevancy|reltime|rename|replace|rest|return|reverse|rex|rtorder|run|savedsearch|script|scrub|search|searchtxn|selfjoin|sendemail|set|setfields|sichart|sirare|sistats|sitimechart|sitop|sort|spath|stats|strcat|streamstats|table|tags|tail|timechart|timewrap|top|transaction|transpose|trendline|tscollect|tstats|typeahead|typelearner|typer|union|uniq|untable|where|x11|xmlkv|xmlunescape|xpath|xyseries)\b/i,"operator-word":{pattern:/\b(?:and|as|by|not|or|xor)\b/i,alias:"operator"},function:/\b\w+(?=\s*\()/,property:/\b\w+(?=\s*=(?!=))/,date:{pattern:/\b\d{1,2}\/\d{1,2}\/\d{1,4}(?:(?::\d{1,2}){3})?\b/,alias:"number"},number:/\b\d+(?:\.\d+)?\b/,boolean:/\b(?:f|false|t|true)\b/i,operator:/[<>=]=?|[-+*/%|]/,punctuation:/[()[\],]/}}e.exports=t,t.displayName="splunkSpl",t.aliases=[]},4457:function(e){"use strict";function t(e){e.languages.sqf=e.languages.extend("clike",{string:{pattern:/"(?:(?:"")?[^"])*"(?!")|'(?:[^'])*'/,greedy:!0},keyword:/\b(?:breakOut|breakTo|call|case|catch|default|do|echo|else|execFSM|execVM|exitWith|for|forEach|forEachMember|forEachMemberAgent|forEachMemberTeam|from|goto|if|nil|preprocessFile|preprocessFileLineNumbers|private|scopeName|spawn|step|switch|then|throw|to|try|while|with)\b/i,boolean:/\b(?:false|true)\b/i,function:/\b(?:abs|accTime|acos|action|actionIDs|actionKeys|actionKeysImages|actionKeysNames|actionKeysNamesArray|actionName|actionParams|activateAddons|activatedAddons|activateKey|add3DENConnection|add3DENEventHandler|add3DENLayer|addAction|addBackpack|addBackpackCargo|addBackpackCargoGlobal|addBackpackGlobal|addCamShake|addCuratorAddons|addCuratorCameraArea|addCuratorEditableObjects|addCuratorEditingArea|addCuratorPoints|addEditorObject|addEventHandler|addForce|addForceGeneratorRTD|addGoggles|addGroupIcon|addHandgunItem|addHeadgear|addItem|addItemCargo|addItemCargoGlobal|addItemPool|addItemToBackpack|addItemToUniform|addItemToVest|addLiveStats|addMagazine|addMagazineAmmoCargo|addMagazineCargo|addMagazineCargoGlobal|addMagazineGlobal|addMagazinePool|addMagazines|addMagazineTurret|addMenu|addMenuItem|addMissionEventHandler|addMPEventHandler|addMusicEventHandler|addOwnedMine|addPlayerScores|addPrimaryWeaponItem|addPublicVariableEventHandler|addRating|addResources|addScore|addScoreSide|addSecondaryWeaponItem|addSwitchableUnit|addTeamMember|addToRemainsCollector|addTorque|addUniform|addVehicle|addVest|addWaypoint|addWeapon|addWeaponCargo|addWeaponCargoGlobal|addWeaponGlobal|addWeaponItem|addWeaponPool|addWeaponTurret|admin|agent|agents|AGLToASL|aimedAtTarget|aimPos|airDensityCurveRTD|airDensityRTD|airplaneThrottle|airportSide|AISFinishHeal|alive|all3DENEntities|allAirports|allControls|allCurators|allCutLayers|allDead|allDeadMen|allDisplays|allGroups|allMapMarkers|allMines|allMissionObjects|allow3DMode|allowCrewInImmobile|allowCuratorLogicIgnoreAreas|allowDamage|allowDammage|allowFileOperations|allowFleeing|allowGetIn|allowSprint|allPlayers|allSimpleObjects|allSites|allTurrets|allUnits|allUnitsUAV|allVariables|ammo|ammoOnPylon|animate|animateBay|animateDoor|animatePylon|animateSource|animationNames|animationPhase|animationSourcePhase|animationState|append|apply|armoryPoints|arrayIntersect|asin|ASLToAGL|ASLToATL|assert|assignAsCargo|assignAsCargoIndex|assignAsCommander|assignAsDriver|assignAsGunner|assignAsTurret|assignCurator|assignedCargo|assignedCommander|assignedDriver|assignedGunner|assignedItems|assignedTarget|assignedTeam|assignedVehicle|assignedVehicleRole|assignItem|assignTeam|assignToAirport|atan|atan2|atg|ATLToASL|attachedObject|attachedObjects|attachedTo|attachObject|attachTo|attackEnabled|backpack|backpackCargo|backpackContainer|backpackItems|backpackMagazines|backpackSpaceFor|behaviour|benchmark|binocular|blufor|boundingBox|boundingBoxReal|boundingCenter|briefingName|buildingExit|buildingPos|buldozer_EnableRoadDiag|buldozer_IsEnabledRoadDiag|buldozer_LoadNewRoads|buldozer_reloadOperMap|buttonAction|buttonSetAction|cadetMode|callExtension|camCommand|camCommit|camCommitPrepared|camCommitted|camConstuctionSetParams|camCreate|camDestroy|cameraEffect|cameraEffectEnableHUD|cameraInterest|cameraOn|cameraView|campaignConfigFile|camPreload|camPreloaded|camPrepareBank|camPrepareDir|camPrepareDive|camPrepareFocus|camPrepareFov|camPrepareFovRange|camPreparePos|camPrepareRelPos|camPrepareTarget|camSetBank|camSetDir|camSetDive|camSetFocus|camSetFov|camSetFovRange|camSetPos|camSetRelPos|camSetTarget|camTarget|camUseNVG|canAdd|canAddItemToBackpack|canAddItemToUniform|canAddItemToVest|cancelSimpleTaskDestination|canFire|canMove|canSlingLoad|canStand|canSuspend|canTriggerDynamicSimulation|canUnloadInCombat|canVehicleCargo|captive|captiveNum|cbChecked|cbSetChecked|ceil|channelEnabled|cheatsEnabled|checkAIFeature|checkVisibility|civilian|className|clear3DENAttribute|clear3DENInventory|clearAllItemsFromBackpack|clearBackpackCargo|clearBackpackCargoGlobal|clearForcesRTD|clearGroupIcons|clearItemCargo|clearItemCargoGlobal|clearItemPool|clearMagazineCargo|clearMagazineCargoGlobal|clearMagazinePool|clearOverlay|clearRadio|clearVehicleInit|clearWeaponCargo|clearWeaponCargoGlobal|clearWeaponPool|clientOwner|closeDialog|closeDisplay|closeOverlay|collapseObjectTree|collect3DENHistory|collectiveRTD|combatMode|commandArtilleryFire|commandChat|commander|commandFire|commandFollow|commandFSM|commandGetOut|commandingMenu|commandMove|commandRadio|commandStop|commandSuppressiveFire|commandTarget|commandWatch|comment|commitOverlay|compile|compileFinal|completedFSM|composeText|configClasses|configFile|configHierarchy|configName|configNull|configProperties|configSourceAddonList|configSourceMod|configSourceModList|confirmSensorTarget|connectTerminalToUAV|controlNull|controlsGroupCtrl|copyFromClipboard|copyToClipboard|copyWaypoints|cos|count|countEnemy|countFriendly|countSide|countType|countUnknown|create3DENComposition|create3DENEntity|createAgent|createCenter|createDialog|createDiaryLink|createDiaryRecord|createDiarySubject|createDisplay|createGearDialog|createGroup|createGuardedPoint|createLocation|createMarker|createMarkerLocal|createMenu|createMine|createMissionDisplay|createMPCampaignDisplay|createSimpleObject|createSimpleTask|createSite|createSoundSource|createTask|createTeam|createTrigger|createUnit|createVehicle|createVehicleCrew|createVehicleLocal|crew|ctAddHeader|ctAddRow|ctClear|ctCurSel|ctData|ctFindHeaderRows|ctFindRowHeader|ctHeaderControls|ctHeaderCount|ctRemoveHeaders|ctRemoveRows|ctrlActivate|ctrlAddEventHandler|ctrlAngle|ctrlAutoScrollDelay|ctrlAutoScrollRewind|ctrlAutoScrollSpeed|ctrlChecked|ctrlClassName|ctrlCommit|ctrlCommitted|ctrlCreate|ctrlDelete|ctrlEnable|ctrlEnabled|ctrlFade|ctrlHTMLLoaded|ctrlIDC|ctrlIDD|ctrlMapAnimAdd|ctrlMapAnimClear|ctrlMapAnimCommit|ctrlMapAnimDone|ctrlMapCursor|ctrlMapMouseOver|ctrlMapScale|ctrlMapScreenToWorld|ctrlMapWorldToScreen|ctrlModel|ctrlModelDirAndUp|ctrlModelScale|ctrlParent|ctrlParentControlsGroup|ctrlPosition|ctrlRemoveAllEventHandlers|ctrlRemoveEventHandler|ctrlScale|ctrlSetActiveColor|ctrlSetAngle|ctrlSetAutoScrollDelay|ctrlSetAutoScrollRewind|ctrlSetAutoScrollSpeed|ctrlSetBackgroundColor|ctrlSetChecked|ctrlSetDisabledColor|ctrlSetEventHandler|ctrlSetFade|ctrlSetFocus|ctrlSetFont|ctrlSetFontH1|ctrlSetFontH1B|ctrlSetFontH2|ctrlSetFontH2B|ctrlSetFontH3|ctrlSetFontH3B|ctrlSetFontH4|ctrlSetFontH4B|ctrlSetFontH5|ctrlSetFontH5B|ctrlSetFontH6|ctrlSetFontH6B|ctrlSetFontHeight|ctrlSetFontHeightH1|ctrlSetFontHeightH2|ctrlSetFontHeightH3|ctrlSetFontHeightH4|ctrlSetFontHeightH5|ctrlSetFontHeightH6|ctrlSetFontHeightSecondary|ctrlSetFontP|ctrlSetFontPB|ctrlSetFontSecondary|ctrlSetForegroundColor|ctrlSetModel|ctrlSetModelDirAndUp|ctrlSetModelScale|ctrlSetPixelPrecision|ctrlSetPosition|ctrlSetScale|ctrlSetStructuredText|ctrlSetText|ctrlSetTextColor|ctrlSetTextColorSecondary|ctrlSetTextSecondary|ctrlSetTooltip|ctrlSetTooltipColorBox|ctrlSetTooltipColorShade|ctrlSetTooltipColorText|ctrlShow|ctrlShown|ctrlText|ctrlTextHeight|ctrlTextSecondary|ctrlTextWidth|ctrlType|ctrlVisible|ctRowControls|ctRowCount|ctSetCurSel|ctSetData|ctSetHeaderTemplate|ctSetRowTemplate|ctSetValue|ctValue|curatorAddons|curatorCamera|curatorCameraArea|curatorCameraAreaCeiling|curatorCoef|curatorEditableObjects|curatorEditingArea|curatorEditingAreaType|curatorMouseOver|curatorPoints|curatorRegisteredObjects|curatorSelected|curatorWaypointCost|current3DENOperation|currentChannel|currentCommand|currentMagazine|currentMagazineDetail|currentMagazineDetailTurret|currentMagazineTurret|currentMuzzle|currentNamespace|currentTask|currentTasks|currentThrowable|currentVisionMode|currentWaypoint|currentWeapon|currentWeaponMode|currentWeaponTurret|currentZeroing|cursorObject|cursorTarget|customChat|customRadio|cutFadeOut|cutObj|cutRsc|cutText|damage|date|dateToNumber|daytime|deActivateKey|debriefingText|debugFSM|debugLog|deg|delete3DENEntities|deleteAt|deleteCenter|deleteCollection|deleteEditorObject|deleteGroup|deleteGroupWhenEmpty|deleteIdentity|deleteLocation|deleteMarker|deleteMarkerLocal|deleteRange|deleteResources|deleteSite|deleteStatus|deleteTeam|deleteVehicle|deleteVehicleCrew|deleteWaypoint|detach|detectedMines|diag_activeMissionFSMs|diag_activeScripts|diag_activeSQFScripts|diag_activeSQSScripts|diag_captureFrame|diag_captureFrameToFile|diag_captureSlowFrame|diag_codePerformance|diag_drawMode|diag_dynamicSimulationEnd|diag_enable|diag_enabled|diag_fps|diag_fpsMin|diag_frameNo|diag_lightNewLoad|diag_list|diag_log|diag_logSlowFrame|diag_mergeConfigFile|diag_recordTurretLimits|diag_setLightNew|diag_tickTime|diag_toggle|dialog|diarySubjectExists|didJIP|didJIPOwner|difficulty|difficultyEnabled|difficultyEnabledRTD|difficultyOption|direction|directSay|disableAI|disableCollisionWith|disableConversation|disableDebriefingStats|disableMapIndicators|disableNVGEquipment|disableRemoteSensors|disableSerialization|disableTIEquipment|disableUAVConnectability|disableUserInput|displayAddEventHandler|displayCtrl|displayNull|displayParent|displayRemoveAllEventHandlers|displayRemoveEventHandler|displaySetEventHandler|dissolveTeam|distance|distance2D|distanceSqr|distributionRegion|do3DENAction|doArtilleryFire|doFire|doFollow|doFSM|doGetOut|doMove|doorPhase|doStop|doSuppressiveFire|doTarget|doWatch|drawArrow|drawEllipse|drawIcon|drawIcon3D|drawLine|drawLine3D|drawLink|drawLocation|drawPolygon|drawRectangle|drawTriangle|driver|drop|dynamicSimulationDistance|dynamicSimulationDistanceCoef|dynamicSimulationEnabled|dynamicSimulationSystemEnabled|east|edit3DENMissionAttributes|editObject|editorSetEventHandler|effectiveCommander|emptyPositions|enableAI|enableAIFeature|enableAimPrecision|enableAttack|enableAudioFeature|enableAutoStartUpRTD|enableAutoTrimRTD|enableCamShake|enableCaustics|enableChannel|enableCollisionWith|enableCopilot|enableDebriefingStats|enableDiagLegend|enableDynamicSimulation|enableDynamicSimulationSystem|enableEndDialog|enableEngineArtillery|enableEnvironment|enableFatigue|enableGunLights|enableInfoPanelComponent|enableIRLasers|enableMimics|enablePersonTurret|enableRadio|enableReload|enableRopeAttach|enableSatNormalOnDetail|enableSaving|enableSentences|enableSimulation|enableSimulationGlobal|enableStamina|enableStressDamage|enableTeamSwitch|enableTraffic|enableUAVConnectability|enableUAVWaypoints|enableVehicleCargo|enableVehicleSensor|enableWeaponDisassembly|endl|endLoadingScreen|endMission|engineOn|enginesIsOnRTD|enginesPowerRTD|enginesRpmRTD|enginesTorqueRTD|entities|environmentEnabled|estimatedEndServerTime|estimatedTimeLeft|evalObjectArgument|everyBackpack|everyContainer|exec|execEditorScript|exp|expectedDestination|exportJIPMessages|eyeDirection|eyePos|face|faction|fadeMusic|fadeRadio|fadeSound|fadeSpeech|failMission|fillWeaponsFromPool|find|findCover|findDisplay|findEditorObject|findEmptyPosition|findEmptyPositionReady|findIf|findNearestEnemy|finishMissionInit|finite|fire|fireAtTarget|firstBackpack|flag|flagAnimationPhase|flagOwner|flagSide|flagTexture|fleeing|floor|flyInHeight|flyInHeightASL|fog|fogForecast|fogParams|forceAddUniform|forceAtPositionRTD|forcedMap|forceEnd|forceFlagTexture|forceFollowRoad|forceGeneratorRTD|forceMap|forceRespawn|forceSpeed|forceWalk|forceWeaponFire|forceWeatherChange|forgetTarget|format|formation|formationDirection|formationLeader|formationMembers|formationPosition|formationTask|formatText|formLeader|freeLook|fromEditor|fuel|fullCrew|gearIDCAmmoCount|gearSlotAmmoCount|gearSlotData|get3DENActionState|get3DENAttribute|get3DENCamera|get3DENConnections|get3DENEntity|get3DENEntityID|get3DENGrid|get3DENIconsVisible|get3DENLayerEntities|get3DENLinesVisible|get3DENMissionAttribute|get3DENMouseOver|get3DENSelected|getAimingCoef|getAllEnvSoundControllers|getAllHitPointsDamage|getAllOwnedMines|getAllSoundControllers|getAmmoCargo|getAnimAimPrecision|getAnimSpeedCoef|getArray|getArtilleryAmmo|getArtilleryComputerSettings|getArtilleryETA|getAssignedCuratorLogic|getAssignedCuratorUnit|getBackpackCargo|getBleedingRemaining|getBurningValue|getCameraViewDirection|getCargoIndex|getCenterOfMass|getClientState|getClientStateNumber|getCompatiblePylonMagazines|getConnectedUAV|getContainerMaxLoad|getCursorObjectParams|getCustomAimCoef|getDammage|getDescription|getDir|getDirVisual|getDLCAssetsUsage|getDLCAssetsUsageByName|getDLCs|getDLCUsageTime|getEditorCamera|getEditorMode|getEditorObjectScope|getElevationOffset|getEngineTargetRpmRTD|getEnvSoundController|getFatigue|getFieldManualStartPage|getForcedFlagTexture|getFriend|getFSMVariable|getFuelCargo|getGroupIcon|getGroupIconParams|getGroupIcons|getHideFrom|getHit|getHitIndex|getHitPointDamage|getItemCargo|getMagazineCargo|getMarkerColor|getMarkerPos|getMarkerSize|getMarkerType|getMass|getMissionConfig|getMissionConfigValue|getMissionDLCs|getMissionLayerEntities|getMissionLayers|getModelInfo|getMousePosition|getMusicPlayedTime|getNumber|getObjectArgument|getObjectChildren|getObjectDLC|getObjectMaterials|getObjectProxy|getObjectTextures|getObjectType|getObjectViewDistance|getOxygenRemaining|getPersonUsedDLCs|getPilotCameraDirection|getPilotCameraPosition|getPilotCameraRotation|getPilotCameraTarget|getPlateNumber|getPlayerChannel|getPlayerScores|getPlayerUID|getPlayerUIDOld|getPos|getPosASL|getPosASLVisual|getPosASLW|getPosATL|getPosATLVisual|getPosVisual|getPosWorld|getPylonMagazines|getRelDir|getRelPos|getRemoteSensorsDisabled|getRepairCargo|getResolution|getRotorBrakeRTD|getShadowDistance|getShotParents|getSlingLoad|getSoundController|getSoundControllerResult|getSpeed|getStamina|getStatValue|getSuppression|getTerrainGrid|getTerrainHeightASL|getText|getTotalDLCUsageTime|getTrimOffsetRTD|getUnitLoadout|getUnitTrait|getUserMFDText|getUserMFDValue|getVariable|getVehicleCargo|getWeaponCargo|getWeaponSway|getWingsOrientationRTD|getWingsPositionRTD|getWPPos|glanceAt|globalChat|globalRadio|goggles|group|groupChat|groupFromNetId|groupIconSelectable|groupIconsVisible|groupId|groupOwner|groupRadio|groupSelectedUnits|groupSelectUnit|grpNull|gunner|gusts|halt|handgunItems|handgunMagazine|handgunWeapon|handsHit|hasInterface|hasPilotCamera|hasWeapon|hcAllGroups|hcGroupParams|hcLeader|hcRemoveAllGroups|hcRemoveGroup|hcSelected|hcSelectGroup|hcSetGroup|hcShowBar|hcShownBar|headgear|hideBody|hideObject|hideObjectGlobal|hideSelection|hint|hintC|hintCadet|hintSilent|hmd|hostMission|htmlLoad|HUDMovementLevels|humidity|image|importAllGroups|importance|in|inArea|inAreaArray|incapacitatedState|independent|inflame|inflamed|infoPanel|infoPanelComponentEnabled|infoPanelComponents|infoPanels|inGameUISetEventHandler|inheritsFrom|initAmbientLife|inPolygon|inputAction|inRangeOfArtillery|insertEditorObject|intersect|is3DEN|is3DENMultiplayer|isAbleToBreathe|isAgent|isAimPrecisionEnabled|isArray|isAutoHoverOn|isAutonomous|isAutoStartUpEnabledRTD|isAutotest|isAutoTrimOnRTD|isBleeding|isBurning|isClass|isCollisionLightOn|isCopilotEnabled|isDamageAllowed|isDedicated|isDLCAvailable|isEngineOn|isEqualTo|isEqualType|isEqualTypeAll|isEqualTypeAny|isEqualTypeArray|isEqualTypeParams|isFilePatchingEnabled|isFlashlightOn|isFlatEmpty|isForcedWalk|isFormationLeader|isGroupDeletedWhenEmpty|isHidden|isInRemainsCollector|isInstructorFigureEnabled|isIRLaserOn|isKeyActive|isKindOf|isLaserOn|isLightOn|isLocalized|isManualFire|isMarkedForCollection|isMultiplayer|isMultiplayerSolo|isNil|isNull|isNumber|isObjectHidden|isObjectRTD|isOnRoad|isPipEnabled|isPlayer|isRealTime|isRemoteExecuted|isRemoteExecutedJIP|isServer|isShowing3DIcons|isSimpleObject|isSprintAllowed|isStaminaEnabled|isSteamMission|isStreamFriendlyUIEnabled|isStressDamageEnabled|isText|isTouchingGround|isTurnedOut|isTutHintsEnabled|isUAVConnectable|isUAVConnected|isUIContext|isUniformAllowed|isVehicleCargo|isVehicleRadarOn|isVehicleSensorEnabled|isWalking|isWeaponDeployed|isWeaponRested|itemCargo|items|itemsWithMagazines|join|joinAs|joinAsSilent|joinSilent|joinString|kbAddDatabase|kbAddDatabaseTargets|kbAddTopic|kbHasTopic|kbReact|kbRemoveTopic|kbTell|kbWasSaid|keyImage|keyName|knowsAbout|land|landAt|landResult|language|laserTarget|lbAdd|lbClear|lbColor|lbColorRight|lbCurSel|lbData|lbDelete|lbIsSelected|lbPicture|lbPictureRight|lbSelection|lbSetColor|lbSetColorRight|lbSetCurSel|lbSetData|lbSetPicture|lbSetPictureColor|lbSetPictureColorDisabled|lbSetPictureColorSelected|lbSetPictureRight|lbSetPictureRightColor|lbSetPictureRightColorDisabled|lbSetPictureRightColorSelected|lbSetSelectColor|lbSetSelectColorRight|lbSetSelected|lbSetText|lbSetTextRight|lbSetTooltip|lbSetValue|lbSize|lbSort|lbSortByValue|lbText|lbTextRight|lbValue|leader|leaderboardDeInit|leaderboardGetRows|leaderboardInit|leaderboardRequestRowsFriends|leaderboardRequestRowsGlobal|leaderboardRequestRowsGlobalAroundUser|leaderboardsRequestUploadScore|leaderboardsRequestUploadScoreKeepBest|leaderboardState|leaveVehicle|libraryCredits|libraryDisclaimers|lifeState|lightAttachObject|lightDetachObject|lightIsOn|lightnings|limitSpeed|linearConversion|lineBreak|lineIntersects|lineIntersectsObjs|lineIntersectsSurfaces|lineIntersectsWith|linkItem|list|listObjects|listRemoteTargets|listVehicleSensors|ln|lnbAddArray|lnbAddColumn|lnbAddRow|lnbClear|lnbColor|lnbColorRight|lnbCurSelRow|lnbData|lnbDeleteColumn|lnbDeleteRow|lnbGetColumnsPosition|lnbPicture|lnbPictureRight|lnbSetColor|lnbSetColorRight|lnbSetColumnsPos|lnbSetCurSelRow|lnbSetData|lnbSetPicture|lnbSetPictureColor|lnbSetPictureColorRight|lnbSetPictureColorSelected|lnbSetPictureColorSelectedRight|lnbSetPictureRight|lnbSetText|lnbSetTextRight|lnbSetValue|lnbSize|lnbSort|lnbSortByValue|lnbText|lnbTextRight|lnbValue|load|loadAbs|loadBackpack|loadFile|loadGame|loadIdentity|loadMagazine|loadOverlay|loadStatus|loadUniform|loadVest|local|localize|locationNull|locationPosition|lock|lockCameraTo|lockCargo|lockDriver|locked|lockedCargo|lockedDriver|lockedTurret|lockIdentity|lockTurret|lockWP|log|logEntities|logNetwork|logNetworkTerminate|lookAt|lookAtPos|magazineCargo|magazines|magazinesAllTurrets|magazinesAmmo|magazinesAmmoCargo|magazinesAmmoFull|magazinesDetail|magazinesDetailBackpack|magazinesDetailUniform|magazinesDetailVest|magazinesTurret|magazineTurretAmmo|mapAnimAdd|mapAnimClear|mapAnimCommit|mapAnimDone|mapCenterOnCamera|mapGridPosition|markAsFinishedOnSteam|markerAlpha|markerBrush|markerColor|markerDir|markerPos|markerShape|markerSize|markerText|markerType|max|members|menuAction|menuAdd|menuChecked|menuClear|menuCollapse|menuData|menuDelete|menuEnable|menuEnabled|menuExpand|menuHover|menuPicture|menuSetAction|menuSetCheck|menuSetData|menuSetPicture|menuSetValue|menuShortcut|menuShortcutText|menuSize|menuSort|menuText|menuURL|menuValue|min|mineActive|mineDetectedBy|missionConfigFile|missionDifficulty|missionName|missionNamespace|missionStart|missionVersion|modelToWorld|modelToWorldVisual|modelToWorldVisualWorld|modelToWorldWorld|modParams|moonIntensity|moonPhase|morale|move|move3DENCamera|moveInAny|moveInCargo|moveInCommander|moveInDriver|moveInGunner|moveInTurret|moveObjectToEnd|moveOut|moveTime|moveTo|moveToCompleted|moveToFailed|musicVolume|name|nameSound|nearEntities|nearestBuilding|nearestLocation|nearestLocations|nearestLocationWithDubbing|nearestObject|nearestObjects|nearestTerrainObjects|nearObjects|nearObjectsReady|nearRoads|nearSupplies|nearTargets|needReload|netId|netObjNull|newOverlay|nextMenuItemIndex|nextWeatherChange|nMenuItems|numberOfEnginesRTD|numberToDate|objectCurators|objectFromNetId|objectParent|objNull|objStatus|onBriefingGear|onBriefingGroup|onBriefingNotes|onBriefingPlan|onBriefingTeamSwitch|onCommandModeChanged|onDoubleClick|onEachFrame|onGroupIconClick|onGroupIconOverEnter|onGroupIconOverLeave|onHCGroupSelectionChanged|onMapSingleClick|onPlayerConnected|onPlayerDisconnected|onPreloadFinished|onPreloadStarted|onShowNewObject|onTeamSwitch|openCuratorInterface|openDLCPage|openDSInterface|openMap|openSteamApp|openYoutubeVideo|opfor|orderGetIn|overcast|overcastForecast|owner|param|params|parseNumber|parseSimpleArray|parseText|parsingNamespace|particlesQuality|pi|pickWeaponPool|pitch|pixelGrid|pixelGridBase|pixelGridNoUIScale|pixelH|pixelW|playableSlotsNumber|playableUnits|playAction|playActionNow|player|playerRespawnTime|playerSide|playersNumber|playGesture|playMission|playMove|playMoveNow|playMusic|playScriptedMission|playSound|playSound3D|position|positionCameraToWorld|posScreenToWorld|posWorldToScreen|ppEffectAdjust|ppEffectCommit|ppEffectCommitted|ppEffectCreate|ppEffectDestroy|ppEffectEnable|ppEffectEnabled|ppEffectForceInNVG|precision|preloadCamera|preloadObject|preloadSound|preloadTitleObj|preloadTitleRsc|primaryWeapon|primaryWeaponItems|primaryWeaponMagazine|priority|processDiaryLink|processInitCommands|productVersion|profileName|profileNamespace|profileNameSteam|progressLoadingScreen|progressPosition|progressSetPosition|publicVariable|publicVariableClient|publicVariableServer|pushBack|pushBackUnique|putWeaponPool|queryItemsPool|queryMagazinePool|queryWeaponPool|rad|radioChannelAdd|radioChannelCreate|radioChannelRemove|radioChannelSetCallSign|radioChannelSetLabel|radioVolume|rain|rainbow|random|rank|rankId|rating|rectangular|registeredTasks|registerTask|reload|reloadEnabled|remoteControl|remoteExec|remoteExecCall|remoteExecutedOwner|remove3DENConnection|remove3DENEventHandler|remove3DENLayer|removeAction|removeAll3DENEventHandlers|removeAllActions|removeAllAssignedItems|removeAllContainers|removeAllCuratorAddons|removeAllCuratorCameraAreas|removeAllCuratorEditingAreas|removeAllEventHandlers|removeAllHandgunItems|removeAllItems|removeAllItemsWithMagazines|removeAllMissionEventHandlers|removeAllMPEventHandlers|removeAllMusicEventHandlers|removeAllOwnedMines|removeAllPrimaryWeaponItems|removeAllWeapons|removeBackpack|removeBackpackGlobal|removeCuratorAddons|removeCuratorCameraArea|removeCuratorEditableObjects|removeCuratorEditingArea|removeDrawIcon|removeDrawLinks|removeEventHandler|removeFromRemainsCollector|removeGoggles|removeGroupIcon|removeHandgunItem|removeHeadgear|removeItem|removeItemFromBackpack|removeItemFromUniform|removeItemFromVest|removeItems|removeMagazine|removeMagazineGlobal|removeMagazines|removeMagazinesTurret|removeMagazineTurret|removeMenuItem|removeMissionEventHandler|removeMPEventHandler|removeMusicEventHandler|removeOwnedMine|removePrimaryWeaponItem|removeSecondaryWeaponItem|removeSimpleTask|removeSwitchableUnit|removeTeamMember|removeUniform|removeVest|removeWeapon|removeWeaponAttachmentCargo|removeWeaponCargo|removeWeaponGlobal|removeWeaponTurret|reportRemoteTarget|requiredVersion|resetCamShake|resetSubgroupDirection|resistance|resize|resources|respawnVehicle|restartEditorCamera|reveal|revealMine|reverse|reversedMouseY|roadAt|roadsConnectedTo|roleDescription|ropeAttachedObjects|ropeAttachedTo|ropeAttachEnabled|ropeAttachTo|ropeCreate|ropeCut|ropeDestroy|ropeDetach|ropeEndPosition|ropeLength|ropes|ropeUnwind|ropeUnwound|rotorsForcesRTD|rotorsRpmRTD|round|runInitScript|safeZoneH|safeZoneW|safeZoneWAbs|safeZoneX|safeZoneXAbs|safeZoneY|save3DENInventory|saveGame|saveIdentity|saveJoysticks|saveOverlay|saveProfileNamespace|saveStatus|saveVar|savingEnabled|say|say2D|say3D|score|scoreSide|screenshot|screenToWorld|scriptDone|scriptName|scriptNull|scudState|secondaryWeapon|secondaryWeaponItems|secondaryWeaponMagazine|select|selectBestPlaces|selectDiarySubject|selectedEditorObjects|selectEditorObject|selectionNames|selectionPosition|selectLeader|selectMax|selectMin|selectNoPlayer|selectPlayer|selectRandom|selectRandomWeighted|selectWeapon|selectWeaponTurret|sendAUMessage|sendSimpleCommand|sendTask|sendTaskResult|sendUDPMessage|serverCommand|serverCommandAvailable|serverCommandExecutable|serverName|serverTime|set|set3DENAttribute|set3DENAttributes|set3DENGrid|set3DENIconsVisible|set3DENLayer|set3DENLinesVisible|set3DENLogicType|set3DENMissionAttribute|set3DENMissionAttributes|set3DENModelsVisible|set3DENObjectType|set3DENSelected|setAccTime|setActualCollectiveRTD|setAirplaneThrottle|setAirportSide|setAmmo|setAmmoCargo|setAmmoOnPylon|setAnimSpeedCoef|setAperture|setApertureNew|setArmoryPoints|setAttributes|setAutonomous|setBehaviour|setBleedingRemaining|setBrakesRTD|setCameraInterest|setCamShakeDefParams|setCamShakeParams|setCamUseTI|setCaptive|setCenterOfMass|setCollisionLight|setCombatMode|setCompassOscillation|setConvoySeparation|setCuratorCameraAreaCeiling|setCuratorCoef|setCuratorEditingAreaType|setCuratorWaypointCost|setCurrentChannel|setCurrentTask|setCurrentWaypoint|setCustomAimCoef|setCustomWeightRTD|setDamage|setDammage|setDate|setDebriefingText|setDefaultCamera|setDestination|setDetailMapBlendPars|setDir|setDirection|setDrawIcon|setDriveOnPath|setDropInterval|setDynamicSimulationDistance|setDynamicSimulationDistanceCoef|setEditorMode|setEditorObjectScope|setEffectCondition|setEngineRpmRTD|setFace|setFaceAnimation|setFatigue|setFeatureType|setFlagAnimationPhase|setFlagOwner|setFlagSide|setFlagTexture|setFog|setForceGeneratorRTD|setFormation|setFormationTask|setFormDir|setFriend|setFromEditor|setFSMVariable|setFuel|setFuelCargo|setGroupIcon|setGroupIconParams|setGroupIconsSelectable|setGroupIconsVisible|setGroupId|setGroupIdGlobal|setGroupOwner|setGusts|setHideBehind|setHit|setHitIndex|setHitPointDamage|setHorizonParallaxCoef|setHUDMovementLevels|setIdentity|setImportance|setInfoPanel|setLeader|setLightAmbient|setLightAttenuation|setLightBrightness|setLightColor|setLightDayLight|setLightFlareMaxDistance|setLightFlareSize|setLightIntensity|setLightnings|setLightUseFlare|setLocalWindParams|setMagazineTurretAmmo|setMarkerAlpha|setMarkerAlphaLocal|setMarkerBrush|setMarkerBrushLocal|setMarkerColor|setMarkerColorLocal|setMarkerDir|setMarkerDirLocal|setMarkerPos|setMarkerPosLocal|setMarkerShape|setMarkerShapeLocal|setMarkerSize|setMarkerSizeLocal|setMarkerText|setMarkerTextLocal|setMarkerType|setMarkerTypeLocal|setMass|setMimic|setMousePosition|setMusicEffect|setMusicEventHandler|setName|setNameSound|setObjectArguments|setObjectMaterial|setObjectMaterialGlobal|setObjectProxy|setObjectTexture|setObjectTextureGlobal|setObjectViewDistance|setOvercast|setOwner|setOxygenRemaining|setParticleCircle|setParticleClass|setParticleFire|setParticleParams|setParticleRandom|setPilotCameraDirection|setPilotCameraRotation|setPilotCameraTarget|setPilotLight|setPiPEffect|setPitch|setPlateNumber|setPlayable|setPlayerRespawnTime|setPos|setPosASL|setPosASL2|setPosASLW|setPosATL|setPosition|setPosWorld|setPylonLoadOut|setPylonsPriority|setRadioMsg|setRain|setRainbow|setRandomLip|setRank|setRectangular|setRepairCargo|setRotorBrakeRTD|setShadowDistance|setShotParents|setSide|setSimpleTaskAlwaysVisible|setSimpleTaskCustomData|setSimpleTaskDescription|setSimpleTaskDestination|setSimpleTaskTarget|setSimpleTaskType|setSimulWeatherLayers|setSize|setSkill|setSlingLoad|setSoundEffect|setSpeaker|setSpeech|setSpeedMode|setStamina|setStaminaScheme|setStatValue|setSuppression|setSystemOfUnits|setTargetAge|setTaskMarkerOffset|setTaskResult|setTaskState|setTerrainGrid|setText|setTimeMultiplier|setTitleEffect|setToneMapping|setToneMappingParams|setTrafficDensity|setTrafficDistance|setTrafficGap|setTrafficSpeed|setTriggerActivation|setTriggerArea|setTriggerStatements|setTriggerText|setTriggerTimeout|setTriggerType|setType|setUnconscious|setUnitAbility|setUnitLoadout|setUnitPos|setUnitPosWeak|setUnitRank|setUnitRecoilCoefficient|setUnitTrait|setUnloadInCombat|setUserActionText|setUserMFDText|setUserMFDValue|setVariable|setVectorDir|setVectorDirAndUp|setVectorUp|setVehicleAmmo|setVehicleAmmoDef|setVehicleArmor|setVehicleCargo|setVehicleId|setVehicleInit|setVehicleLock|setVehiclePosition|setVehicleRadar|setVehicleReceiveRemoteTargets|setVehicleReportOwnPosition|setVehicleReportRemoteTargets|setVehicleTIPars|setVehicleVarName|setVelocity|setVelocityModelSpace|setVelocityTransformation|setViewDistance|setVisibleIfTreeCollapsed|setWantedRpmRTD|setWaves|setWaypointBehaviour|setWaypointCombatMode|setWaypointCompletionRadius|setWaypointDescription|setWaypointForceBehaviour|setWaypointFormation|setWaypointHousePosition|setWaypointLoiterRadius|setWaypointLoiterType|setWaypointName|setWaypointPosition|setWaypointScript|setWaypointSpeed|setWaypointStatements|setWaypointTimeout|setWaypointType|setWaypointVisible|setWeaponReloadingTime|setWind|setWindDir|setWindForce|setWindStr|setWingForceScaleRTD|setWPPos|show3DIcons|showChat|showCinemaBorder|showCommandingMenu|showCompass|showCuratorCompass|showGPS|showHUD|showLegend|showMap|shownArtilleryComputer|shownChat|shownCompass|shownCuratorCompass|showNewEditorObject|shownGPS|shownHUD|shownMap|shownPad|shownRadio|shownScoretable|shownUAVFeed|shownWarrant|shownWatch|showPad|showRadio|showScoretable|showSubtitles|showUAVFeed|showWarrant|showWatch|showWaypoint|showWaypoints|side|sideAmbientLife|sideChat|sideEmpty|sideEnemy|sideFriendly|sideLogic|sideRadio|sideUnknown|simpleTasks|simulationEnabled|simulCloudDensity|simulCloudOcclusion|simulInClouds|simulWeatherSync|sin|size|sizeOf|skill|skillFinal|skipTime|sleep|sliderPosition|sliderRange|sliderSetPosition|sliderSetRange|sliderSetSpeed|sliderSpeed|slingLoadAssistantShown|soldierMagazines|someAmmo|sort|soundVolume|speaker|speed|speedMode|splitString|sqrt|squadParams|stance|startLoadingScreen|stop|stopEngineRTD|stopped|str|sunOrMoon|supportInfo|suppressFor|surfaceIsWater|surfaceNormal|surfaceType|swimInDepth|switchableUnits|switchAction|switchCamera|switchGesture|switchLight|switchMove|synchronizedObjects|synchronizedTriggers|synchronizedWaypoints|synchronizeObjectsAdd|synchronizeObjectsRemove|synchronizeTrigger|synchronizeWaypoint|systemChat|systemOfUnits|tan|targetKnowledge|targets|targetsAggregate|targetsQuery|taskAlwaysVisible|taskChildren|taskCompleted|taskCustomData|taskDescription|taskDestination|taskHint|taskMarkerOffset|taskNull|taskParent|taskResult|taskState|taskType|teamMember|teamMemberNull|teamName|teams|teamSwitch|teamSwitchEnabled|teamType|terminate|terrainIntersect|terrainIntersectASL|terrainIntersectAtASL|text|textLog|textLogFormat|tg|time|timeMultiplier|titleCut|titleFadeOut|titleObj|titleRsc|titleText|toArray|toFixed|toLower|toString|toUpper|triggerActivated|triggerActivation|triggerArea|triggerAttachedVehicle|triggerAttachObject|triggerAttachVehicle|triggerDynamicSimulation|triggerStatements|triggerText|triggerTimeout|triggerTimeoutCurrent|triggerType|turretLocal|turretOwner|turretUnit|tvAdd|tvClear|tvCollapse|tvCollapseAll|tvCount|tvCurSel|tvData|tvDelete|tvExpand|tvExpandAll|tvPicture|tvPictureRight|tvSetColor|tvSetCurSel|tvSetData|tvSetPicture|tvSetPictureColor|tvSetPictureColorDisabled|tvSetPictureColorSelected|tvSetPictureRight|tvSetPictureRightColor|tvSetPictureRightColorDisabled|tvSetPictureRightColorSelected|tvSetSelectColor|tvSetText|tvSetTooltip|tvSetValue|tvSort|tvSortByValue|tvText|tvTooltip|tvValue|type|typeName|typeOf|UAVControl|uiNamespace|uiSleep|unassignCurator|unassignItem|unassignTeam|unassignVehicle|underwater|uniform|uniformContainer|uniformItems|uniformMagazines|unitAddons|unitAimPosition|unitAimPositionVisual|unitBackpack|unitIsUAV|unitPos|unitReady|unitRecoilCoefficient|units|unitsBelowHeight|unlinkItem|unlockAchievement|unregisterTask|updateDrawIcon|updateMenuItem|updateObjectTree|useAIOperMapObstructionTest|useAISteeringComponent|useAudioTimeForMoves|userInputDisabled|vectorAdd|vectorCos|vectorCrossProduct|vectorDiff|vectorDir|vectorDirVisual|vectorDistance|vectorDistanceSqr|vectorDotProduct|vectorFromTo|vectorMagnitude|vectorMagnitudeSqr|vectorModelToWorld|vectorModelToWorldVisual|vectorMultiply|vectorNormalized|vectorUp|vectorUpVisual|vectorWorldToModel|vectorWorldToModelVisual|vehicle|vehicleCargoEnabled|vehicleChat|vehicleRadio|vehicleReceiveRemoteTargets|vehicleReportOwnPosition|vehicleReportRemoteTargets|vehicles|vehicleVarName|velocity|velocityModelSpace|verifySignature|vest|vestContainer|vestItems|vestMagazines|viewDistance|visibleCompass|visibleGPS|visibleMap|visiblePosition|visiblePositionASL|visibleScoretable|visibleWatch|waitUntil|waves|waypointAttachedObject|waypointAttachedVehicle|waypointAttachObject|waypointAttachVehicle|waypointBehaviour|waypointCombatMode|waypointCompletionRadius|waypointDescription|waypointForceBehaviour|waypointFormation|waypointHousePosition|waypointLoiterRadius|waypointLoiterType|waypointName|waypointPosition|waypoints|waypointScript|waypointsEnabledUAV|waypointShow|waypointSpeed|waypointStatements|waypointTimeout|waypointTimeoutCurrent|waypointType|waypointVisible|weaponAccessories|weaponAccessoriesCargo|weaponCargo|weaponDirection|weaponInertia|weaponLowered|weapons|weaponsItems|weaponsItemsCargo|weaponState|weaponsTurret|weightRTD|west|WFSideText|wind|windDir|windRTD|windStr|wingsForcesRTD|worldName|worldSize|worldToModel|worldToModelVisual|worldToScreen)\b/i,number:/(?:\$|\b0x)[\da-f]+\b|(?:\B\.\d+|\b\d+(?:\.\d+)?)(?:e[+-]?\d+)?\b/i,operator:/##|>>|&&|\|\||[!=<>]=?|[-+*/%#^]|\b(?:and|mod|not|or)\b/i,"magic-variable":{pattern:/\b(?:this|thisList|thisTrigger|_exception|_fnc_scriptName|_fnc_scriptNameParent|_forEachIndex|_this|_thisEventHandler|_thisFSM|_thisScript|_x)\b/i,alias:"keyword"},constant:/\bDIK(?:_[a-z\d]+)+\b/i}),e.languages.insertBefore("sqf","string",{macro:{pattern:/(^[ \t]*)#[a-z](?:[^\r\n\\]|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{directive:{pattern:/#[a-z]+\b/i,alias:"keyword"},comment:e.languages.sqf.comment}}}),delete e.languages.sqf["class-name"]}e.exports=t,t.displayName="sqf",t.aliases=[]},7740:function(e){"use strict";function t(e){e.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}}e.exports=t,t.displayName="sql",t.aliases=[]},4038:function(e){"use strict";function t(e){e.languages.squirrel=e.languages.extend("clike",{comment:[e.languages.clike.comment[0],{pattern:/(^|[^\\:])(?:\/\/|#).*/,lookbehind:!0,greedy:!0}],string:{pattern:/(^|[^\\"'@])(?:@"(?:[^"]|"")*"(?!")|"(?:[^\\\r\n"]|\\.)*")/,lookbehind:!0,greedy:!0},"class-name":{pattern:/(\b(?:class|enum|extends|instanceof)\s+)\w+(?:\.\w+)*/,lookbehind:!0,inside:{punctuation:/\./}},keyword:/\b(?:__FILE__|__LINE__|base|break|case|catch|class|clone|const|constructor|continue|default|delete|else|enum|extends|for|foreach|function|if|in|instanceof|local|null|resume|return|static|switch|this|throw|try|typeof|while|yield)\b/,number:/\b(?:0x[0-9a-fA-F]+|\d+(?:\.(?:\d+|[eE][+-]?\d+))?)\b/,operator:/\+\+|--|<=>|<[-<]|>>>?|&&?|\|\|?|[-+*/%!=<>]=?|[~^]|::?/,punctuation:/[(){}\[\],;.]/}),e.languages.insertBefore("squirrel","string",{char:{pattern:/(^|[^\\"'])'(?:[^\\']|\\(?:[xuU][0-9a-fA-F]{0,8}|[\s\S]))'/,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("squirrel","operator",{"attribute-punctuation":{pattern:/<\/|\/>/,alias:"important"},lambda:{pattern:/@(?=\()/,alias:"operator"}})}e.exports=t,t.displayName="squirrel",t.aliases=[]},4585:function(e){"use strict";function t(e){!function(e){var t=/\b(?:algebra_solver|algebra_solver_newton|integrate_1d|integrate_ode|integrate_ode_bdf|integrate_ode_rk45|map_rect|ode_(?:adams|bdf|ckrk|rk45)(?:_tol)?|ode_adjoint_tol_ctl|reduce_sum|reduce_sum_static)\b/;e.languages.stan={comment:/\/\/.*|\/\*[\s\S]*?\*\/|#(?!include).*/,string:{pattern:/"[\x20\x21\x23-\x5B\x5D-\x7E]*"/,greedy:!0},directive:{pattern:/^([ \t]*)#include\b.*/m,lookbehind:!0,alias:"property"},"function-arg":{pattern:RegExp("("+t.source+/\s*\(\s*/.source+")"+/[a-zA-Z]\w*/.source),lookbehind:!0,alias:"function"},constraint:{pattern:/(\b(?:int|matrix|real|row_vector|vector)\s*)<[^<>]*>/,lookbehind:!0,inside:{expression:{pattern:/(=\s*)\S(?:\S|\s+(?!\s))*?(?=\s*(?:>$|,\s*\w+\s*=))/,lookbehind:!0,inside:null},property:/\b[a-z]\w*(?=\s*=)/i,operator:/=/,punctuation:/^<|>$|,/}},keyword:[{pattern:/\bdata(?=\s*\{)|\b(?:functions|generated|model|parameters|quantities|transformed)\b/,alias:"program-block"},/\b(?:array|break|cholesky_factor_corr|cholesky_factor_cov|complex|continue|corr_matrix|cov_matrix|data|else|for|if|in|increment_log_prob|int|matrix|ordered|positive_ordered|print|real|reject|return|row_vector|simplex|target|unit_vector|vector|void|while)\b/,t],function:/\b[a-z]\w*(?=\s*\()/i,number:/(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:E[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,boolean:/\b(?:false|true)\b/,operator:/<-|\.[*/]=?|\|\|?|&&|[!=<>+\-*/]=?|['^%~?:]/,punctuation:/[()\[\]{},;]/},e.languages.stan.constraint.inside.expression.inside=e.languages.stan}(e)}e.exports=t,t.displayName="stan",t.aliases=[]},692:function(e){"use strict";function t(e){!function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},r={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};r.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:r}},r.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:r}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:r}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:r}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:r}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:r.interpolation}},rest:r}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:r.interpolation,comment:r.comment,punctuation:/[{},]/}},func:r.func,string:r.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:r.interpolation,punctuation:/[{}()\[\];:.]/}}(e)}e.exports=t,t.displayName="stylus",t.aliases=[]},3171:function(e){"use strict";function t(e){e.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ \t]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},e.languages.swift["string-literal"].forEach((function(t){t.inside.interpolation.inside=e.languages.swift}))}e.exports=t,t.displayName="swift",t.aliases=[]},2257:function(e){"use strict";function t(e){!function(e){var t={pattern:/^[;#].*/m,greedy:!0},n=/"(?:[^\r\n"\\]|\\(?:[^\r]|\r\n?))*"(?!\S)/.source;e.languages.systemd={comment:t,section:{pattern:/^\[[^\n\r\[\]]*\](?=[ \t]*$)/m,greedy:!0,inside:{punctuation:/^\[|\]$/,"section-name":{pattern:/[\s\S]+/,alias:"selector"}}},key:{pattern:/^[^\s=]+(?=[ \t]*=)/m,greedy:!0,alias:"attr-name"},value:{pattern:RegExp(/(=[ \t]*(?!\s))/.source+"(?:"+n+'|(?=[^"\r\n]))(?:'+/[^\s\\]/.source+'|[ \t]+(?:(?![ \t"])|'+n+")|"+/\\[\r\n]+(?:[#;].*[\r\n]+)*(?![#;])/.source+")*"),lookbehind:!0,greedy:!0,alias:"attr-value",inside:{comment:t,quoted:{pattern:RegExp(/(^|\s)/.source+n),lookbehind:!0,greedy:!0},punctuation:/\\$/m,boolean:{pattern:/^(?:false|no|off|on|true|yes)$/,greedy:!0}}},punctuation:/=/}}(e)}e.exports=t,t.displayName="systemd",t.aliases=[]},5559:function(e,t,n){"use strict";var r=n(9547),a=n(3281);function i(e){e.register(r),e.register(a),e.languages.t4=e.languages["t4-cs"]=e.languages["t4-templating"].createT4("csharp")}e.exports=i,i.displayName="t4Cs",i.aliases=[]},9547:function(e){"use strict";function t(e){!function(e){function t(e,t,n){return{pattern:RegExp("<#"+e+"[\\s\\S]*?#>"),alias:"block",inside:{delimiter:{pattern:RegExp("^<#"+e+"|#>$"),alias:"important"},content:{pattern:/[\s\S]+/,inside:t,alias:n}}}}e.languages["t4-templating"]=Object.defineProperty({},"createT4",{value:function(n){var r=e.languages[n],a="language-"+n;return{block:{pattern:/<#[\s\S]+?#>/,inside:{directive:t("@",{"attr-value":{pattern:/=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/,inside:{punctuation:/^=|^["']|["']$/}},keyword:/\b\w+(?=\s)/,"attr-name":/\b\w+/}),expression:t("=",r,a),"class-feature":t("\\+",r,a),standard:t("",r,a)}}}}})}(e)}e.exports=t,t.displayName="t4Templating",t.aliases=[]},9338:function(e,t,n){"use strict";var r=n(9547),a=n(4941);function i(e){e.register(r),e.register(a),e.languages["t4-vb"]=e.languages["t4-templating"].createT4("vbnet")}e.exports=i,i.displayName="t4Vb",i.aliases=[]},5515:function(e,t,n){"use strict";var r=n(5133);function a(e){e.register(r),e.languages.tap={fail:/not ok[^#{\n\r]*/,pass:/ok[^#{\n\r]*/,pragma:/pragma [+-][a-z]+/,bailout:/bail out!.*/i,version:/TAP version \d+/i,plan:/\b\d+\.\.\d+(?: +#.*)?/,subtest:{pattern:/# Subtest(?:: .*)?/,greedy:!0},punctuation:/[{}]/,directive:/#.*/,yamlish:{pattern:/(^[ \t]*)---[\s\S]*?[\r\n][ \t]*\.\.\.$/m,lookbehind:!0,inside:e.languages.yaml,alias:"language-yaml"}}}e.exports=a,a.displayName="tap",a.aliases=[]},4207:function(e){"use strict";function t(e){e.languages.tcl={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:{pattern:/"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*"/,greedy:!0},variable:[{pattern:/(\$)(?:::)?(?:[a-zA-Z0-9]+::)*\w+/,lookbehind:!0},{pattern:/(\$)\{[^}]+\}/,lookbehind:!0},{pattern:/(^[\t ]*set[ \t]+)(?:::)?(?:[a-zA-Z0-9]+::)*\w+/m,lookbehind:!0}],function:{pattern:/(^[\t ]*proc[ \t]+)\S+/m,lookbehind:!0},builtin:[{pattern:/(^[\t ]*)(?:break|class|continue|error|eval|exit|for|foreach|if|proc|return|switch|while)\b/m,lookbehind:!0},/\b(?:else|elseif)\b/],scope:{pattern:/(^[\t ]*)(?:global|upvar|variable)\b/m,lookbehind:!0,alias:"constant"},keyword:{pattern:/(^[\t ]*|\[)(?:Safe_Base|Tcl|after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|scan|seek|set|socket|source|split|string|subst|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|test|vars|wordBreak(?:After|Before))|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)\b/m,lookbehind:!0},operator:/!=?|\*\*?|==|&&?|\|\|?|<[=<]?|>[=>]?|[-+~\/%?^]|\b(?:eq|in|ne|ni)\b/,punctuation:/[{}()\[\]]/}}e.exports=t,t.displayName="tcl",t.aliases=[]},7492:function(e){"use strict";function t(e){!function(e){var t=/\([^|()\n]+\)|\[[^\]\n]+\]|\{[^}\n]+\}/.source,n=/\)|\((?![^|()\n]+\))/.source;function r(e,r){return RegExp(e.replace(/<MOD>/g,(function(){return"(?:"+t+")"})).replace(/<PAR>/g,(function(){return"(?:"+n+")"})),r||"")}var a={css:{pattern:/\{[^{}]+\}/,inside:{rest:e.languages.css}},"class-id":{pattern:/(\()[^()]+(?=\))/,lookbehind:!0,alias:"attr-value"},lang:{pattern:/(\[)[^\[\]]+(?=\])/,lookbehind:!0,alias:"attr-value"},punctuation:/[\\\/]\d+|\S/},i=e.languages.textile=e.languages.extend("markup",{phrase:{pattern:/(^|\r|\n)\S[\s\S]*?(?=$|\r?\n\r?\n|\r\r)/,lookbehind:!0,inside:{"block-tag":{pattern:r(/^[a-z]\w*(?:<MOD>|<PAR>|[<>=])*\./.source),inside:{modifier:{pattern:r(/(^[a-z]\w*)(?:<MOD>|<PAR>|[<>=])+(?=\.)/.source),lookbehind:!0,inside:a},tag:/^[a-z]\w*/,punctuation:/\.$/}},list:{pattern:r(/^[*#]+<MOD>*\s+\S.*/.source,"m"),inside:{modifier:{pattern:r(/(^[*#]+)<MOD>+/.source),lookbehind:!0,inside:a},punctuation:/^[*#]+/}},table:{pattern:r(/^(?:(?:<MOD>|<PAR>|[<>=^~])+\.\s*)?(?:\|(?:(?:<MOD>|<PAR>|[<>=^~_]|[\\/]\d+)+\.|(?!(?:<MOD>|<PAR>|[<>=^~_]|[\\/]\d+)+\.))[^|]*)+\|/.source,"m"),inside:{modifier:{pattern:r(/(^|\|(?:\r?\n|\r)?)(?:<MOD>|<PAR>|[<>=^~_]|[\\/]\d+)+(?=\.)/.source),lookbehind:!0,inside:a},punctuation:/\||^\./}},inline:{pattern:r(/(^|[^a-zA-Z\d])(\*\*|__|\?\?|[*_%@+\-^~])<MOD>*.+?\2(?![a-zA-Z\d])/.source),lookbehind:!0,inside:{bold:{pattern:r(/(^(\*\*?)<MOD>*).+?(?=\2)/.source),lookbehind:!0},italic:{pattern:r(/(^(__?)<MOD>*).+?(?=\2)/.source),lookbehind:!0},cite:{pattern:r(/(^\?\?<MOD>*).+?(?=\?\?)/.source),lookbehind:!0,alias:"string"},code:{pattern:r(/(^@<MOD>*).+?(?=@)/.source),lookbehind:!0,alias:"keyword"},inserted:{pattern:r(/(^\+<MOD>*).+?(?=\+)/.source),lookbehind:!0},deleted:{pattern:r(/(^-<MOD>*).+?(?=-)/.source),lookbehind:!0},span:{pattern:r(/(^%<MOD>*).+?(?=%)/.source),lookbehind:!0},modifier:{pattern:r(/(^\*\*|__|\?\?|[*_%@+\-^~])<MOD>+/.source),lookbehind:!0,inside:a},punctuation:/[*_%?@+\-^~]+/}},"link-ref":{pattern:/^\[[^\]]+\]\S+$/m,inside:{string:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0},url:{pattern:/(^\])\S+$/,lookbehind:!0},punctuation:/[\[\]]/}},link:{pattern:r(/"<MOD>*[^"]+":.+?(?=[^\w/]?(?:\s|$))/.source),inside:{text:{pattern:r(/(^"<MOD>*)[^"]+(?=")/.source),lookbehind:!0},modifier:{pattern:r(/(^")<MOD>+/.source),lookbehind:!0,inside:a},url:{pattern:/(:).+/,lookbehind:!0},punctuation:/[":]/}},image:{pattern:r(/!(?:<MOD>|<PAR>|[<>=])*(?![<>=])[^!\s()]+(?:\([^)]+\))?!(?::.+?(?=[^\w/]?(?:\s|$)))?/.source),inside:{source:{pattern:r(/(^!(?:<MOD>|<PAR>|[<>=])*)(?![<>=])[^!\s()]+(?:\([^)]+\))?(?=!)/.source),lookbehind:!0,alias:"url"},modifier:{pattern:r(/(^!)(?:<MOD>|<PAR>|[<>=])+/.source),lookbehind:!0,inside:a},url:{pattern:/(:).+/,lookbehind:!0},punctuation:/[!:]/}},footnote:{pattern:/\b\[\d+\]/,alias:"comment",inside:{punctuation:/\[|\]/}},acronym:{pattern:/\b[A-Z\d]+\([^)]+\)/,inside:{comment:{pattern:/(\()[^()]+(?=\))/,lookbehind:!0},punctuation:/[()]/}},mark:{pattern:/\b\((?:C|R|TM)\)/,alias:"comment",inside:{punctuation:/[()]/}}}}}),o=i.phrase.inside,s={inline:o.inline,link:o.link,image:o.image,footnote:o.footnote,acronym:o.acronym,mark:o.mark};i.tag.pattern=/<\/?(?!\d)[a-z0-9]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i;var l=o.inline.inside;l.bold.inside=s,l.italic.inside=s,l.inserted.inside=s,l.deleted.inside=s,l.span.inside=s;var c=o.table.inside;c.inline=s.inline,c.link=s.link,c.image=s.image,c.footnote=s.footnote,c.acronym=s.acronym,c.mark=s.mark}(e)}e.exports=t,t.displayName="textile",t.aliases=[]},6453:function(e){"use strict";function t(e){!function(e){var t=/(?:[\w-]+|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*")/.source;function n(e){return e.replace(/__/g,(function(){return t}))}e.languages.toml={comment:{pattern:/#.*/,greedy:!0},table:{pattern:RegExp(n(/(^[\t ]*\[\s*(?:\[\s*)?)__(?:\s*\.\s*__)*(?=\s*\])/.source),"m"),lookbehind:!0,greedy:!0,alias:"class-name"},key:{pattern:RegExp(n(/(^[\t ]*|[{,]\s*)__(?:\s*\.\s*__)*(?=\s*=)/.source),"m"),lookbehind:!0,greedy:!0,alias:"property"},string:{pattern:/"""(?:\\[\s\S]|[^\\])*?"""|'''[\s\S]*?'''|'[^'\n\r]*'|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},date:[{pattern:/\b\d{4}-\d{2}-\d{2}(?:[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})?)?\b/i,alias:"number"},{pattern:/\b\d{2}:\d{2}:\d{2}(?:\.\d+)?\b/,alias:"number"}],number:/(?:\b0(?:x[\da-zA-Z]+(?:_[\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\b|[-+]?\b\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?\b|[-+]?\b(?:inf|nan)\b/,boolean:/\b(?:false|true)\b/,punctuation:/[.,=[\]{}]/}}(e)}e.exports=t,t.displayName="toml",t.aliases=[]},6686:function(e){"use strict";function t(e){!function(e){e.languages.tremor={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},"interpolated-string":null,extractor:{pattern:/\b[a-z_]\w*\|(?:[^\r\n\\|]|\\(?:\r\n|[\s\S]))*\|/i,greedy:!0,inside:{regex:{pattern:/(^re)\|[\s\S]+/,lookbehind:!0},function:/^\w+/,value:/\|[\s\S]+/}},identifier:{pattern:/`[^`]*`/,greedy:!0},function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())\b/,keyword:/\b(?:args|as|by|case|config|connect|connector|const|copy|create|default|define|deploy|drop|each|emit|end|erase|event|flow|fn|for|from|group|having|insert|into|intrinsic|let|links|match|merge|mod|move|of|operator|patch|pipeline|recur|script|select|set|sliding|state|stream|to|tumbling|update|use|when|where|window|with)\b/,boolean:/\b(?:false|null|true)\b/i,number:/\b(?:0b[01_]*|0x[0-9a-fA-F_]*|\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee][+-]?[\d_]+)?)\b/,"pattern-punctuation":{pattern:/%(?=[({[])/,alias:"punctuation"},operator:/[-+*\/%~!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?>?=?|(?:absent|and|not|or|present|xor)\b/,punctuation:/::|[;\[\]()\{\},.:]/};var t=/#\{(?:[^"{}]|\{[^{}]*\}|"(?:[^"\\\r\n]|\\(?:\r\n|[\s\S]))*")*\}/.source;e.languages.tremor["interpolated-string"]={pattern:RegExp(/(^|[^\\])/.source+'(?:"""(?:'+/[^"\\#]|\\[\s\S]|"(?!"")|#(?!\{)/.source+"|"+t+')*"""|"(?:'+/[^"\\\r\n#]|\\(?:\r\n|[\s\S])|#(?!\{)/.source+"|"+t+')*")'),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:RegExp(t),inside:{punctuation:/^#\{|\}$/,expression:{pattern:/[\s\S]+/,inside:e.languages.tremor}}},string:/[\s\S]+/}},e.languages.troy=e.languages.tremor,e.languages.trickle=e.languages.tremor}(e)}e.exports=t,t.displayName="tremor",t.aliases=[]},7369:function(e,t,n){"use strict";var r=n(765),a=n(9669);function i(e){e.register(r),e.register(a),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0}(e)}e.exports=i,i.displayName="tsx",i.aliases=[]},7191:function(e,t,n){"use strict";var r=n(595);function a(e){e.register(r),function(e){e.languages.tt2=e.languages.extend("clike",{comment:/#.*|\[%#[\s\S]*?%\]/,keyword:/\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|SWITCH|TAGS|THROW|TRY|UNLESS|USE|WHILE|WRAPPER)\b/,punctuation:/[[\]{},()]/}),e.languages.insertBefore("tt2","number",{operator:/=[>=]?|!=?|<=?|>=?|&&|\|\|?|\b(?:and|not|or)\b/,variable:{pattern:/\b[a-z]\w*(?:\s*\.\s*(?:\d+|\$?[a-z]\w*))*\b/i}}),e.languages.insertBefore("tt2","keyword",{delimiter:{pattern:/^(?:\[%|%%)-?|-?%\]$/,alias:"punctuation"}}),e.languages.insertBefore("tt2","string",{"single-quoted-string":{pattern:/'[^\\']*(?:\\[\s\S][^\\']*)*'/,greedy:!0,alias:"string"},"double-quoted-string":{pattern:/"[^\\"]*(?:\\[\s\S][^\\"]*)*"/,greedy:!0,alias:"string",inside:{variable:{pattern:/\$(?:[a-z]\w*(?:\.(?:\d+|\$?[a-z]\w*))*)/i}}}}),delete e.languages.tt2.string,e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"tt2",/\[%[\s\S]+?%\]/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"tt2")}))}(e)}e.exports=a,a.displayName="tt2",a.aliases=[]},3089:function(e){"use strict";function t(e){e.languages.turtle={comment:{pattern:/#.*/,greedy:!0},"multiline-string":{pattern:/"""(?:(?:""?)?(?:[^"\\]|\\.))*"""|'''(?:(?:''?)?(?:[^'\\]|\\.))*'''/,greedy:!0,alias:"string",inside:{comment:/#.*/}},string:{pattern:/"(?:[^\\"\r\n]|\\.)*"|'(?:[^\\'\r\n]|\\.)*'/,greedy:!0},url:{pattern:/<(?:[^\x00-\x20<>"{}|^`\\]|\\(?:u[\da-fA-F]{4}|U[\da-fA-F]{8}))*>/,greedy:!0,inside:{punctuation:/[<>]/}},function:{pattern:/(?:(?![-.\d\xB7])[-.\w\xB7\xC0-\uFFFD]+)?:(?:(?![-.])(?:[-.:\w\xC0-\uFFFD]|%[\da-f]{2}|\\.)+)?/i,inside:{"local-name":{pattern:/([^:]*:)[\s\S]+/,lookbehind:!0},prefix:{pattern:/[\s\S]+/,inside:{punctuation:/:/}}}},number:/[+-]?\b\d+(?:\.\d*)?(?:e[+-]?\d+)?/i,punctuation:/[{}.,;()[\]]|\^\^/,boolean:/\b(?:false|true)\b/,keyword:[/(?:\ba|@prefix|@base)\b|=/,/\b(?:base|graph|prefix)\b/i],tag:{pattern:/@[a-z]+(?:-[a-z\d]+)*/i,inside:{punctuation:/@/}}},e.languages.trig=e.languages.turtle}e.exports=t,t.displayName="turtle",t.aliases=[]},4411:function(e,t,n){"use strict";var r=n(595);function a(e){e.register(r),e.languages.twig={comment:/^\{#[\s\S]*?#\}$/,"tag-name":{pattern:/(^\{%-?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%]-?|-?[%}]\}$/,alias:"punctuation"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/}},keyword:/\b(?:even|if|odd)\b/,boolean:/\b(?:false|null|true)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],punctuation:/[()\[\]{}:.,]/},e.hooks.add("before-tokenize",(function(t){if("twig"===t.language){e.languages["markup-templating"].buildPlaceholders(t,"twig",/\{(?:#[\s\S]*?#|%[\s\S]*?%|\{[\s\S]*?\})\}/g)}})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"twig")}))}e.exports=a,a.displayName="twig",a.aliases=[]},9669:function(e){"use strict";function t(e){!function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(e)}e.exports=t,t.displayName="typescript",t.aliases=["ts"]},4773:function(e){"use strict";function t(e){!function(e){var t=/\b(?:ACT|ACTIFSUB|CARRAY|CASE|CLEARGIF|COA|COA_INT|CONSTANTS|CONTENT|CUR|EDITPANEL|EFFECT|EXT|FILE|FLUIDTEMPLATE|FORM|FRAME|FRAMESET|GIFBUILDER|GMENU|GMENU_FOLDOUT|GMENU_LAYERS|GP|HMENU|HRULER|HTML|IENV|IFSUB|IMAGE|IMGMENU|IMGMENUITEM|IMGTEXT|IMG_RESOURCE|INCLUDE_TYPOSCRIPT|JSMENU|JSMENUITEM|LLL|LOAD_REGISTER|NO|PAGE|RECORDS|RESTORE_REGISTER|TEMPLATE|TEXT|TMENU|TMENUITEM|TMENU_LAYERS|USER|USER_INT|_GIFBUILDER|global|globalString|globalVar)\b/;e.languages.typoscript={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:= \t]|(?:^|[^= \t])[ \t]+)\/\/.*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^"'])#.*/,lookbehind:!0,greedy:!0}],function:[{pattern:/<INCLUDE_TYPOSCRIPT:\s*source\s*=\s*(?:"[^"\r\n]*"|'[^'\r\n]*')\s*>/,inside:{string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,inside:{keyword:t}},keyword:{pattern:/INCLUDE_TYPOSCRIPT/}}},{pattern:/@import\s*(?:"[^"\r\n]*"|'[^'\r\n]*')/,inside:{string:/"[^"\r\n]*"|'[^'\r\n]*'/}}],string:{pattern:/^([^=]*=[< ]?)(?:(?!\]\n).)*/,lookbehind:!0,inside:{function:/\{\$.*\}/,keyword:t,number:/^\d+$/,punctuation:/[,|:]/}},keyword:t,number:{pattern:/\b\d+\s*[.{=]/,inside:{operator:/[.{=]/}},tag:{pattern:/\.?[-\w\\]+\.?/,inside:{punctuation:/\./}},punctuation:/[{}[\];(),.:|]/,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/},e.languages.tsconfig=e.languages.typoscript}(e)}e.exports=t,t.displayName="typoscript",t.aliases=["tsconfig"]},3210:function(e){"use strict";function t(e){e.languages.unrealscript={comment:/\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},category:{pattern:/(\b(?:(?:autoexpand|hide|show)categories|var)\s*\()[^()]+(?=\))/,lookbehind:!0,greedy:!0,alias:"property"},metadata:{pattern:/(\w\s*)<\s*\w+\s*=[^<>|=\r\n]+(?:\|\s*\w+\s*=[^<>|=\r\n]+)*>/,lookbehind:!0,greedy:!0,inside:{property:/\b\w+(?=\s*=)/,operator:/=/,punctuation:/[<>|]/}},macro:{pattern:/`\w+/,alias:"property"},"class-name":{pattern:/(\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+)\w+/,lookbehind:!0},keyword:/\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,boolean:/\b(?:false|true)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/>>|<<|--|\+\+|\*\*|[-+*/~!=<>$@]=?|&&?|\|\|?|\^\^?|[?:%]|\b(?:ClockwiseFrom|Cross|Dot)\b/,punctuation:/[()[\]{};,.]/},e.languages.uc=e.languages.uscript=e.languages.unrealscript}e.exports=t,t.displayName="unrealscript",t.aliases=["uc","uscript"]},2613:function(e){"use strict";function t(e){e.languages.uorazor={"comment-hash":{pattern:/#.*/,alias:"comment",greedy:!0},"comment-slash":{pattern:/\/\/.*/,alias:"comment",greedy:!0},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/},greedy:!0},"source-layers":{pattern:/\b(?:arms|backpack|blue|bracelet|cancel|clear|cloak|criminal|earrings|enemy|facialhair|friend|friendly|gloves|gray|grey|ground|hair|head|innerlegs|innertorso|innocent|lefthand|middletorso|murderer|neck|nonfriendly|onehandedsecondary|outerlegs|outertorso|pants|red|righthand|ring|self|shirt|shoes|talisman|waist)\b/i,alias:"function"},"source-commands":{pattern:/\b(?:alliance|attack|cast|clearall|clearignore|clearjournal|clearlist|clearsysmsg|createlist|createtimer|dclick|dclicktype|dclickvar|dress|dressconfig|drop|droprelloc|emote|getlabel|guild|gumpclose|gumpresponse|hotkey|ignore|lasttarget|lift|lifttype|menu|menuresponse|msg|org|organize|organizer|overhead|pause|poplist|potion|promptresponse|pushlist|removelist|removetimer|rename|restock|say|scav|scavenger|script|setability|setlasttarget|setskill|settimer|setvar|sysmsg|target|targetloc|targetrelloc|targettype|undress|unignore|unsetvar|useobject|useonce|useskill|usetype|virtue|wait|waitforgump|waitformenu|waitforprompt|waitforstat|waitforsysmsg|waitfortarget|walk|wfsysmsg|wft|whisper|yell)\b/,alias:"function"},"tag-name":{pattern:/(^\{%-?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%]-?|-?[%}]\}$/,alias:"punctuation"},function:/\b(?:atlist|close|closest|count|counter|counttype|dead|dex|diffhits|diffmana|diffstam|diffweight|find|findbuff|finddebuff|findlayer|findtype|findtypelist|followers|gumpexists|hidden|hits|hp|hue|human|humanoid|ingump|inlist|insysmessage|insysmsg|int|invul|lhandempty|list|listexists|mana|maxhits|maxhp|maxmana|maxstam|maxweight|monster|mounted|name|next|noto|paralyzed|poisoned|position|prev|previous|queued|rand|random|rhandempty|skill|stam|str|targetexists|timer|timerexists|varexist|warmode|weight)\b/,keyword:/\b(?:and|as|break|continue|else|elseif|endfor|endif|endwhile|for|if|loop|not|or|replay|stop|while)\b/,boolean:/\b(?:false|null|true)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],punctuation:/[()\[\]{}:.,]/}}e.exports=t,t.displayName="uorazor",t.aliases=[]},4317:function(e){"use strict";function t(e){e.languages.uri={scheme:{pattern:/^[a-z][a-z0-9+.-]*:/im,greedy:!0,inside:{"scheme-delimiter":/:$/}},fragment:{pattern:/#[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"fragment-delimiter":/^#/}},query:{pattern:/\?[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"query-delimiter":{pattern:/^\?/,greedy:!0},"pair-delimiter":/[&;]/,pair:{pattern:/^[^=][\s\S]*/,inside:{key:/^[^=]+/,value:{pattern:/(^=)[\s\S]+/,lookbehind:!0}}}}},authority:{pattern:RegExp(/^\/\//.source+/(?:[\w\-.~!$&'()*+,;=%:]*@)?/.source+"(?:"+/\[(?:[0-9a-fA-F:.]{2,48}|v[0-9a-fA-F]+\.[\w\-.~!$&'()*+,;=]+)\]/.source+"|"+/[\w\-.~!$&'()*+,;=%]*/.source+")"+/(?::\d*)?/.source,"m"),inside:{"authority-delimiter":/^\/\//,"user-info-segment":{pattern:/^[\w\-.~!$&'()*+,;=%:]*@/,inside:{"user-info-delimiter":/@$/,"user-info":/^[\w\-.~!$&'()*+,;=%:]+/}},"port-segment":{pattern:/:\d*$/,inside:{"port-delimiter":/^:/,port:/^\d+/}},host:{pattern:/[\s\S]+/,inside:{"ip-literal":{pattern:/^\[[\s\S]+\]$/,inside:{"ip-literal-delimiter":/^\[|\]$/,"ipv-future":/^v[\s\S]+/,"ipv6-address":/^[\s\S]+/}},"ipv4-address":/^(?:(?:[03-9]\d?|[12]\d{0,2})\.){3}(?:[03-9]\d?|[12]\d{0,2})$/}}}},path:{pattern:/^[\w\-.~!$&'()*+,;=%:@/]+/m,inside:{"path-separator":/\//}}},e.languages.url=e.languages.uri}e.exports=t,t.displayName="uri",t.aliases=["url"]},1927:function(e){"use strict";function t(e){!function(e){var t={pattern:/[\s\S]+/,inside:null};e.languages.v=e.languages.extend("clike",{string:{pattern:/r?(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,alias:"quoted-string",greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\{[^{}]*\}|\w+(?:\.\w+(?:\([^\(\)]*\))?|\[[^\[\]]+\])*)/,lookbehind:!0,inside:{"interpolation-variable":{pattern:/^\$\w[\s\S]*$/,alias:"variable"},"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},"interpolation-expression":t}}}},"class-name":{pattern:/(\b(?:enum|interface|struct|type)\s+)(?:C\.)?\w+/,lookbehind:!0},keyword:/(?:\b(?:__global|as|asm|assert|atomic|break|chan|const|continue|defer|else|embed|enum|fn|for|go(?:to)?|if|import|in|interface|is|lock|match|module|mut|none|or|pub|return|rlock|select|shared|sizeof|static|struct|type(?:of)?|union|unsafe)|\$(?:else|for|if)|#(?:flag|include))\b/,number:/\b(?:0x[a-f\d]+(?:_[a-f\d]+)*|0b[01]+(?:_[01]+)*|0o[0-7]+(?:_[0-7]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?)\b/i,operator:/~|\?|[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\.?/,builtin:/\b(?:any(?:_float|_int)?|bool|byte(?:ptr)?|charptr|f(?:32|64)|i(?:8|16|64|128|nt)|rune|size_t|string|u(?:16|32|64|128)|voidptr)\b/}),t.inside=e.languages.v,e.languages.insertBefore("v","string",{char:{pattern:/`(?:\\`|\\?[^`]{1,2})`/,alias:"rune"}}),e.languages.insertBefore("v","operator",{attribute:{pattern:/(^[\t ]*)\[(?:deprecated|direct_array_access|flag|inline|live|ref_only|typedef|unsafe_fn|windows_stdcall)\]/m,lookbehind:!0,alias:"annotation",inside:{punctuation:/[\[\]]/,keyword:/\w+/}},generic:{pattern:/<\w+>(?=\s*[\)\{])/,inside:{punctuation:/[<>]/,"class-name":/\w+/}}}),e.languages.insertBefore("v","function",{"generic-function":{pattern:/\b\w+\s*<\w+>(?=\()/,inside:{function:/^\w+/,generic:{pattern:/<\w+>/,inside:e.languages.v.generic.inside}}}})}(e)}e.exports=t,t.displayName="v",t.aliases=[]},6845:function(e){"use strict";function t(e){e.languages.vala=e.languages.extend("clike",{"class-name":[{pattern:/\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w)/,inside:{punctuation:/\./}},{pattern:/(\[)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/(\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/((?:\b(?:class|enum|interface|new|struct)\s+)|(?:catch\s+\())[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}}],keyword:/\b(?:abstract|as|assert|async|base|bool|break|case|catch|char|class|const|construct|continue|default|delegate|delete|do|double|dynamic|else|ensures|enum|errordomain|extern|finally|float|for|foreach|get|if|in|inline|int|int16|int32|int64|int8|interface|internal|is|lock|long|namespace|new|null|out|override|owned|params|private|protected|public|ref|requires|return|set|short|signal|sizeof|size_t|ssize_t|static|string|struct|switch|this|throw|throws|try|typeof|uchar|uint|uint16|uint32|uint64|uint8|ulong|unichar|unowned|ushort|using|value|var|virtual|void|volatile|weak|while|yield)\b/i,function:/\b\w+(?=\s*\()/,number:/(?:\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)(?:f|u?l?)?/i,operator:/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[+\-*\/%&^|=!<>]=?|\?\??|\.\.\./,punctuation:/[{}[\];(),.:]/,constant:/\b[A-Z0-9_]+\b/}),e.languages.insertBefore("vala","string",{"raw-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},"template-string":{pattern:/@"[\s\S]*?"/,greedy:!0,inside:{interpolation:{pattern:/\$(?:\([^)]*\)|[a-zA-Z]\w*)/,inside:{delimiter:{pattern:/^\$\(?|\)$/,alias:"punctuation"},rest:e.languages.vala}},string:/[\s\S]+/}}}),e.languages.insertBefore("vala","keyword",{regex:{pattern:/\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[imsx]{0,4}(?=\s*(?:$|[\r\n,.;})\]]))/,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:e.languages.regex},"regex-delimiter":/^\//,"regex-flags":/^[a-z]+$/}}})}e.exports=t,t.displayName="vala",t.aliases=[]},4941:function(e,t,n){"use strict";var r=n(7867);function a(e){e.register(r),e.languages.vbnet=e.languages.extend("basic",{comment:[{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},{pattern:/(^|[^\\:])'.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(^|[^"])"(?:""|[^"])*"(?!")/,lookbehind:!0,greedy:!0},keyword:/(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDBL|CDEC|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LET|LIB|LIKE|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPERATOR|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHELL|SHORT|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SWAP|SYNCLOCK|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|\b)/i,punctuation:/[,;:(){}]/})}e.exports=a,a.displayName="vbnet",a.aliases=[]},9803:function(e){"use strict";function t(e){!function(e){e.languages.velocity=e.languages.extend("markup",{});var t={variable:{pattern:/(^|[^\\](?:\\\\)*)\$!?(?:[a-z][\w-]*(?:\([^)]*\))?(?:\.[a-z][\w-]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i,lookbehind:!0,inside:{}},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},number:/\b\d+\b/,boolean:/\b(?:false|true)\b/,operator:/[=!<>]=?|[+*/%-]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/,punctuation:/[(){}[\]:,.]/};t.variable.inside={string:t.string,function:{pattern:/([^\w-])[a-z][\w-]*(?=\()/,lookbehind:!0},number:t.number,boolean:t.boolean,punctuation:t.punctuation},e.languages.insertBefore("velocity","comment",{unparsed:{pattern:/(^|[^\\])#\[\[[\s\S]*?\]\]#/,lookbehind:!0,greedy:!0,inside:{punctuation:/^#\[\[|\]\]#$/}},"velocity-comment":[{pattern:/(^|[^\\])#\*[\s\S]*?\*#/,lookbehind:!0,greedy:!0,alias:"comment"},{pattern:/(^|[^\\])##.*/,lookbehind:!0,greedy:!0,alias:"comment"}],directive:{pattern:/(^|[^\\](?:\\\\)*)#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i,lookbehind:!0,inside:{keyword:{pattern:/^#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})|\bin\b/,inside:{punctuation:/[{}]/}},rest:t}},variable:t.variable}),e.languages.velocity.tag.inside["attr-value"].inside.rest=e.languages.velocity}(e)}e.exports=t,t.displayName="velocity",t.aliases=[]},1107:function(e){"use strict";function t(e){e.languages.verilog={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"kernel-function":{pattern:/\B\$\w+\b/,alias:"property"},constant:/\B`\w+\b/,function:/\b\w+(?=\()/,keyword:/\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|case|casex|casez|cell|chandle|class|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endsequence|endspecify|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_ondetect|pulsestyle_onevent|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/,important:/\b(?:always|always_comb|always_ff|always_latch)\b(?: *@)?/,number:/\B##?\d+|(?:\b\d+)?'[odbh] ?[\da-fzx_?]+|\b(?:\d*[._])?\d+(?:e[-+]?\d+)?/i,operator:/[-+{}^~%*\/?=!<>&|]+/,punctuation:/[[\];(),.:]/}}e.exports=t,t.displayName="verilog",t.aliases=[]},1413:function(e){"use strict";function t(e){e.languages.vhdl={comment:/--.+/,"vhdl-vectors":{pattern:/\b[oxb]"[\da-f_]+"|"[01uxzwlh-]+"/i,alias:"number"},"quoted-function":{pattern:/"\S+?"(?=\()/,alias:"function"},string:/"(?:[^\\"\r\n]|\\(?:\r\n|[\s\S]))*"/,constant:/\b(?:library|use)\b/i,keyword:/\b(?:'active|'ascending|'base|'delayed|'driving|'driving_value|'event|'high|'image|'instance_name|'last_active|'last_event|'last_value|'left|'leftof|'length|'low|'path_name|'pos|'pred|'quiet|'range|'reverse_range|'right|'rightof|'simple_name|'stable|'succ|'transaction|'val|'value|access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with)\b/i,boolean:/\b(?:false|true)\b/i,function:/\w+(?=\()/,number:/'[01uxzwlh-]'|\b(?:\d+#[\da-f_.]+#|\d[\d_.]*)(?:e[-+]?\d+)?/i,operator:/[<>]=?|:=|[-+*/&=]|\b(?:abs|and|mod|nand|nor|not|or|rem|rol|ror|sla|sll|sra|srl|xnor|xor)\b/i,punctuation:/[{}[\];(),.:]/}}e.exports=t,t.displayName="vhdl",t.aliases=[]},3555:function(e){"use strict";function t(e){e.languages.vim={string:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\r\n]|'')*'/,comment:/".*/,function:/\b\w+(?=\()/,keyword:/\b(?:N|Next|P|Print|X|XMLent|XMLns|ab|abbreviate|abc|abclear|abo|aboveleft|al|all|ar|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|args|argu|argument|as|ascii|b|bN|bNext|ba|bad|badd|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bo|botright|bp|bprevious|br|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|brewind|bro|browse|bufdo|buffer|buffers|bun|bunload|bw|bwipeout|c|cN|cNext|cNfcNfile|ca|cabbrev|cabc|cabclear|cad|caddb|caddbuffer|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cg|cgetb|cgetbuffer|cgete|cgetexpr|cgetfile|change|changes|chd|chdir|che|checkpath|checkt|checktime|cl|cla|clast|clist|clo|close|cmapc|cmapclear|cn|cnew|cnewer|cnext|cnf|cnfile|cnorea|cnoreabbrev|co|col|colder|colo|colorscheme|comc|comclear|comp|compiler|con|conf|confirm|continue|cope|copen|copy|cp|cpf|cpfile|cprevious|cq|cquit|cr|crewind|cu|cuna|cunabbrev|cunmap|cw|cwindow|d|debugg|debuggreedy|delc|delcommand|delete|delf|delfunction|delm|delmarks|di|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|e|earlier|echoe|echoerr|echom|echomsg|echon|edit|el|else|elsei|elseif|em|emenu|en|endf|endfo|endfor|endfun|endfunction|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fin|fina|finally|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|foldd|folddoc|folddoclosed|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|h|ha|hardcopy|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iu|iuna|iunabbrev|iunmap|j|join|ju|jumps|k|kee|keepalt|keepj|keepjumps|keepmarks|l|lN|lNext|lNf|lNfile|la|lad|laddb|laddbuffer|laddexpr|laddf|laddfile|lan|language|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|left|lefta|leftabove|let|lex|lexpr|lf|lfile|lfir|lfirst|lg|lgetb|lgetbuffer|lgete|lgetexpr|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|list|ll|lla|llast|lli|llist|lm|lmak|lmake|lmap|lmapc|lmapclear|ln|lne|lnew|lnewer|lnext|lnf|lnfile|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lp|lpf|lpfile|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|m|ma|mak|make|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkv|mkvie|mkview|mkvimrc|mod|mode|move|mz|mzf|mzfile|mzscheme|n|nbkey|new|next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|o|omapc|omapclear|on|only|open|opt|options|ou|ounmap|p|pc|pclose|pe|ped|pedit|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|print|prof|profd|profdel|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|ptN|ptNext|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|py|pyf|pyfile|python|q|qa|qall|quit|quita|quitall|r|read|rec|recover|red|redi|redir|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|ru|rub|ruby|rubyd|rubydo|rubyf|rubyfile|runtime|rv|rviminfo|sN|sNext|sa|sal|sall|san|sandbox|sargument|sav|saveas|sb|sbN|sbNext|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbp|sbprevious|sbr|sbrewind|sbuffer|scrip|scripte|scriptencoding|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sl|sla|slast|sleep|sm|smagic|smap|smapc|smapclear|sme|smenu|sn|snext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|so|sor|sort|source|sp|spe|spelld|spelldump|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|split|spr|sprevious|sre|srewind|st|sta|stag|star|startg|startgreplace|startinsert|startr|startreplace|stj|stjump|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tN|tNext|ta|tab|tabN|tabNext|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabn|tabnew|tabnext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tmenu|tn|tnext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tunmenu|u|una|unabbreviate|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|ve|verb|verbose|version|vert|vertical|vi|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|w|wN|wNext|wa|wall|wh|while|win|winc|wincmd|windo|winp|winpos|winsize|wn|wnext|wp|wprevious|wq|wqa|wqall|write|ws|wsverb|wv|wviminfo|x|xa|xall|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\b/,builtin:/\b(?:acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autocmd|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|t_AB|t_AF|t_AL|t_CS|t_CV|t_Ce|t_Co|t_Cs|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_IE|t_IS|t_K1|t_K3|t_K4|t_K5|t_K6|t_K7|t_K8|t_K9|t_KA|t_KB|t_KC|t_KD|t_KE|t_KF|t_KG|t_KH|t_KI|t_KJ|t_KK|t_KL|t_RI|t_RV|t_SI|t_Sb|t_Sf|t_WP|t_WS|t_ZH|t_ZR|t_al|t_bc|t_cd|t_ce|t_cl|t_cm|t_cs|t_da|t_db|t_dl|t_fs|t_k1|t_k2|t_k3|t_k4|t_k5|t_k6|t_k7|t_k8|t_k9|t_kB|t_kD|t_kI|t_kN|t_kP|t_kb|t_kd|t_ke|t_kh|t_kl|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_se|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_xs|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww)\b/,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?)\b/i,operator:/\|\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\/%?]|\b(?:is(?:not)?)\b/,punctuation:/[{}[\](),;:]/}}e.exports=t,t.displayName="vim",t.aliases=[]},7117:function(e){"use strict";function t(e){e.languages["visual-basic"]={comment:{pattern:/(?:['\u2018\u2019]|REM\b)(?:[^\r\n_]|_(?:\r\n?|\n)?)*/i,inside:{keyword:/^REM/i}},directive:{pattern:/#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:\b_[ \t]*(?:\r\n?|\n)|.)+/i,alias:"property",greedy:!0},string:{pattern:/\$?["\u201c\u201d](?:["\u201c\u201d]{2}|[^"\u201c\u201d])*["\u201c\u201d]C?/i,greedy:!0},date:{pattern:/#[ \t]*(?:\d+([/-])\d+\1\d+(?:[ \t]+(?:\d+[ \t]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[ \t]*(?:AM|PM))?))?|\d+[ \t]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[ \t]*(?:AM|PM))?)[ \t]*#/i,alias:"number"},number:/(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[+-]?\d+)?|&[HO][\dA-F]+)(?:[FRD]|U?[ILS])?/i,boolean:/\b(?:False|Nothing|True)\b/i,keyword:/\b(?:AddHandler|AddressOf|Alias|And(?:Also)?|As|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|C(?:Bool|Byte|Char|Date|Dbl|Dec|Int|Lng|Obj|SByte|Short|Sng|Str|Type|UInt|ULng|UShort)|Char|Class|Const|Continue|Currency|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else(?:If)?|End(?:If)?|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get(?:Type|XMLNamespace)?|Global|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|IsNot|Let|Lib|Like|Long|Loop|Me|Mod|Module|Must(?:Inherit|Override)|My(?:Base|Class)|Namespace|Narrowing|New|Next|Not(?:Inheritable|Overridable)?|Object|Of|On|Operator|Option(?:al)?|Or(?:Else)?|Out|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|SByte|Select|Set|Shadows|Shared|short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TryCast|Type|TypeOf|U(?:Integer|Long|Short)|Until|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Xor)\b/i,operator:/[+\-*/\\^<=>&#@$%!]|\b_(?=[ \t]*[\r\n])/,punctuation:/[{}().,:?]/},e.languages.vb=e.languages["visual-basic"],e.languages.vba=e.languages["visual-basic"]}e.exports=t,t.displayName="visualBasic",t.aliases=[]},3244:function(e){"use strict";function t(e){e.languages.warpscript={comment:/#.*|\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'|<'(?:[^\\']|'(?!>)|\\.)*'>/,greedy:!0},variable:/\$\S+/,macro:{pattern:/@\S+/,alias:"property"},keyword:/\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\b/,number:/[+-]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][+-]?\d+)?|0x[\da-fA-F]+|0b[01]+)\b/,boolean:/\b(?:F|T|false|true)\b/,punctuation:/<%|%>|[{}[\]()]/,operator:/==|&&?|\|\|?|\*\*?|>>>?|<<|[<>!~]=?|[-/%^]|\+!?|\b(?:AND|NOT|OR)\b/}}e.exports=t,t.displayName="warpscript",t.aliases=[]},3673:function(e){"use strict";function t(e){e.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/}}e.exports=t,t.displayName="wasm",t.aliases=[]},8953:function(e){"use strict";function t(e){!function(e){var t=/(?:\B-|\b_|\b)[A-Za-z][\w-]*(?![\w-])/.source,n="(?:"+/\b(?:unsigned\s+)?long\s+long(?![\w-])/.source+"|"+/\b(?:unrestricted|unsigned)\s+[a-z]+(?![\w-])/.source+"|"+/(?!(?:unrestricted|unsigned)\b)/.source+t+/(?:\s*<(?:[^<>]|<[^<>]*>)*>)?/.source+")"+/(?:\s*\?)?/.source,r={};for(var a in e.languages["web-idl"]={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/"[^"]*"/,greedy:!0},namespace:{pattern:RegExp(/(\bnamespace\s+)/.source+t),lookbehind:!0},"class-name":[{pattern:/(^|[^\w-])(?:iterable|maplike|setlike)\s*<(?:[^<>]|<[^<>]*>)*>/,lookbehind:!0,inside:r},{pattern:RegExp(/(\b(?:attribute|const|deleter|getter|optional|setter)\s+)/.source+n),lookbehind:!0,inside:r},{pattern:RegExp("("+/\bcallback\s+/.source+t+/\s*=\s*/.source+")"+n),lookbehind:!0,inside:r},{pattern:RegExp(/(\btypedef\b\s*)/.source+n),lookbehind:!0,inside:r},{pattern:RegExp(/(\b(?:callback|dictionary|enum|interface(?:\s+mixin)?)\s+)(?!(?:interface|mixin)\b)/.source+t),lookbehind:!0},{pattern:RegExp(/(:\s*)/.source+t),lookbehind:!0},RegExp(t+/(?=\s+(?:implements|includes)\b)/.source),{pattern:RegExp(/(\b(?:implements|includes)\s+)/.source+t),lookbehind:!0},{pattern:RegExp(n+"(?="+/\s*(?:\.{3}\s*)?/.source+t+/\s*[(),;=]/.source+")"),inside:r}],builtin:/\b(?:ArrayBuffer|BigInt64Array|BigUint64Array|ByteString|DOMString|DataView|Float32Array|Float64Array|FrozenArray|Int16Array|Int32Array|Int8Array|ObservableArray|Promise|USVString|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray)\b/,keyword:[/\b(?:async|attribute|callback|const|constructor|deleter|dictionary|enum|getter|implements|includes|inherit|interface|mixin|namespace|null|optional|or|partial|readonly|required|setter|static|stringifier|typedef|unrestricted)\b/,/\b(?:any|bigint|boolean|byte|double|float|iterable|long|maplike|object|octet|record|sequence|setlike|short|symbol|undefined|unsigned|void)\b/],boolean:/\b(?:false|true)\b/,number:{pattern:/(^|[^\w-])-?(?:0x[0-9a-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|NaN|Infinity)(?![\w-])/i,lookbehind:!0},operator:/\.{3}|[=:?<>-]/,punctuation:/[(){}[\].,;]/},e.languages["web-idl"])"class-name"!==a&&(r[a]=e.languages["web-idl"][a]);e.languages.webidl=e.languages["web-idl"]}(e)}e.exports=t,t.displayName="webIdl",t.aliases=[]},6747:function(e){"use strict";function t(e){e.languages.wiki=e.languages.extend("markup",{"block-comment":{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0,alias:"comment"},heading:{pattern:/^(=+)[^=\r\n].*?\1/m,inside:{punctuation:/^=+|=+$/,important:/.+/}},emphasis:{pattern:/('{2,5}).+?\1/,inside:{"bold-italic":{pattern:/(''''').+?(?=\1)/,lookbehind:!0,alias:["bold","italic"]},bold:{pattern:/(''')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},italic:{pattern:/('')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},punctuation:/^''+|''+$/}},hr:{pattern:/^-{4,}/m,alias:"punctuation"},url:[/ISBN +(?:97[89][ -]?)?(?:\d[ -]?){9}[\dx]\b|(?:PMID|RFC) +\d+/i,/\[\[.+?\]\]|\[.+?\]/],variable:[/__[A-Z]+__/,/\{{3}.+?\}{3}/,/\{\{.+?\}\}/],symbol:[/^#redirect/im,/~{3,5}/],"table-tag":{pattern:/((?:^|[|!])[|!])[^|\r\n]+\|(?!\|)/m,lookbehind:!0,inside:{"table-bar":{pattern:/\|$/,alias:"punctuation"},rest:e.languages.markup.tag.inside}},punctuation:/^(?:\{\||\|\}|\|-|[*#:;!|])|\|\||!!/m}),e.languages.insertBefore("wiki","tag",{nowiki:{pattern:/<(nowiki|pre|source)\b[^>]*>[\s\S]*?<\/\1>/i,inside:{tag:{pattern:/<(?:nowiki|pre|source)\b[^>]*>|<\/(?:nowiki|pre|source)>/i,inside:e.languages.markup.tag.inside}}}})}e.exports=t,t.displayName="wiki",t.aliases=[]},4211:function(e){"use strict";function t(e){e.languages.wolfram={comment:/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:Abs|AbsArg|Accuracy|Block|Do|For|Function|If|Manipulate|Module|Nest|NestList|None|Return|Switch|Table|Which|While)\b/,context:{pattern:/\b\w+`+\w*/,alias:"class-name"},blank:{pattern:/\b\w+_\b/,alias:"regex"},"global-variable":{pattern:/\$\w+/,alias:"variable"},boolean:/\b(?:False|True)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/\/\.|;|=\.|\^=|\^:=|:=|<<|>>|<\||\|>|:>|\|->|->|<-|@@@|@@|@|\/@|=!=|===|==|=|\+|-|\^|\[\/-+%=\]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},e.languages.mathematica=e.languages.wolfram,e.languages.wl=e.languages.wolfram,e.languages.nb=e.languages.wolfram}e.exports=t,t.displayName="wolfram",t.aliases=["mathematica","wl","nb"]},8832:function(e){"use strict";function t(e){e.languages.wren={comment:[{pattern:/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*))*\*\/)*\*\/)*\*\//,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},"string-literal":null,hashbang:{pattern:/^#!\/.+/,greedy:!0,alias:"comment"},attribute:{pattern:/#!?[ \t\u3000]*\w+/,alias:"keyword"},"class-name":[{pattern:/(\bclass\s+)\w+/,lookbehind:!0},/\b[A-Z][a-z\d_]*\b/],constant:/\b[A-Z][A-Z\d_]*\b/,null:{pattern:/\bnull\b/,alias:"keyword"},keyword:/\b(?:as|break|class|construct|continue|else|for|foreign|if|import|in|is|return|static|super|this|var|while)\b/,boolean:/\b(?:false|true)\b/,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,function:/\b[a-z_]\w*(?=\s*[({])/i,operator:/<<|>>|[=!<>]=?|&&|\|\||[-+*/%~^&|?:]|\.{2,3}/,punctuation:/[\[\](){}.,;]/},e.languages.wren["string-literal"]={pattern:/(^|[^\\"])"(?:[^\\"%]|\\[\s\S]|%(?!\()|%\((?:[^()]|\((?:[^()]|\([^)]*\))*\))*\))*"/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)%\((?:[^()]|\((?:[^()]|\([^)]*\))*\))*\)/,lookbehind:!0,inside:{expression:{pattern:/^(%\()[\s\S]+(?=\)$)/,lookbehind:!0,inside:e.languages.wren},"interpolation-punctuation":{pattern:/^%\(|\)$/,alias:"punctuation"}}},string:/[\s\S]+/}}}e.exports=t,t.displayName="wren",t.aliases=[]},8186:function(e){"use strict";function t(e){!function(e){e.languages.xeora=e.languages.extend("markup",{constant:{pattern:/\$(?:DomainContents|PageRenderDuration)\$/,inside:{punctuation:{pattern:/\$/}}},variable:{pattern:/\$@?(?:#+|[-+*~=^])?[\w.]+\$/,inside:{punctuation:{pattern:/[$.]/},operator:{pattern:/#+|[-+*~=^@]/}}},"function-inline":{pattern:/\$F:[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\$/,inside:{variable:{pattern:/(?:[,|])@?(?:#+|[-+*~=^])?[\w.]+/,inside:{punctuation:{pattern:/[,.|]/},operator:{pattern:/#+|[-+*~=^@]/}}},punctuation:{pattern:/\$\w:|[$:?.,|]/}},alias:"function"},"function-block":{pattern:/\$XF:\{[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\}:XF\$/,inside:{punctuation:{pattern:/[$:{}?.,|]/}},alias:"function"},"directive-inline":{pattern:/\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\/\w.]+\$/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}}},alias:"function"},"directive-block-open":{pattern:/\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\w.]+:\{(?:![A-Z]+)?/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}},attribute:{pattern:/![A-Z]+$/,inside:{punctuation:{pattern:/!/}},alias:"keyword"}},alias:"function"},"directive-block-separator":{pattern:/\}:[-\w.]+:\{/,inside:{punctuation:{pattern:/[:{}]/}},alias:"function"},"directive-block-close":{pattern:/\}:[-\w.]+\$/,inside:{punctuation:{pattern:/[:{}$]/}},alias:"function"}}),e.languages.insertBefore("inside","punctuation",{variable:e.languages.xeora["function-inline"].inside.variable},e.languages.xeora["function-block"]),e.languages.xeoracube=e.languages.xeora}(e)}e.exports=t,t.displayName="xeora",t.aliases=["xeoracube"]},3679:function(e){"use strict";function t(e){!function(e){function t(t,n){e.languages[t]&&e.languages.insertBefore(t,"comment",{"doc-comment":n})}var n=e.languages.markup.tag,r={pattern:/\/\/\/.*/,greedy:!0,alias:"comment",inside:{tag:n}},a={pattern:/'''.*/,greedy:!0,alias:"comment",inside:{tag:n}};t("csharp",r),t("fsharp",r),t("vbnet",a)}(e)}e.exports=t,t.displayName="xmlDoc",t.aliases=[]},1752:function(e){"use strict";function t(e){e.languages.xojo={comment:{pattern:/(?:'|\/\/|Rem\b).+/i,greedy:!0},string:{pattern:/"(?:""|[^"])*"/,greedy:!0},number:[/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,/&[bchou][a-z\d]+/i],directive:{pattern:/#(?:Else|ElseIf|Endif|If|Pragma)\b/i,alias:"property"},keyword:/\b(?:AddHandler|App|Array|As(?:signs)?|Auto|Boolean|Break|By(?:Ref|Val)|Byte|Call|Case|Catch|CFStringRef|CGFloat|Class|Color|Const|Continue|CString|Currency|CurrentMethodName|Declare|Delegate|Dim|Do(?:uble|wnTo)?|Each|Else(?:If)?|End|Enumeration|Event|Exception|Exit|Extends|False|Finally|For|Function|Get|GetTypeInfo|Global|GOTO|If|Implements|In|Inherits|Int(?:8|16|32|64|eger|erface)?|Lib|Loop|Me|Module|Next|Nil|Object|Optional|OSType|ParamArray|Private|Property|Protected|PString|Ptr|Raise(?:Event)?|ReDim|RemoveHandler|Return|Select(?:or)?|Self|Set|Shared|Short|Single|Soft|Static|Step|String|Sub|Super|Text|Then|To|True|Try|Ubound|UInt(?:8|16|32|64|eger)?|Until|Using|Var(?:iant)?|Wend|While|WindowPtr|WString)\b/i,operator:/<[=>]?|>=?|[+\-*\/\\^=]|\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|WeakAddressOf|Xor)\b/i,punctuation:/[.,;:()]/}}e.exports=t,t.displayName="xojo",t.aliases=[]},243:function(e){"use strict";function t(e){!function(e){e.languages.xquery=e.languages.extend("markup",{"xquery-comment":{pattern:/\(:[\s\S]*?:\)/,greedy:!0,alias:"comment"},string:{pattern:/(["'])(?:\1\1|(?!\1)[\s\S])*\1/,greedy:!0},extension:{pattern:/\(#.+?#\)/,alias:"symbol"},variable:/\$[-\w:]+/,axis:{pattern:/(^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/,lookbehind:!0,alias:"operator"},"keyword-operator":{pattern:/(^|[^:-])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^:-])/,lookbehind:!0,alias:"operator"},keyword:{pattern:/(^|[^:-])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^:-])/,lookbehind:!0},function:/[\w-]+(?::[\w-]+)*(?=\s*\()/,"xquery-element":{pattern:/(element\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"tag"},"xquery-attribute":{pattern:/(attribute\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"attr-name"},builtin:{pattern:/(^|[^:-])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:ENTITIES|ENTITY|ID|IDREFS?|NCName|NMTOKENS?|NOTATION|Name|QName|anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|int|integer|language|long|negativeInteger|nonNegativeInteger|nonPositiveInteger|normalizedString|positiveInteger|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^:-])/,lookbehind:!0},number:/\b\d+(?:\.\d+)?(?:E[+-]?\d+)?/,operator:[/[+*=?|@]|\.\.?|:=|!=|<[=<]?|>[=>]?/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}],punctuation:/[[\](){},;:/]/}),e.languages.xquery.tag.pattern=/<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/,e.languages.xquery.tag.inside["attr-value"].pattern=/=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+)/,e.languages.xquery.tag.inside["attr-value"].inside.punctuation=/^="|"$/,e.languages.xquery.tag.inside["attr-value"].inside.expression={pattern:/\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/,inside:e.languages.xquery,alias:"language-xquery"};var t=function e(t){return"string"===typeof t?t:"string"===typeof t.content?t.content:t.content.map(e).join("")},n=function n(r){for(var a=[],i=0;i<r.length;i++){var o=r[i],s=!1;if("string"!==typeof o&&("tag"===o.type&&o.content[0]&&"tag"===o.content[0].type?"</"===o.content[0].content[0].content?a.length>0&&a[a.length-1].tagName===t(o.content[0].content[1])&&a.pop():"/>"===o.content[o.content.length-1].content||a.push({tagName:t(o.content[0].content[1]),openedBraces:0}):!(a.length>0&&"punctuation"===o.type&&"{"===o.content)||r[i+1]&&"punctuation"===r[i+1].type&&"{"===r[i+1].content||r[i-1]&&"plain-text"===r[i-1].type&&"{"===r[i-1].content?a.length>0&&a[a.length-1].openedBraces>0&&"punctuation"===o.type&&"}"===o.content?a[a.length-1].openedBraces--:"comment"!==o.type&&(s=!0):a[a.length-1].openedBraces++),(s||"string"===typeof o)&&a.length>0&&0===a[a.length-1].openedBraces){var l=t(o);i<r.length-1&&("string"===typeof r[i+1]||"plain-text"===r[i+1].type)&&(l+=t(r[i+1]),r.splice(i+1,1)),i>0&&("string"===typeof r[i-1]||"plain-text"===r[i-1].type)&&(l=t(r[i-1])+l,r.splice(i-1,1),i--),/^\s+$/.test(l)?r[i]=l:r[i]=new e.Token("plain-text",l,null,l)}o.content&&"string"!==typeof o.content&&n(o.content)}};e.hooks.add("after-tokenize",(function(e){"xquery"===e.language&&n(e.tokens)}))}(e)}e.exports=t,t.displayName="xquery",t.aliases=[]},5133:function(e){"use strict";function t(e){!function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),i=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function o(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<value>>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<key>>/g,(function(){return"(?:"+a+"|"+i+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:o(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:o(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:o(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:o(i),lookbehind:!0,greedy:!0},number:{pattern:o(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(e)}e.exports=t,t.displayName="yaml",t.aliases=["yml"]},2195:function(e){"use strict";function t(e){e.languages.yang={comment:/\/\*[\s\S]*?\*\/|\/\/.*/,string:{pattern:/"(?:[^\\"]|\\.)*"|'[^']*'/,greedy:!0},keyword:{pattern:/(^|[{};\r\n][ \t]*)[a-z_][\w.-]*/i,lookbehind:!0},namespace:{pattern:/(\s)[a-z_][\w.-]*(?=:)/i,lookbehind:!0},boolean:/\b(?:false|true)\b/,operator:/\+/,punctuation:/[{};:]/}}e.exports=t,t.displayName="yang",t.aliases=[]},3672:function(e){"use strict";function t(e){!function(e){function t(e){return function(){return e}}var n=/\b(?:align|allowzero|and|anyframe|anytype|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|nosuspend|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/,r="\\b(?!"+n.source+")(?!\\d)\\w+\\b",a=/align\s*\((?:[^()]|\([^()]*\))*\)/.source,i="(?!\\s)(?:!?\\s*(?:"+/(?:\?|\bpromise->|(?:\[[^[\]]*\]|\*(?!\*)|\*\*)(?:\s*<ALIGN>|\s*const\b|\s*volatile\b|\s*allowzero\b)*)/.source.replace(/<ALIGN>/g,t(a))+"\\s*)*"+/(?:\bpromise\b|(?:\berror\.)?<ID>(?:\.<ID>)*(?!\s+<ID>))/.source.replace(/<ID>/g,t(r))+")+";e.languages.zig={comment:[{pattern:/\/\/[/!].*/,alias:"doc-comment"},/\/{2}.*/],string:[{pattern:/(^|[^\\@])c?"(?:[^"\\\r\n]|\\.)*"/,lookbehind:!0,greedy:!0},{pattern:/([\r\n])([ \t]+c?\\{2}).*(?:(?:\r\n?|\n)\2.*)*/,lookbehind:!0,greedy:!0}],char:{pattern:/(^|[^\\])'(?:[^'\\\r\n]|[\uD800-\uDFFF]{2}|\\(?:.|x[a-fA-F\d]{2}|u\{[a-fA-F\d]{1,6}\}))'/,lookbehind:!0,greedy:!0},builtin:/\B@(?!\d)\w+(?=\s*\()/,label:{pattern:/(\b(?:break|continue)\s*:\s*)\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while\b))/,lookbehind:!0},"class-name":[/\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/,{pattern:RegExp(/(:\s*)<TYPE>(?=\s*(?:<ALIGN>\s*)?[=;,)])|<TYPE>(?=\s*(?:<ALIGN>\s*)?\{)/.source.replace(/<TYPE>/g,t(i)).replace(/<ALIGN>/g,t(a))),lookbehind:!0,inside:null},{pattern:RegExp(/(\)\s*)<TYPE>(?=\s*(?:<ALIGN>\s*)?;)/.source.replace(/<TYPE>/g,t(i)).replace(/<ALIGN>/g,t(a))),lookbehind:!0,inside:null}],"builtin-type":{pattern:/\b(?:anyerror|bool|c_u?(?:int|long|longlong|short)|c_longdouble|c_void|comptime_(?:float|int)|f(?:16|32|64|128)|[iu](?:8|16|32|64|128|size)|noreturn|type|void)\b/,alias:"keyword"},keyword:n,function:/\b(?!\d)\w+(?=\s*\()/,number:/\b(?:0b[01]+|0o[0-7]+|0x[a-fA-F\d]+(?:\.[a-fA-F\d]*)?(?:[pP][+-]?[a-fA-F\d]+)?|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?)\b/,boolean:/\b(?:false|true)\b/,operator:/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-+*]%|[-+*/%^&|<>!=])=?|[?~]/,punctuation:/[.:,;(){}[\]]/},e.languages.zig["class-name"].forEach((function(t){null===t.inside&&(t.inside=e.languages.zig)}))}(e)}e.exports=t,t.displayName="zig",t.aliases=[]},3264:function(e,t,n){var r=function(e){var t=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,n=0,r={},a={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof i?new i(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++n}),e.__id},clone:function e(t,n){var r,i;switch(n=n||{},a.util.type(t)){case"Object":if(i=a.util.objId(t),n[i])return n[i];for(var o in r={},n[i]=r,t)t.hasOwnProperty(o)&&(r[o]=e(t[o],n));return r;case"Array":return i=a.util.objId(t),n[i]?n[i]:(r=[],n[i]=r,t.forEach((function(t,a){r[a]=e(t,n)})),r);default:return t}},getLanguage:function(e){for(;e;){var n=t.exec(e.className);if(n)return n[1].toLowerCase();e=e.parentElement}return"none"},setLanguage:function(e,n){e.className=e.className.replace(RegExp(t,"gi"),""),e.classList.add("language-"+n)},currentScript:function(){if("undefined"===typeof document)return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(r){var e=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(r.stack)||[])[1];if(e){var t=document.getElementsByTagName("script");for(var n in t)if(t[n].src==e)return t[n]}return null}},isActive:function(e,t,n){for(var r="no-"+t;e;){var a=e.classList;if(a.contains(t))return!0;if(a.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:r,plaintext:r,text:r,txt:r,extend:function(e,t){var n=a.util.clone(a.languages[e]);for(var r in t)n[r]=t[r];return n},insertBefore:function(e,t,n,r){var i=(r=r||a.languages)[e],o={};for(var s in i)if(i.hasOwnProperty(s)){if(s==t)for(var l in n)n.hasOwnProperty(l)&&(o[l]=n[l]);n.hasOwnProperty(s)||(o[s]=i[s])}var c=r[e];return r[e]=o,a.languages.DFS(a.languages,(function(t,n){n===c&&t!=e&&(this[t]=o)})),o},DFS:function e(t,n,r,i){i=i||{};var o=a.util.objId;for(var s in t)if(t.hasOwnProperty(s)){n.call(t,s,t[s],r||s);var l=t[s],c=a.util.type(l);"Object"!==c||i[o(l)]?"Array"!==c||i[o(l)]||(i[o(l)]=!0,e(l,n,s,i)):(i[o(l)]=!0,e(l,n,null,i))}}},plugins:{},highlightAll:function(e,t){a.highlightAllUnder(document,e,t)},highlightAllUnder:function(e,t,n){var r={callback:n,container:e,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};a.hooks.run("before-highlightall",r),r.elements=Array.prototype.slice.apply(r.container.querySelectorAll(r.selector)),a.hooks.run("before-all-elements-highlight",r);for(var i,o=0;i=r.elements[o++];)a.highlightElement(i,!0===t,r.callback)},highlightElement:function(t,n,r){var i=a.util.getLanguage(t),o=a.languages[i];a.util.setLanguage(t,i);var s=t.parentElement;s&&"pre"===s.nodeName.toLowerCase()&&a.util.setLanguage(s,i);var l={element:t,language:i,grammar:o,code:t.textContent};function c(e){l.highlightedCode=e,a.hooks.run("before-insert",l),l.element.innerHTML=l.highlightedCode,a.hooks.run("after-highlight",l),a.hooks.run("complete",l),r&&r.call(l.element)}if(a.hooks.run("before-sanity-check",l),(s=l.element.parentElement)&&"pre"===s.nodeName.toLowerCase()&&!s.hasAttribute("tabindex")&&s.setAttribute("tabindex","0"),!l.code)return a.hooks.run("complete",l),void(r&&r.call(l.element));if(a.hooks.run("before-highlight",l),l.grammar)if(n&&e.Worker){var u=new Worker(a.filename);u.onmessage=function(e){c(e.data)},u.postMessage(JSON.stringify({language:l.language,code:l.code,immediateClose:!0}))}else c(a.highlight(l.code,l.grammar,l.language));else c(a.util.encode(l.code))},highlight:function(e,t,n){var r={code:e,grammar:t,language:n};if(a.hooks.run("before-tokenize",r),!r.grammar)throw new Error('The language "'+r.language+'" has no grammar.');return r.tokens=a.tokenize(r.code,r.grammar),a.hooks.run("after-tokenize",r),i.stringify(a.util.encode(r.tokens),r.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var a=new l;return c(a,a.head,e),s(e,a,t,a.head,0),function(e){var t=[],n=e.head.next;for(;n!==e.tail;)t.push(n.value),n=n.next;return t}(a)},hooks:{all:{},add:function(e,t){var n=a.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=a.hooks.all[e];if(n&&n.length)for(var r,i=0;r=n[i++];)r(t)}},Token:i};function i(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function o(e,t,n,r){e.lastIndex=t;var a=e.exec(n);if(a&&r&&a[1]){var i=a[1].length;a.index+=i,a[0]=a[0].slice(i)}return a}function s(e,t,n,r,l,d){for(var p in n)if(n.hasOwnProperty(p)&&n[p]){var m=n[p];m=Array.isArray(m)?m:[m];for(var f=0;f<m.length;++f){if(d&&d.cause==p+","+f)return;var g=m[f],h=g.inside,b=!!g.lookbehind,E=!!g.greedy,y=g.alias;if(E&&!g.pattern.global){var T=g.pattern.toString().match(/[imsuy]*$/)[0];g.pattern=RegExp(g.pattern.source,T+"g")}for(var S=g.pattern||g,v=r.next,A=l;v!==t.tail&&!(d&&A>=d.reach);A+=v.value.length,v=v.next){var _=v.value;if(t.length>e.length)return;if(!(_ instanceof i)){var k,C=1;if(E){if(!(k=o(S,A,e,b))||k.index>=e.length)break;var w=k.index,N=k.index+k[0].length,I=A;for(I+=v.value.length;w>=I;)I+=(v=v.next).value.length;if(A=I-=v.value.length,v.value instanceof i)continue;for(var R=v;R!==t.tail&&(I<N||"string"===typeof R.value);R=R.next)C++,I+=R.value.length;C--,_=e.slice(A,I),k.index-=A}else if(!(k=o(S,0,_,b)))continue;w=k.index;var x=k[0],O=_.slice(0,w),L=_.slice(w+x.length),P=A+_.length;d&&P>d.reach&&(d.reach=P);var D=v.prev;if(O&&(D=c(t,D,O),A+=O.length),u(t,D,C),v=c(t,D,new i(p,h?a.tokenize(x,h):x,y,x)),L&&c(t,v,L),C>1){var M={cause:p+","+f,reach:P};s(e,t,n,v.prev,A,M),d&&M.reach>d.reach&&(d.reach=M.reach)}}}}}}function l(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function c(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function u(e,t,n){for(var r=t.next,a=0;a<n&&r!==e.tail;a++)r=r.next;t.next=r,r.prev=t,e.length-=a}if(e.Prism=a,i.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var r="";return t.forEach((function(t){r+=e(t,n)})),r}var i={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},o=t.alias;o&&(Array.isArray(o)?Array.prototype.push.apply(i.classes,o):i.classes.push(o)),a.hooks.run("wrap",i);var s="";for(var l in i.attributes)s+=" "+l+'="'+(i.attributes[l]||"").replace(/"/g,""")+'"';return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+s+">"+i.content+"</"+i.tag+">"},!e.document)return e.addEventListener?(a.disableWorkerMessageHandler||e.addEventListener("message",(function(t){var n=JSON.parse(t.data),r=n.language,i=n.code,o=n.immediateClose;e.postMessage(a.highlight(i,a.languages[r],r)),o&&e.close()}),!1),a):a;var d=a.util.currentScript();function p(){a.manual||a.highlightAll()}if(d&&(a.filename=d.src,d.hasAttribute("data-manual")&&(a.manual=!0)),!a.manual){var m=document.readyState;"loading"===m||"interactive"===m&&d&&d.defer?document.addEventListener("DOMContentLoaded",p):window.requestAnimationFrame?window.requestAnimationFrame(p):window.setTimeout(p,16)}return a}("undefined"!==typeof window?window:"undefined"!==typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});e.exports&&(e.exports=r),"undefined"!==typeof n.g&&(n.g.Prism=r)},6813:function(e,t){"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,a=e[r];if(!(0<i(a,t)))break e;e[r]=t,e[n]=a,n=r}}function r(e){return 0===e.length?null:e[0]}function a(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,l=e[s],c=s+1,u=e[c];if(0>i(l,n))c<a&&0>i(u,l)?(e[r]=u,e[c]=n,r=c):(e[r]=l,e[s]=n,r=s);else{if(!(c<a&&0>i(u,n)))break e;e[r]=u,e[c]=n,r=c}}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"===typeof performance&&"function"===typeof performance.now){var o=performance;t.unstable_now=function(){return o.now()}}else{var s=Date,l=s.now();t.unstable_now=function(){return s.now()-l}}var c=[],u=[],d=1,p=null,m=3,f=!1,g=!1,h=!1,b="function"===typeof setTimeout?setTimeout:null,E="function"===typeof clearTimeout?clearTimeout:null,y="undefined"!==typeof setImmediate?setImmediate:null;function T(e){for(var t=r(u);null!==t;){if(null===t.callback)a(u);else{if(!(t.startTime<=e))break;a(u),t.sortIndex=t.expirationTime,n(c,t)}t=r(u)}}function S(e){if(h=!1,T(e),!g)if(null!==r(c))g=!0,L(v);else{var t=r(u);null!==t&&P(S,t.startTime-e)}}function v(e,n){g=!1,h&&(h=!1,E(C),C=-1),f=!0;var i=m;try{for(T(n),p=r(c);null!==p&&(!(p.expirationTime>n)||e&&!I());){var o=p.callback;if("function"===typeof o){p.callback=null,m=p.priorityLevel;var s=o(p.expirationTime<=n);n=t.unstable_now(),"function"===typeof s?p.callback=s:p===r(c)&&a(c),T(n)}else a(c);p=r(c)}if(null!==p)var l=!0;else{var d=r(u);null!==d&&P(S,d.startTime-n),l=!1}return l}finally{p=null,m=i,f=!1}}"undefined"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var A,_=!1,k=null,C=-1,w=5,N=-1;function I(){return!(t.unstable_now()-N<w)}function R(){if(null!==k){var e=t.unstable_now();N=e;var n=!0;try{n=k(!0,e)}finally{n?A():(_=!1,k=null)}}else _=!1}if("function"===typeof y)A=function(){y(R)};else if("undefined"!==typeof MessageChannel){var x=new MessageChannel,O=x.port2;x.port1.onmessage=R,A=function(){O.postMessage(null)}}else A=function(){b(R,0)};function L(e){k=e,_||(_=!0,A())}function P(e,n){C=b((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){g||f||(g=!0,L(v))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):w=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return m},t.unstable_getFirstCallbackNode=function(){return r(c)},t.unstable_next=function(e){switch(m){case 1:case 2:case 3:var t=3;break;default:t=m}var n=m;m=t;try{return e()}finally{m=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=m;m=e;try{return t()}finally{m=n}},t.unstable_scheduleCallback=function(e,a,i){var o=t.unstable_now();switch("object"===typeof i&&null!==i?i="number"===typeof(i=i.delay)&&0<i?o+i:o:i=o,e){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return e={id:d++,callback:a,priorityLevel:e,startTime:i,expirationTime:s=i+s,sortIndex:-1},i>o?(e.sortIndex=i,n(u,e),null===r(c)&&e===r(u)&&(h?(E(C),C=-1):h=!0,P(S,i-o))):(e.sortIndex=s,n(c,e),g||f||(g=!0,L(v))),e},t.unstable_shouldYield=I,t.unstable_wrapCallback=function(e){var t=m;return function(){var n=m;m=t;try{return e.apply(this,arguments)}finally{m=n}}}},5296:function(e,t,n){"use strict";e.exports=n(6813)},6426:function(e,t,n){var r=n(1065);e.exports=function(e,t){var n,a=null;if(!e||"string"!==typeof e)return a;for(var i,o,s=r(e),l="function"===typeof t,c=0,u=s.length;c<u;c++)i=(n=s[c]).property,o=n.value,l?t(i,o,n):o&&(a||(a={}),a[i]=o);return a}},5887:function(e){e.exports=function(){for(var e={},n=0;n<arguments.length;n++){var r=arguments[n];for(var a in r)t.call(r,a)&&(e[a]=r[a])}return e};var t=Object.prototype.hasOwnProperty},6115:function(e){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e},e.exports.__esModule=!0,e.exports.default=e.exports},6690:function(e){e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},e.exports.__esModule=!0,e.exports.default=e.exports},9728:function(e){function t(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}e.exports=function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e},e.exports.__esModule=!0,e.exports.default=e.exports},6389:function(e,t,n){var r=n(3808),a=n(9617),i=n(4993);e.exports=function(e){var t=a();return function(){var n,a=r(e);if(t){var o=r(this).constructor;n=Reflect.construct(a,arguments,o)}else n=a.apply(this,arguments);return i(this,n)}},e.exports.__esModule=!0,e.exports.default=e.exports},8416:function(e){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},e.exports.__esModule=!0,e.exports.default=e.exports},1588:function(e,t,n){var r=n(1753);function a(){return"undefined"!==typeof Reflect&&Reflect.get?(e.exports=a=Reflect.get.bind(),e.exports.__esModule=!0,e.exports.default=e.exports):(e.exports=a=function(e,t,n){var a=r(e,t);if(a){var i=Object.getOwnPropertyDescriptor(a,t);return i.get?i.get.call(arguments.length<3?e:n):i.value}},e.exports.__esModule=!0,e.exports.default=e.exports),a.apply(this,arguments)}e.exports=a,e.exports.__esModule=!0,e.exports.default=e.exports},3808:function(e){function t(n){return e.exports=t=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},1655:function(e,t,n){var r=n(6015);e.exports=function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&r(e,t)},e.exports.__esModule=!0,e.exports.default=e.exports},9617:function(e){e.exports=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}},e.exports.__esModule=!0,e.exports.default=e.exports},4993:function(e,t,n){var r=n(8698).default,a=n(6115);e.exports=function(e,t){if(t&&("object"===r(t)||"function"===typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return a(e)},e.exports.__esModule=!0,e.exports.default=e.exports},6015:function(e){function t(n,r){return e.exports=t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},e.exports.__esModule=!0,e.exports.default=e.exports,t(n,r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},1753:function(e,t,n){var r=n(3808);e.exports=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=r(e)););return e},e.exports.__esModule=!0,e.exports.default=e.exports},8698:function(e){function t(n){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},7452:function(e){"use strict";e.exports=JSON.parse('{"AElig":"\xc6","AMP":"&","Aacute":"\xc1","Acirc":"\xc2","Agrave":"\xc0","Aring":"\xc5","Atilde":"\xc3","Auml":"\xc4","COPY":"\xa9","Ccedil":"\xc7","ETH":"\xd0","Eacute":"\xc9","Ecirc":"\xca","Egrave":"\xc8","Euml":"\xcb","GT":">","Iacute":"\xcd","Icirc":"\xce","Igrave":"\xcc","Iuml":"\xcf","LT":"<","Ntilde":"\xd1","Oacute":"\xd3","Ocirc":"\xd4","Ograve":"\xd2","Oslash":"\xd8","Otilde":"\xd5","Ouml":"\xd6","QUOT":"\\"","REG":"\xae","THORN":"\xde","Uacute":"\xda","Ucirc":"\xdb","Ugrave":"\xd9","Uuml":"\xdc","Yacute":"\xdd","aacute":"\xe1","acirc":"\xe2","acute":"\xb4","aelig":"\xe6","agrave":"\xe0","amp":"&","aring":"\xe5","atilde":"\xe3","auml":"\xe4","brvbar":"\xa6","ccedil":"\xe7","cedil":"\xb8","cent":"\xa2","copy":"\xa9","curren":"\xa4","deg":"\xb0","divide":"\xf7","eacute":"\xe9","ecirc":"\xea","egrave":"\xe8","eth":"\xf0","euml":"\xeb","frac12":"\xbd","frac14":"\xbc","frac34":"\xbe","gt":">","iacute":"\xed","icirc":"\xee","iexcl":"\xa1","igrave":"\xec","iquest":"\xbf","iuml":"\xef","laquo":"\xab","lt":"<","macr":"\xaf","micro":"\xb5","middot":"\xb7","nbsp":"\xa0","not":"\xac","ntilde":"\xf1","oacute":"\xf3","ocirc":"\xf4","ograve":"\xf2","ordf":"\xaa","ordm":"\xba","oslash":"\xf8","otilde":"\xf5","ouml":"\xf6","para":"\xb6","plusmn":"\xb1","pound":"\xa3","quot":"\\"","raquo":"\xbb","reg":"\xae","sect":"\xa7","shy":"\xad","sup1":"\xb9","sup2":"\xb2","sup3":"\xb3","szlig":"\xdf","thorn":"\xfe","times":"\xd7","uacute":"\xfa","ucirc":"\xfb","ugrave":"\xf9","uml":"\xa8","uuml":"\xfc","yacute":"\xfd","yen":"\xa5","yuml":"\xff"}')},3580:function(e){"use strict";e.exports=JSON.parse('{"0":"\ufffd","128":"\u20ac","130":"\u201a","131":"\u0192","132":"\u201e","133":"\u2026","134":"\u2020","135":"\u2021","136":"\u02c6","137":"\u2030","138":"\u0160","139":"\u2039","140":"\u0152","142":"\u017d","145":"\u2018","146":"\u2019","147":"\u201c","148":"\u201d","149":"\u2022","150":"\u2013","151":"\u2014","152":"\u02dc","153":"\u2122","154":"\u0161","155":"\u203a","156":"\u0153","158":"\u017e","159":"\u0178"}')}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}(),n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){"use strict";var e={};n.r(e),n.d(e,{attentionMarkers:function(){return jt},contentInitial:function(){return Ut},disable:function(){return Vt},document:function(){return Ft},flow:function(){return Gt},flowInitial:function(){return Bt},insideSpan:function(){return $t},string:function(){return Ht},text:function(){return zt}});var t={};n.r(t),n.d(t,{boolean:function(){return Gn},booleanish:function(){return Hn},commaOrSpaceSeparated:function(){return Wn},commaSeparated:function(){return Vn},number:function(){return $n},overloadedBoolean:function(){return zn},spaceSeparated:function(){return jn}});var r=n(2791),a=n(1250);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function u(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function d(e,t){if(e){if("string"===typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(e,t):void 0}}function p(e){return function(e){if(Array.isArray(e))return c(e)}(e)||u(e)||d(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(e){if(Array.isArray(e))return e}function f(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function g(e,t){return m(e)||function(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i=[],o=!0,s=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);o=!0);}catch(l){s=!0,a=l}finally{try{o||null==n.return||n.return()}finally{if(s)throw a}}return i}}(e,t)||d(e,t)||f()}var h={categories:[{title:"Proxmox Tools"},{title:"Home Assistant"},{title:"Automation"},{title:"MQTT"},{title:"Database"},{title:"Zigbee - Zwave"},{title:"Monitoring - Analytics"},{title:"Docker - Kubernetes"},{title:"Operating System"},{title:"Server - Networking"},{title:"Media - Photo"},{title:"Ad Blocker - DNS"},{title:"Document - Notes"},{title:"Dashboards"},{title:"File - Code"},{title:"Miscellaneous"}],items:[{category:"Proxmox Tools",title:"Proxmox VE 7 Post Install",content:'<p align="center"><img src="https://github.com/home-assistant/brands/blob/master/core_integrations/proxmoxve/icon.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Proxmox VE 7 Post Install </h1>\n \n The script will give options to Disable the Enterprise Repo, Add/Correct PVE7 Sources, Enable the No-Subscription Repo, Add Test/Beta Repo, Disable Subscription Nag, Update Proxmox VE and Reboot PVE.\n \n Run the command below in the <b>Proxmox Shell</b>. \u26a0\ufe0f **PVE7 ONLY**\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/post-pve-install.sh)"\n ~~~\n \n <p>It\'s recommended to answer <code class="highlighter-rouge">y</code> to all options.</p>'},{category:"Proxmox Tools",title:"Proxmox Kernel Clean",content:'<p align="center"><img src="https://github.com/home-assistant/brands/blob/master/core_integrations/proxmoxve/icon.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading">Proxmox Kernel Clean </h1>\n Cleaning unused kernel images is not only good because of a reduced grub menu, but also gains some disk space.\n \n Run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/kernel-clean.sh)"\n ~~~'},{category:"Proxmox Tools",title:"Proxmox Edge Kernel Tool",content:'<p align="center"><img src="https://github.com/home-assistant/brands/blob/master/core_integrations/proxmoxve/icon.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading">Proxmox Edge Kernel Tool </h1>\n\n PVE [Edge Kernels](https://github.com/fabianishere/pve-edge-kernel) are custom Linux Kernels for Proxmox VE 7. Keeping up with new Kernel releases instead of LTS\n \n Run the command below in the Proxmox Shell.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/edge-kernel.sh)"\n ~~~'},{category:"Proxmox Tools",title:"Proxmox CPU Scaling Governor",content:'<p align="center"><img src="https://github.com/tteck/Proxmox/blob/main/misc/images/cpu.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading">Proxmox CPU Scaling Governor </h1>\n\n CPU Scaling Governor enables the operating system to scale the CPU frequency up or down in order to save power or improve performance. [Generic Scaling Governors](https://www.kernel.org/doc/html/latest/admin-guide/pm/cpufreq.html?#generic-scaling-governors)\n \n Run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/scaling-governor.sh)"\n ~~~'},{category:"Proxmox Tools",title:"Proxmox LXC Updater",content:'<p align="center"><img src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Felpuig.xeill.net%2FMembers%2Fvcarceler%2Farticulos%2Fcontenedores-con-lxd-lxc%2Fcontainers.png&f=1&nofb=1" height="100"/></p>\n \n <h1 align="center" id="heading">Proxmox LXC Updater </h1>\n Update All LXC\'s Fast & Easy (Ubuntu, Debian, Devuan, Alpine Linux, CentOS-Rocky-Alma, Fedora, ArchLinux)\n \n Run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/update-lxcs.sh)"\n ~~~'},{category:"Proxmox Tools",title:"Proxmox Dark Theme",content:'<p align="center"><img src="https://camo.githubusercontent.com/f6f33a09f8c1207dfb3dc1cbd754c2f3393562c11b1c999751ad9a91a656834a/68747470733a2f2f692e696d6775722e636f6d2f536e6c437948462e706e67" height="100"/></p>\n \n <h1 align="center" id="heading"> Proxmox Discord Dark Theme </h1>\n \n A dark theme for the Proxmox Web UI by [Weilbyte](https://github.com/Weilbyte/PVEDiscordDark)\n \n Run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash <(curl -s https://raw.githubusercontent.com/Weilbyte/PVEDiscordDark/master/PVEDiscordDark.sh ) install\n ~~~\n \n To uninstall the theme, simply run the script with the <code class="highlighter-rouge">uninstall</code> command.'},{category:"Proxmox Tools",title:"Proxmox Backup Server Post Install",content:'<p align="center"><img src="https://github.com/home-assistant/brands/blob/master/core_integrations/proxmoxve/icon.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Proxmox Backup Server Post Install </h1>\n The script will give options to Disable the Enterprise Repo, Add/Correct PBS Sources, Enable the No-Subscription Repo, Add Test Repo, Disable Subscription Nag, Update Proxmox Backup Server and Reboot PBS.\n \n Run the command below in the <b>Proxmox Shell</b>. \u26a0\ufe0f **Proxmox Backup Server ONLY**\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/post-pbs-install.sh)"\n ~~~\n \n It\'s recommended to answer <code class="highlighter-rouge">y</code> to all options.'},{category:"Home Assistant",title:"Home Assistant OS VM",content:'<p align="center"><img src="https://github.com/tteck/Proxmox/blob/main/misc/images/haos.png?raw=true"/></p>\n \n <h1 align="center" id="heading"> Home Assistant OS VM </h1>\n <h3 align="center"> Option to create VM using Stable, Beta, Dev or Latest Image </h3>\n \n The script automates the manual process of finding, downloading and extracting the Official KVM (qcow2) disk image provided by the Home Assistant Team, creating a VM with user defined settings, importing and attaching the disk, setting the boot order and starting the VM. No hidden (kpartx, unzip, ect...) installs of any kind. Supports lvmthin, zfspool, nfs, dir and btrfs storage types.\n \n To create a new Proxmox Home Assistant OS VM, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/vm/haos-vm-v4.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 4GB RAM - 32GB Storage - 2vCPU - Stable Image \u26a1</h3>\n \n After the script completes, click on the VM, then on the **_Summary_** tab to find the VM IP.\n \n **Home Assistant Interface: IP:8123**'},{category:"Home Assistant",title:"PiMox HAOS VM",content:'<p align="center"><img src="https://github.com/tteck/Proxmox/blob/main/misc/images/pimox.png?raw=true" width="100" height="100"/></p>\n <h1 align="center" id="heading"> PiMox HAOS VM </h1>\n \n <h3 align="center"> Option to create VM using Stable, Beta or Dev Image </h3>\n \n The script automates the manual process of finding, downloading and extracting the aarch64 (qcow2) disk image provided by the Home Assistant Team, creating a VM with user defined settings, importing and attaching the disk, setting the boot order and starting the VM.\n \n To create a new PiMox HAOS VM, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/vm/pimox-haos-vm-v4.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 4GB RAM - 32GB Storage - 2vCPU - Stable Image \u26a1</h3>\n \n After the script completes, click on the VM, then on the **_Console_** tab to find the VM IP.\n \n **Home Assistant Interface: IP:8123**'},{category:"Home Assistant",title:"Home Assistant Container LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/docker/docs/main/assets/images/docker-icon.svg" height="100"/>\n <img src="https://avatars.githubusercontent.com/u/13844975?s=200&v=4" width="100" height="100"/><img src="https://avatars1.githubusercontent.com/u/22225832?s=400&v=4" alt="GitHub - portainer/portainer-docs: Portainer documentation" width="100" height="100"/></p>\n \n <h1 align="center" id="heading"> Home Assistant Container LXC </h1>\n <h3 align="center"> Option to Use Fuse Overlayfs (Advanced)</h3> \n\n \ud83d\udec8 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n\n A standalone container-based installation of Home Assistant Core\n \n To create a new Proxmox Home Assistant Container LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update ALL Containers, Remove Unused Images or Install HACS, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/homeassistant-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 16GB Storage - 2vCPU \u26a1</h3>\n \n **Home Assistant Interface: IP:8123**\n \n **Portainer Interface: IP:9000**\n \n \u2699\ufe0f **Path to HA /config**\n ~~~bash\n /var/lib/docker/volumes/hass_config/_data\n ~~~'},{category:"Home Assistant",title:"Home Assistant Core LXC",content:'<p align="center"><img src="https://avatars.githubusercontent.com/u/13844975?s=200&v=4" width="100" height="100"/></p>\n \n <h1 align="center" id="heading"> Home Assistant Core LXC </h1>\n \n A standalone installation of Home Assistant Core\n \n \ud83d\udec8 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n \n To create a new Proxmox Home Assistant Core LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update, Install HACS or Filebrowser, run the command below in the <b>LXC Console</b>. <br>\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/homeassistant-core-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n\n **Home Assistant Interface: IP:8123**\n \n \u2699\ufe0f **Path to HA /config**\n ~~~bash\n /root/.homeassistant\n ~~~'},{category:"Home Assistant",title:"Podman Home Assistant Container LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/podman.svg" height="100"/>\n <img src="https://avatars.githubusercontent.com/u/13844975?s=200&v=4" height="100"/><img/></p>\n <h1 align="center" id="heading">Podman Home Assistant Container LXC</h1>\n \n A standalone container-based installation of Home Assistant Core\n \n \ud83d\udec8 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n\n To create a new Proxmox Podman Home Assistant Container LXC, run the command below in the <b>Proxmox Shell</b>. <br> \n To Update Podman, Install HACS or FileBrowser, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/podman-homeassistant-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 16GB Storage - 2vCPU \u26a1</h3>\n \n **Home Assistant Interface: IP:8123**\n \n \u2699\ufe0f **Path to HA /config**\n ~~~bash\n /var/lib/containers/storage/volumes/hass_config/_data\n ~~~'},{category:"Automation",title:"ioBroker LXC",content:'<p align="center"><img src="https://github.com/ioBroker/ioBroker/blob/master/img/logos/ioBroker_Logo_256px.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> ioBroker LXC </h1>\n \n [ioBroker](https://www.iobroker.net/#en/intro) is an open source automation platform.\n \n To create a new Proxmox ioBroker LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/iobroker-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **ioBroker Interface: IP:8081**'},{category:"Automation",title:"openHAB LXC",content:'<p align="center"><img src="https://www.openhab.org/openhab-logo-square.png?raw=true" height="100"/></p>\n <h1 align="center" id="heading">openHAB LXC</h1>\n\n [openHAB](https://www.openhab.org/), a vendor and technology agnostic open source automation software for your home.\n \n To create a new Proxmox openHAB LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/openhab-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **openHAB Interface: IP:8080**'},{category:"Automation",title:"Homebridge LXC",content:'<p align="center"><img src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fwww.dingz.ch%2Fadmin%2Fdata%2Ffiles%2Fintegration%2Flogo%2F20%2F200514-em-logo-homebridge_logo.png%3Flm%3D1589459081&f=1&nofb=1" height="100"/></p>\n <h1 align="center" id="heading">Homebridge LXC</h1>\n\n [Homebridge](https://homebridge.io/) allows you to integrate with smart home devices that do not natively support HomeKit\n \n To create a new Proxmox Homebridge LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/homebridge-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 1vCPU \u26a1</h3>\n \n **Homebridge Interface: IP:8581**\n \n \u2699\ufe0f **Initial Login**\n \n **username** <code class="highlighter-rouge">admin</code>\n \n **password** <code class="highlighter-rouge">admin</code>'},{category:"Automation",title:"ESPHome LXC",content:'<p align="center"><img src="https://github.com/home-assistant/brands/blob/master/core_integrations/esphome/dark_icon@2x.png?raw=true" height="100"/></p>\n <h1 align="center" id="heading">ESPHome LXC</h1>\n \n [ESPHome](https://esphome.io/) is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.\n \n To create a new Proxmox ESPHome LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update ESPHome, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/esphome-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **ESPHome Interface: IP:6052**'},{category:"Automation",title:"Node-Red LXC",content:'<p align="center"><img src="https://github.com/home-assistant/brands/blob/master/custom_integrations/nodered/icon.png?raw=true" height="100"/></p>\n <h1 align="center" id="heading">Node-Red LXC</h1>\n\n [Node-RED](https://nodered.org/) is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.\n \n To create a new Proxmox Node-RED LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Node-Red or Install Themes run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/node-red-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 1vCPU \u26a1</h3>\n \n **Node-Red Interface: IP:1880**'},{category:"Automation",title:"n8n LXC",content:'<p align="center"><img src="https://docs.n8n.io/_images/n8n-docs-icon.svg" height="70"/></p>\n <h1 align="center" id="heading">n8n LXC</h1>\n \n [n8n](https://n8n.io/) is an extendable workflow automation tool which enables you to connect anything to everything.\n \n To create a new Proxmox n8n LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update n8n, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/n8n-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 3GB Storage - 2vCPU \u26a1</h3>\n \n **n8n Interface: IP:5678**'},{category:"Automation",title:"Scrypted LXC",content:'<p align="center"><img src="https://www.scrypted.app/images/web_hi_res_512.png?raw=true" height="100"/></p>\n <h1 align="center" id="heading">Scrypted LXC</h1>\n\n <h3 align="center"> Option to add Coral Edge TPU support </h3> \n \n [Scrypted](https://www.scrypted.app/) is a home automation platform primarily focusing on making camera experiences seamless.\n\n \ud83d\udec8 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n \n To create a new Proxmox Scrypted LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/scrypted-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **Scrypted Interface: (https)IP:10443**'},{category:"MQTT",title:"MQTT LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/eclipsemosquitto.svg" height="100"/></p>\n <h1 align="center" id="heading">MQTT LXC</h1>\n \n [Eclipse Mosquitto](https://mosquitto.org/) is an open source message broker that implements the MQTT protocol\n \n To create a new Proxmox MQTT LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/mqtt-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n Mosquitto comes with a password file generating utility called mosquitto_passwd.\n ~~~bash\n sudo mosquitto_passwd -c /etc/mosquitto/passwd <usr>\n ~~~\n Password: < password >\n \n Create a configuration file for Mosquitto pointing to the password file we have just created.\n ~~~bash\n sudo nano /etc/mosquitto/conf.d/default.conf\n ~~~\n This will open an empty file. Paste the command below into it.\n ~~~bash\n allow_anonymous false\n persistence true\n password_file /etc/mosquitto/passwd\n listener 1883\n ~~~\n Save and exit the text editor with "Ctrl+O", "Enter" and "Ctrl+X".\n \n Now restart Mosquitto server.\n ~~~bash\n sudo systemctl restart mosquitto\n ~~~'},{category:"MQTT",title:"EMQX LXC",content:'<p align="center"><img src="https://github.com/hassio-addons/repository/blob/master/emqx/icon.png?raw=true" height="100"/></p>\n <h1 align="center" id="heading">EMQX LXC</h1>\n\n[EMQX](https://www.emqx.io/) is an Open-source MQTT broker with a high-performance real-time message processing engine, powering event streaming for IoT devices at massive scale.\n \n To create a new Proxmox EMQX LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/emqx-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n \n **EMQX Interface: IP:18083** \n \n \u2699\ufe0f **Initial Login**\n \n **username** <code class="highlighter-rouge">admin</code>\n\n **password** <code class="highlighter-rouge">public</code>\n\n \u2699\ufe0f **Setup**\n \n Access Control \u27a1 Authentication \u27a1 Create \u27a1 Next \u27a1 Next \u27a1 Create \u27a1 Users \u27a1 Add \u27a1 Username / Password (to authenicate with MQTT) \u27a1 Save. You\'re now ready to enjoy a high-performance MQTT Broker.'},{category:"Database",title:"Mariadb LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/mariadb.svg" height="100"/></p>\n <h1 align="center" id="heading">Mariadb LXC</h1>\n\n <h3 align="center"> Option to Install Adminer</h3>\n \n [MariaDB](https://mariadb.org/) is a community-developed, commercially supported fork of the MySQL relational database management system.\n \n To create a new Proxmox Mariadb LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/mariadb-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 1vCPU \u26a1</h3>\n \n To enable MariaDB to listen to remote connections, you need to edit your defaults file. To do this, open the console in your MariaDB lxc:\n ~~~bash\n nano /etc/mysql/my.cnf\n ~~~\n Un-comment <code class="highlighter-rouge">port =3306</code>\n Save and exit the editor with "Ctrl+O", "Enter" and "Ctrl+X".\n \n ~~~bash\n nano /etc/mysql/mariadb.conf.d/50-server.cnf\n ~~~\n Comment <code class="highlighter-rouge">bind-address = 127.0.0.1</code>\n Save and exit the editor with "Ctrl+O", "Enter" and "Ctrl+X".\n \n For new MariaDB installations, the next step is to run the included security script. This script changes some of the less secure default options. We will use it to block remote root logins and to remove unused database users.\n \n Run the security script:\n ~~~bash\n sudo mysql_secure_installation\n ~~~\n Enter current password for root (enter for none): <code class="highlighter-rouge">enter</code>\n \n Switch to unix_socket authentication [Y/n] <code class="highlighter-rouge">y</code> \n \n Change the root password? [Y/n] <code class="highlighter-rouge">n</code> \n \n Remove anonymous users? [Y/n] <code class="highlighter-rouge">y</code> \n \n Disallow root login remotely? [Y/n] <code class="highlighter-rouge">y</code> \n \n Remove test database and access to it? [Y/n] <code class="highlighter-rouge">y</code> \n \n Reload privilege tables now? [Y/n] <code class="highlighter-rouge">y</code> \n \n We will create a new account called admin with the same capabilities as the root account, but configured for password authentication. \n ~~~bash\n sudo mysql\n ~~~ \n Prompt will change to <code class="highlighter-rouge">MariaDB [(none)]></code>\n \n Create a new local admin (Change the username and password to match your preferences)\n ~~~sql\n CREATE USER \'admin\'@\'localhost\' IDENTIFIED BY \'password\';\n ~~~\n Give local admin root privileges (Change the username and password to match above)\n ~~~sql\n GRANT ALL ON *.* TO \'admin\'@\'localhost\' IDENTIFIED BY \'password\' WITH GRANT OPTION;\n ~~~\n \n Now, we\'ll give the user admin root privileges and password-based access that can connect from anywhere on your local area network (LAN), which has addresses in the subnet 192.168.100.0/24. This is an improvement because opening a MariaDB server up to the Internet and granting access to all hosts is bad practice.. Change the **_username_**, **_password_** and **_subnet_** to match your preferences:\n ~~~sql\n GRANT ALL ON *.* TO \'admin\'@\'192.168.100.%\' IDENTIFIED BY \'password\' WITH GRANT OPTION;\n ~~~\n Flush the privileges to ensure that they are saved and available in the current session:\n ~~~sql\n FLUSH PRIVILEGES;\n ~~~\n command below this, exit the MariaDB shell:\n ~~~bash\n exit\n ~~~\n Log in as the new database user you just created:\n ~~~bash\n mysql -u admin -p\n ~~~\n Create a new database:\n ~~~sql\n CREATE DATABASE homeassistant;\n ~~~\n command below this, exit the MariaDB shell:\n ~~~bash\n exit\n ~~~\n \u26a0\ufe0f Reboot the lxc \n \n Checking status.\n ~~~bash\n sudo systemctl status mariadb\n ~~~ \n Change the recorder: <code class="highlighter-rouge">db_url:</code> in your HA configuration.yaml\n \n Example:\n ~~~bash\n recorder:\n db_url: mysql://admin:password@192.168.100.26:3306/homeassistant?charset=utf8mb4\n ~~~\n \n \u2699\ufe0f [**Adminer**](https://www.adminer.org/) is a full-featured database management tool\n \n **Adminer Interface: IP/adminer/**'},{category:"Database",title:"PostgreSQL LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/postgresql.svg" height="100"/></p>\n <h1 align="center" id="heading">PostgreSQL LXC</h1>\n <h3 align="center"> Option to Install Adminer</h3>\n \n [PostgreSQL](https://www.postgresql.org/), also known as Postgres, is a free and open-source relational database management system emphasizing extensibility and SQL compliance.\n \n To create a new Proxmox PostgreSQL LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/postgresql-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 1vCPU \u26a1</h3>\n \n To make sure our PostgreSQL is secured with a strong password, set a password for its system user and then change the default database admin user account\n \n Change user password\n ~~~bash\n passwd postgres\n ~~~\n Login using Postgres system account\n \n ~~~bash\n su - postgres\n ~~~\n Now, change the Admin database password \n ~~~bash\n psql -c "ALTER USER postgres WITH PASSWORD \'your-password\';"\n ~~~\n Create a new user.\n ~~~bash\n psql\n ~~~\n ~~~sql\n CREATE USER admin WITH PASSWORD \'your-password\';\n ~~~\n Create a new database:\n ~~~sql\n CREATE DATABASE homeassistant;\n ~~~\n Grant all rights or privileges on created database to the user\n ~~~sql\n GRANT ALL ON DATABASE homeassistant TO admin;\n ~~~\n To exit psql\n ~~~bash\n \\q\n ~~~ \n Then type exit to get back to root\n \n Change the recorder: <code class="highlighter-rouge">db_url:</code> in your HA configuration.yaml\n \n Example:\n ~~~bash\n recorder:\n db_url: postgresql://admin:your-password@192.168.100.20:5432/homeassistant?client_encoding=utf8\n ~~~\n\n \u2699\ufe0f [**Adminer**](https://www.adminer.org/) is a full-featured database management tool\n \n **Adminer Interface: IP/adminer/**'},{category:"Database",title:"InfluxDB LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/influx.svg" height="100"/></p>\n <h1 align="center" id="heading">InfluxDB LXC</h1>\n <h3 align="center"> Options to Install InfluxDB v1 or v2 and Telegraf</h3>\n \n [InfluxDB](https://www.influxdata.com/) is an open-source time series database developed by the company InfluxData.\n \n [Telegraf](https://www.influxdata.com/time-series-platform/telegraf/) is an open source plugin-driven server agent for collecting and reporting metrics.\n \n To create a new Proxmox InfluxDB LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/influxdb-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n \u2699\ufe0f **InfluxDB Configuration**\n \n ~~~yaml\n nano /etc/influxdb/influxdb.conf\n ~~~\n \n \u2699\ufe0f **Telegraf Configuration**\n \n ~~~yaml\n nano /etc/telegraf/telegraf.conf\n ~~~'},{category:"Zigbee - Zwave",title:"Zigbee2MQTT LXC",content:'<p align="center"><img src="https://github.com/Koenkk/zigbee2mqtt/blob/master/images/logo_bee_only.png?raw=true" height="100"/></p>\n <h1 align="center" id="heading">Zigbee2MQTT LXC</h1>\n\n <h3 align="center"> Option to switch to Edge/dev branch</h3>\n \n [Zigbee2MQTT](https://www.zigbee2mqtt.io/) is a standalone nodejs application that connects a zigbee network to MQTT\n \n \ud83d\udec8 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n\n To create a new Proxmox Zigbee2MQTT LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Zigbee2MQTT, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/zigbee2mqtt-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n \u2699\ufe0f **Determine the location of your adapter**\n \n ~~~bash\n ls -l /dev/serial/by-id\n ~~~\n Example Output: <code class="highlighter-rouge">lrwxrwxrwx 1 root root 13 Jun 19 17:30 usb-1a86_USB_Serial-if00-port0 -> ../../ttyUSB0</code>\n \n \n \u2699\ufe0f \u26a0\ufe0f **Before you start Zigbee2MQTT you need to edit the [configuration.yaml](https://www.zigbee2mqtt.io/guide/configuration/)**\n \n ~~~bash\n nano /opt/zigbee2mqtt/data/configuration.yaml\n ~~~\n \n Save and exit the editor with \u201cCtrl+O\u201d, \u201cEnter\u201d and \u201cCtrl+X\u201d\n \n Example:\n ~~~yaml\n frontend:\n port: 9442\n homeassistant: true\n permit_join: false\n mqtt:\n base_topic: zigbee2mqtt\n server: \'mqtt://192.168.86.224:1883\'\n user: usr\n password: pwd\n keepalive: 60\n reject_unauthorized: true\n version: 4\n serial:\n port: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0\n #adapter: deconz\t\t#(uncomment for ConBee II)\n advanced:\n pan_id: GENERATE\n network_key: GENERATE\n channel: 20\n ~~~\n \u2699\ufe0f **Zigbee2MQTT can be started after completing the configuration**\n \n ~~~bash\n cd /opt/zigbee2mqtt && npm start\n ~~~'},{category:"Zigbee - Zwave",title:"deCONZ LXC",content:'<p align="center"><img src="https://phoscon.de/img/phoscon-logo128x.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> deCONZ LXC </h1>\n \n [deCONZ](https://www.phoscon.de/en/conbee2/software#deconz) is used to configure, control and display Zigbee networks.\n \n \ud83d\udec8 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n\n To create a new Proxmox deCONZ LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/deconz-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **deCONZ Interface: IP:80**'},{category:"Zigbee - Zwave",title:"Z-Wave JS UI LXC",content:'<p align="center"><img src="https://github.com/zwave-js/zwave-js-ui/blob/master/docs/_images/app_logo.svg?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Z-Wave JS UI LXC </h1>\n \n [Z-Wave JS UI](https://github.com/zwave-js/zwave-js-ui#) is a fully configurable Z-Wave to MQTT Gateway and Control Panel.\n \n \ud83d\udec8 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n \n To create a new Proxmox Z-Wave JS UI LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Z-Wave JS UI, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/zwave-js-ui-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **Z-Wave JS UI Interface: IP:8091**'},{category:"Monitoring - Analytics",title:"Uptime Kuma LXC",content:'<p align="center"><img src="https://github.com/louislam/uptime-kuma/blob/master/public/icon.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Uptime Kuma LXC </h1>\n \n Uptime Kuma is a self-hosted, open source, fancy uptime monitoring and alerting system. It can monitor HTTP(s) / TCP / HTTP(s) Keyword / Ping / DNS Record / Push / Steam Game Server.\n \n To create a new Proxmox Uptime Kuma LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Uptime Kuma, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/uptimekuma-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n **Uptime Kuma Interface: IP:3001**'},{category:"Monitoring - Analytics",title:"Change Detection LXC",content:'<p align="center"><img src="https://github.com/dgtlmoon/changedetection.io/blob/master/changedetectionio/static/images/avatar-256x256.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Change Detection LXC </h1>\n \n To create a new Proxmox Change Detection LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Change Detection, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/changedetection-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n **Change Detection Interface: IP:5000**'},{category:"Monitoring - Analytics",title:"Prometheus LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/prometheus.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> Prometheus LXC </h1>\n \n [Prometheus](https://prometheus.io/) is an open-source systems monitoring and alerting toolkit\n \n To create a new Proxmox Prometheus LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/prometheus-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 4GB Storage - 1vCPU \u26a1</h3>\n \n **Prometheus Interface: IP:9090**'},{category:"Monitoring - Analytics",title:"Grafana LXC",content:'<p align="center"><img src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fdocs.checkmk.com%2Flatest%2Fimages%2Fgrafana_logo.png&f=1&nofb=1" height="100"/></p>\n \n <h1 align="center" id="heading"> Grafana LXC </h1>\n \n [Grafana](https://grafana.com/) is a multi-platform open source analytics and interactive visualization web application.\n \n To create a new Proxmox Grafana LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/grafana-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n **Grafana Interface: IP:3000**\n \n \u2699\ufe0f **Initial Login**\n \n **username** <code class="highlighter-rouge">admin</code>\n \n **password** <code class="highlighter-rouge">admin</code>'},{category:"Docker - Kubernetes",title:"Docker LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/docker.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> Docker LXC </h1>\n <h3 align="center"> Options to Install Portainer and/or Docker Compose V2 (Fuse Overlayfs is in "Advanced")</h3>\n \n \ud83d\udec8 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n\n [Docker](https://www.docker.com/) is an open-source project for automating the deployment of applications as portable, self-sufficient containers.\n \n To create a new Proxmox Docker LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/docker-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **\u26a0 Run Compose V2 by replacing the hyphen (-) with a space, using docker compose, instead of docker-compose.**\n \n **Portainer Interface: IP:9000**'},{category:"Docker - Kubernetes",title:"Umbrel LXC",content:'<p align="center"><img src="https://uploads-ssl.webflow.com/62966b49981ba146f4842f45/62966b49981ba15b44842fe4_umbrel-logo-compact-purple.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> Umbrel LXC </h1>\n\n \ud83d\udec8 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n \n [Umbrel](https://umbrel.com/) is a beautiful personal server OS for self-hosting.\n \n \n To create a new Proxmox Umbrel LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/umbrel-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **Umbrel Interface: IP** (a reboot is required before app installs)'},{category:"Docker - Kubernetes",title:"CasaOS LXC",content:'<p align="center"><img src="https://www.casaos.io/images/casa_9c491a0f.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> CasaOS LXC </h1>\n\n \ud83d\udec8 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n \n [CasaOS](https://www.casaos.io/) is a community-based open source software focused on delivering simple home cloud experience around Docker ecosystem.\n \n \n To create a new Proxmox CasaOS LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/casaos-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **CasaOS Interface: IP**'},{category:"Docker - Kubernetes",title:"k0s Kubernetes LXC",content:'<p align="center"><img src="https://k0sproject.io/images/k0s-logo.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> k0s Kubernetes LXC </h1>\n <h3 align="center"> Option to Install Helm Package Manager</h3>\n \n [k0s](https://k0sproject.io/) is the Simple, Solid & Certified Kubernetes Distribution.\n \n \n To create a new Proxmox k0s Kubernetes LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/k0s-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n\n \u2699\ufe0f **Config Path**\n\n ~~~yaml\n /etc/k0s/k0s.yaml\n ~~~'},{category:"Docker - Kubernetes",title:"Podman LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/podman.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> Podman LXC </h1>\n \n [Podman](https://podman.io/) is a daemonless container engine for developing, managing, and running OCI Containers on your Linux System.\n \n \n To create a new Proxmox Podman LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/podman-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 4GB Storage - 2vCPU \u26a1</h3>'},{category:"Operating System",title:"Debian LXC",content:'<p align="center"><img src="https://www.debian.org/Pics/debian-logo-1024x576.png" alt="Debian" height="100"/></p>\n \n <h1 align="center" id="heading"> Debian LXC </h1>\n Debian Linux is a distribution that emphasizes free software. It supports many hardware platforms.\n\n To create a new Proxmox Debian LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/debian-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>'},{category:"Operating System",title:"Ubuntu LXC",content:'<p align="center"><img src="https://assets.ubuntu.com/v1/29985a98-ubuntu-logo32.png" alt="Ubuntu" height="100"/></p>\n \n <h1 align="center" id="heading"> Ubuntu LXC </h1>\n <h3 align="center" id="heading"> Option to select version 18.04, 20.04, 21.10 or 22.04</h3>\n Ubuntu is a distribution based on Debian, designed to have regular releases and a consistent user experience.\n \n To create a new Proxmox Ubuntu LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/ubuntu-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU - 22.04 \u26a1</h3>'},{category:"Operating System",title:"Alpine LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/alpinelinux.svg" alt="Alpine" height="100"/></p>\n \n <h1 align="center" id="heading"> Alpine LXC </h1>\n A security-oriented, lightweight Linux distribution based on musl and BusyBox.\n\n To create a new Proxmox Alpine LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/alpine-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 100MiB Storage - 1vCPU \u26a1</h3>\n\n \u2699\ufe0f **Default Password** <code class="highlighter-rouge">alpine</code>\n\n \u2699\ufe0f **To Update Alpine**\n \n ~~~bash\n apk update && apk upgrade\n ~~~'},{category:"Operating System",title:"Arch LXC",content:'<p align="center"><img src="https://gitlab.archlinux.org/uploads/-/system/appearance/header_logo/1/lol2.png\n " alt="Arch" height="100"/></p>\n \n <h1 align="center" id="heading"> Arch Linux LXC </h1>\n Arch Linux is an independently developed, x86-64 general-purpose Linux distribution that strives to provide the latest stable versions of most software by command below a rolling-release model. The default installation is a minimal base system, configured by the user to only add what is purposely required.\n \n To create a new Proxmox Arch Linux LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/archlinux-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 1GB Storage - 1vCPU \u26a1</h3>\n\n\n \u2699\ufe0f **Default Password** <code class="highlighter-rouge">archlinux</code>\n \n \u2699\ufe0f **To get updated:**\n\n <code class="highlighter-rouge">pacman-key --init</code>\n\n <code class="highlighter-rouge">pacman-key --populate archlinux</code>\n\n <code class="highlighter-rouge">pacman -Sy archlinux-keyring && pacman -Su</code>'},{category:"Server - Networking",title:"Nginx Proxy Manager LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/nginxproxymanager.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> Nginx Proxy Manager LXC </h1>\n \n [Nginx Proxy Manager](https://nginxproxymanager.com/) Expose your services easily and securely\n \n To create a new Proxmox Nginx Proxy Manager LXC Container, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Nginx Proxy Manager, run the command below in the <b>LXC Console</b>.\n ~~~yaml\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/nginxproxymanager-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 3GB Storage - 1vCPU \u26a1</h3>\n \n Forward port <code class="highlighter-rouge">80</code> and <code class="highlighter-rouge">443</code> from your router to your Nginx Proxy Manager LXC IP.\n \n Add the command below to your <code class="highlighter-rouge">configuration.yaml</code> in Home Assistant.\n ~~~yaml\n http:\n use_x_forwarded_for: true\n trusted_proxies:\n - 192.168.100.27 ###(Nginx Proxy Manager LXC IP)###\n ~~~\n \n **Nginx Proxy Manager Interface: IP:81**\n \n \u2699\ufe0f **Initial Login**\n \n **username** <code class="highlighter-rouge">admin@example.com</code>\n \n **password** <code class="highlighter-rouge">changeme</code>'},{category:"Server - Networking",title:"YunoHost LXC",content:'<p align="center"><img src="https://yunohost.org/_images/ynh_logo_white_300dpi.png" height="100"/></p>\n \n <h1 align="center" id="heading"> YunoHost LXC </h1>\n \n YunoHost is an operating system aiming for the simplest administration of a server, and therefore democratize self-hosting, while making sure it stays reliable, secure, ethical and lightweight. \n \n To create a new Proxmox YunoHost LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/yunohost-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 20GB Storage - 2vCPU \u26a1</h3>\n \n **YunoHost Interface: IP/**'},{category:"Server - Networking",title:"UniFi Network Application LXC",content:'<p align="center"><img src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fblog.ui.com%2Fwp-content%2Fuploads%2F2016%2F10%2Funifi-app-logo-300x108.png&f=1&nofb=1" height="100"/></p>\n \n <h1 align="center" id="heading"> UniFi Network Application LXC </h1>\n \n <h3 align="center"> With Local Controller Option </h3>\n \n An application designed to optimize UniFi home and business networks with ease.\n \n To create a new Proxmox UniFi Network Application LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Unifi Network Application, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/unifi-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **UniFi Interface: (https)IP:8443**'},{category:"Server - Networking",title:"Omada Controller LXC",content:'<p align="center"><img src="https://www.enterpriseitpro.net/wp-content/uploads/2020/12/logo-omada.png" height="100"/></p>\n \n <h1 align="center" id="heading"> Omada Controller LXC </h1>\n \n Omada Controller is software which is used to manage the EAP\n \n To create a new Proxmox Omada Controller LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/omada-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **Omada Interface: (https)IP:8043**'},{category:"Server - Networking",title:"WireGuard LXC",content:'<p align="center"><img src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fcdn.icon-icons.com%2Ficons2%2F2699%2FPNG%2F512%2Fwireguard_logo_icon_168760.png&f=1&nofb=1" height="100"/></p>\n \n <h1 align="center" id="heading"> WireGuard LXC </h1>\n \n To create a new Proxmox WireGuard LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update WireGuard or Install a Dashboard, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/wireguard-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n \u2699\ufe0f **Host Configuration**\n \n ~~~yaml\n nano /etc/pivpn/wireguard/setupVars.conf\n ~~~\n \u2699\ufe0f **Add Clients** \n \n ~~~yaml\n pivpn add\n ~~~'},{category:"Server - Networking",title:"Cronicle Primary LXC",content:'<p align="center"><img src="https://github.com/jhuckaby/Cronicle/blob/master/htdocs/images/logo-128.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Cronicle Primary LXC </h1>\n \n [Cronicle](https://github.com/jhuckaby/Cronicle) is a multi-server task scheduler and runner, with a web based front-end UI. It handles both scheduled, repeating and on-demand jobs, targeting any number of worker servers, with real-time stats and live log viewer. \n\n To create a new Proxmox Cronicle Primary LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Cronicle or Install Cronicle Worker, run the command below in a <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/cronicle-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n **Cronicle Primary Interface: IP:3012**\n\n \u2699\ufe0f Config Path\n ~~~bash\n /opt/cronicle/conf/config.json\n ~~~\n\n Primary and Worker Private Keys Must Match.'},{category:"Server - Networking",title:"MeshCentral LXC",content:'<p align="center"><img src="https://github.com/Ylianst/MeshCentral/blob/master/public/favicon-303x303.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> MeshCentral LXC </h1>\n \n [MeshCentral](https://meshcentral.com/info/) is a full computer management web site. With MeshCentral, you can run your own web server to remotely manage and control computers on a local network or anywhere on the internet.\n \n To create a new Proxmox MeshCentral LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/meshcentral-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n **MeshCentral Interface: IP**'},{category:"Server - Networking",title:"Tailscale",content:'<p align="center"><img src="https://avatars.githubusercontent.com/u/48932923?v=4&s=100"/></p>\n \n <h1 align="center" id="heading"> Tailscale</h1>\n \n [Tailscale](https://tailscale.com/) Creates a secure network between your servers, computers, and cloud instances. Even when separated by firewalls or subnets, Tailscale just works.\n \n To Install Talescale on an existing LXC, run the command below in the <b>Proxmox Shell</b> (replace <code class="highlighter-rouge">106</code> with your LXC ID).\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/add-tailscale-lxc.sh)" -s 106\n ~~~\n After the script finishes, reboot the LXC then run <code class="highlighter-rouge">tailscale up</code> in the LXC console\n \n [**Tailscale Login**](https://login.tailscale.com/start)'},{category:"Server - Networking",title:"CrowdSec",content:'<p align="center"><img src="https://raw.githubusercontent.com/crowdsecurity/crowdsec-docs/main/crowdsec-docs/static/img/crowdsec_no_txt.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> CrowdSec</h1>\n\n [CrowdSec](https://crowdsec.net/) is a free, open-source and collaborative IPS. Analyze behaviors, respond to attacks & share signals across the community.\n \n To Install CrowdSec, \u26a0\ufe0f run the command below in the <b>LXC console</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/crowdsec.sh)"\n ~~~\n \n [**Control center for your CrowdSec machines.**](https://app.crowdsec.net/product-tour)'},{category:"Server - Networking",title:"Keycloak LXC",content:'<p align="center"><img src="https://www.keycloak.org/resources/images/keycloak_icon_512px.svg?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Keycloak LXC</h1>\n\n [Keycloak](https://www.keycloak.org/) is an Open Source Identity and Access Management solution for modern Applications and Services.\n \n To create a new Proxmox Keycloak LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/keycloak-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 4GB Storage - 2CPU \u26a1</h3>\n\n **Keycloak Interface: IP:8080** (First start can take a few minutes)\n \n \u2699\ufe0f **Initial Login**\n \n The initial admin user can be added manually using the web frontend when accessed from localhost or automatically using environment variables.\n \n To add the initial admin user using environment variables, set <code class="highlighter-rouge">KEYCLOAK_ADMIN</code> for the initial admin username and <code class="highlighter-rouge">KEYCLOAK_ADMIN_PASSWORD</code> for the initial admin password.\n \n First, stop Keycloak\n ~~~bash\n systemctl stop keycloak.service\n ~~~\n then start Keycloak by coping & pasting the command below (only needed once)\n ~~~bash\n cd /opt/keycloak\n export KEYCLOAK_ADMIN=admin\n export KEYCLOAK_ADMIN_PASSWORD=changeme\n bin/kc.sh start-dev \n ~~~'},{category:"Server - Networking",title:"Mikrotik RouterOS VM",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/mikrotik.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> Mikrotik RouterOS VM </h1>\n \n [Mikrotik RouterOS](https://wiki.mikrotik.com/wiki/Manual:TOC) can be installed on a PC and will turn it into a router with all the necessary features - routing, firewall, bandwidth management, wireless access point, backhaul link, hotspot gateway, VPN server and more. \n \n To create a new Proxmox Mikrotik RouterOS VM, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/vm/mikrotik-routeros-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 2GB Storage - 1CPU \u26a1</h3>\n\n Setup is done via VM console.\n\n \u2699\ufe0f **Initial Login**\n\n **username** <code class="highlighter-rouge">admin</code>\n \n **password** <code class="highlighter-rouge">no password</code>'},{category:"Media - Photo",title:"Plex Media Server LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/plex-white.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> Plex Media Server LXC </h1>\n <h3 align="center" id="heading"> With Hardware Acceleration Support </h3> \n \n To create a new Proxmox Plex Media Server LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Plex Media Server, run the command below in the <b>LXC Console</b>.\n\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/plex-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **Plex Media Server Interface: IP:32400/web**'},{category:"Media - Photo",title:"Emby Media Server LXC",content:'<p align="center"><img src="https://github.com/home-assistant/brands/blob/master/core_integrations/emby/icon.png?raw=true" height="100"/></p>\n <h1 align="center" id="heading"> Emby Media Server LXC </h1>\n \n [Emby](https://emby.media/) brings together your personal videos, music, photos, and live television.\n \n To create a new Proxmox Emby Media Server LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Emby, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/emby-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **Emby Media Server Interface: IP:8096**'},{category:"Media - Photo",title:"Jellyfin Media Server LXC",content:'<p align="center"><img src="https://github.com/home-assistant/brands/blob/master/core_integrations/jellyfin/icon.png?raw=true" height="100"/></p>\n <h1 align="center" id="heading"> Jellyfin Media Server LXC </h1>\n \n [TurnKey has a LXC CT for Jellyfin](https://www.turnkeylinux.org/mediaserver)\n \n To create a new Proxmox Jellyfin Media Server LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/jellyfin-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **Jellyfin Media Server Interface: IP:8096**\n \n FFmpeg path: <code class="highlighter-rouge">/usr/lib/jellyfin-ffmpeg/ffmpeg</code>'},{category:"Media - Photo",title:"NextCloudPi LXC",content:'<p align="center"><img src="https://github.com/nextcloud/nextcloudpi/blob/master/ncp-app/img/app.svg?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading">NextCloudPi LXC </h1>\n \n [NextCloudPi LXC](https://github.com/nextcloud/nextcloudpi#features) is the most popular self-hosted collaboration solution.\n \n To create a new Proxmox NextCloudPi LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/nextcloudpi-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **NextCloudPi Interface: (https)IP/**'},{category:"Media - Photo",title:"OpenMediaVault LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/openmediavault.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> OpenMediaVault LXC </h1>\n \n [OpenMediaVault](https://www.openmediavault.org/) is the next generation network attached storage (NAS) solution based on Debian Linux.\n \n To create a new Proxmox OpenMediaVault LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/omv-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **OpenMediaVault Interface: IP**\n \n \u2699\ufe0f **Initial Login**\n \n **username** <code class="highlighter-rouge">admin</code>\n \n **password** <code class="highlighter-rouge">openmediavault</code>'},{category:"Media - Photo",title:"Navidrome LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/navidrome/navidrome/master/resources/logo-192x192.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Navidrome LXC </h1>\n \n [Navidrome](https://www.navidrome.org/) allows you to enjoy your music collection from anywhere, by making it available through a modern Web UI and through a wide range of third-party compatible mobile apps, for both iOS and Android devices. \n \n To create a new Proxmox Navidrome LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Navidrome, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/navidrome-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n To change Navidrome music folder path, edit: <code class="highlighter-rouge">/var/lib/navidrome/navidrome.toml</code>\n \n **Navidrome Interface: IP:4533**'},{category:"Media - Photo",title:"PhotoPrism LXC",content:'<p align="center"><img src="https://github.com/tteck/Proxmox/blob/main/misc/images/photoprism.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> PhotoPrism LXC </h1>\n \n [PhotoPrism](https://photoprism.app/) is an AI-powered app for browsing, organizing & sharing your photo collection. \n \n To create a new Proxmox PhotoPrism LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update PhotoPrism, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/photoprism-v5.sh)"\n ~~~\n The script builds from source, which takes time and resources. After the build, the script will automatically set resources to Normal Settings.\n <h3 align="center" id="heading">\u26a1 Build Settings: 4GB RAM - 8GB Storage - 4vCPU \u26a1</h3>\n <h3 align="center" id="heading">\u26a1 Normal Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **PhotoPrism Interface: IP:2342**\n \n \u2699\ufe0f **Initial Login**\n \n **username** <code class="highlighter-rouge">admin</code>\n \n **password** <code class="highlighter-rouge">changeme</code>\n \n [PhotoSync](https://www.photosync-app.com/home.html)'},{category:"Media - Photo",title:"Lidarr LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/Lidarr/Lidarr/develop/Logo/256.png" height="100"/></p>\n \n <h1 align="center" id="heading">Lidarr LXC </h1>\n \n [Lidarr](https://lidarr.audio/) is a music collection manager for Usenet and BitTorrent users.\n \n To create a new Proxmox Lidarr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/lidarr-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **Lidarr Interface: IP:8686**'},{category:"Media - Photo",title:"Prowlarr LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/Prowlarr/Prowlarr/develop/Logo/256.png" height="100"/></p>\n \n <h1 align="center" id="heading">Prowlarr LXC </h1>\n \n [Prowlarr](https://github.com/Prowlarr/Prowlarr) is an indexer manager/proxy built on the popular *arr .net/reactjs base stack to integrate with your various PVR apps.\n \n To create a new Proxmox Prowlarr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/prowlarr-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **Prowlarr Interface: IP:9696**'},{category:"Media - Photo",title:"Radarr LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/Radarr/Radarr/develop/Logo/256.png" height="100"/></p>\n \n <h1 align="center" id="heading">Radarr LXC </h1>\n \n [Radarr](https://radarr.video/) is a movie collection manager for Usenet and BitTorrent users.\n \n To create a new Proxmox Radarr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/radarr-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **Radarr Interface: IP:7878**'},{category:"Media - Photo",title:"Readarr LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/Readarr/Readarr/develop/Logo/256.png" height="100"/></p>\n \n <h1 align="center" id="heading">Readarr LXC </h1>\n \n [Readarr](https://readarr.com/) is an eBook and audiobook collection manager for Usenet and BitTorrent users.\n \n To create a new Proxmox Radarr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/readarr-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **Readarr Interface: IP:8787**'},{category:"Media - Photo",title:"Sonarr LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/Sonarr/Sonarr/develop/Logo/256.png" height="100"/></p>\n \n <h1 align="center" id="heading">Sonarr LXC </h1>\n \n [Sonarr](https://sonarr.tv/) is a PVR for Usenet and BitTorrent users.\n \n To create a new Proxmox Sonarr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/sonarr-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **Sonarr Interface: IP:8989**'},{category:"Media - Photo",title:"Tdarr LXC",content:'<p align="center"><img src="https://tdarr.io/static/media/logo3.02a3f4a3.png" height="100"/></p>\n \n <h1 align="center" id="heading">Tdarr LXC </h1>\n \n [Tdarr](https://tdarr.io/) is a conditional based transcoding application for automating media library transcode/remux management.\n \n To create a new Proxmox Tdarr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/tdarr-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **Tdarr Interface: IP:8265**'},{category:"Media - Photo",title:"Whisparr LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/Whisparr/Whisparr/develop/Logo/256.png" height="100"/></p>\n \n <h1 align="center" id="heading">Whisparr LXC </h1>\n \n [Whisparr](https://github.com/Whisparr/Whisparr) is an adult movie collection manager for Usenet and BitTorrent users.\n \n To create a new Proxmox Whisparr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/whisparr-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **Whisparr Interface: IP:6969**'},{category:"Ad Blocker - DNS",title:"Pi-hole LXC",content:'<p align="center"><img src="https://github.com/home-assistant/brands/blob/master/core_integrations/pi_hole/icon.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Pi-hole LXC </h1>\n \n [Pi-hole](https://pi-hole.net/) is a Linux network-level advertisement and Internet tracker blocking application which acts as a DNS sinkhole and optionally a DHCP server.\n \n To create a new Proxmox Pi-hole LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/pihole-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n \u26a0\ufe0f **Reboot Pi-hole LXC after install**\n \n **Pi-hole Interface: IP/admin**\n \n \u2699\ufe0f **To set your password:**\n \n ~~~yaml\n pihole -a -p\n ~~~'},{category:"Ad Blocker - DNS",title:"Technitium DNS LXC",content:'<p align="center"><img src="https://avatars.githubusercontent.com/u/12230362?s=100&v=4" height="100"/></p>\n \n <h1 align="center" id="heading"> Technitium DNS LXC </h1>\n An open source authoritative as well as recursive DNS server\n \n To create a new Proxmox Technitium DNS LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Technitium DNS, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/technitiumdns-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n **Technitium DNS Interface: IP:5380**'},{category:"Ad Blocker - DNS",title:"AdGuard Home LXC",content:'<p align="center"><img src="https://github.com/home-assistant/brands/blob/master/core_integrations/adguard/icon.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> AdGuard Home LXC </h1>\n \n To create a new Proxmox AdGuard Home LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Manually Update AdGuard Home, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/adguard-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n **AdGuard Home Setup Interface: IP:3000 (After Setup use only IP)**\n \n <sub>(For the Home Assistant Integration, use port <code class="highlighter-rouge">80</code> not <code class="highlighter-rouge">3000</code>)</sub>'},{category:"Ad Blocker - DNS",title:"Blocky LXC",content:'<p align="center"><img src="https://github.com/0xERR0R/blocky/blob/master/docs/blocky.svg?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Blocky LXC </h1>\n \n [Blocky](https://0xerr0r.github.io/blocky/) is a DNS proxy and ad-blocker for the local network written in Go. \ud83d\udea8 For Advanced Users. No UI.\n \n To create a new Proxmox Blocky LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/blocky-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n \n \u2699\ufe0f **Blocky Config Path**\n \n ~~~yaml\n /opt/blocky/config.yml\n ~~~'},{category:"Document - Notes",title:"Paperless-ngx LXC",content:'<p align="center"><img src="https://github.com/paperless-ngx/paperless-ngx/blob/main/resources/logo/web/svg/square.svg?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Paperless-ngx LXC </h1>\n \n [Paperless-ngx](https://paperless-ngx.readthedocs.io/en/latest/#) is a document management system that transforms your physical documents into a searchable online archive so you can keep, well, less paper.\n \n To create a new Proxmox Paperless-ngx LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Paperless-ngx or Show Paperless-ngx Credentials, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/paperless-ngx-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2048MiB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n \n **Paperless-ngx Interface: IP:8000**'},{category:"Document - Notes",title:"Trilium LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/zadam/trilium/master/images/app-icons/png/128x128.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Trilium LXC </h1>\n \n [Trilium](https://github.com/zadam/trilium#trilium-notes) is a hierarchical note taking application with focus on building large personal knowledge bases.\n \n To create a new Proxmox Trilium LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Trilium, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/trilium-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n **Trilium Interface: IP:8080**'},{category:"Document - Notes",title:"Wiki.js LXC",content:'<p align="center"><img src="https://static.requarks.io/logo/wikijs-butterfly.svg?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Wiki.js LXC </h1>\n \n [Wiki.js](https://js.wiki/) is a modern, lightweight and powerful wiki app built on NodeJS. \n \n To create a new Proxmox Wiki.js LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Wiki.js, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/wikijs-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n **Wiki.js Interface: IP:3000**'},{category:"Document - Notes",title:"NocoDB LXC",content:'<p align="center"><img src="https://github.com/tteck/Proxmox/blob/main/misc/images/nocodb.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> NocoDB LXC </h1>\n \n [NocoDB](https://www.nocodb.com/) is an open source #NoCode platform that turns any database into a smart spreadsheet. Airtable Alternative.\n \n To create a new Proxmox NocoDB LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update NocoDB, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/nocodb-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 4GB Storage - 1vCPU \u26a1</h3>\n \n **NocoDB Interface: IP:8080/dashboard**'},{category:"Document - Notes",title:"Kavita LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/Kareadita/Kavita/develop/Logo/kavita.svg" height="100"/></p>\n \n <h1 align="center" id="Kavita"> Kavita LXC </h1>\n \n [Kavita](https://www.kavitareader.com/) is a fast, feature rich, cross platform reading server. Built with a focus for manga, and the goal of being a full solution for all your reading needs.\n \n To create a new Proxmox Kavita LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/kavita-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **Kavita Interface: IP:5000**'},{category:"Dashboards",title:"Heimdall Dashboard LXC",content:'<p align="center"><img src="https://github.com/tteck/Proxmox/blob/main/misc/images/heimdall.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Heimdall Dashboard LXC </h1>\n \n [Heimdall Application Dashboard](https://camo.githubusercontent.com/bcfd4f74c93b25bea7b14eacbafd649206bf754a3d4b596329968f0ee569cf3c/68747470733a2f2f692e696d6775722e636f6d2f4d72433451704e2e676966) is a dashboard for all your web applications. It doesn\'t need to be limited to applications though, you can add links to anything you like.\n \n To create a new Proxmox Heimdall Dashboard LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Heimdall Dashboard, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/heimdalldashboard-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n **Heimdall Dashboard Interface: IP:7990**'},{category:"Dashboards",title:"Homepage LXC",content:'<p align="center"><img src="https://github.com/benphelps/homepage/raw/main/images/banner_light%402x.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Homepage LXC </h1>\n \n [Homepage](https://github.com/benphelps/homepage) is a self-hosted dashboard.\n \n To create a new Proxmox Homepage LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Homepage, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/homepage-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 1GB RAM - 3GB Storage - 2vCPU \u26a1</h3>\n \n [Configuration](https://github.com/benphelps/homepage/wiki) (bookmarks.yaml, services.yaml, widgets.yaml) path: <code class="highlighter-rouge">/opt/homepage/config/</code>\n \n **Homepage Interface: IP:3000**'},{category:"Dashboards",title:"Homer LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/bastienwirtz/homer/main/public/assets/icons/logo.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> Homer LXC </h1>\n \n [Homer](https://github.com/bastienwirtz/homer#---------homer) A dead simple static HOMepage for your servER to keep your services on hand, from a simple yaml configuration file.\n \n To create a new Proxmox Homer LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Homer, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/homer-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n\n **Homer Interface: IP:8010**\n \n \u2699\ufe0f **Config Path**\n \n ~~~yaml\n /opt/homer/assets/config.yml\n ~~~'},{category:"Dashboards",title:"Dashy LXC",content:'<p align="center"><img src="https://github.com/Lissy93/dashy/raw/master/public/web-icons/dashy-logo.png" height="100"/></p>\n \n <h1 align="center" id="heading"> Dashy LXC </h1>\n \n Dashy helps you organize your self-hosted services by making them accessible from a single place\n \n To create a new Proxmox Dashy LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Dashy, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/dashy-v5.sh)"\n ~~~\n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 3GB Storage - 2vCPU \u26a1</h3>\n \n **Dashy Interface: IP:4000**\n \n After getting everything setup the way you want in interactive mode and saved to disk, you have to go into update configuration and rebuild application.'},{category:"File - Code",title:"File Browser",content:'<p align="center"><img src="https://github.com/tteck/Proxmox/blob/main/misc/images/filebrowser.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> File Browser </h1>\n\n [File Browser](https://filebrowser.org/features) is a create-your-own-cloud-kind of software where you can install it on a server, direct it to a path and then access your files through a nice web interface. Many available features!\n \n To Install File Browser, \u26a0\ufe0f run the command below in the LXC console.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/filebrowser.sh)"\n ~~~\n \n **File Browser Interface: IP:8080**\n \n \u2699\ufe0f **Initial Login**\n \n **username** <code class="highlighter-rouge">admin</code>\n\n **password** <code class="highlighter-rouge">changeme</code>\n \n \u2699\ufe0f **To Update File Browser**\n \n ~~~yaml\n curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash\n ~~~'},{category:"File - Code",title:"VS Code Server",content:'<p align="center"><img src="https://user-images.githubusercontent.com/674621/71187801-14e60a80-2280-11ea-94c9-e56576f76baf.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> VS Code Server </h1>\n\n [VS Code Server](https://code.visualstudio.com/docs/remote/vscode-server) is a service you can run on a remote development machine, like your desktop PC or a virtual machine (VM). It allows you to securely connect to that remote machine from anywhere through a vscode.dev URL, without the requirement of SSH.\n \n To Install VS Code Server, \u26a0\ufe0f run the command below in the <b>LXC console</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/code-server.sh)"\n ~~~\n \n **VS Code Server Interface: IP:8680**'},{category:"File - Code",title:"Deluge LXC",content:'<p align="center"><img src="https://dev.deluge-torrent.org/chrome/common/deluge_logo.png" height="100"/></p>\n \n <h1 align="center" id="heading"> Deluge LXC </h1>\n\n [Deluge](https://www.deluge-torrent.org/) is a lightweight, Free Software, cross-platform BitTorrent client.\n \n To create a new Proxmox Deluge LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/deluge-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 4GB Storage - 2vCPU \u26a1</h3>\n\n \u2699\ufe0f **Initial Login**\n\n **password** <code class="highlighter-rouge">deluge</code>\n\n **Deluge Interface: IP:8112**'},{category:"File - Code",title:"Autobrr LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/autobrr/autobrr/master/.github/images/logo.png" height="100"/></p>\n \n <h1 align="center" id="heading"> Autobrr LXC </h1>\n\n [Autobrr](https://autobrr.com/) is the modern download automation tool for torrents.\n \n To create a new Proxmox Autobrr LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Autobrr, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/autobrr-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n\n **Autobrr Interface: IP:7474**'},{category:"File - Code",title:"SABnzbd LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/sabnzbd/sabnzbd/develop/icons/logo-arrow.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> SABnzbd LXC </h1>\n\n [SABnzbd](https://sabnzbd.org/) is a free and easy binary newsreader.\n \n To create a new Proxmox SABnzbd LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/sabnzbd-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n\n **SABnzbd Interface: IP:7777**'},{category:"File - Code",title:"Webmin System Administration",content:'<p align="center"><img src="https://github.com/webmin/webmin/blob/master/images/webmin-blue.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Webmin System Administration </h1>\n\n If you prefer to manage all aspects of your Proxmox LXC from a graphical interface instead of the command line interface, Webmin might be right for you.\n Benefits include automatic daily security updates, backup and restore, file manager with editor, web control panel, and preconfigured system monitoring with optional email alerts.\n \n To Install Webmin System Administration, \u26a0\ufe0f run the command below in the <b>LXC console</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/webmin.sh)"\n ~~~\n \n **Webmin Interface: (https)IP:10000**\n \n \u2699\ufe0f **Initial Login**\n \n **username** <code class="highlighter-rouge">root</code>\n \n **password** <code class="highlighter-rouge">root</code>\n \n \u2699\ufe0f **To Update Webmin**\n \n <code class="highlighter-rouge">Update from the Webmin UI</code>\n \n \u2699\ufe0f **To Uninstall Webmin**\n \n ~~~yaml\n bash /etc/webmin/uninstall.sh\n ~~~'},{category:"File - Code",title:"Syncthing LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/syncthing/syncthing/6afaa9f20c8eb9c7af5abbe2f2d90fa2571aa7ad/assets/logo-only.svg?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Syncthing LXC </h1>\n \n [Syncthing](https://syncthing.net/) is a continuous file synchronization program. It synchronizes files between two or more computers.\n \n To create a new Proxmox Syncthing LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/syncthing-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **Syncthing Interface: IP:8384**'},{category:"File - Code",title:"Daemon Sync Server LXC",content:'<p align="center"><img src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fimg.informer.com%2Ficons_mac%2Fpng%2F128%2F350%2F350335.png&f=1&nofb=1" height="100"/></p>\n \n <h1 align="center" id="heading"> Daemon Sync Server LXC </h1>\n \n Sync files from app to server, share photos & videos, back up your data and stay secure inside local network.\n \n To create a new Proxmox Daemon Sync Server LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/daemonsync-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 8GB Storage - 1vCPU \u26a1</h3>\n \n **Daemon Sync Server Interface: IP:8084**\n \n Search: <code class="highlighter-rouge">DAEMON Sync</code> in your favorite app store'},{category:"Miscellaneous",title:"Vaultwarden LXC",content:'<p align="center"><img src="https://raw.githubusercontent.com/dani-garcia/vaultwarden/main/resources/vaultwarden-icon-white.svg" width="100" height="100"/></p>\n \n <h1 align="center" id="heading"> Vaultwarden LXC </h1>\n \n Alternative implementation of the Bitwarden server API written in Rust and compatible with upstream [Bitwarden clients](https://bitwarden.com/download/), perfect for self-hosted deployment where running the official resource-heavy service might not be ideal.\n \n To create a new Proxmox Vaultwarden LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Vaultwarden, Web-Vault or Show Admin Token, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/vaultwarden-v5.sh)"\n ~~~\n \u26a0\ufe0f Vaultwarden needs to be behind a proxy (Nginx Proxy Manager) to obtain HTTPS and to allow clients to connect.\n \n The script builds from source, which takes time and resources. After the build, the script will automatically set resources to Normal Settings. \n \n <h3 align="center" id="heading">\u26a1 Build Settings: 4GB RAM - 6GB Storage - 4vCPU \u26a1</h3>\n <h3 align="center" id="heading">\u26a1 Normal Settings: 512Mib RAM - 6GB Storage - 1vCPU \u26a1</h3>\n \n **Vaultwarden Interface: IP:8000**\n \n **Vaultwarden Admin Interface: IP:8000/admin**'},{category:"Miscellaneous",title:"grocy LXC",content:'<p align="center"><img src="https://grocy.info/img/grocy_logo.svg" height="100"/></p>\n \n <h1 align="center" id="heading"> grocy LXC </h1>\n \n [grocy](https://grocy.info/) is a web-based self-hosted groceries & household management solution for your home.\n \n To create a new Proxmox grocy LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update grocy, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/grocy-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n **grocy Interface: IP**\n \n \u2699\ufe0f **Initial Login**\n \n **username** <code class="highlighter-rouge">admin</code>\n \n **password** <code class="highlighter-rouge">admin</code>'},{category:"Miscellaneous",title:"MagicMirror Server LXC",content:'<p align="center"><img src="https://github.com/MichMich/MagicMirror/raw/master/.github/header.png" height="100"/></p>\n \n <h1 align="center" id="heading"> MagicMirror Server LXC </h1>\n \n [MagicMirror\xb2](https://docs.magicmirror.builders/) is an open source modular smart mirror platform.\n \n To create a new MagicMirror Server LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update MagicMirror, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/magicmirror-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 3GB Storage - 1vCPU \u26a1</h3>\n \n **MagicMirror Interface: IP:8080**\n \n \u2699\ufe0f **[Configuration](https://docs.magicmirror.builders/configuration/introduction.html#configuring-your-magicmirror)**\n ~~~yaml\n /opt/magicmirror/config/config.js\n ~~~'},{category:"Miscellaneous",title:"Whoogle LXC",content:'<p align="center"><img src="https://github.com/tteck/Proxmox/blob/main/misc/images/whoogle.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Whoogle LXC </h1>\n \n Get Google search results, but without any ads, javascript, AMP links, cookies, or IP address tracking.\n \n To create a new Proxmox Whoogle LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Whoogle, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/whoogle-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n \n **Whoogle Interface: IP:5000**'},{category:"Miscellaneous",title:"Shinobi NVR LXC",content:'<p align="center"><img src="https://gitlab.com/uploads/-/system/project/avatar/6947723/mstile-150x150.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> Shinobi NVR LXC </h1>\n \n To create a new Proxmox Shinobi NVR LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Shinobi, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/shinobi-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **Shinobi Interface: IP:8080**\n\n **Shinobi Admin Interface: IP:8080/super**\n \n \u2699\ufe0f **Initial Admin Login**\n \n **username** <code class="highlighter-rouge">admin@shinobi.video</code>\n \n **password** <code class="highlighter-rouge">admin</code>'},{category:"Miscellaneous",title:"MotionEye NVR LXC",content:'<p align="center"><img src="https://github.com/home-assistant/brands/blob/master/core_integrations/motioneye/icon.png?raw=true" height="100"/></p>\n \n <h1 align="center" id="heading"> MotionEye NVR LXC </h1>\n \n To create a new Proxmox MotionEye NVR LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update MotionEye, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/motioneye-v5.sh)"\n ~~~\n \n <h3 align="center" id="heading">\u26a1 Default Settings: 2GB RAM - 8GB Storage - 2vCPU \u26a1</h3>\n \n **MotionEye Interface: IP:8765**\n \n \u2699\ufe0f **Initial Login**\n \n **username** <code class="highlighter-rouge">admin</code>\n \n **password** <code class="highlighter-rouge"> </code>'},{category:"Miscellaneous",title:"Hyperion LXC",content:'<p align="center"><img src="https://github.com/hyperion-project/hyperion.ng/raw/master/doc/logo_dark.png?raw=true" height="100"/></p>\n\n<h1 align="center" id="heading"> Hyperion LXC </h1>\n\nHyperion is an opensource Ambient Lighting implementation. It supports many LED devices and video grabbers.\n\nTo create a new Proxmox Hyperion LXC, run the command below in the <b>Proxmox Shell</b>.\n\n~~~bash\nbash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/hyperion-v5.sh)"\n~~~\n\n<h3 align="center" id="heading">\u26a1 Default Settings: 512MiB RAM - 2GB Storage - 1vCPU \u26a1</h3>\n\n**Hyperion Interface: IP:8090**'}]};function b(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function E(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function y(e,t,n){return t&&E(e.prototype,t),n&&E(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}var T=n(5586);function S(e,t){return S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},S(e,t)}function v(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&S(e,t)}function A(e){return A=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},A(e)}function _(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function k(e){return k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},k(e)}function C(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function w(e,t){if(t&&("object"===k(t)||"function"===typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return C(e)}function N(e){var t=_();return function(){var n,r=A(e);if(t){var a=A(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return w(this,n)}}function I(e,t,n){return I=_()?Reflect.construct.bind():function(e,t,n){var r=[null];r.push.apply(r,t);var a=new(Function.bind.apply(e,r));return n&&S(a,n.prototype),a},I.apply(null,arguments)}function R(e){var t="function"===typeof Map?new Map:void 0;return R=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!==typeof e)throw new TypeError("Super expression must either be null or a function");if("undefined"!==typeof t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return I(e,arguments,A(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),S(r,e)},R(e)}function x(e){return e&&"object"===typeof e?"position"in e||"type"in e?L(e.position):"start"in e||"end"in e?L(e):"line"in e||"column"in e?O(e):"":""}function O(e){return P(e&&e.line)+":"+P(e&&e.column)}function L(e){return O(e&&e.start)+"-"+O(e&&e.end)}function P(e){return e&&"number"===typeof e?e:1}var D=function(e){v(n,e);var t=N(n);function n(e,r,a){var i;b(this,n);var o=[null,null],s={start:{line:null,column:null},end:{line:null,column:null}};if(i=t.call(this),"string"===typeof r&&(a=r,r=void 0),"string"===typeof a){var l=a.indexOf(":");-1===l?o[1]=a:(o[0]=a.slice(0,l),o[1]=a.slice(l+1))}return r&&("type"in r||"position"in r?r.position&&(s=r.position):"start"in r||"end"in r?s=r:("line"in r||"column"in r)&&(s.start=r)),i.name=x(r)||"1:1",i.message="object"===typeof e?e.message:e,i.stack="object"===typeof e?e.stack:"",i.reason=i.message,i.fatal,i.line=s.start.line,i.column=s.start.column,i.source=o[0],i.ruleId=o[1],i.position=s,i.actual,i.expected,i.file,i.url,i.note,i}return y(n)}(R(Error));D.prototype.file="",D.prototype.name="",D.prototype.reason="",D.prototype.message="",D.prototype.stack="",D.prototype.fatal=null,D.prototype.column=null,D.prototype.line=null,D.prototype.source=null,D.prototype.ruleId=null,D.prototype.position=null;var M={basename:function(e,t){if(void 0!==t&&"string"!==typeof t)throw new TypeError('"ext" argument must be a string');U(e);var n,r=0,a=-1,i=e.length;if(void 0===t||0===t.length||t.length>e.length){for(;i--;)if(47===e.charCodeAt(i)){if(n){r=i+1;break}}else a<0&&(n=!0,a=i+1);return a<0?"":e.slice(r,a)}if(t===e)return"";var o=-1,s=t.length-1;for(;i--;)if(47===e.charCodeAt(i)){if(n){r=i+1;break}}else o<0&&(n=!0,o=i+1),s>-1&&(e.charCodeAt(i)===t.charCodeAt(s--)?s<0&&(a=i):(s=-1,a=o));r===a?a=o:a<0&&(a=e.length);return e.slice(r,a)},dirname:function(e){if(U(e),0===e.length)return".";var t,n=-1,r=e.length;for(;--r;)if(47===e.charCodeAt(r)){if(t){n=r;break}}else t||(t=!0);return n<0?47===e.charCodeAt(0)?"/":".":1===n&&47===e.charCodeAt(0)?"//":e.slice(0,n)},extname:function(e){U(e);var t,n=e.length,r=-1,a=0,i=-1,o=0;for(;n--;){var s=e.charCodeAt(n);if(47!==s)r<0&&(t=!0,r=n+1),46===s?i<0?i=n:1!==o&&(o=1):i>-1&&(o=-1);else if(t){a=n+1;break}}if(i<0||r<0||0===o||1===o&&i===r-1&&i===a+1)return"";return e.slice(i,r)},join:function(){for(var e,t=-1,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];for(;++t<r.length;)U(r[t]),r[t]&&(e=void 0===e?r[t]:e+"/"+r[t]);return void 0===e?".":F(e)},sep:"/"};function F(e){U(e);var t=47===e.charCodeAt(0),n=function(e,t){var n,r,a="",i=0,o=-1,s=0,l=-1;for(;++l<=e.length;){if(l<e.length)n=e.charCodeAt(l);else{if(47===n)break;n=47}if(47===n){if(o===l-1||1===s);else if(o!==l-1&&2===s){if(a.length<2||2!==i||46!==a.charCodeAt(a.length-1)||46!==a.charCodeAt(a.length-2))if(a.length>2){if((r=a.lastIndexOf("/"))!==a.length-1){r<0?(a="",i=0):i=(a=a.slice(0,r)).length-1-a.lastIndexOf("/"),o=l,s=0;continue}}else if(a.length>0){a="",i=0,o=l,s=0;continue}t&&(a=a.length>0?a+"/..":"..",i=2)}else a.length>0?a+="/"+e.slice(o+1,l):a=e.slice(o+1,l),i=l-o-1;o=l,s=0}else 46===n&&s>-1?s++:s=-1}return a}(e,!t);return 0!==n.length||t||(n="."),n.length>0&&47===e.charCodeAt(e.length-1)&&(n+="/"),t?"/"+n:n}function U(e){if("string"!==typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}var B={cwd:function(){return"/"}};function G(e){return null!==e&&"object"===typeof e&&e.href&&e.origin}function H(e){if("string"===typeof e)e=new URL(e);else if(!G(e)){var t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if("file:"!==e.protocol){var n=new TypeError("The URL must be of scheme file");throw n.code="ERR_INVALID_URL_SCHEME",n}return function(e){if(""!==e.hostname){var t=new TypeError('File URL host must be "localhost" or empty on darwin');throw t.code="ERR_INVALID_FILE_URL_HOST",t}var n=e.pathname,r=-1;for(;++r<n.length;)if(37===n.charCodeAt(r)&&50===n.charCodeAt(r+1)){var a=n.charCodeAt(r+2);if(70===a||102===a){var i=new TypeError("File URL path must not include encoded / characters");throw i.code="ERR_INVALID_FILE_URL_PATH",i}}return decodeURIComponent(n)}(e)}var z=["history","path","basename","stem","extname","dirname"],$=function(){function e(t){var n;b(this,e),n=t?"string"===typeof t||T(t)?{value:t}:G(t)?{path:t}:t:{},this.data={},this.messages=[],this.history=[],this.cwd=B.cwd(),this.value,this.stored,this.result,this.map;for(var r,a=-1;++a<z.length;){var i=z[a];i in n&&void 0!==n[i]&&(this[i]="history"===i?p(n[i]):n[i])}for(r in n)z.includes(r)||(this[r]=n[r])}return y(e,[{key:"path",get:function(){return this.history[this.history.length-1]},set:function(e){G(e)&&(e=H(e)),V(e,"path"),this.path!==e&&this.history.push(e)}},{key:"dirname",get:function(){return"string"===typeof this.path?M.dirname(this.path):void 0},set:function(e){W(this.basename,"dirname"),this.path=M.join(e||"",this.basename)}},{key:"basename",get:function(){return"string"===typeof this.path?M.basename(this.path):void 0},set:function(e){V(e,"basename"),j(e,"basename"),this.path=M.join(this.dirname||"",e)}},{key:"extname",get:function(){return"string"===typeof this.path?M.extname(this.path):void 0},set:function(e){if(j(e,"extname"),W(this.dirname,"extname"),e){if(46!==e.charCodeAt(0))throw new Error("`extname` must start with `.`");if(e.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=M.join(this.dirname,this.stem+(e||""))}},{key:"stem",get:function(){return"string"===typeof this.path?M.basename(this.path,this.extname):void 0},set:function(e){V(e,"stem"),j(e,"stem"),this.path=M.join(this.dirname||"",e+(this.extname||""))}},{key:"toString",value:function(e){return(this.value||"").toString(e)}},{key:"message",value:function(e,t,n){var r=new D(e,t,n);return this.path&&(r.name=this.path+":"+r.name,r.file=this.path),r.fatal=!1,this.messages.push(r),r}},{key:"info",value:function(e,t,n){var r=this.message(e,t,n);return r.fatal=null,r}},{key:"fail",value:function(e,t,n){var r=this.message(e,t,n);throw r.fatal=!0,r}}]),e}();function j(e,t){if(e&&e.includes(M.sep))throw new Error("`"+t+"` cannot be a path: did not expect `"+M.sep+"`")}function V(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function W(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}function K(e){return m(e)||u(e)||d(e)||f()}function q(e){if(e)throw e}var Y=n(1132);function X(e){if("object"!==typeof e||null===e)return!1;var t=Object.getPrototypeOf(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function Z(e,t){var n;return function(){for(var t=arguments.length,i=new Array(t),o=0;o<t;o++)i[o]=arguments[o];var s,l=e.length>i.length;l&&i.push(r);try{s=e.apply(this,i)}catch(u){var c=u;if(l&&n)throw c;return r(c)}l||(s instanceof Promise?s.then(a,r):s instanceof Error?r(s):a(s))};function r(e){if(!n){n=!0;for(var r=arguments.length,a=new Array(r>1?r-1:0),i=1;i<r;i++)a[i-1]=arguments[i];t.apply(void 0,[e].concat(a))}}function a(e){r(null,e)}}var Q=function e(){var t,n=function(){var e=[],t={run:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];var a=-1,i=n.pop();if("function"!==typeof i)throw new TypeError("Expected function as last argument, not "+i);function o(t){var r=e[++a],s=-1;if(t)i(t);else{for(var l=arguments.length,c=new Array(l>1?l-1:0),u=1;u<l;u++)c[u-1]=arguments[u];for(;++s<n.length;)null!==c[s]&&void 0!==c[s]||(c[s]=n[s]);n=c,r?Z(r,o).apply(void 0,c):i.apply(void 0,[null].concat(c))}}o.apply(void 0,[null].concat(p(n)))},use:function(n){if("function"!==typeof n)throw new TypeError("Expected `middelware` to be a function, not "+n);return e.push(n),t}};return t}(),r=[],a={},i=-1;return o.data=function(e,n){if("string"===typeof e)return 2===arguments.length?(re("data",t),a[e]=n,o):J.call(a,e)&&a[e]||null;if(e)return re("data",t),a=e,o;return a},o.Parser=void 0,o.Compiler=void 0,o.freeze=function(){if(t)return o;for(;++i<r.length;){var e=K(r[i]),a=e[0],s=e.slice(1);if(!1!==s[0]){!0===s[0]&&(s[0]=void 0);var l=a.call.apply(a,[o].concat(p(s)));"function"===typeof l&&n.use(l)}}return t=!0,i=Number.POSITIVE_INFINITY,o},o.attachers=r,o.use=function(e){for(var n=arguments.length,i=new Array(n>1?n-1:0),s=1;s<n;s++)i[s-1]=arguments[s];var l;if(re("use",t),null===e||void 0===e);else if("function"===typeof e)m.apply(void 0,[e].concat(i));else{if("object"!==typeof e)throw new TypeError("Expected usable value, not `"+e+"`");Array.isArray(e)?d(e):u(e)}l&&(a.settings=Object.assign(a.settings||{},l));return o;function c(e){if("function"===typeof e)m(e);else{if("object"!==typeof e)throw new TypeError("Expected usable value, not `"+e+"`");if(Array.isArray(e)){var t=K(e),n=t[0],r=t.slice(1);m.apply(void 0,[n].concat(p(r)))}else u(e)}}function u(e){d(e.plugins),e.settings&&(l=Object.assign(l||{},e.settings))}function d(e){var t=-1;if(null===e||void 0===e);else{if(!Array.isArray(e))throw new TypeError("Expected a list of plugins, not `"+e+"`");for(;++t<e.length;){c(e[t])}}}function m(e,t){for(var n,a=-1;++a<r.length;)if(r[a][0]===e){n=r[a];break}n?(X(n[1])&&X(t)&&(t=Y(!0,n[1],t)),n[1]=t):r.push(Array.prototype.slice.call(arguments))}},o.parse=function(e){o.freeze();var t=oe(e),n=o.Parser;if(te("parse",n),ee(n,"parse"))return new n(String(t),t).parse();return n(String(t),t)},o.stringify=function(e,t){o.freeze();var n=oe(t),r=o.Compiler;if(ne("stringify",r),ae(e),ee(r,"compile"))return new r(e,n).compile();return r(e,n)},o.run=function(e,t,r){ae(e),o.freeze(),r||"function"!==typeof t||(r=t,t=void 0);if(!r)return new Promise(a);function a(a,i){function o(t,n,o){n=n||e,t?i(t):a?a(n):r(null,n,o)}n.run(e,oe(t),o)}a(null,r)},o.runSync=function(e,t){var n,r;return o.run(e,t,a),ie("runSync","run",r),n;function a(e,t){q(e),n=t,r=!0}},o.process=function(e,t){if(o.freeze(),te("process",o.Parser),ne("process",o.Compiler),!t)return new Promise(n);function n(n,r){var a=oe(e);function i(e,a){e||!a?r(e):n?n(a):t(null,a)}o.run(o.parse(a),a,(function(e,t,n){if(!e&&t&&n){var r=o.stringify(t,n);void 0===r||null===r||("string"===typeof(a=r)||T(a)?n.value=r:n.result=r),i(e,n)}else i(e);var a}))}n(null,t)},o.processSync=function(e){var t;o.freeze(),te("processSync",o.Parser),ne("processSync",o.Compiler);var n=oe(e);return o.process(n,r),ie("processSync","process",t),n;function r(e){t=!0,q(e)}},o;function o(){for(var t=e(),n=-1;++n<r.length;)t.use.apply(t,p(r[n]));return t.data(Y(!0,{},a)),t}}().freeze(),J={}.hasOwnProperty;function ee(e,t){return"function"===typeof e&&e.prototype&&(function(e){var t;for(t in e)if(J.call(e,t))return!0;return!1}(e.prototype)||t in e.prototype)}function te(e,t){if("function"!==typeof t)throw new TypeError("Cannot `"+e+"` without `Parser`")}function ne(e,t){if("function"!==typeof t)throw new TypeError("Cannot `"+e+"` without `Compiler`")}function re(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function ae(e){if(!X(e)||"string"!==typeof e.type)throw new TypeError("Expected node, got `"+e+"`")}function ie(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function oe(e){return function(e){return Boolean(e&&"object"===typeof e&&"message"in e&&"messages"in e)}(e)?e:new $(e)}function se(e,t){var n=(t||{}).includeImageAlt;return le(e,void 0===n||n)}function le(e,t){return e&&"object"===typeof e&&(e.value||(t?e.alt:"")||"children"in e&&ce(e.children,t)||Array.isArray(e)&&ce(e,t))||""}function ce(e,t){for(var n=[],r=-1;++r<e.length;)n[r]=le(e[r],t);return n.join("")}function ue(e,t,n,r){var a,i=e.length,o=0;if(t=t<0?-t>i?0:i+t:t>i?i:t,n=n>0?n:0,r.length<1e4)(a=Array.from(r)).unshift(t,n),[].splice.apply(e,a);else for(n&&[].splice.apply(e,[t,n]);o<r.length;)(a=r.slice(o,o+1e4)).unshift(t,0),[].splice.apply(e,a),o+=1e4,t+=1e4}function de(e,t){return e.length>0?(ue(e,e.length,0,t),e):t}var pe={}.hasOwnProperty;function me(e){for(var t={},n=-1;++n<e.length;)fe(t,e[n]);return t}function fe(e,t){var n;for(n in t){var r=(pe.call(e,n)?e[n]:void 0)||(e[n]={}),a=t[n],i=void 0;for(i in a){pe.call(r,i)||(r[i]=[]);var o=a[i];ge(r[i],Array.isArray(o)?o:o?[o]:[])}}}function ge(e,t){for(var n=-1,r=[];++n<t.length;)("after"===t[n].add?e:r).push(t[n]);ue(e,0,0,r)}var he=Ne(/[A-Za-z]/),be=Ne(/\d/),Ee=Ne(/[\dA-Fa-f]/),ye=Ne(/[\dA-Za-z]/),Te=Ne(/[!-/:-@[-`{-~]/),Se=Ne(/[#-'*+\--9=?A-Z^-~]/);function ve(e){return null!==e&&(e<32||127===e)}function Ae(e){return null!==e&&(e<0||32===e)}function _e(e){return null!==e&&e<-2}function ke(e){return-2===e||-1===e||32===e}var Ce=Ne(/\s/),we=Ne(/[!-/:-@[-`{-~\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/);function Ne(e){return function(t){return null!==t&&e.test(String.fromCharCode(t))}}function Ie(e,t,n,r){var a=r?r-1:Number.POSITIVE_INFINITY,i=0;return function(r){if(ke(r))return e.enter(n),o(r);return t(r)};function o(r){return ke(r)&&i++<a?(e.consume(r),o):(e.exit(n),t(r))}}var Re={tokenize:function(e){var t,n=e.attempt(this.parser.constructs.contentInitial,(function(t){if(null===t)return void e.consume(t);return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),Ie(e,n,"linePrefix")}),(function(t){return e.enter("paragraph"),r(t)}));return n;function r(n){var r=e.enter("chunkText",{contentType:"text",previous:t});return t&&(t.next=r),t=r,a(n)}function a(t){return null===t?(e.exit("chunkText"),e.exit("paragraph"),void e.consume(t)):_e(t)?(e.consume(t),e.exit("chunkText"),r):(e.consume(t),a)}}};var xe={tokenize:function(e){var t,n,r,a=this,i=[],o=0;return s;function s(t){if(o<i.length){var n=i[o];return a.containerState=n[1],e.attempt(n[0].continuation,l,c)(t)}return c(t)}function l(e){if(o++,a.containerState._closeFlow){a.containerState._closeFlow=void 0,t&&E();for(var n,r=a.events.length,i=r;i--;)if("exit"===a.events[i][0]&&"chunkFlow"===a.events[i][1].type){n=a.events[i][1].end;break}b(o);for(var l=r;l<a.events.length;)a.events[l][1].end=Object.assign({},n),l++;return ue(a.events,i+1,0,a.events.slice(r)),a.events.length=l,c(e)}return s(e)}function c(n){if(o===i.length){if(!t)return p(n);if(t.currentConstruct&&t.currentConstruct.concrete)return f(n);a.interrupt=Boolean(t.currentConstruct&&!t._gfmTableDynamicInterruptHack)}return a.containerState={},e.check(Oe,u,d)(n)}function u(e){return t&&E(),b(o),p(e)}function d(e){return a.parser.lazy[a.now().line]=o!==i.length,r=a.now().offset,f(e)}function p(t){return a.containerState={},e.attempt(Oe,m,f)(t)}function m(e){return o++,i.push([a.currentConstruct,a.containerState]),p(e)}function f(r){return null===r?(t&&E(),b(0),void e.consume(r)):(t=t||a.parser.flow(a.now()),e.enter("chunkFlow",{contentType:"flow",previous:n,_tokenizer:t}),g(r))}function g(t){return null===t?(h(e.exit("chunkFlow"),!0),b(0),void e.consume(t)):_e(t)?(e.consume(t),h(e.exit("chunkFlow")),o=0,a.interrupt=void 0,s):(e.consume(t),g)}function h(e,i){var s=a.sliceStream(e);if(i&&s.push(null),e.previous=n,n&&(n.next=e),n=e,t.defineSkip(e.start),t.write(s),a.parser.lazy[e.start.line]){for(var l=t.events.length;l--;)if(t.events[l][1].start.offset<r&&(!t.events[l][1].end||t.events[l][1].end.offset>r))return;for(var c,u,d=a.events.length,p=d;p--;)if("exit"===a.events[p][0]&&"chunkFlow"===a.events[p][1].type){if(c){u=a.events[p][1].end;break}c=!0}for(b(o),l=d;l<a.events.length;)a.events[l][1].end=Object.assign({},u),l++;ue(a.events,p+1,0,a.events.slice(d)),a.events.length=l}}function b(t){for(var n=i.length;n-- >t;){var r=i[n];a.containerState=r[1],r[0].exit.call(a,e)}i.length=t}function E(){t.write([null]),n=void 0,t=void 0,a.containerState._closeFlow=void 0}}},Oe={tokenize:function(e,t,n){return Ie(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}};var Le={tokenize:function(e,t,n){return Ie(e,(function(e){return null===e||_e(e)?t(e):n(e)}),"linePrefix")},partial:!0};function Pe(e){for(var t,n,r,a,i,o,s,l={},c=-1;++c<e.length;){for(;c in l;)c=l[c];if(t=e[c],c&&"chunkFlow"===t[1].type&&"listItemPrefix"===e[c-1][1].type&&((r=0)<(o=t[1]._tokenizer.events).length&&"lineEndingBlank"===o[r][1].type&&(r+=2),r<o.length&&"content"===o[r][1].type))for(;++r<o.length&&"content"!==o[r][1].type;)"chunkText"===o[r][1].type&&(o[r][1]._isInFirstContentOfListItem=!0,r++);if("enter"===t[0])t[1].contentType&&(Object.assign(l,De(e,c)),c=l[c],s=!0);else if(t[1]._container){for(r=c,n=void 0;r--&&("lineEnding"===(a=e[r])[1].type||"lineEndingBlank"===a[1].type);)"enter"===a[0]&&(n&&(e[n][1].type="lineEndingBlank"),a[1].type="lineEnding",n=r);n&&(t[1].end=Object.assign({},e[n][1].start),(i=e.slice(n,c)).unshift(t),ue(e,n,c-n+1,i))}}return!s}function De(e,t){for(var n,r,a=e[t][1],i=e[t][2],o=t-1,s=[],l=a._tokenizer||i.parser[a.contentType](a.start),c=l.events,u=[],d={},p=-1,m=a,f=0,g=0,h=[g];m;){for(;e[++o][1]!==m;);s.push(o),m._tokenizer||(n=i.sliceStream(m),m.next||n.push(null),r&&l.defineSkip(m.start),m._isInFirstContentOfListItem&&(l._gfmTasklistFirstContentOfListItem=!0),l.write(n),m._isInFirstContentOfListItem&&(l._gfmTasklistFirstContentOfListItem=void 0)),r=m,m=m.next}for(m=a;++p<c.length;)"exit"===c[p][0]&&"enter"===c[p-1][0]&&c[p][1].type===c[p-1][1].type&&c[p][1].start.line!==c[p][1].end.line&&(g=p+1,h.push(g),m._tokenizer=void 0,m.previous=void 0,m=m.next);for(l.events=[],m?(m._tokenizer=void 0,m.previous=void 0):h.pop(),p=h.length;p--;){var b=c.slice(h[p],h[p+1]),E=s.pop();u.unshift([E,E+b.length-1]),ue(e,E,2,b)}for(p=-1;++p<u.length;)d[f+u[p][0]]=f+u[p][1],f+=u[p][1]-u[p][0]-1;return d}var Me={tokenize:function(e,t){var n;return function(t){return e.enter("content"),n=e.enter("chunkContent",{contentType:"content"}),r(t)};function r(t){return null===t?a(t):_e(t)?e.check(Fe,i,a)(t):(e.consume(t),r)}function a(n){return e.exit("chunkContent"),e.exit("content"),t(n)}function i(t){return e.consume(t),e.exit("chunkContent"),n.next=e.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,r}},resolve:function(e){return Pe(e),e}},Fe={tokenize:function(e,t,n){var r=this;return function(t){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),Ie(e,a,"linePrefix")};function a(a){if(null===a||_e(a))return n(a);var i=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&i&&"linePrefix"===i[1].type&&i[2].sliceSerialize(i[1],!0).length>=4?t(a):e.interrupt(r.parser.constructs.flow,n,t)(a)}},partial:!0};var Ue={tokenize:function(e){var t=this,n=e.attempt(Le,(function(r){if(null===r)return void e.consume(r);return e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}),e.attempt(this.parser.constructs.flowInitial,r,Ie(e,e.attempt(this.parser.constructs.flow,r,e.attempt(Me,r)),"linePrefix")));return n;function r(r){if(null!==r)return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),t.currentConstruct=void 0,n;e.consume(r)}}};var Be={resolveAll:$e()},Ge=ze("string"),He=ze("text");function ze(e){return{tokenize:function(t){var n=this,r=this.parser.constructs[e],a=t.attempt(r,i,o);return i;function i(e){return l(e)?a(e):o(e)}function o(e){if(null!==e)return t.enter("data"),t.consume(e),s;t.consume(e)}function s(e){return l(e)?(t.exit("data"),a(e)):(t.consume(e),s)}function l(e){if(null===e)return!0;var t=r[e],a=-1;if(t)for(;++a<t.length;){var i=t[a];if(!i.previous||i.previous.call(n,n.previous))return!0}return!1}},resolveAll:$e("text"===e?je:void 0)}}function $e(e){return function(t,n){var r,a=-1;for(;++a<=t.length;)void 0===r?t[a]&&"data"===t[a][1].type&&(r=a,a++):t[a]&&"data"===t[a][1].type||(a!==r+2&&(t[r][1].end=t[a-1][1].end,t.splice(r+2,a-r-2),a=r+2),r=void 0);return e?e(t,n):t}}function je(e,t){for(var n=0;++n<=e.length;)if((n===e.length||"lineEnding"===e[n][1].type)&&"data"===e[n-1][1].type){for(var r=e[n-1][1],a=t.sliceStream(r),i=a.length,o=-1,s=0,l=void 0;i--;){var c=a[i];if("string"===typeof c){for(o=c.length;32===c.charCodeAt(o-1);)s++,o--;if(o)break;o=-1}else if(-2===c)l=!0,s++;else if(-1!==c){i++;break}}if(s){var u={type:n===e.length||l||s<2?"lineSuffix":"hardBreakTrailing",start:{line:r.end.line,column:r.end.column-s,offset:r.end.offset-s,_index:r.start._index+i,_bufferIndex:i?o:r.start._bufferIndex+o},end:Object.assign({},r.end)};r.end=Object.assign({},u.start),r.start.offset===r.end.offset?Object.assign(r,u):(e.splice(n,0,["enter",u,t],["exit",u,t]),n+=2)}n++}return e}function Ve(e,t,n){for(var r=[],a=-1;++a<e.length;){var i=e[a].resolveAll;i&&!r.includes(i)&&(t=i(t,n),r.push(i))}return t}function We(e,t,n){var r=Object.assign(n?Object.assign({},n):{line:1,column:1,offset:0},{_index:0,_bufferIndex:-1}),a={},i=[],o=[],s=[],l={consume:function(e){_e(e)?(r.line++,r.column=1,r.offset+=-3===e?2:1,y()):-1!==e&&(r.column++,r.offset++);r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===o[r._index].length&&(r._bufferIndex=-1,r._index++));c.previous=e,!0},enter:function(e,t){var n=t||{};return n.type=e,n.start=m(),c.events.push(["enter",n,c]),s.push(n),n},exit:function(e){var t=s.pop();return t.end=m(),c.events.push(["exit",t,c]),t},attempt:b((function(e,t){E(e,t.from)})),check:b(h),interrupt:b(h,{interrupt:!0})},c={previous:null,code:null,containerState:{},events:[],parser:e,sliceStream:d,sliceSerialize:function(e,t){return function(e,t){var n,r=-1,a=[];for(;++r<e.length;){var i=e[r],o=void 0;if("string"===typeof i)o=i;else switch(i){case-5:o="\r";break;case-4:o="\n";break;case-3:o="\r\n";break;case-2:o=t?" ":"\t";break;case-1:if(!t&&n)continue;o=" ";break;default:o=String.fromCharCode(i)}n=-2===i,a.push(o)}return a.join("")}(d(e),t)},now:m,defineSkip:function(e){a[e.line]=e.column,y()},write:function(e){if(o=de(o,e),f(),null!==o[o.length-1])return[];return E(t,0),c.events=Ve(i,c.events,c),c.events}},u=t.tokenize.call(c,l);return t.resolveAll&&i.push(t),c;function d(e){return function(e,t){var n,r=t.start._index,a=t.start._bufferIndex,i=t.end._index,o=t.end._bufferIndex;r===i?n=[e[r].slice(a,o)]:(n=e.slice(r,i),a>-1&&(n[0]=n[0].slice(a)),o>0&&n.push(e[i].slice(0,o)));return n}(o,e)}function m(){return Object.assign({},r)}function f(){for(var e;r._index<o.length;){var t=o[r._index];if("string"===typeof t)for(e=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===e&&r._bufferIndex<t.length;)g(t.charCodeAt(r._bufferIndex));else g(t)}}function g(e){void 0,e,u=u(e)}function h(e,t){t.restore()}function b(e,t){return function(n,a,i){var o,u,d,f;return Array.isArray(n)?g(n):"tokenize"in n?g([n]):function(e){return t;function t(t){var n=null!==t&&e[t],r=null!==t&&e.null;return g([].concat(p(Array.isArray(n)?n:n?[n]:[]),p(Array.isArray(r)?r:r?[r]:[])))(t)}}(n);function g(e){return o=e,u=0,0===e.length?i:h(e[u])}function h(e){return function(n){f=function(){var e=m(),t=c.previous,n=c.currentConstruct,a=c.events.length,i=Array.from(s);return{restore:o,from:a};function o(){r=e,c.previous=t,c.currentConstruct=n,c.events.length=a,s=i,y()}}(),d=e,e.partial||(c.currentConstruct=e);if(e.name&&c.parser.constructs.disable.null.includes(e.name))return E(n);return e.tokenize.call(t?Object.assign(Object.create(c),t):c,l,b,E)(n)}}function b(t){return!0,e(d,f),a}function E(e){return!0,f.restore(),++u<o.length?h(o[u]):i}}}function E(e,t){e.resolveAll&&!i.includes(e)&&i.push(e),e.resolve&&ue(c.events,t,c.events.length-t,e.resolve(c.events.slice(t),c)),e.resolveTo&&(c.events=e.resolveTo(c.events,c))}function y(){r.line in a&&r.column<2&&(r.column=a[r.line],r.offset+=a[r.line]-1)}}var Ke={name:"thematicBreak",tokenize:function(e,t,n){var r,a=0;return function(t){return e.enter("thematicBreak"),r=t,i(t)};function i(s){return s===r?(e.enter("thematicBreakSequence"),o(s)):ke(s)?Ie(e,i,"whitespace")(s):a<3||null!==s&&!_e(s)?n(s):(e.exit("thematicBreak"),t(s))}function o(t){return t===r?(e.consume(t),a++,o):(e.exit("thematicBreakSequence"),i(t))}}};var qe={name:"list",tokenize:function(e,t,n){var r=this,a=r.events[r.events.length-1],i=a&&"linePrefix"===a[1].type?a[2].sliceSerialize(a[1],!0).length:0,o=0;return function(t){var a=r.containerState.type||(42===t||43===t||45===t?"listUnordered":"listOrdered");if("listUnordered"===a?!r.containerState.marker||t===r.containerState.marker:be(t)){if(r.containerState.type||(r.containerState.type=a,e.enter(a,{_container:!0})),"listUnordered"===a)return e.enter("listItemPrefix"),42===t||45===t?e.check(Ke,n,l)(t):l(t);if(!r.interrupt||49===t)return e.enter("listItemPrefix"),e.enter("listItemValue"),s(t)}return n(t)};function s(t){return be(t)&&++o<10?(e.consume(t),s):(!r.interrupt||o<2)&&(r.containerState.marker?t===r.containerState.marker:41===t||46===t)?(e.exit("listItemValue"),l(t)):n(t)}function l(t){return e.enter("listItemMarker"),e.consume(t),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||t,e.check(Le,r.interrupt?n:c,e.attempt(Ye,d,u))}function c(e){return r.containerState.initialBlankLine=!0,i++,d(e)}function u(t){return ke(t)?(e.enter("listItemPrefixWhitespace"),e.consume(t),e.exit("listItemPrefixWhitespace"),d):n(t)}function d(n){return r.containerState.size=i+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(n)}},continuation:{tokenize:function(e,t,n){var r=this;return r.containerState._closeFlow=void 0,e.check(Le,a,i);function a(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,Ie(e,t,"listItemIndent",r.containerState.size+1)(n)}function i(n){return r.containerState.furtherBlankLines||!ke(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(Xe,t,o)(n))}function o(a){return r.containerState._closeFlow=!0,r.interrupt=void 0,Ie(e,e.attempt(qe,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}},exit:function(e){e.exit(this.containerState.type)}},Ye={tokenize:function(e,t,n){var r=this;return Ie(e,(function(e){var a=r.events[r.events.length-1];return!ke(e)&&a&&"listItemPrefixWhitespace"===a[1].type?t(e):n(e)}),"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5)},partial:!0},Xe={tokenize:function(e,t,n){var r=this;return Ie(e,(function(e){var a=r.events[r.events.length-1];return a&&"listItemIndent"===a[1].type&&a[2].sliceSerialize(a[1],!0).length===r.containerState.size?t(e):n(e)}),"listItemIndent",r.containerState.size+1)},partial:!0};var Ze={name:"blockQuote",tokenize:function(e,t,n){var r=this;return function(t){if(62===t){var i=r.containerState;return i.open||(e.enter("blockQuote",{_container:!0}),i.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(t),e.exit("blockQuoteMarker"),a}return n(t)};function a(n){return ke(n)?(e.enter("blockQuotePrefixWhitespace"),e.consume(n),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(n))}},continuation:{tokenize:function(e,t,n){return Ie(e,e.attempt(Ze,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}},exit:function(e){e.exit("blockQuote")}};function Qe(e,t,n,r,a,i,o,s,l){var c=l||Number.POSITIVE_INFINITY,u=0;return function(t){if(60===t)return e.enter(r),e.enter(a),e.enter(i),e.consume(t),e.exit(i),d;if(null===t||41===t||ve(t))return n(t);return e.enter(r),e.enter(o),e.enter(s),e.enter("chunkString",{contentType:"string"}),f(t)};function d(n){return 62===n?(e.enter(i),e.consume(n),e.exit(i),e.exit(a),e.exit(r),t):(e.enter(s),e.enter("chunkString",{contentType:"string"}),p(n))}function p(t){return 62===t?(e.exit("chunkString"),e.exit(s),d(t)):null===t||60===t||_e(t)?n(t):(e.consume(t),92===t?m:p)}function m(t){return 60===t||62===t||92===t?(e.consume(t),p):p(t)}function f(a){return 40===a?++u>c?n(a):(e.consume(a),f):41===a?u--?(e.consume(a),f):(e.exit("chunkString"),e.exit(s),e.exit(o),e.exit(r),t(a)):null===a||Ae(a)?u?n(a):(e.exit("chunkString"),e.exit(s),e.exit(o),e.exit(r),t(a)):ve(a)?n(a):(e.consume(a),92===a?g:f)}function g(t){return 40===t||41===t||92===t?(e.consume(t),f):f(t)}}function Je(e,t,n,r,a,i){var o,s=this,l=0;return function(t){return e.enter(r),e.enter(a),e.consume(t),e.exit(a),e.enter(i),c};function c(d){return null===d||91===d||93===d&&!o||94===d&&!l&&"_hiddenFootnoteSupport"in s.parser.constructs||l>999?n(d):93===d?(e.exit(i),e.enter(a),e.consume(d),e.exit(a),e.exit(r),t):_e(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),c):(e.enter("chunkString",{contentType:"string"}),u(d))}function u(t){return null===t||91===t||93===t||_e(t)||l++>999?(e.exit("chunkString"),c(t)):(e.consume(t),o=o||!ke(t),92===t?d:u)}function d(t){return 91===t||92===t||93===t?(e.consume(t),l++,u):u(t)}}function et(e,t,n,r,a,i){var o;return function(t){return e.enter(r),e.enter(a),e.consume(t),e.exit(a),o=40===t?41:t,s};function s(n){return n===o?(e.enter(a),e.consume(n),e.exit(a),e.exit(r),t):(e.enter(i),l(n))}function l(t){return t===o?(e.exit(i),s(o)):null===t?n(t):_e(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),Ie(e,l,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),c(t))}function c(t){return t===o||null===t||_e(t)?(e.exit("chunkString"),l(t)):(e.consume(t),92===t?u:c)}function u(t){return t===o||92===t?(e.consume(t),c):c(t)}}function tt(e,t){var n;return function r(a){if(_e(a))return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),n=!0,r;if(ke(a))return Ie(e,r,n?"linePrefix":"lineSuffix")(a);return t(a)}}function nt(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var rt={name:"definition",tokenize:function(e,t,n){var r,a=this;return function(t){return e.enter("definition"),Je.call(a,e,i,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(t)};function i(t){return r=nt(a.sliceSerialize(a.events[a.events.length-1][1]).slice(1,-1)),58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),tt(e,Qe(e,e.attempt(at,Ie(e,o,"whitespace"),Ie(e,o,"whitespace")),n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString"))):n(t)}function o(i){return null===i||_e(i)?(e.exit("definition"),a.parser.defined.includes(r)||a.parser.defined.push(r),t(i)):n(i)}}},at={tokenize:function(e,t,n){return function(t){return Ae(t)?tt(e,r)(t):n(t)};function r(t){return 34===t||39===t||40===t?et(e,Ie(e,a,"whitespace"),n,"definitionTitle","definitionTitleMarker","definitionTitleString")(t):n(t)}function a(e){return null===e||_e(e)?t(e):n(e)}},partial:!0};var it={name:"codeIndented",tokenize:function(e,t,n){var r=this;return function(t){return e.enter("codeIndented"),Ie(e,a,"linePrefix",5)(t)};function a(e){var t=r.events[r.events.length-1];return t&&"linePrefix"===t[1].type&&t[2].sliceSerialize(t[1],!0).length>=4?i(e):n(e)}function i(t){return null===t?s(t):_e(t)?e.attempt(ot,i,s)(t):(e.enter("codeFlowValue"),o(t))}function o(t){return null===t||_e(t)?(e.exit("codeFlowValue"),i(t)):(e.consume(t),o)}function s(n){return e.exit("codeIndented"),t(n)}}},ot={tokenize:function(e,t,n){var r=this;return a;function a(t){return r.parser.lazy[r.now().line]?n(t):_e(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),a):Ie(e,i,"linePrefix",5)(t)}function i(e){var i=r.events[r.events.length-1];return i&&"linePrefix"===i[1].type&&i[2].sliceSerialize(i[1],!0).length>=4?t(e):_e(e)?a(e):n(e)}},partial:!0};var st={name:"headingAtx",tokenize:function(e,t,n){var r=this,a=0;return function(t){return e.enter("atxHeading"),e.enter("atxHeadingSequence"),i(t)};function i(s){return 35===s&&a++<6?(e.consume(s),i):null===s||Ae(s)?(e.exit("atxHeadingSequence"),r.interrupt?t(s):o(s)):n(s)}function o(n){return 35===n?(e.enter("atxHeadingSequence"),s(n)):null===n||_e(n)?(e.exit("atxHeading"),t(n)):ke(n)?Ie(e,o,"whitespace")(n):(e.enter("atxHeadingText"),l(n))}function s(t){return 35===t?(e.consume(t),s):(e.exit("atxHeadingSequence"),o(t))}function l(t){return null===t||35===t||Ae(t)?(e.exit("atxHeadingText"),o(t)):(e.consume(t),l)}},resolve:function(e,t){var n,r,a=e.length-2,i=3;"whitespace"===e[i][1].type&&(i+=2);a-2>i&&"whitespace"===e[a][1].type&&(a-=2);"atxHeadingSequence"===e[a][1].type&&(i===a-1||a-4>i&&"whitespace"===e[a-2][1].type)&&(a-=i+1===a?2:4);a>i&&(n={type:"atxHeadingText",start:e[i][1].start,end:e[a][1].end},r={type:"chunkText",start:e[i][1].start,end:e[a][1].end,contentType:"text"},ue(e,i,a-i+1,[["enter",n,t],["enter",r,t],["exit",r,t],["exit",n,t]]));return e}};var lt={name:"setextUnderline",tokenize:function(e,t,n){var r,a,i=this,o=i.events.length;for(;o--;)if("lineEnding"!==i.events[o][1].type&&"linePrefix"!==i.events[o][1].type&&"content"!==i.events[o][1].type){a="paragraph"===i.events[o][1].type;break}return function(t){if(!i.parser.lazy[i.now().line]&&(i.interrupt||a))return e.enter("setextHeadingLine"),e.enter("setextHeadingLineSequence"),r=t,s(t);return n(t)};function s(t){return t===r?(e.consume(t),s):(e.exit("setextHeadingLineSequence"),Ie(e,l,"lineSuffix")(t))}function l(r){return null===r||_e(r)?(e.exit("setextHeadingLine"),t(r)):n(r)}},resolveTo:function(e,t){var n,r,a,i=e.length;for(;i--;)if("enter"===e[i][0]){if("content"===e[i][1].type){n=i;break}"paragraph"===e[i][1].type&&(r=i)}else"content"===e[i][1].type&&e.splice(i,1),a||"definition"!==e[i][1].type||(a=i);var o={type:"setextHeading",start:Object.assign({},e[r][1].start),end:Object.assign({},e[e.length-1][1].end)};e[r][1].type="setextHeadingText",a?(e.splice(r,0,["enter",o,t]),e.splice(a+1,0,["exit",e[n][1],t]),e[n][1].end=Object.assign({},e[a][1].end)):e[n][1]=o;return e.push(["exit",o,t]),e}};var ct=["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","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],ut=["pre","script","style","textarea"],dt={name:"htmlFlow",tokenize:function(e,t,n){var r,a,i,o,s,l=this;return function(t){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(t),c};function c(o){return 33===o?(e.consume(o),u):47===o?(e.consume(o),m):63===o?(e.consume(o),r=3,l.interrupt?t:P):he(o)?(e.consume(o),i=String.fromCharCode(o),a=!0,f):n(o)}function u(a){return 45===a?(e.consume(a),r=2,d):91===a?(e.consume(a),r=5,i="CDATA[",o=0,p):he(a)?(e.consume(a),r=4,l.interrupt?t:P):n(a)}function d(r){return 45===r?(e.consume(r),l.interrupt?t:P):n(r)}function p(r){return r===i.charCodeAt(o++)?(e.consume(r),o===i.length?l.interrupt?t:C:p):n(r)}function m(t){return he(t)?(e.consume(t),i=String.fromCharCode(t),f):n(t)}function f(o){return null===o||47===o||62===o||Ae(o)?47!==o&&a&&ut.includes(i.toLowerCase())?(r=1,l.interrupt?t(o):C(o)):ct.includes(i.toLowerCase())?(r=6,47===o?(e.consume(o),g):l.interrupt?t(o):C(o)):(r=7,l.interrupt&&!l.parser.lazy[l.now().line]?n(o):a?b(o):h(o)):45===o||ye(o)?(e.consume(o),i+=String.fromCharCode(o),f):n(o)}function g(r){return 62===r?(e.consume(r),l.interrupt?t:C):n(r)}function h(t){return ke(t)?(e.consume(t),h):_(t)}function b(t){return 47===t?(e.consume(t),_):58===t||95===t||he(t)?(e.consume(t),E):ke(t)?(e.consume(t),b):_(t)}function E(t){return 45===t||46===t||58===t||95===t||ye(t)?(e.consume(t),E):y(t)}function y(t){return 61===t?(e.consume(t),T):ke(t)?(e.consume(t),y):b(t)}function T(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),s=t,S):ke(t)?(e.consume(t),T):(s=null,v(t))}function S(t){return null===t||_e(t)?n(t):t===s?(e.consume(t),A):(e.consume(t),S)}function v(t){return null===t||34===t||39===t||60===t||61===t||62===t||96===t||Ae(t)?y(t):(e.consume(t),v)}function A(e){return 47===e||62===e||ke(e)?b(e):n(e)}function _(t){return 62===t?(e.consume(t),k):n(t)}function k(t){return ke(t)?(e.consume(t),k):null===t||_e(t)?C(t):n(t)}function C(t){return 45===t&&2===r?(e.consume(t),R):60===t&&1===r?(e.consume(t),x):62===t&&4===r?(e.consume(t),D):63===t&&3===r?(e.consume(t),P):93===t&&5===r?(e.consume(t),L):!_e(t)||6!==r&&7!==r?null===t||_e(t)?w(t):(e.consume(t),C):e.check(pt,D,w)(t)}function w(t){return e.exit("htmlFlowData"),N(t)}function N(t){return null===t?M(t):_e(t)?e.attempt({tokenize:I,partial:!0},N,M)(t):(e.enter("htmlFlowData"),C(t))}function I(e,t,n){return function(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),r};function r(e){return l.parser.lazy[l.now().line]?n(e):t(e)}}function R(t){return 45===t?(e.consume(t),P):C(t)}function x(t){return 47===t?(e.consume(t),i="",O):C(t)}function O(t){return 62===t&&ut.includes(i.toLowerCase())?(e.consume(t),D):he(t)&&i.length<8?(e.consume(t),i+=String.fromCharCode(t),O):C(t)}function L(t){return 93===t?(e.consume(t),P):C(t)}function P(t){return 62===t?(e.consume(t),D):45===t&&2===r?(e.consume(t),P):C(t)}function D(t){return null===t||_e(t)?(e.exit("htmlFlowData"),M(t)):(e.consume(t),D)}function M(n){return e.exit("htmlFlow"),t(n)}},resolveTo:function(e){var t=e.length;for(;t--&&("enter"!==e[t][0]||"htmlFlow"!==e[t][1].type););t>1&&"linePrefix"===e[t-2][1].type&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2));return e},concrete:!0},pt={tokenize:function(e,t,n){return function(r){return e.exit("htmlFlowData"),e.enter("lineEndingBlank"),e.consume(r),e.exit("lineEndingBlank"),e.attempt(Le,t,n)}},partial:!0};var mt={name:"codeFenced",tokenize:function(e,t,n){var r,a=this,i={tokenize:function(e,t,n){var a=0;return Ie(e,i,"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4);function i(t){return e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),o(t)}function o(t){return t===r?(e.consume(t),a++,o):a<c?n(t):(e.exit("codeFencedFenceSequence"),Ie(e,s,"whitespace")(t))}function s(r){return null===r||_e(r)?(e.exit("codeFencedFence"),t(r)):n(r)}},partial:!0},o={tokenize:function(e,t,n){var r=this;return a;function a(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),i}function i(e){return r.parser.lazy[r.now().line]?n(e):t(e)}},partial:!0},s=this.events[this.events.length-1],l=s&&"linePrefix"===s[1].type?s[2].sliceSerialize(s[1],!0).length:0,c=0;return function(t){return e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),r=t,u(t)};function u(t){return t===r?(e.consume(t),c++,u):(e.exit("codeFencedFenceSequence"),c<3?n(t):Ie(e,d,"whitespace")(t))}function d(t){return null===t||_e(t)?g(t):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),p(t))}function p(t){return null===t||Ae(t)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),Ie(e,m,"whitespace")(t)):96===t&&t===r?n(t):(e.consume(t),p)}function m(t){return null===t||_e(t)?g(t):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),f(t))}function f(t){return null===t||_e(t)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),g(t)):96===t&&t===r?n(t):(e.consume(t),f)}function g(n){return e.exit("codeFencedFence"),a.interrupt?t(n):h(n)}function h(t){return null===t?E(t):_e(t)?e.attempt(o,e.attempt(i,E,l?Ie(e,h,"linePrefix",l+1):h),E)(t):(e.enter("codeFlowValue"),b(t))}function b(t){return null===t||_e(t)?(e.exit("codeFlowValue"),h(t)):(e.consume(t),b)}function E(n){return e.exit("codeFenced"),t(n)}},concrete:!0};var ft=document.createElement("i");function gt(e){var t="&"+e+";";ft.innerHTML=t;var n=ft.textContent;return(59!==n.charCodeAt(n.length-1)||"semi"===e)&&(n!==t&&n)}var ht={name:"characterReference",tokenize:function(e,t,n){var r,a,i=this,o=0;return function(t){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(t),e.exit("characterReferenceMarker"),s};function s(t){return 35===t?(e.enter("characterReferenceMarkerNumeric"),e.consume(t),e.exit("characterReferenceMarkerNumeric"),l):(e.enter("characterReferenceValue"),r=31,a=ye,c(t))}function l(t){return 88===t||120===t?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(t),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),r=6,a=Ee,c):(e.enter("characterReferenceValue"),r=7,a=be,c(t))}function c(s){var l;return 59===s&&o?(l=e.exit("characterReferenceValue"),a!==ye||gt(i.sliceSerialize(l))?(e.enter("characterReferenceMarker"),e.consume(s),e.exit("characterReferenceMarker"),e.exit("characterReference"),t):n(s)):a(s)&&o++<r?(e.consume(s),c):n(s)}}};var bt={name:"characterEscape",tokenize:function(e,t,n){return function(t){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(t),e.exit("escapeMarker"),r};function r(r){return Te(r)?(e.enter("characterEscapeValue"),e.consume(r),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(r)}}};var Et={name:"lineEnding",tokenize:function(e,t){return function(n){return e.enter("lineEnding"),e.consume(n),e.exit("lineEnding"),Ie(e,t,"linePrefix")}}};var yt={name:"labelEnd",tokenize:function(e,t,n){var r,a,i=this,o=i.events.length;for(;o--;)if(("labelImage"===i.events[o][1].type||"labelLink"===i.events[o][1].type)&&!i.events[o][1]._balanced){r=i.events[o][1];break}return function(t){if(!r)return n(t);return r._inactive?l(t):(a=i.parser.defined.includes(nt(i.sliceSerialize({start:r.end,end:i.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelEnd"),s)};function s(n){return 40===n?e.attempt(Tt,t,a?t:l)(n):91===n?e.attempt(St,t,a?e.attempt(vt,t,l):l)(n):a?t(n):l(n)}function l(e){return r._balanced=!0,n(e)}},resolveTo:function(e,t){var n,r,a,i,o=e.length,s=0;for(;o--;)if(n=e[o][1],r){if("link"===n.type||"labelLink"===n.type&&n._inactive)break;"enter"===e[o][0]&&"labelLink"===n.type&&(n._inactive=!0)}else if(a){if("enter"===e[o][0]&&("labelImage"===n.type||"labelLink"===n.type)&&!n._balanced&&(r=o,"labelLink"!==n.type)){s=2;break}}else"labelEnd"===n.type&&(a=o);var l={type:"labelLink"===e[r][1].type?"link":"image",start:Object.assign({},e[r][1].start),end:Object.assign({},e[e.length-1][1].end)},c={type:"label",start:Object.assign({},e[r][1].start),end:Object.assign({},e[a][1].end)},u={type:"labelText",start:Object.assign({},e[r+s+2][1].end),end:Object.assign({},e[a-2][1].start)};return i=de(i=[["enter",l,t],["enter",c,t]],e.slice(r+1,r+s+3)),i=de(i,[["enter",u,t]]),i=de(i,Ve(t.parser.constructs.insideSpan.null,e.slice(r+s+4,a-3),t)),i=de(i,[["exit",u,t],e[a-2],e[a-1],["exit",c,t]]),i=de(i,e.slice(a+1)),i=de(i,[["exit",l,t]]),ue(e,r,e.length,i),e},resolveAll:function(e){var t,n=-1;for(;++n<e.length;)"labelImage"!==(t=e[n][1]).type&&"labelLink"!==t.type&&"labelEnd"!==t.type||(e.splice(n+1,"labelImage"===t.type?4:2),t.type="data",n++);return e}},Tt={tokenize:function(e,t,n){return function(t){return e.enter("resource"),e.enter("resourceMarker"),e.consume(t),e.exit("resourceMarker"),tt(e,r)};function r(t){return 41===t?o(t):Qe(e,a,n,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(t)}function a(t){return Ae(t)?tt(e,i)(t):o(t)}function i(t){return 34===t||39===t||40===t?et(e,tt(e,o),n,"resourceTitle","resourceTitleMarker","resourceTitleString")(t):o(t)}function o(r){return 41===r?(e.enter("resourceMarker"),e.consume(r),e.exit("resourceMarker"),e.exit("resource"),t):n(r)}}},St={tokenize:function(e,t,n){var r=this;return function(t){return Je.call(r,e,a,n,"reference","referenceMarker","referenceString")(t)};function a(e){return r.parser.defined.includes(nt(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(e):n(e)}}},vt={tokenize:function(e,t,n){return function(t){return e.enter("reference"),e.enter("referenceMarker"),e.consume(t),e.exit("referenceMarker"),r};function r(r){return 93===r?(e.enter("referenceMarker"),e.consume(r),e.exit("referenceMarker"),e.exit("reference"),t):n(r)}}};var At={name:"labelStartImage",tokenize:function(e,t,n){var r=this;return function(t){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(t),e.exit("labelImageMarker"),a};function a(t){return 91===t?(e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelImage"),i):n(t)}function i(e){return 94===e&&"_hiddenFootnoteSupport"in r.parser.constructs?n(e):t(e)}},resolveAll:yt.resolveAll};function _t(e){return null===e||Ae(e)||Ce(e)?1:we(e)?2:void 0}var kt={name:"attention",tokenize:function(e,t){var n,r=this.parser.constructs.attentionMarkers.null,a=this.previous,i=_t(a);return function(t){return e.enter("attentionSequence"),n=t,o(t)};function o(s){if(s===n)return e.consume(s),o;var l=e.exit("attentionSequence"),c=_t(s),u=!c||2===c&&i||r.includes(s),d=!i||2===i&&c||r.includes(a);return l._open=Boolean(42===n?u:u&&(i||!d)),l._close=Boolean(42===n?d:d&&(c||!u)),t(s)}},resolveAll:function(e,t){var n,r,a,i,o,s,l,c,u=-1;for(;++u<e.length;)if("enter"===e[u][0]&&"attentionSequence"===e[u][1].type&&e[u][1]._close)for(n=u;n--;)if("exit"===e[n][0]&&"attentionSequence"===e[n][1].type&&e[n][1]._open&&t.sliceSerialize(e[n][1]).charCodeAt(0)===t.sliceSerialize(e[u][1]).charCodeAt(0)){if((e[n][1]._close||e[u][1]._open)&&(e[u][1].end.offset-e[u][1].start.offset)%3&&!((e[n][1].end.offset-e[n][1].start.offset+e[u][1].end.offset-e[u][1].start.offset)%3))continue;s=e[n][1].end.offset-e[n][1].start.offset>1&&e[u][1].end.offset-e[u][1].start.offset>1?2:1;var d=Object.assign({},e[n][1].end),p=Object.assign({},e[u][1].start);Ct(d,-s),Ct(p,s),i={type:s>1?"strongSequence":"emphasisSequence",start:d,end:Object.assign({},e[n][1].end)},o={type:s>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[u][1].start),end:p},a={type:s>1?"strongText":"emphasisText",start:Object.assign({},e[n][1].end),end:Object.assign({},e[u][1].start)},r={type:s>1?"strong":"emphasis",start:Object.assign({},i.start),end:Object.assign({},o.end)},e[n][1].end=Object.assign({},i.start),e[u][1].start=Object.assign({},o.end),l=[],e[n][1].end.offset-e[n][1].start.offset&&(l=de(l,[["enter",e[n][1],t],["exit",e[n][1],t]])),l=de(l,[["enter",r,t],["enter",i,t],["exit",i,t],["enter",a,t]]),l=de(l,Ve(t.parser.constructs.insideSpan.null,e.slice(n+1,u),t)),l=de(l,[["exit",a,t],["enter",o,t],["exit",o,t],["exit",r,t]]),e[u][1].end.offset-e[u][1].start.offset?(c=2,l=de(l,[["enter",e[u][1],t],["exit",e[u][1],t]])):c=0,ue(e,n-1,u-n+3,l),u=n+l.length-c-2;break}u=-1;for(;++u<e.length;)"attentionSequence"===e[u][1].type&&(e[u][1].type="data");return e}};function Ct(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}var wt={name:"autolink",tokenize:function(e,t,n){var r=1;return function(t){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(t),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),a};function a(t){return he(t)?(e.consume(t),i):Se(t)?l(t):n(t)}function i(e){return 43===e||45===e||46===e||ye(e)?o(e):l(e)}function o(t){return 58===t?(e.consume(t),s):(43===t||45===t||46===t||ye(t))&&r++<32?(e.consume(t),o):l(t)}function s(t){return 62===t?(e.exit("autolinkProtocol"),p(t)):null===t||32===t||60===t||ve(t)?n(t):(e.consume(t),s)}function l(t){return 64===t?(e.consume(t),r=0,c):Se(t)?(e.consume(t),l):n(t)}function c(e){return ye(e)?u(e):n(e)}function u(t){return 46===t?(e.consume(t),r=0,c):62===t?(e.exit("autolinkProtocol").type="autolinkEmail",p(t)):d(t)}function d(t){return(45===t||ye(t))&&r++<63?(e.consume(t),45===t?d:u):n(t)}function p(n){return e.enter("autolinkMarker"),e.consume(n),e.exit("autolinkMarker"),e.exit("autolink"),t}}};var Nt={name:"htmlText",tokenize:function(e,t,n){var r,a,i,o,s=this;return function(t){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(t),l};function l(t){return 33===t?(e.consume(t),c):47===t?(e.consume(t),v):63===t?(e.consume(t),T):he(t)?(e.consume(t),k):n(t)}function c(t){return 45===t?(e.consume(t),u):91===t?(e.consume(t),a="CDATA[",i=0,g):he(t)?(e.consume(t),y):n(t)}function u(t){return 45===t?(e.consume(t),d):n(t)}function d(t){return null===t||62===t?n(t):45===t?(e.consume(t),p):m(t)}function p(e){return null===e||62===e?n(e):m(e)}function m(t){return null===t?n(t):45===t?(e.consume(t),f):_e(t)?(o=m,L(t)):(e.consume(t),m)}function f(t){return 45===t?(e.consume(t),D):m(t)}function g(t){return t===a.charCodeAt(i++)?(e.consume(t),i===a.length?h:g):n(t)}function h(t){return null===t?n(t):93===t?(e.consume(t),b):_e(t)?(o=h,L(t)):(e.consume(t),h)}function b(t){return 93===t?(e.consume(t),E):h(t)}function E(t){return 62===t?D(t):93===t?(e.consume(t),E):h(t)}function y(t){return null===t||62===t?D(t):_e(t)?(o=y,L(t)):(e.consume(t),y)}function T(t){return null===t?n(t):63===t?(e.consume(t),S):_e(t)?(o=T,L(t)):(e.consume(t),T)}function S(e){return 62===e?D(e):T(e)}function v(t){return he(t)?(e.consume(t),A):n(t)}function A(t){return 45===t||ye(t)?(e.consume(t),A):_(t)}function _(t){return _e(t)?(o=_,L(t)):ke(t)?(e.consume(t),_):D(t)}function k(t){return 45===t||ye(t)?(e.consume(t),k):47===t||62===t||Ae(t)?C(t):n(t)}function C(t){return 47===t?(e.consume(t),D):58===t||95===t||he(t)?(e.consume(t),w):_e(t)?(o=C,L(t)):ke(t)?(e.consume(t),C):D(t)}function w(t){return 45===t||46===t||58===t||95===t||ye(t)?(e.consume(t),w):N(t)}function N(t){return 61===t?(e.consume(t),I):_e(t)?(o=N,L(t)):ke(t)?(e.consume(t),N):C(t)}function I(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),r=t,R):_e(t)?(o=I,L(t)):ke(t)?(e.consume(t),I):(e.consume(t),r=void 0,O)}function R(t){return t===r?(e.consume(t),x):null===t?n(t):_e(t)?(o=R,L(t)):(e.consume(t),R)}function x(e){return 62===e||47===e||Ae(e)?C(e):n(e)}function O(t){return null===t||34===t||39===t||60===t||61===t||96===t?n(t):62===t||Ae(t)?C(t):(e.consume(t),O)}function L(t){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),Ie(e,P,"linePrefix",s.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function P(t){return e.enter("htmlTextData"),o(t)}function D(r){return 62===r?(e.consume(r),e.exit("htmlTextData"),e.exit("htmlText"),t):n(r)}}};var It={name:"labelStartLink",tokenize:function(e,t,n){var r=this;return function(t){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(t),e.exit("labelMarker"),e.exit("labelLink"),a};function a(e){return 94===e&&"_hiddenFootnoteSupport"in r.parser.constructs?n(e):t(e)}},resolveAll:yt.resolveAll};var Rt={name:"hardBreakEscape",tokenize:function(e,t,n){return function(t){return e.enter("hardBreakEscape"),e.enter("escapeMarker"),e.consume(t),r};function r(r){return _e(r)?(e.exit("escapeMarker"),e.exit("hardBreakEscape"),t(r)):n(r)}}};var xt,Ot,Lt,Pt,Dt,Mt={name:"codeText",tokenize:function(e,t,n){var r,a,i=0;return function(t){return e.enter("codeText"),e.enter("codeTextSequence"),o(t)};function o(t){return 96===t?(e.consume(t),i++,o):(e.exit("codeTextSequence"),s(t))}function s(t){return null===t?n(t):96===t?(a=e.enter("codeTextSequence"),r=0,c(t)):32===t?(e.enter("space"),e.consume(t),e.exit("space"),s):_e(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),s):(e.enter("codeTextData"),l(t))}function l(t){return null===t||32===t||96===t||_e(t)?(e.exit("codeTextData"),s(t)):(e.consume(t),l)}function c(n){return 96===n?(e.consume(n),r++,c):r===i?(e.exit("codeTextSequence"),e.exit("codeText"),t(n)):(a.type="codeTextData",l(n))}},resolve:function(e){var t,n,r=e.length-4,a=3;if(("lineEnding"===e[a][1].type||"space"===e[a][1].type)&&("lineEnding"===e[r][1].type||"space"===e[r][1].type))for(t=a;++t<r;)if("codeTextData"===e[t][1].type){e[a][1].type="codeTextPadding",e[r][1].type="codeTextPadding",a+=2,r-=2;break}t=a-1,r++;for(;++t<=r;)void 0===n?t!==r&&"lineEnding"!==e[t][1].type&&(n=t):t!==r&&"lineEnding"!==e[t][1].type||(e[n][1].type="codeTextData",t!==n+2&&(e[n][1].end=e[t-1][1].end,e.splice(n+2,t-n-2),r-=t-n-2,t=n+2),n=void 0);return e},previous:function(e){return 96!==e||"characterEscape"===this.events[this.events.length-1][1].type}};var Ft=(i(xt={},42,qe),i(xt,43,qe),i(xt,45,qe),i(xt,48,qe),i(xt,49,qe),i(xt,50,qe),i(xt,51,qe),i(xt,52,qe),i(xt,53,qe),i(xt,54,qe),i(xt,55,qe),i(xt,56,qe),i(xt,57,qe),i(xt,62,Ze),xt),Ut=i({},91,rt),Bt=(i(Ot={},-2,it),i(Ot,-1,it),i(Ot,32,it),Ot),Gt=(i(Lt={},35,st),i(Lt,42,Ke),i(Lt,45,[lt,Ke]),i(Lt,60,dt),i(Lt,61,lt),i(Lt,95,Ke),i(Lt,96,mt),i(Lt,126,mt),Lt),Ht=(i(Pt={},38,ht),i(Pt,92,bt),Pt),zt=(i(Dt={},-5,Et),i(Dt,-4,Et),i(Dt,-3,Et),i(Dt,33,At),i(Dt,38,ht),i(Dt,42,kt),i(Dt,60,[wt,Nt]),i(Dt,91,It),i(Dt,92,[Rt,bt]),i(Dt,93,yt),i(Dt,95,kt),i(Dt,96,Mt),Dt),$t={null:[kt,Be]},jt={null:[42,95]},Vt={null:[]};var Wt=/[\0\t\n\r]/g;function Kt(e,t){var n=Number.parseInt(e,t);return n<9||11===n||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||65535===(65535&n)||65534===(65535&n)||n>1114111?"\ufffd":String.fromCharCode(n)}var qt=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Yt(e){return e.replace(qt,Xt)}function Xt(e,t,n){if(t)return t;if(35===n.charCodeAt(0)){var r=n.charCodeAt(1),a=120===r||88===r;return Kt(n.slice(a?2:1),a?16:10)}return gt(n)||e}var Zt={}.hasOwnProperty,Qt=function(t,n,r){return"string"!==typeof n&&(r=n,n=void 0),function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Jt({transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:l(ae),autolinkProtocol:N,autolinkEmail:N,atxHeading:l(ee),blockQuote:l(Y),characterEscape:N,characterReference:N,codeFenced:l(X),codeFencedFenceInfo:c,codeFencedFenceMeta:c,codeIndented:l(X,c),codeText:l(Z,c),codeTextData:N,data:N,codeFlowValue:N,definition:l(Q),definitionDestinationString:c,definitionLabelString:c,definitionTitleString:c,emphasis:l(J),hardBreakEscape:l(te),hardBreakTrailing:l(te),htmlFlow:l(ne,c),htmlFlowData:N,htmlText:l(ne,c),htmlTextData:N,image:l(re),label:c,link:l(ae),listItem:l(oe),listItemValue:g,listOrdered:l(ie,f),listUnordered:l(ie),paragraph:l(le),reference:$,referenceString:c,resourceDestinationString:c,resourceTitleString:c,setextHeading:l(ee),strong:l(ce),thematicBreak:l(de)},exit:{atxHeading:d(),atxHeadingSequence:_,autolink:d(),autolinkEmail:q,autolinkProtocol:K,blockQuote:d(),characterEscapeValue:I,characterReferenceMarkerHexadecimal:V,characterReferenceMarkerNumeric:V,characterReferenceValue:W,codeFenced:d(y),codeFencedFence:E,codeFencedFenceInfo:h,codeFencedFenceMeta:b,codeFlowValue:I,codeIndented:d(T),codeText:d(D),codeTextData:I,data:I,definition:d(),definitionDestinationString:A,definitionLabelString:S,definitionTitleString:v,emphasis:d(),hardBreakEscape:d(O),hardBreakTrailing:d(O),htmlFlow:d(L),htmlFlowData:I,htmlText:d(P),htmlTextData:I,image:d(F),label:B,labelText:U,lineEnding:R,link:d(M),listItem:d(),listOrdered:d(),listUnordered:d(),paragraph:d(),referenceString:j,resourceDestinationString:G,resourceTitleString:H,resource:z,setextHeading:d(w),setextHeadingLineSequence:C,setextHeadingText:k,strong:d(),thematicBreak:d()}},e.mdastExtensions||[]),n={};return r;function r(e){for(var n={type:"root",children:[]},r=[],l=[],d={stack:[n],tokenStack:r,config:t,enter:u,exit:p,buffer:c,resume:m,setData:i,getData:o},f=-1;++f<e.length;){if("listOrdered"===e[f][1].type||"listUnordered"===e[f][1].type)if("enter"===e[f][0])l.push(f);else f=a(e,l.pop(),f)}for(f=-1;++f<e.length;){var g=t[e[f][0]];Zt.call(g,e[f][1].type)&&g[e[f][1].type].call(Object.assign({sliceSerialize:e[f][2].sliceSerialize},d),e[f][1])}if(r.length>0){var h=r[r.length-1];(h[1]||tn).call(d,void 0,h[0])}for(n.position={start:s(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:s(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},f=-1;++f<t.transforms.length;)n=t.transforms[f](n)||n;return n}function a(e,t,n){for(var r,a,i,o,s=t-1,l=-1,c=!1;++s<=n;){var u=e[s];if("listUnordered"===u[1].type||"listOrdered"===u[1].type||"blockQuote"===u[1].type?("enter"===u[0]?l++:l--,o=void 0):"lineEndingBlank"===u[1].type?"enter"===u[0]&&(!r||o||l||i||(i=s),o=void 0):"linePrefix"===u[1].type||"listItemValue"===u[1].type||"listItemMarker"===u[1].type||"listItemPrefix"===u[1].type||"listItemPrefixWhitespace"===u[1].type||(o=void 0),!l&&"enter"===u[0]&&"listItemPrefix"===u[1].type||-1===l&&"exit"===u[0]&&("listUnordered"===u[1].type||"listOrdered"===u[1].type)){if(r){var d=s;for(a=void 0;d--;){var p=e[d];if("lineEnding"===p[1].type||"lineEndingBlank"===p[1].type){if("exit"===p[0])continue;a&&(e[a][1].type="lineEndingBlank",c=!0),p[1].type="lineEnding",a=d}else if("linePrefix"!==p[1].type&&"blockQuotePrefix"!==p[1].type&&"blockQuotePrefixWhitespace"!==p[1].type&&"blockQuoteMarker"!==p[1].type&&"listItemIndent"!==p[1].type)break}i&&(!a||i<a)&&(r._spread=!0),r.end=Object.assign({},a?e[a][1].start:u[1].end),e.splice(a||s,0,["exit",r,u[2]]),s++,n++}"listItemPrefix"===u[1].type&&(r={type:"listItem",_spread:!1,start:Object.assign({},u[1].start)},e.splice(s,0,["enter",r,u[2]]),s++,n++,i=void 0,o=!0)}}return e[t][1]._spread=c,n}function i(e,t){n[e]=t}function o(e){return n[e]}function s(e){return{line:e.line,column:e.column,offset:e.offset}}function l(e,t){return n;function n(n){u.call(this,e(n),n),t&&t.call(this,n)}}function c(){this.stack.push({type:"fragment",children:[]})}function u(e,t,n){return this.stack[this.stack.length-1].children.push(e),this.stack.push(e),this.tokenStack.push([t,n]),e.position={start:s(t.start)},e}function d(e){return t;function t(t){e&&e.call(this,t),p.call(this,t)}}function p(e,t){var n=this.stack.pop(),r=this.tokenStack.pop();if(!r)throw new Error("Cannot close `"+e.type+"` ("+x({start:e.start,end:e.end})+"): it\u2019s not open");return r[0].type!==e.type&&(t?t.call(this,e,r[0]):(r[1]||tn).call(this,e,r[0])),n.position.end=s(e.end),n}function m(){return se(this.stack.pop())}function f(){i("expectingFirstListItemValue",!0)}function g(e){o("expectingFirstListItemValue")&&(this.stack[this.stack.length-2].start=Number.parseInt(this.sliceSerialize(e),10),i("expectingFirstListItemValue"))}function h(){var e=this.resume();this.stack[this.stack.length-1].lang=e}function b(){var e=this.resume();this.stack[this.stack.length-1].meta=e}function E(){o("flowCodeInside")||(this.buffer(),i("flowCodeInside",!0))}function y(){var e=this.resume();this.stack[this.stack.length-1].value=e.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),i("flowCodeInside")}function T(){var e=this.resume();this.stack[this.stack.length-1].value=e.replace(/(\r?\n|\r)$/g,"")}function S(e){var t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=nt(this.sliceSerialize(e)).toLowerCase()}function v(){var e=this.resume();this.stack[this.stack.length-1].title=e}function A(){var e=this.resume();this.stack[this.stack.length-1].url=e}function _(e){var t=this.stack[this.stack.length-1];if(!t.depth){var n=this.sliceSerialize(e).length;t.depth=n}}function k(){i("setextHeadingSlurpLineEnding",!0)}function C(e){this.stack[this.stack.length-1].depth=61===this.sliceSerialize(e).charCodeAt(0)?1:2}function w(){i("setextHeadingSlurpLineEnding")}function N(e){var t=this.stack[this.stack.length-1],n=t.children[t.children.length-1];n&&"text"===n.type||((n=ue()).position={start:s(e.start)},t.children.push(n)),this.stack.push(n)}function I(e){var t=this.stack.pop();t.value+=this.sliceSerialize(e),t.position.end=s(e.end)}function R(e){var n=this.stack[this.stack.length-1];if(o("atHardBreak"))return n.children[n.children.length-1].position.end=s(e.end),void i("atHardBreak");!o("setextHeadingSlurpLineEnding")&&t.canContainEols.includes(n.type)&&(N.call(this,e),I.call(this,e))}function O(){i("atHardBreak",!0)}function L(){var e=this.resume();this.stack[this.stack.length-1].value=e}function P(){var e=this.resume();this.stack[this.stack.length-1].value=e}function D(){var e=this.resume();this.stack[this.stack.length-1].value=e}function M(){var e=this.stack[this.stack.length-1];o("inReference")?(e.type+="Reference",e.referenceType=o("referenceType")||"shortcut",delete e.url,delete e.title):(delete e.identifier,delete e.label),i("referenceType")}function F(){var e=this.stack[this.stack.length-1];o("inReference")?(e.type+="Reference",e.referenceType=o("referenceType")||"shortcut",delete e.url,delete e.title):(delete e.identifier,delete e.label),i("referenceType")}function U(e){var t=this.stack[this.stack.length-2],n=this.sliceSerialize(e);t.label=Yt(n),t.identifier=nt(n).toLowerCase()}function B(){var e=this.stack[this.stack.length-1],t=this.resume(),n=this.stack[this.stack.length-1];i("inReference",!0),"link"===n.type?n.children=e.children:n.alt=t}function G(){var e=this.resume();this.stack[this.stack.length-1].url=e}function H(){var e=this.resume();this.stack[this.stack.length-1].title=e}function z(){i("inReference")}function $(){i("referenceType","collapsed")}function j(e){var t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=nt(this.sliceSerialize(e)).toLowerCase(),i("referenceType","full")}function V(e){i("characterReferenceType",e.type)}function W(e){var t,n=this.sliceSerialize(e),r=o("characterReferenceType");r?(t=Kt(n,"characterReferenceMarkerNumeric"===r?10:16),i("characterReferenceType")):t=gt(n);var a=this.stack.pop();a.value+=t,a.position.end=s(e.end)}function K(e){I.call(this,e),this.stack[this.stack.length-1].url=this.sliceSerialize(e)}function q(e){I.call(this,e),this.stack[this.stack.length-1].url="mailto:"+this.sliceSerialize(e)}function Y(){return{type:"blockquote",children:[]}}function X(){return{type:"code",lang:null,meta:null,value:""}}function Z(){return{type:"inlineCode",value:""}}function Q(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function J(){return{type:"emphasis",children:[]}}function ee(){return{type:"heading",depth:void 0,children:[]}}function te(){return{type:"break"}}function ne(){return{type:"html",value:""}}function re(){return{type:"image",title:null,url:"",alt:null}}function ae(){return{type:"link",title:null,url:"",children:[]}}function ie(e){return{type:"list",ordered:"listOrdered"===e.type,start:null,spread:e._spread,children:[]}}function oe(e){return{type:"listItem",spread:e._spread,checked:null,children:[]}}function le(){return{type:"paragraph",children:[]}}function ce(){return{type:"strong",children:[]}}function ue(){return{type:"text",value:""}}function de(){return{type:"thematicBreak"}}}(r)(function(e){for(;!Pe(e););return e}(function(){var t={defined:[],lazy:{},constructs:me([e].concat((arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).extensions||[])),content:n(Re),document:n(xe),flow:n(Ue),string:n(Ge),text:n(He)};return t;function n(e){return function(n){return We(t,e,n)}}}(r).document().write(function(){var e,t=1,n="",r=!0;return function(a,i,o){var s,l,c,u,d,p=[];for(a=n+a.toString(i),c=0,n="",r&&(65279===a.charCodeAt(0)&&c++,r=void 0);c<a.length;){if(Wt.lastIndex=c,u=(s=Wt.exec(a))&&void 0!==s.index?s.index:a.length,d=a.charCodeAt(u),!s){n=a.slice(c);break}if(10===d&&c===u&&e)p.push(-3),e=void 0;else switch(e&&(p.push(-5),e=void 0),c<u&&(p.push(a.slice(c,u)),t+=u-c),d){case 0:p.push(65533),t++;break;case 9:for(l=4*Math.ceil(t/4),p.push(-2);t++<l;)p.push(-1);break;case 10:p.push(-4),t=1;break;default:e=!0,t=1}c=u+1}return o&&(e&&p.push(-5),n&&p.push(n),p.push(null)),p}}()(t,n,!0))))};function Jt(e,t){for(var n=-1;++n<t.length;){var r=t[n];Array.isArray(r)?Jt(e,r):en(e,r)}return e}function en(e,t){var n;for(n in t)if(Zt.call(t,n)){var r="canContainEols"===n||"transforms"===n,a=(Zt.call(e,n)?e[n]:void 0)||(e[n]=r?[]:{}),i=t[n];i&&(r?e[n]=[].concat(p(a),p(i)):Object.assign(a,i))}}function tn(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+x({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+x({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+x({start:t.start,end:t.end})+") is still open")}var nn=function(e){var t=this;Object.assign(this,{Parser:function(n){var r=t.data("settings");return Qt(n,Object.assign({},r,e,{extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]}))}})},rn=function(e,t,n){var r={type:String(e)};return void 0!==n&&null!==n||"string"!==typeof t&&!Array.isArray(t)?Object.assign(r,t):n=t,Array.isArray(n)?r.children=n:void 0!==n&&null!==n&&(r.value=String(n)),r},an=function(e){if(void 0===e||null===e)return ln;if("string"===typeof e)return function(e){return sn(t);function t(t){return t&&t.type===e}}(e);if("object"===typeof e)return Array.isArray(e)?on(e):function(e){return sn(t);function t(t){var n;for(n in e)if(t[n]!==e[n])return!1;return!0}}(e);if("function"===typeof e)return sn(e);throw new Error("Expected function, string, or object as test")};function on(e){for(var t=[],n=-1;++n<e.length;)t[n]=an(e[n]);return sn((function(){for(var e=-1,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];for(;++e<t.length;){var i;if((i=t[e]).call.apply(i,[this].concat(r)))return!0}return!1}))}function sn(e){return function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Boolean(e.call.apply(e,[this].concat(n)))}}function ln(){return!0}var cn=function(e,t,n,r){"function"===typeof t&&"function"!==typeof n&&(r=n,n=t,t=null);var a=an(t),i=r?-1:1;!function e(o,s,l){var c,u="object"===typeof o&&null!==o?o:{};"string"===typeof u.type&&(c="string"===typeof u.tagName?u.tagName:"string"===typeof u.name?u.name:void 0,Object.defineProperty(d,"name",{value:"node ("+u.type+(c?"<"+c+">":"")+")"}));return d;function d(){var c,u,d,p=[];if((!t||a(o,s,l[l.length-1]||null))&&(p=function(e){if(Array.isArray(e))return e;if("number"===typeof e)return[true,e];return[e]}(n(o,l)),false===p[0]))return p;if(o.children&&"skip"!==p[0])for(u=(r?o.children.length:-1)+i,d=l.concat(o);u>-1&&u<o.children.length;){if(c=e(o.children[u],u,d)(),false===c[0])return c;u="number"===typeof c[1]?c[1]:u+i}return p}}(e,null,[])()};var un=function(e,t,n,r){"function"===typeof t&&"function"!==typeof n&&(r=n,n=t,t=null),cn(e,t,(function(e,t){var r=t[t.length-1];return n(e,r?r.children.indexOf(e):null,r)}),r)},dn=mn("start"),pn=mn("end");function mn(e){return function(t){var n=t&&t.position&&t.position[e]||{};return{line:n.line||null,column:n.column||null,offset:n.offset>-1?n.offset:null}}}var fn={}.hasOwnProperty;function gn(e){return String(e||"").toUpperCase()}var hn={}.hasOwnProperty;function bn(e,t){var n=t.data||{};return"value"in t&&!(hn.call(n,"hName")||hn.call(n,"hProperties")||hn.call(n,"hChildren"))?e.augment(t,rn("text",t.value)):e(t,"div",Tn(e,t))}function En(e,t,n){var r,a=t&&t.type;if(!a)throw new Error("Expected node, got `"+t+"`");return("function"===typeof(r=hn.call(e.handlers,a)?e.handlers[a]:e.passThrough&&e.passThrough.includes(a)?yn:e.unknownHandler)?r:bn)(e,t,n)}function yn(e,t){return"children"in t?s(s({},t),{},{children:Tn(e,t)}):t}function Tn(e,t){var n=[];if("children"in t)for(var r=t.children,a=-1;++a<r.length;){var i=En(e,r[a],t);if(i){if(a&&"break"===r[a-1].type&&(Array.isArray(i)||"text"!==i.type||(i.value=i.value.replace(/^\s+/,"")),!Array.isArray(i)&&"element"===i.type)){var o=i.children[0];o&&"text"===o.type&&(o.value=o.value.replace(/^\s+/,""))}Array.isArray(i)?n.push.apply(n,p(i)):n.push(i)}}return n}function Sn(e,t){return e(t,"hr")}function vn(e,t){var n=[],r=-1;for(t&&n.push(rn("text","\n"));++r<e.length;)r&&n.push(rn("text","\n")),n.push(e[r]);return t&&e.length>0&&n.push(rn("text","\n")),n}function An(e,t){var n={},r=t.ordered?"ol":"ul",a=Tn(e,t),i=-1;for("number"===typeof t.start&&1!==t.start&&(n.start=t.start);++i<a.length;){var o=a[i];if("element"===o.type&&"li"===o.tagName&&o.properties&&Array.isArray(o.properties.className)&&o.properties.className.includes("task-list-item")){n.className=["contains-task-list"];break}}return e(t,r,n,vn(a,!0))}function _n(e,t){var n=e.footnoteOrder,r=String(t.identifier),a=n.indexOf(r),i=String(-1===a?n.push(r):a+1);return e(t,"a",{href:"#fn"+i,className:["footnote-ref"],id:"fnref"+i,role:"doc-noteref"},[e(t.position,"sup",[rn("text",i)])])}var kn=n(2366);function Cn(e,t){var n=t.referenceType,r="]";if("collapsed"===n?r+="[]":"full"===n&&(r+="["+(t.label||t.identifier)+"]"),"imageReference"===t.type)return rn("text","!["+t.alt+r);var a=Tn(e,t),i=a[0];i&&"text"===i.type?i.value="["+i.value:a.unshift(rn("text","["));var o=a[a.length-1];return o&&"text"===o.type?o.value+=r:a.push(rn("text",r)),a}function wn(e){var t=e.spread;return void 0===t||null===t?e.children.length>1:t}var Nn={blockquote:function(e,t){return e(t,"blockquote",vn(Tn(e,t),!0))},break:function(e,t){return[e(t,"br"),rn("text","\n")]},code:function(e,t){var n=t.value?t.value+"\n":"",r=t.lang&&t.lang.match(/^[^ \t]+(?=[ \t]|$)/),a={};r&&(a.className=["language-"+r]);var i=e(t,"code",a,[rn("text",n)]);return t.meta&&(i.data={meta:t.meta}),e(t.position,"pre",[i])},delete:function(e,t){return e(t,"del",Tn(e,t))},emphasis:function(e,t){return e(t,"em",Tn(e,t))},footnoteReference:_n,footnote:function(e,t){for(var n=e.footnoteById,r=e.footnoteOrder,a=1;a in n;)a++;var i=String(a);return r.push(i),n[i]={type:"footnoteDefinition",identifier:i,children:[{type:"paragraph",children:t.children}],position:t.position},_n(e,{type:"footnoteReference",identifier:i,position:t.position})},heading:function(e,t){return e(t,"h"+t.depth,Tn(e,t))},html:function(e,t){return e.dangerous?e.augment(t,rn("raw",t.value)):null},imageReference:function(e,t){var n=e.definition(t.identifier);if(!n)return Cn(e,t);var r={src:kn(n.url||""),alt:t.alt};return null!==n.title&&void 0!==n.title&&(r.title=n.title),e(t,"img",r)},image:function(e,t){var n={src:kn(t.url),alt:t.alt};return null!==t.title&&void 0!==t.title&&(n.title=t.title),e(t,"img",n)},inlineCode:function(e,t){return e(t,"code",[rn("text",t.value.replace(/\r?\n|\r/g," "))])},linkReference:function(e,t){var n=e.definition(t.identifier);if(!n)return Cn(e,t);var r={href:kn(n.url||"")};return null!==n.title&&void 0!==n.title&&(r.title=n.title),e(t,"a",r,Tn(e,t))},link:function(e,t){var n={href:kn(t.url)};return null!==t.title&&void 0!==t.title&&(n.title=t.title),e(t,"a",n,Tn(e,t))},listItem:function(e,t,n){var r,a=Tn(e,t),i=n?function(e){var t=e.spread,n=e.children,r=-1;for(;!t&&++r<n.length;)t=wn(n[r]);return Boolean(t)}(n):wn(t),o={},s=[];"boolean"===typeof t.checked&&(a[0]&&"element"===a[0].type&&"p"===a[0].tagName?r=a[0]:(r=e(null,"p",[]),a.unshift(r)),r.children.length>0&&r.children.unshift(rn("text"," ")),r.children.unshift(e(null,"input",{type:"checkbox",checked:t.checked,disabled:!0})),o.className=["task-list-item"]);for(var l=-1;++l<a.length;){var c=a[l];(i||0!==l||"element"!==c.type||"p"!==c.tagName)&&s.push(rn("text","\n")),"element"!==c.type||"p"!==c.tagName||i?s.push(c):s.push.apply(s,p(c.children))}var u=a[a.length-1];return!u||!i&&"tagName"in u&&"p"===u.tagName||s.push(rn("text","\n")),e(t,"li",o,s)},list:An,paragraph:function(e,t){return e(t,"p",Tn(e,t))},root:function(e,t){return e.augment(t,rn("root",vn(Tn(e,t))))},strong:function(e,t){return e(t,"strong",Tn(e,t))},table:function(e,t){for(var n=t.children,r=-1,a=t.align||[],i=[];++r<n.length;){for(var o=n[r].children,s=0===r?"th":"td",l=t.align?a.length:o.length,c=[];l--;){var u=o[l];c[l]=e(u,s,{align:a[l]},u?Tn(e,u):[])}i[r]=e(n[r],"tr",vn(c,!0))}return e(t,"table",vn([e(i[0].position,"thead",vn([i[0]],!0))].concat(i[1]?e({start:dn(i[1]),end:pn(i[i.length-1])},"tbody",vn(i.slice(1),!0)):[]),!0))},text:function(e,t){return e.augment(t,rn("text",String(t.value).replace(/[ \t]*(\r?\n|\r)[ \t]*/g,"$1")))},thematicBreak:Sn,toml:In,yaml:In,definition:In,footnoteDefinition:In};function In(){return null}var Rn={}.hasOwnProperty;function xn(e,t){var n=t||{},r=n.allowDangerousHtml||!1,a={};return o.dangerous=r,o.definition=function(e){var t=Object.create(null);if(!e||!e.type)throw new Error("mdast-util-definitions expected node");return un(e,"definition",(function(e){var n=gn(e.identifier);n&&!fn.call(t,n)&&(t[n]=e)})),function(e){var n=gn(e);return n&&fn.call(t,n)?t[n]:null}}(e),o.footnoteById=a,o.footnoteOrder=[],o.augment=i,o.handlers=s(s({},Nn),n.handlers),o.unknownHandler=n.unknownHandler,o.passThrough=n.passThrough,un(e,"footnoteDefinition",(function(e){var t=String(e.identifier).toUpperCase();Rn.call(a,t)||(a[t]=e)})),o;function i(e,t){if(e&&"data"in e&&e.data){var n=e.data;n.hName&&("element"!==t.type&&(t={type:"element",tagName:"",properties:{},children:[]}),t.tagName=n.hName),"element"===t.type&&n.hProperties&&(t.properties=s(s({},t.properties),n.hProperties)),"children"in t&&t.children&&n.hChildren&&(t.children=n.hChildren)}if(e){var r="type"in e?e:{position:e};(a=r)&&a.position&&a.position.start&&a.position.start.line&&a.position.start.column&&a.position.end&&a.position.end.line&&a.position.end.column&&(t.position={start:dn(r),end:pn(r)})}var a;return t}function o(e,t,n,r){return Array.isArray(n)&&(r=n,n={}),i(e,{type:"element",tagName:t,properties:n||{},children:r||[]})}}function On(e,t){var n=xn(e,t),r=En(n,e,null),a=function(e){for(var t=e.footnoteById,n=e.footnoteOrder,r=-1,a=[];++r<n.length;){var i=t[n[r].toUpperCase()];if(i){var o=String(r+1),s=p(i.children),l={type:"link",url:"#fnref"+o,data:{hProperties:{className:["footnote-back"],role:"doc-backlink"}},children:[{type:"text",value:"\u21a9"}]},c=s[s.length-1];c&&"paragraph"===c.type?c.children.push(l):s.push(l),a.push({type:"listItem",data:{hProperties:{id:"fn"+o,role:"doc-endnote"}},children:s,position:i.position})}}return 0===a.length?null:e(null,"section",{className:["footnotes"],role:"doc-endnotes"},vn([Sn(e),An(e,{type:"list",ordered:!0,children:a})],!0))}(n);return a&&r.children.push(rn("text","\n"),a),Array.isArray(r)?{type:"root",children:r}:r}var Ln=function(e,t){return e&&"run"in e?function(e,t){return function(n,r,a){e.run(On(n,t),r,(function(e){a(e)}))}}(e,t):function(e){return function(t){return On(t,e)}}(e)};var Pn=n(2007),Dn=y((function e(t,n,r){b(this,e),this.property=t,this.normal=n,r&&(this.space=r)}));function Mn(e,t){for(var n={},r={},a=-1;++a<e.length;)Object.assign(n,e[a].property),Object.assign(r,e[a].normal);return new Dn(n,r,t)}function Fn(e){return e.toLowerCase()}Dn.prototype.property={},Dn.prototype.normal={},Dn.prototype.space=null;var Un=y((function e(t,n){b(this,e),this.property=t,this.attribute=n}));Un.prototype.space=null,Un.prototype.boolean=!1,Un.prototype.booleanish=!1,Un.prototype.overloadedBoolean=!1,Un.prototype.number=!1,Un.prototype.commaSeparated=!1,Un.prototype.spaceSeparated=!1,Un.prototype.commaOrSpaceSeparated=!1,Un.prototype.mustUseProperty=!1,Un.prototype.defined=!1;var Bn=0,Gn=Kn(),Hn=Kn(),zn=Kn(),$n=Kn(),jn=Kn(),Vn=Kn(),Wn=Kn();function Kn(){return Math.pow(2,++Bn)}var qn=Object.keys(t),Yn=function(e){v(r,e);var n=N(r);function r(e,a,i,o){var s;b(this,r);var l=-1;if(Xn(C(s=n.call(this,e,a)),"space",o),"number"===typeof i)for(;++l<qn.length;){var c=qn[l];Xn(C(s),qn[l],(i&t[c])===t[c])}return s}return y(r)}(Un);function Xn(e,t,n){n&&(e[t]=n)}Yn.prototype.defined=!0;var Zn={}.hasOwnProperty;function Qn(e){var t,n={},r={};for(t in e.properties)if(Zn.call(e.properties,t)){var a=e.properties[t],i=new Yn(t,e.transform(e.attributes||{},t),a,e.space);e.mustUseProperty&&e.mustUseProperty.includes(t)&&(i.mustUseProperty=!0),n[t]=i,r[Fn(t)]=t,r[Fn(i.attribute)]=t}return new Dn(n,r,e.space)}var Jn=Qn({space:"xlink",transform:function(e,t){return"xlink:"+t.slice(5).toLowerCase()},properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}}),er=Qn({space:"xml",transform:function(e,t){return"xml:"+t.slice(3).toLowerCase()},properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function tr(e,t){return t in e?e[t]:t}function nr(e,t){return tr(e,t.toLowerCase())}var rr=Qn({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:nr,properties:{xmlns:null,xmlnsXLink:null}}),ar=Qn({transform:function(e,t){return"role"===t?t:"aria-"+t.slice(4).toLowerCase()},properties:{ariaActiveDescendant:null,ariaAtomic:Hn,ariaAutoComplete:null,ariaBusy:Hn,ariaChecked:Hn,ariaColCount:$n,ariaColIndex:$n,ariaColSpan:$n,ariaControls:jn,ariaCurrent:null,ariaDescribedBy:jn,ariaDetails:null,ariaDisabled:Hn,ariaDropEffect:jn,ariaErrorMessage:null,ariaExpanded:Hn,ariaFlowTo:jn,ariaGrabbed:Hn,ariaHasPopup:null,ariaHidden:Hn,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:jn,ariaLevel:$n,ariaLive:null,ariaModal:Hn,ariaMultiLine:Hn,ariaMultiSelectable:Hn,ariaOrientation:null,ariaOwns:jn,ariaPlaceholder:null,ariaPosInSet:$n,ariaPressed:Hn,ariaReadOnly:Hn,ariaRelevant:null,ariaRequired:Hn,ariaRoleDescription:jn,ariaRowCount:$n,ariaRowIndex:$n,ariaRowSpan:$n,ariaSelected:Hn,ariaSetSize:$n,ariaSort:null,ariaValueMax:$n,ariaValueMin:$n,ariaValueNow:$n,ariaValueText:null,role:null}}),ir=Qn({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:nr,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Vn,acceptCharset:jn,accessKey:jn,action:null,allow:null,allowFullScreen:Gn,allowPaymentRequest:Gn,allowUserMedia:Gn,alt:null,as:null,async:Gn,autoCapitalize:null,autoComplete:jn,autoFocus:Gn,autoPlay:Gn,capture:Gn,charSet:null,checked:Gn,cite:null,className:jn,cols:$n,colSpan:null,content:null,contentEditable:Hn,controls:Gn,controlsList:jn,coords:$n|Vn,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Gn,defer:Gn,dir:null,dirName:null,disabled:Gn,download:zn,draggable:Hn,encType:null,enterKeyHint:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Gn,formTarget:null,headers:jn,height:$n,hidden:Gn,high:$n,href:null,hrefLang:null,htmlFor:jn,httpEquiv:jn,id:null,imageSizes:null,imageSrcSet:null,inputMode:null,integrity:null,is:null,isMap:Gn,itemId:null,itemProp:jn,itemRef:jn,itemScope:Gn,itemType:jn,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Gn,low:$n,manifest:null,max:null,maxLength:$n,media:null,method:null,min:null,minLength:$n,multiple:Gn,muted:Gn,name:null,nonce:null,noModule:Gn,noValidate:Gn,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforePrint:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Gn,optimum:$n,pattern:null,ping:jn,placeholder:null,playsInline:Gn,poster:null,preload:null,readOnly:Gn,referrerPolicy:null,rel:jn,required:Gn,reversed:Gn,rows:$n,rowSpan:$n,sandbox:jn,scope:null,scoped:Gn,seamless:Gn,selected:Gn,shape:null,size:$n,sizes:null,slot:null,span:$n,spellCheck:Hn,src:null,srcDoc:null,srcLang:null,srcSet:null,start:$n,step:null,style:null,tabIndex:$n,target:null,title:null,translate:null,type:null,typeMustMatch:Gn,useMap:null,value:Hn,width:$n,wrap:null,align:null,aLink:null,archive:jn,axis:null,background:null,bgColor:null,border:$n,borderColor:null,bottomMargin:$n,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Gn,declare:Gn,event:null,face:null,frame:null,frameBorder:null,hSpace:$n,leftMargin:$n,link:null,longDesc:null,lowSrc:null,marginHeight:$n,marginWidth:$n,noResize:Gn,noHref:Gn,noShade:Gn,noWrap:Gn,object:null,profile:null,prompt:null,rev:null,rightMargin:$n,rules:null,scheme:null,scrolling:Hn,standby:null,summary:null,text:null,topMargin:$n,valueType:null,version:null,vAlign:null,vLink:null,vSpace:$n,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:Gn,disableRemotePlayback:Gn,prefix:null,property:null,results:$n,security:null,unselectable:null}}),or=Qn({space:"svg",attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},transform:tr,properties:{about:Wn,accentHeight:$n,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:$n,amplitude:$n,arabicForm:null,ascent:$n,attributeName:null,attributeType:null,azimuth:$n,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:$n,by:null,calcMode:null,capHeight:$n,className:jn,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:$n,diffuseConstant:$n,direction:null,display:null,dur:null,divisor:$n,dominantBaseline:null,download:Gn,dx:null,dy:null,edgeMode:null,editable:null,elevation:$n,enableBackground:null,end:null,event:null,exponent:$n,externalResourcesRequired:null,fill:null,fillOpacity:$n,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Vn,g2:Vn,glyphName:Vn,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:$n,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:$n,horizOriginX:$n,horizOriginY:$n,id:null,ideographic:$n,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:$n,k:$n,k1:$n,k2:$n,k3:$n,k4:$n,kernelMatrix:Wn,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:$n,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:$n,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:$n,overlineThickness:$n,paintOrder:null,panose1:null,path:null,pathLength:$n,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:jn,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:$n,pointsAtY:$n,pointsAtZ:$n,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Wn,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Wn,rev:Wn,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Wn,requiredFeatures:Wn,requiredFonts:Wn,requiredFormats:Wn,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:$n,specularExponent:$n,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:$n,strikethroughThickness:$n,string:null,stroke:null,strokeDashArray:Wn,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:$n,strokeOpacity:$n,strokeWidth:null,style:null,surfaceScale:$n,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:Wn,tabIndex:$n,tableValues:null,target:null,targetX:$n,targetY:$n,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:Wn,to:null,transform:null,u1:null,u2:null,underlinePosition:$n,underlineThickness:$n,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:$n,values:null,vAlphabetic:$n,vMathematical:$n,vectorEffect:null,vHanging:$n,vIdeographic:$n,version:null,vertAdvY:$n,vertOriginX:$n,vertOriginY:$n,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:$n,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}}),sr=Mn([er,Jn,rr,ar,ir],"html"),lr=Mn([er,Jn,rr,ar,or],"svg");function cr(e){if(e.allowedElements&&e.disallowedElements)throw new TypeError("Only one of `allowedElements` and `disallowedElements` should be defined");if(e.allowedElements||e.disallowedElements||e.allowElement)return function(t){un(t,"element",(function(t,n,r){var a,i=r;if(e.allowedElements?a=!e.allowedElements.includes(t.tagName):e.disallowedElements&&(a=e.disallowedElements.includes(t.tagName)),!a&&e.allowElement&&"number"===typeof n&&(a=!e.allowElement(t,n,i)),a&&"number"===typeof n){var o;if(e.unwrapDisallowed&&t.children)(o=i.children).splice.apply(o,[n,1].concat(p(t.children)));else i.children.splice(n,1);return n}}))}}var ur=["http","https","mailto","tel"];var dr=n(7441);function pr(e){var t=e&&"object"===typeof e&&"text"===e.type?e.value||"":e;return"string"===typeof t&&""===t.replace(/[ \t\n\f\r]/g,"")}var mr=/^data[-\w.:]+$/i,fr=/-[a-z]/g,gr=/[A-Z]/g;function hr(e,t){var n=Fn(t),r=t,a=Un;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&"data"===n.slice(0,4)&&mr.test(t)){if("-"===t.charAt(4)){var i=t.slice(5).replace(fr,Er);r="data"+i.charAt(0).toUpperCase()+i.slice(1)}else{var o=t.slice(4);if(!fr.test(o)){var s=o.replace(gr,br);"-"!==s.charAt(0)&&(s="-"+s),t="data"+s}}a=Yn}return new a(r,t)}function br(e){return"-"+e.toLowerCase()}function Er(e){return e.charAt(1).toUpperCase()}var yr={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"};function Tr(e){var t=String(e||"").trim();return t?t.split(/[ \t\n\r\f]+/g):[]}function Sr(e){return e.join(" ").trim()}function vr(e){for(var t,n,r=[],a=String(e||""),i=a.indexOf(","),o=0;!t;)-1===i&&(i=a.length,t=!0),!(n=a.slice(o,i).trim())&&t||r.push(n),o=i+1,i=a.indexOf(",",o);return r}function Ar(e,t){var n=t||{};return""===e[e.length-1]&&(e=e.concat("")),e.join((n.padRight?" ":"")+","+(!1===n.padLeft?"":" ")).trim()}var _r=n(6426),kr={}.hasOwnProperty,Cr=new Set(["table","thead","tbody","tfoot","tr"]);function wr(e,t){for(var n,r=[],a=-1;++a<t.children.length;)"element"===(n=t.children[a]).type?r.push(Nr(e,n,a,t)):"text"===n.type?"element"===t.type&&Cr.has(t.tagName)&&pr(n)||r.push(n.value):"raw"!==n.type||e.options.skipHtml||r.push(n.value);return r}function Nr(e,t,n,a){var i,o=e.options,s=e.schema,l=t.tagName,c={},u=s;if("html"===s.space&&"svg"===l&&(u=lr,e.schema=u),t.properties)for(i in t.properties)kr.call(t.properties,i)&&Rr(c,i,t.properties[i],e);"ol"!==l&&"ul"!==l||e.listDepth++;var d=wr(e,t);"ol"!==l&&"ul"!==l||e.listDepth--,e.schema=s;var p,m=t.position||{start:{line:null,column:null,offset:null},end:{line:null,column:null,offset:null}},f=o.components&&kr.call(o.components,l)?o.components[l]:l,g="string"===typeof f||f===r.Fragment;if(!dr.isValidElementType(f))throw new TypeError("Component for name `".concat(l,"` not defined or is not renderable"));if(c.key=[l,m.start.line,m.start.column,n].join("-"),"a"===l&&o.linkTarget&&(c.target="function"===typeof o.linkTarget?o.linkTarget(String(c.href||""),t.children,"string"===typeof c.title?c.title:null):o.linkTarget),"a"===l&&o.transformLinkUri&&(c.href=o.transformLinkUri(String(c.href||""),t.children,"string"===typeof c.title?c.title:null)),g||"code"!==l||"element"!==a.type||"pre"===a.tagName||(c.inline=!0),g||"h1"!==l&&"h2"!==l&&"h3"!==l&&"h4"!==l&&"h5"!==l&&"h6"!==l||(c.level=Number.parseInt(l.charAt(1),10)),"img"===l&&o.transformImageUri&&(c.src=o.transformImageUri(String(c.src||""),String(c.alt||""),"string"===typeof c.title?c.title:null)),!g&&"li"===l&&"element"===a.type){var h=function(e){var t=-1;for(;++t<e.children.length;){var n=e.children[t];if("element"===n.type&&"input"===n.tagName)return n}return null}(t);c.checked=h&&h.properties?Boolean(h.properties.checked):null,c.index=Ir(a,t),c.ordered="ol"===a.tagName}return g||"ol"!==l&&"ul"!==l||(c.ordered="ol"===l,c.depth=e.listDepth),"td"!==l&&"th"!==l||(c.align&&(c.style||(c.style={}),c.style.textAlign=c.align,delete c.align),g||(c.isHeader="th"===l)),g||"tr"!==l||"element"!==a.type||(c.isHeader=Boolean("thead"===a.tagName)),o.sourcePos&&(c["data-sourcepos"]=[(p=m).start.line,":",p.start.column,"-",p.end.line,":",p.end.column].map((function(e){return String(e)})).join("")),!g&&o.rawSourcePos&&(c.sourcePosition=t.position),!g&&o.includeElementIndex&&(c.index=Ir(a,t),c.siblingCount=Ir(a)),g||(c.node=t),d.length>0?r.createElement(f,c,d):r.createElement(f,c)}function Ir(e,t){for(var n=-1,r=0;++n<e.children.length&&e.children[n]!==t;)"element"===e.children[n].type&&r++;return r}function Rr(e,t,n,r){var a=hr(r.schema,t),i=n;null!==i&&void 0!==i&&i===i&&(Array.isArray(i)&&(i=a.commaSeparated?Ar(i):Sr(i)),"style"===a.property&&"string"===typeof i&&(i=function(e){var t={};try{_r(e,n)}catch(r){}return t;function n(e,n){var r="-ms-"===e.slice(0,4)?"ms-".concat(e.slice(4)):e;t[r.replace(/-([a-z])/g,xr)]=n}}(i)),a.space&&a.property?e[kr.call(yr,a.property)?yr[a.property]:a.property]=i:a.attribute&&(e[a.attribute]=i))}function xr(e,t){return t.toUpperCase()}var Or={}.hasOwnProperty,Lr={renderers:{to:"components",id:"change-renderers-to-components"},astPlugins:{id:"remove-buggy-html-in-markdown-parser"},allowDangerousHtml:{id:"remove-buggy-html-in-markdown-parser"},escapeHtml:{id:"remove-buggy-html-in-markdown-parser"},source:{to:"children",id:"change-source-to-children"},allowNode:{to:"allowElement",id:"replace-allownode-allowedtypes-and-disallowedtypes"},allowedTypes:{to:"allowedElements",id:"replace-allownode-allowedtypes-and-disallowedtypes"},disallowedTypes:{to:"disallowedElements",id:"replace-allownode-allowedtypes-and-disallowedtypes"},includeNodeIndex:{to:"includeElementIndex",id:"change-includenodeindex-to-includeelementindex"}};function Pr(e){for(var t in Lr)if(Or.call(Lr,t)&&Or.call(e,t)){var n=Lr[t];console.warn("[react-markdown] Warning: please ".concat(n.to?"use `".concat(n.to,"` instead of"):"remove"," `").concat(t,"` (see <").concat("https://github.com/remarkjs/react-markdown/blob/main/changelog.md","#").concat(n.id,"> for more info)")),delete Lr[t]}var a=Q().use(nn).use(e.remarkPlugins||e.plugins||[]).use(Ln,{allowDangerousHtml:!0}).use(e.rehypePlugins||[]).use(cr,e),i=new $;"string"===typeof e.children?i.value=e.children:void 0!==e.children&&null!==e.children&&console.warn("[react-markdown] Warning: please pass a string as `children` (not: `".concat(e.children,"`)"));var o=a.runSync(a.parse(i),i);if("root"!==o.type)throw new TypeError("Expected a `root` node");var s=r.createElement(r.Fragment,{},wr({options:e,schema:sr,listDepth:0},o));return e.className&&(s=r.createElement("div",{className:e.className},s)),s}function Dr(){return Dr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Dr.apply(this,arguments)}function Mr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Fr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Mr(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Mr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}Pr.defaultProps={transformLinkUri:function(e){var t=(e||"").trim(),n=t.charAt(0);if("#"===n||"/"===n)return t;var r=t.indexOf(":");if(-1===r)return t;for(var a=-1;++a<ur.length;){var i=ur[a];if(r===i.length&&t.slice(0,i.length).toLowerCase()===i)return t}return-1!==(a=t.indexOf("?"))&&r>a||-1!==(a=t.indexOf("#"))&&r>a?t:"javascript:void(0)"}},Pr.propTypes={children:Pn.string,className:Pn.string,allowElement:Pn.func,allowedElements:Pn.arrayOf(Pn.string),disallowedElements:Pn.arrayOf(Pn.string),unwrapDisallowed:Pn.bool,remarkPlugins:Pn.arrayOf(Pn.oneOfType([Pn.object,Pn.func,Pn.arrayOf(Pn.oneOfType([Pn.object,Pn.func]))])),rehypePlugins:Pn.arrayOf(Pn.oneOfType([Pn.object,Pn.func,Pn.arrayOf(Pn.oneOfType([Pn.object,Pn.func]))])),sourcePos:Pn.bool,rawSourcePos:Pn.bool,skipHtml:Pn.bool,includeElementIndex:Pn.bool,transformLinkUri:Pn.oneOfType([Pn.func,Pn.bool]),linkTarget:Pn.oneOfType([Pn.func,Pn.string]),transformImageUri:Pn.func,components:Pn.object};var Ur={};function Br(e){if(0===e.length||1===e.length)return e;var t=e.join(".");return Ur[t]||(Ur[t]=function(e){var t=e.length;return 0===t||1===t?e:2===t?[e[0],e[1],"".concat(e[0],".").concat(e[1]),"".concat(e[1],".").concat(e[0])]:3===t?[e[0],e[1],e[2],"".concat(e[0],".").concat(e[1]),"".concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[0]),"".concat(e[1],".").concat(e[2]),"".concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[1],".").concat(e[0])]:t>=4?[e[0],e[1],e[2],e[3],"".concat(e[0],".").concat(e[1]),"".concat(e[0],".").concat(e[2]),"".concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[0]),"".concat(e[1],".").concat(e[2]),"".concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[1]),"".concat(e[2],".").concat(e[3]),"".concat(e[3],".").concat(e[0]),"".concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[0]),"".concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[1],".").concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[2],".").concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[3],".").concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[2],".").concat(e[1],".").concat(e[0])]:void 0}(e)),Ur[t]}function Gr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=e.filter((function(e){return"token"!==e})),a=Br(r);return a.reduce((function(e,t){return Fr(Fr({},e),n[t])}),t)}function Hr(e){return e.join(" ")}function zr(e){var t=e.node,n=e.stylesheet,a=e.style,i=void 0===a?{}:a,o=e.useInlineStyles,s=e.key,l=t.properties,c=t.type,u=t.tagName,d=t.value;if("text"===c)return d;if(u){var p,m=function(e,t){var n=0;return function(r){return n+=1,r.map((function(r,a){return zr({node:r,stylesheet:e,useInlineStyles:t,key:"code-segment-".concat(n,"-").concat(a)})}))}}(n,o);if(o){var f=Object.keys(n).reduce((function(e,t){return t.split(".").forEach((function(t){e.includes(t)||e.push(t)})),e}),[]),g=l.className&&l.className.includes("token")?["token"]:[],h=l.className&&g.concat(l.className.filter((function(e){return!f.includes(e)})));p=Fr(Fr({},l),{},{className:Hr(h)||void 0,style:Gr(l.className,Object.assign({},l.style,i),n)})}else p=Fr(Fr({},l),{},{className:Hr(l.className)});var b=m(t.children);return r.createElement(u,Dr({key:s},p),b)}}var $r=["language","children","style","customStyle","codeTagProps","useInlineStyles","showLineNumbers","showInlineLineNumbers","startingLineNumber","lineNumberContainerStyle","lineNumberStyle","wrapLines","wrapLongLines","lineProps","renderer","PreTag","CodeTag","code","astGenerator"];function jr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Vr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?jr(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Wr=/\n/g;function Kr(e){var t=e.codeString,n=e.codeStyle,a=e.containerStyle,i=void 0===a?{float:"left",paddingRight:"10px"}:a,o=e.numberStyle,s=void 0===o?{}:o,l=e.startingLineNumber;return r.createElement("code",{style:Object.assign({},n,i)},function(e){var t=e.lines,n=e.startingLineNumber,a=e.style;return t.map((function(e,t){var i=t+n;return r.createElement("span",{key:"line-".concat(t),className:"react-syntax-highlighter-line-number",style:"function"===typeof a?a(i):a},"".concat(i,"\n"))}))}({lines:t.replace(/\n$/,"").split("\n"),style:s,startingLineNumber:l}))}function qr(e,t){return{type:"element",tagName:"span",properties:{key:"line-number--".concat(e),className:["comment","linenumber","react-syntax-highlighter-line-number"],style:t},children:[{type:"text",value:e}]}}function Yr(e,t,n){var r,a={display:"inline-block",minWidth:(r=n,"".concat(r.toString().length,".25em")),paddingRight:"1em",textAlign:"right",userSelect:"none"},i="function"===typeof e?e(t):e;return Vr(Vr({},a),i)}function Xr(e){var t=e.children,n=e.lineNumber,r=e.lineNumberStyle,a=e.largestLineNumber,i=e.showInlineLineNumbers,o=e.lineProps,s=void 0===o?{}:o,l=e.className,c=void 0===l?[]:l,u=e.showLineNumbers,d=e.wrapLongLines,p="function"===typeof s?s(n):s;if(p.className=c,n&&i){var m=Yr(r,n,a);t.unshift(qr(n,m))}return d&u&&(p.style=Vr(Vr({},p.style),{},{display:"flex"})),{type:"element",tagName:"span",properties:p,children:t}}function Zr(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=0;r<e.length;r++){var a=e[r];if("text"===a.type)n.push(Xr({children:[a],className:p(new Set(t))}));else if(a.children){var i=t.concat(a.properties.className);Zr(a.children,i).forEach((function(e){return n.push(e)}))}}return n}function Qr(e,t,n,r,a,i,o,s,l){var c,u=Zr(e.value),d=[],p=-1,m=0;function f(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return Xr({children:e,lineNumber:t,lineNumberStyle:s,largestLineNumber:o,showInlineLineNumbers:a,lineProps:n,className:i,showLineNumbers:r,wrapLongLines:l})}function g(e,t){if(r&&t&&a){var n=Yr(s,t,o);e.unshift(qr(t,n))}return e}function h(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return t||r.length>0?f(e,n,r):g(e,n)}for(var b=function(){var e=u[m],t=e.children[0].value;if(t.match(Wr)){var n=t.split("\n");n.forEach((function(t,a){var o=r&&d.length+i,s={type:"text",value:"".concat(t,"\n")};if(0===a){var l=h(u.slice(p+1,m).concat(Xr({children:[s],className:e.properties.className})),o);d.push(l)}else if(a===n.length-1){var c=u[m+1]&&u[m+1].children&&u[m+1].children[0],f={type:"text",value:"".concat(t)};if(c){var g=Xr({children:[f],className:e.properties.className});u.splice(m+1,0,g)}else{var b=h([f],o,e.properties.className);d.push(b)}}else{var E=h([s],o,e.properties.className);d.push(E)}})),p=m}m++};m<u.length;)b();if(p!==u.length-1){var E=u.slice(p+1,u.length);if(E&&E.length){var y=h(E,r&&d.length+i);d.push(y)}}return t?d:(c=[]).concat.apply(c,d)}function Jr(e){var t=e.rows,n=e.stylesheet,r=e.useInlineStyles;return t.map((function(e,t){return zr({node:e,stylesheet:n,useInlineStyles:r,key:"code-segement".concat(t)})}))}function ea(e){return e&&"undefined"!==typeof e.highlightAuto}var ta,na,ra=n(9158),aa=(ta=n.n(ra)(),na={'code[class*="language-"]':{color:"black",background:"none",textShadow:"0 1px white",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"black",background:"#f5f2f0",textShadow:"0 1px white",fontFamily:"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace",fontSize:"1em",textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:".5em 0",overflow:"auto"},'pre[class*="language-"]::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"]::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"] ::-moz-selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"]::selection':{textShadow:"none",background:"#b3d4fc"},'pre[class*="language-"] ::selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"]::selection':{textShadow:"none",background:"#b3d4fc"},'code[class*="language-"] ::selection':{textShadow:"none",background:"#b3d4fc"},':not(pre) > code[class*="language-"]':{background:"#f5f2f0",padding:".1em",borderRadius:".3em",whiteSpace:"normal"},comment:{color:"slategray"},prolog:{color:"slategray"},doctype:{color:"slategray"},cdata:{color:"slategray"},punctuation:{color:"#999"},namespace:{Opacity:".7"},property:{color:"#905"},tag:{color:"#905"},boolean:{color:"#905"},number:{color:"#905"},constant:{color:"#905"},symbol:{color:"#905"},deleted:{color:"#905"},selector:{color:"#690"},"attr-name":{color:"#690"},string:{color:"#690"},char:{color:"#690"},builtin:{color:"#690"},inserted:{color:"#690"},operator:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},entity:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)",cursor:"help"},url:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},".language-css .token.string":{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},".style .token.string":{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},atrule:{color:"#07a"},"attr-value":{color:"#07a"},keyword:{color:"#07a"},function:{color:"#DD4A68"},"class-name":{color:"#DD4A68"},regex:{color:"#e90"},important:{color:"#e90",fontWeight:"bold"},variable:{color:"#e90"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}},function(e){var t=e.language,n=e.children,a=e.style,i=void 0===a?na:a,o=e.customStyle,s=void 0===o?{}:o,c=e.codeTagProps,u=void 0===c?{className:t?"language-".concat(t):void 0,style:Vr(Vr({},i['code[class*="language-"]']),i['code[class*="language-'.concat(t,'"]')])}:c,d=e.useInlineStyles,p=void 0===d||d,m=e.showLineNumbers,f=void 0!==m&&m,g=e.showInlineLineNumbers,h=void 0===g||g,b=e.startingLineNumber,E=void 0===b?1:b,y=e.lineNumberContainerStyle,T=e.lineNumberStyle,S=void 0===T?{}:T,v=e.wrapLines,A=e.wrapLongLines,_=void 0!==A&&A,k=e.lineProps,C=void 0===k?{}:k,w=e.renderer,N=e.PreTag,I=void 0===N?"pre":N,R=e.CodeTag,x=void 0===R?"code":R,O=e.code,L=void 0===O?(Array.isArray(n)?n[0]:n)||"":O,P=e.astGenerator,D=l(e,$r);P=P||ta;var M=f?r.createElement(Kr,{containerStyle:y,codeStyle:u.style||{},numberStyle:S,startingLineNumber:E,codeString:L}):null,F=i.hljs||i['pre[class*="language-"]']||{backgroundColor:"#fff"},U=ea(P)?"hljs":"prismjs",B=p?Object.assign({},D,{style:Object.assign({},F,s)}):Object.assign({},D,{className:D.className?"".concat(U," ").concat(D.className):U,style:Object.assign({},s)});if(u.style=Vr(Vr({},u.style),{},_?{whiteSpace:"pre-wrap"}:{whiteSpace:"pre"}),!P)return r.createElement(I,B,M,r.createElement(x,u,L));(void 0===v&&w||_)&&(v=!0),w=w||Jr;var G=[{type:"text",value:L}],H=function(e){var t=e.astGenerator,n=e.language,r=e.code,a=e.defaultCodeValue;if(ea(t)){var i=function(e,t){return-1!==e.listLanguages().indexOf(t)}(t,n);return"text"===n?{value:a,language:"text"}:i?t.highlight(n,r):t.highlightAuto(r)}try{return n&&"text"!==n?{value:t.highlight(r,n)}:{value:a}}catch(o){return{value:a}}}({astGenerator:P,language:t,code:L,defaultCodeValue:G});null===H.language&&(H.value=G);var z=Qr(H,v,C,f,h,E,H.value.length+E,S,_);return r.createElement(I,B,r.createElement(x,u,!h&&M,w({rows:z,stylesheet:i,useInlineStyles:p})))});aa.supportedLanguages=["abap","abnf","actionscript","ada","agda","al","antlr4","apacheconf","apex","apl","applescript","aql","arduino","arff","asciidoc","asm6502","asmatmel","aspnet","autohotkey","autoit","avisynth","avro-idl","bash","basic","batch","bbcode","bicep","birb","bison","bnf","brainfuck","brightscript","bro","bsl","c","cfscript","chaiscript","cil","clike","clojure","cmake","cobol","coffeescript","concurnas","coq","cpp","crystal","csharp","cshtml","csp","css-extras","css","csv","cypher","d","dart","dataweave","dax","dhall","diff","django","dns-zone-file","docker","dot","ebnf","editorconfig","eiffel","ejs","elixir","elm","erb","erlang","etlua","excel-formula","factor","false","firestore-security-rules","flow","fortran","fsharp","ftl","gap","gcode","gdscript","gedcom","gherkin","git","glsl","gml","gn","go-module","go","graphql","groovy","haml","handlebars","haskell","haxe","hcl","hlsl","hoon","hpkp","hsts","http","ichigojam","icon","icu-message-format","idris","iecst","ignore","inform7","ini","io","j","java","javadoc","javadoclike","javascript","javastacktrace","jexl","jolie","jq","js-extras","js-templates","jsdoc","json","json5","jsonp","jsstacktrace","jsx","julia","keepalived","keyman","kotlin","kumir","kusto","latex","latte","less","lilypond","liquid","lisp","livescript","llvm","log","lolcode","lua","magma","makefile","markdown","markup-templating","markup","matlab","maxscript","mel","mermaid","mizar","mongodb","monkey","moonscript","n1ql","n4js","nand2tetris-hdl","naniscript","nasm","neon","nevod","nginx","nim","nix","nsis","objectivec","ocaml","opencl","openqasm","oz","parigp","parser","pascal","pascaligo","pcaxis","peoplecode","perl","php-extras","php","phpdoc","plsql","powerquery","powershell","processing","prolog","promql","properties","protobuf","psl","pug","puppet","pure","purebasic","purescript","python","q","qml","qore","qsharp","r","racket","reason","regex","rego","renpy","rest","rip","roboconf","robotframework","ruby","rust","sas","sass","scala","scheme","scss","shell-session","smali","smalltalk","smarty","sml","solidity","solution-file","soy","sparql","splunk-spl","sqf","sql","squirrel","stan","stylus","swift","systemd","t4-cs","t4-templating","t4-vb","tap","tcl","textile","toml","tremor","tsx","tt2","turtle","twig","typescript","typoscript","unrealscript","uorazor","uri","v","vala","vbnet","velocity","verilog","vhdl","vim","visual-basic","warpscript","wasm","web-idl","wiki","wolfram","wren","xeora","xml-doc","xojo","xquery","yaml","yang","zig"];for(var ia=aa,oa={'code[class*="language-"]':{color:"#e3eaf2",background:"none",fontFamily:'Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace',textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none"},'pre[class*="language-"]':{color:"#e3eaf2",background:"#111b27",fontFamily:'Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace',textAlign:"left",whiteSpace:"pre",wordSpacing:"normal",wordBreak:"normal",wordWrap:"normal",lineHeight:"1.5",MozTabSize:"4",OTabSize:"4",tabSize:"4",WebkitHyphens:"none",MozHyphens:"none",msHyphens:"none",hyphens:"none",padding:"1em",margin:"0.5em 0",overflow:"auto"},'pre[class*="language-"]::-moz-selection':{background:"#3c526d"},'pre[class*="language-"] ::-moz-selection':{background:"#3c526d"},'code[class*="language-"]::-moz-selection':{background:"#3c526d"},'code[class*="language-"] ::-moz-selection':{background:"#3c526d"},'pre[class*="language-"]::selection':{background:"#3c526d"},'pre[class*="language-"] ::selection':{background:"#3c526d"},'code[class*="language-"]::selection':{background:"#3c526d"},'code[class*="language-"] ::selection':{background:"#3c526d"},':not(pre) > code[class*="language-"]':{background:"#111b27",padding:"0.1em 0.3em",borderRadius:"0.3em",whiteSpace:"normal"},comment:{color:"#8da1b9"},prolog:{color:"#8da1b9"},doctype:{color:"#8da1b9"},cdata:{color:"#8da1b9"},punctuation:{color:"#e3eaf2"},"delimiter.important":{color:"#66cccc",fontWeight:"inherit"},"selector.parent":{color:"#66cccc"},tag:{color:"#66cccc"},"tag.punctuation":{color:"#66cccc"},"attr-name":{color:"#e6d37a"},boolean:{color:"#e6d37a"},"boolean.important":{color:"#e6d37a"},number:{color:"#e6d37a"},constant:{color:"#e6d37a"},"selector.attribute":{color:"#e6d37a"},"class-name":{color:"#6cb8e6"},key:{color:"#6cb8e6"},parameter:{color:"#6cb8e6"},property:{color:"#6cb8e6"},"property-access":{color:"#6cb8e6"},variable:{color:"#6cb8e6"},"attr-value":{color:"#91d076"},inserted:{color:"#91d076"},color:{color:"#91d076"},"selector.value":{color:"#91d076"},string:{color:"#91d076"},"string.url-link":{color:"#91d076"},builtin:{color:"#f4adf4"},"keyword-array":{color:"#f4adf4"},package:{color:"#f4adf4"},regex:{color:"#f4adf4"},function:{color:"#c699e3"},"selector.class":{color:"#c699e3"},"selector.id":{color:"#c699e3"},"atrule.rule":{color:"#e9ae7e"},combinator:{color:"#e9ae7e"},keyword:{color:"#e9ae7e"},operator:{color:"#e9ae7e"},"pseudo-class":{color:"#e9ae7e"},"pseudo-element":{color:"#e9ae7e"},selector:{color:"#e9ae7e"},unit:{color:"#e9ae7e"},deleted:{color:"#cd6660"},important:{color:"#cd6660",fontWeight:"bold"},"keyword-this":{color:"#6cb8e6",fontWeight:"bold"},this:{color:"#6cb8e6",fontWeight:"bold"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"},entity:{cursor:"help"},".language-markdown .token.title":{color:"#6cb8e6",fontWeight:"bold"},".language-markdown .token.title .token.punctuation":{color:"#6cb8e6",fontWeight:"bold"},".language-markdown .token.blockquote.punctuation":{color:"#f4adf4"},".language-markdown .token.code":{color:"#66cccc"},".language-markdown .token.hr.punctuation":{color:"#6cb8e6"},".language-markdown .token.url .token.content":{color:"#91d076"},".language-markdown .token.url-link":{color:"#e6d37a"},".language-markdown .token.list.punctuation":{color:"#f4adf4"},".language-markdown .token.table-header":{color:"#e3eaf2"},".language-json .token.operator":{color:"#e3eaf2"},".language-scss .token.variable":{color:"#66cccc"},"token.tab:not(:empty):before":{color:"#8da1b9"},"token.cr:before":{color:"#8da1b9"},"token.lf:before":{color:"#8da1b9"},"token.space:before":{color:"#8da1b9"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a":{color:"#111b27",background:"#6cb8e6"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button":{color:"#111b27",background:"#6cb8e6"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:hover":{color:"#111b27",background:"#6cb8e6da",textDecoration:"none"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:focus":{color:"#111b27",background:"#6cb8e6da",textDecoration:"none"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover":{color:"#111b27",background:"#6cb8e6da",textDecoration:"none"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus":{color:"#111b27",background:"#6cb8e6da",textDecoration:"none"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span":{color:"#111b27",background:"#8da1b9"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:hover":{color:"#111b27",background:"#8da1b9"},"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus":{color:"#111b27",background:"#8da1b9"},".line-highlight.line-highlight":{background:"linear-gradient(to right, #3c526d5f 70%, #3c526d55)"},".line-highlight.line-highlight:before":{backgroundColor:"#8da1b9",color:"#111b27",boxShadow:"0 1px #3c526d"},".line-highlight.line-highlight[data-end]:after":{backgroundColor:"#8da1b9",color:"#111b27",boxShadow:"0 1px #3c526d"},"pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows > span:hover:before":{backgroundColor:"#8da1b918"},".line-numbers.line-numbers .line-numbers-rows":{borderRight:"1px solid #0b121b",background:"#0b121b7a"},".line-numbers .line-numbers-rows > span:before":{color:"#8da1b9da"},".rainbow-braces .token.token.punctuation.brace-level-1":{color:"#e6d37a"},".rainbow-braces .token.token.punctuation.brace-level-5":{color:"#e6d37a"},".rainbow-braces .token.token.punctuation.brace-level-9":{color:"#e6d37a"},".rainbow-braces .token.token.punctuation.brace-level-2":{color:"#f4adf4"},".rainbow-braces .token.token.punctuation.brace-level-6":{color:"#f4adf4"},".rainbow-braces .token.token.punctuation.brace-level-10":{color:"#f4adf4"},".rainbow-braces .token.token.punctuation.brace-level-3":{color:"#6cb8e6"},".rainbow-braces .token.token.punctuation.brace-level-7":{color:"#6cb8e6"},".rainbow-braces .token.token.punctuation.brace-level-11":{color:"#6cb8e6"},".rainbow-braces .token.token.punctuation.brace-level-4":{color:"#c699e3"},".rainbow-braces .token.token.punctuation.brace-level-8":{color:"#c699e3"},".rainbow-braces .token.token.punctuation.brace-level-12":{color:"#c699e3"},"pre.diff-highlight > code .token.token.deleted:not(.prefix)":{backgroundColor:"#cd66601f"},"pre > code.diff-highlight .token.token.deleted:not(.prefix)":{backgroundColor:"#cd66601f"},"pre.diff-highlight > code .token.token.inserted:not(.prefix)":{backgroundColor:"#91d0761f"},"pre > code.diff-highlight .token.token.inserted:not(.prefix)":{backgroundColor:"#91d0761f"},".command-line .command-line-prompt":{borderRight:"1px solid #0b121b"},".command-line .command-line-prompt > span:before":{color:"#8da1b9da"}},sa={tokenize:function(e,t,n){return function(t){return e.consume(t),r};function r(t){return 87===t||119===t?(e.consume(t),a):n(t)}function a(t){return 87===t||119===t?(e.consume(t),i):n(t)}function i(t){return 46===t?(e.consume(t),o):n(t)}function o(e){return null===e||_e(e)?n(e):t(e)}},partial:!0},la={tokenize:function(e,t,n){var r,a;return i;function i(t){return 38===t?e.check(da,s,o)(t):46===t||95===t?e.check(ua,s,o)(t):null===t||ve(t)||Ce(t)||45!==t&&we(t)?s(t):(e.consume(t),i)}function o(t){return 46===t?(a=r,r=void 0,e.consume(t),i):(95===t&&(r=!0),e.consume(t),i)}function s(e){return a||r?n(e):t(e)}},partial:!0},ca={tokenize:function(e,t){var n=0;return r;function r(o){return 38===o?e.check(da,t,a)(o):(40===o&&n++,41===o?e.check(ua,i,a)(o):ya(o)?t(o):Ea(o)?e.check(ua,t,a)(o):(e.consume(o),r))}function a(t){return e.consume(t),r}function i(e){return--n<0?t(e):a(e)}},partial:!0},ua={tokenize:function(e,t,n){return function(t){return e.consume(t),r};function r(a){return Ea(a)?(e.consume(a),r):ya(a)?t(a):n(a)}},partial:!0},da={tokenize:function(e,t,n){return function(t){return e.consume(t),r};function r(t){return he(t)?(e.consume(t),r):59===t?(e.consume(t),a):n(t)}function a(e){return ya(e)?t(e):n(e)}},partial:!0},pa={tokenize:function(e,t,n){var r=this;return function(t){if(87!==t&&119!==t||!Sa(r.previous)||_a(r.events))return n(t);return e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(sa,e.attempt(la,e.attempt(ca,a),n),n)(t)};function a(n){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(n)}},previous:Sa},ma={tokenize:function(e,t,n){var r=this;return function(t){if(72!==t&&104!==t||!va(r.previous)||_a(r.events))return n(t);return e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),e.consume(t),a};function a(t){return 84===t||116===t?(e.consume(t),i):n(t)}function i(t){return 84===t||116===t?(e.consume(t),o):n(t)}function o(t){return 80===t||112===t?(e.consume(t),s):n(t)}function s(t){return 83===t||115===t?(e.consume(t),l):l(t)}function l(t){return 58===t?(e.consume(t),c):n(t)}function c(t){return 47===t?(e.consume(t),u):n(t)}function u(t){return 47===t?(e.consume(t),d):n(t)}function d(t){return null===t||ve(t)||Ce(t)||we(t)?n(t):e.attempt(la,e.attempt(ca,p),n)(t)}function p(n){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(n)}},previous:va},fa={tokenize:function(e,t,n){var r,a,i=this;return function(t){if(!Ta(t)||!Aa(i.previous)||_a(i.events))return n(t);return e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),o(t)};function o(t){return Ta(t)?(e.consume(t),o):64===t?(e.consume(t),s):n(t)}function s(t){return 46===t?e.check(ua,d,l)(t):45===t||95===t?e.check(ua,n,c)(t):ye(t)?(!a&&be(t)&&(a=!0),e.consume(t),s):d(t)}function l(t){return e.consume(t),r=!0,a=void 0,s}function c(t){return e.consume(t),u}function u(t){return 46===t?e.check(ua,n,l)(t):s(t)}function d(i){return r&&!a?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(i)):n(i)}},previous:Aa},ga={},ha={text:ga},ba=48;ba<123;)ga[ba]=fa,58===++ba?ba=65:91===ba&&(ba=97);function Ea(e){return 33===e||34===e||39===e||41===e||42===e||44===e||46===e||58===e||59===e||60===e||63===e||95===e||126===e}function ya(e){return null===e||60===e||Ae(e)}function Ta(e){return 43===e||45===e||46===e||95===e||ye(e)}function Sa(e){return null===e||40===e||42===e||95===e||126===e||Ae(e)}function va(e){return null===e||!he(e)}function Aa(e){return 47!==e&&va(e)}function _a(e){for(var t=e.length,n=!1;t--;){var r=e[t][1];if(("labelLink"===r.type||"labelImage"===r.type)&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}ga[43]=fa,ga[45]=fa,ga[46]=fa,ga[95]=fa,ga[72]=[fa,ma],ga[104]=[fa,ma],ga[87]=[fa,pa],ga[119]=[fa,pa];var ka={tokenize:function(e,t,n){var r=this;return Ie(e,(function(e){var a=r.events[r.events.length-1];return a&&"gfmFootnoteDefinitionIndent"===a[1].type&&4===a[2].sliceSerialize(a[1],!0).length?t(e):n(e)}),"gfmFootnoteDefinitionIndent",5)},partial:!0};function Ca(){var e;return{document:i({},91,{tokenize:Ra,continuation:{tokenize:xa},exit:Oa}),text:(e={},i(e,91,{tokenize:Ia}),i(e,93,{add:"after",tokenize:wa,resolveTo:Na}),e)}}function wa(e,t,n){for(var r,a=this,i=a.events.length,o=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);i--;){var s=a.events[i][1];if("labelImage"===s.type){r=s;break}if("gfmFootnoteCall"===s.type||"labelLink"===s.type||"label"===s.type||"image"===s.type||"link"===s.type)break}return function(i){if(!r||!r._balanced)return n(i);var s=nt(a.sliceSerialize({start:r.end,end:a.now()}));if(94!==s.charCodeAt(0)||!o.includes(s.slice(1)))return n(i);return e.enter("gfmFootnoteCallLabelMarker"),e.consume(i),e.exit("gfmFootnoteCallLabelMarker"),t(i)}}function Na(e,t){for(var n=e.length;n--;)if("labelImage"===e[n][1].type&&"enter"===e[n][0]){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";var r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},a={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};a.end.column++,a.end.offset++,a.end._bufferIndex++;var i={type:"gfmFootnoteCallString",start:Object.assign({},a.end),end:Object.assign({},e[e.length-1][1].start)},o={type:"chunkString",contentType:"string",start:Object.assign({},i.start),end:Object.assign({},i.end)},s=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",a,t],["exit",a,t],["enter",i,t],["enter",o,t],["exit",o,t],["exit",i,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice.apply(e,[n,e.length-n+1].concat(s)),e}function Ia(e,t,n){var r,a=this,i=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]),o=0;return function(t){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(t),e.exit("gfmFootnoteCallLabelMarker"),s};function s(t){return 94!==t?n(t):(e.enter("gfmFootnoteCallMarker"),e.consume(t),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",l)}function l(s){var u;return null===s||91===s||o++>999?n(s):93===s?r?(e.exit("chunkString"),u=e.exit("gfmFootnoteCallString"),i.includes(nt(a.sliceSerialize(u)))?function(n){return e.enter("gfmFootnoteCallLabelMarker"),e.consume(n),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t}(s):n(s)):n(s):(e.consume(s),Ae(s)||(r=!0),92===s?c:l)}function c(t){return 91===t||92===t||93===t?(e.consume(t),o++,l):l(t)}}function Ra(e,t,n){var r,a,i=this,o=i.parser.gfmFootnotes||(i.parser.gfmFootnotes=[]),s=0;return function(t){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionLabelMarker"),l};function l(t){return 94===t?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),c):n(t)}function c(t){var o;return null===t||91===t||s>999?n(t):93===t?a?(o=e.exit("gfmFootnoteDefinitionLabelString"),r=nt(i.sliceSerialize(o)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(t),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),p):n(t):_e(t)?(e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),s++,c):(e.enter("chunkString").contentType="string",u(t))}function u(t){return null===t||_e(t)||91===t||93===t||s>999?(e.exit("chunkString"),c(t)):(Ae(t)||(a=!0),s++,e.consume(t),92===t?d:u)}function d(t){return 91===t||92===t||93===t?(e.consume(t),s++,u):u(t)}function p(t){return 58===t?(e.enter("definitionMarker"),e.consume(t),e.exit("definitionMarker"),Ie(e,m,"gfmFootnoteDefinitionWhitespace")):n(t)}function m(e){return o.includes(r)||o.push(r),t(e)}}function xa(e,t,n){return e.check(Le,t,e.attempt(ka,t,n))}function Oa(e){e.exit("gfmFootnoteDefinition")}function La(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.singleTilde,n={tokenize:a,resolveAll:r};return null!==t&&void 0!==t||(t=!0),{text:i({},126,n),insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function r(e,t){for(var n=-1;++n<e.length;)if("enter"===e[n][0]&&"strikethroughSequenceTemporary"===e[n][1].type&&e[n][1]._close)for(var r=n;r--;)if("exit"===e[r][0]&&"strikethroughSequenceTemporary"===e[r][1].type&&e[r][1]._open&&e[n][1].end.offset-e[n][1].start.offset===e[r][1].end.offset-e[r][1].start.offset){e[n][1].type="strikethroughSequence",e[r][1].type="strikethroughSequence";var a={type:"strikethrough",start:Object.assign({},e[r][1].start),end:Object.assign({},e[n][1].end)},i={type:"strikethroughText",start:Object.assign({},e[r][1].end),end:Object.assign({},e[n][1].start)},o=[["enter",a,t],["enter",e[r][1],t],["exit",e[r][1],t],["enter",i,t]];ue(o,o.length,0,Ve(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),ue(o,o.length,0,[["exit",i,t],["enter",e[n][1],t],["exit",e[n][1],t],["exit",a,t]]),ue(e,r-1,n-r+3,o),n=r+o.length-2;break}for(n=-1;++n<e.length;)"strikethroughSequenceTemporary"===e[n][1].type&&(e[n][1].type="data");return e}function a(e,n,r){var a=this.previous,i=this.events,o=0;return function(t){if(126===a&&"characterEscape"!==i[i.length-1][1].type)return r(t);return e.enter("strikethroughSequenceTemporary"),s(t)};function s(i){var l=_t(a);if(126===i)return o>1?r(i):(e.consume(i),o++,s);if(o<2&&!t)return r(i);var c=e.exit("strikethroughSequenceTemporary"),u=_t(i);return c._open=!u||2===u&&Boolean(l),c._close=!l||2===l&&Boolean(u),n(i)}}}var Pa={flow:{null:{tokenize:function(e,t,n){var r,a,i=this,o=[],s=0;return function(t){if(e.enter("table")._align=o,e.enter("tableHead"),e.enter("tableRow"),124===t)return l(t);return s++,e.enter("temporaryTableCellContent"),d(t)};function l(t){return e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),r=!0,c}function c(t){return null===t||_e(t)?function(t){if(null===t)return n(t);e.exit("tableRow"),e.exit("tableHead");var r=i.interrupt;return i.interrupt=!0,e.attempt({tokenize:N,partial:!0},(function(t){return i.interrupt=r,e.enter("tableDelimiterRow"),m(t)}),(function(e){return i.interrupt=r,n(e)}))(t)}(t):ke(t)?(e.enter("whitespace"),e.consume(t),u):(r&&(r=void 0,s++),124===t?l(t):(e.enter("temporaryTableCellContent"),d(t)))}function u(t){return ke(t)?(e.consume(t),u):(e.exit("whitespace"),c(t))}function d(t){return null===t||124===t||Ae(t)?(e.exit("temporaryTableCellContent"),c(t)):(e.consume(t),92===t?p:d)}function p(t){return 92===t||124===t?(e.consume(t),d):d(t)}function m(t){return null===t||_e(t)?E(t):ke(t)?(e.enter("whitespace"),e.consume(t),f):45===t?(e.enter("tableDelimiterFiller"),e.consume(t),a=!0,o.push("none"),g):58===t?(e.enter("tableDelimiterAlignment"),e.consume(t),e.exit("tableDelimiterAlignment"),o.push("left"),h):124===t?(e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),m):n(t)}function f(t){return ke(t)?(e.consume(t),f):(e.exit("whitespace"),m(t))}function g(t){return 45===t?(e.consume(t),g):(e.exit("tableDelimiterFiller"),58===t?(e.enter("tableDelimiterAlignment"),e.consume(t),e.exit("tableDelimiterAlignment"),o[o.length-1]="left"===o[o.length-1]?"center":"right",b):m(t))}function h(t){return 45===t?(e.enter("tableDelimiterFiller"),e.consume(t),a=!0,g):n(t)}function b(t){return null===t||_e(t)?E(t):ke(t)?(e.enter("whitespace"),e.consume(t),f):124===t?(e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),m):n(t)}function E(t){return e.exit("tableDelimiterRow"),a&&s===o.length?null===t?y(t):e.check(Da,y,e.attempt({tokenize:N,partial:!0},Ie(e,T,"linePrefix",4),y))(t):n(t)}function y(n){return e.exit("table"),t(n)}function T(t){return e.enter("tableBody"),S(t)}function S(t){return e.enter("tableRow"),124===t?v(t):(e.enter("temporaryTableCellContent"),k(t))}function v(t){return e.enter("tableCellDivider"),e.consume(t),e.exit("tableCellDivider"),A}function A(t){return null===t||_e(t)?function(t){if(e.exit("tableRow"),null===t)return w(t);return e.check(Da,w,e.attempt({tokenize:N,partial:!0},Ie(e,S,"linePrefix",4),w))(t)}(t):ke(t)?(e.enter("whitespace"),e.consume(t),_):124===t?v(t):(e.enter("temporaryTableCellContent"),k(t))}function _(t){return ke(t)?(e.consume(t),_):(e.exit("whitespace"),A(t))}function k(t){return null===t||124===t||Ae(t)?(e.exit("temporaryTableCellContent"),A(t)):(e.consume(t),92===t?C:k)}function C(t){return 92===t||124===t?(e.consume(t),k):k(t)}function w(t){return e.exit("tableBody"),y(t)}function N(e,t,n){return function(t){return e.enter("lineEnding"),e.consume(t),e.exit("lineEnding"),Ie(e,r,"linePrefix")};function r(r){if(i.parser.lazy[i.now().line]||null===r||_e(r))return n(r);var a=i.events[i.events.length-1];return!i.parser.constructs.disable.null.includes("codeIndented")&&a&&"linePrefix"===a[1].type&&a[2].sliceSerialize(a[1],!0).length>=4?n(r):(i._gfmTableDynamicInterruptHack=!0,e.check(i.parser.constructs.flow,(function(e){return i._gfmTableDynamicInterruptHack=!1,n(e)}),(function(e){return i._gfmTableDynamicInterruptHack=!1,t(e)}))(r))}}},resolve:function(e,t){var n,r,a,i,o,s,l,c=-1;for(;++c<e.length;){var u=e[c][1];if(a&&("temporaryTableCellContent"===u.type&&(i=i||c,o=c),("tableCellDivider"===u.type||"tableRow"===u.type)&&o)){var d={type:"tableContent",start:e[i][1].start,end:e[o][1].end},p={type:"chunkText",start:d.start,end:d.end,contentType:"text"};e.splice(i,o-i+1,["enter",d,t],["enter",p,t],["exit",p,t],["exit",d,t]),c-=o-i-3,i=void 0,o=void 0}if("exit"===e[c][0]&&void 0!==s&&s+(l?0:1)<c&&("tableCellDivider"===u.type||"tableRow"===u.type&&(s+3<c||"whitespace"!==e[s][1].type))){var m={type:r?"tableDelimiter":n?"tableHeader":"tableData",start:e[s][1].start,end:e[c][1].end};e.splice(c+("tableCellDivider"===u.type?1:0),0,["exit",m,t]),e.splice(s,0,["enter",m,t]),s=(c+=2)+1,l=!0}"tableRow"===u.type&&(a="enter"===e[c][0])&&(s=c+1,l=!1),"tableDelimiterRow"===u.type&&(r="enter"===e[c][0])&&(s=c+1,l=!1),"tableHead"===u.type&&(n="enter"===e[c][0])}return e}}}},Da={tokenize:function(e,t,n){var r=0;return function(t){return e.enter("check"),e.consume(t),a};function a(i){return-1===i||32===i?(e.consume(i),4===++r?t:a):null===i||Ae(i)?t(i):n(i)}},partial:!0};var Ma={tokenize:function(e,t,n){var r=this;return function(t){if(null!==r.previous||!r._gfmTasklistFirstContentOfListItem)return n(t);return e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(t),e.exit("taskListCheckMarker"),a};function a(t){return Ae(t)?(e.enter("taskListCheckValueUnchecked"),e.consume(t),e.exit("taskListCheckValueUnchecked"),i):88===t||120===t?(e.enter("taskListCheckValueChecked"),e.consume(t),e.exit("taskListCheckValueChecked"),i):n(t)}function i(r){return 93===r?(e.enter("taskListCheckMarker"),e.consume(r),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),e.check({tokenize:Ua},t,n)):n(r)}}},Fa={text:i({},91,Ma)};function Ua(e,t,n){var r=this;return Ie(e,(function(e){var a=r.events[r.events.length-1];return(a&&"whitespace"===a[1].type||_e(e))&&null!==e?t(e):n(e)}),"whitespace")}function Ba(e){return me([ha,Ca(),La(e),Pa,Fa])}function Ga(e,t){var n=String(e);if("string"!==typeof t)throw new TypeError("Expected character");for(var r=0,a=n.indexOf(t);-1!==a;)r++,a=n.indexOf(t,a+t.length);return r}var Ha={}.hasOwnProperty,za=function(e,t,n,r){var a,i;"string"===typeof t||t instanceof RegExp?(i=[[t,n]],a=r):(i=t,a=n),a||(a={});for(var o=an(a.ignore||[]),s=function(e){var t=[];if("object"!==typeof e)throw new TypeError("Expected array or object as schema");if(Array.isArray(e))for(var n=-1;++n<e.length;)t.push([$a(e[n][0]),ja(e[n][1])]);else{var r;for(r in e)Ha.call(e,r)&&t.push([$a(r),ja(e[r])])}return t}(i),l=-1;++l<s.length;)cn(e,"text",c);return e;function c(e,t){for(var n,r=-1;++r<t.length;){var a=t[r];if(o(a,n?n.children.indexOf(a):void 0,n))return;n=a}if(n)return function(e,t){var n,r=t[t.length-1],a=s[l][0],i=s[l][1],o=0,c=r.children.indexOf(e),u=!1,d=[];a.lastIndex=0;var m=a.exec(e.value);for(;m;){n=m.index;var f={index:m.index,input:m.input,stack:[].concat(p(t),[e])},g=i.apply(void 0,p(m).concat([f]));if("string"===typeof g&&(g=g.length>0?{type:"text",value:g}:void 0),!1!==g){var h;if(o!==n&&d.push({type:"text",value:e.value.slice(o,n)}),Array.isArray(g))(h=d).push.apply(h,p(g));else g&&d.push(g);o=n+m[0].length,u=!0}if(!a.global)break;m=a.exec(e.value)}if(u){var b;o<e.value.length&&d.push({type:"text",value:e.value.slice(o)}),(b=r.children).splice.apply(b,[c,1].concat(p(d)))}else d=[e];return c+d.length}(e,t)}};function $a(e){return"string"===typeof e?new RegExp(function(e){if("string"!==typeof e)throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}(e),"g"):e}function ja(e){return"function"===typeof e?e:function(){return e}}var Va="phrasing",Wa=["autolink","link","image","label"],Ka={transforms:[function(e){za(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,Xa],[/([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/g,Za]],{ignore:["link","linkReference"]})}],enter:{literalAutolink:function(e){this.enter({type:"link",title:null,url:"",children:[]},e)},literalAutolinkEmail:Ya,literalAutolinkHttp:Ya,literalAutolinkWww:Ya},exit:{literalAutolink:function(e){this.exit(e)},literalAutolinkEmail:function(e){this.config.exit.autolinkEmail.call(this,e)},literalAutolinkHttp:function(e){this.config.exit.autolinkProtocol.call(this,e)},literalAutolinkWww:function(e){this.config.exit.data.call(this,e),this.stack[this.stack.length-1].url="http://"+this.sliceSerialize(e)}}},qa={unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:Va,notInConstruct:Wa},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:Va,notInConstruct:Wa},{character:":",before:"[ps]",after:"\\/",inConstruct:Va,notInConstruct:Wa}]};function Ya(e){this.config.enter.autolinkProtocol.call(this,e)}function Xa(e,t,n,r,a){var i="";if(!Qa(a))return!1;if(/^w/i.test(t)&&(n=t+n,t="",i="http://"),!function(e){var t=e.split(".");if(t.length<2||t[t.length-1]&&(/_/.test(t[t.length-1])||!/[a-zA-Z\d]/.test(t[t.length-1]))||t[t.length-2]&&(/_/.test(t[t.length-2])||!/[a-zA-Z\d]/.test(t[t.length-2])))return!1;return!0}(n))return!1;var o=function(e){var t,n,r,a,i=/[!"&'),.:;<>?\]}]+$/.exec(e);if(i)for(e=e.slice(0,i.index),t=(a=i[0]).indexOf(")"),n=Ga(e,"("),r=Ga(e,")");-1!==t&&n>r;)e+=a.slice(0,t+1),t=(a=a.slice(t+1)).indexOf(")"),r++;return[e,a]}(n+r);if(!o[0])return!1;var s={type:"link",title:null,url:i+t+o[0],children:[{type:"text",value:t+o[0]}]};return o[1]?[s,{type:"text",value:o[1]}]:s}function Za(e,t,n,r){return!(!Qa(r,!0)||/[_-\d]$/.test(n))&&{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function Qa(e,t){var n=e.input.charCodeAt(e.index-1);return(0===e.index||Ce(n)||we(n))&&(!t||47!==n)}function Ja(e){return e.label||!e.identifier?e.label||"":Yt(e.identifier)}function ei(e){var t=e||{},n=t.now||{},r=t.lineShift||0,a=n.line||1,i=n.column||1;return{move:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=e.split(/\r?\n|\r/g),n=t[t.length-1];return a+=t.length-1,i=1===t.length?i+n.length:1+n.length+r,e},current:function(){return{now:{line:a,column:i},lineShift:r}},shift:function(e){r+=e}}}function ti(e,t,n){var r=t.indexStack,a=e.children||[],i=ei(n),o=[],l=-1;for(r.push(-1);++l<a.length;){var c=a[l];r[r.length-1]=l,o.push(i.move(t.handle(c,e,t,s({before:"\n",after:"\n"},i.current())))),"list"!==c.type&&(t.bulletLastUsed=void 0),l<a.length-1&&o.push(i.move(u(c,a[l+1])))}return r.pop(),o.join("");function u(n,r){for(var a=t.join.length;a--;){var i=t.join[a](n,r,e,t);if(!0===i||1===i)break;if("number"===typeof i)return"\n".repeat(1+i);if(!1===i)return"\n\n\x3c!----\x3e\n\n"}return"\n\n"}}var ni=/\r?\n|\r/g;function ri(e,t){for(var n,r=[],a=0,i=0;n=ni.exec(e);)o(e.slice(a,n.index)),r.push(n[0]),a=n.index+n[0].length,i++;return o(e.slice(a)),r.join("");function o(e){r.push(t(e,i,!e))}}function ai(e){if(!e._compiled){var t=(e.atBreak?"[\\r\\n][\\t ]*":"")+(e.before?"(?:"+e.before+")":"");e._compiled=new RegExp((t?"("+t+")":"")+(/[|\\{}()[\]^$+*?.-]/.test(e.character)?"\\":"")+e.character+(e.after?"(?:"+e.after+")":""),"g")}return e._compiled}function ii(e,t){return oi(e,t.inConstruct,!0)&&!oi(e,t.notInConstruct,!1)}function oi(e,t,n){if(!t)return n;"string"===typeof t&&(t=[t]);for(var r=-1;++r<t.length;)if(e.includes(t[r]))return!0;return!1}function si(e,t,n){for(var r=(n.before||"")+(t||"")+(n.after||""),a=[],i=[],o={},s=-1;++s<e.unsafe.length;){var l=e.unsafe[s];if(ii(e.stack,l))for(var c=ai(l),u=void 0;u=c.exec(r);){var d="before"in l||Boolean(l.atBreak),p="after"in l,m=u.index+(d?u[1].length:0);a.includes(m)?(o[m].before&&!d&&(o[m].before=!1),o[m].after&&!p&&(o[m].after=!1)):(a.push(m),o[m]={before:d,after:p})}}a.sort(li);var f=n.before?n.before.length:0,g=r.length-(n.after?n.after.length:0);for(s=-1;++s<a.length;){var h=a[s];h<f||h>=g||(h+1<g&&a[s+1]===h+1&&o[h].after&&!o[h+1].before&&!o[h+1].after||a[s-1]===h-1&&o[h].before&&!o[h-1].before&&!o[h-1].after||(f!==h&&i.push(ci(r.slice(f,h),"\\")),f=h,!/[!-/:-@[-`{-~]/.test(r.charAt(h))||n.encode&&n.encode.includes(r.charAt(h))?(i.push("&#x"+r.charCodeAt(h).toString(16).toUpperCase()+";"),f++):i.push("\\")))}return i.push(ci(r.slice(f,g),n.after)),i.join("")}function li(e,t){return e-t}function ci(e,t){for(var n,r=/\\(?=[!-/:-@[-`{-~])/g,a=[],i=[],o=e+t,s=-1,l=0;n=r.exec(o);)a.push(n.index);for(;++s<a.length;)l!==a[s]&&i.push(e.slice(l,a[s])),i.push("\\"),l=a[s];return i.push(e.slice(l)),i.join("")}function ui(){return e.peek=function(){return"["},{unsafe:[{character:"[",inConstruct:["phrasing","label","reference"]}],handlers:{footnoteDefinition:function(e,t,n,r){var a=ei(r),i=a.move("[^"),o=n.enter("footnoteDefinition"),l=n.enter("label");return i+=a.move(si(n,Ja(e),s(s({},a.current()),{},{before:i,after:"]"}))),l(),i+=a.move("]:"+(e.children&&e.children.length>0?" ":"")),a.shift(4),i+=a.move(ri(ti(e,n,a.current()),(function(e,t,n){if(t)return(n?"":" ")+e;return e}))),o(),i},footnoteReference:e}};function e(e,t,n,r){var a=ei(r),i=a.move("[^"),o=n.enter("footnoteReference"),l=n.enter("reference");return i+=a.move(si(n,Ja(e),s(s({},a.current()),{},{before:i,after:"]"}))),l(),o(),i+=a.move("]")}}function di(e,t,n){var r=t.indexStack,a=e.children||[],i=[],o=-1,l=n.before;r.push(-1);for(var c=ei(n);++o<a.length;){var u=a[o],d=void 0;if(r[r.length-1]=o,o+1<a.length){var p=t.handle.handlers[a[o+1].type];p&&p.peek&&(p=p.peek),d=p?p(a[o+1],e,t,s({before:"",after:""},c.current())).charAt(0):""}else d=n.after;i.length>0&&("\r"===l||"\n"===l)&&"html"===u.type&&(i[i.length-1]=i[i.length-1].replace(/(\r?\n|\r)$/," "),l=" ",(c=ei(n)).move(i.join(""))),i.push(c.move(t.handle(u,e,t,s(s({},c.current()),{},{before:l,after:d})))),l=i[i.length-1].slice(-1)}return r.pop(),i.join("")}var pi={canContainEols:["delete"],enter:{strikethrough:function(e){this.enter({type:"delete",children:[]},e)}},exit:{strikethrough:function(e){this.exit(e)}}},mi={unsafe:[{character:"~",inConstruct:"phrasing"}],handlers:{delete:fi}};function fi(e,t,n,r){var a=ei(r),i=n.enter("emphasis"),o=a.move("~~");return o+=di(e,n,s(s({},a.current()),{},{before:o,after:"~"})),o+=a.move("~~"),i(),o}function gi(e,t,n){for(var r=e.value||"",a="`",i=-1;new RegExp("(^|[^`])"+a+"([^`]|$)").test(r);)a+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++i<n.unsafe.length;){var o=n.unsafe[i],s=ai(o),l=void 0;if(o.atBreak)for(;l=s.exec(r);){var c=l.index;10===r.charCodeAt(c)&&13===r.charCodeAt(c-1)&&c--,r=r.slice(0,c)+" "+r.slice(l.index+1)}}return a+r+a}function hi(e){return null===e||void 0===e?"":String(e)}function bi(e){return e.length}function Ei(e){var t="string"===typeof e?e.codePointAt(0):0;return 67===t||99===t?99:76===t||108===t?108:82===t||114===t?114:0}fi.peek=function(){return"~"},gi.peek=function(){return"`"};var yi={enter:{table:function(e){var t=e._align;this.enter({type:"table",align:t.map((function(e){return"none"===e?null:e})),children:[]},e),this.setData("inTable",!0)},tableData:Si,tableHeader:Si,tableRow:function(e){this.enter({type:"tableRow",children:[]},e)}},exit:{codeText:function(e){var t=this.resume();this.getData("inTable")&&(t=t.replace(/\\([\\|])/g,vi));this.stack[this.stack.length-1].value=t,this.exit(e)},table:function(e){this.exit(e),this.setData("inTable")},tableData:Ti,tableHeader:Ti,tableRow:Ti}};function Ti(e){this.exit(e)}function Si(e){this.enter({type:"tableCell",children:[]},e)}function vi(e,t){return"|"===t?t:e}function Ai(e){var t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,a=t.stringLength,i=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:"\n",inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[\t :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{table:function(e,t,n,r){return l(function(e,t,n){var r=e.children,a=-1,i=[],o=t.enter("table");for(;++a<r.length;)i[a]=c(r[a],t,n);return o(),i}(e,n,r),e.align)},tableRow:function(e,t,n,r){var a=l([c(e,n,r)]);return a.slice(0,a.indexOf("\n"))},tableCell:o,inlineCode:function(e,t,n){var r=gi(e,0,n);n.stack.includes("tableCell")&&(r=r.replace(/\|/g,"\\$&"));return r}}};function o(e,t,n,r){var a=n.enter("tableCell"),o=n.enter("phrasing"),l=di(e,n,s(s({},r),{},{before:i,after:i}));return o(),a(),l}function l(e,t){return function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(t.align||[]).concat(),r=t.stringLength||bi,a=[],i=[],o=[],s=[],l=0,c=-1;++c<e.length;){var u=[],d=[],p=-1;for(e[c].length>l&&(l=e[c].length);++p<e[c].length;){var m=hi(e[c][p]);if(!1!==t.alignDelimiters){var f=r(m);d[p]=f,(void 0===s[p]||f>s[p])&&(s[p]=f)}u.push(m)}i[c]=u,o[c]=d}var g=-1;if("object"===typeof n&&"length"in n)for(;++g<l;)a[g]=Ei(n[g]);else for(var h=Ei(n);++g<l;)a[g]=h;g=-1;for(var b=[],E=[];++g<l;){var y=a[g],T="",S="";99===y?(T=":",S=":"):108===y?T=":":114===y&&(S=":");var v=!1===t.alignDelimiters?1:Math.max(1,s[g]-T.length-S.length),A=T+"-".repeat(v)+S;!1!==t.alignDelimiters&&((v=T.length+v+S.length)>s[g]&&(s[g]=v),E[g]=v),b[g]=A}i.splice(1,0,b),o.splice(1,0,E),c=-1;for(var _=[];++c<i.length;){var k=i[c],C=o[c];g=-1;for(var w=[];++g<l;){var N=k[g]||"",I="",R="";if(!1!==t.alignDelimiters){var x=s[g]-(C[g]||0),O=a[g];114===O?I=" ".repeat(x):99===O?x%2?(I=" ".repeat(x/2+.5),R=" ".repeat(x/2-.5)):R=I=" ".repeat(x/2):R=" ".repeat(x)}!1===t.delimiterStart||g||w.push("|"),!1===t.padding||!1===t.alignDelimiters&&""===N||!1===t.delimiterStart&&!g||w.push(" "),!1!==t.alignDelimiters&&w.push(I),w.push(N),!1!==t.alignDelimiters&&w.push(R),!1!==t.padding&&w.push(" "),!1===t.delimiterEnd&&g===l-1||w.push("|")}_.push(!1===t.delimiterEnd?w.join("").replace(/ +$/,""):w.join(""))}return _.join("\n")}(e,{align:t,alignDelimiters:r,padding:n,stringLength:a})}function c(e,t,n){for(var r=e.children,a=-1,i=[],s=t.enter("tableRow");++a<r.length;)i[a]=o(r[a],0,t,n);return s(),i}}function _i(e,t,n,r){var a=function(e){var t=e.options.listItemIndent||"tab";if(1===t||"1"===t)return"one";if("tab"!==t&&"one"!==t&&"mixed"!==t)throw new Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}(n),i=n.bulletCurrent||function(e){var t=e.options.bullet||"*";if("*"!==t&&"+"!==t&&"-"!==t)throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}(n);t&&"list"===t.type&&t.ordered&&(i=("number"===typeof t.start&&t.start>-1?t.start:1)+(!1===n.options.incrementListMarker?0:t.children.indexOf(e))+i);var o=i.length+1;("tab"===a||"mixed"===a&&(t&&"list"===t.type&&t.spread||e.spread))&&(o=4*Math.ceil(o/4));var s=ei(r);s.move(i+" ".repeat(o-i.length)),s.shift(o);var l=n.enter("listItem"),c=ri(ti(e,n,s.current()),(function(e,t,n){if(t)return(n?"":" ".repeat(o))+e;return(n?i:i+" ".repeat(o-i.length))+e}));return l(),c}var ki={exit:{taskListCheckValueChecked:wi,taskListCheckValueUnchecked:wi,paragraph:function(e){var t,n=this.stack[this.stack.length-2],r=this.stack[this.stack.length-1],a=n.children,i=r.children[0],o=-1;if(n&&"listItem"===n.type&&"boolean"===typeof n.checked&&i&&"text"===i.type){for(;++o<a.length;){var s=a[o];if("paragraph"===s.type){t=s;break}}t===r&&(i.value=i.value.slice(1),0===i.value.length?r.children.shift():r.position&&i.position&&"number"===typeof i.position.start.offset&&(i.position.start.column++,i.position.start.offset++,r.position.start=Object.assign({},i.position.start)))}this.exit(e)}}},Ci={unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:function(e,t,n,r){var a=e.children[0],i="boolean"===typeof e.checked&&a&&"paragraph"===a.type,o="["+(e.checked?"x":" ")+"] ",l=ei(r);i&&l.move(o);var c=_i(e,t,n,s(s({},r),l.current()));i&&(c=c.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,(function(e){return e+o})));return c}}};function wi(e){this.stack[this.stack.length-2].checked="taskListCheckValueChecked"===e.type}function Ni(){return[Ka,{enter:{gfmFootnoteDefinition:function(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)},gfmFootnoteDefinitionLabelString:function(){this.buffer()},gfmFootnoteCall:function(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)},gfmFootnoteCallString:function(){this.buffer()}},exit:{gfmFootnoteDefinition:function(e){this.exit(e)},gfmFootnoteDefinitionLabelString:function(e){var t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=nt(this.sliceSerialize(e)).toLowerCase()},gfmFootnoteCall:function(e){this.exit(e)},gfmFootnoteCallString:function(e){var t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=nt(this.sliceSerialize(e)).toLowerCase()}}},pi,yi,ki]}function Ii(e){return{extensions:[qa,ui(),mi,Ai(e),Ci]}}function Ri(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.data();function n(e,n){(t[e]?t[e]:t[e]=[]).push(n)}n("micromarkExtensions",Ba(e)),n("fromMarkdownExtensions",Ni()),n("toMarkdownExtensions",Ii(e))}var xi=n(8992),Oi=/[#.]/g,Li=function(e){for(var t,n,r,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"div",i=e||"",o={},s=0;s<i.length;)Oi.lastIndex=s,r=Oi.exec(i),(t=i.slice(s,r?r.index:i.length))&&(n?"#"===n?o.id=t:Array.isArray(o.className)?o.className.push(t):o.className=[t]:a=t,s+=t.length),r&&(n=r[0],s++);return{type:"element",tagName:a,properties:o,children:[]}},Pi=new Set(["menu","submit","reset","button"]),Di={}.hasOwnProperty;function Mi(e,t,n){var r=n&&function(e){var t={},n=-1;for(;++n<e.length;)t[e[n].toLowerCase()]=e[n];return t}(n);return function(n,a){for(var i,o,s=-1,l=arguments.length,c=new Array(l>2?l-2:0),u=2;u<l;u++)c[u-2]=arguments[u];if(void 0===n||null===n)i={type:"root",children:[]},c.unshift(a);else if((i=Li(n,t)).tagName=i.tagName.toLowerCase(),r&&Di.call(r,i.tagName)&&(i.tagName=r[i.tagName]),Fi(a,i.tagName))for(o in a)Di.call(a,o)&&Ui(e,i.properties,o,a[o]);else c.unshift(a);for(;++s<c.length;)Bi(i.children,c[s]);return"element"===i.type&&"template"===i.tagName&&(i.content={type:"root",children:i.children},i.children=[]),i}}function Fi(e,t){return null!==e&&void 0!==e&&"object"===typeof e&&!Array.isArray(e)&&("input"===t||!e.type||"string"!==typeof e.type||(!("children"in e)||!Array.isArray(e.children))&&("button"===t?Pi.has(e.type.toLowerCase()):!("value"in e)))}function Ui(e,t,n,r){var a,i=hr(e,n),o=-1;if(void 0!==r&&null!==r){if("number"===typeof r){if(Number.isNaN(r))return;a=r}else a="boolean"===typeof r?r:"string"===typeof r?i.spaceSeparated?Tr(r):i.commaSeparated?vr(r):i.commaOrSpaceSeparated?Tr(vr(r).join(" ")):Gi(i,i.property,r):Array.isArray(r)?r.concat():"style"===i.property?function(e){var t,n=[];for(t in e)Di.call(e,t)&&n.push([t,e[t]].join(": "));return n.join("; ")}(r):String(r);if(Array.isArray(a)){for(var s=[];++o<a.length;)s[o]=Gi(i,i.property,a[o]);a=s}"className"===i.property&&Array.isArray(t.className)&&(a=t.className.concat(a)),t[i.property]=a}}function Bi(e,t){var n=-1;if(void 0===t||null===t);else if("string"===typeof t||"number"===typeof t)e.push({type:"text",value:String(t)});else if(Array.isArray(t))for(;++n<t.length;)Bi(e,t[n]);else{if("object"!==typeof t||!("type"in t))throw new Error("Expected node, nodes, or string, got `"+t+"`");"root"===t.type?Bi(e,t.children):e.push(t)}}function Gi(e,t,n){if("string"===typeof n){if(e.number&&n&&!Number.isNaN(Number(n)))return Number(n);if((e.boolean||e.overloadedBoolean)&&(""===n||Fn(n)===Fn(t)))return!0}return n}var Hi=Mi(lr,"g",["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","solidColor","textArea","textPath"]),zi=Mi(sr,"div");var $i={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},ji={}.hasOwnProperty,Vi={"#document":Ki,"#document-fragment":Ki,"#text":function(e,t){return{type:"text",value:t.value}},"#comment":function(e,t){return{type:"comment",value:t.data}},"#documentType":function(){return{type:"doctype"}}};function Wi(e,t){var n,r=e.schema,a=ji.call(Vi,t.nodeName)?Vi[t.nodeName]:qi;"tagName"in t&&(e.schema=t.namespaceURI===$i.svg?lr:sr),"childNodes"in t&&(n=function(e,t){var n=-1,r=[];for(;++n<t.length;)r[n]=Wi(e,t[n]);return r}(e,t.childNodes));var i=a(e,t,n);if("sourceCodeLocation"in t&&t.sourceCodeLocation&&e.file){var o=function(e,t,n){var r=Yi(n);if("element"===t.type){var a=t.children[t.children.length-1];if(r&&!n.endTag&&a&&a.position&&a.position.end&&(r.end=Object.assign({},a.position.end)),e.verbose){var i,o={};for(i in n.attrs)ji.call(n.attrs,i)&&(o[hr(e.schema,i).property]=Yi(n.attrs[i]));t.data={position:{opening:Yi(n.startTag),closing:n.endTag?Yi(n.endTag):null,properties:o}}}}return r}(e,i,t.sourceCodeLocation);o&&(e.location=!0,i.position=o)}return e.schema=r,i}function Ki(e,t,n){var r={type:"root",children:n,data:{quirksMode:"quirks"===t.mode||"limited-quirks"===t.mode}};if(e.file&&e.location){var a=String(e.file),i=function(e){for(var t=String(e),n=[],r=/\r?\n|\r/g;r.test(t);)n.push(r.lastIndex);return n.push(t.length+1),{toPoint:function(e){var t=-1;if(e>-1&&e<n[n.length-1])for(;++t<n.length;)if(n[t]>e)return{line:t+1,column:e-(n[t-1]||0)+1,offset:e};return{line:void 0,column:void 0,offset:void 0}},toOffset:function(e){var t,r=e&&e.line,a=e&&e.column;return"number"!==typeof r||"number"!==typeof a||Number.isNaN(r)||Number.isNaN(a)||!(r-1 in n)||(t=(n[r-2]||0)+a-1||0),t>-1&&t<n[n.length-1]?t:-1}}}(a);r.position={start:i.toPoint(0),end:i.toPoint(a.length)}}return r}function qi(e,t,n){for(var r="svg"===e.schema.space?Hi:zi,a=-1,i={};++a<t.attrs.length;){var o=t.attrs[a];i[(o.prefix?o.prefix+":":"")+o.name]=o.value}var s=r(t.tagName,i,n);if("template"===s.tagName&&"content"in t){var l=t.sourceCodeLocation,c=l&&l.startTag&&Yi(l.startTag),u=l&&l.endTag&&Yi(l.endTag),d=Wi(e,t.content);c&&u&&e.file&&(d.position={start:c.end,end:u.start}),s.content=d}return s}function Yi(e){var t=Xi({line:e.startLine,column:e.startCol,offset:e.startOffset}),n=Xi({line:e.endLine,column:e.endCol,offset:e.endOffset});return t||n?{start:t,end:n}:null}function Xi(e){return e.line&&e.column?e:null}function Zi(e){return"messages"in e}var Qi=$i,Ji=yr,eo={}.hasOwnProperty,to=an("root"),no=an("element"),ro=an("text");function ao(e,t,n){if("function"!==typeof e)throw new TypeError("h is not a function");var r,a,i=function(e){var t=e("div",{});return Boolean(t&&("_owner"in t||"_store"in t)&&(void 0===t.key||null===t.key))}(e),o=function(e){var t=e("div",{});return Boolean(t&&t.context&&t.context._isVue)}(e),s=function(e){return"VirtualNode"===e("div",{}).type}(e);if("string"===typeof n||"boolean"===typeof n?(r=n,n={}):(n||(n={}),r=n.prefix),to(t))a=1===t.children.length&&no(t.children[0])?t.children[0]:{type:"element",tagName:"div",properties:{},children:t.children};else{if(!no(t))throw new Error("Expected root or element, not `"+(t&&t.type||t)+"`");a=t}return io(e,a,{schema:"svg"===n.space?lr:sr,prefix:void 0===r||null===r?i||o||s?"h-":null:"string"===typeof r?r:r?"h-":null,key:0,react:i,vue:o,vdom:s,hyperscript:so(e)})}function io(e,t,n){var r,a=n.schema,i=a,o=t.tagName,s={},l=[],c=-1;for(r in"html"===a.space&&"svg"===o.toLowerCase()&&(i=lr,n.schema=i),t.properties)t.properties&&eo.call(t.properties,r)&&oo(s,r,t.properties[r],n,o);if(n.vdom&&("html"===i.space?o=o.toUpperCase():i.space&&(s.namespace=Qi[i.space])),n.prefix&&(n.key++,s.key=n.prefix+n.key),t.children)for(;++c<t.children.length;){var u=t.children[c];no(u)?l.push(io(e,u,n)):ro(u)&&l.push(u.value)}return n.schema=a,l.length>0?e.call(t,o,s,l):e.call(t,o,s)}function oo(e,t,n,r,a){var o,s=hr(r.schema,t);void 0===n||null===n||"number"===typeof n&&Number.isNaN(n)||!1===n&&(r.vue||r.vdom||r.hyperscript)||!n&&s.boolean&&(r.vue||r.vdom||r.hyperscript)||(Array.isArray(n)&&(n=s.commaSeparated?Ar(n):Sr(n)),s.boolean&&r.hyperscript&&(n=""),"style"===s.property&&"string"===typeof n&&(r.react||r.vue||r.vdom)&&(n=function(e,t){var n={};try{_r(e,(function(e,t){"-ms-"===e.slice(0,4)&&(e="ms-"+e.slice(4)),n[e.replace(/-([a-z])/g,(function(e,t){return t.toUpperCase()}))]=t}))}catch(r){throw r.message=t+"[style]"+r.message.slice("undefined".length),r}return n}(n,a)),r.vue?"style"!==s.property&&(o="attrs"):s.mustUseProperty||(r.vdom?"style"!==s.property&&(o="attributes"):r.hyperscript&&(o="attrs")),o?e[o]=Object.assign(e[o]||{},i({},s.attribute,n)):s.space&&r.react?e[Ji[s.property]||s.property]=n:e[s.attribute]=n)}function so(e){return"context"in e&&"cleanup"in e}var lo={}.hasOwnProperty;function co(e,t){var n=t||{};function r(t){var n=r.invalid,a=r.handlers;if(t&&lo.call(t,e)&&(n=lo.call(a,t[e])?a[t[e]]:r.unknown),n)return n.apply(this,arguments)}return r.handlers=n.handlers||{},r.invalid=n.invalid,r.unknown=n.unknown,r}var uo={}.hasOwnProperty,po=co("type",{handlers:{root:function(e,t){var n={nodeName:"#document",mode:(e.data||{}).quirksMode?"quirks":"no-quirks",childNodes:[]};return n.childNodes=mo(e.children,n,t),fo(e,n)},element:function(e,t){var n=t.space;return ao((function(n,r){var a,i,o,s,l,c=[];for(o in r)uo.call(r,o)&&!1!==r[o]&&((a=hr(t,o)).boolean&&!r[o]||(i={name:o,value:!0===r[o]?"":String(r[o])},a.space&&"html"!==a.space&&"svg"!==a.space&&((s=o.indexOf(":"))<0?i.prefix="":(i.name=o.slice(s+1),i.prefix=o.slice(0,s)),i.namespace=$i[a.space]),c.push(i)));"html"===t.space&&"svg"===e.tagName&&(t=lr);(l=fo(e,{nodeName:n,tagName:n,attrs:c,namespaceURI:$i[t.space],childNodes:[],parentNode:void 0})).childNodes=mo(e.children,l,t),"template"===n&&(l.content=function(e,t){var n={nodeName:"#document-fragment",childNodes:[]};return n.childNodes=mo(e.children,n,t),fo(e,n)}(e.content,t));return l}),Object.assign({},e,{children:[]}),{space:n})},text:function(e){return fo(e,{nodeName:"#text",value:e.value,parentNode:void 0})},comment:function(e){return fo(e,{nodeName:"#comment",data:e.value,parentNode:void 0})},doctype:function(e){return fo(e,{nodeName:"#documentType",name:"html",publicId:"",systemId:"",parentNode:void 0})}}});function mo(e,t,n){var r,a=-1,i=[];if(e)for(;++a<e.length;)(r=po(e[a],n)).parentNode=t,i.push(r);return i}function fo(e,t){var n=e.position;return n&&n.start&&n.end&&(t.sourceCodeLocation={startLine:n.start.line,startCol:n.start.column,startOffset:n.start.offset,endLine:n.end.line,endCol:n.end.column,endOffset:n.end.offset}),t}var go=["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","isindex","keygen","link","menuitem","meta","nextid","param","source","track","wbr"],ho="END_TAG_TOKEN",bo={sourceCodeLocationInfo:!0,scriptingEnabled:!1},Eo=function e(t,n,r){var a,i,o,l,c,u,d=-1,p=new xi(bo),m=co("type",{handlers:{root:function(e){g(e.children)},element:function(e){E(),p._processToken(yo(e),$i.html),g(e.children),go.includes(e.tagName)||(E(),p._processToken(function(e){var t=Object.assign(vo(e));return t.startTag=Object.assign({},t),{type:ho,tagName:e.tagName,attrs:[],location:t}}(e)))},text:function(e){E(),p._processToken({type:"CHARACTER_TOKEN",chars:e.value,location:vo(e)})},comment:h,doctype:function(e){E(),p._processToken({type:"DOCTYPE_TOKEN",name:"html",forceQuirks:!1,publicId:"",systemId:"",location:vo(e)})},raw:function(e){var t=dn(e),n=t.line||1,r=t.column||1,a=t.offset||0;if(!o)throw new Error("Expected `preprocessor`");if(!i)throw new Error("Expected `tokenizer`");if(!l)throw new Error("Expected `posTracker`");if(!c)throw new Error("Expected `locationTracker`");o.html=void 0,o.pos=-1,o.lastGapPos=-1,o.lastCharPos=-1,o.gapStack=[],o.skipNextNewLine=!1,o.lastChunkWritten=!1,o.endOfChunkHit=!1,l.isEol=!1,l.lineStartPos=1-r,l.droppedBufferSize=a,l.offset=0,l.col=1,l.line=n,c.currentAttrLocation=void 0,c.ctLoc=vo(e),i.write(e.value),p._runParsingLoop(null),("NAMED_CHARACTER_REFERENCE_STATE"===i.state||"NUMERIC_CHARACTER_REFERENCE_END_STATE"===i.state)&&(o.lastChunkWritten=!0,i[i.state](i._consume()))}},unknown:So});if(u=n,Boolean(u&&!("message"in u&&"messages"in u))&&(r=n,n=void 0),r&&r.passThrough)for(;++d<r.passThrough.length;)m.handlers[r.passThrough[d]]=b;var f=function(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Zi(r)?(n=r,t={}):(n=r.file,t=r),Wi({schema:"svg"===t.space?lr:sr,file:n,verbose:t.verbose,location:!1},e)}(function(e){var t="root"===e.type?e.children[0]:e;return Boolean(t&&("doctype"===t.type||"element"===t.type&&"html"===t.tagName))}(t)?function(){var e=p.treeAdapter.createDocument();if(p._bootstrap(e,void 0),!(i=p.tokenizer))throw new Error("Expected `tokenizer`");return o=i.preprocessor,c=i.__mixins[0],l=c.posTracker,m(t),E(),e}():function(){var e={nodeName:"template",tagName:"template",attrs:[],namespaceURI:$i.html,childNodes:[]},n={nodeName:"documentmock",tagName:"documentmock",attrs:[],namespaceURI:$i.html,childNodes:[]},r={nodeName:"#document-fragment",childNodes:[]};if(p._bootstrap(n,e),p._pushTmplInsertionMode("IN_TEMPLATE_MODE"),p._initTokenizerForFragmentParsing(),p._insertFakeRootElement(),p._resetInsertionMode(),p._findFormInFragmentContext(),!(i=p.tokenizer))throw new Error("Expected `tokenizer`");return o=i.preprocessor,c=i.__mixins[0],l=c.posTracker,m(t),E(),p._adoptNodes(n.childNodes[0],r),r}(),n);return a&&un(f,"comment",(function(e,t,n){var r=e;if(r.value.stitch&&null!==n&&null!==t)return n.children[t]=r.value.stitch,t})),"root"!==t.type&&"root"===f.type&&1===f.children.length?f.children[0]:f;function g(e){var t=-1;if(e)for(;++t<e.length;)m(e[t])}function h(e){E(),p._processToken({type:"COMMENT_TOKEN",data:e.value,location:vo(e)})}function b(t){a=!0,h({type:"comment",value:{stitch:"children"in t?s(s({},t),{},{children:e({type:"root",children:t.children},n,r).children}):s({},t)}})}function E(){if(!i)throw new Error("Expected `tokenizer`");if(!l)throw new Error("Expected `posTracker`");var e=i.currentCharacterToken;e&&(e.location.endLine=l.line,e.location.endCol=l.col+1,e.location.endOffset=l.offset+1,p._processToken(e)),i.tokenQueue=[],i.state="DATA_STATE",i.returnState="",i.charRefCode=-1,i.tempBuff=[],i.lastStartTagName="",i.consumedAfterSnapshot=-1,i.active=!1,i.currentCharacterToken=void 0,i.currentToken=void 0,i.currentAttr=void 0}};function yo(e){var t=Object.assign(vo(e));return t.startTag=Object.assign({},t),{type:"START_TAG_TOKEN",tagName:e.tagName,selfClosing:!1,attrs:To(e),location:t}}function To(e){return(t={tagName:e.tagName,type:"element",properties:e.properties,children:[]},po(t,"svg"===n?lr:sr)).attrs;var t,n}function So(e){throw new Error("Cannot compile `"+e.type+"` node")}function vo(e){var t=dn(e),n=pn(e);return{startLine:t.line,startCol:t.column,startOffset:t.offset,endLine:n.line,endCol:n.column,endOffset:n.offset}}function Ao(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t,n){return Eo(t,n,e)}}var _o=n(184),ko=function(e){return(0,_o.jsxs)("svg",s(s({height:512,style:{enableBackground:"new 0 0 512 512"},viewBox:"0 0 512 512",width:512,xmlSpace:"preserve",xmlns:"http://www.w3.org/2000/svg",role:"img"},e),{},{children:[(0,_o.jsx)("path",{d:"m184.7 413.1 2.1-1.8 156.5-136c5.3-4.6 8.6-11.5 8.6-19.2 0-7.7-3.4-14.6-8.6-19.2L187.1 101l-2.6-2.3C182 97 179 96 175.8 96c-8.7 0-15.8 7.4-15.8 16.6v286.8c0 9.2 7.1 16.6 15.8 16.6 3.3 0 6.4-1.1 8.9-2.9z"}),(0,_o.jsx)("path",{style:{fill:"#fff",strokeWidth:.498539},d:"M171.101 414.868c-4.514-1.611-8.561-5.771-10.18-10.464-.834-2.42-1.217-288.516-.393-293.894.907-5.921 3.926-10.216 8.895-12.657 3.95-1.94 9.155-1.937 12.793.007 3.343 1.785 161.905 139.906 164.376 143.184 3.021 4.01 4.472 8.2 4.757 13.742.186 3.605.037 5.49-.609 7.727-1.173 4.064-3.454 8.202-5.94 10.774-1.146 1.186-37.704 33.115-81.239 70.955-55.39 48.142-79.907 69.15-81.66 69.97-3.43 1.606-7.454 1.85-10.8.656z"})]}))},Co=function(e){return(0,_o.jsxs)("svg",s(s({height:512,style:{enableBackground:"new 0 0 512 512"},viewBox:"0 0 512 512",width:512,xmlSpace:"preserve",xmlns:"http://www.w3.org/2000/svg",role:"img"},e),{},{children:[(0,_o.jsx)("path",{d:"m98.9 184.7 1.8 2.1 136 156.5c4.6 5.3 11.5 8.6 19.2 8.6 7.7 0 14.6-3.4 19.2-8.6L411 187.1l2.3-2.6c1.7-2.5 2.7-5.5 2.7-8.7 0-8.7-7.4-15.8-16.6-15.8H112.6c-9.2 0-16.6 7.1-16.6 15.8 0 3.3 1.1 6.4 2.9 8.9z"}),(0,_o.jsx)("path",{style:{fill:"#fff",strokeWidth:.498539},d:"M248.273 350.336c-4.083-1.397-7.187-3.22-9.662-5.673-1.064-1.054-32.92-37.549-70.793-81.098-48.133-55.35-69.23-79.958-70.096-81.76-1.803-3.758-1.753-8.546.131-12.382 2.335-4.755 6.517-7.824 12.058-8.848 4.16-.769 288.018-.769 292.178 0 5.54 1.024 9.723 4.093 12.058 8.848 1.847 3.762 1.927 9.146.186 12.495-1.265 2.433-139.44 161.51-142.47 164.02-6.161 5.108-16.1 6.96-23.59 4.398z"})]}))},wo=["node","inline","className","children"];function No(e){var t=e.valueToCopy;return(0,_o.jsx)("button",{onClick:function(){return e=t,void navigator.clipboard.writeText(e);var e},children:"Copy"})}var Io=function(){var e,t=g((0,r.useState)(""),2),n=t[0],a=t[1],i=g((0,r.useState)("all"),2),o=i[0],c=i[1],u=g((0,r.useState)([]),2),d=u[0],m=u[1],f=g((0,r.useState)([]),2),b=f[0],E=f[1],y=(0,r.useCallback)((function(e){var t=d.includes(e)?d.filter((function(t){return t!==e})):[].concat(p(d),[e]);m(t)}),[d]),T=(0,r.useCallback)((function(e){var t=b.includes(e)?b.filter((function(t){return t!==e})):[].concat(p(b),[e]);E(t)}),[b]),S=n.length||"all"!==o?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"all";if("all"===n&&t.length)return e;var r={};if(r.items="all"!==n?e.items.filter((function(e){return e.type===n})):e.items,t.length)return r;var a={};return a.items=t.length?r.items.filter((function(e){return e.title.toLowerCase().includes(t.toLowerCase())||e.content.toLowerCase().includes(t.toLowerCase())})):r.items,a}(h,n,o):h;return(0,_o.jsxs)("div",{className:"App",children:[(0,_o.jsxs)("div",{className:"inputFilter",children:[(0,_o.jsxs)("span",{align:"center",children:[(0,_o.jsx)("input",{type:"text",onChange:function(e){!function(e,t,n){var r,a=this}(a(e.target.value),300)},value:n})," Search"]}),(0,_o.jsxs)("span",{align:"center",children:[" \udb40\udc5d \udb40\udc5d \udb40\udc5d \udb40\udc5d \udb40\udc5d \udb40\udc5d \udb40\udc5d \udb40\udc5d \udb40\udc5d \udb40\udc5d \udb40\udc5d",(0,_o.jsx)("a",{href:"https://github.com/tteck/Proxmox/blob/main/LICENSE",children:(0,_o.jsx)("img",{alt:"License MIT",src:"https://img.shields.io/badge/license-MIT-blue"})})," ",(0,_o.jsx)("a",{href:"https://github.com/tteck/Proxmox/discussions",children:(0,_o.jsx)("img",{src:"https://img.shields.io/badge/%F0%9F%92%AC-Discussions-orange",alt:"Discussions"})})," ",(0,_o.jsx)("a",{href:"https://github.com/tteck/Proxmox/blob/main/CHANGELOG.MD",children:(0,_o.jsx)("img",{src:"https://img.shields.io/badge/\ud83d\udd36-Changelog-blue",alt:"Changelog"})})," ",(0,_o.jsx)("a",{href:"https://ko-fi.com/D1D7EP4GF",children:(0,_o.jsx)("img",{src:"https://img.shields.io/badge/%E2%98%95-Buy%20me%20a%20coffee-red",alt:"Buy me a coffee"})})]})]}),0===S.items.length&&(0,_o.jsxs)("div",{children:["No items match your criteria ",(0,_o.jsx)("button",{onClick:function(){a(""),c("all")},children:"Clear Filters"})]}),(0,_o.jsxs)("div",{children:[(0,_o.jsx)("span",{onClick:function(){E(h.categories.map((function(e){return e.title})))},children:" \udb40\udc20 \udb40\udc20 \udb40\udc20\u2795 \udb40\udc20 \udb40\udc20"})," \udb40\udc20 ",(0,_o.jsx)("span",{onClick:function(){m([]),E([])},children:" \udb40\udc20 \udb40\udc20 \udb40\udc20\u2796 \udb40\udc20 \udb40\udc20"})]}),null===(e=S.items)||void 0===e?void 0:e.map((function(e,t){return(0,_o.jsxs)("div",{className:"App-items",children:[(0===t||S.items[0===t?0:t-1].category!==e.category)&&(0,_o.jsxs)("div",{onClick:function(){return T(e.category)},className:"itemCategory",children:[e.category,n&&e.title.toLowerCase().includes(n.toLowerCase())||d.includes(e.title)||b.includes(e.category)?(0,_o.jsx)(Co,{className:"navArrow",alt:"Expanded"}):(0,_o.jsx)(ko,{className:"navArrow",alt:"Collapsed"})," "]}),(n&&e.title.toLowerCase().includes(n.toLowerCase())||d.includes(e.title)||b.includes(e.category))&&(0,_o.jsx)("span",{onClick:function(){return y(e.title)},className:"itemTitle",children:e.title}),(n&&e.title.toLowerCase().includes(n.toLowerCase())||d.includes(e.title))&&(0,_o.jsx)("div",{className:"item",children:(0,_o.jsx)(Pr,{children:e.content,remarkPlugins:[Ri],rehypePlugins:[Ao],components:{code:function(e){e.node;var t=e.inline,n=e.className,r=e.children,a=l(e,wo),i=/language-(\w+)/.exec(n||"");return!t&&i?(0,_o.jsxs)(_o.Fragment,{children:[(0,_o.jsx)(No,{valueToCopy:String(r)}),(0,_o.jsx)(ia,s({children:String(r).replace(/\n$/,""),style:oa,language:i[1],PreTag:"div"},a))]}):(0,_o.jsx)("code",s(s({className:n},a),{},{children:r}))}}})})]},e.title)}))]})};a.createRoot(document.getElementById("root")).render((0,_o.jsx)(r.StrictMode,{children:(0,_o.jsx)(Io,{})}))}()}(); +//# sourceMappingURL=main.2e54a7ef.js.map \ No newline at end of file diff --git a/static/js/main.c6fa54b7.js.LICENSE.txt b/static/js/main.2e54a7ef.js.LICENSE.txt similarity index 100% rename from static/js/main.c6fa54b7.js.LICENSE.txt rename to static/js/main.2e54a7ef.js.LICENSE.txt diff --git a/static/js/main.2e54a7ef.js.map b/static/js/main.2e54a7ef.js.map new file mode 100644 index 00000000..da2ac4f8 --- /dev/null +++ b/static/js/main.2e54a7ef.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/main.2e54a7ef.js","mappings":"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AG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,KAAK,IAAK,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAAE,MAAM,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,GAAG,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,EAAE,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,MAAM,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,MAAM,MAAM,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,MAAM,GAAG,GAAG,EAAE,KAAK,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,MAAM,GAAG,GAAG,EAAE,KAAK,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,KAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,KAAK,GAAG,EAAE,GAAG,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,GAAG,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,MAAM,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,MAAM,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,KAAK,GAAG,EAAE,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IA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F,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,KAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,KAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,KAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,KAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,KAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB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YAET,mBAAoB,CAElB75E,QAAS,iCACTy6E,YAAY,EACZZ,MAAO,WAET,uBAAwB,CACtB75E,QAAS,KACTy6E,YAAY,EACZZ,MAAO,YA0BT,4BAA6B,CAC3B75E,QACE,0MACFy6E,YAAY,EACZZ,MAAO,WAET,eAAgB,CACd75E,QAAS,6DACTy6E,YAAY,EACZO,QAAQ,EACRnB,MAAO,YAET,wBAAyB,CACvB75E,QAAS,uBACTy6E,YAAY,EACZZ,MAAO,YAGT,gCAAiC,CAC/B,CAEE75E,QAAS,wBACTy6E,YAAY,EACZZ,MAAO,YAET,CAEE75E,QAAS,iBACTy6E,YAAY,EACZZ,MAAO,aAIX,sBAAuB,CACrB,CAEE75E,QAAS,iBACTy6E,YAAY,EACZZ,MAAO,YAET,CAEE75E,QAAS,iBACTy6E,YAAY,EACZZ,MAAO,aAGX,cAAe,CACb75E,QAAS,0BACTy6E,YAAY,GAiBd1vE,OAAQ,CACN/K,QAAS,qBACTg7E,QAAQ,EACRC,OAAQ8O,IAGRhT,EAAS,SAAUruE,GACrB,OAAQA,EAAM,IAAI9X,QAAQ,4BAA6B,OACzD,EACIs5F,EAAmB,SAAUlgG,GAC/B,OAAO,IAAIoxF,OAAO,aAAepxF,EAAImtF,IAAIJ,GAAQpoF,KAAK,KAAO,aAC/D,EACIw7F,EAAW,CACb,iBAAkB,CAChB,KACA,QACA,QACA,OACA,UACA,MACA,WACA,kBACA,MACA,OACA,YACA,aACA,OACA,WACA,OACA,OACA,QACA,WACA,OACA,QACA,OACA,MACA,IACA,IACA,QACA,QACA,QACA,OACA,kBACA,MACA,SACA,MACA,QACA,OACA,QACA,SACA,OACA,UACA,UACA,OACA,UACA,MACA,gBACA,WACA,QACA,QACA,QACA,OACA,OACA,OACA,OACA,MACA,OACA,OACA,QACA,UACA,YACA,OACA,QACA,OACA,SACA,gBACA,SACA,QACA,YACA,WACA,oBACA,kBACA,OACA,YACA,MACA,QACA,MACA,QACA,MACA,iBACA,WAEF,uBAAwB,CAEtB,UACA,YACA,YACA,KACA,SACA,MACA,IACA,WACA,KACA,SACA,QACA,SACA,YACA,aACA,WACA,SACA,UACA,gBACA,oBACA,YACA,UACA,mBACA,KACA,WACA,IACA,KACA,MAEF,oBAAqB,CACnB,aACA,WACA,SACA,mBACA,SACA,aACA,aACA,YACA,mBACA,kBACA,WACA,aACA,OACA,WACA,UACA,aACA,YACA,WACA,OACA,OACA,MACA,WACA,UACA,SACA,UACA,aACA,aACA,SACA,QACA,UACA,oBACA,aACA,cACA,OACA,SACA,gBACA,oBACA,gCACA,iCACA,YACA,UACA,WACA,SACA,aACA,aACA,UACA,SACA,OACA,eACA,eACA,QACA,OACA,SACA,YACA,UACA,QACA,WACA,cACA,WACA,QACA,YACA,aACA,aACA,qBACA,SACA,SACA,WACA,eACA,UACA,aACA,OACA,UACA,QACA,SACA,SACA,OACA,aACA,WACA,YACA,MACA,aACA,UACA,aACA,SACA,cACA,YACA,OACA,YACA,SACA,YACA,iBACA,UACA,eACA,UACA,gBACA,eACA,YACA,mBACA,UACA,SACA,WACA,OACA,aACA,oBACA,YACA,UACA,UACA,YACA,WACA,WACA,aACA,OACA,cACA,iBACA,QACA,UACA,YACA,gBACA,cACA,oBACA,MACA,UACA,OACA,SACA,OACA,sBACA,aACA,aACA,mBACA,UACA,cACA,SACA,aACA,WACA,kBACA,OACA,OACA,QACA,QACA,QACA,YACA,SACA,eACA,eACA,WACA,WACA,MACA,aACA,YACA,WACA,QACA,oBACA,eACA,OACA,cACA,QACA,UACA,UACA,OACA,cACA,SACA,OACA,gBACA,YACA,eAEF,eAAgB,CACd,UACA,kBACA,MACA,cACA,iBACA,aACA,UACA,eACA,UACA,WACA,cACA,MACA,IACA,IACA,cACA,IACA,MACA,IACA,KACA,SACA,cACA,wBACA,OACA,IACA,OACA,IACA,WACA,SACA,cACA,KACA,QACA,aACA,SACA,QACA,SACA,QACA,QACA,QACA,UACA,SACA,UACA,WACA,KACA,iBACA,KACA,MACA,UACA,aACA,KACA,KACA,MACA,QACA,WACA,SACA,KACA,UACA,UACA,MACA,SACA,KACA,SACA,QACA,OACA,WACA,aACA,UACA,WACA,OACA,YACA,cACA,QACA,MACA,iBACA,YACA,yBACA,aACA,QACA,aACA,QACA,UACA,MACA,SACA,wBACA,MACA,OACA,KACA,OACA,WACA,QACA,YACA,cAGJ5gG,OAAO8kC,KAAK87D,GAAU57D,SAAQ,SAAUslB,GACtCg2C,EAAOh2C,GAAG7zC,QAAUkqF,EAAiBC,EAASt2C,GAChD,IAyNAg2C,EAAOI,YAAYjqF,QAAUkqF,EAxNX,CAEhB,MACA,QACA,OACA,MACA,OACA,QACA,QACA,OACA,QACA,UACA,MACA,MACA,OACA,QACA,QACA,UACA,SACA,OACA,OACA,QACA,QACA,MACA,SACA,KACA,UACA,YACA,MACA,OACA,YACA,QACA,OACA,QACA,OACA,QACA,UACA,KACA,QACA,OACA,SACA,aACA,aACA,WACA,QACA,UACA,OACA,KACA,OACA,SACA,QACA,OACA,SACA,MACA,OACA,SACA,MACA,WACA,YACA,iBACA,kBACA,SACA,YACA,QACA,YACA,YACA,WACA,cACA,UACA,YACA,gBACA,mBACA,SACA,MACA,UACA,cACA,aACA,SACA,cACA,OACA,eACA,YACA,UACA,eACA,eACA,aACA,kBACA,QACA,aACA,SACA,eACA,YACA,eACA,WACA,SACA,WACA,aACA,OACA,YACA,gBACA,eACA,OACA,UACA,UACA,YACA,gBACA,iBACA,kBACA,gBACA,UACA,OACA,YACA,cACA,UACA,cACA,aACA,OACA,aACA,iBACA,aACA,OACA,eACA,cACA,WACA,gBACA,YACA,UACA,QACA,aACA,QACA,OACA,aACA,UACA,aACA,aACA,QACA,OACA,YACA,iBACA,YACA,UACA,eACA,cACA,iBACA,YACA,oBACA,kBACA,QACA,iBACA,eACA,gBACA,kBACA,cACA,gBACA,gBACA,kBACA,cACA,OACA,UACA,YACA,YACA,UACA,eACA,iBACA,aACA,OACA,SACA,cA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CZZ,MAAO,YAET,CAGE75E,QACE,qGACFy6E,YAAY,EACZZ,MAAO,YAET,CAEE75E,QACE,mEACFy6E,YAAY,EACZZ,MAAO,YAET,CAEE75E,QACE,uFACFy6E,YAAY,EACZZ,MAAO,aAGXrgF,MAAO,CACLwG,QAAS,0CACTy6E,YAAY,EACZO,QAAQ,EACRnB,MAAO,YAET50E,KAAM,CACJjF,QAAS,gEACT65E,MAAO,UAET9uE,OAAQ,CACN/K,QAAS,cACTg7E,QAAQ,GAEVa,WAAY,CACV77E,QACE,gGACF65E,MAAO,aAETa,QAAS,CAEP,CACE16E,QACE,yOACFy6E,YAAY,EACZO,QAAQ,GAEV,CACEh7E,QACE,2KACFy6E,YAAY,EACZO,QAAQ,IAGZnvE,OAAQ,cACR8uE,SAAU,CACR36E,QAAS,gCACTy6E,YAAY,GAEdG,YAAa,UAEjB,CApHAzvF,EAAOC,QAAUswG,EACjBA,EAAQ9rG,YAAc,UACtB8rG,EAAQ7gB,QAAU,kCCClB,SAAS8gB,EAAM9iB,GACbA,EAAMY,UAAUkiB,MAAQ,CACtB1xF,QAAS,OACTywE,QACE,s0BACFqF,UAAW,CACT//E,QAAS,cACT65E,MAAO,YAET2B,SAAU,aACVpsF,OAAQ,gBACRurF,SAAU,mBACVC,YAAa,wBAEjB,CAjBAzvF,EAAOC,QAAUuwG,EACjBA,EAAM/rG,YAAc,QACpB+rG,EAAM9gB,QAAU,kCCChB,SAAS+gB,EAAQ/iB,IACd,SAAWA,GACV,IAAIgjB,EAAY,CAEd,MACA,MACA,OACA,MACA,MACA,OACA,MACA,OACA,OACA,OACA,OACA,MACA,UACA,QACA,QACA,cACA,OACA,SACA,QACA,SACA,iBACA,aACA,QACA,cACA,OACA,aACA,QACA,gBACA,cACA,gBACA,cACA,WACA,aACA,QACA,SACA,eACA,OACA,OACA,OACA,OACA,UACA,OACA,eACA,SACA,YACA,OACA,QACA,QACA,WACA,QACA,YACA,SACA,QACA,OACA,aACA,UACA,cACA,aACA,SACA,aACA,SACA,WACA,eACA,SACA,cACA,SACA,qBACA,gBACA,UACA,SACA,SACA,OACA,kBACA,WACA,UACA,eACA,eACA,UACA,OACA,QACA,QACA,eACA,aACA,SACA,UACA,mBACA,OACA,eACA,QACA,SACA,OACA,YACA,mBACA,OACA,kBACA,eACA,iBACA,QACA,SACA,QACA,SACA,SACA,OACA,cACA,YACA,QACA,OACA,UACA,gBACA,QACA,WACA,OACA,iBACA,eACA,kBACA,gBACA,cACA,aACA,aACA,oBACA,UACA,MACA,OACA,UACA,SACA,SACA,YACA,MACA,OACA,QACA,UACA,MACA,gBACA,gBACA,aACA,WACA,YACA,gBACA,WACA,eACA,QACA,QACA,OACA,WACA,MACA,OACA,SACA,MACA,OACA,SACA,OACA,OACA,gBACA,QACA,OACA,eACA,UACA,OACA,SACA,YACA,MACA,OACA,iBACA,MACA,OACA,QACA,oBACA,SACA,UACA,aACA,gBACA,cACA,cACA,cACA,gBACA,SACA,SACA,UACA,iBACA,aACA,mBACA,eACA,YACA,QACA,OACA,SACA,SACA,QACA,aACA,cACA,cACA,eACA,YACA,UACA,eACA,YACA,YACA,OACA,UACA,OACA,UACA,UACA,aACA,YACA,SACA,UACA,cACA,YACA,WACA,WACA,QACA,SACA,QACA,QACA,QACA,OACA,SACA,WACA,YACA,gBACA,aACA,YACA,QACA,cACA,YACA,cACA,WACA,WACA,QACA,OACA,aACA,OACA,WACA,SACA,aACA,eACA,YAmBEC,EAAkB,OAHtBD,EAAYA,EAAU1kB,KAAI,SAAUwD,GAClC,OAAOA,EAAS/pF,QAAQ,IAAK,MAC/B,KACwCjC,KAAK,KAAO,OACpDkqF,EAAMY,UAAUmiB,QAAU/iB,EAAMY,UAAUpuF,OAAO,aAAc,CAAC,GAChEwtF,EAAMY,UAAUx+C,aAAa,UAAW,SAAU,CAChDntC,SAAU,CACRkS,QACE,oHACFg7E,QAAQ,EACRC,OAAQ,CACNP,QAASU,OAAO,YAAc0gB,EAAkB,iBAItDjjB,EAAMY,UAAUmiB,QAAQ7wF,OAAOkwE,OAAS,CACtC9uB,IAAK,CAEHnsD,QACE,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,gBAEjB,CAhDAzvF,EAAOC,QAAU4xG,EACjBA,EAAKptG,YAAc,OACnBotG,EAAKniB,QAAU,kCCCf,SAASqiB,EAAMrkB,GACbA,EAAMY,UAAUyjB,MAAQ,CACtBjzF,QAAS,oCACTc,OAAQ,CACN/K,QAAS,mDACTg7E,QAAQ,EACRC,OAAQ,CACN,eAAgB,gBAGpB/iE,UAAW,CACTlY,QAAS,0CACTy6E,YAAY,GAEdz6E,QAAS,CACPA,QACE,qHACFy6E,YAAY,EACZQ,OAAQ,CACN,eAAgB,CACdj7E,QAAS,qBACT65E,MAAO,cAETsjB,OAAQ,CACNn9F,QAAS,SACTi7E,OAAQ,CACN,aAAc,CACZj7E,QAAS,kBACT65E,MAAO,YAETe,YAAa,QACbD,SAAU,CACR36E,QAAS,IACT65E,MAAO,yBAMjBxtF,OAAQ,CACN2T,QAAS,iDACT65E,MAAO,WACPY,YAAY,GAEdC,QACE,sEACF,mBAAoB,CAClB16E,QACE,kIACFi7E,OAAQ,CACN,wBAAyB,CACvBj7E,QAAS,mBACT65E,MAAO,WAETujB,WAAY,CACVp9F,QAAS,mCACT65E,MAAO,UAET,wBAAyB,CACvB75E,QAAS,kBACT65E,MAAO,WAETe,YAAa,UAGjBwiB,WAAY,CACVp9F,QAAS,mCACT65E,MAAO,UAETc,SAAU,CACR,CACE36E,QAAS,IACT65E,MAAO,eAET,CACE75E,QAAS,IACT65E,MAAO,eAET,CACE75E,QAAS,IACT65E,MAAO,aAET,CACE75E,QAAS,KACT65E,MAAO,eAET,CACE75E,QAAS,QACT65E,MAAO,cAET,CACE75E,QAAS,OACT65E,MAAO,aAET,CACE75E,QAAS,OACT65E,MAAO,YAET,CACE75E,QAAS,UACT65E,MAAO,SAGX,gBAAiB,CACf,CACE75E,QACE,2HACFy6E,YAAY,EACZQ,OAAQ,CACN,aAAc,CACZj7E,QAAS,kBACT65E,MAAO,YAETwjB,MAAO,MAGX,CACEr9F,QAAS,sBACTi7E,OAAQ,CACN,aAAc,CACZj7E,QAAS,kBACT65E,MAAO,YAETwjB,MAAO,OAIbziB,YAAa,UACbhwF,KAAM,kBAEV,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E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6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","sources":["../node_modules/extend/index.js","../node_modules/hast-util-parse-selector/index.js","../node_modules/hastscript/factory.js","../node_modules/hastscript/html.js","../node_modules/hastscript/index.js","../node_modules/hastscript/node_modules/comma-separated-tokens/index.js","../node_modules/hastscript/node_modules/property-information/find.js","../node_modules/hastscript/node_modules/property-information/html.js","../node_modules/hastscript/node_modules/property-information/lib/aria.js","../node_modules/hastscript/node_modules/property-information/lib/html.js","../node_modules/hastscript/node_modules/property-information/lib/util/case-insensitive-transform.js","../node_modules/hastscript/node_modules/property-information/lib/util/case-sensitive-transform.js","../node_modules/hastscript/node_modules/property-information/lib/util/create.js","../node_modules/hastscript/node_modules/property-information/lib/util/defined-info.js","../node_modules/hastscript/node_modules/property-information/lib/util/info.js","../node_modules/hastscript/node_modules/property-information/lib/util/merge.js","../node_modules/hastscript/node_modules/property-information/lib/util/schema.js","../node_modules/hastscript/node_modules/property-information/lib/util/types.js","../node_modules/hastscript/node_modules/property-information/lib/xlink.js","../node_modules/hastscript/node_modules/property-information/lib/xml.js","../node_modules/hastscript/node_modules/property-information/lib/xmlns.js","../node_modules/hastscript/node_modules/property-information/normalize.js","../node_modules/hastscript/node_modules/space-separated-tokens/index.js","../node_modules/inline-style-parser/index.js","../node_modules/is-alphabetical/index.js","../node_modules/is-alphanumerical/index.js","../node_modules/is-buffer/index.js","../node_modules/is-decimal/index.js","../node_modules/is-hexadecimal/index.js","../node_modules/mdurl/encode.js","../node_modules/parse-entities/decode-entity.browser.js","../node_modules/parse-entities/index.js","../node_modules/parse5/lib/common/doctype.js","../node_modules/parse5/lib/common/error-codes.js","../node_modules/parse5/lib/common/foreign-content.js","../node_modules/parse5/lib/common/html.js","../node_modules/parse5/lib/common/unicode.js","../node_modules/parse5/lib/extensions/error-reporting/mixin-base.js","../node_modules/parse5/lib/extensions/error-reporting/parser-mixin.js","../node_modules/parse5/lib/extensions/error-reporting/preprocessor-mixin.js","../node_modules/parse5/lib/extensions/error-reporting/tokenizer-mixin.js","../node_modules/parse5/lib/extensions/location-info/open-element-stack-mixin.js","../node_modules/parse5/lib/extensions/location-info/parser-mixin.js","../node_modules/parse5/lib/extensions/location-info/tokenizer-mixin.js","../node_modules/parse5/lib/extensions/position-tracking/preprocessor-mixin.js","../node_modules/parse5/lib/parser/formatting-element-list.js","../node_modules/parse5/lib/parser/index.js","../node_modules/parse5/lib/parser/open-element-stack.js","../node_modules/parse5/lib/tokenizer/index.js","../node_modules/parse5/lib/tokenizer/named-entity-data.js","../node_modules/parse5/lib/tokenizer/preprocessor.js","../node_modules/parse5/lib/tree-adapters/default.js","../node_modules/parse5/lib/utils/merge-options.js","../node_modules/parse5/lib/utils/mixin.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/refractor/core.js","../node_modules/refractor/index.js","../node_modules/refractor/lang/abap.js","../node_modules/refractor/lang/abnf.js","../node_modules/refractor/lang/actionscript.js","../node_modules/refractor/lang/ada.js","../node_modules/refractor/lang/agda.js","../node_modules/refractor/lang/al.js","../node_modules/refractor/lang/antlr4.js","../node_modules/refractor/lang/apacheconf.js","../node_modules/refractor/lang/apex.js","../node_modules/refractor/lang/apl.js","../node_modules/refractor/lang/applescript.js","../node_modules/refractor/lang/aql.js","../node_modules/refractor/lang/arduino.js","../node_modules/refractor/lang/arff.js","../node_modules/refractor/lang/asciidoc.js","../node_modules/refractor/lang/asm6502.js","../node_modules/refractor/lang/asmatmel.js","../node_modules/refractor/lang/aspnet.js","../node_modules/refractor/lang/autohotkey.js","../node_modules/refractor/lang/autoit.js","../node_modules/refractor/lang/avisynth.js","../node_modules/refractor/lang/avro-idl.js","../node_modules/refractor/lang/bash.js","../node_modules/refractor/lang/basic.js","../node_modules/refractor/lang/batch.js","../node_modules/refractor/lang/bbcode.js","../node_modules/refractor/lang/bicep.js","../node_modules/refractor/lang/birb.js","../node_modules/refractor/lang/bison.js","../node_modules/refractor/lang/bnf.js","../node_modules/refractor/lang/brainfuck.js","../node_modules/refractor/lang/brightscript.js","../node_modules/refractor/lang/bro.js","../node_modules/refractor/lang/bsl.js","../node_modules/refractor/lang/c.js","../node_modules/refractor/lang/cfscript.js","../node_modules/refractor/lang/chaiscript.js","../node_modules/refractor/lang/cil.js","../node_modules/refractor/lang/clike.js","../node_modules/refractor/lang/clojure.js","../node_modules/refractor/lang/cmake.js","../node_modules/refractor/lang/cobol.js","../node_modules/refractor/lang/coffeescript.js","../node_modules/refractor/lang/concurnas.js","../node_modules/refractor/lang/coq.js","../node_modules/refractor/lang/cpp.js","../node_modules/refractor/lang/crystal.js","../node_modules/refractor/lang/csharp.js","../node_modules/refractor/lang/cshtml.js","../node_modules/refractor/lang/csp.js","../node_modules/refractor/lang/css-extras.js","../node_modules/refractor/lang/css.js","../node_modules/refractor/lang/csv.js","../node_modules/refractor/lang/cypher.js","../node_modules/refractor/lang/d.js","../node_modules/refractor/lang/dart.js","../node_modules/refractor/lang/dataweave.js","../node_modules/refractor/lang/dax.js","../node_modules/refractor/lang/dhall.js","../node_modules/refractor/lang/diff.js","../node_modules/refractor/lang/django.js","../node_modules/refractor/lang/dns-zone-file.js","../node_modules/refractor/lang/docker.js","../node_modules/refractor/lang/dot.js","../node_modules/refractor/lang/ebnf.js","../node_modules/refractor/lang/editorconfig.js","../node_modules/refractor/lang/eiffel.js","../node_modules/refractor/lang/ejs.js","../node_modules/refractor/lang/elixir.js","../node_modules/refractor/lang/elm.js","../node_modules/refractor/lang/erb.js","../node_modules/refractor/lang/erlang.js","../node_modules/refractor/lang/etlua.js","../node_modules/refractor/lang/excel-formula.js","../node_modules/refractor/lang/factor.js","../node_modules/refractor/lang/false.js","../node_modules/refractor/lang/firestore-security-rules.js","../node_modules/refractor/lang/flow.js","../node_modules/refractor/lang/fortran.js","../node_modules/refractor/lang/fsharp.js","../node_modules/refractor/lang/ftl.js","../node_modules/refractor/lang/gap.js","../node_modules/refractor/lang/gcode.js","../node_modules/refractor/lang/gdscript.js","../node_modules/refractor/lang/gedcom.js","../node_modules/refractor/lang/gherkin.js","../node_modules/refractor/lang/git.js","../node_modules/refractor/lang/glsl.js","../node_modules/refractor/lang/gml.js","../node_modules/refractor/lang/gn.js","../node_modules/refractor/lang/go-module.js","../node_modules/refractor/lang/go.js","../node_modules/refractor/lang/graphql.js","../node_modules/refractor/lang/groovy.js","../node_modules/refractor/lang/haml.js","../node_modules/refractor/lang/handlebars.js","../node_modules/refractor/lang/haskell.js","../node_modules/refractor/lang/haxe.js","../node_modules/refractor/lang/hcl.js","../node_modules/refractor/lang/hlsl.js","../node_modules/refractor/lang/hoon.js","../node_modules/refractor/lang/hpkp.js","../node_modules/refractor/lang/hsts.js","../node_modules/refractor/lang/http.js","../node_modules/refractor/lang/ichigojam.js","../node_modules/refractor/lang/icon.js","../node_modules/refractor/lang/icu-message-format.js","../node_modules/refractor/lang/idris.js","../node_modules/refractor/lang/iecst.js","../node_modules/refractor/lang/ignore.js","../node_modules/refractor/lang/inform7.js","../node_modules/refractor/lang/ini.js","../node_modules/refractor/lang/io.js","../node_modules/refractor/lang/j.js","../node_modules/refractor/lang/java.js","../node_modules/refractor/lang/javadoc.js","../node_modules/refractor/lang/javadoclike.js","../node_modules/refractor/lang/javascript.js","../node_modules/refractor/lang/javastacktrace.js","../node_modules/refractor/lang/jexl.js","../node_modules/refractor/lang/jolie.js","../node_modules/refractor/lang/jq.js","../node_modules/refractor/lang/js-extras.js","../node_modules/refractor/lang/js-templates.js","../node_modules/refractor/lang/jsdoc.js","../node_modules/refractor/lang/json.js","../node_modules/refractor/lang/json5.js","../node_modules/refractor/lang/jsonp.js","../node_modules/refractor/lang/jsstacktrace.js","../node_modules/refractor/lang/jsx.js","../node_modules/refractor/lang/julia.js","../node_modules/refractor/lang/keepalived.js","../node_modules/refractor/lang/keyman.js","../node_modules/refractor/lang/kotlin.js","../node_modules/refractor/lang/kumir.js","../node_modules/refractor/lang/kusto.js","../node_modules/refractor/lang/latex.js","../node_modules/refractor/lang/latte.js","../node_modules/refractor/lang/less.js","../node_modules/refractor/lang/lilypond.js","../node_modules/refractor/lang/liquid.js","../node_modules/refractor/lang/lisp.js","../node_modules/refractor/lang/livescript.js","../node_modules/refractor/lang/llvm.js","../node_modules/refractor/lang/log.js","../node_modules/refractor/lang/lolcode.js","../node_modules/refractor/lang/lua.js","../node_modules/refractor/lang/magma.js","../node_modules/refractor/lang/makefile.js","../node_modules/refractor/lang/markdown.js","../node_modules/refractor/lang/markup-templating.js","../node_modules/refractor/lang/markup.js","../node_modules/refractor/lang/matlab.js","../node_modules/refractor/lang/maxscript.js","../node_modules/refractor/lang/mel.js","../node_modules/refractor/lang/mermaid.js","../node_modules/refractor/lang/mizar.js","../node_modules/refractor/lang/mongodb.js","../node_modules/refractor/lang/monkey.js","../node_modules/refractor/lang/moonscript.js","../node_modules/refractor/lang/n1ql.js","../node_modules/refractor/lang/n4js.js","../node_modules/refractor/lang/nand2tetris-hdl.js","../node_modules/refractor/lang/naniscript.js","../node_modules/refractor/lang/nasm.js","../node_modules/refractor/lang/neon.js","../node_modules/refractor/lang/nevod.js","../node_modules/refractor/lang/nginx.js","../node_modules/refractor/lang/nim.js","../node_modules/refractor/lang/nix.js","../node_modules/refractor/lang/nsis.js","../node_modules/refractor/lang/objectivec.js","../node_modules/refractor/lang/ocaml.js","../node_modules/refractor/lang/opencl.js","../node_modules/refractor/lang/openqasm.js","../node_modules/refractor/lang/oz.js","../node_modules/refractor/lang/parigp.js","../node_modules/refractor/lang/parser.js","../node_modules/refractor/lang/pascal.js","../node_modules/refractor/lang/pascaligo.js","../node_modules/refractor/lang/pcaxis.js","../node_modules/refractor/lang/peoplecode.js","../node_modules/refractor/lang/perl.js","../node_modules/refractor/lang/php-extras.js","../node_modules/refractor/lang/php.js","../node_modules/refractor/lang/phpdoc.js","../node_modules/refractor/lang/plsql.js","../node_modules/refractor/lang/powerquery.js","../node_modules/refractor/lang/powershell.js","../node_modules/refractor/lang/processing.js","../node_modules/refractor/lang/prolog.js","../node_modules/refractor/lang/promql.js","../node_modules/refractor/lang/properties.js","../node_modules/refractor/lang/protobuf.js","../node_modules/refractor/lang/psl.js","../node_modules/refractor/lang/pug.js","../node_modules/refractor/lang/puppet.js","../node_modules/refractor/lang/pure.js","../node_modules/refractor/lang/purebasic.js","../node_modules/refractor/lang/purescript.js","../node_modules/refractor/lang/python.js","../node_modules/refractor/lang/q.js","../node_modules/refractor/lang/qml.js","../node_modules/refractor/lang/qore.js","../node_modules/refractor/lang/qsharp.js","../node_modules/refractor/lang/r.js","../node_modules/refractor/lang/racket.js","../node_modules/refractor/lang/reason.js","../node_modules/refractor/lang/regex.js","../node_modules/refractor/lang/rego.js","../node_modules/refractor/lang/renpy.js","../node_modules/refractor/lang/rest.js","../node_modules/refractor/lang/rip.js","../node_modules/refractor/lang/roboconf.js","../node_modules/refractor/lang/robotframework.js","../node_modules/refractor/lang/ruby.js","../node_modules/refractor/lang/rust.js","../node_modules/refractor/lang/sas.js","../node_modules/refractor/lang/sass.js","../node_modules/refractor/lang/scala.js","../node_modules/refractor/lang/scheme.js","../node_modules/refractor/lang/scss.js","../node_modules/refractor/lang/shell-session.js","../node_modules/refractor/lang/smali.js","../node_modules/refractor/lang/smalltalk.js","../node_modules/refractor/lang/smarty.js","../node_modules/refractor/lang/sml.js","../node_modules/refractor/lang/solidity.js","../node_modules/refractor/lang/solution-file.js","../node_modules/refractor/lang/soy.js","../node_modules/refractor/lang/sparql.js","../node_modules/refractor/lang/splunk-spl.js","../node_modules/refractor/lang/sqf.js","../node_modules/refractor/lang/sql.js","../node_modules/refractor/lang/squirrel.js","../node_modules/refractor/lang/stan.js","../node_modules/refractor/lang/stylus.js","../node_modules/refractor/lang/swift.js","../node_modules/refractor/lang/systemd.js","../node_modules/refractor/lang/t4-cs.js","../node_modules/refractor/lang/t4-templating.js","../node_modules/refractor/lang/t4-vb.js","../node_modules/refractor/lang/tap.js","../node_modules/refractor/lang/tcl.js","../node_modules/refractor/lang/textile.js","../node_modules/refractor/lang/toml.js","../node_modules/refractor/lang/tremor.js","../node_modules/refractor/lang/tsx.js","../node_modules/refractor/lang/tt2.js","../node_modules/refractor/lang/turtle.js","../node_modules/refractor/lang/twig.js","../node_modules/refractor/lang/typescript.js","../node_modules/refractor/lang/typoscript.js","../node_modules/refractor/lang/unrealscript.js","../node_modules/refractor/lang/uorazor.js","../node_modules/refractor/lang/uri.js","../node_modules/refractor/lang/v.js","../node_modules/refractor/lang/vala.js","../node_modules/refractor/lang/vbnet.js","../node_modules/refractor/lang/velocity.js","../node_modules/refractor/lang/verilog.js","../node_modules/refractor/lang/vhdl.js","../node_modules/refractor/lang/vim.js","../node_modules/refractor/lang/visual-basic.js","../node_modules/refractor/lang/warpscript.js","../node_modules/refractor/lang/wasm.js","../node_modules/refractor/lang/web-idl.js","../node_modules/refractor/lang/wiki.js","../node_modules/refractor/lang/wolfram.js","../node_modules/refractor/lang/wren.js","../node_modules/refractor/lang/xeora.js","../node_modules/refractor/lang/xml-doc.js","../node_modules/refractor/lang/xojo.js","../node_modules/refractor/lang/xquery.js","../node_modules/refractor/lang/yaml.js","../node_modules/refractor/lang/yang.js","../node_modules/refractor/lang/zig.js","../node_modules/refractor/node_modules/prismjs/components/prism-core.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/style-to-object/index.js","../node_modules/xtend/immutable.js","../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/classCallCheck.js","../node_modules/@babel/runtime/helpers/createClass.js","../node_modules/@babel/runtime/helpers/createSuper.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../node_modules/@babel/runtime/helpers/get.js","../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/inherits.js","../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/superPropBase.js","../node_modules/@babel/runtime/helpers/typeof.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/make namespace object","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","data.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../node_modules/unist-util-stringify-position/index.js","../node_modules/vfile-message/index.js","../node_modules/vfile/lib/minpath.browser.js","../node_modules/vfile/lib/minproc.browser.js","../node_modules/vfile/lib/minurl.shared.js","../node_modules/vfile/lib/minurl.browser.js","../node_modules/vfile/lib/index.js","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/bail/index.js","../node_modules/unified/node_modules/is-plain-obj/index.js","../node_modules/trough/index.js","../node_modules/unified/lib/index.js","../node_modules/mdast-util-to-string/index.js","../node_modules/micromark-util-chunked/index.js","../node_modules/micromark-util-combine-extensions/index.js","../node_modules/micromark-util-character/lib/unicode-punctuation-regex.js","../node_modules/micromark-util-character/index.js","../node_modules/micromark-factory-space/index.js","../node_modules/micromark/lib/initialize/content.js","../node_modules/micromark/lib/initialize/document.js","../node_modules/micromark-core-commonmark/lib/blank-line.js","../node_modules/micromark-util-subtokenize/index.js","../node_modules/micromark-core-commonmark/lib/content.js","../node_modules/micromark/lib/initialize/flow.js","../node_modules/micromark/lib/initialize/text.js","../node_modules/micromark-util-resolve-all/index.js","../node_modules/micromark/lib/create-tokenizer.js","../node_modules/micromark-core-commonmark/lib/thematic-break.js","../node_modules/micromark-core-commonmark/lib/list.js","../node_modules/micromark-core-commonmark/lib/block-quote.js","../node_modules/micromark-factory-destination/index.js","../node_modules/micromark-factory-label/index.js","../node_modules/micromark-factory-title/index.js","../node_modules/micromark-factory-whitespace/index.js","../node_modules/micromark-util-normalize-identifier/index.js","../node_modules/micromark-core-commonmark/lib/definition.js","../node_modules/micromark-core-commonmark/lib/code-indented.js","../node_modules/micromark-core-commonmark/lib/heading-atx.js","../node_modules/micromark-core-commonmark/lib/setext-underline.js","../node_modules/micromark-util-html-tag-name/index.js","../node_modules/micromark-core-commonmark/lib/html-flow.js","../node_modules/micromark-core-commonmark/lib/code-fenced.js","../node_modules/decode-named-character-reference/index.dom.js","../node_modules/micromark-core-commonmark/lib/character-reference.js","../node_modules/micromark-core-commonmark/lib/character-escape.js","../node_modules/micromark-core-commonmark/lib/line-ending.js","../node_modules/micromark-core-commonmark/lib/label-end.js","../node_modules/micromark-core-commonmark/lib/label-start-image.js","../node_modules/micromark-util-classify-character/index.js","../node_modules/micromark-core-commonmark/lib/attention.js","../node_modules/micromark-core-commonmark/lib/autolink.js","../node_modules/micromark-core-commonmark/lib/html-text.js","../node_modules/micromark-core-commonmark/lib/label-start-link.js","../node_modules/micromark-core-commonmark/lib/hard-break-escape.js","../node_modules/micromark-core-commonmark/lib/code-text.js","../node_modules/micromark/lib/constructs.js","../node_modules/micromark/lib/preprocess.js","../node_modules/micromark-util-decode-numeric-character-reference/index.js","../node_modules/micromark-util-decode-string/index.js","../node_modules/mdast-util-from-markdown/lib/index.js","../node_modules/micromark/lib/postprocess.js","../node_modules/micromark/lib/parse.js","../node_modules/remark-parse/index.js","../node_modules/remark-parse/lib/index.js","../node_modules/unist-builder/index.js","../node_modules/unist-util-is/index.js","../node_modules/unist-util-visit-parents/index.js","../node_modules/unist-util-visit/index.js","../node_modules/unist-util-position/index.js","../node_modules/mdast-util-definitions/index.js","../node_modules/mdast-util-to-hast/lib/traverse.js","../node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js","../node_modules/mdast-util-to-hast/lib/wrap.js","../node_modules/mdast-util-to-hast/lib/handlers/list.js","../node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js","../node_modules/mdast-util-to-hast/lib/revert.js","../node_modules/mdast-util-to-hast/lib/handlers/list-item.js","../node_modules/mdast-util-to-hast/lib/handlers/index.js","../node_modules/mdast-util-to-hast/lib/handlers/blockquote.js","../node_modules/mdast-util-to-hast/lib/handlers/break.js","../node_modules/mdast-util-to-hast/lib/handlers/code.js","../node_modules/mdast-util-to-hast/lib/handlers/delete.js","../node_modules/mdast-util-to-hast/lib/handlers/emphasis.js","../node_modules/mdast-util-to-hast/lib/handlers/footnote.js","../node_modules/mdast-util-to-hast/lib/handlers/heading.js","../node_modules/mdast-util-to-hast/lib/handlers/html.js","../node_modules/mdast-util-to-hast/lib/handlers/image-reference.js","../node_modules/mdast-util-to-hast/lib/handlers/image.js","../node_modules/mdast-util-to-hast/lib/handlers/inline-code.js","../node_modules/mdast-util-to-hast/lib/handlers/link-reference.js","../node_modules/mdast-util-to-hast/lib/handlers/link.js","../node_modules/mdast-util-to-hast/lib/handlers/paragraph.js","../node_modules/mdast-util-to-hast/lib/handlers/root.js","../node_modules/mdast-util-to-hast/lib/handlers/strong.js","../node_modules/mdast-util-to-hast/lib/handlers/table.js","../node_modules/mdast-util-to-hast/lib/handlers/text.js","../node_modules/mdast-util-to-hast/lib/index.js","../node_modules/unist-util-generated/index.js","../node_modules/mdast-util-to-hast/lib/footer.js","../node_modules/remark-rehype/index.js","../node_modules/property-information/lib/util/schema.js","../node_modules/property-information/lib/util/merge.js","../node_modules/property-information/lib/normalize.js","../node_modules/property-information/lib/util/info.js","../node_modules/property-information/lib/util/types.js","../node_modules/property-information/lib/util/defined-info.js","../node_modules/property-information/lib/util/create.js","../node_modules/property-information/lib/xlink.js","../node_modules/property-information/lib/xml.js","../node_modules/property-information/lib/util/case-sensitive-transform.js","../node_modules/property-information/lib/util/case-insensitive-transform.js","../node_modules/property-information/lib/xmlns.js","../node_modules/property-information/lib/aria.js","../node_modules/property-information/lib/html.js","../node_modules/property-information/lib/svg.js","../node_modules/property-information/index.js","../node_modules/react-markdown/lib/rehype-filter.js","../node_modules/react-markdown/lib/uri-transformer.js","../node_modules/hast-util-whitespace/index.js","../node_modules/property-information/lib/find.js","../node_modules/property-information/lib/hast-to-react.js","../node_modules/space-separated-tokens/index.js","../node_modules/comma-separated-tokens/index.js","../node_modules/react-markdown/lib/ast-to-react.js","../node_modules/react-markdown/lib/react-markdown.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/react-syntax-highlighter/dist/esm/create-element.js","../node_modules/react-syntax-highlighter/dist/esm/checkForListedLanguage.js","../node_modules/react-syntax-highlighter/dist/esm/highlight.js","../node_modules/react-syntax-highlighter/dist/esm/styles/prism/prism.js","../node_modules/react-syntax-highlighter/dist/esm/prism.js","../node_modules/react-syntax-highlighter/dist/esm/languages/prism/supported-languages.js","../node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js","../node_modules/react-syntax-highlighter/dist/esm/styles/prism/coldark-dark.js","../node_modules/micromark-extension-gfm-footnote/lib/syntax.js","../node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js","../node_modules/micromark-extension-gfm-table/lib/syntax.js","../node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js","../node_modules/micromark-extension-gfm/index.js","../node_modules/ccount/index.js","../node_modules/mdast-util-find-and-replace/lib/index.js","../node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp/index.js","../node_modules/mdast-util-gfm-autolink-literal/index.js","../node_modules/mdast-util-to-markdown/lib/util/association.js","../node_modules/mdast-util-to-markdown/lib/util/track.js","../node_modules/mdast-util-to-markdown/lib/util/container-flow.js","../node_modules/mdast-util-to-markdown/lib/util/indent-lines.js","../node_modules/mdast-util-to-markdown/lib/util/pattern-compile.js","../node_modules/mdast-util-to-markdown/lib/util/pattern-in-scope.js","../node_modules/mdast-util-to-markdown/lib/util/safe.js","../node_modules/mdast-util-gfm-footnote/index.js","../node_modules/mdast-util-to-markdown/lib/util/container-phrasing.js","../node_modules/mdast-util-gfm-strikethrough/index.js","../node_modules/mdast-util-to-markdown/lib/handle/inline-code.js","../node_modules/markdown-table/index.js","../node_modules/mdast-util-gfm-table/lib/index.js","../node_modules/mdast-util-to-markdown/lib/handle/list-item.js","../node_modules/mdast-util-to-markdown/lib/util/check-list-item-indent.js","../node_modules/mdast-util-to-markdown/lib/util/check-bullet.js","../node_modules/mdast-util-gfm-task-list-item/index.js","../node_modules/mdast-util-gfm/lib/index.js","../node_modules/remark-gfm/index.js","../node_modules/hast-util-from-parse5/node_modules/hast-util-parse-selector/index.js","../node_modules/hast-util-from-parse5/node_modules/hastscript/lib/core.js","../node_modules/hast-util-from-parse5/node_modules/hastscript/lib/svg-case-sensitive-tag-names.js","../node_modules/hast-util-from-parse5/node_modules/hastscript/lib/svg.js","../node_modules/hast-util-from-parse5/node_modules/hastscript/lib/html.js","../node_modules/web-namespaces/index.js","../node_modules/hast-util-from-parse5/lib/index.js","../node_modules/vfile-location/index.js","../node_modules/hast-to-hyperscript/index.js","../node_modules/zwitch/index.js","../node_modules/hast-util-to-parse5/lib/index.js","../node_modules/html-void-elements/index.js","../node_modules/hast-util-raw/lib/index.js","../node_modules/rehype-raw/index.js","components/right_arrow.js","components/down_arrow.js","App.js","index.js"],"sourcesContent":["'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n","'use strict'\n\nmodule.exports = parse\n\nvar search = /[#.]/g\n\n// Create a hast element from a simple CSS selector.\nfunction parse(selector, defaultTagName) {\n var value = selector || ''\n var name = defaultTagName || 'div'\n var props = {}\n var start = 0\n var subvalue\n var previous\n var match\n\n while (start < value.length) {\n search.lastIndex = start\n match = search.exec(value)\n subvalue = value.slice(start, match ? match.index : value.length)\n\n if (subvalue) {\n if (!previous) {\n name = subvalue\n } else if (previous === '#') {\n props.id = subvalue\n } else if (props.className) {\n props.className.push(subvalue)\n } else {\n props.className = [subvalue]\n }\n\n start += subvalue.length\n }\n\n if (match) {\n previous = match[0]\n start++\n }\n }\n\n return {type: 'element', tagName: name, properties: props, children: []}\n}\n","'use strict'\n\nvar find = require('property-information/find')\nvar normalize = require('property-information/normalize')\nvar parseSelector = require('hast-util-parse-selector')\nvar spaces = require('space-separated-tokens').parse\nvar commas = require('comma-separated-tokens').parse\n\nmodule.exports = factory\n\nvar own = {}.hasOwnProperty\n\nfunction factory(schema, defaultTagName, caseSensitive) {\n var adjust = caseSensitive ? createAdjustMap(caseSensitive) : null\n\n return h\n\n // Hyperscript compatible DSL for creating virtual hast trees.\n function h(selector, properties) {\n var node = parseSelector(selector, defaultTagName)\n var children = Array.prototype.slice.call(arguments, 2)\n var name = node.tagName.toLowerCase()\n var property\n\n node.tagName = adjust && own.call(adjust, name) ? adjust[name] : name\n\n if (properties && isChildren(properties, node)) {\n children.unshift(properties)\n properties = null\n }\n\n if (properties) {\n for (property in properties) {\n addProperty(node.properties, property, properties[property])\n }\n }\n\n addChild(node.children, children)\n\n if (node.tagName === 'template') {\n node.content = {type: 'root', children: node.children}\n node.children = []\n }\n\n return node\n }\n\n function addProperty(properties, key, value) {\n var info\n var property\n var result\n\n // Ignore nullish and NaN values.\n if (value === null || value === undefined || value !== value) {\n return\n }\n\n info = find(schema, key)\n property = info.property\n result = value\n\n // Handle list values.\n if (typeof result === 'string') {\n if (info.spaceSeparated) {\n result = spaces(result)\n } else if (info.commaSeparated) {\n result = commas(result)\n } else if (info.commaOrSpaceSeparated) {\n result = spaces(commas(result).join(' '))\n }\n }\n\n // Accept `object` on style.\n if (property === 'style' && typeof value !== 'string') {\n result = style(result)\n }\n\n // Class-names (which can be added both on the `selector` and here).\n if (property === 'className' && properties.className) {\n result = properties.className.concat(result)\n }\n\n properties[property] = parsePrimitives(info, property, result)\n }\n}\n\nfunction isChildren(value, node) {\n return (\n typeof value === 'string' ||\n 'length' in value ||\n isNode(node.tagName, value)\n )\n}\n\nfunction isNode(tagName, value) {\n var type = value.type\n\n if (tagName === 'input' || !type || typeof type !== 'string') {\n return false\n }\n\n if (typeof value.children === 'object' && 'length' in value.children) {\n return true\n }\n\n type = type.toLowerCase()\n\n if (tagName === 'button') {\n return (\n type !== 'menu' &&\n type !== 'submit' &&\n type !== 'reset' &&\n type !== 'button'\n )\n }\n\n return 'value' in value\n}\n\nfunction addChild(nodes, value) {\n var index\n var length\n\n if (typeof value === 'string' || typeof value === 'number') {\n nodes.push({type: 'text', value: String(value)})\n return\n }\n\n if (typeof value === 'object' && 'length' in value) {\n index = -1\n length = value.length\n\n while (++index < length) {\n addChild(nodes, value[index])\n }\n\n return\n }\n\n if (typeof value !== 'object' || !('type' in value)) {\n throw new Error('Expected node, nodes, or string, got `' + value + '`')\n }\n\n nodes.push(value)\n}\n\n// Parse a (list of) primitives.\nfunction parsePrimitives(info, name, value) {\n var index\n var length\n var result\n\n if (typeof value !== 'object' || !('length' in value)) {\n return parsePrimitive(info, name, value)\n }\n\n length = value.length\n index = -1\n result = []\n\n while (++index < length) {\n result[index] = parsePrimitive(info, name, value[index])\n }\n\n return result\n}\n\n// Parse a single primitives.\nfunction parsePrimitive(info, name, value) {\n var result = value\n\n if (info.number || info.positiveNumber) {\n if (!isNaN(result) && result !== '') {\n result = Number(result)\n }\n } else if (info.boolean || info.overloadedBoolean) {\n // Accept `boolean` and `string`.\n if (\n typeof result === 'string' &&\n (result === '' || normalize(value) === normalize(name))\n ) {\n result = true\n }\n }\n\n return result\n}\n\nfunction style(value) {\n var result = []\n var key\n\n for (key in value) {\n result.push([key, value[key]].join(': '))\n }\n\n return result.join('; ')\n}\n\nfunction createAdjustMap(values) {\n var length = values.length\n var index = -1\n var result = {}\n var value\n\n while (++index < length) {\n value = values[index]\n result[value.toLowerCase()] = value\n }\n\n return result\n}\n","'use strict'\n\nvar schema = require('property-information/html')\nvar factory = require('./factory')\n\nvar html = factory(schema, 'div')\nhtml.displayName = 'html'\n\nmodule.exports = html\n","'use strict'\n\nmodule.exports = require('./html')\n","'use strict'\n\nexports.parse = parse\nexports.stringify = stringify\n\nvar comma = ','\nvar space = ' '\nvar empty = ''\n\n// Parse comma-separated tokens to an array.\nfunction parse(value) {\n var values = []\n var input = String(value || empty)\n var index = input.indexOf(comma)\n var lastIndex = 0\n var end = false\n var val\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n val = input.slice(lastIndex, index).trim()\n\n if (val || !end) {\n values.push(val)\n }\n\n lastIndex = index + 1\n index = input.indexOf(comma, lastIndex)\n }\n\n return values\n}\n\n// Compile an array to comma-separated tokens.\n// `options.padLeft` (default: `true`) pads a space left of each token, and\n// `options.padRight` (default: `false`) pads a space to the right of each token.\nfunction stringify(values, options) {\n var settings = options || {}\n var left = settings.padLeft === false ? empty : space\n var right = settings.padRight ? space : empty\n\n // Ensure the last empty entry is seen.\n if (values[values.length - 1] === empty) {\n values = values.concat(empty)\n }\n\n return values.join(right + comma + left).trim()\n}\n","'use strict'\n\nvar normalize = require('./normalize')\nvar DefinedInfo = require('./lib/util/defined-info')\nvar Info = require('./lib/util/info')\n\nvar data = 'data'\n\nmodule.exports = find\n\nvar valid = /^data[-\\w.:]+$/i\nvar dash = /-[a-z]/g\nvar cap = /[A-Z]/g\n\nfunction find(schema, value) {\n var normal = normalize(value)\n var prop = value\n var Type = Info\n\n if (normal in schema.normal) {\n return schema.property[schema.normal[normal]]\n }\n\n if (normal.length > 4 && normal.slice(0, 4) === data && valid.test(value)) {\n // Attribute or property.\n if (value.charAt(4) === '-') {\n prop = datasetToProperty(value)\n } else {\n value = datasetToAttribute(value)\n }\n\n Type = DefinedInfo\n }\n\n return new Type(prop, value)\n}\n\nfunction datasetToProperty(attribute) {\n var value = attribute.slice(5).replace(dash, camelcase)\n return data + value.charAt(0).toUpperCase() + value.slice(1)\n}\n\nfunction datasetToAttribute(property) {\n var value = property.slice(4)\n\n if (dash.test(value)) {\n return property\n }\n\n value = value.replace(cap, kebab)\n\n if (value.charAt(0) !== '-') {\n value = '-' + value\n }\n\n return data + value\n}\n\nfunction kebab($0) {\n return '-' + $0.toLowerCase()\n}\n\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase()\n}\n","'use strict'\n\nvar merge = require('./lib/util/merge')\nvar xlink = require('./lib/xlink')\nvar xml = require('./lib/xml')\nvar xmlns = require('./lib/xmlns')\nvar aria = require('./lib/aria')\nvar html = require('./lib/html')\n\nmodule.exports = merge([xml, xlink, xmlns, aria, html])\n","'use strict'\n\nvar types = require('./util/types')\nvar create = require('./util/create')\n\nvar booleanish = types.booleanish\nvar number = types.number\nvar spaceSeparated = types.spaceSeparated\n\nmodule.exports = create({\n transform: ariaTransform,\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n }\n})\n\nfunction ariaTransform(_, prop) {\n return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()\n}\n","'use strict'\n\nvar types = require('./util/types')\nvar create = require('./util/create')\nvar caseInsensitiveTransform = require('./util/case-insensitive-transform')\n\nvar boolean = types.boolean\nvar overloadedBoolean = types.overloadedBoolean\nvar booleanish = types.booleanish\nvar number = types.number\nvar spaceSeparated = types.spaceSeparated\nvar commaSeparated = types.commaSeparated\n\nmodule.exports = create({\n space: 'html',\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n transform: caseInsensitiveTransform,\n mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n properties: {\n // Standard Properties.\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n capture: boolean,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n cols: number,\n colSpan: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: boolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: commaSeparated,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforePrint: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextMenu: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: commaSeparated,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n\n // Legacy.\n // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n align: null, // Several. Use CSS `text-align` instead,\n aLink: null, // `<body>`. Use CSS `a:active {color}` instead\n archive: spaceSeparated, // `<object>`. List of URIs to archives\n axis: null, // `<td>` and `<th>`. Use `scope` on `<th>`\n background: null, // `<body>`. Use CSS `background-image` instead\n bgColor: null, // `<body>` and table elements. Use CSS `background-color` instead\n border: number, // `<table>`. Use CSS `border-width` instead,\n borderColor: null, // `<table>`. Use CSS `border-color` instead,\n bottomMargin: number, // `<body>`\n cellPadding: null, // `<table>`\n cellSpacing: null, // `<table>`\n char: null, // Several table elements. When `align=char`, sets the character to align on\n charOff: null, // Several table elements. When `char`, offsets the alignment\n classId: null, // `<object>`\n clear: null, // `<br>`. Use CSS `clear` instead\n code: null, // `<object>`\n codeBase: null, // `<object>`\n codeType: null, // `<object>`\n color: null, // `<font>` and `<hr>`. Use CSS instead\n compact: boolean, // Lists. Use CSS to reduce space between items instead\n declare: boolean, // `<object>`\n event: null, // `<script>`\n face: null, // `<font>`. Use CSS instead\n frame: null, // `<table>`\n frameBorder: null, // `<iframe>`. Use CSS `border` instead\n hSpace: number, // `<img>` and `<object>`\n leftMargin: number, // `<body>`\n link: null, // `<body>`. Use CSS `a:link {color: *}` instead\n longDesc: null, // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`\n lowSrc: null, // `<img>`. Use a `<picture>`\n marginHeight: number, // `<body>`\n marginWidth: number, // `<body>`\n noResize: boolean, // `<frame>`\n noHref: boolean, // `<area>`. Use no href instead of an explicit `nohref`\n noShade: boolean, // `<hr>`. Use background-color and height instead of borders\n noWrap: boolean, // `<td>` and `<th>`\n object: null, // `<applet>`\n profile: null, // `<head>`\n prompt: null, // `<isindex>`\n rev: null, // `<link>`\n rightMargin: number, // `<body>`\n rules: null, // `<table>`\n scheme: null, // `<meta>`\n scrolling: booleanish, // `<frame>`. Use overflow in the child context\n standby: null, // `<object>`\n summary: null, // `<table>`\n text: null, // `<body>`. Use CSS `color` instead\n topMargin: number, // `<body>`\n valueType: null, // `<param>`\n version: null, // `<html>`. Use a doctype.\n vAlign: null, // Several. Use CSS `vertical-align` instead\n vLink: null, // `<body>`. Use CSS `a:visited {color}` instead\n vSpace: number, // `<img>` and `<object>`\n\n // Non-standard Properties.\n allowTransparency: null,\n autoCorrect: null,\n autoSave: null,\n disablePictureInPicture: boolean,\n disableRemotePlayback: boolean,\n prefix: null,\n property: null,\n results: number,\n security: null,\n unselectable: null\n }\n})\n","'use strict'\n\nvar caseSensitiveTransform = require('./case-sensitive-transform')\n\nmodule.exports = caseInsensitiveTransform\n\nfunction caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","'use strict'\n\nmodule.exports = caseSensitiveTransform\n\nfunction caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute\n}\n","'use strict'\n\nvar normalize = require('../../normalize')\nvar Schema = require('./schema')\nvar DefinedInfo = require('./defined-info')\n\nmodule.exports = create\n\nfunction create(definition) {\n var space = definition.space\n var mustUseProperty = definition.mustUseProperty || []\n var attributes = definition.attributes || {}\n var props = definition.properties\n var transform = definition.transform\n var property = {}\n var normal = {}\n var prop\n var info\n\n for (prop in props) {\n info = new DefinedInfo(\n prop,\n transform(attributes, prop),\n props[prop],\n space\n )\n\n if (mustUseProperty.indexOf(prop) !== -1) {\n info.mustUseProperty = true\n }\n\n property[prop] = info\n\n normal[normalize(prop)] = prop\n normal[normalize(info.attribute)] = prop\n }\n\n return new Schema(property, normal, space)\n}\n","'use strict'\n\nvar Info = require('./info')\nvar types = require('./types')\n\nmodule.exports = DefinedInfo\n\nDefinedInfo.prototype = new Info()\nDefinedInfo.prototype.defined = true\n\nvar checks = [\n 'boolean',\n 'booleanish',\n 'overloadedBoolean',\n 'number',\n 'commaSeparated',\n 'spaceSeparated',\n 'commaOrSpaceSeparated'\n]\nvar checksLength = checks.length\n\nfunction DefinedInfo(property, attribute, mask, space) {\n var index = -1\n var check\n\n mark(this, 'space', space)\n\n Info.call(this, property, attribute)\n\n while (++index < checksLength) {\n check = checks[index]\n mark(this, check, (mask & types[check]) === types[check])\n }\n}\n\nfunction mark(values, key, value) {\n if (value) {\n values[key] = value\n }\n}\n","'use strict'\n\nmodule.exports = Info\n\nvar proto = Info.prototype\n\nproto.space = null\nproto.attribute = null\nproto.property = null\nproto.boolean = false\nproto.booleanish = false\nproto.overloadedBoolean = false\nproto.number = false\nproto.commaSeparated = false\nproto.spaceSeparated = false\nproto.commaOrSpaceSeparated = false\nproto.mustUseProperty = false\nproto.defined = false\n\nfunction Info(property, attribute) {\n this.property = property\n this.attribute = attribute\n}\n","'use strict'\n\nvar xtend = require('xtend')\nvar Schema = require('./schema')\n\nmodule.exports = merge\n\nfunction merge(definitions) {\n var length = definitions.length\n var property = []\n var normal = []\n var index = -1\n var info\n var space\n\n while (++index < length) {\n info = definitions[index]\n property.push(info.property)\n normal.push(info.normal)\n space = info.space\n }\n\n return new Schema(\n xtend.apply(null, property),\n xtend.apply(null, normal),\n space\n )\n}\n","'use strict'\n\nmodule.exports = Schema\n\nvar proto = Schema.prototype\n\nproto.space = null\nproto.normal = {}\nproto.property = {}\n\nfunction Schema(property, normal, space) {\n this.property = property\n this.normal = normal\n\n if (space) {\n this.space = space\n }\n}\n","'use strict'\n\nvar powers = 0\n\nexports.boolean = increment()\nexports.booleanish = increment()\nexports.overloadedBoolean = increment()\nexports.number = increment()\nexports.spaceSeparated = increment()\nexports.commaSeparated = increment()\nexports.commaOrSpaceSeparated = increment()\n\nfunction increment() {\n return Math.pow(2, ++powers)\n}\n","'use strict'\n\nvar create = require('./util/create')\n\nmodule.exports = create({\n space: 'xlink',\n transform: xlinkTransform,\n properties: {\n xLinkActuate: null,\n xLinkArcRole: null,\n xLinkHref: null,\n xLinkRole: null,\n xLinkShow: null,\n xLinkTitle: null,\n xLinkType: null\n }\n})\n\nfunction xlinkTransform(_, prop) {\n return 'xlink:' + prop.slice(5).toLowerCase()\n}\n","'use strict'\n\nvar create = require('./util/create')\n\nmodule.exports = create({\n space: 'xml',\n transform: xmlTransform,\n properties: {\n xmlLang: null,\n xmlBase: null,\n xmlSpace: null\n }\n})\n\nfunction xmlTransform(_, prop) {\n return 'xml:' + prop.slice(3).toLowerCase()\n}\n","'use strict'\n\nvar create = require('./util/create')\nvar caseInsensitiveTransform = require('./util/case-insensitive-transform')\n\nmodule.exports = create({\n space: 'xmlns',\n attributes: {\n xmlnsxlink: 'xmlns:xlink'\n },\n transform: caseInsensitiveTransform,\n properties: {\n xmlns: null,\n xmlnsXLink: null\n }\n})\n","'use strict'\n\nmodule.exports = normalize\n\nfunction normalize(value) {\n return value.toLowerCase()\n}\n","'use strict'\n\nexports.parse = parse\nexports.stringify = stringify\n\nvar empty = ''\nvar space = ' '\nvar whiteSpace = /[ \\t\\n\\r\\f]+/g\n\nfunction parse(value) {\n var input = String(value || empty).trim()\n return input === empty ? [] : input.split(whiteSpace)\n}\n\nfunction stringify(values) {\n return values.join(space).trim()\n}\n","// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function(style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function(node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n","'use strict'\n\nmodule.exports = alphabetical\n\n// Check if the given character code, or the character code at the first\n// character, is alphabetical.\nfunction alphabetical(character) {\n var code = typeof character === 'string' ? character.charCodeAt(0) : character\n\n return (\n (code >= 97 && code <= 122) /* a-z */ ||\n (code >= 65 && code <= 90) /* A-Z */\n )\n}\n","'use strict'\n\nvar alphabetical = require('is-alphabetical')\nvar decimal = require('is-decimal')\n\nmodule.exports = alphanumerical\n\n// Check if the given character code, or the character code at the first\n// character, is alphanumerical.\nfunction alphanumerical(character) {\n return alphabetical(character) || decimal(character)\n}\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n","'use strict'\n\nmodule.exports = decimal\n\n// Check if the given character code, or the character code at the first\n// character, is decimal.\nfunction decimal(character) {\n var code = typeof character === 'string' ? character.charCodeAt(0) : character\n\n return code >= 48 && code <= 57 /* 0-9 */\n}\n","'use strict'\n\nmodule.exports = hexadecimal\n\n// Check if the given character code, or the character code at the first\n// character, is hexadecimal.\nfunction hexadecimal(character) {\n var code = typeof character === 'string' ? character.charCodeAt(0) : character\n\n return (\n (code >= 97 /* a */ && code <= 102) /* z */ ||\n (code >= 65 /* A */ && code <= 70) /* Z */ ||\n (code >= 48 /* A */ && code <= 57) /* Z */\n )\n}\n","\n'use strict';\n\n\nvar encodeCache = {};\n\n\n// Create a lookup array where anything but characters in `chars` string\n// and alphanumeric chars is percent-encoded.\n//\nfunction getEncodeCache(exclude) {\n var i, ch, cache = encodeCache[exclude];\n if (cache) { return cache; }\n\n cache = encodeCache[exclude] = [];\n\n for (i = 0; i < 128; i++) {\n ch = String.fromCharCode(i);\n\n if (/^[0-9a-z]$/i.test(ch)) {\n // always allow unencoded alphanumeric characters\n cache.push(ch);\n } else {\n cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2));\n }\n }\n\n for (i = 0; i < exclude.length; i++) {\n cache[exclude.charCodeAt(i)] = exclude[i];\n }\n\n return cache;\n}\n\n\n// Encode unsafe characters with percent-encoding, skipping already\n// encoded sequences.\n//\n// - string - string to encode\n// - exclude - list of characters to ignore (in addition to a-zA-Z0-9)\n// - keepEscaped - don't encode '%' in a correct escape sequence (default: true)\n//\nfunction encode(string, exclude, keepEscaped) {\n var i, l, code, nextCode, cache,\n result = '';\n\n if (typeof exclude !== 'string') {\n // encode(string, keepEscaped)\n keepEscaped = exclude;\n exclude = encode.defaultChars;\n }\n\n if (typeof keepEscaped === 'undefined') {\n keepEscaped = true;\n }\n\n cache = getEncodeCache(exclude);\n\n for (i = 0, l = string.length; i < l; i++) {\n code = string.charCodeAt(i);\n\n if (keepEscaped && code === 0x25 /* % */ && i + 2 < l) {\n if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) {\n result += string.slice(i, i + 3);\n i += 2;\n continue;\n }\n }\n\n if (code < 128) {\n result += cache[code];\n continue;\n }\n\n if (code >= 0xD800 && code <= 0xDFFF) {\n if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) {\n nextCode = string.charCodeAt(i + 1);\n if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) {\n result += encodeURIComponent(string[i] + string[i + 1]);\n i++;\n continue;\n }\n }\n result += '%EF%BF%BD';\n continue;\n }\n\n result += encodeURIComponent(string[i]);\n }\n\n return result;\n}\n\nencode.defaultChars = \";/?:@&=+$,-_.!~*'()#\";\nencode.componentChars = \"-_.!~*'()\";\n\n\nmodule.exports = encode;\n","'use strict'\n\n/* eslint-env browser */\n\nvar el\n\nvar semicolon = 59 // ';'\n\nmodule.exports = decodeEntity\n\nfunction decodeEntity(characters) {\n var entity = '&' + characters + ';'\n var char\n\n el = el || document.createElement('i')\n el.innerHTML = entity\n char = el.textContent\n\n // Some entities do not require the closing semicolon (`¬` - for instance),\n // which leads to situations where parsing the assumed entity of ¬it; will\n // result in the string `¬it;`. When we encounter a trailing semicolon after\n // parsing and the entity to decode was not a semicolon (`;`), we can\n // assume that the matching was incomplete\n if (char.charCodeAt(char.length - 1) === semicolon && characters !== 'semi') {\n return false\n }\n\n // If the decoded string is equal to the input, the entity was not valid\n return char === entity ? false : char\n}\n","'use strict'\n\nvar legacy = require('character-entities-legacy')\nvar invalid = require('character-reference-invalid')\nvar decimal = require('is-decimal')\nvar hexadecimal = require('is-hexadecimal')\nvar alphanumerical = require('is-alphanumerical')\nvar decodeEntity = require('./decode-entity')\n\nmodule.exports = parseEntities\n\nvar own = {}.hasOwnProperty\nvar fromCharCode = String.fromCharCode\nvar noop = Function.prototype\n\n// Default settings.\nvar defaults = {\n warning: null,\n reference: null,\n text: null,\n warningContext: null,\n referenceContext: null,\n textContext: null,\n position: {},\n additional: null,\n attribute: false,\n nonTerminated: true\n}\n\n// Characters.\nvar tab = 9 // '\\t'\nvar lineFeed = 10 // '\\n'\nvar formFeed = 12 // '\\f'\nvar space = 32 // ' '\nvar ampersand = 38 // '&'\nvar semicolon = 59 // ';'\nvar lessThan = 60 // '<'\nvar equalsTo = 61 // '='\nvar numberSign = 35 // '#'\nvar uppercaseX = 88 // 'X'\nvar lowercaseX = 120 // 'x'\nvar replacementCharacter = 65533 // '�'\n\n// Reference types.\nvar name = 'named'\nvar hexa = 'hexadecimal'\nvar deci = 'decimal'\n\n// Map of bases.\nvar bases = {}\n\nbases[hexa] = 16\nbases[deci] = 10\n\n// Map of types to tests.\n// Each type of character reference accepts different characters.\n// This test is used to detect whether a reference has ended (as the semicolon\n// is not strictly needed).\nvar tests = {}\n\ntests[name] = alphanumerical\ntests[deci] = decimal\ntests[hexa] = hexadecimal\n\n// Warning types.\nvar namedNotTerminated = 1\nvar numericNotTerminated = 2\nvar namedEmpty = 3\nvar numericEmpty = 4\nvar namedUnknown = 5\nvar numericDisallowed = 6\nvar numericProhibited = 7\n\n// Warning messages.\nvar messages = {}\n\nmessages[namedNotTerminated] =\n 'Named character references must be terminated by a semicolon'\nmessages[numericNotTerminated] =\n 'Numeric character references must be terminated by a semicolon'\nmessages[namedEmpty] = 'Named character references cannot be empty'\nmessages[numericEmpty] = 'Numeric character references cannot be empty'\nmessages[namedUnknown] = 'Named character references must be known'\nmessages[numericDisallowed] =\n 'Numeric character references cannot be disallowed'\nmessages[numericProhibited] =\n 'Numeric character references cannot be outside the permissible Unicode range'\n\n// Wrap to ensure clean parameters are given to `parse`.\nfunction parseEntities(value, options) {\n var settings = {}\n var option\n var key\n\n if (!options) {\n options = {}\n }\n\n for (key in defaults) {\n option = options[key]\n settings[key] =\n option === null || option === undefined ? defaults[key] : option\n }\n\n if (settings.position.indent || settings.position.start) {\n settings.indent = settings.position.indent || []\n settings.position = settings.position.start\n }\n\n return parse(value, settings)\n}\n\n// Parse entities.\n// eslint-disable-next-line complexity\nfunction parse(value, settings) {\n var additional = settings.additional\n var nonTerminated = settings.nonTerminated\n var handleText = settings.text\n var handleReference = settings.reference\n var handleWarning = settings.warning\n var textContext = settings.textContext\n var referenceContext = settings.referenceContext\n var warningContext = settings.warningContext\n var pos = settings.position\n var indent = settings.indent || []\n var length = value.length\n var index = 0\n var lines = -1\n var column = pos.column || 1\n var line = pos.line || 1\n var queue = ''\n var result = []\n var entityCharacters\n var namedEntity\n var terminated\n var characters\n var character\n var reference\n var following\n var warning\n var reason\n var output\n var entity\n var begin\n var start\n var type\n var test\n var prev\n var next\n var diff\n var end\n\n if (typeof additional === 'string') {\n additional = additional.charCodeAt(0)\n }\n\n // Cache the current point.\n prev = now()\n\n // Wrap `handleWarning`.\n warning = handleWarning ? parseError : noop\n\n // Ensure the algorithm walks over the first character and the end\n // (inclusive).\n index--\n length++\n\n while (++index < length) {\n // If the previous character was a newline.\n if (character === lineFeed) {\n column = indent[lines] || 1\n }\n\n character = value.charCodeAt(index)\n\n if (character === ampersand) {\n following = value.charCodeAt(index + 1)\n\n // The behaviour depends on the identity of the next character.\n if (\n following === tab ||\n following === lineFeed ||\n following === formFeed ||\n following === space ||\n following === ampersand ||\n following === lessThan ||\n following !== following ||\n (additional && following === additional)\n ) {\n // Not a character reference.\n // No characters are consumed, and nothing is returned.\n // This is not an error, either.\n queue += fromCharCode(character)\n column++\n\n continue\n }\n\n start = index + 1\n begin = start\n end = start\n\n if (following === numberSign) {\n // Numerical entity.\n end = ++begin\n\n // The behaviour further depends on the next character.\n following = value.charCodeAt(end)\n\n if (following === uppercaseX || following === lowercaseX) {\n // ASCII hex digits.\n type = hexa\n end = ++begin\n } else {\n // ASCII digits.\n type = deci\n }\n } else {\n // Named entity.\n type = name\n }\n\n entityCharacters = ''\n entity = ''\n characters = ''\n test = tests[type]\n end--\n\n while (++end < length) {\n following = value.charCodeAt(end)\n\n if (!test(following)) {\n break\n }\n\n characters += fromCharCode(following)\n\n // Check if we can match a legacy named reference.\n // If so, we cache that as the last viable named reference.\n // This ensures we do not need to walk backwards later.\n if (type === name && own.call(legacy, characters)) {\n entityCharacters = characters\n entity = legacy[characters]\n }\n }\n\n terminated = value.charCodeAt(end) === semicolon\n\n if (terminated) {\n end++\n\n namedEntity = type === name ? decodeEntity(characters) : false\n\n if (namedEntity) {\n entityCharacters = characters\n entity = namedEntity\n }\n }\n\n diff = 1 + end - start\n\n if (!terminated && !nonTerminated) {\n // Empty.\n } else if (!characters) {\n // An empty (possible) entity is valid, unless it’s numeric (thus an\n // ampersand followed by an octothorp).\n if (type !== name) {\n warning(numericEmpty, diff)\n }\n } else if (type === name) {\n // An ampersand followed by anything unknown, and not terminated, is\n // invalid.\n if (terminated && !entity) {\n warning(namedUnknown, 1)\n } else {\n // If theres something after an entity name which is not known, cap\n // the reference.\n if (entityCharacters !== characters) {\n end = begin + entityCharacters.length\n diff = 1 + end - begin\n terminated = false\n }\n\n // If the reference is not terminated, warn.\n if (!terminated) {\n reason = entityCharacters ? namedNotTerminated : namedEmpty\n\n if (settings.attribute) {\n following = value.charCodeAt(end)\n\n if (following === equalsTo) {\n warning(reason, diff)\n entity = null\n } else if (alphanumerical(following)) {\n entity = null\n } else {\n warning(reason, diff)\n }\n } else {\n warning(reason, diff)\n }\n }\n }\n\n reference = entity\n } else {\n if (!terminated) {\n // All non-terminated numeric entities are not rendered, and trigger a\n // warning.\n warning(numericNotTerminated, diff)\n }\n\n // When terminated and number, parse as either hexadecimal or decimal.\n reference = parseInt(characters, bases[type])\n\n // Trigger a warning when the parsed number is prohibited, and replace\n // with replacement character.\n if (prohibited(reference)) {\n warning(numericProhibited, diff)\n reference = fromCharCode(replacementCharacter)\n } else if (reference in invalid) {\n // Trigger a warning when the parsed number is disallowed, and replace\n // by an alternative.\n warning(numericDisallowed, diff)\n reference = invalid[reference]\n } else {\n // Parse the number.\n output = ''\n\n // Trigger a warning when the parsed number should not be used.\n if (disallowed(reference)) {\n warning(numericDisallowed, diff)\n }\n\n // Stringify the number.\n if (reference > 0xffff) {\n reference -= 0x10000\n output += fromCharCode((reference >>> (10 & 0x3ff)) | 0xd800)\n reference = 0xdc00 | (reference & 0x3ff)\n }\n\n reference = output + fromCharCode(reference)\n }\n }\n\n // Found it!\n // First eat the queued characters as normal text, then eat an entity.\n if (reference) {\n flush()\n\n prev = now()\n index = end - 1\n column += end - start + 1\n result.push(reference)\n next = now()\n next.offset++\n\n if (handleReference) {\n handleReference.call(\n referenceContext,\n reference,\n {start: prev, end: next},\n value.slice(start - 1, end)\n )\n }\n\n prev = next\n } else {\n // If we could not find a reference, queue the checked characters (as\n // normal characters), and move the pointer to their end.\n // This is possible because we can be certain neither newlines nor\n // ampersands are included.\n characters = value.slice(start - 1, end)\n queue += characters\n column += characters.length\n index = end - 1\n }\n } else {\n // Handle anything other than an ampersand, including newlines and EOF.\n if (\n character === 10 // Line feed\n ) {\n line++\n lines++\n column = 0\n }\n\n if (character === character) {\n queue += fromCharCode(character)\n column++\n } else {\n flush()\n }\n }\n }\n\n // Return the reduced nodes.\n return result.join('')\n\n // Get current position.\n function now() {\n return {\n line: line,\n column: column,\n offset: index + (pos.offset || 0)\n }\n }\n\n // “Throw” a parse-error: a warning.\n function parseError(code, offset) {\n var position = now()\n\n position.column += offset\n position.offset += offset\n\n handleWarning.call(warningContext, messages[code], position, code)\n }\n\n // Flush `queue` (normal text).\n // Macro invoked before each entity and at the end of `value`.\n // Does nothing when `queue` is empty.\n function flush() {\n if (queue) {\n result.push(queue)\n\n if (handleText) {\n handleText.call(textContext, queue, {start: prev, end: now()})\n }\n\n queue = ''\n }\n }\n}\n\n// Check if `character` is outside the permissible unicode range.\nfunction prohibited(code) {\n return (code >= 0xd800 && code <= 0xdfff) || code > 0x10ffff\n}\n\n// Check if `character` is disallowed.\nfunction disallowed(code) {\n return (\n (code >= 0x0001 && code <= 0x0008) ||\n code === 0x000b ||\n (code >= 0x000d && code <= 0x001f) ||\n (code >= 0x007f && code <= 0x009f) ||\n (code >= 0xfdd0 && code <= 0xfdef) ||\n (code & 0xffff) === 0xffff ||\n (code & 0xffff) === 0xfffe\n )\n}\n","'use strict';\n\nconst { DOCUMENT_MODE } = require('./html');\n\n//Const\nconst VALID_DOCTYPE_NAME = 'html';\nconst VALID_SYSTEM_ID = 'about:legacy-compat';\nconst QUIRKS_MODE_SYSTEM_ID = 'http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd';\n\nconst QUIRKS_MODE_PUBLIC_ID_PREFIXES = [\n '+//silmaril//dtd html pro v0r11 19970101//',\n '-//as//dtd html 3.0 aswedit + extensions//',\n '-//advasoft ltd//dtd html 3.0 aswedit + extensions//',\n '-//ietf//dtd html 2.0 level 1//',\n '-//ietf//dtd html 2.0 level 2//',\n '-//ietf//dtd html 2.0 strict level 1//',\n '-//ietf//dtd html 2.0 strict level 2//',\n '-//ietf//dtd html 2.0 strict//',\n '-//ietf//dtd html 2.0//',\n '-//ietf//dtd html 2.1e//',\n '-//ietf//dtd html 3.0//',\n '-//ietf//dtd html 3.2 final//',\n '-//ietf//dtd html 3.2//',\n '-//ietf//dtd html 3//',\n '-//ietf//dtd html level 0//',\n '-//ietf//dtd html level 1//',\n '-//ietf//dtd html level 2//',\n '-//ietf//dtd html level 3//',\n '-//ietf//dtd html strict level 0//',\n '-//ietf//dtd html strict level 1//',\n '-//ietf//dtd html strict level 2//',\n '-//ietf//dtd html strict level 3//',\n '-//ietf//dtd html strict//',\n '-//ietf//dtd html//',\n '-//metrius//dtd metrius presentational//',\n '-//microsoft//dtd internet explorer 2.0 html strict//',\n '-//microsoft//dtd internet explorer 2.0 html//',\n '-//microsoft//dtd internet explorer 2.0 tables//',\n '-//microsoft//dtd internet explorer 3.0 html strict//',\n '-//microsoft//dtd internet explorer 3.0 html//',\n '-//microsoft//dtd internet explorer 3.0 tables//',\n '-//netscape comm. corp.//dtd html//',\n '-//netscape comm. corp.//dtd strict html//',\n \"-//o'reilly and associates//dtd html 2.0//\",\n \"-//o'reilly and associates//dtd html extended 1.0//\",\n \"-//o'reilly and associates//dtd html extended relaxed 1.0//\",\n '-//sq//dtd html 2.0 hotmetal + extensions//',\n '-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//',\n '-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//',\n '-//spyglass//dtd html 2.0 extended//',\n '-//sun microsystems corp.//dtd hotjava html//',\n '-//sun microsystems corp.//dtd hotjava strict html//',\n '-//w3c//dtd html 3 1995-03-24//',\n '-//w3c//dtd html 3.2 draft//',\n '-//w3c//dtd html 3.2 final//',\n '-//w3c//dtd html 3.2//',\n '-//w3c//dtd html 3.2s draft//',\n '-//w3c//dtd html 4.0 frameset//',\n '-//w3c//dtd html 4.0 transitional//',\n '-//w3c//dtd html experimental 19960712//',\n '-//w3c//dtd html experimental 970421//',\n '-//w3c//dtd w3 html//',\n '-//w3o//dtd w3 html 3.0//',\n '-//webtechs//dtd mozilla html 2.0//',\n '-//webtechs//dtd mozilla html//'\n];\n\nconst QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES = QUIRKS_MODE_PUBLIC_ID_PREFIXES.concat([\n '-//w3c//dtd html 4.01 frameset//',\n '-//w3c//dtd html 4.01 transitional//'\n]);\n\nconst QUIRKS_MODE_PUBLIC_IDS = ['-//w3o//dtd w3 html strict 3.0//en//', '-/w3c/dtd html 4.0 transitional/en', 'html'];\nconst LIMITED_QUIRKS_PUBLIC_ID_PREFIXES = ['-//w3c//dtd xhtml 1.0 frameset//', '-//w3c//dtd xhtml 1.0 transitional//'];\n\nconst LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES = LIMITED_QUIRKS_PUBLIC_ID_PREFIXES.concat([\n '-//w3c//dtd html 4.01 frameset//',\n '-//w3c//dtd html 4.01 transitional//'\n]);\n\n//Utils\nfunction enquoteDoctypeId(id) {\n const quote = id.indexOf('\"') !== -1 ? \"'\" : '\"';\n\n return quote + id + quote;\n}\n\nfunction hasPrefix(publicId, prefixes) {\n for (let i = 0; i < prefixes.length; i++) {\n if (publicId.indexOf(prefixes[i]) === 0) {\n return true;\n }\n }\n\n return false;\n}\n\n//API\nexports.isConforming = function(token) {\n return (\n token.name === VALID_DOCTYPE_NAME &&\n token.publicId === null &&\n (token.systemId === null || token.systemId === VALID_SYSTEM_ID)\n );\n};\n\nexports.getDocumentMode = function(token) {\n if (token.name !== VALID_DOCTYPE_NAME) {\n return DOCUMENT_MODE.QUIRKS;\n }\n\n const systemId = token.systemId;\n\n if (systemId && systemId.toLowerCase() === QUIRKS_MODE_SYSTEM_ID) {\n return DOCUMENT_MODE.QUIRKS;\n }\n\n let publicId = token.publicId;\n\n if (publicId !== null) {\n publicId = publicId.toLowerCase();\n\n if (QUIRKS_MODE_PUBLIC_IDS.indexOf(publicId) > -1) {\n return DOCUMENT_MODE.QUIRKS;\n }\n\n let prefixes = systemId === null ? QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES : QUIRKS_MODE_PUBLIC_ID_PREFIXES;\n\n if (hasPrefix(publicId, prefixes)) {\n return DOCUMENT_MODE.QUIRKS;\n }\n\n prefixes =\n systemId === null ? LIMITED_QUIRKS_PUBLIC_ID_PREFIXES : LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES;\n\n if (hasPrefix(publicId, prefixes)) {\n return DOCUMENT_MODE.LIMITED_QUIRKS;\n }\n }\n\n return DOCUMENT_MODE.NO_QUIRKS;\n};\n\nexports.serializeContent = function(name, publicId, systemId) {\n let str = '!DOCTYPE ';\n\n if (name) {\n str += name;\n }\n\n if (publicId) {\n str += ' PUBLIC ' + enquoteDoctypeId(publicId);\n } else if (systemId) {\n str += ' SYSTEM';\n }\n\n if (systemId !== null) {\n str += ' ' + enquoteDoctypeId(systemId);\n }\n\n return str;\n};\n","'use strict';\n\nmodule.exports = {\n controlCharacterInInputStream: 'control-character-in-input-stream',\n noncharacterInInputStream: 'noncharacter-in-input-stream',\n surrogateInInputStream: 'surrogate-in-input-stream',\n nonVoidHtmlElementStartTagWithTrailingSolidus: 'non-void-html-element-start-tag-with-trailing-solidus',\n endTagWithAttributes: 'end-tag-with-attributes',\n endTagWithTrailingSolidus: 'end-tag-with-trailing-solidus',\n unexpectedSolidusInTag: 'unexpected-solidus-in-tag',\n unexpectedNullCharacter: 'unexpected-null-character',\n unexpectedQuestionMarkInsteadOfTagName: 'unexpected-question-mark-instead-of-tag-name',\n invalidFirstCharacterOfTagName: 'invalid-first-character-of-tag-name',\n unexpectedEqualsSignBeforeAttributeName: 'unexpected-equals-sign-before-attribute-name',\n missingEndTagName: 'missing-end-tag-name',\n unexpectedCharacterInAttributeName: 'unexpected-character-in-attribute-name',\n unknownNamedCharacterReference: 'unknown-named-character-reference',\n missingSemicolonAfterCharacterReference: 'missing-semicolon-after-character-reference',\n unexpectedCharacterAfterDoctypeSystemIdentifier: 'unexpected-character-after-doctype-system-identifier',\n unexpectedCharacterInUnquotedAttributeValue: 'unexpected-character-in-unquoted-attribute-value',\n eofBeforeTagName: 'eof-before-tag-name',\n eofInTag: 'eof-in-tag',\n missingAttributeValue: 'missing-attribute-value',\n missingWhitespaceBetweenAttributes: 'missing-whitespace-between-attributes',\n missingWhitespaceAfterDoctypePublicKeyword: 'missing-whitespace-after-doctype-public-keyword',\n missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers:\n 'missing-whitespace-between-doctype-public-and-system-identifiers',\n missingWhitespaceAfterDoctypeSystemKeyword: 'missing-whitespace-after-doctype-system-keyword',\n missingQuoteBeforeDoctypePublicIdentifier: 'missing-quote-before-doctype-public-identifier',\n missingQuoteBeforeDoctypeSystemIdentifier: 'missing-quote-before-doctype-system-identifier',\n missingDoctypePublicIdentifier: 'missing-doctype-public-identifier',\n missingDoctypeSystemIdentifier: 'missing-doctype-system-identifier',\n abruptDoctypePublicIdentifier: 'abrupt-doctype-public-identifier',\n abruptDoctypeSystemIdentifier: 'abrupt-doctype-system-identifier',\n cdataInHtmlContent: 'cdata-in-html-content',\n incorrectlyOpenedComment: 'incorrectly-opened-comment',\n eofInScriptHtmlCommentLikeText: 'eof-in-script-html-comment-like-text',\n eofInDoctype: 'eof-in-doctype',\n nestedComment: 'nested-comment',\n abruptClosingOfEmptyComment: 'abrupt-closing-of-empty-comment',\n eofInComment: 'eof-in-comment',\n incorrectlyClosedComment: 'incorrectly-closed-comment',\n eofInCdata: 'eof-in-cdata',\n absenceOfDigitsInNumericCharacterReference: 'absence-of-digits-in-numeric-character-reference',\n nullCharacterReference: 'null-character-reference',\n surrogateCharacterReference: 'surrogate-character-reference',\n characterReferenceOutsideUnicodeRange: 'character-reference-outside-unicode-range',\n controlCharacterReference: 'control-character-reference',\n noncharacterCharacterReference: 'noncharacter-character-reference',\n missingWhitespaceBeforeDoctypeName: 'missing-whitespace-before-doctype-name',\n missingDoctypeName: 'missing-doctype-name',\n invalidCharacterSequenceAfterDoctypeName: 'invalid-character-sequence-after-doctype-name',\n duplicateAttribute: 'duplicate-attribute',\n nonConformingDoctype: 'non-conforming-doctype',\n missingDoctype: 'missing-doctype',\n misplacedDoctype: 'misplaced-doctype',\n endTagWithoutMatchingOpenElement: 'end-tag-without-matching-open-element',\n closingOfElementWithOpenChildElements: 'closing-of-element-with-open-child-elements',\n disallowedContentInNoscriptInHead: 'disallowed-content-in-noscript-in-head',\n openElementsLeftAfterEof: 'open-elements-left-after-eof',\n abandonedHeadElementChild: 'abandoned-head-element-child',\n misplacedStartTagForHeadElement: 'misplaced-start-tag-for-head-element',\n nestedNoscriptInHead: 'nested-noscript-in-head',\n eofInElementThatCanContainOnlyText: 'eof-in-element-that-can-contain-only-text'\n};\n","'use strict';\n\nconst Tokenizer = require('../tokenizer');\nconst HTML = require('./html');\n\n//Aliases\nconst $ = HTML.TAG_NAMES;\nconst NS = HTML.NAMESPACES;\nconst ATTRS = HTML.ATTRS;\n\n//MIME types\nconst MIME_TYPES = {\n TEXT_HTML: 'text/html',\n APPLICATION_XML: 'application/xhtml+xml'\n};\n\n//Attributes\nconst DEFINITION_URL_ATTR = 'definitionurl';\nconst ADJUSTED_DEFINITION_URL_ATTR = 'definitionURL';\nconst SVG_ATTRS_ADJUSTMENT_MAP = {\n attributename: 'attributeName',\n attributetype: 'attributeType',\n basefrequency: 'baseFrequency',\n baseprofile: 'baseProfile',\n calcmode: 'calcMode',\n clippathunits: 'clipPathUnits',\n diffuseconstant: 'diffuseConstant',\n edgemode: 'edgeMode',\n filterunits: 'filterUnits',\n glyphref: 'glyphRef',\n gradienttransform: 'gradientTransform',\n gradientunits: 'gradientUnits',\n kernelmatrix: 'kernelMatrix',\n kernelunitlength: 'kernelUnitLength',\n keypoints: 'keyPoints',\n keysplines: 'keySplines',\n keytimes: 'keyTimes',\n lengthadjust: 'lengthAdjust',\n limitingconeangle: 'limitingConeAngle',\n markerheight: 'markerHeight',\n markerunits: 'markerUnits',\n markerwidth: 'markerWidth',\n maskcontentunits: 'maskContentUnits',\n maskunits: 'maskUnits',\n numoctaves: 'numOctaves',\n pathlength: 'pathLength',\n patterncontentunits: 'patternContentUnits',\n patterntransform: 'patternTransform',\n patternunits: 'patternUnits',\n pointsatx: 'pointsAtX',\n pointsaty: 'pointsAtY',\n pointsatz: 'pointsAtZ',\n preservealpha: 'preserveAlpha',\n preserveaspectratio: 'preserveAspectRatio',\n primitiveunits: 'primitiveUnits',\n refx: 'refX',\n refy: 'refY',\n repeatcount: 'repeatCount',\n repeatdur: 'repeatDur',\n requiredextensions: 'requiredExtensions',\n requiredfeatures: 'requiredFeatures',\n specularconstant: 'specularConstant',\n specularexponent: 'specularExponent',\n spreadmethod: 'spreadMethod',\n startoffset: 'startOffset',\n stddeviation: 'stdDeviation',\n stitchtiles: 'stitchTiles',\n surfacescale: 'surfaceScale',\n systemlanguage: 'systemLanguage',\n tablevalues: 'tableValues',\n targetx: 'targetX',\n targety: 'targetY',\n textlength: 'textLength',\n viewbox: 'viewBox',\n viewtarget: 'viewTarget',\n xchannelselector: 'xChannelSelector',\n ychannelselector: 'yChannelSelector',\n zoomandpan: 'zoomAndPan'\n};\n\nconst XML_ATTRS_ADJUSTMENT_MAP = {\n 'xlink:actuate': { prefix: 'xlink', name: 'actuate', namespace: NS.XLINK },\n 'xlink:arcrole': { prefix: 'xlink', name: 'arcrole', namespace: NS.XLINK },\n 'xlink:href': { prefix: 'xlink', name: 'href', namespace: NS.XLINK },\n 'xlink:role': { prefix: 'xlink', name: 'role', namespace: NS.XLINK },\n 'xlink:show': { prefix: 'xlink', name: 'show', namespace: NS.XLINK },\n 'xlink:title': { prefix: 'xlink', name: 'title', namespace: NS.XLINK },\n 'xlink:type': { prefix: 'xlink', name: 'type', namespace: NS.XLINK },\n 'xml:base': { prefix: 'xml', name: 'base', namespace: NS.XML },\n 'xml:lang': { prefix: 'xml', name: 'lang', namespace: NS.XML },\n 'xml:space': { prefix: 'xml', name: 'space', namespace: NS.XML },\n xmlns: { prefix: '', name: 'xmlns', namespace: NS.XMLNS },\n 'xmlns:xlink': { prefix: 'xmlns', name: 'xlink', namespace: NS.XMLNS }\n};\n\n//SVG tag names adjustment map\nconst SVG_TAG_NAMES_ADJUSTMENT_MAP = (exports.SVG_TAG_NAMES_ADJUSTMENT_MAP = {\n altglyph: 'altGlyph',\n altglyphdef: 'altGlyphDef',\n altglyphitem: 'altGlyphItem',\n animatecolor: 'animateColor',\n animatemotion: 'animateMotion',\n animatetransform: 'animateTransform',\n clippath: 'clipPath',\n feblend: 'feBlend',\n fecolormatrix: 'feColorMatrix',\n fecomponenttransfer: 'feComponentTransfer',\n fecomposite: 'feComposite',\n feconvolvematrix: 'feConvolveMatrix',\n fediffuselighting: 'feDiffuseLighting',\n fedisplacementmap: 'feDisplacementMap',\n fedistantlight: 'feDistantLight',\n feflood: 'feFlood',\n fefunca: 'feFuncA',\n fefuncb: 'feFuncB',\n fefuncg: 'feFuncG',\n fefuncr: 'feFuncR',\n fegaussianblur: 'feGaussianBlur',\n feimage: 'feImage',\n femerge: 'feMerge',\n femergenode: 'feMergeNode',\n femorphology: 'feMorphology',\n feoffset: 'feOffset',\n fepointlight: 'fePointLight',\n fespecularlighting: 'feSpecularLighting',\n fespotlight: 'feSpotLight',\n fetile: 'feTile',\n feturbulence: 'feTurbulence',\n foreignobject: 'foreignObject',\n glyphref: 'glyphRef',\n lineargradient: 'linearGradient',\n radialgradient: 'radialGradient',\n textpath: 'textPath'\n});\n\n//Tags that causes exit from foreign content\nconst EXITS_FOREIGN_CONTENT = {\n [$.B]: true,\n [$.BIG]: true,\n [$.BLOCKQUOTE]: true,\n [$.BODY]: true,\n [$.BR]: true,\n [$.CENTER]: true,\n [$.CODE]: true,\n [$.DD]: true,\n [$.DIV]: true,\n [$.DL]: true,\n [$.DT]: true,\n [$.EM]: true,\n [$.EMBED]: true,\n [$.H1]: true,\n [$.H2]: true,\n [$.H3]: true,\n [$.H4]: true,\n [$.H5]: true,\n [$.H6]: true,\n [$.HEAD]: true,\n [$.HR]: true,\n [$.I]: true,\n [$.IMG]: true,\n [$.LI]: true,\n [$.LISTING]: true,\n [$.MENU]: true,\n [$.META]: true,\n [$.NOBR]: true,\n [$.OL]: true,\n [$.P]: true,\n [$.PRE]: true,\n [$.RUBY]: true,\n [$.S]: true,\n [$.SMALL]: true,\n [$.SPAN]: true,\n [$.STRONG]: true,\n [$.STRIKE]: true,\n [$.SUB]: true,\n [$.SUP]: true,\n [$.TABLE]: true,\n [$.TT]: true,\n [$.U]: true,\n [$.UL]: true,\n [$.VAR]: true\n};\n\n//Check exit from foreign content\nexports.causesExit = function(startTagToken) {\n const tn = startTagToken.tagName;\n const isFontWithAttrs =\n tn === $.FONT &&\n (Tokenizer.getTokenAttr(startTagToken, ATTRS.COLOR) !== null ||\n Tokenizer.getTokenAttr(startTagToken, ATTRS.SIZE) !== null ||\n Tokenizer.getTokenAttr(startTagToken, ATTRS.FACE) !== null);\n\n return isFontWithAttrs ? true : EXITS_FOREIGN_CONTENT[tn];\n};\n\n//Token adjustments\nexports.adjustTokenMathMLAttrs = function(token) {\n for (let i = 0; i < token.attrs.length; i++) {\n if (token.attrs[i].name === DEFINITION_URL_ATTR) {\n token.attrs[i].name = ADJUSTED_DEFINITION_URL_ATTR;\n break;\n }\n }\n};\n\nexports.adjustTokenSVGAttrs = function(token) {\n for (let i = 0; i < token.attrs.length; i++) {\n const adjustedAttrName = SVG_ATTRS_ADJUSTMENT_MAP[token.attrs[i].name];\n\n if (adjustedAttrName) {\n token.attrs[i].name = adjustedAttrName;\n }\n }\n};\n\nexports.adjustTokenXMLAttrs = function(token) {\n for (let i = 0; i < token.attrs.length; i++) {\n const adjustedAttrEntry = XML_ATTRS_ADJUSTMENT_MAP[token.attrs[i].name];\n\n if (adjustedAttrEntry) {\n token.attrs[i].prefix = adjustedAttrEntry.prefix;\n token.attrs[i].name = adjustedAttrEntry.name;\n token.attrs[i].namespace = adjustedAttrEntry.namespace;\n }\n }\n};\n\nexports.adjustTokenSVGTagName = function(token) {\n const adjustedTagName = SVG_TAG_NAMES_ADJUSTMENT_MAP[token.tagName];\n\n if (adjustedTagName) {\n token.tagName = adjustedTagName;\n }\n};\n\n//Integration points\nfunction isMathMLTextIntegrationPoint(tn, ns) {\n return ns === NS.MATHML && (tn === $.MI || tn === $.MO || tn === $.MN || tn === $.MS || tn === $.MTEXT);\n}\n\nfunction isHtmlIntegrationPoint(tn, ns, attrs) {\n if (ns === NS.MATHML && tn === $.ANNOTATION_XML) {\n for (let i = 0; i < attrs.length; i++) {\n if (attrs[i].name === ATTRS.ENCODING) {\n const value = attrs[i].value.toLowerCase();\n\n return value === MIME_TYPES.TEXT_HTML || value === MIME_TYPES.APPLICATION_XML;\n }\n }\n }\n\n return ns === NS.SVG && (tn === $.FOREIGN_OBJECT || tn === $.DESC || tn === $.TITLE);\n}\n\nexports.isIntegrationPoint = function(tn, ns, attrs, foreignNS) {\n if ((!foreignNS || foreignNS === NS.HTML) && isHtmlIntegrationPoint(tn, ns, attrs)) {\n return true;\n }\n\n if ((!foreignNS || foreignNS === NS.MATHML) && isMathMLTextIntegrationPoint(tn, ns)) {\n return true;\n }\n\n return false;\n};\n","'use strict';\n\nconst NS = (exports.NAMESPACES = {\n HTML: 'http://www.w3.org/1999/xhtml',\n MATHML: 'http://www.w3.org/1998/Math/MathML',\n SVG: 'http://www.w3.org/2000/svg',\n XLINK: 'http://www.w3.org/1999/xlink',\n XML: 'http://www.w3.org/XML/1998/namespace',\n XMLNS: 'http://www.w3.org/2000/xmlns/'\n});\n\nexports.ATTRS = {\n TYPE: 'type',\n ACTION: 'action',\n ENCODING: 'encoding',\n PROMPT: 'prompt',\n NAME: 'name',\n COLOR: 'color',\n FACE: 'face',\n SIZE: 'size'\n};\n\nexports.DOCUMENT_MODE = {\n NO_QUIRKS: 'no-quirks',\n QUIRKS: 'quirks',\n LIMITED_QUIRKS: 'limited-quirks'\n};\n\nconst $ = (exports.TAG_NAMES = {\n A: 'a',\n ADDRESS: 'address',\n ANNOTATION_XML: 'annotation-xml',\n APPLET: 'applet',\n AREA: 'area',\n ARTICLE: 'article',\n ASIDE: 'aside',\n\n B: 'b',\n BASE: 'base',\n BASEFONT: 'basefont',\n BGSOUND: 'bgsound',\n BIG: 'big',\n BLOCKQUOTE: 'blockquote',\n BODY: 'body',\n BR: 'br',\n BUTTON: 'button',\n\n CAPTION: 'caption',\n CENTER: 'center',\n CODE: 'code',\n COL: 'col',\n COLGROUP: 'colgroup',\n\n DD: 'dd',\n DESC: 'desc',\n DETAILS: 'details',\n DIALOG: 'dialog',\n DIR: 'dir',\n DIV: 'div',\n DL: 'dl',\n DT: 'dt',\n\n EM: 'em',\n EMBED: 'embed',\n\n FIELDSET: 'fieldset',\n FIGCAPTION: 'figcaption',\n FIGURE: 'figure',\n FONT: 'font',\n FOOTER: 'footer',\n FOREIGN_OBJECT: 'foreignObject',\n FORM: 'form',\n FRAME: 'frame',\n FRAMESET: 'frameset',\n\n H1: 'h1',\n H2: 'h2',\n H3: 'h3',\n H4: 'h4',\n H5: 'h5',\n H6: 'h6',\n HEAD: 'head',\n HEADER: 'header',\n HGROUP: 'hgroup',\n HR: 'hr',\n HTML: 'html',\n\n I: 'i',\n IMG: 'img',\n IMAGE: 'image',\n INPUT: 'input',\n IFRAME: 'iframe',\n\n KEYGEN: 'keygen',\n\n LABEL: 'label',\n LI: 'li',\n LINK: 'link',\n LISTING: 'listing',\n\n MAIN: 'main',\n MALIGNMARK: 'malignmark',\n MARQUEE: 'marquee',\n MATH: 'math',\n MENU: 'menu',\n META: 'meta',\n MGLYPH: 'mglyph',\n MI: 'mi',\n MO: 'mo',\n MN: 'mn',\n MS: 'ms',\n MTEXT: 'mtext',\n\n NAV: 'nav',\n NOBR: 'nobr',\n NOFRAMES: 'noframes',\n NOEMBED: 'noembed',\n NOSCRIPT: 'noscript',\n\n OBJECT: 'object',\n OL: 'ol',\n OPTGROUP: 'optgroup',\n OPTION: 'option',\n\n P: 'p',\n PARAM: 'param',\n PLAINTEXT: 'plaintext',\n PRE: 'pre',\n\n RB: 'rb',\n RP: 'rp',\n RT: 'rt',\n RTC: 'rtc',\n RUBY: 'ruby',\n\n S: 's',\n SCRIPT: 'script',\n SECTION: 'section',\n SELECT: 'select',\n SOURCE: 'source',\n SMALL: 'small',\n SPAN: 'span',\n STRIKE: 'strike',\n STRONG: 'strong',\n STYLE: 'style',\n SUB: 'sub',\n SUMMARY: 'summary',\n SUP: 'sup',\n\n TABLE: 'table',\n TBODY: 'tbody',\n TEMPLATE: 'template',\n TEXTAREA: 'textarea',\n TFOOT: 'tfoot',\n TD: 'td',\n TH: 'th',\n THEAD: 'thead',\n TITLE: 'title',\n TR: 'tr',\n TRACK: 'track',\n TT: 'tt',\n\n U: 'u',\n UL: 'ul',\n\n SVG: 'svg',\n\n VAR: 'var',\n\n WBR: 'wbr',\n\n XMP: 'xmp'\n});\n\nexports.SPECIAL_ELEMENTS = {\n [NS.HTML]: {\n [$.ADDRESS]: true,\n [$.APPLET]: true,\n [$.AREA]: true,\n [$.ARTICLE]: true,\n [$.ASIDE]: true,\n [$.BASE]: true,\n [$.BASEFONT]: true,\n [$.BGSOUND]: true,\n [$.BLOCKQUOTE]: true,\n [$.BODY]: true,\n [$.BR]: true,\n [$.BUTTON]: true,\n [$.CAPTION]: true,\n [$.CENTER]: true,\n [$.COL]: true,\n [$.COLGROUP]: true,\n [$.DD]: true,\n [$.DETAILS]: true,\n [$.DIR]: true,\n [$.DIV]: true,\n [$.DL]: true,\n [$.DT]: true,\n [$.EMBED]: true,\n [$.FIELDSET]: true,\n [$.FIGCAPTION]: true,\n [$.FIGURE]: true,\n [$.FOOTER]: true,\n [$.FORM]: true,\n [$.FRAME]: true,\n [$.FRAMESET]: true,\n [$.H1]: true,\n [$.H2]: true,\n [$.H3]: true,\n [$.H4]: true,\n [$.H5]: true,\n [$.H6]: true,\n [$.HEAD]: true,\n [$.HEADER]: true,\n [$.HGROUP]: true,\n [$.HR]: true,\n [$.HTML]: true,\n [$.IFRAME]: true,\n [$.IMG]: true,\n [$.INPUT]: true,\n [$.LI]: true,\n [$.LINK]: true,\n [$.LISTING]: true,\n [$.MAIN]: true,\n [$.MARQUEE]: true,\n [$.MENU]: true,\n [$.META]: true,\n [$.NAV]: true,\n [$.NOEMBED]: true,\n [$.NOFRAMES]: true,\n [$.NOSCRIPT]: true,\n [$.OBJECT]: true,\n [$.OL]: true,\n [$.P]: true,\n [$.PARAM]: true,\n [$.PLAINTEXT]: true,\n [$.PRE]: true,\n [$.SCRIPT]: true,\n [$.SECTION]: true,\n [$.SELECT]: true,\n [$.SOURCE]: true,\n [$.STYLE]: true,\n [$.SUMMARY]: true,\n [$.TABLE]: true,\n [$.TBODY]: true,\n [$.TD]: true,\n [$.TEMPLATE]: true,\n [$.TEXTAREA]: true,\n [$.TFOOT]: true,\n [$.TH]: true,\n [$.THEAD]: true,\n [$.TITLE]: true,\n [$.TR]: true,\n [$.TRACK]: true,\n [$.UL]: true,\n [$.WBR]: true,\n [$.XMP]: true\n },\n [NS.MATHML]: {\n [$.MI]: true,\n [$.MO]: true,\n [$.MN]: true,\n [$.MS]: true,\n [$.MTEXT]: true,\n [$.ANNOTATION_XML]: true\n },\n [NS.SVG]: {\n [$.TITLE]: true,\n [$.FOREIGN_OBJECT]: true,\n [$.DESC]: true\n }\n};\n","'use strict';\n\nconst UNDEFINED_CODE_POINTS = [\n 0xfffe,\n 0xffff,\n 0x1fffe,\n 0x1ffff,\n 0x2fffe,\n 0x2ffff,\n 0x3fffe,\n 0x3ffff,\n 0x4fffe,\n 0x4ffff,\n 0x5fffe,\n 0x5ffff,\n 0x6fffe,\n 0x6ffff,\n 0x7fffe,\n 0x7ffff,\n 0x8fffe,\n 0x8ffff,\n 0x9fffe,\n 0x9ffff,\n 0xafffe,\n 0xaffff,\n 0xbfffe,\n 0xbffff,\n 0xcfffe,\n 0xcffff,\n 0xdfffe,\n 0xdffff,\n 0xefffe,\n 0xeffff,\n 0xffffe,\n 0xfffff,\n 0x10fffe,\n 0x10ffff\n];\n\nexports.REPLACEMENT_CHARACTER = '\\uFFFD';\n\nexports.CODE_POINTS = {\n EOF: -1,\n NULL: 0x00,\n TABULATION: 0x09,\n CARRIAGE_RETURN: 0x0d,\n LINE_FEED: 0x0a,\n FORM_FEED: 0x0c,\n SPACE: 0x20,\n EXCLAMATION_MARK: 0x21,\n QUOTATION_MARK: 0x22,\n NUMBER_SIGN: 0x23,\n AMPERSAND: 0x26,\n APOSTROPHE: 0x27,\n HYPHEN_MINUS: 0x2d,\n SOLIDUS: 0x2f,\n DIGIT_0: 0x30,\n DIGIT_9: 0x39,\n SEMICOLON: 0x3b,\n LESS_THAN_SIGN: 0x3c,\n EQUALS_SIGN: 0x3d,\n GREATER_THAN_SIGN: 0x3e,\n QUESTION_MARK: 0x3f,\n LATIN_CAPITAL_A: 0x41,\n LATIN_CAPITAL_F: 0x46,\n LATIN_CAPITAL_X: 0x58,\n LATIN_CAPITAL_Z: 0x5a,\n RIGHT_SQUARE_BRACKET: 0x5d,\n GRAVE_ACCENT: 0x60,\n LATIN_SMALL_A: 0x61,\n LATIN_SMALL_F: 0x66,\n LATIN_SMALL_X: 0x78,\n LATIN_SMALL_Z: 0x7a,\n REPLACEMENT_CHARACTER: 0xfffd\n};\n\nexports.CODE_POINT_SEQUENCES = {\n DASH_DASH_STRING: [0x2d, 0x2d], //--\n DOCTYPE_STRING: [0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45], //DOCTYPE\n CDATA_START_STRING: [0x5b, 0x43, 0x44, 0x41, 0x54, 0x41, 0x5b], //[CDATA[\n SCRIPT_STRING: [0x73, 0x63, 0x72, 0x69, 0x70, 0x74], //script\n PUBLIC_STRING: [0x50, 0x55, 0x42, 0x4c, 0x49, 0x43], //PUBLIC\n SYSTEM_STRING: [0x53, 0x59, 0x53, 0x54, 0x45, 0x4d] //SYSTEM\n};\n\n//Surrogates\nexports.isSurrogate = function(cp) {\n return cp >= 0xd800 && cp <= 0xdfff;\n};\n\nexports.isSurrogatePair = function(cp) {\n return cp >= 0xdc00 && cp <= 0xdfff;\n};\n\nexports.getSurrogatePairCodePoint = function(cp1, cp2) {\n return (cp1 - 0xd800) * 0x400 + 0x2400 + cp2;\n};\n\n//NOTE: excluding NULL and ASCII whitespace\nexports.isControlCodePoint = function(cp) {\n return (\n (cp !== 0x20 && cp !== 0x0a && cp !== 0x0d && cp !== 0x09 && cp !== 0x0c && cp >= 0x01 && cp <= 0x1f) ||\n (cp >= 0x7f && cp <= 0x9f)\n );\n};\n\nexports.isUndefinedCodePoint = function(cp) {\n return (cp >= 0xfdd0 && cp <= 0xfdef) || UNDEFINED_CODE_POINTS.indexOf(cp) > -1;\n};\n","'use strict';\n\nconst Mixin = require('../../utils/mixin');\n\nclass ErrorReportingMixinBase extends Mixin {\n constructor(host, opts) {\n super(host);\n\n this.posTracker = null;\n this.onParseError = opts.onParseError;\n }\n\n _setErrorLocation(err) {\n err.startLine = err.endLine = this.posTracker.line;\n err.startCol = err.endCol = this.posTracker.col;\n err.startOffset = err.endOffset = this.posTracker.offset;\n }\n\n _reportError(code) {\n const err = {\n code: code,\n startLine: -1,\n startCol: -1,\n startOffset: -1,\n endLine: -1,\n endCol: -1,\n endOffset: -1\n };\n\n this._setErrorLocation(err);\n this.onParseError(err);\n }\n\n _getOverriddenMethods(mxn) {\n return {\n _err(code) {\n mxn._reportError(code);\n }\n };\n }\n}\n\nmodule.exports = ErrorReportingMixinBase;\n","'use strict';\n\nconst ErrorReportingMixinBase = require('./mixin-base');\nconst ErrorReportingTokenizerMixin = require('./tokenizer-mixin');\nconst LocationInfoTokenizerMixin = require('../location-info/tokenizer-mixin');\nconst Mixin = require('../../utils/mixin');\n\nclass ErrorReportingParserMixin extends ErrorReportingMixinBase {\n constructor(parser, opts) {\n super(parser, opts);\n\n this.opts = opts;\n this.ctLoc = null;\n this.locBeforeToken = false;\n }\n\n _setErrorLocation(err) {\n if (this.ctLoc) {\n err.startLine = this.ctLoc.startLine;\n err.startCol = this.ctLoc.startCol;\n err.startOffset = this.ctLoc.startOffset;\n\n err.endLine = this.locBeforeToken ? this.ctLoc.startLine : this.ctLoc.endLine;\n err.endCol = this.locBeforeToken ? this.ctLoc.startCol : this.ctLoc.endCol;\n err.endOffset = this.locBeforeToken ? this.ctLoc.startOffset : this.ctLoc.endOffset;\n }\n }\n\n _getOverriddenMethods(mxn, orig) {\n return {\n _bootstrap(document, fragmentContext) {\n orig._bootstrap.call(this, document, fragmentContext);\n\n Mixin.install(this.tokenizer, ErrorReportingTokenizerMixin, mxn.opts);\n Mixin.install(this.tokenizer, LocationInfoTokenizerMixin);\n },\n\n _processInputToken(token) {\n mxn.ctLoc = token.location;\n\n orig._processInputToken.call(this, token);\n },\n\n _err(code, options) {\n mxn.locBeforeToken = options && options.beforeToken;\n mxn._reportError(code);\n }\n };\n }\n}\n\nmodule.exports = ErrorReportingParserMixin;\n","'use strict';\n\nconst ErrorReportingMixinBase = require('./mixin-base');\nconst PositionTrackingPreprocessorMixin = require('../position-tracking/preprocessor-mixin');\nconst Mixin = require('../../utils/mixin');\n\nclass ErrorReportingPreprocessorMixin extends ErrorReportingMixinBase {\n constructor(preprocessor, opts) {\n super(preprocessor, opts);\n\n this.posTracker = Mixin.install(preprocessor, PositionTrackingPreprocessorMixin);\n this.lastErrOffset = -1;\n }\n\n _reportError(code) {\n //NOTE: avoid reporting error twice on advance/retreat\n if (this.lastErrOffset !== this.posTracker.offset) {\n this.lastErrOffset = this.posTracker.offset;\n super._reportError(code);\n }\n }\n}\n\nmodule.exports = ErrorReportingPreprocessorMixin;\n","'use strict';\n\nconst ErrorReportingMixinBase = require('./mixin-base');\nconst ErrorReportingPreprocessorMixin = require('./preprocessor-mixin');\nconst Mixin = require('../../utils/mixin');\n\nclass ErrorReportingTokenizerMixin extends ErrorReportingMixinBase {\n constructor(tokenizer, opts) {\n super(tokenizer, opts);\n\n const preprocessorMixin = Mixin.install(tokenizer.preprocessor, ErrorReportingPreprocessorMixin, opts);\n\n this.posTracker = preprocessorMixin.posTracker;\n }\n}\n\nmodule.exports = ErrorReportingTokenizerMixin;\n","'use strict';\n\nconst Mixin = require('../../utils/mixin');\n\nclass LocationInfoOpenElementStackMixin extends Mixin {\n constructor(stack, opts) {\n super(stack);\n\n this.onItemPop = opts.onItemPop;\n }\n\n _getOverriddenMethods(mxn, orig) {\n return {\n pop() {\n mxn.onItemPop(this.current);\n orig.pop.call(this);\n },\n\n popAllUpToHtmlElement() {\n for (let i = this.stackTop; i > 0; i--) {\n mxn.onItemPop(this.items[i]);\n }\n\n orig.popAllUpToHtmlElement.call(this);\n },\n\n remove(element) {\n mxn.onItemPop(this.current);\n orig.remove.call(this, element);\n }\n };\n }\n}\n\nmodule.exports = LocationInfoOpenElementStackMixin;\n","'use strict';\n\nconst Mixin = require('../../utils/mixin');\nconst Tokenizer = require('../../tokenizer');\nconst LocationInfoTokenizerMixin = require('./tokenizer-mixin');\nconst LocationInfoOpenElementStackMixin = require('./open-element-stack-mixin');\nconst HTML = require('../../common/html');\n\n//Aliases\nconst $ = HTML.TAG_NAMES;\n\nclass LocationInfoParserMixin extends Mixin {\n constructor(parser) {\n super(parser);\n\n this.parser = parser;\n this.treeAdapter = this.parser.treeAdapter;\n this.posTracker = null;\n this.lastStartTagToken = null;\n this.lastFosterParentingLocation = null;\n this.currentToken = null;\n }\n\n _setStartLocation(element) {\n let loc = null;\n\n if (this.lastStartTagToken) {\n loc = Object.assign({}, this.lastStartTagToken.location);\n loc.startTag = this.lastStartTagToken.location;\n }\n\n this.treeAdapter.setNodeSourceCodeLocation(element, loc);\n }\n\n _setEndLocation(element, closingToken) {\n const loc = this.treeAdapter.getNodeSourceCodeLocation(element);\n\n if (loc) {\n if (closingToken.location) {\n const ctLoc = closingToken.location;\n const tn = this.treeAdapter.getTagName(element);\n\n // NOTE: For cases like <p> <p> </p> - First 'p' closes without a closing\n // tag and for cases like <td> <p> </td> - 'p' closes without a closing tag.\n const isClosingEndTag = closingToken.type === Tokenizer.END_TAG_TOKEN && tn === closingToken.tagName;\n const endLoc = {};\n if (isClosingEndTag) {\n endLoc.endTag = Object.assign({}, ctLoc);\n endLoc.endLine = ctLoc.endLine;\n endLoc.endCol = ctLoc.endCol;\n endLoc.endOffset = ctLoc.endOffset;\n } else {\n endLoc.endLine = ctLoc.startLine;\n endLoc.endCol = ctLoc.startCol;\n endLoc.endOffset = ctLoc.startOffset;\n }\n\n this.treeAdapter.updateNodeSourceCodeLocation(element, endLoc);\n }\n }\n }\n\n _getOverriddenMethods(mxn, orig) {\n return {\n _bootstrap(document, fragmentContext) {\n orig._bootstrap.call(this, document, fragmentContext);\n\n mxn.lastStartTagToken = null;\n mxn.lastFosterParentingLocation = null;\n mxn.currentToken = null;\n\n const tokenizerMixin = Mixin.install(this.tokenizer, LocationInfoTokenizerMixin);\n\n mxn.posTracker = tokenizerMixin.posTracker;\n\n Mixin.install(this.openElements, LocationInfoOpenElementStackMixin, {\n onItemPop: function(element) {\n mxn._setEndLocation(element, mxn.currentToken);\n }\n });\n },\n\n _runParsingLoop(scriptHandler) {\n orig._runParsingLoop.call(this, scriptHandler);\n\n // NOTE: generate location info for elements\n // that remains on open element stack\n for (let i = this.openElements.stackTop; i >= 0; i--) {\n mxn._setEndLocation(this.openElements.items[i], mxn.currentToken);\n }\n },\n\n //Token processing\n _processTokenInForeignContent(token) {\n mxn.currentToken = token;\n orig._processTokenInForeignContent.call(this, token);\n },\n\n _processToken(token) {\n mxn.currentToken = token;\n orig._processToken.call(this, token);\n\n //NOTE: <body> and <html> are never popped from the stack, so we need to updated\n //their end location explicitly.\n const requireExplicitUpdate =\n token.type === Tokenizer.END_TAG_TOKEN &&\n (token.tagName === $.HTML || (token.tagName === $.BODY && this.openElements.hasInScope($.BODY)));\n\n if (requireExplicitUpdate) {\n for (let i = this.openElements.stackTop; i >= 0; i--) {\n const element = this.openElements.items[i];\n\n if (this.treeAdapter.getTagName(element) === token.tagName) {\n mxn._setEndLocation(element, token);\n break;\n }\n }\n }\n },\n\n //Doctype\n _setDocumentType(token) {\n orig._setDocumentType.call(this, token);\n\n const documentChildren = this.treeAdapter.getChildNodes(this.document);\n const cnLength = documentChildren.length;\n\n for (let i = 0; i < cnLength; i++) {\n const node = documentChildren[i];\n\n if (this.treeAdapter.isDocumentTypeNode(node)) {\n this.treeAdapter.setNodeSourceCodeLocation(node, token.location);\n break;\n }\n }\n },\n\n //Elements\n _attachElementToTree(element) {\n //NOTE: _attachElementToTree is called from _appendElement, _insertElement and _insertTemplate methods.\n //So we will use token location stored in this methods for the element.\n mxn._setStartLocation(element);\n mxn.lastStartTagToken = null;\n orig._attachElementToTree.call(this, element);\n },\n\n _appendElement(token, namespaceURI) {\n mxn.lastStartTagToken = token;\n orig._appendElement.call(this, token, namespaceURI);\n },\n\n _insertElement(token, namespaceURI) {\n mxn.lastStartTagToken = token;\n orig._insertElement.call(this, token, namespaceURI);\n },\n\n _insertTemplate(token) {\n mxn.lastStartTagToken = token;\n orig._insertTemplate.call(this, token);\n\n const tmplContent = this.treeAdapter.getTemplateContent(this.openElements.current);\n\n this.treeAdapter.setNodeSourceCodeLocation(tmplContent, null);\n },\n\n _insertFakeRootElement() {\n orig._insertFakeRootElement.call(this);\n this.treeAdapter.setNodeSourceCodeLocation(this.openElements.current, null);\n },\n\n //Comments\n _appendCommentNode(token, parent) {\n orig._appendCommentNode.call(this, token, parent);\n\n const children = this.treeAdapter.getChildNodes(parent);\n const commentNode = children[children.length - 1];\n\n this.treeAdapter.setNodeSourceCodeLocation(commentNode, token.location);\n },\n\n //Text\n _findFosterParentingLocation() {\n //NOTE: store last foster parenting location, so we will be able to find inserted text\n //in case of foster parenting\n mxn.lastFosterParentingLocation = orig._findFosterParentingLocation.call(this);\n\n return mxn.lastFosterParentingLocation;\n },\n\n _insertCharacters(token) {\n orig._insertCharacters.call(this, token);\n\n const hasFosterParent = this._shouldFosterParentOnInsertion();\n\n const parent =\n (hasFosterParent && mxn.lastFosterParentingLocation.parent) ||\n this.openElements.currentTmplContent ||\n this.openElements.current;\n\n const siblings = this.treeAdapter.getChildNodes(parent);\n\n const textNodeIdx =\n hasFosterParent && mxn.lastFosterParentingLocation.beforeElement\n ? siblings.indexOf(mxn.lastFosterParentingLocation.beforeElement) - 1\n : siblings.length - 1;\n\n const textNode = siblings[textNodeIdx];\n\n //NOTE: if we have location assigned by another token, then just update end position\n const tnLoc = this.treeAdapter.getNodeSourceCodeLocation(textNode);\n\n if (tnLoc) {\n const { endLine, endCol, endOffset } = token.location;\n this.treeAdapter.updateNodeSourceCodeLocation(textNode, { endLine, endCol, endOffset });\n } else {\n this.treeAdapter.setNodeSourceCodeLocation(textNode, token.location);\n }\n }\n };\n }\n}\n\nmodule.exports = LocationInfoParserMixin;\n","'use strict';\n\nconst Mixin = require('../../utils/mixin');\nconst Tokenizer = require('../../tokenizer');\nconst PositionTrackingPreprocessorMixin = require('../position-tracking/preprocessor-mixin');\n\nclass LocationInfoTokenizerMixin extends Mixin {\n constructor(tokenizer) {\n super(tokenizer);\n\n this.tokenizer = tokenizer;\n this.posTracker = Mixin.install(tokenizer.preprocessor, PositionTrackingPreprocessorMixin);\n this.currentAttrLocation = null;\n this.ctLoc = null;\n }\n\n _getCurrentLocation() {\n return {\n startLine: this.posTracker.line,\n startCol: this.posTracker.col,\n startOffset: this.posTracker.offset,\n endLine: -1,\n endCol: -1,\n endOffset: -1\n };\n }\n\n _attachCurrentAttrLocationInfo() {\n this.currentAttrLocation.endLine = this.posTracker.line;\n this.currentAttrLocation.endCol = this.posTracker.col;\n this.currentAttrLocation.endOffset = this.posTracker.offset;\n\n const currentToken = this.tokenizer.currentToken;\n const currentAttr = this.tokenizer.currentAttr;\n\n if (!currentToken.location.attrs) {\n currentToken.location.attrs = Object.create(null);\n }\n\n currentToken.location.attrs[currentAttr.name] = this.currentAttrLocation;\n }\n\n _getOverriddenMethods(mxn, orig) {\n const methods = {\n _createStartTagToken() {\n orig._createStartTagToken.call(this);\n this.currentToken.location = mxn.ctLoc;\n },\n\n _createEndTagToken() {\n orig._createEndTagToken.call(this);\n this.currentToken.location = mxn.ctLoc;\n },\n\n _createCommentToken() {\n orig._createCommentToken.call(this);\n this.currentToken.location = mxn.ctLoc;\n },\n\n _createDoctypeToken(initialName) {\n orig._createDoctypeToken.call(this, initialName);\n this.currentToken.location = mxn.ctLoc;\n },\n\n _createCharacterToken(type, ch) {\n orig._createCharacterToken.call(this, type, ch);\n this.currentCharacterToken.location = mxn.ctLoc;\n },\n\n _createEOFToken() {\n orig._createEOFToken.call(this);\n this.currentToken.location = mxn._getCurrentLocation();\n },\n\n _createAttr(attrNameFirstCh) {\n orig._createAttr.call(this, attrNameFirstCh);\n mxn.currentAttrLocation = mxn._getCurrentLocation();\n },\n\n _leaveAttrName(toState) {\n orig._leaveAttrName.call(this, toState);\n mxn._attachCurrentAttrLocationInfo();\n },\n\n _leaveAttrValue(toState) {\n orig._leaveAttrValue.call(this, toState);\n mxn._attachCurrentAttrLocationInfo();\n },\n\n _emitCurrentToken() {\n const ctLoc = this.currentToken.location;\n\n //NOTE: if we have pending character token make it's end location equal to the\n //current token's start location.\n if (this.currentCharacterToken) {\n this.currentCharacterToken.location.endLine = ctLoc.startLine;\n this.currentCharacterToken.location.endCol = ctLoc.startCol;\n this.currentCharacterToken.location.endOffset = ctLoc.startOffset;\n }\n\n if (this.currentToken.type === Tokenizer.EOF_TOKEN) {\n ctLoc.endLine = ctLoc.startLine;\n ctLoc.endCol = ctLoc.startCol;\n ctLoc.endOffset = ctLoc.startOffset;\n } else {\n ctLoc.endLine = mxn.posTracker.line;\n ctLoc.endCol = mxn.posTracker.col + 1;\n ctLoc.endOffset = mxn.posTracker.offset + 1;\n }\n\n orig._emitCurrentToken.call(this);\n },\n\n _emitCurrentCharacterToken() {\n const ctLoc = this.currentCharacterToken && this.currentCharacterToken.location;\n\n //NOTE: if we have character token and it's location wasn't set in the _emitCurrentToken(),\n //then set it's location at the current preprocessor position.\n //We don't need to increment preprocessor position, since character token\n //emission is always forced by the start of the next character token here.\n //So, we already have advanced position.\n if (ctLoc && ctLoc.endOffset === -1) {\n ctLoc.endLine = mxn.posTracker.line;\n ctLoc.endCol = mxn.posTracker.col;\n ctLoc.endOffset = mxn.posTracker.offset;\n }\n\n orig._emitCurrentCharacterToken.call(this);\n }\n };\n\n //NOTE: patch initial states for each mode to obtain token start position\n Object.keys(Tokenizer.MODE).forEach(modeName => {\n const state = Tokenizer.MODE[modeName];\n\n methods[state] = function(cp) {\n mxn.ctLoc = mxn._getCurrentLocation();\n orig[state].call(this, cp);\n };\n });\n\n return methods;\n }\n}\n\nmodule.exports = LocationInfoTokenizerMixin;\n","'use strict';\n\nconst Mixin = require('../../utils/mixin');\n\nclass PositionTrackingPreprocessorMixin extends Mixin {\n constructor(preprocessor) {\n super(preprocessor);\n\n this.preprocessor = preprocessor;\n this.isEol = false;\n this.lineStartPos = 0;\n this.droppedBufferSize = 0;\n\n this.offset = 0;\n this.col = 0;\n this.line = 1;\n }\n\n _getOverriddenMethods(mxn, orig) {\n return {\n advance() {\n const pos = this.pos + 1;\n const ch = this.html[pos];\n\n //NOTE: LF should be in the last column of the line\n if (mxn.isEol) {\n mxn.isEol = false;\n mxn.line++;\n mxn.lineStartPos = pos;\n }\n\n if (ch === '\\n' || (ch === '\\r' && this.html[pos + 1] !== '\\n')) {\n mxn.isEol = true;\n }\n\n mxn.col = pos - mxn.lineStartPos + 1;\n mxn.offset = mxn.droppedBufferSize + pos;\n\n return orig.advance.call(this);\n },\n\n retreat() {\n orig.retreat.call(this);\n\n mxn.isEol = false;\n mxn.col = this.pos - mxn.lineStartPos + 1;\n },\n\n dropParsedChunk() {\n const prevPos = this.pos;\n\n orig.dropParsedChunk.call(this);\n\n const reduction = prevPos - this.pos;\n\n mxn.lineStartPos -= reduction;\n mxn.droppedBufferSize += reduction;\n mxn.offset = mxn.droppedBufferSize + this.pos;\n }\n };\n }\n}\n\nmodule.exports = PositionTrackingPreprocessorMixin;\n","'use strict';\n\n//Const\nconst NOAH_ARK_CAPACITY = 3;\n\n//List of formatting elements\nclass FormattingElementList {\n constructor(treeAdapter) {\n this.length = 0;\n this.entries = [];\n this.treeAdapter = treeAdapter;\n this.bookmark = null;\n }\n\n //Noah Ark's condition\n //OPTIMIZATION: at first we try to find possible candidates for exclusion using\n //lightweight heuristics without thorough attributes check.\n _getNoahArkConditionCandidates(newElement) {\n const candidates = [];\n\n if (this.length >= NOAH_ARK_CAPACITY) {\n const neAttrsLength = this.treeAdapter.getAttrList(newElement).length;\n const neTagName = this.treeAdapter.getTagName(newElement);\n const neNamespaceURI = this.treeAdapter.getNamespaceURI(newElement);\n\n for (let i = this.length - 1; i >= 0; i--) {\n const entry = this.entries[i];\n\n if (entry.type === FormattingElementList.MARKER_ENTRY) {\n break;\n }\n\n const element = entry.element;\n const elementAttrs = this.treeAdapter.getAttrList(element);\n\n const isCandidate =\n this.treeAdapter.getTagName(element) === neTagName &&\n this.treeAdapter.getNamespaceURI(element) === neNamespaceURI &&\n elementAttrs.length === neAttrsLength;\n\n if (isCandidate) {\n candidates.push({ idx: i, attrs: elementAttrs });\n }\n }\n }\n\n return candidates.length < NOAH_ARK_CAPACITY ? [] : candidates;\n }\n\n _ensureNoahArkCondition(newElement) {\n const candidates = this._getNoahArkConditionCandidates(newElement);\n let cLength = candidates.length;\n\n if (cLength) {\n const neAttrs = this.treeAdapter.getAttrList(newElement);\n const neAttrsLength = neAttrs.length;\n const neAttrsMap = Object.create(null);\n\n //NOTE: build attrs map for the new element so we can perform fast lookups\n for (let i = 0; i < neAttrsLength; i++) {\n const neAttr = neAttrs[i];\n\n neAttrsMap[neAttr.name] = neAttr.value;\n }\n\n for (let i = 0; i < neAttrsLength; i++) {\n for (let j = 0; j < cLength; j++) {\n const cAttr = candidates[j].attrs[i];\n\n if (neAttrsMap[cAttr.name] !== cAttr.value) {\n candidates.splice(j, 1);\n cLength--;\n }\n\n if (candidates.length < NOAH_ARK_CAPACITY) {\n return;\n }\n }\n }\n\n //NOTE: remove bottommost candidates until Noah's Ark condition will not be met\n for (let i = cLength - 1; i >= NOAH_ARK_CAPACITY - 1; i--) {\n this.entries.splice(candidates[i].idx, 1);\n this.length--;\n }\n }\n }\n\n //Mutations\n insertMarker() {\n this.entries.push({ type: FormattingElementList.MARKER_ENTRY });\n this.length++;\n }\n\n pushElement(element, token) {\n this._ensureNoahArkCondition(element);\n\n this.entries.push({\n type: FormattingElementList.ELEMENT_ENTRY,\n element: element,\n token: token\n });\n\n this.length++;\n }\n\n insertElementAfterBookmark(element, token) {\n let bookmarkIdx = this.length - 1;\n\n for (; bookmarkIdx >= 0; bookmarkIdx--) {\n if (this.entries[bookmarkIdx] === this.bookmark) {\n break;\n }\n }\n\n this.entries.splice(bookmarkIdx + 1, 0, {\n type: FormattingElementList.ELEMENT_ENTRY,\n element: element,\n token: token\n });\n\n this.length++;\n }\n\n removeEntry(entry) {\n for (let i = this.length - 1; i >= 0; i--) {\n if (this.entries[i] === entry) {\n this.entries.splice(i, 1);\n this.length--;\n break;\n }\n }\n }\n\n clearToLastMarker() {\n while (this.length) {\n const entry = this.entries.pop();\n\n this.length--;\n\n if (entry.type === FormattingElementList.MARKER_ENTRY) {\n break;\n }\n }\n }\n\n //Search\n getElementEntryInScopeWithTagName(tagName) {\n for (let i = this.length - 1; i >= 0; i--) {\n const entry = this.entries[i];\n\n if (entry.type === FormattingElementList.MARKER_ENTRY) {\n return null;\n }\n\n if (this.treeAdapter.getTagName(entry.element) === tagName) {\n return entry;\n }\n }\n\n return null;\n }\n\n getElementEntry(element) {\n for (let i = this.length - 1; i >= 0; i--) {\n const entry = this.entries[i];\n\n if (entry.type === FormattingElementList.ELEMENT_ENTRY && entry.element === element) {\n return entry;\n }\n }\n\n return null;\n }\n}\n\n//Entry types\nFormattingElementList.MARKER_ENTRY = 'MARKER_ENTRY';\nFormattingElementList.ELEMENT_ENTRY = 'ELEMENT_ENTRY';\n\nmodule.exports = FormattingElementList;\n","'use strict';\n\nconst Tokenizer = require('../tokenizer');\nconst OpenElementStack = require('./open-element-stack');\nconst FormattingElementList = require('./formatting-element-list');\nconst LocationInfoParserMixin = require('../extensions/location-info/parser-mixin');\nconst ErrorReportingParserMixin = require('../extensions/error-reporting/parser-mixin');\nconst Mixin = require('../utils/mixin');\nconst defaultTreeAdapter = require('../tree-adapters/default');\nconst mergeOptions = require('../utils/merge-options');\nconst doctype = require('../common/doctype');\nconst foreignContent = require('../common/foreign-content');\nconst ERR = require('../common/error-codes');\nconst unicode = require('../common/unicode');\nconst HTML = require('../common/html');\n\n//Aliases\nconst $ = HTML.TAG_NAMES;\nconst NS = HTML.NAMESPACES;\nconst ATTRS = HTML.ATTRS;\n\nconst DEFAULT_OPTIONS = {\n scriptingEnabled: true,\n sourceCodeLocationInfo: false,\n onParseError: null,\n treeAdapter: defaultTreeAdapter\n};\n\n//Misc constants\nconst HIDDEN_INPUT_TYPE = 'hidden';\n\n//Adoption agency loops iteration count\nconst AA_OUTER_LOOP_ITER = 8;\nconst AA_INNER_LOOP_ITER = 3;\n\n//Insertion modes\nconst INITIAL_MODE = 'INITIAL_MODE';\nconst BEFORE_HTML_MODE = 'BEFORE_HTML_MODE';\nconst BEFORE_HEAD_MODE = 'BEFORE_HEAD_MODE';\nconst IN_HEAD_MODE = 'IN_HEAD_MODE';\nconst IN_HEAD_NO_SCRIPT_MODE = 'IN_HEAD_NO_SCRIPT_MODE';\nconst AFTER_HEAD_MODE = 'AFTER_HEAD_MODE';\nconst IN_BODY_MODE = 'IN_BODY_MODE';\nconst TEXT_MODE = 'TEXT_MODE';\nconst IN_TABLE_MODE = 'IN_TABLE_MODE';\nconst IN_TABLE_TEXT_MODE = 'IN_TABLE_TEXT_MODE';\nconst IN_CAPTION_MODE = 'IN_CAPTION_MODE';\nconst IN_COLUMN_GROUP_MODE = 'IN_COLUMN_GROUP_MODE';\nconst IN_TABLE_BODY_MODE = 'IN_TABLE_BODY_MODE';\nconst IN_ROW_MODE = 'IN_ROW_MODE';\nconst IN_CELL_MODE = 'IN_CELL_MODE';\nconst IN_SELECT_MODE = 'IN_SELECT_MODE';\nconst IN_SELECT_IN_TABLE_MODE = 'IN_SELECT_IN_TABLE_MODE';\nconst IN_TEMPLATE_MODE = 'IN_TEMPLATE_MODE';\nconst AFTER_BODY_MODE = 'AFTER_BODY_MODE';\nconst IN_FRAMESET_MODE = 'IN_FRAMESET_MODE';\nconst AFTER_FRAMESET_MODE = 'AFTER_FRAMESET_MODE';\nconst AFTER_AFTER_BODY_MODE = 'AFTER_AFTER_BODY_MODE';\nconst AFTER_AFTER_FRAMESET_MODE = 'AFTER_AFTER_FRAMESET_MODE';\n\n//Insertion mode reset map\nconst INSERTION_MODE_RESET_MAP = {\n [$.TR]: IN_ROW_MODE,\n [$.TBODY]: IN_TABLE_BODY_MODE,\n [$.THEAD]: IN_TABLE_BODY_MODE,\n [$.TFOOT]: IN_TABLE_BODY_MODE,\n [$.CAPTION]: IN_CAPTION_MODE,\n [$.COLGROUP]: IN_COLUMN_GROUP_MODE,\n [$.TABLE]: IN_TABLE_MODE,\n [$.BODY]: IN_BODY_MODE,\n [$.FRAMESET]: IN_FRAMESET_MODE\n};\n\n//Template insertion mode switch map\nconst TEMPLATE_INSERTION_MODE_SWITCH_MAP = {\n [$.CAPTION]: IN_TABLE_MODE,\n [$.COLGROUP]: IN_TABLE_MODE,\n [$.TBODY]: IN_TABLE_MODE,\n [$.TFOOT]: IN_TABLE_MODE,\n [$.THEAD]: IN_TABLE_MODE,\n [$.COL]: IN_COLUMN_GROUP_MODE,\n [$.TR]: IN_TABLE_BODY_MODE,\n [$.TD]: IN_ROW_MODE,\n [$.TH]: IN_ROW_MODE\n};\n\n//Token handlers map for insertion modes\nconst TOKEN_HANDLERS = {\n [INITIAL_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenInInitialMode,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenInInitialMode,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: doctypeInInitialMode,\n [Tokenizer.START_TAG_TOKEN]: tokenInInitialMode,\n [Tokenizer.END_TAG_TOKEN]: tokenInInitialMode,\n [Tokenizer.EOF_TOKEN]: tokenInInitialMode\n },\n [BEFORE_HTML_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenBeforeHtml,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenBeforeHtml,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagBeforeHtml,\n [Tokenizer.END_TAG_TOKEN]: endTagBeforeHtml,\n [Tokenizer.EOF_TOKEN]: tokenBeforeHtml\n },\n [BEFORE_HEAD_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenBeforeHead,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenBeforeHead,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: misplacedDoctype,\n [Tokenizer.START_TAG_TOKEN]: startTagBeforeHead,\n [Tokenizer.END_TAG_TOKEN]: endTagBeforeHead,\n [Tokenizer.EOF_TOKEN]: tokenBeforeHead\n },\n [IN_HEAD_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenInHead,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenInHead,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: misplacedDoctype,\n [Tokenizer.START_TAG_TOKEN]: startTagInHead,\n [Tokenizer.END_TAG_TOKEN]: endTagInHead,\n [Tokenizer.EOF_TOKEN]: tokenInHead\n },\n [IN_HEAD_NO_SCRIPT_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenInHeadNoScript,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenInHeadNoScript,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: misplacedDoctype,\n [Tokenizer.START_TAG_TOKEN]: startTagInHeadNoScript,\n [Tokenizer.END_TAG_TOKEN]: endTagInHeadNoScript,\n [Tokenizer.EOF_TOKEN]: tokenInHeadNoScript\n },\n [AFTER_HEAD_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenAfterHead,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenAfterHead,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: misplacedDoctype,\n [Tokenizer.START_TAG_TOKEN]: startTagAfterHead,\n [Tokenizer.END_TAG_TOKEN]: endTagAfterHead,\n [Tokenizer.EOF_TOKEN]: tokenAfterHead\n },\n [IN_BODY_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: characterInBody,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInBody,\n [Tokenizer.END_TAG_TOKEN]: endTagInBody,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [TEXT_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.NULL_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: ignoreToken,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: ignoreToken,\n [Tokenizer.END_TAG_TOKEN]: endTagInText,\n [Tokenizer.EOF_TOKEN]: eofInText\n },\n [IN_TABLE_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.NULL_CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInTable,\n [Tokenizer.END_TAG_TOKEN]: endTagInTable,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [IN_TABLE_TEXT_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: characterInTableText,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInTableText,\n [Tokenizer.COMMENT_TOKEN]: tokenInTableText,\n [Tokenizer.DOCTYPE_TOKEN]: tokenInTableText,\n [Tokenizer.START_TAG_TOKEN]: tokenInTableText,\n [Tokenizer.END_TAG_TOKEN]: tokenInTableText,\n [Tokenizer.EOF_TOKEN]: tokenInTableText\n },\n [IN_CAPTION_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: characterInBody,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInCaption,\n [Tokenizer.END_TAG_TOKEN]: endTagInCaption,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [IN_COLUMN_GROUP_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenInColumnGroup,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenInColumnGroup,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInColumnGroup,\n [Tokenizer.END_TAG_TOKEN]: endTagInColumnGroup,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [IN_TABLE_BODY_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.NULL_CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInTableBody,\n [Tokenizer.END_TAG_TOKEN]: endTagInTableBody,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [IN_ROW_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.NULL_CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInRow,\n [Tokenizer.END_TAG_TOKEN]: endTagInRow,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [IN_CELL_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: characterInBody,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInCell,\n [Tokenizer.END_TAG_TOKEN]: endTagInCell,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [IN_SELECT_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInSelect,\n [Tokenizer.END_TAG_TOKEN]: endTagInSelect,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [IN_SELECT_IN_TABLE_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInSelectInTable,\n [Tokenizer.END_TAG_TOKEN]: endTagInSelectInTable,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [IN_TEMPLATE_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: characterInBody,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInTemplate,\n [Tokenizer.END_TAG_TOKEN]: endTagInTemplate,\n [Tokenizer.EOF_TOKEN]: eofInTemplate\n },\n [AFTER_BODY_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenAfterBody,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenAfterBody,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,\n [Tokenizer.COMMENT_TOKEN]: appendCommentToRootHtmlElement,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagAfterBody,\n [Tokenizer.END_TAG_TOKEN]: endTagAfterBody,\n [Tokenizer.EOF_TOKEN]: stopParsing\n },\n [IN_FRAMESET_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInFrameset,\n [Tokenizer.END_TAG_TOKEN]: endTagInFrameset,\n [Tokenizer.EOF_TOKEN]: stopParsing\n },\n [AFTER_FRAMESET_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagAfterFrameset,\n [Tokenizer.END_TAG_TOKEN]: endTagAfterFrameset,\n [Tokenizer.EOF_TOKEN]: stopParsing\n },\n [AFTER_AFTER_BODY_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenAfterAfterBody,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenAfterAfterBody,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,\n [Tokenizer.COMMENT_TOKEN]: appendCommentToDocument,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagAfterAfterBody,\n [Tokenizer.END_TAG_TOKEN]: tokenAfterAfterBody,\n [Tokenizer.EOF_TOKEN]: stopParsing\n },\n [AFTER_AFTER_FRAMESET_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,\n [Tokenizer.COMMENT_TOKEN]: appendCommentToDocument,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagAfterAfterFrameset,\n [Tokenizer.END_TAG_TOKEN]: ignoreToken,\n [Tokenizer.EOF_TOKEN]: stopParsing\n }\n};\n\n//Parser\nclass Parser {\n constructor(options) {\n this.options = mergeOptions(DEFAULT_OPTIONS, options);\n\n this.treeAdapter = this.options.treeAdapter;\n this.pendingScript = null;\n\n if (this.options.sourceCodeLocationInfo) {\n Mixin.install(this, LocationInfoParserMixin);\n }\n\n if (this.options.onParseError) {\n Mixin.install(this, ErrorReportingParserMixin, { onParseError: this.options.onParseError });\n }\n }\n\n // API\n parse(html) {\n const document = this.treeAdapter.createDocument();\n\n this._bootstrap(document, null);\n this.tokenizer.write(html, true);\n this._runParsingLoop(null);\n\n return document;\n }\n\n parseFragment(html, fragmentContext) {\n //NOTE: use <template> element as a fragment context if context element was not provided,\n //so we will parse in \"forgiving\" manner\n if (!fragmentContext) {\n fragmentContext = this.treeAdapter.createElement($.TEMPLATE, NS.HTML, []);\n }\n\n //NOTE: create fake element which will be used as 'document' for fragment parsing.\n //This is important for jsdom there 'document' can't be recreated, therefore\n //fragment parsing causes messing of the main `document`.\n const documentMock = this.treeAdapter.createElement('documentmock', NS.HTML, []);\n\n this._bootstrap(documentMock, fragmentContext);\n\n if (this.treeAdapter.getTagName(fragmentContext) === $.TEMPLATE) {\n this._pushTmplInsertionMode(IN_TEMPLATE_MODE);\n }\n\n this._initTokenizerForFragmentParsing();\n this._insertFakeRootElement();\n this._resetInsertionMode();\n this._findFormInFragmentContext();\n this.tokenizer.write(html, true);\n this._runParsingLoop(null);\n\n const rootElement = this.treeAdapter.getFirstChild(documentMock);\n const fragment = this.treeAdapter.createDocumentFragment();\n\n this._adoptNodes(rootElement, fragment);\n\n return fragment;\n }\n\n //Bootstrap parser\n _bootstrap(document, fragmentContext) {\n this.tokenizer = new Tokenizer(this.options);\n\n this.stopped = false;\n\n this.insertionMode = INITIAL_MODE;\n this.originalInsertionMode = '';\n\n this.document = document;\n this.fragmentContext = fragmentContext;\n\n this.headElement = null;\n this.formElement = null;\n\n this.openElements = new OpenElementStack(this.document, this.treeAdapter);\n this.activeFormattingElements = new FormattingElementList(this.treeAdapter);\n\n this.tmplInsertionModeStack = [];\n this.tmplInsertionModeStackTop = -1;\n this.currentTmplInsertionMode = null;\n\n this.pendingCharacterTokens = [];\n this.hasNonWhitespacePendingCharacterToken = false;\n\n this.framesetOk = true;\n this.skipNextNewLine = false;\n this.fosterParentingEnabled = false;\n }\n\n //Errors\n _err() {\n // NOTE: err reporting is noop by default. Enabled by mixin.\n }\n\n //Parsing loop\n _runParsingLoop(scriptHandler) {\n while (!this.stopped) {\n this._setupTokenizerCDATAMode();\n\n const token = this.tokenizer.getNextToken();\n\n if (token.type === Tokenizer.HIBERNATION_TOKEN) {\n break;\n }\n\n if (this.skipNextNewLine) {\n this.skipNextNewLine = false;\n\n if (token.type === Tokenizer.WHITESPACE_CHARACTER_TOKEN && token.chars[0] === '\\n') {\n if (token.chars.length === 1) {\n continue;\n }\n\n token.chars = token.chars.substr(1);\n }\n }\n\n this._processInputToken(token);\n\n if (scriptHandler && this.pendingScript) {\n break;\n }\n }\n }\n\n runParsingLoopForCurrentChunk(writeCallback, scriptHandler) {\n this._runParsingLoop(scriptHandler);\n\n if (scriptHandler && this.pendingScript) {\n const script = this.pendingScript;\n\n this.pendingScript = null;\n\n scriptHandler(script);\n\n return;\n }\n\n if (writeCallback) {\n writeCallback();\n }\n }\n\n //Text parsing\n _setupTokenizerCDATAMode() {\n const current = this._getAdjustedCurrentElement();\n\n this.tokenizer.allowCDATA =\n current &&\n current !== this.document &&\n this.treeAdapter.getNamespaceURI(current) !== NS.HTML &&\n !this._isIntegrationPoint(current);\n }\n\n _switchToTextParsing(currentToken, nextTokenizerState) {\n this._insertElement(currentToken, NS.HTML);\n this.tokenizer.state = nextTokenizerState;\n this.originalInsertionMode = this.insertionMode;\n this.insertionMode = TEXT_MODE;\n }\n\n switchToPlaintextParsing() {\n this.insertionMode = TEXT_MODE;\n this.originalInsertionMode = IN_BODY_MODE;\n this.tokenizer.state = Tokenizer.MODE.PLAINTEXT;\n }\n\n //Fragment parsing\n _getAdjustedCurrentElement() {\n return this.openElements.stackTop === 0 && this.fragmentContext\n ? this.fragmentContext\n : this.openElements.current;\n }\n\n _findFormInFragmentContext() {\n let node = this.fragmentContext;\n\n do {\n if (this.treeAdapter.getTagName(node) === $.FORM) {\n this.formElement = node;\n break;\n }\n\n node = this.treeAdapter.getParentNode(node);\n } while (node);\n }\n\n _initTokenizerForFragmentParsing() {\n if (this.treeAdapter.getNamespaceURI(this.fragmentContext) === NS.HTML) {\n const tn = this.treeAdapter.getTagName(this.fragmentContext);\n\n if (tn === $.TITLE || tn === $.TEXTAREA) {\n this.tokenizer.state = Tokenizer.MODE.RCDATA;\n } else if (\n tn === $.STYLE ||\n tn === $.XMP ||\n tn === $.IFRAME ||\n tn === $.NOEMBED ||\n tn === $.NOFRAMES ||\n tn === $.NOSCRIPT\n ) {\n this.tokenizer.state = Tokenizer.MODE.RAWTEXT;\n } else if (tn === $.SCRIPT) {\n this.tokenizer.state = Tokenizer.MODE.SCRIPT_DATA;\n } else if (tn === $.PLAINTEXT) {\n this.tokenizer.state = Tokenizer.MODE.PLAINTEXT;\n }\n }\n }\n\n //Tree mutation\n _setDocumentType(token) {\n const name = token.name || '';\n const publicId = token.publicId || '';\n const systemId = token.systemId || '';\n\n this.treeAdapter.setDocumentType(this.document, name, publicId, systemId);\n }\n\n _attachElementToTree(element) {\n if (this._shouldFosterParentOnInsertion()) {\n this._fosterParentElement(element);\n } else {\n const parent = this.openElements.currentTmplContent || this.openElements.current;\n\n this.treeAdapter.appendChild(parent, element);\n }\n }\n\n _appendElement(token, namespaceURI) {\n const element = this.treeAdapter.createElement(token.tagName, namespaceURI, token.attrs);\n\n this._attachElementToTree(element);\n }\n\n _insertElement(token, namespaceURI) {\n const element = this.treeAdapter.createElement(token.tagName, namespaceURI, token.attrs);\n\n this._attachElementToTree(element);\n this.openElements.push(element);\n }\n\n _insertFakeElement(tagName) {\n const element = this.treeAdapter.createElement(tagName, NS.HTML, []);\n\n this._attachElementToTree(element);\n this.openElements.push(element);\n }\n\n _insertTemplate(token) {\n const tmpl = this.treeAdapter.createElement(token.tagName, NS.HTML, token.attrs);\n const content = this.treeAdapter.createDocumentFragment();\n\n this.treeAdapter.setTemplateContent(tmpl, content);\n this._attachElementToTree(tmpl);\n this.openElements.push(tmpl);\n }\n\n _insertFakeRootElement() {\n const element = this.treeAdapter.createElement($.HTML, NS.HTML, []);\n\n this.treeAdapter.appendChild(this.openElements.current, element);\n this.openElements.push(element);\n }\n\n _appendCommentNode(token, parent) {\n const commentNode = this.treeAdapter.createCommentNode(token.data);\n\n this.treeAdapter.appendChild(parent, commentNode);\n }\n\n _insertCharacters(token) {\n if (this._shouldFosterParentOnInsertion()) {\n this._fosterParentText(token.chars);\n } else {\n const parent = this.openElements.currentTmplContent || this.openElements.current;\n\n this.treeAdapter.insertText(parent, token.chars);\n }\n }\n\n _adoptNodes(donor, recipient) {\n for (let child = this.treeAdapter.getFirstChild(donor); child; child = this.treeAdapter.getFirstChild(donor)) {\n this.treeAdapter.detachNode(child);\n this.treeAdapter.appendChild(recipient, child);\n }\n }\n\n //Token processing\n _shouldProcessTokenInForeignContent(token) {\n const current = this._getAdjustedCurrentElement();\n\n if (!current || current === this.document) {\n return false;\n }\n\n const ns = this.treeAdapter.getNamespaceURI(current);\n\n if (ns === NS.HTML) {\n return false;\n }\n\n if (\n this.treeAdapter.getTagName(current) === $.ANNOTATION_XML &&\n ns === NS.MATHML &&\n token.type === Tokenizer.START_TAG_TOKEN &&\n token.tagName === $.SVG\n ) {\n return false;\n }\n\n const isCharacterToken =\n token.type === Tokenizer.CHARACTER_TOKEN ||\n token.type === Tokenizer.NULL_CHARACTER_TOKEN ||\n token.type === Tokenizer.WHITESPACE_CHARACTER_TOKEN;\n\n const isMathMLTextStartTag =\n token.type === Tokenizer.START_TAG_TOKEN && token.tagName !== $.MGLYPH && token.tagName !== $.MALIGNMARK;\n\n if ((isMathMLTextStartTag || isCharacterToken) && this._isIntegrationPoint(current, NS.MATHML)) {\n return false;\n }\n\n if (\n (token.type === Tokenizer.START_TAG_TOKEN || isCharacterToken) &&\n this._isIntegrationPoint(current, NS.HTML)\n ) {\n return false;\n }\n\n return token.type !== Tokenizer.EOF_TOKEN;\n }\n\n _processToken(token) {\n TOKEN_HANDLERS[this.insertionMode][token.type](this, token);\n }\n\n _processTokenInBodyMode(token) {\n TOKEN_HANDLERS[IN_BODY_MODE][token.type](this, token);\n }\n\n _processTokenInForeignContent(token) {\n if (token.type === Tokenizer.CHARACTER_TOKEN) {\n characterInForeignContent(this, token);\n } else if (token.type === Tokenizer.NULL_CHARACTER_TOKEN) {\n nullCharacterInForeignContent(this, token);\n } else if (token.type === Tokenizer.WHITESPACE_CHARACTER_TOKEN) {\n insertCharacters(this, token);\n } else if (token.type === Tokenizer.COMMENT_TOKEN) {\n appendComment(this, token);\n } else if (token.type === Tokenizer.START_TAG_TOKEN) {\n startTagInForeignContent(this, token);\n } else if (token.type === Tokenizer.END_TAG_TOKEN) {\n endTagInForeignContent(this, token);\n }\n }\n\n _processInputToken(token) {\n if (this._shouldProcessTokenInForeignContent(token)) {\n this._processTokenInForeignContent(token);\n } else {\n this._processToken(token);\n }\n\n if (token.type === Tokenizer.START_TAG_TOKEN && token.selfClosing && !token.ackSelfClosing) {\n this._err(ERR.nonVoidHtmlElementStartTagWithTrailingSolidus);\n }\n }\n\n //Integration points\n _isIntegrationPoint(element, foreignNS) {\n const tn = this.treeAdapter.getTagName(element);\n const ns = this.treeAdapter.getNamespaceURI(element);\n const attrs = this.treeAdapter.getAttrList(element);\n\n return foreignContent.isIntegrationPoint(tn, ns, attrs, foreignNS);\n }\n\n //Active formatting elements reconstruction\n _reconstructActiveFormattingElements() {\n const listLength = this.activeFormattingElements.length;\n\n if (listLength) {\n let unopenIdx = listLength;\n let entry = null;\n\n do {\n unopenIdx--;\n entry = this.activeFormattingElements.entries[unopenIdx];\n\n if (entry.type === FormattingElementList.MARKER_ENTRY || this.openElements.contains(entry.element)) {\n unopenIdx++;\n break;\n }\n } while (unopenIdx > 0);\n\n for (let i = unopenIdx; i < listLength; i++) {\n entry = this.activeFormattingElements.entries[i];\n this._insertElement(entry.token, this.treeAdapter.getNamespaceURI(entry.element));\n entry.element = this.openElements.current;\n }\n }\n }\n\n //Close elements\n _closeTableCell() {\n this.openElements.generateImpliedEndTags();\n this.openElements.popUntilTableCellPopped();\n this.activeFormattingElements.clearToLastMarker();\n this.insertionMode = IN_ROW_MODE;\n }\n\n _closePElement() {\n this.openElements.generateImpliedEndTagsWithExclusion($.P);\n this.openElements.popUntilTagNamePopped($.P);\n }\n\n //Insertion modes\n _resetInsertionMode() {\n for (let i = this.openElements.stackTop, last = false; i >= 0; i--) {\n let element = this.openElements.items[i];\n\n if (i === 0) {\n last = true;\n\n if (this.fragmentContext) {\n element = this.fragmentContext;\n }\n }\n\n const tn = this.treeAdapter.getTagName(element);\n const newInsertionMode = INSERTION_MODE_RESET_MAP[tn];\n\n if (newInsertionMode) {\n this.insertionMode = newInsertionMode;\n break;\n } else if (!last && (tn === $.TD || tn === $.TH)) {\n this.insertionMode = IN_CELL_MODE;\n break;\n } else if (!last && tn === $.HEAD) {\n this.insertionMode = IN_HEAD_MODE;\n break;\n } else if (tn === $.SELECT) {\n this._resetInsertionModeForSelect(i);\n break;\n } else if (tn === $.TEMPLATE) {\n this.insertionMode = this.currentTmplInsertionMode;\n break;\n } else if (tn === $.HTML) {\n this.insertionMode = this.headElement ? AFTER_HEAD_MODE : BEFORE_HEAD_MODE;\n break;\n } else if (last) {\n this.insertionMode = IN_BODY_MODE;\n break;\n }\n }\n }\n\n _resetInsertionModeForSelect(selectIdx) {\n if (selectIdx > 0) {\n for (let i = selectIdx - 1; i > 0; i--) {\n const ancestor = this.openElements.items[i];\n const tn = this.treeAdapter.getTagName(ancestor);\n\n if (tn === $.TEMPLATE) {\n break;\n } else if (tn === $.TABLE) {\n this.insertionMode = IN_SELECT_IN_TABLE_MODE;\n return;\n }\n }\n }\n\n this.insertionMode = IN_SELECT_MODE;\n }\n\n _pushTmplInsertionMode(mode) {\n this.tmplInsertionModeStack.push(mode);\n this.tmplInsertionModeStackTop++;\n this.currentTmplInsertionMode = mode;\n }\n\n _popTmplInsertionMode() {\n this.tmplInsertionModeStack.pop();\n this.tmplInsertionModeStackTop--;\n this.currentTmplInsertionMode = this.tmplInsertionModeStack[this.tmplInsertionModeStackTop];\n }\n\n //Foster parenting\n _isElementCausesFosterParenting(element) {\n const tn = this.treeAdapter.getTagName(element);\n\n return tn === $.TABLE || tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD || tn === $.TR;\n }\n\n _shouldFosterParentOnInsertion() {\n return this.fosterParentingEnabled && this._isElementCausesFosterParenting(this.openElements.current);\n }\n\n _findFosterParentingLocation() {\n const location = {\n parent: null,\n beforeElement: null\n };\n\n for (let i = this.openElements.stackTop; i >= 0; i--) {\n const openElement = this.openElements.items[i];\n const tn = this.treeAdapter.getTagName(openElement);\n const ns = this.treeAdapter.getNamespaceURI(openElement);\n\n if (tn === $.TEMPLATE && ns === NS.HTML) {\n location.parent = this.treeAdapter.getTemplateContent(openElement);\n break;\n } else if (tn === $.TABLE) {\n location.parent = this.treeAdapter.getParentNode(openElement);\n\n if (location.parent) {\n location.beforeElement = openElement;\n } else {\n location.parent = this.openElements.items[i - 1];\n }\n\n break;\n }\n }\n\n if (!location.parent) {\n location.parent = this.openElements.items[0];\n }\n\n return location;\n }\n\n _fosterParentElement(element) {\n const location = this._findFosterParentingLocation();\n\n if (location.beforeElement) {\n this.treeAdapter.insertBefore(location.parent, element, location.beforeElement);\n } else {\n this.treeAdapter.appendChild(location.parent, element);\n }\n }\n\n _fosterParentText(chars) {\n const location = this._findFosterParentingLocation();\n\n if (location.beforeElement) {\n this.treeAdapter.insertTextBefore(location.parent, chars, location.beforeElement);\n } else {\n this.treeAdapter.insertText(location.parent, chars);\n }\n }\n\n //Special elements\n _isSpecialElement(element) {\n const tn = this.treeAdapter.getTagName(element);\n const ns = this.treeAdapter.getNamespaceURI(element);\n\n return HTML.SPECIAL_ELEMENTS[ns][tn];\n }\n}\n\nmodule.exports = Parser;\n\n//Adoption agency algorithm\n//(see: http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#adoptionAgency)\n//------------------------------------------------------------------\n\n//Steps 5-8 of the algorithm\nfunction aaObtainFormattingElementEntry(p, token) {\n let formattingElementEntry = p.activeFormattingElements.getElementEntryInScopeWithTagName(token.tagName);\n\n if (formattingElementEntry) {\n if (!p.openElements.contains(formattingElementEntry.element)) {\n p.activeFormattingElements.removeEntry(formattingElementEntry);\n formattingElementEntry = null;\n } else if (!p.openElements.hasInScope(token.tagName)) {\n formattingElementEntry = null;\n }\n } else {\n genericEndTagInBody(p, token);\n }\n\n return formattingElementEntry;\n}\n\n//Steps 9 and 10 of the algorithm\nfunction aaObtainFurthestBlock(p, formattingElementEntry) {\n let furthestBlock = null;\n\n for (let i = p.openElements.stackTop; i >= 0; i--) {\n const element = p.openElements.items[i];\n\n if (element === formattingElementEntry.element) {\n break;\n }\n\n if (p._isSpecialElement(element)) {\n furthestBlock = element;\n }\n }\n\n if (!furthestBlock) {\n p.openElements.popUntilElementPopped(formattingElementEntry.element);\n p.activeFormattingElements.removeEntry(formattingElementEntry);\n }\n\n return furthestBlock;\n}\n\n//Step 13 of the algorithm\nfunction aaInnerLoop(p, furthestBlock, formattingElement) {\n let lastElement = furthestBlock;\n let nextElement = p.openElements.getCommonAncestor(furthestBlock);\n\n for (let i = 0, element = nextElement; element !== formattingElement; i++, element = nextElement) {\n //NOTE: store next element for the next loop iteration (it may be deleted from the stack by step 9.5)\n nextElement = p.openElements.getCommonAncestor(element);\n\n const elementEntry = p.activeFormattingElements.getElementEntry(element);\n const counterOverflow = elementEntry && i >= AA_INNER_LOOP_ITER;\n const shouldRemoveFromOpenElements = !elementEntry || counterOverflow;\n\n if (shouldRemoveFromOpenElements) {\n if (counterOverflow) {\n p.activeFormattingElements.removeEntry(elementEntry);\n }\n\n p.openElements.remove(element);\n } else {\n element = aaRecreateElementFromEntry(p, elementEntry);\n\n if (lastElement === furthestBlock) {\n p.activeFormattingElements.bookmark = elementEntry;\n }\n\n p.treeAdapter.detachNode(lastElement);\n p.treeAdapter.appendChild(element, lastElement);\n lastElement = element;\n }\n }\n\n return lastElement;\n}\n\n//Step 13.7 of the algorithm\nfunction aaRecreateElementFromEntry(p, elementEntry) {\n const ns = p.treeAdapter.getNamespaceURI(elementEntry.element);\n const newElement = p.treeAdapter.createElement(elementEntry.token.tagName, ns, elementEntry.token.attrs);\n\n p.openElements.replace(elementEntry.element, newElement);\n elementEntry.element = newElement;\n\n return newElement;\n}\n\n//Step 14 of the algorithm\nfunction aaInsertLastNodeInCommonAncestor(p, commonAncestor, lastElement) {\n if (p._isElementCausesFosterParenting(commonAncestor)) {\n p._fosterParentElement(lastElement);\n } else {\n const tn = p.treeAdapter.getTagName(commonAncestor);\n const ns = p.treeAdapter.getNamespaceURI(commonAncestor);\n\n if (tn === $.TEMPLATE && ns === NS.HTML) {\n commonAncestor = p.treeAdapter.getTemplateContent(commonAncestor);\n }\n\n p.treeAdapter.appendChild(commonAncestor, lastElement);\n }\n}\n\n//Steps 15-19 of the algorithm\nfunction aaReplaceFormattingElement(p, furthestBlock, formattingElementEntry) {\n const ns = p.treeAdapter.getNamespaceURI(formattingElementEntry.element);\n const token = formattingElementEntry.token;\n const newElement = p.treeAdapter.createElement(token.tagName, ns, token.attrs);\n\n p._adoptNodes(furthestBlock, newElement);\n p.treeAdapter.appendChild(furthestBlock, newElement);\n\n p.activeFormattingElements.insertElementAfterBookmark(newElement, formattingElementEntry.token);\n p.activeFormattingElements.removeEntry(formattingElementEntry);\n\n p.openElements.remove(formattingElementEntry.element);\n p.openElements.insertAfter(furthestBlock, newElement);\n}\n\n//Algorithm entry point\nfunction callAdoptionAgency(p, token) {\n let formattingElementEntry;\n\n for (let i = 0; i < AA_OUTER_LOOP_ITER; i++) {\n formattingElementEntry = aaObtainFormattingElementEntry(p, token, formattingElementEntry);\n\n if (!formattingElementEntry) {\n break;\n }\n\n const furthestBlock = aaObtainFurthestBlock(p, formattingElementEntry);\n\n if (!furthestBlock) {\n break;\n }\n\n p.activeFormattingElements.bookmark = formattingElementEntry;\n\n const lastElement = aaInnerLoop(p, furthestBlock, formattingElementEntry.element);\n const commonAncestor = p.openElements.getCommonAncestor(formattingElementEntry.element);\n\n p.treeAdapter.detachNode(lastElement);\n aaInsertLastNodeInCommonAncestor(p, commonAncestor, lastElement);\n aaReplaceFormattingElement(p, furthestBlock, formattingElementEntry);\n }\n}\n\n//Generic token handlers\n//------------------------------------------------------------------\nfunction ignoreToken() {\n //NOTE: do nothing =)\n}\n\nfunction misplacedDoctype(p) {\n p._err(ERR.misplacedDoctype);\n}\n\nfunction appendComment(p, token) {\n p._appendCommentNode(token, p.openElements.currentTmplContent || p.openElements.current);\n}\n\nfunction appendCommentToRootHtmlElement(p, token) {\n p._appendCommentNode(token, p.openElements.items[0]);\n}\n\nfunction appendCommentToDocument(p, token) {\n p._appendCommentNode(token, p.document);\n}\n\nfunction insertCharacters(p, token) {\n p._insertCharacters(token);\n}\n\nfunction stopParsing(p) {\n p.stopped = true;\n}\n\n// The \"initial\" insertion mode\n//------------------------------------------------------------------\nfunction doctypeInInitialMode(p, token) {\n p._setDocumentType(token);\n\n const mode = token.forceQuirks ? HTML.DOCUMENT_MODE.QUIRKS : doctype.getDocumentMode(token);\n\n if (!doctype.isConforming(token)) {\n p._err(ERR.nonConformingDoctype);\n }\n\n p.treeAdapter.setDocumentMode(p.document, mode);\n\n p.insertionMode = BEFORE_HTML_MODE;\n}\n\nfunction tokenInInitialMode(p, token) {\n p._err(ERR.missingDoctype, { beforeToken: true });\n p.treeAdapter.setDocumentMode(p.document, HTML.DOCUMENT_MODE.QUIRKS);\n p.insertionMode = BEFORE_HTML_MODE;\n p._processToken(token);\n}\n\n// The \"before html\" insertion mode\n//------------------------------------------------------------------\nfunction startTagBeforeHtml(p, token) {\n if (token.tagName === $.HTML) {\n p._insertElement(token, NS.HTML);\n p.insertionMode = BEFORE_HEAD_MODE;\n } else {\n tokenBeforeHtml(p, token);\n }\n}\n\nfunction endTagBeforeHtml(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML || tn === $.HEAD || tn === $.BODY || tn === $.BR) {\n tokenBeforeHtml(p, token);\n }\n}\n\nfunction tokenBeforeHtml(p, token) {\n p._insertFakeRootElement();\n p.insertionMode = BEFORE_HEAD_MODE;\n p._processToken(token);\n}\n\n// The \"before head\" insertion mode\n//------------------------------------------------------------------\nfunction startTagBeforeHead(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (tn === $.HEAD) {\n p._insertElement(token, NS.HTML);\n p.headElement = p.openElements.current;\n p.insertionMode = IN_HEAD_MODE;\n } else {\n tokenBeforeHead(p, token);\n }\n}\n\nfunction endTagBeforeHead(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HEAD || tn === $.BODY || tn === $.HTML || tn === $.BR) {\n tokenBeforeHead(p, token);\n } else {\n p._err(ERR.endTagWithoutMatchingOpenElement);\n }\n}\n\nfunction tokenBeforeHead(p, token) {\n p._insertFakeElement($.HEAD);\n p.headElement = p.openElements.current;\n p.insertionMode = IN_HEAD_MODE;\n p._processToken(token);\n}\n\n// The \"in head\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInHead(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (tn === $.BASE || tn === $.BASEFONT || tn === $.BGSOUND || tn === $.LINK || tn === $.META) {\n p._appendElement(token, NS.HTML);\n token.ackSelfClosing = true;\n } else if (tn === $.TITLE) {\n p._switchToTextParsing(token, Tokenizer.MODE.RCDATA);\n } else if (tn === $.NOSCRIPT) {\n if (p.options.scriptingEnabled) {\n p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT);\n } else {\n p._insertElement(token, NS.HTML);\n p.insertionMode = IN_HEAD_NO_SCRIPT_MODE;\n }\n } else if (tn === $.NOFRAMES || tn === $.STYLE) {\n p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT);\n } else if (tn === $.SCRIPT) {\n p._switchToTextParsing(token, Tokenizer.MODE.SCRIPT_DATA);\n } else if (tn === $.TEMPLATE) {\n p._insertTemplate(token, NS.HTML);\n p.activeFormattingElements.insertMarker();\n p.framesetOk = false;\n p.insertionMode = IN_TEMPLATE_MODE;\n p._pushTmplInsertionMode(IN_TEMPLATE_MODE);\n } else if (tn === $.HEAD) {\n p._err(ERR.misplacedStartTagForHeadElement);\n } else {\n tokenInHead(p, token);\n }\n}\n\nfunction endTagInHead(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HEAD) {\n p.openElements.pop();\n p.insertionMode = AFTER_HEAD_MODE;\n } else if (tn === $.BODY || tn === $.BR || tn === $.HTML) {\n tokenInHead(p, token);\n } else if (tn === $.TEMPLATE) {\n if (p.openElements.tmplCount > 0) {\n p.openElements.generateImpliedEndTagsThoroughly();\n\n if (p.openElements.currentTagName !== $.TEMPLATE) {\n p._err(ERR.closingOfElementWithOpenChildElements);\n }\n\n p.openElements.popUntilTagNamePopped($.TEMPLATE);\n p.activeFormattingElements.clearToLastMarker();\n p._popTmplInsertionMode();\n p._resetInsertionMode();\n } else {\n p._err(ERR.endTagWithoutMatchingOpenElement);\n }\n } else {\n p._err(ERR.endTagWithoutMatchingOpenElement);\n }\n}\n\nfunction tokenInHead(p, token) {\n p.openElements.pop();\n p.insertionMode = AFTER_HEAD_MODE;\n p._processToken(token);\n}\n\n// The \"in head no script\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInHeadNoScript(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (\n tn === $.BASEFONT ||\n tn === $.BGSOUND ||\n tn === $.HEAD ||\n tn === $.LINK ||\n tn === $.META ||\n tn === $.NOFRAMES ||\n tn === $.STYLE\n ) {\n startTagInHead(p, token);\n } else if (tn === $.NOSCRIPT) {\n p._err(ERR.nestedNoscriptInHead);\n } else {\n tokenInHeadNoScript(p, token);\n }\n}\n\nfunction endTagInHeadNoScript(p, token) {\n const tn = token.tagName;\n\n if (tn === $.NOSCRIPT) {\n p.openElements.pop();\n p.insertionMode = IN_HEAD_MODE;\n } else if (tn === $.BR) {\n tokenInHeadNoScript(p, token);\n } else {\n p._err(ERR.endTagWithoutMatchingOpenElement);\n }\n}\n\nfunction tokenInHeadNoScript(p, token) {\n const errCode =\n token.type === Tokenizer.EOF_TOKEN ? ERR.openElementsLeftAfterEof : ERR.disallowedContentInNoscriptInHead;\n\n p._err(errCode);\n p.openElements.pop();\n p.insertionMode = IN_HEAD_MODE;\n p._processToken(token);\n}\n\n// The \"after head\" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterHead(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (tn === $.BODY) {\n p._insertElement(token, NS.HTML);\n p.framesetOk = false;\n p.insertionMode = IN_BODY_MODE;\n } else if (tn === $.FRAMESET) {\n p._insertElement(token, NS.HTML);\n p.insertionMode = IN_FRAMESET_MODE;\n } else if (\n tn === $.BASE ||\n tn === $.BASEFONT ||\n tn === $.BGSOUND ||\n tn === $.LINK ||\n tn === $.META ||\n tn === $.NOFRAMES ||\n tn === $.SCRIPT ||\n tn === $.STYLE ||\n tn === $.TEMPLATE ||\n tn === $.TITLE\n ) {\n p._err(ERR.abandonedHeadElementChild);\n p.openElements.push(p.headElement);\n startTagInHead(p, token);\n p.openElements.remove(p.headElement);\n } else if (tn === $.HEAD) {\n p._err(ERR.misplacedStartTagForHeadElement);\n } else {\n tokenAfterHead(p, token);\n }\n}\n\nfunction endTagAfterHead(p, token) {\n const tn = token.tagName;\n\n if (tn === $.BODY || tn === $.HTML || tn === $.BR) {\n tokenAfterHead(p, token);\n } else if (tn === $.TEMPLATE) {\n endTagInHead(p, token);\n } else {\n p._err(ERR.endTagWithoutMatchingOpenElement);\n }\n}\n\nfunction tokenAfterHead(p, token) {\n p._insertFakeElement($.BODY);\n p.insertionMode = IN_BODY_MODE;\n p._processToken(token);\n}\n\n// The \"in body\" insertion mode\n//------------------------------------------------------------------\nfunction whitespaceCharacterInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertCharacters(token);\n}\n\nfunction characterInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertCharacters(token);\n p.framesetOk = false;\n}\n\nfunction htmlStartTagInBody(p, token) {\n if (p.openElements.tmplCount === 0) {\n p.treeAdapter.adoptAttributes(p.openElements.items[0], token.attrs);\n }\n}\n\nfunction bodyStartTagInBody(p, token) {\n const bodyElement = p.openElements.tryPeekProperlyNestedBodyElement();\n\n if (bodyElement && p.openElements.tmplCount === 0) {\n p.framesetOk = false;\n p.treeAdapter.adoptAttributes(bodyElement, token.attrs);\n }\n}\n\nfunction framesetStartTagInBody(p, token) {\n const bodyElement = p.openElements.tryPeekProperlyNestedBodyElement();\n\n if (p.framesetOk && bodyElement) {\n p.treeAdapter.detachNode(bodyElement);\n p.openElements.popAllUpToHtmlElement();\n p._insertElement(token, NS.HTML);\n p.insertionMode = IN_FRAMESET_MODE;\n }\n}\n\nfunction addressStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n p._insertElement(token, NS.HTML);\n}\n\nfunction numberedHeaderStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n const tn = p.openElements.currentTagName;\n\n if (tn === $.H1 || tn === $.H2 || tn === $.H3 || tn === $.H4 || tn === $.H5 || tn === $.H6) {\n p.openElements.pop();\n }\n\n p._insertElement(token, NS.HTML);\n}\n\nfunction preStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n p._insertElement(token, NS.HTML);\n //NOTE: If the next token is a U+000A LINE FEED (LF) character token, then ignore that token and move\n //on to the next one. (Newlines at the start of pre blocks are ignored as an authoring convenience.)\n p.skipNextNewLine = true;\n p.framesetOk = false;\n}\n\nfunction formStartTagInBody(p, token) {\n const inTemplate = p.openElements.tmplCount > 0;\n\n if (!p.formElement || inTemplate) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n p._insertElement(token, NS.HTML);\n\n if (!inTemplate) {\n p.formElement = p.openElements.current;\n }\n }\n}\n\nfunction listItemStartTagInBody(p, token) {\n p.framesetOk = false;\n\n const tn = token.tagName;\n\n for (let i = p.openElements.stackTop; i >= 0; i--) {\n const element = p.openElements.items[i];\n const elementTn = p.treeAdapter.getTagName(element);\n let closeTn = null;\n\n if (tn === $.LI && elementTn === $.LI) {\n closeTn = $.LI;\n } else if ((tn === $.DD || tn === $.DT) && (elementTn === $.DD || elementTn === $.DT)) {\n closeTn = elementTn;\n }\n\n if (closeTn) {\n p.openElements.generateImpliedEndTagsWithExclusion(closeTn);\n p.openElements.popUntilTagNamePopped(closeTn);\n break;\n }\n\n if (elementTn !== $.ADDRESS && elementTn !== $.DIV && elementTn !== $.P && p._isSpecialElement(element)) {\n break;\n }\n }\n\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n p._insertElement(token, NS.HTML);\n}\n\nfunction plaintextStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n p._insertElement(token, NS.HTML);\n p.tokenizer.state = Tokenizer.MODE.PLAINTEXT;\n}\n\nfunction buttonStartTagInBody(p, token) {\n if (p.openElements.hasInScope($.BUTTON)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped($.BUTTON);\n }\n\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n p.framesetOk = false;\n}\n\nfunction aStartTagInBody(p, token) {\n const activeElementEntry = p.activeFormattingElements.getElementEntryInScopeWithTagName($.A);\n\n if (activeElementEntry) {\n callAdoptionAgency(p, token);\n p.openElements.remove(activeElementEntry.element);\n p.activeFormattingElements.removeEntry(activeElementEntry);\n }\n\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n p.activeFormattingElements.pushElement(p.openElements.current, token);\n}\n\nfunction bStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n p.activeFormattingElements.pushElement(p.openElements.current, token);\n}\n\nfunction nobrStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n\n if (p.openElements.hasInScope($.NOBR)) {\n callAdoptionAgency(p, token);\n p._reconstructActiveFormattingElements();\n }\n\n p._insertElement(token, NS.HTML);\n p.activeFormattingElements.pushElement(p.openElements.current, token);\n}\n\nfunction appletStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n p.activeFormattingElements.insertMarker();\n p.framesetOk = false;\n}\n\nfunction tableStartTagInBody(p, token) {\n if (\n p.treeAdapter.getDocumentMode(p.document) !== HTML.DOCUMENT_MODE.QUIRKS &&\n p.openElements.hasInButtonScope($.P)\n ) {\n p._closePElement();\n }\n\n p._insertElement(token, NS.HTML);\n p.framesetOk = false;\n p.insertionMode = IN_TABLE_MODE;\n}\n\nfunction areaStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._appendElement(token, NS.HTML);\n p.framesetOk = false;\n token.ackSelfClosing = true;\n}\n\nfunction inputStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._appendElement(token, NS.HTML);\n\n const inputType = Tokenizer.getTokenAttr(token, ATTRS.TYPE);\n\n if (!inputType || inputType.toLowerCase() !== HIDDEN_INPUT_TYPE) {\n p.framesetOk = false;\n }\n\n token.ackSelfClosing = true;\n}\n\nfunction paramStartTagInBody(p, token) {\n p._appendElement(token, NS.HTML);\n token.ackSelfClosing = true;\n}\n\nfunction hrStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n p._appendElement(token, NS.HTML);\n p.framesetOk = false;\n token.ackSelfClosing = true;\n}\n\nfunction imageStartTagInBody(p, token) {\n token.tagName = $.IMG;\n areaStartTagInBody(p, token);\n}\n\nfunction textareaStartTagInBody(p, token) {\n p._insertElement(token, NS.HTML);\n //NOTE: If the next token is a U+000A LINE FEED (LF) character token, then ignore that token and move\n //on to the next one. (Newlines at the start of textarea elements are ignored as an authoring convenience.)\n p.skipNextNewLine = true;\n p.tokenizer.state = Tokenizer.MODE.RCDATA;\n p.originalInsertionMode = p.insertionMode;\n p.framesetOk = false;\n p.insertionMode = TEXT_MODE;\n}\n\nfunction xmpStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n p._reconstructActiveFormattingElements();\n p.framesetOk = false;\n p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT);\n}\n\nfunction iframeStartTagInBody(p, token) {\n p.framesetOk = false;\n p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT);\n}\n\n//NOTE: here we assume that we always act as an user agent with enabled plugins, so we parse\n//<noembed> as a rawtext.\nfunction noembedStartTagInBody(p, token) {\n p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT);\n}\n\nfunction selectStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n p.framesetOk = false;\n\n if (\n p.insertionMode === IN_TABLE_MODE ||\n p.insertionMode === IN_CAPTION_MODE ||\n p.insertionMode === IN_TABLE_BODY_MODE ||\n p.insertionMode === IN_ROW_MODE ||\n p.insertionMode === IN_CELL_MODE\n ) {\n p.insertionMode = IN_SELECT_IN_TABLE_MODE;\n } else {\n p.insertionMode = IN_SELECT_MODE;\n }\n}\n\nfunction optgroupStartTagInBody(p, token) {\n if (p.openElements.currentTagName === $.OPTION) {\n p.openElements.pop();\n }\n\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n}\n\nfunction rbStartTagInBody(p, token) {\n if (p.openElements.hasInScope($.RUBY)) {\n p.openElements.generateImpliedEndTags();\n }\n\n p._insertElement(token, NS.HTML);\n}\n\nfunction rtStartTagInBody(p, token) {\n if (p.openElements.hasInScope($.RUBY)) {\n p.openElements.generateImpliedEndTagsWithExclusion($.RTC);\n }\n\n p._insertElement(token, NS.HTML);\n}\n\nfunction menuStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n p._insertElement(token, NS.HTML);\n}\n\nfunction mathStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n\n foreignContent.adjustTokenMathMLAttrs(token);\n foreignContent.adjustTokenXMLAttrs(token);\n\n if (token.selfClosing) {\n p._appendElement(token, NS.MATHML);\n } else {\n p._insertElement(token, NS.MATHML);\n }\n\n token.ackSelfClosing = true;\n}\n\nfunction svgStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n\n foreignContent.adjustTokenSVGAttrs(token);\n foreignContent.adjustTokenXMLAttrs(token);\n\n if (token.selfClosing) {\n p._appendElement(token, NS.SVG);\n } else {\n p._insertElement(token, NS.SVG);\n }\n\n token.ackSelfClosing = true;\n}\n\nfunction genericStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n}\n\n//OPTIMIZATION: Integer comparisons are low-cost, so we can use very fast tag name length filters here.\n//It's faster than using dictionary.\nfunction startTagInBody(p, token) {\n const tn = token.tagName;\n\n switch (tn.length) {\n case 1:\n if (tn === $.I || tn === $.S || tn === $.B || tn === $.U) {\n bStartTagInBody(p, token);\n } else if (tn === $.P) {\n addressStartTagInBody(p, token);\n } else if (tn === $.A) {\n aStartTagInBody(p, token);\n } else {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 2:\n if (tn === $.DL || tn === $.OL || tn === $.UL) {\n addressStartTagInBody(p, token);\n } else if (tn === $.H1 || tn === $.H2 || tn === $.H3 || tn === $.H4 || tn === $.H5 || tn === $.H6) {\n numberedHeaderStartTagInBody(p, token);\n } else if (tn === $.LI || tn === $.DD || tn === $.DT) {\n listItemStartTagInBody(p, token);\n } else if (tn === $.EM || tn === $.TT) {\n bStartTagInBody(p, token);\n } else if (tn === $.BR) {\n areaStartTagInBody(p, token);\n } else if (tn === $.HR) {\n hrStartTagInBody(p, token);\n } else if (tn === $.RB) {\n rbStartTagInBody(p, token);\n } else if (tn === $.RT || tn === $.RP) {\n rtStartTagInBody(p, token);\n } else if (tn !== $.TH && tn !== $.TD && tn !== $.TR) {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 3:\n if (tn === $.DIV || tn === $.DIR || tn === $.NAV) {\n addressStartTagInBody(p, token);\n } else if (tn === $.PRE) {\n preStartTagInBody(p, token);\n } else if (tn === $.BIG) {\n bStartTagInBody(p, token);\n } else if (tn === $.IMG || tn === $.WBR) {\n areaStartTagInBody(p, token);\n } else if (tn === $.XMP) {\n xmpStartTagInBody(p, token);\n } else if (tn === $.SVG) {\n svgStartTagInBody(p, token);\n } else if (tn === $.RTC) {\n rbStartTagInBody(p, token);\n } else if (tn !== $.COL) {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 4:\n if (tn === $.HTML) {\n htmlStartTagInBody(p, token);\n } else if (tn === $.BASE || tn === $.LINK || tn === $.META) {\n startTagInHead(p, token);\n } else if (tn === $.BODY) {\n bodyStartTagInBody(p, token);\n } else if (tn === $.MAIN || tn === $.MENU) {\n addressStartTagInBody(p, token);\n } else if (tn === $.FORM) {\n formStartTagInBody(p, token);\n } else if (tn === $.CODE || tn === $.FONT) {\n bStartTagInBody(p, token);\n } else if (tn === $.NOBR) {\n nobrStartTagInBody(p, token);\n } else if (tn === $.AREA) {\n areaStartTagInBody(p, token);\n } else if (tn === $.MATH) {\n mathStartTagInBody(p, token);\n } else if (tn === $.MENU) {\n menuStartTagInBody(p, token);\n } else if (tn !== $.HEAD) {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 5:\n if (tn === $.STYLE || tn === $.TITLE) {\n startTagInHead(p, token);\n } else if (tn === $.ASIDE) {\n addressStartTagInBody(p, token);\n } else if (tn === $.SMALL) {\n bStartTagInBody(p, token);\n } else if (tn === $.TABLE) {\n tableStartTagInBody(p, token);\n } else if (tn === $.EMBED) {\n areaStartTagInBody(p, token);\n } else if (tn === $.INPUT) {\n inputStartTagInBody(p, token);\n } else if (tn === $.PARAM || tn === $.TRACK) {\n paramStartTagInBody(p, token);\n } else if (tn === $.IMAGE) {\n imageStartTagInBody(p, token);\n } else if (tn !== $.FRAME && tn !== $.TBODY && tn !== $.TFOOT && tn !== $.THEAD) {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 6:\n if (tn === $.SCRIPT) {\n startTagInHead(p, token);\n } else if (\n tn === $.CENTER ||\n tn === $.FIGURE ||\n tn === $.FOOTER ||\n tn === $.HEADER ||\n tn === $.HGROUP ||\n tn === $.DIALOG\n ) {\n addressStartTagInBody(p, token);\n } else if (tn === $.BUTTON) {\n buttonStartTagInBody(p, token);\n } else if (tn === $.STRIKE || tn === $.STRONG) {\n bStartTagInBody(p, token);\n } else if (tn === $.APPLET || tn === $.OBJECT) {\n appletStartTagInBody(p, token);\n } else if (tn === $.KEYGEN) {\n areaStartTagInBody(p, token);\n } else if (tn === $.SOURCE) {\n paramStartTagInBody(p, token);\n } else if (tn === $.IFRAME) {\n iframeStartTagInBody(p, token);\n } else if (tn === $.SELECT) {\n selectStartTagInBody(p, token);\n } else if (tn === $.OPTION) {\n optgroupStartTagInBody(p, token);\n } else {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 7:\n if (tn === $.BGSOUND) {\n startTagInHead(p, token);\n } else if (\n tn === $.DETAILS ||\n tn === $.ADDRESS ||\n tn === $.ARTICLE ||\n tn === $.SECTION ||\n tn === $.SUMMARY\n ) {\n addressStartTagInBody(p, token);\n } else if (tn === $.LISTING) {\n preStartTagInBody(p, token);\n } else if (tn === $.MARQUEE) {\n appletStartTagInBody(p, token);\n } else if (tn === $.NOEMBED) {\n noembedStartTagInBody(p, token);\n } else if (tn !== $.CAPTION) {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 8:\n if (tn === $.BASEFONT) {\n startTagInHead(p, token);\n } else if (tn === $.FRAMESET) {\n framesetStartTagInBody(p, token);\n } else if (tn === $.FIELDSET) {\n addressStartTagInBody(p, token);\n } else if (tn === $.TEXTAREA) {\n textareaStartTagInBody(p, token);\n } else if (tn === $.TEMPLATE) {\n startTagInHead(p, token);\n } else if (tn === $.NOSCRIPT) {\n if (p.options.scriptingEnabled) {\n noembedStartTagInBody(p, token);\n } else {\n genericStartTagInBody(p, token);\n }\n } else if (tn === $.OPTGROUP) {\n optgroupStartTagInBody(p, token);\n } else if (tn !== $.COLGROUP) {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 9:\n if (tn === $.PLAINTEXT) {\n plaintextStartTagInBody(p, token);\n } else {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 10:\n if (tn === $.BLOCKQUOTE || tn === $.FIGCAPTION) {\n addressStartTagInBody(p, token);\n } else {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n default:\n genericStartTagInBody(p, token);\n }\n}\n\nfunction bodyEndTagInBody(p) {\n if (p.openElements.hasInScope($.BODY)) {\n p.insertionMode = AFTER_BODY_MODE;\n }\n}\n\nfunction htmlEndTagInBody(p, token) {\n if (p.openElements.hasInScope($.BODY)) {\n p.insertionMode = AFTER_BODY_MODE;\n p._processToken(token);\n }\n}\n\nfunction addressEndTagInBody(p, token) {\n const tn = token.tagName;\n\n if (p.openElements.hasInScope(tn)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped(tn);\n }\n}\n\nfunction formEndTagInBody(p) {\n const inTemplate = p.openElements.tmplCount > 0;\n const formElement = p.formElement;\n\n if (!inTemplate) {\n p.formElement = null;\n }\n\n if ((formElement || inTemplate) && p.openElements.hasInScope($.FORM)) {\n p.openElements.generateImpliedEndTags();\n\n if (inTemplate) {\n p.openElements.popUntilTagNamePopped($.FORM);\n } else {\n p.openElements.remove(formElement);\n }\n }\n}\n\nfunction pEndTagInBody(p) {\n if (!p.openElements.hasInButtonScope($.P)) {\n p._insertFakeElement($.P);\n }\n\n p._closePElement();\n}\n\nfunction liEndTagInBody(p) {\n if (p.openElements.hasInListItemScope($.LI)) {\n p.openElements.generateImpliedEndTagsWithExclusion($.LI);\n p.openElements.popUntilTagNamePopped($.LI);\n }\n}\n\nfunction ddEndTagInBody(p, token) {\n const tn = token.tagName;\n\n if (p.openElements.hasInScope(tn)) {\n p.openElements.generateImpliedEndTagsWithExclusion(tn);\n p.openElements.popUntilTagNamePopped(tn);\n }\n}\n\nfunction numberedHeaderEndTagInBody(p) {\n if (p.openElements.hasNumberedHeaderInScope()) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilNumberedHeaderPopped();\n }\n}\n\nfunction appletEndTagInBody(p, token) {\n const tn = token.tagName;\n\n if (p.openElements.hasInScope(tn)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped(tn);\n p.activeFormattingElements.clearToLastMarker();\n }\n}\n\nfunction brEndTagInBody(p) {\n p._reconstructActiveFormattingElements();\n p._insertFakeElement($.BR);\n p.openElements.pop();\n p.framesetOk = false;\n}\n\nfunction genericEndTagInBody(p, token) {\n const tn = token.tagName;\n\n for (let i = p.openElements.stackTop; i > 0; i--) {\n const element = p.openElements.items[i];\n\n if (p.treeAdapter.getTagName(element) === tn) {\n p.openElements.generateImpliedEndTagsWithExclusion(tn);\n p.openElements.popUntilElementPopped(element);\n break;\n }\n\n if (p._isSpecialElement(element)) {\n break;\n }\n }\n}\n\n//OPTIMIZATION: Integer comparisons are low-cost, so we can use very fast tag name length filters here.\n//It's faster than using dictionary.\nfunction endTagInBody(p, token) {\n const tn = token.tagName;\n\n switch (tn.length) {\n case 1:\n if (tn === $.A || tn === $.B || tn === $.I || tn === $.S || tn === $.U) {\n callAdoptionAgency(p, token);\n } else if (tn === $.P) {\n pEndTagInBody(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n case 2:\n if (tn === $.DL || tn === $.UL || tn === $.OL) {\n addressEndTagInBody(p, token);\n } else if (tn === $.LI) {\n liEndTagInBody(p, token);\n } else if (tn === $.DD || tn === $.DT) {\n ddEndTagInBody(p, token);\n } else if (tn === $.H1 || tn === $.H2 || tn === $.H3 || tn === $.H4 || tn === $.H5 || tn === $.H6) {\n numberedHeaderEndTagInBody(p, token);\n } else if (tn === $.BR) {\n brEndTagInBody(p, token);\n } else if (tn === $.EM || tn === $.TT) {\n callAdoptionAgency(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n case 3:\n if (tn === $.BIG) {\n callAdoptionAgency(p, token);\n } else if (tn === $.DIR || tn === $.DIV || tn === $.NAV || tn === $.PRE) {\n addressEndTagInBody(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n case 4:\n if (tn === $.BODY) {\n bodyEndTagInBody(p, token);\n } else if (tn === $.HTML) {\n htmlEndTagInBody(p, token);\n } else if (tn === $.FORM) {\n formEndTagInBody(p, token);\n } else if (tn === $.CODE || tn === $.FONT || tn === $.NOBR) {\n callAdoptionAgency(p, token);\n } else if (tn === $.MAIN || tn === $.MENU) {\n addressEndTagInBody(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n case 5:\n if (tn === $.ASIDE) {\n addressEndTagInBody(p, token);\n } else if (tn === $.SMALL) {\n callAdoptionAgency(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n case 6:\n if (\n tn === $.CENTER ||\n tn === $.FIGURE ||\n tn === $.FOOTER ||\n tn === $.HEADER ||\n tn === $.HGROUP ||\n tn === $.DIALOG\n ) {\n addressEndTagInBody(p, token);\n } else if (tn === $.APPLET || tn === $.OBJECT) {\n appletEndTagInBody(p, token);\n } else if (tn === $.STRIKE || tn === $.STRONG) {\n callAdoptionAgency(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n case 7:\n if (\n tn === $.ADDRESS ||\n tn === $.ARTICLE ||\n tn === $.DETAILS ||\n tn === $.SECTION ||\n tn === $.SUMMARY ||\n tn === $.LISTING\n ) {\n addressEndTagInBody(p, token);\n } else if (tn === $.MARQUEE) {\n appletEndTagInBody(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n case 8:\n if (tn === $.FIELDSET) {\n addressEndTagInBody(p, token);\n } else if (tn === $.TEMPLATE) {\n endTagInHead(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n case 10:\n if (tn === $.BLOCKQUOTE || tn === $.FIGCAPTION) {\n addressEndTagInBody(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n default:\n genericEndTagInBody(p, token);\n }\n}\n\nfunction eofInBody(p, token) {\n if (p.tmplInsertionModeStackTop > -1) {\n eofInTemplate(p, token);\n } else {\n p.stopped = true;\n }\n}\n\n// The \"text\" insertion mode\n//------------------------------------------------------------------\nfunction endTagInText(p, token) {\n if (token.tagName === $.SCRIPT) {\n p.pendingScript = p.openElements.current;\n }\n\n p.openElements.pop();\n p.insertionMode = p.originalInsertionMode;\n}\n\nfunction eofInText(p, token) {\n p._err(ERR.eofInElementThatCanContainOnlyText);\n p.openElements.pop();\n p.insertionMode = p.originalInsertionMode;\n p._processToken(token);\n}\n\n// The \"in table\" insertion mode\n//------------------------------------------------------------------\nfunction characterInTable(p, token) {\n const curTn = p.openElements.currentTagName;\n\n if (curTn === $.TABLE || curTn === $.TBODY || curTn === $.TFOOT || curTn === $.THEAD || curTn === $.TR) {\n p.pendingCharacterTokens = [];\n p.hasNonWhitespacePendingCharacterToken = false;\n p.originalInsertionMode = p.insertionMode;\n p.insertionMode = IN_TABLE_TEXT_MODE;\n p._processToken(token);\n } else {\n tokenInTable(p, token);\n }\n}\n\nfunction captionStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p.activeFormattingElements.insertMarker();\n p._insertElement(token, NS.HTML);\n p.insertionMode = IN_CAPTION_MODE;\n}\n\nfunction colgroupStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p._insertElement(token, NS.HTML);\n p.insertionMode = IN_COLUMN_GROUP_MODE;\n}\n\nfunction colStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p._insertFakeElement($.COLGROUP);\n p.insertionMode = IN_COLUMN_GROUP_MODE;\n p._processToken(token);\n}\n\nfunction tbodyStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p._insertElement(token, NS.HTML);\n p.insertionMode = IN_TABLE_BODY_MODE;\n}\n\nfunction tdStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p._insertFakeElement($.TBODY);\n p.insertionMode = IN_TABLE_BODY_MODE;\n p._processToken(token);\n}\n\nfunction tableStartTagInTable(p, token) {\n if (p.openElements.hasInTableScope($.TABLE)) {\n p.openElements.popUntilTagNamePopped($.TABLE);\n p._resetInsertionMode();\n p._processToken(token);\n }\n}\n\nfunction inputStartTagInTable(p, token) {\n const inputType = Tokenizer.getTokenAttr(token, ATTRS.TYPE);\n\n if (inputType && inputType.toLowerCase() === HIDDEN_INPUT_TYPE) {\n p._appendElement(token, NS.HTML);\n } else {\n tokenInTable(p, token);\n }\n\n token.ackSelfClosing = true;\n}\n\nfunction formStartTagInTable(p, token) {\n if (!p.formElement && p.openElements.tmplCount === 0) {\n p._insertElement(token, NS.HTML);\n p.formElement = p.openElements.current;\n p.openElements.pop();\n }\n}\n\nfunction startTagInTable(p, token) {\n const tn = token.tagName;\n\n switch (tn.length) {\n case 2:\n if (tn === $.TD || tn === $.TH || tn === $.TR) {\n tdStartTagInTable(p, token);\n } else {\n tokenInTable(p, token);\n }\n\n break;\n\n case 3:\n if (tn === $.COL) {\n colStartTagInTable(p, token);\n } else {\n tokenInTable(p, token);\n }\n\n break;\n\n case 4:\n if (tn === $.FORM) {\n formStartTagInTable(p, token);\n } else {\n tokenInTable(p, token);\n }\n\n break;\n\n case 5:\n if (tn === $.TABLE) {\n tableStartTagInTable(p, token);\n } else if (tn === $.STYLE) {\n startTagInHead(p, token);\n } else if (tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD) {\n tbodyStartTagInTable(p, token);\n } else if (tn === $.INPUT) {\n inputStartTagInTable(p, token);\n } else {\n tokenInTable(p, token);\n }\n\n break;\n\n case 6:\n if (tn === $.SCRIPT) {\n startTagInHead(p, token);\n } else {\n tokenInTable(p, token);\n }\n\n break;\n\n case 7:\n if (tn === $.CAPTION) {\n captionStartTagInTable(p, token);\n } else {\n tokenInTable(p, token);\n }\n\n break;\n\n case 8:\n if (tn === $.COLGROUP) {\n colgroupStartTagInTable(p, token);\n } else if (tn === $.TEMPLATE) {\n startTagInHead(p, token);\n } else {\n tokenInTable(p, token);\n }\n\n break;\n\n default:\n tokenInTable(p, token);\n }\n}\n\nfunction endTagInTable(p, token) {\n const tn = token.tagName;\n\n if (tn === $.TABLE) {\n if (p.openElements.hasInTableScope($.TABLE)) {\n p.openElements.popUntilTagNamePopped($.TABLE);\n p._resetInsertionMode();\n }\n } else if (tn === $.TEMPLATE) {\n endTagInHead(p, token);\n } else if (\n tn !== $.BODY &&\n tn !== $.CAPTION &&\n tn !== $.COL &&\n tn !== $.COLGROUP &&\n tn !== $.HTML &&\n tn !== $.TBODY &&\n tn !== $.TD &&\n tn !== $.TFOOT &&\n tn !== $.TH &&\n tn !== $.THEAD &&\n tn !== $.TR\n ) {\n tokenInTable(p, token);\n }\n}\n\nfunction tokenInTable(p, token) {\n const savedFosterParentingState = p.fosterParentingEnabled;\n\n p.fosterParentingEnabled = true;\n p._processTokenInBodyMode(token);\n p.fosterParentingEnabled = savedFosterParentingState;\n}\n\n// The \"in table text\" insertion mode\n//------------------------------------------------------------------\nfunction whitespaceCharacterInTableText(p, token) {\n p.pendingCharacterTokens.push(token);\n}\n\nfunction characterInTableText(p, token) {\n p.pendingCharacterTokens.push(token);\n p.hasNonWhitespacePendingCharacterToken = true;\n}\n\nfunction tokenInTableText(p, token) {\n let i = 0;\n\n if (p.hasNonWhitespacePendingCharacterToken) {\n for (; i < p.pendingCharacterTokens.length; i++) {\n tokenInTable(p, p.pendingCharacterTokens[i]);\n }\n } else {\n for (; i < p.pendingCharacterTokens.length; i++) {\n p._insertCharacters(p.pendingCharacterTokens[i]);\n }\n }\n\n p.insertionMode = p.originalInsertionMode;\n p._processToken(token);\n}\n\n// The \"in caption\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInCaption(p, token) {\n const tn = token.tagName;\n\n if (\n tn === $.CAPTION ||\n tn === $.COL ||\n tn === $.COLGROUP ||\n tn === $.TBODY ||\n tn === $.TD ||\n tn === $.TFOOT ||\n tn === $.TH ||\n tn === $.THEAD ||\n tn === $.TR\n ) {\n if (p.openElements.hasInTableScope($.CAPTION)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped($.CAPTION);\n p.activeFormattingElements.clearToLastMarker();\n p.insertionMode = IN_TABLE_MODE;\n p._processToken(token);\n }\n } else {\n startTagInBody(p, token);\n }\n}\n\nfunction endTagInCaption(p, token) {\n const tn = token.tagName;\n\n if (tn === $.CAPTION || tn === $.TABLE) {\n if (p.openElements.hasInTableScope($.CAPTION)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped($.CAPTION);\n p.activeFormattingElements.clearToLastMarker();\n p.insertionMode = IN_TABLE_MODE;\n\n if (tn === $.TABLE) {\n p._processToken(token);\n }\n }\n } else if (\n tn !== $.BODY &&\n tn !== $.COL &&\n tn !== $.COLGROUP &&\n tn !== $.HTML &&\n tn !== $.TBODY &&\n tn !== $.TD &&\n tn !== $.TFOOT &&\n tn !== $.TH &&\n tn !== $.THEAD &&\n tn !== $.TR\n ) {\n endTagInBody(p, token);\n }\n}\n\n// The \"in column group\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInColumnGroup(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (tn === $.COL) {\n p._appendElement(token, NS.HTML);\n token.ackSelfClosing = true;\n } else if (tn === $.TEMPLATE) {\n startTagInHead(p, token);\n } else {\n tokenInColumnGroup(p, token);\n }\n}\n\nfunction endTagInColumnGroup(p, token) {\n const tn = token.tagName;\n\n if (tn === $.COLGROUP) {\n if (p.openElements.currentTagName === $.COLGROUP) {\n p.openElements.pop();\n p.insertionMode = IN_TABLE_MODE;\n }\n } else if (tn === $.TEMPLATE) {\n endTagInHead(p, token);\n } else if (tn !== $.COL) {\n tokenInColumnGroup(p, token);\n }\n}\n\nfunction tokenInColumnGroup(p, token) {\n if (p.openElements.currentTagName === $.COLGROUP) {\n p.openElements.pop();\n p.insertionMode = IN_TABLE_MODE;\n p._processToken(token);\n }\n}\n\n// The \"in table body\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInTableBody(p, token) {\n const tn = token.tagName;\n\n if (tn === $.TR) {\n p.openElements.clearBackToTableBodyContext();\n p._insertElement(token, NS.HTML);\n p.insertionMode = IN_ROW_MODE;\n } else if (tn === $.TH || tn === $.TD) {\n p.openElements.clearBackToTableBodyContext();\n p._insertFakeElement($.TR);\n p.insertionMode = IN_ROW_MODE;\n p._processToken(token);\n } else if (\n tn === $.CAPTION ||\n tn === $.COL ||\n tn === $.COLGROUP ||\n tn === $.TBODY ||\n tn === $.TFOOT ||\n tn === $.THEAD\n ) {\n if (p.openElements.hasTableBodyContextInTableScope()) {\n p.openElements.clearBackToTableBodyContext();\n p.openElements.pop();\n p.insertionMode = IN_TABLE_MODE;\n p._processToken(token);\n }\n } else {\n startTagInTable(p, token);\n }\n}\n\nfunction endTagInTableBody(p, token) {\n const tn = token.tagName;\n\n if (tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD) {\n if (p.openElements.hasInTableScope(tn)) {\n p.openElements.clearBackToTableBodyContext();\n p.openElements.pop();\n p.insertionMode = IN_TABLE_MODE;\n }\n } else if (tn === $.TABLE) {\n if (p.openElements.hasTableBodyContextInTableScope()) {\n p.openElements.clearBackToTableBodyContext();\n p.openElements.pop();\n p.insertionMode = IN_TABLE_MODE;\n p._processToken(token);\n }\n } else if (\n (tn !== $.BODY && tn !== $.CAPTION && tn !== $.COL && tn !== $.COLGROUP) ||\n (tn !== $.HTML && tn !== $.TD && tn !== $.TH && tn !== $.TR)\n ) {\n endTagInTable(p, token);\n }\n}\n\n// The \"in row\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInRow(p, token) {\n const tn = token.tagName;\n\n if (tn === $.TH || tn === $.TD) {\n p.openElements.clearBackToTableRowContext();\n p._insertElement(token, NS.HTML);\n p.insertionMode = IN_CELL_MODE;\n p.activeFormattingElements.insertMarker();\n } else if (\n tn === $.CAPTION ||\n tn === $.COL ||\n tn === $.COLGROUP ||\n tn === $.TBODY ||\n tn === $.TFOOT ||\n tn === $.THEAD ||\n tn === $.TR\n ) {\n if (p.openElements.hasInTableScope($.TR)) {\n p.openElements.clearBackToTableRowContext();\n p.openElements.pop();\n p.insertionMode = IN_TABLE_BODY_MODE;\n p._processToken(token);\n }\n } else {\n startTagInTable(p, token);\n }\n}\n\nfunction endTagInRow(p, token) {\n const tn = token.tagName;\n\n if (tn === $.TR) {\n if (p.openElements.hasInTableScope($.TR)) {\n p.openElements.clearBackToTableRowContext();\n p.openElements.pop();\n p.insertionMode = IN_TABLE_BODY_MODE;\n }\n } else if (tn === $.TABLE) {\n if (p.openElements.hasInTableScope($.TR)) {\n p.openElements.clearBackToTableRowContext();\n p.openElements.pop();\n p.insertionMode = IN_TABLE_BODY_MODE;\n p._processToken(token);\n }\n } else if (tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD) {\n if (p.openElements.hasInTableScope(tn) || p.openElements.hasInTableScope($.TR)) {\n p.openElements.clearBackToTableRowContext();\n p.openElements.pop();\n p.insertionMode = IN_TABLE_BODY_MODE;\n p._processToken(token);\n }\n } else if (\n (tn !== $.BODY && tn !== $.CAPTION && tn !== $.COL && tn !== $.COLGROUP) ||\n (tn !== $.HTML && tn !== $.TD && tn !== $.TH)\n ) {\n endTagInTable(p, token);\n }\n}\n\n// The \"in cell\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInCell(p, token) {\n const tn = token.tagName;\n\n if (\n tn === $.CAPTION ||\n tn === $.COL ||\n tn === $.COLGROUP ||\n tn === $.TBODY ||\n tn === $.TD ||\n tn === $.TFOOT ||\n tn === $.TH ||\n tn === $.THEAD ||\n tn === $.TR\n ) {\n if (p.openElements.hasInTableScope($.TD) || p.openElements.hasInTableScope($.TH)) {\n p._closeTableCell();\n p._processToken(token);\n }\n } else {\n startTagInBody(p, token);\n }\n}\n\nfunction endTagInCell(p, token) {\n const tn = token.tagName;\n\n if (tn === $.TD || tn === $.TH) {\n if (p.openElements.hasInTableScope(tn)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped(tn);\n p.activeFormattingElements.clearToLastMarker();\n p.insertionMode = IN_ROW_MODE;\n }\n } else if (tn === $.TABLE || tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD || tn === $.TR) {\n if (p.openElements.hasInTableScope(tn)) {\n p._closeTableCell();\n p._processToken(token);\n }\n } else if (tn !== $.BODY && tn !== $.CAPTION && tn !== $.COL && tn !== $.COLGROUP && tn !== $.HTML) {\n endTagInBody(p, token);\n }\n}\n\n// The \"in select\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInSelect(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (tn === $.OPTION) {\n if (p.openElements.currentTagName === $.OPTION) {\n p.openElements.pop();\n }\n\n p._insertElement(token, NS.HTML);\n } else if (tn === $.OPTGROUP) {\n if (p.openElements.currentTagName === $.OPTION) {\n p.openElements.pop();\n }\n\n if (p.openElements.currentTagName === $.OPTGROUP) {\n p.openElements.pop();\n }\n\n p._insertElement(token, NS.HTML);\n } else if (tn === $.INPUT || tn === $.KEYGEN || tn === $.TEXTAREA || tn === $.SELECT) {\n if (p.openElements.hasInSelectScope($.SELECT)) {\n p.openElements.popUntilTagNamePopped($.SELECT);\n p._resetInsertionMode();\n\n if (tn !== $.SELECT) {\n p._processToken(token);\n }\n }\n } else if (tn === $.SCRIPT || tn === $.TEMPLATE) {\n startTagInHead(p, token);\n }\n}\n\nfunction endTagInSelect(p, token) {\n const tn = token.tagName;\n\n if (tn === $.OPTGROUP) {\n const prevOpenElement = p.openElements.items[p.openElements.stackTop - 1];\n const prevOpenElementTn = prevOpenElement && p.treeAdapter.getTagName(prevOpenElement);\n\n if (p.openElements.currentTagName === $.OPTION && prevOpenElementTn === $.OPTGROUP) {\n p.openElements.pop();\n }\n\n if (p.openElements.currentTagName === $.OPTGROUP) {\n p.openElements.pop();\n }\n } else if (tn === $.OPTION) {\n if (p.openElements.currentTagName === $.OPTION) {\n p.openElements.pop();\n }\n } else if (tn === $.SELECT && p.openElements.hasInSelectScope($.SELECT)) {\n p.openElements.popUntilTagNamePopped($.SELECT);\n p._resetInsertionMode();\n } else if (tn === $.TEMPLATE) {\n endTagInHead(p, token);\n }\n}\n\n//12.2.5.4.17 The \"in select in table\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInSelectInTable(p, token) {\n const tn = token.tagName;\n\n if (\n tn === $.CAPTION ||\n tn === $.TABLE ||\n tn === $.TBODY ||\n tn === $.TFOOT ||\n tn === $.THEAD ||\n tn === $.TR ||\n tn === $.TD ||\n tn === $.TH\n ) {\n p.openElements.popUntilTagNamePopped($.SELECT);\n p._resetInsertionMode();\n p._processToken(token);\n } else {\n startTagInSelect(p, token);\n }\n}\n\nfunction endTagInSelectInTable(p, token) {\n const tn = token.tagName;\n\n if (\n tn === $.CAPTION ||\n tn === $.TABLE ||\n tn === $.TBODY ||\n tn === $.TFOOT ||\n tn === $.THEAD ||\n tn === $.TR ||\n tn === $.TD ||\n tn === $.TH\n ) {\n if (p.openElements.hasInTableScope(tn)) {\n p.openElements.popUntilTagNamePopped($.SELECT);\n p._resetInsertionMode();\n p._processToken(token);\n }\n } else {\n endTagInSelect(p, token);\n }\n}\n\n// The \"in template\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInTemplate(p, token) {\n const tn = token.tagName;\n\n if (\n tn === $.BASE ||\n tn === $.BASEFONT ||\n tn === $.BGSOUND ||\n tn === $.LINK ||\n tn === $.META ||\n tn === $.NOFRAMES ||\n tn === $.SCRIPT ||\n tn === $.STYLE ||\n tn === $.TEMPLATE ||\n tn === $.TITLE\n ) {\n startTagInHead(p, token);\n } else {\n const newInsertionMode = TEMPLATE_INSERTION_MODE_SWITCH_MAP[tn] || IN_BODY_MODE;\n\n p._popTmplInsertionMode();\n p._pushTmplInsertionMode(newInsertionMode);\n p.insertionMode = newInsertionMode;\n p._processToken(token);\n }\n}\n\nfunction endTagInTemplate(p, token) {\n if (token.tagName === $.TEMPLATE) {\n endTagInHead(p, token);\n }\n}\n\nfunction eofInTemplate(p, token) {\n if (p.openElements.tmplCount > 0) {\n p.openElements.popUntilTagNamePopped($.TEMPLATE);\n p.activeFormattingElements.clearToLastMarker();\n p._popTmplInsertionMode();\n p._resetInsertionMode();\n p._processToken(token);\n } else {\n p.stopped = true;\n }\n}\n\n// The \"after body\" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterBody(p, token) {\n if (token.tagName === $.HTML) {\n startTagInBody(p, token);\n } else {\n tokenAfterBody(p, token);\n }\n}\n\nfunction endTagAfterBody(p, token) {\n if (token.tagName === $.HTML) {\n if (!p.fragmentContext) {\n p.insertionMode = AFTER_AFTER_BODY_MODE;\n }\n } else {\n tokenAfterBody(p, token);\n }\n}\n\nfunction tokenAfterBody(p, token) {\n p.insertionMode = IN_BODY_MODE;\n p._processToken(token);\n}\n\n// The \"in frameset\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInFrameset(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (tn === $.FRAMESET) {\n p._insertElement(token, NS.HTML);\n } else if (tn === $.FRAME) {\n p._appendElement(token, NS.HTML);\n token.ackSelfClosing = true;\n } else if (tn === $.NOFRAMES) {\n startTagInHead(p, token);\n }\n}\n\nfunction endTagInFrameset(p, token) {\n if (token.tagName === $.FRAMESET && !p.openElements.isRootHtmlElementCurrent()) {\n p.openElements.pop();\n\n if (!p.fragmentContext && p.openElements.currentTagName !== $.FRAMESET) {\n p.insertionMode = AFTER_FRAMESET_MODE;\n }\n }\n}\n\n// The \"after frameset\" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterFrameset(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (tn === $.NOFRAMES) {\n startTagInHead(p, token);\n }\n}\n\nfunction endTagAfterFrameset(p, token) {\n if (token.tagName === $.HTML) {\n p.insertionMode = AFTER_AFTER_FRAMESET_MODE;\n }\n}\n\n// The \"after after body\" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterAfterBody(p, token) {\n if (token.tagName === $.HTML) {\n startTagInBody(p, token);\n } else {\n tokenAfterAfterBody(p, token);\n }\n}\n\nfunction tokenAfterAfterBody(p, token) {\n p.insertionMode = IN_BODY_MODE;\n p._processToken(token);\n}\n\n// The \"after after frameset\" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterAfterFrameset(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (tn === $.NOFRAMES) {\n startTagInHead(p, token);\n }\n}\n\n// The rules for parsing tokens in foreign content\n//------------------------------------------------------------------\nfunction nullCharacterInForeignContent(p, token) {\n token.chars = unicode.REPLACEMENT_CHARACTER;\n p._insertCharacters(token);\n}\n\nfunction characterInForeignContent(p, token) {\n p._insertCharacters(token);\n p.framesetOk = false;\n}\n\nfunction startTagInForeignContent(p, token) {\n if (foreignContent.causesExit(token) && !p.fragmentContext) {\n while (\n p.treeAdapter.getNamespaceURI(p.openElements.current) !== NS.HTML &&\n !p._isIntegrationPoint(p.openElements.current)\n ) {\n p.openElements.pop();\n }\n\n p._processToken(token);\n } else {\n const current = p._getAdjustedCurrentElement();\n const currentNs = p.treeAdapter.getNamespaceURI(current);\n\n if (currentNs === NS.MATHML) {\n foreignContent.adjustTokenMathMLAttrs(token);\n } else if (currentNs === NS.SVG) {\n foreignContent.adjustTokenSVGTagName(token);\n foreignContent.adjustTokenSVGAttrs(token);\n }\n\n foreignContent.adjustTokenXMLAttrs(token);\n\n if (token.selfClosing) {\n p._appendElement(token, currentNs);\n } else {\n p._insertElement(token, currentNs);\n }\n\n token.ackSelfClosing = true;\n }\n}\n\nfunction endTagInForeignContent(p, token) {\n for (let i = p.openElements.stackTop; i > 0; i--) {\n const element = p.openElements.items[i];\n\n if (p.treeAdapter.getNamespaceURI(element) === NS.HTML) {\n p._processToken(token);\n break;\n }\n\n if (p.treeAdapter.getTagName(element).toLowerCase() === token.tagName) {\n p.openElements.popUntilElementPopped(element);\n break;\n }\n }\n}\n","'use strict';\n\nconst HTML = require('../common/html');\n\n//Aliases\nconst $ = HTML.TAG_NAMES;\nconst NS = HTML.NAMESPACES;\n\n//Element utils\n\n//OPTIMIZATION: Integer comparisons are low-cost, so we can use very fast tag name length filters here.\n//It's faster than using dictionary.\nfunction isImpliedEndTagRequired(tn) {\n switch (tn.length) {\n case 1:\n return tn === $.P;\n\n case 2:\n return tn === $.RB || tn === $.RP || tn === $.RT || tn === $.DD || tn === $.DT || tn === $.LI;\n\n case 3:\n return tn === $.RTC;\n\n case 6:\n return tn === $.OPTION;\n\n case 8:\n return tn === $.OPTGROUP;\n }\n\n return false;\n}\n\nfunction isImpliedEndTagRequiredThoroughly(tn) {\n switch (tn.length) {\n case 1:\n return tn === $.P;\n\n case 2:\n return (\n tn === $.RB ||\n tn === $.RP ||\n tn === $.RT ||\n tn === $.DD ||\n tn === $.DT ||\n tn === $.LI ||\n tn === $.TD ||\n tn === $.TH ||\n tn === $.TR\n );\n\n case 3:\n return tn === $.RTC;\n\n case 5:\n return tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD;\n\n case 6:\n return tn === $.OPTION;\n\n case 7:\n return tn === $.CAPTION;\n\n case 8:\n return tn === $.OPTGROUP || tn === $.COLGROUP;\n }\n\n return false;\n}\n\nfunction isScopingElement(tn, ns) {\n switch (tn.length) {\n case 2:\n if (tn === $.TD || tn === $.TH) {\n return ns === NS.HTML;\n } else if (tn === $.MI || tn === $.MO || tn === $.MN || tn === $.MS) {\n return ns === NS.MATHML;\n }\n\n break;\n\n case 4:\n if (tn === $.HTML) {\n return ns === NS.HTML;\n } else if (tn === $.DESC) {\n return ns === NS.SVG;\n }\n\n break;\n\n case 5:\n if (tn === $.TABLE) {\n return ns === NS.HTML;\n } else if (tn === $.MTEXT) {\n return ns === NS.MATHML;\n } else if (tn === $.TITLE) {\n return ns === NS.SVG;\n }\n\n break;\n\n case 6:\n return (tn === $.APPLET || tn === $.OBJECT) && ns === NS.HTML;\n\n case 7:\n return (tn === $.CAPTION || tn === $.MARQUEE) && ns === NS.HTML;\n\n case 8:\n return tn === $.TEMPLATE && ns === NS.HTML;\n\n case 13:\n return tn === $.FOREIGN_OBJECT && ns === NS.SVG;\n\n case 14:\n return tn === $.ANNOTATION_XML && ns === NS.MATHML;\n }\n\n return false;\n}\n\n//Stack of open elements\nclass OpenElementStack {\n constructor(document, treeAdapter) {\n this.stackTop = -1;\n this.items = [];\n this.current = document;\n this.currentTagName = null;\n this.currentTmplContent = null;\n this.tmplCount = 0;\n this.treeAdapter = treeAdapter;\n }\n\n //Index of element\n _indexOf(element) {\n let idx = -1;\n\n for (let i = this.stackTop; i >= 0; i--) {\n if (this.items[i] === element) {\n idx = i;\n break;\n }\n }\n return idx;\n }\n\n //Update current element\n _isInTemplate() {\n return this.currentTagName === $.TEMPLATE && this.treeAdapter.getNamespaceURI(this.current) === NS.HTML;\n }\n\n _updateCurrentElement() {\n this.current = this.items[this.stackTop];\n this.currentTagName = this.current && this.treeAdapter.getTagName(this.current);\n\n this.currentTmplContent = this._isInTemplate() ? this.treeAdapter.getTemplateContent(this.current) : null;\n }\n\n //Mutations\n push(element) {\n this.items[++this.stackTop] = element;\n this._updateCurrentElement();\n\n if (this._isInTemplate()) {\n this.tmplCount++;\n }\n }\n\n pop() {\n this.stackTop--;\n\n if (this.tmplCount > 0 && this._isInTemplate()) {\n this.tmplCount--;\n }\n\n this._updateCurrentElement();\n }\n\n replace(oldElement, newElement) {\n const idx = this._indexOf(oldElement);\n\n this.items[idx] = newElement;\n\n if (idx === this.stackTop) {\n this._updateCurrentElement();\n }\n }\n\n insertAfter(referenceElement, newElement) {\n const insertionIdx = this._indexOf(referenceElement) + 1;\n\n this.items.splice(insertionIdx, 0, newElement);\n\n if (insertionIdx === ++this.stackTop) {\n this._updateCurrentElement();\n }\n }\n\n popUntilTagNamePopped(tagName) {\n while (this.stackTop > -1) {\n const tn = this.currentTagName;\n const ns = this.treeAdapter.getNamespaceURI(this.current);\n\n this.pop();\n\n if (tn === tagName && ns === NS.HTML) {\n break;\n }\n }\n }\n\n popUntilElementPopped(element) {\n while (this.stackTop > -1) {\n const poppedElement = this.current;\n\n this.pop();\n\n if (poppedElement === element) {\n break;\n }\n }\n }\n\n popUntilNumberedHeaderPopped() {\n while (this.stackTop > -1) {\n const tn = this.currentTagName;\n const ns = this.treeAdapter.getNamespaceURI(this.current);\n\n this.pop();\n\n if (\n tn === $.H1 ||\n tn === $.H2 ||\n tn === $.H3 ||\n tn === $.H4 ||\n tn === $.H5 ||\n (tn === $.H6 && ns === NS.HTML)\n ) {\n break;\n }\n }\n }\n\n popUntilTableCellPopped() {\n while (this.stackTop > -1) {\n const tn = this.currentTagName;\n const ns = this.treeAdapter.getNamespaceURI(this.current);\n\n this.pop();\n\n if (tn === $.TD || (tn === $.TH && ns === NS.HTML)) {\n break;\n }\n }\n }\n\n popAllUpToHtmlElement() {\n //NOTE: here we assume that root <html> element is always first in the open element stack, so\n //we perform this fast stack clean up.\n this.stackTop = 0;\n this._updateCurrentElement();\n }\n\n clearBackToTableContext() {\n while (\n (this.currentTagName !== $.TABLE && this.currentTagName !== $.TEMPLATE && this.currentTagName !== $.HTML) ||\n this.treeAdapter.getNamespaceURI(this.current) !== NS.HTML\n ) {\n this.pop();\n }\n }\n\n clearBackToTableBodyContext() {\n while (\n (this.currentTagName !== $.TBODY &&\n this.currentTagName !== $.TFOOT &&\n this.currentTagName !== $.THEAD &&\n this.currentTagName !== $.TEMPLATE &&\n this.currentTagName !== $.HTML) ||\n this.treeAdapter.getNamespaceURI(this.current) !== NS.HTML\n ) {\n this.pop();\n }\n }\n\n clearBackToTableRowContext() {\n while (\n (this.currentTagName !== $.TR && this.currentTagName !== $.TEMPLATE && this.currentTagName !== $.HTML) ||\n this.treeAdapter.getNamespaceURI(this.current) !== NS.HTML\n ) {\n this.pop();\n }\n }\n\n remove(element) {\n for (let i = this.stackTop; i >= 0; i--) {\n if (this.items[i] === element) {\n this.items.splice(i, 1);\n this.stackTop--;\n this._updateCurrentElement();\n break;\n }\n }\n }\n\n //Search\n tryPeekProperlyNestedBodyElement() {\n //Properly nested <body> element (should be second element in stack).\n const element = this.items[1];\n\n return element && this.treeAdapter.getTagName(element) === $.BODY ? element : null;\n }\n\n contains(element) {\n return this._indexOf(element) > -1;\n }\n\n getCommonAncestor(element) {\n let elementIdx = this._indexOf(element);\n\n return --elementIdx >= 0 ? this.items[elementIdx] : null;\n }\n\n isRootHtmlElementCurrent() {\n return this.stackTop === 0 && this.currentTagName === $.HTML;\n }\n\n //Element in scope\n hasInScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.treeAdapter.getTagName(this.items[i]);\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n\n if (tn === tagName && ns === NS.HTML) {\n return true;\n }\n\n if (isScopingElement(tn, ns)) {\n return false;\n }\n }\n\n return true;\n }\n\n hasNumberedHeaderInScope() {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.treeAdapter.getTagName(this.items[i]);\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n\n if (\n (tn === $.H1 || tn === $.H2 || tn === $.H3 || tn === $.H4 || tn === $.H5 || tn === $.H6) &&\n ns === NS.HTML\n ) {\n return true;\n }\n\n if (isScopingElement(tn, ns)) {\n return false;\n }\n }\n\n return true;\n }\n\n hasInListItemScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.treeAdapter.getTagName(this.items[i]);\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n\n if (tn === tagName && ns === NS.HTML) {\n return true;\n }\n\n if (((tn === $.UL || tn === $.OL) && ns === NS.HTML) || isScopingElement(tn, ns)) {\n return false;\n }\n }\n\n return true;\n }\n\n hasInButtonScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.treeAdapter.getTagName(this.items[i]);\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n\n if (tn === tagName && ns === NS.HTML) {\n return true;\n }\n\n if ((tn === $.BUTTON && ns === NS.HTML) || isScopingElement(tn, ns)) {\n return false;\n }\n }\n\n return true;\n }\n\n hasInTableScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.treeAdapter.getTagName(this.items[i]);\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n\n if (ns !== NS.HTML) {\n continue;\n }\n\n if (tn === tagName) {\n return true;\n }\n\n if (tn === $.TABLE || tn === $.TEMPLATE || tn === $.HTML) {\n return false;\n }\n }\n\n return true;\n }\n\n hasTableBodyContextInTableScope() {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.treeAdapter.getTagName(this.items[i]);\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n\n if (ns !== NS.HTML) {\n continue;\n }\n\n if (tn === $.TBODY || tn === $.THEAD || tn === $.TFOOT) {\n return true;\n }\n\n if (tn === $.TABLE || tn === $.HTML) {\n return false;\n }\n }\n\n return true;\n }\n\n hasInSelectScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.treeAdapter.getTagName(this.items[i]);\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n\n if (ns !== NS.HTML) {\n continue;\n }\n\n if (tn === tagName) {\n return true;\n }\n\n if (tn !== $.OPTION && tn !== $.OPTGROUP) {\n return false;\n }\n }\n\n return true;\n }\n\n //Implied end tags\n generateImpliedEndTags() {\n while (isImpliedEndTagRequired(this.currentTagName)) {\n this.pop();\n }\n }\n\n generateImpliedEndTagsThoroughly() {\n while (isImpliedEndTagRequiredThoroughly(this.currentTagName)) {\n this.pop();\n }\n }\n\n generateImpliedEndTagsWithExclusion(exclusionTagName) {\n while (isImpliedEndTagRequired(this.currentTagName) && this.currentTagName !== exclusionTagName) {\n this.pop();\n }\n }\n}\n\nmodule.exports = OpenElementStack;\n","'use strict';\n\nconst Preprocessor = require('./preprocessor');\nconst unicode = require('../common/unicode');\nconst neTree = require('./named-entity-data');\nconst ERR = require('../common/error-codes');\n\n//Aliases\nconst $ = unicode.CODE_POINTS;\nconst $$ = unicode.CODE_POINT_SEQUENCES;\n\n//C1 Unicode control character reference replacements\nconst C1_CONTROLS_REFERENCE_REPLACEMENTS = {\n 0x80: 0x20ac,\n 0x82: 0x201a,\n 0x83: 0x0192,\n 0x84: 0x201e,\n 0x85: 0x2026,\n 0x86: 0x2020,\n 0x87: 0x2021,\n 0x88: 0x02c6,\n 0x89: 0x2030,\n 0x8a: 0x0160,\n 0x8b: 0x2039,\n 0x8c: 0x0152,\n 0x8e: 0x017d,\n 0x91: 0x2018,\n 0x92: 0x2019,\n 0x93: 0x201c,\n 0x94: 0x201d,\n 0x95: 0x2022,\n 0x96: 0x2013,\n 0x97: 0x2014,\n 0x98: 0x02dc,\n 0x99: 0x2122,\n 0x9a: 0x0161,\n 0x9b: 0x203a,\n 0x9c: 0x0153,\n 0x9e: 0x017e,\n 0x9f: 0x0178\n};\n\n// Named entity tree flags\nconst HAS_DATA_FLAG = 1 << 0;\nconst DATA_DUPLET_FLAG = 1 << 1;\nconst HAS_BRANCHES_FLAG = 1 << 2;\nconst MAX_BRANCH_MARKER_VALUE = HAS_DATA_FLAG | DATA_DUPLET_FLAG | HAS_BRANCHES_FLAG;\n\n//States\nconst DATA_STATE = 'DATA_STATE';\nconst RCDATA_STATE = 'RCDATA_STATE';\nconst RAWTEXT_STATE = 'RAWTEXT_STATE';\nconst SCRIPT_DATA_STATE = 'SCRIPT_DATA_STATE';\nconst PLAINTEXT_STATE = 'PLAINTEXT_STATE';\nconst TAG_OPEN_STATE = 'TAG_OPEN_STATE';\nconst END_TAG_OPEN_STATE = 'END_TAG_OPEN_STATE';\nconst TAG_NAME_STATE = 'TAG_NAME_STATE';\nconst RCDATA_LESS_THAN_SIGN_STATE = 'RCDATA_LESS_THAN_SIGN_STATE';\nconst RCDATA_END_TAG_OPEN_STATE = 'RCDATA_END_TAG_OPEN_STATE';\nconst RCDATA_END_TAG_NAME_STATE = 'RCDATA_END_TAG_NAME_STATE';\nconst RAWTEXT_LESS_THAN_SIGN_STATE = 'RAWTEXT_LESS_THAN_SIGN_STATE';\nconst RAWTEXT_END_TAG_OPEN_STATE = 'RAWTEXT_END_TAG_OPEN_STATE';\nconst RAWTEXT_END_TAG_NAME_STATE = 'RAWTEXT_END_TAG_NAME_STATE';\nconst SCRIPT_DATA_LESS_THAN_SIGN_STATE = 'SCRIPT_DATA_LESS_THAN_SIGN_STATE';\nconst SCRIPT_DATA_END_TAG_OPEN_STATE = 'SCRIPT_DATA_END_TAG_OPEN_STATE';\nconst SCRIPT_DATA_END_TAG_NAME_STATE = 'SCRIPT_DATA_END_TAG_NAME_STATE';\nconst SCRIPT_DATA_ESCAPE_START_STATE = 'SCRIPT_DATA_ESCAPE_START_STATE';\nconst SCRIPT_DATA_ESCAPE_START_DASH_STATE = 'SCRIPT_DATA_ESCAPE_START_DASH_STATE';\nconst SCRIPT_DATA_ESCAPED_STATE = 'SCRIPT_DATA_ESCAPED_STATE';\nconst SCRIPT_DATA_ESCAPED_DASH_STATE = 'SCRIPT_DATA_ESCAPED_DASH_STATE';\nconst SCRIPT_DATA_ESCAPED_DASH_DASH_STATE = 'SCRIPT_DATA_ESCAPED_DASH_DASH_STATE';\nconst SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE = 'SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE';\nconst SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE = 'SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE';\nconst SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE = 'SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE';\nconst SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE = 'SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE';\nconst SCRIPT_DATA_DOUBLE_ESCAPED_STATE = 'SCRIPT_DATA_DOUBLE_ESCAPED_STATE';\nconst SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE = 'SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE';\nconst SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE = 'SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE';\nconst SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE = 'SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE';\nconst SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE = 'SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE';\nconst BEFORE_ATTRIBUTE_NAME_STATE = 'BEFORE_ATTRIBUTE_NAME_STATE';\nconst ATTRIBUTE_NAME_STATE = 'ATTRIBUTE_NAME_STATE';\nconst AFTER_ATTRIBUTE_NAME_STATE = 'AFTER_ATTRIBUTE_NAME_STATE';\nconst BEFORE_ATTRIBUTE_VALUE_STATE = 'BEFORE_ATTRIBUTE_VALUE_STATE';\nconst ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE = 'ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE';\nconst ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE = 'ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE';\nconst ATTRIBUTE_VALUE_UNQUOTED_STATE = 'ATTRIBUTE_VALUE_UNQUOTED_STATE';\nconst AFTER_ATTRIBUTE_VALUE_QUOTED_STATE = 'AFTER_ATTRIBUTE_VALUE_QUOTED_STATE';\nconst SELF_CLOSING_START_TAG_STATE = 'SELF_CLOSING_START_TAG_STATE';\nconst BOGUS_COMMENT_STATE = 'BOGUS_COMMENT_STATE';\nconst MARKUP_DECLARATION_OPEN_STATE = 'MARKUP_DECLARATION_OPEN_STATE';\nconst COMMENT_START_STATE = 'COMMENT_START_STATE';\nconst COMMENT_START_DASH_STATE = 'COMMENT_START_DASH_STATE';\nconst COMMENT_STATE = 'COMMENT_STATE';\nconst COMMENT_LESS_THAN_SIGN_STATE = 'COMMENT_LESS_THAN_SIGN_STATE';\nconst COMMENT_LESS_THAN_SIGN_BANG_STATE = 'COMMENT_LESS_THAN_SIGN_BANG_STATE';\nconst COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE = 'COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE';\nconst COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE = 'COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE';\nconst COMMENT_END_DASH_STATE = 'COMMENT_END_DASH_STATE';\nconst COMMENT_END_STATE = 'COMMENT_END_STATE';\nconst COMMENT_END_BANG_STATE = 'COMMENT_END_BANG_STATE';\nconst DOCTYPE_STATE = 'DOCTYPE_STATE';\nconst BEFORE_DOCTYPE_NAME_STATE = 'BEFORE_DOCTYPE_NAME_STATE';\nconst DOCTYPE_NAME_STATE = 'DOCTYPE_NAME_STATE';\nconst AFTER_DOCTYPE_NAME_STATE = 'AFTER_DOCTYPE_NAME_STATE';\nconst AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE = 'AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE';\nconst BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE = 'BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE';\nconst DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE = 'DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE';\nconst DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE = 'DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE';\nconst AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE = 'AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE';\nconst BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE = 'BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE';\nconst AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE = 'AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE';\nconst BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE = 'BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE';\nconst DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE = 'DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE';\nconst DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE = 'DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE';\nconst AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE = 'AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE';\nconst BOGUS_DOCTYPE_STATE = 'BOGUS_DOCTYPE_STATE';\nconst CDATA_SECTION_STATE = 'CDATA_SECTION_STATE';\nconst CDATA_SECTION_BRACKET_STATE = 'CDATA_SECTION_BRACKET_STATE';\nconst CDATA_SECTION_END_STATE = 'CDATA_SECTION_END_STATE';\nconst CHARACTER_REFERENCE_STATE = 'CHARACTER_REFERENCE_STATE';\nconst NAMED_CHARACTER_REFERENCE_STATE = 'NAMED_CHARACTER_REFERENCE_STATE';\nconst AMBIGUOUS_AMPERSAND_STATE = 'AMBIGUOS_AMPERSAND_STATE';\nconst NUMERIC_CHARACTER_REFERENCE_STATE = 'NUMERIC_CHARACTER_REFERENCE_STATE';\nconst HEXADEMICAL_CHARACTER_REFERENCE_START_STATE = 'HEXADEMICAL_CHARACTER_REFERENCE_START_STATE';\nconst DECIMAL_CHARACTER_REFERENCE_START_STATE = 'DECIMAL_CHARACTER_REFERENCE_START_STATE';\nconst HEXADEMICAL_CHARACTER_REFERENCE_STATE = 'HEXADEMICAL_CHARACTER_REFERENCE_STATE';\nconst DECIMAL_CHARACTER_REFERENCE_STATE = 'DECIMAL_CHARACTER_REFERENCE_STATE';\nconst NUMERIC_CHARACTER_REFERENCE_END_STATE = 'NUMERIC_CHARACTER_REFERENCE_END_STATE';\n\n//Utils\n\n//OPTIMIZATION: these utility functions should not be moved out of this module. V8 Crankshaft will not inline\n//this functions if they will be situated in another module due to context switch.\n//Always perform inlining check before modifying this functions ('node --trace-inlining').\nfunction isWhitespace(cp) {\n return cp === $.SPACE || cp === $.LINE_FEED || cp === $.TABULATION || cp === $.FORM_FEED;\n}\n\nfunction isAsciiDigit(cp) {\n return cp >= $.DIGIT_0 && cp <= $.DIGIT_9;\n}\n\nfunction isAsciiUpper(cp) {\n return cp >= $.LATIN_CAPITAL_A && cp <= $.LATIN_CAPITAL_Z;\n}\n\nfunction isAsciiLower(cp) {\n return cp >= $.LATIN_SMALL_A && cp <= $.LATIN_SMALL_Z;\n}\n\nfunction isAsciiLetter(cp) {\n return isAsciiLower(cp) || isAsciiUpper(cp);\n}\n\nfunction isAsciiAlphaNumeric(cp) {\n return isAsciiLetter(cp) || isAsciiDigit(cp);\n}\n\nfunction isAsciiUpperHexDigit(cp) {\n return cp >= $.LATIN_CAPITAL_A && cp <= $.LATIN_CAPITAL_F;\n}\n\nfunction isAsciiLowerHexDigit(cp) {\n return cp >= $.LATIN_SMALL_A && cp <= $.LATIN_SMALL_F;\n}\n\nfunction isAsciiHexDigit(cp) {\n return isAsciiDigit(cp) || isAsciiUpperHexDigit(cp) || isAsciiLowerHexDigit(cp);\n}\n\nfunction toAsciiLowerCodePoint(cp) {\n return cp + 0x0020;\n}\n\n//NOTE: String.fromCharCode() function can handle only characters from BMP subset.\n//So, we need to workaround this manually.\n//(see: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/fromCharCode#Getting_it_to_work_with_higher_values)\nfunction toChar(cp) {\n if (cp <= 0xffff) {\n return String.fromCharCode(cp);\n }\n\n cp -= 0x10000;\n return String.fromCharCode(((cp >>> 10) & 0x3ff) | 0xd800) + String.fromCharCode(0xdc00 | (cp & 0x3ff));\n}\n\nfunction toAsciiLowerChar(cp) {\n return String.fromCharCode(toAsciiLowerCodePoint(cp));\n}\n\nfunction findNamedEntityTreeBranch(nodeIx, cp) {\n const branchCount = neTree[++nodeIx];\n let lo = ++nodeIx;\n let hi = lo + branchCount - 1;\n\n while (lo <= hi) {\n const mid = (lo + hi) >>> 1;\n const midCp = neTree[mid];\n\n if (midCp < cp) {\n lo = mid + 1;\n } else if (midCp > cp) {\n hi = mid - 1;\n } else {\n return neTree[mid + branchCount];\n }\n }\n\n return -1;\n}\n\n//Tokenizer\nclass Tokenizer {\n constructor() {\n this.preprocessor = new Preprocessor();\n\n this.tokenQueue = [];\n\n this.allowCDATA = false;\n\n this.state = DATA_STATE;\n this.returnState = '';\n\n this.charRefCode = -1;\n this.tempBuff = [];\n this.lastStartTagName = '';\n\n this.consumedAfterSnapshot = -1;\n this.active = false;\n\n this.currentCharacterToken = null;\n this.currentToken = null;\n this.currentAttr = null;\n }\n\n //Errors\n _err() {\n // NOTE: err reporting is noop by default. Enabled by mixin.\n }\n\n _errOnNextCodePoint(err) {\n this._consume();\n this._err(err);\n this._unconsume();\n }\n\n //API\n getNextToken() {\n while (!this.tokenQueue.length && this.active) {\n this.consumedAfterSnapshot = 0;\n\n const cp = this._consume();\n\n if (!this._ensureHibernation()) {\n this[this.state](cp);\n }\n }\n\n return this.tokenQueue.shift();\n }\n\n write(chunk, isLastChunk) {\n this.active = true;\n this.preprocessor.write(chunk, isLastChunk);\n }\n\n insertHtmlAtCurrentPos(chunk) {\n this.active = true;\n this.preprocessor.insertHtmlAtCurrentPos(chunk);\n }\n\n //Hibernation\n _ensureHibernation() {\n if (this.preprocessor.endOfChunkHit) {\n for (; this.consumedAfterSnapshot > 0; this.consumedAfterSnapshot--) {\n this.preprocessor.retreat();\n }\n\n this.active = false;\n this.tokenQueue.push({ type: Tokenizer.HIBERNATION_TOKEN });\n\n return true;\n }\n\n return false;\n }\n\n //Consumption\n _consume() {\n this.consumedAfterSnapshot++;\n return this.preprocessor.advance();\n }\n\n _unconsume() {\n this.consumedAfterSnapshot--;\n this.preprocessor.retreat();\n }\n\n _reconsumeInState(state) {\n this.state = state;\n this._unconsume();\n }\n\n _consumeSequenceIfMatch(pattern, startCp, caseSensitive) {\n let consumedCount = 0;\n let isMatch = true;\n const patternLength = pattern.length;\n let patternPos = 0;\n let cp = startCp;\n let patternCp = void 0;\n\n for (; patternPos < patternLength; patternPos++) {\n if (patternPos > 0) {\n cp = this._consume();\n consumedCount++;\n }\n\n if (cp === $.EOF) {\n isMatch = false;\n break;\n }\n\n patternCp = pattern[patternPos];\n\n if (cp !== patternCp && (caseSensitive || cp !== toAsciiLowerCodePoint(patternCp))) {\n isMatch = false;\n break;\n }\n }\n\n if (!isMatch) {\n while (consumedCount--) {\n this._unconsume();\n }\n }\n\n return isMatch;\n }\n\n //Temp buffer\n _isTempBufferEqualToScriptString() {\n if (this.tempBuff.length !== $$.SCRIPT_STRING.length) {\n return false;\n }\n\n for (let i = 0; i < this.tempBuff.length; i++) {\n if (this.tempBuff[i] !== $$.SCRIPT_STRING[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n //Token creation\n _createStartTagToken() {\n this.currentToken = {\n type: Tokenizer.START_TAG_TOKEN,\n tagName: '',\n selfClosing: false,\n ackSelfClosing: false,\n attrs: []\n };\n }\n\n _createEndTagToken() {\n this.currentToken = {\n type: Tokenizer.END_TAG_TOKEN,\n tagName: '',\n selfClosing: false,\n attrs: []\n };\n }\n\n _createCommentToken() {\n this.currentToken = {\n type: Tokenizer.COMMENT_TOKEN,\n data: ''\n };\n }\n\n _createDoctypeToken(initialName) {\n this.currentToken = {\n type: Tokenizer.DOCTYPE_TOKEN,\n name: initialName,\n forceQuirks: false,\n publicId: null,\n systemId: null\n };\n }\n\n _createCharacterToken(type, ch) {\n this.currentCharacterToken = {\n type: type,\n chars: ch\n };\n }\n\n _createEOFToken() {\n this.currentToken = { type: Tokenizer.EOF_TOKEN };\n }\n\n //Tag attributes\n _createAttr(attrNameFirstCh) {\n this.currentAttr = {\n name: attrNameFirstCh,\n value: ''\n };\n }\n\n _leaveAttrName(toState) {\n if (Tokenizer.getTokenAttr(this.currentToken, this.currentAttr.name) === null) {\n this.currentToken.attrs.push(this.currentAttr);\n } else {\n this._err(ERR.duplicateAttribute);\n }\n\n this.state = toState;\n }\n\n _leaveAttrValue(toState) {\n this.state = toState;\n }\n\n //Token emission\n _emitCurrentToken() {\n this._emitCurrentCharacterToken();\n\n const ct = this.currentToken;\n\n this.currentToken = null;\n\n //NOTE: store emited start tag's tagName to determine is the following end tag token is appropriate.\n if (ct.type === Tokenizer.START_TAG_TOKEN) {\n this.lastStartTagName = ct.tagName;\n } else if (ct.type === Tokenizer.END_TAG_TOKEN) {\n if (ct.attrs.length > 0) {\n this._err(ERR.endTagWithAttributes);\n }\n\n if (ct.selfClosing) {\n this._err(ERR.endTagWithTrailingSolidus);\n }\n }\n\n this.tokenQueue.push(ct);\n }\n\n _emitCurrentCharacterToken() {\n if (this.currentCharacterToken) {\n this.tokenQueue.push(this.currentCharacterToken);\n this.currentCharacterToken = null;\n }\n }\n\n _emitEOFToken() {\n this._createEOFToken();\n this._emitCurrentToken();\n }\n\n //Characters emission\n\n //OPTIMIZATION: specification uses only one type of character tokens (one token per character).\n //This causes a huge memory overhead and a lot of unnecessary parser loops. parse5 uses 3 groups of characters.\n //If we have a sequence of characters that belong to the same group, parser can process it\n //as a single solid character token.\n //So, there are 3 types of character tokens in parse5:\n //1)NULL_CHARACTER_TOKEN - \\u0000-character sequences (e.g. '\\u0000\\u0000\\u0000')\n //2)WHITESPACE_CHARACTER_TOKEN - any whitespace/new-line character sequences (e.g. '\\n \\r\\t \\f')\n //3)CHARACTER_TOKEN - any character sequence which don't belong to groups 1 and 2 (e.g. 'abcdef1234@@#$%^')\n _appendCharToCurrentCharacterToken(type, ch) {\n if (this.currentCharacterToken && this.currentCharacterToken.type !== type) {\n this._emitCurrentCharacterToken();\n }\n\n if (this.currentCharacterToken) {\n this.currentCharacterToken.chars += ch;\n } else {\n this._createCharacterToken(type, ch);\n }\n }\n\n _emitCodePoint(cp) {\n let type = Tokenizer.CHARACTER_TOKEN;\n\n if (isWhitespace(cp)) {\n type = Tokenizer.WHITESPACE_CHARACTER_TOKEN;\n } else if (cp === $.NULL) {\n type = Tokenizer.NULL_CHARACTER_TOKEN;\n }\n\n this._appendCharToCurrentCharacterToken(type, toChar(cp));\n }\n\n _emitSeveralCodePoints(codePoints) {\n for (let i = 0; i < codePoints.length; i++) {\n this._emitCodePoint(codePoints[i]);\n }\n }\n\n //NOTE: used then we emit character explicitly. This is always a non-whitespace and a non-null character.\n //So we can avoid additional checks here.\n _emitChars(ch) {\n this._appendCharToCurrentCharacterToken(Tokenizer.CHARACTER_TOKEN, ch);\n }\n\n // Character reference helpers\n _matchNamedCharacterReference(startCp) {\n let result = null;\n let excess = 1;\n let i = findNamedEntityTreeBranch(0, startCp);\n\n this.tempBuff.push(startCp);\n\n while (i > -1) {\n const current = neTree[i];\n const inNode = current < MAX_BRANCH_MARKER_VALUE;\n const nodeWithData = inNode && current & HAS_DATA_FLAG;\n\n if (nodeWithData) {\n //NOTE: we use greedy search, so we continue lookup at this point\n result = current & DATA_DUPLET_FLAG ? [neTree[++i], neTree[++i]] : [neTree[++i]];\n excess = 0;\n }\n\n const cp = this._consume();\n\n this.tempBuff.push(cp);\n excess++;\n\n if (cp === $.EOF) {\n break;\n }\n\n if (inNode) {\n i = current & HAS_BRANCHES_FLAG ? findNamedEntityTreeBranch(i, cp) : -1;\n } else {\n i = cp === current ? ++i : -1;\n }\n }\n\n while (excess--) {\n this.tempBuff.pop();\n this._unconsume();\n }\n\n return result;\n }\n\n _isCharacterReferenceInAttribute() {\n return (\n this.returnState === ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE ||\n this.returnState === ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE ||\n this.returnState === ATTRIBUTE_VALUE_UNQUOTED_STATE\n );\n }\n\n _isCharacterReferenceAttributeQuirk(withSemicolon) {\n if (!withSemicolon && this._isCharacterReferenceInAttribute()) {\n const nextCp = this._consume();\n\n this._unconsume();\n\n return nextCp === $.EQUALS_SIGN || isAsciiAlphaNumeric(nextCp);\n }\n\n return false;\n }\n\n _flushCodePointsConsumedAsCharacterReference() {\n if (this._isCharacterReferenceInAttribute()) {\n for (let i = 0; i < this.tempBuff.length; i++) {\n this.currentAttr.value += toChar(this.tempBuff[i]);\n }\n } else {\n this._emitSeveralCodePoints(this.tempBuff);\n }\n\n this.tempBuff = [];\n }\n\n // State machine\n\n // Data state\n //------------------------------------------------------------------\n [DATA_STATE](cp) {\n this.preprocessor.dropParsedChunk();\n\n if (cp === $.LESS_THAN_SIGN) {\n this.state = TAG_OPEN_STATE;\n } else if (cp === $.AMPERSAND) {\n this.returnState = DATA_STATE;\n this.state = CHARACTER_REFERENCE_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this._emitCodePoint(cp);\n } else if (cp === $.EOF) {\n this._emitEOFToken();\n } else {\n this._emitCodePoint(cp);\n }\n }\n\n // RCDATA state\n //------------------------------------------------------------------\n [RCDATA_STATE](cp) {\n this.preprocessor.dropParsedChunk();\n\n if (cp === $.AMPERSAND) {\n this.returnState = RCDATA_STATE;\n this.state = CHARACTER_REFERENCE_STATE;\n } else if (cp === $.LESS_THAN_SIGN) {\n this.state = RCDATA_LESS_THAN_SIGN_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._emitEOFToken();\n } else {\n this._emitCodePoint(cp);\n }\n }\n\n // RAWTEXT state\n //------------------------------------------------------------------\n [RAWTEXT_STATE](cp) {\n this.preprocessor.dropParsedChunk();\n\n if (cp === $.LESS_THAN_SIGN) {\n this.state = RAWTEXT_LESS_THAN_SIGN_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._emitEOFToken();\n } else {\n this._emitCodePoint(cp);\n }\n }\n\n // Script data state\n //------------------------------------------------------------------\n [SCRIPT_DATA_STATE](cp) {\n this.preprocessor.dropParsedChunk();\n\n if (cp === $.LESS_THAN_SIGN) {\n this.state = SCRIPT_DATA_LESS_THAN_SIGN_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._emitEOFToken();\n } else {\n this._emitCodePoint(cp);\n }\n }\n\n // PLAINTEXT state\n //------------------------------------------------------------------\n [PLAINTEXT_STATE](cp) {\n this.preprocessor.dropParsedChunk();\n\n if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._emitEOFToken();\n } else {\n this._emitCodePoint(cp);\n }\n }\n\n // Tag open state\n //------------------------------------------------------------------\n [TAG_OPEN_STATE](cp) {\n if (cp === $.EXCLAMATION_MARK) {\n this.state = MARKUP_DECLARATION_OPEN_STATE;\n } else if (cp === $.SOLIDUS) {\n this.state = END_TAG_OPEN_STATE;\n } else if (isAsciiLetter(cp)) {\n this._createStartTagToken();\n this._reconsumeInState(TAG_NAME_STATE);\n } else if (cp === $.QUESTION_MARK) {\n this._err(ERR.unexpectedQuestionMarkInsteadOfTagName);\n this._createCommentToken();\n this._reconsumeInState(BOGUS_COMMENT_STATE);\n } else if (cp === $.EOF) {\n this._err(ERR.eofBeforeTagName);\n this._emitChars('<');\n this._emitEOFToken();\n } else {\n this._err(ERR.invalidFirstCharacterOfTagName);\n this._emitChars('<');\n this._reconsumeInState(DATA_STATE);\n }\n }\n\n // End tag open state\n //------------------------------------------------------------------\n [END_TAG_OPEN_STATE](cp) {\n if (isAsciiLetter(cp)) {\n this._createEndTagToken();\n this._reconsumeInState(TAG_NAME_STATE);\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.missingEndTagName);\n this.state = DATA_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofBeforeTagName);\n this._emitChars('</');\n this._emitEOFToken();\n } else {\n this._err(ERR.invalidFirstCharacterOfTagName);\n this._createCommentToken();\n this._reconsumeInState(BOGUS_COMMENT_STATE);\n }\n }\n\n // Tag name state\n //------------------------------------------------------------------\n [TAG_NAME_STATE](cp) {\n if (isWhitespace(cp)) {\n this.state = BEFORE_ATTRIBUTE_NAME_STATE;\n } else if (cp === $.SOLIDUS) {\n this.state = SELF_CLOSING_START_TAG_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (isAsciiUpper(cp)) {\n this.currentToken.tagName += toAsciiLowerChar(cp);\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentToken.tagName += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n } else {\n this.currentToken.tagName += toChar(cp);\n }\n }\n\n // RCDATA less-than sign state\n //------------------------------------------------------------------\n [RCDATA_LESS_THAN_SIGN_STATE](cp) {\n if (cp === $.SOLIDUS) {\n this.tempBuff = [];\n this.state = RCDATA_END_TAG_OPEN_STATE;\n } else {\n this._emitChars('<');\n this._reconsumeInState(RCDATA_STATE);\n }\n }\n\n // RCDATA end tag open state\n //------------------------------------------------------------------\n [RCDATA_END_TAG_OPEN_STATE](cp) {\n if (isAsciiLetter(cp)) {\n this._createEndTagToken();\n this._reconsumeInState(RCDATA_END_TAG_NAME_STATE);\n } else {\n this._emitChars('</');\n this._reconsumeInState(RCDATA_STATE);\n }\n }\n\n // RCDATA end tag name state\n //------------------------------------------------------------------\n [RCDATA_END_TAG_NAME_STATE](cp) {\n if (isAsciiUpper(cp)) {\n this.currentToken.tagName += toAsciiLowerChar(cp);\n this.tempBuff.push(cp);\n } else if (isAsciiLower(cp)) {\n this.currentToken.tagName += toChar(cp);\n this.tempBuff.push(cp);\n } else {\n if (this.lastStartTagName === this.currentToken.tagName) {\n if (isWhitespace(cp)) {\n this.state = BEFORE_ATTRIBUTE_NAME_STATE;\n return;\n }\n\n if (cp === $.SOLIDUS) {\n this.state = SELF_CLOSING_START_TAG_STATE;\n return;\n }\n\n if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n this._emitCurrentToken();\n return;\n }\n }\n\n this._emitChars('</');\n this._emitSeveralCodePoints(this.tempBuff);\n this._reconsumeInState(RCDATA_STATE);\n }\n }\n\n // RAWTEXT less-than sign state\n //------------------------------------------------------------------\n [RAWTEXT_LESS_THAN_SIGN_STATE](cp) {\n if (cp === $.SOLIDUS) {\n this.tempBuff = [];\n this.state = RAWTEXT_END_TAG_OPEN_STATE;\n } else {\n this._emitChars('<');\n this._reconsumeInState(RAWTEXT_STATE);\n }\n }\n\n // RAWTEXT end tag open state\n //------------------------------------------------------------------\n [RAWTEXT_END_TAG_OPEN_STATE](cp) {\n if (isAsciiLetter(cp)) {\n this._createEndTagToken();\n this._reconsumeInState(RAWTEXT_END_TAG_NAME_STATE);\n } else {\n this._emitChars('</');\n this._reconsumeInState(RAWTEXT_STATE);\n }\n }\n\n // RAWTEXT end tag name state\n //------------------------------------------------------------------\n [RAWTEXT_END_TAG_NAME_STATE](cp) {\n if (isAsciiUpper(cp)) {\n this.currentToken.tagName += toAsciiLowerChar(cp);\n this.tempBuff.push(cp);\n } else if (isAsciiLower(cp)) {\n this.currentToken.tagName += toChar(cp);\n this.tempBuff.push(cp);\n } else {\n if (this.lastStartTagName === this.currentToken.tagName) {\n if (isWhitespace(cp)) {\n this.state = BEFORE_ATTRIBUTE_NAME_STATE;\n return;\n }\n\n if (cp === $.SOLIDUS) {\n this.state = SELF_CLOSING_START_TAG_STATE;\n return;\n }\n\n if (cp === $.GREATER_THAN_SIGN) {\n this._emitCurrentToken();\n this.state = DATA_STATE;\n return;\n }\n }\n\n this._emitChars('</');\n this._emitSeveralCodePoints(this.tempBuff);\n this._reconsumeInState(RAWTEXT_STATE);\n }\n }\n\n // Script data less-than sign state\n //------------------------------------------------------------------\n [SCRIPT_DATA_LESS_THAN_SIGN_STATE](cp) {\n if (cp === $.SOLIDUS) {\n this.tempBuff = [];\n this.state = SCRIPT_DATA_END_TAG_OPEN_STATE;\n } else if (cp === $.EXCLAMATION_MARK) {\n this.state = SCRIPT_DATA_ESCAPE_START_STATE;\n this._emitChars('<!');\n } else {\n this._emitChars('<');\n this._reconsumeInState(SCRIPT_DATA_STATE);\n }\n }\n\n // Script data end tag open state\n //------------------------------------------------------------------\n [SCRIPT_DATA_END_TAG_OPEN_STATE](cp) {\n if (isAsciiLetter(cp)) {\n this._createEndTagToken();\n this._reconsumeInState(SCRIPT_DATA_END_TAG_NAME_STATE);\n } else {\n this._emitChars('</');\n this._reconsumeInState(SCRIPT_DATA_STATE);\n }\n }\n\n // Script data end tag name state\n //------------------------------------------------------------------\n [SCRIPT_DATA_END_TAG_NAME_STATE](cp) {\n if (isAsciiUpper(cp)) {\n this.currentToken.tagName += toAsciiLowerChar(cp);\n this.tempBuff.push(cp);\n } else if (isAsciiLower(cp)) {\n this.currentToken.tagName += toChar(cp);\n this.tempBuff.push(cp);\n } else {\n if (this.lastStartTagName === this.currentToken.tagName) {\n if (isWhitespace(cp)) {\n this.state = BEFORE_ATTRIBUTE_NAME_STATE;\n return;\n } else if (cp === $.SOLIDUS) {\n this.state = SELF_CLOSING_START_TAG_STATE;\n return;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._emitCurrentToken();\n this.state = DATA_STATE;\n return;\n }\n }\n\n this._emitChars('</');\n this._emitSeveralCodePoints(this.tempBuff);\n this._reconsumeInState(SCRIPT_DATA_STATE);\n }\n }\n\n // Script data escape start state\n //------------------------------------------------------------------\n [SCRIPT_DATA_ESCAPE_START_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = SCRIPT_DATA_ESCAPE_START_DASH_STATE;\n this._emitChars('-');\n } else {\n this._reconsumeInState(SCRIPT_DATA_STATE);\n }\n }\n\n // Script data escape start dash state\n //------------------------------------------------------------------\n [SCRIPT_DATA_ESCAPE_START_DASH_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = SCRIPT_DATA_ESCAPED_DASH_DASH_STATE;\n this._emitChars('-');\n } else {\n this._reconsumeInState(SCRIPT_DATA_STATE);\n }\n }\n\n // Script data escaped state\n //------------------------------------------------------------------\n [SCRIPT_DATA_ESCAPED_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = SCRIPT_DATA_ESCAPED_DASH_STATE;\n this._emitChars('-');\n } else if (cp === $.LESS_THAN_SIGN) {\n this.state = SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n } else {\n this._emitCodePoint(cp);\n }\n }\n\n // Script data escaped dash state\n //------------------------------------------------------------------\n [SCRIPT_DATA_ESCAPED_DASH_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = SCRIPT_DATA_ESCAPED_DASH_DASH_STATE;\n this._emitChars('-');\n } else if (cp === $.LESS_THAN_SIGN) {\n this.state = SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.state = SCRIPT_DATA_ESCAPED_STATE;\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n } else {\n this.state = SCRIPT_DATA_ESCAPED_STATE;\n this._emitCodePoint(cp);\n }\n }\n\n // Script data escaped dash dash state\n //------------------------------------------------------------------\n [SCRIPT_DATA_ESCAPED_DASH_DASH_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this._emitChars('-');\n } else if (cp === $.LESS_THAN_SIGN) {\n this.state = SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this.state = SCRIPT_DATA_STATE;\n this._emitChars('>');\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.state = SCRIPT_DATA_ESCAPED_STATE;\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n } else {\n this.state = SCRIPT_DATA_ESCAPED_STATE;\n this._emitCodePoint(cp);\n }\n }\n\n // Script data escaped less-than sign state\n //------------------------------------------------------------------\n [SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE](cp) {\n if (cp === $.SOLIDUS) {\n this.tempBuff = [];\n this.state = SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE;\n } else if (isAsciiLetter(cp)) {\n this.tempBuff = [];\n this._emitChars('<');\n this._reconsumeInState(SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE);\n } else {\n this._emitChars('<');\n this._reconsumeInState(SCRIPT_DATA_ESCAPED_STATE);\n }\n }\n\n // Script data escaped end tag open state\n //------------------------------------------------------------------\n [SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE](cp) {\n if (isAsciiLetter(cp)) {\n this._createEndTagToken();\n this._reconsumeInState(SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE);\n } else {\n this._emitChars('</');\n this._reconsumeInState(SCRIPT_DATA_ESCAPED_STATE);\n }\n }\n\n // Script data escaped end tag name state\n //------------------------------------------------------------------\n [SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE](cp) {\n if (isAsciiUpper(cp)) {\n this.currentToken.tagName += toAsciiLowerChar(cp);\n this.tempBuff.push(cp);\n } else if (isAsciiLower(cp)) {\n this.currentToken.tagName += toChar(cp);\n this.tempBuff.push(cp);\n } else {\n if (this.lastStartTagName === this.currentToken.tagName) {\n if (isWhitespace(cp)) {\n this.state = BEFORE_ATTRIBUTE_NAME_STATE;\n return;\n }\n\n if (cp === $.SOLIDUS) {\n this.state = SELF_CLOSING_START_TAG_STATE;\n return;\n }\n\n if (cp === $.GREATER_THAN_SIGN) {\n this._emitCurrentToken();\n this.state = DATA_STATE;\n return;\n }\n }\n\n this._emitChars('</');\n this._emitSeveralCodePoints(this.tempBuff);\n this._reconsumeInState(SCRIPT_DATA_ESCAPED_STATE);\n }\n }\n\n // Script data double escape start state\n //------------------------------------------------------------------\n [SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE](cp) {\n if (isWhitespace(cp) || cp === $.SOLIDUS || cp === $.GREATER_THAN_SIGN) {\n this.state = this._isTempBufferEqualToScriptString()\n ? SCRIPT_DATA_DOUBLE_ESCAPED_STATE\n : SCRIPT_DATA_ESCAPED_STATE;\n this._emitCodePoint(cp);\n } else if (isAsciiUpper(cp)) {\n this.tempBuff.push(toAsciiLowerCodePoint(cp));\n this._emitCodePoint(cp);\n } else if (isAsciiLower(cp)) {\n this.tempBuff.push(cp);\n this._emitCodePoint(cp);\n } else {\n this._reconsumeInState(SCRIPT_DATA_ESCAPED_STATE);\n }\n }\n\n // Script data double escaped state\n //------------------------------------------------------------------\n [SCRIPT_DATA_DOUBLE_ESCAPED_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE;\n this._emitChars('-');\n } else if (cp === $.LESS_THAN_SIGN) {\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE;\n this._emitChars('<');\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n } else {\n this._emitCodePoint(cp);\n }\n }\n\n // Script data double escaped dash state\n //------------------------------------------------------------------\n [SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE;\n this._emitChars('-');\n } else if (cp === $.LESS_THAN_SIGN) {\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE;\n this._emitChars('<');\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_STATE;\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n } else {\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_STATE;\n this._emitCodePoint(cp);\n }\n }\n\n // Script data double escaped dash dash state\n //------------------------------------------------------------------\n [SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this._emitChars('-');\n } else if (cp === $.LESS_THAN_SIGN) {\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE;\n this._emitChars('<');\n } else if (cp === $.GREATER_THAN_SIGN) {\n this.state = SCRIPT_DATA_STATE;\n this._emitChars('>');\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_STATE;\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n } else {\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_STATE;\n this._emitCodePoint(cp);\n }\n }\n\n // Script data double escaped less-than sign state\n //------------------------------------------------------------------\n [SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE](cp) {\n if (cp === $.SOLIDUS) {\n this.tempBuff = [];\n this.state = SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE;\n this._emitChars('/');\n } else {\n this._reconsumeInState(SCRIPT_DATA_DOUBLE_ESCAPED_STATE);\n }\n }\n\n // Script data double escape end state\n //------------------------------------------------------------------\n [SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE](cp) {\n if (isWhitespace(cp) || cp === $.SOLIDUS || cp === $.GREATER_THAN_SIGN) {\n this.state = this._isTempBufferEqualToScriptString()\n ? SCRIPT_DATA_ESCAPED_STATE\n : SCRIPT_DATA_DOUBLE_ESCAPED_STATE;\n\n this._emitCodePoint(cp);\n } else if (isAsciiUpper(cp)) {\n this.tempBuff.push(toAsciiLowerCodePoint(cp));\n this._emitCodePoint(cp);\n } else if (isAsciiLower(cp)) {\n this.tempBuff.push(cp);\n this._emitCodePoint(cp);\n } else {\n this._reconsumeInState(SCRIPT_DATA_DOUBLE_ESCAPED_STATE);\n }\n }\n\n // Before attribute name state\n //------------------------------------------------------------------\n [BEFORE_ATTRIBUTE_NAME_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (cp === $.SOLIDUS || cp === $.GREATER_THAN_SIGN || cp === $.EOF) {\n this._reconsumeInState(AFTER_ATTRIBUTE_NAME_STATE);\n } else if (cp === $.EQUALS_SIGN) {\n this._err(ERR.unexpectedEqualsSignBeforeAttributeName);\n this._createAttr('=');\n this.state = ATTRIBUTE_NAME_STATE;\n } else {\n this._createAttr('');\n this._reconsumeInState(ATTRIBUTE_NAME_STATE);\n }\n }\n\n // Attribute name state\n //------------------------------------------------------------------\n [ATTRIBUTE_NAME_STATE](cp) {\n if (isWhitespace(cp) || cp === $.SOLIDUS || cp === $.GREATER_THAN_SIGN || cp === $.EOF) {\n this._leaveAttrName(AFTER_ATTRIBUTE_NAME_STATE);\n this._unconsume();\n } else if (cp === $.EQUALS_SIGN) {\n this._leaveAttrName(BEFORE_ATTRIBUTE_VALUE_STATE);\n } else if (isAsciiUpper(cp)) {\n this.currentAttr.name += toAsciiLowerChar(cp);\n } else if (cp === $.QUOTATION_MARK || cp === $.APOSTROPHE || cp === $.LESS_THAN_SIGN) {\n this._err(ERR.unexpectedCharacterInAttributeName);\n this.currentAttr.name += toChar(cp);\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentAttr.name += unicode.REPLACEMENT_CHARACTER;\n } else {\n this.currentAttr.name += toChar(cp);\n }\n }\n\n // After attribute name state\n //------------------------------------------------------------------\n [AFTER_ATTRIBUTE_NAME_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (cp === $.SOLIDUS) {\n this.state = SELF_CLOSING_START_TAG_STATE;\n } else if (cp === $.EQUALS_SIGN) {\n this.state = BEFORE_ATTRIBUTE_VALUE_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n } else {\n this._createAttr('');\n this._reconsumeInState(ATTRIBUTE_NAME_STATE);\n }\n }\n\n // Before attribute value state\n //------------------------------------------------------------------\n [BEFORE_ATTRIBUTE_VALUE_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (cp === $.QUOTATION_MARK) {\n this.state = ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE;\n } else if (cp === $.APOSTROPHE) {\n this.state = ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.missingAttributeValue);\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else {\n this._reconsumeInState(ATTRIBUTE_VALUE_UNQUOTED_STATE);\n }\n }\n\n // Attribute value (double-quoted) state\n //------------------------------------------------------------------\n [ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE](cp) {\n if (cp === $.QUOTATION_MARK) {\n this.state = AFTER_ATTRIBUTE_VALUE_QUOTED_STATE;\n } else if (cp === $.AMPERSAND) {\n this.returnState = ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE;\n this.state = CHARACTER_REFERENCE_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentAttr.value += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n } else {\n this.currentAttr.value += toChar(cp);\n }\n }\n\n // Attribute value (single-quoted) state\n //------------------------------------------------------------------\n [ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE](cp) {\n if (cp === $.APOSTROPHE) {\n this.state = AFTER_ATTRIBUTE_VALUE_QUOTED_STATE;\n } else if (cp === $.AMPERSAND) {\n this.returnState = ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE;\n this.state = CHARACTER_REFERENCE_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentAttr.value += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n } else {\n this.currentAttr.value += toChar(cp);\n }\n }\n\n // Attribute value (unquoted) state\n //------------------------------------------------------------------\n [ATTRIBUTE_VALUE_UNQUOTED_STATE](cp) {\n if (isWhitespace(cp)) {\n this._leaveAttrValue(BEFORE_ATTRIBUTE_NAME_STATE);\n } else if (cp === $.AMPERSAND) {\n this.returnState = ATTRIBUTE_VALUE_UNQUOTED_STATE;\n this.state = CHARACTER_REFERENCE_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._leaveAttrValue(DATA_STATE);\n this._emitCurrentToken();\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentAttr.value += unicode.REPLACEMENT_CHARACTER;\n } else if (\n cp === $.QUOTATION_MARK ||\n cp === $.APOSTROPHE ||\n cp === $.LESS_THAN_SIGN ||\n cp === $.EQUALS_SIGN ||\n cp === $.GRAVE_ACCENT\n ) {\n this._err(ERR.unexpectedCharacterInUnquotedAttributeValue);\n this.currentAttr.value += toChar(cp);\n } else if (cp === $.EOF) {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n } else {\n this.currentAttr.value += toChar(cp);\n }\n }\n\n // After attribute value (quoted) state\n //------------------------------------------------------------------\n [AFTER_ATTRIBUTE_VALUE_QUOTED_STATE](cp) {\n if (isWhitespace(cp)) {\n this._leaveAttrValue(BEFORE_ATTRIBUTE_NAME_STATE);\n } else if (cp === $.SOLIDUS) {\n this._leaveAttrValue(SELF_CLOSING_START_TAG_STATE);\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._leaveAttrValue(DATA_STATE);\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n } else {\n this._err(ERR.missingWhitespaceBetweenAttributes);\n this._reconsumeInState(BEFORE_ATTRIBUTE_NAME_STATE);\n }\n }\n\n // Self-closing start tag state\n //------------------------------------------------------------------\n [SELF_CLOSING_START_TAG_STATE](cp) {\n if (cp === $.GREATER_THAN_SIGN) {\n this.currentToken.selfClosing = true;\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n } else {\n this._err(ERR.unexpectedSolidusInTag);\n this._reconsumeInState(BEFORE_ATTRIBUTE_NAME_STATE);\n }\n }\n\n // Bogus comment state\n //------------------------------------------------------------------\n [BOGUS_COMMENT_STATE](cp) {\n if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._emitCurrentToken();\n this._emitEOFToken();\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentToken.data += unicode.REPLACEMENT_CHARACTER;\n } else {\n this.currentToken.data += toChar(cp);\n }\n }\n\n // Markup declaration open state\n //------------------------------------------------------------------\n [MARKUP_DECLARATION_OPEN_STATE](cp) {\n if (this._consumeSequenceIfMatch($$.DASH_DASH_STRING, cp, true)) {\n this._createCommentToken();\n this.state = COMMENT_START_STATE;\n } else if (this._consumeSequenceIfMatch($$.DOCTYPE_STRING, cp, false)) {\n this.state = DOCTYPE_STATE;\n } else if (this._consumeSequenceIfMatch($$.CDATA_START_STRING, cp, true)) {\n if (this.allowCDATA) {\n this.state = CDATA_SECTION_STATE;\n } else {\n this._err(ERR.cdataInHtmlContent);\n this._createCommentToken();\n this.currentToken.data = '[CDATA[';\n this.state = BOGUS_COMMENT_STATE;\n }\n }\n\n //NOTE: sequence lookup can be abrupted by hibernation. In that case lookup\n //results are no longer valid and we will need to start over.\n else if (!this._ensureHibernation()) {\n this._err(ERR.incorrectlyOpenedComment);\n this._createCommentToken();\n this._reconsumeInState(BOGUS_COMMENT_STATE);\n }\n }\n\n // Comment start state\n //------------------------------------------------------------------\n [COMMENT_START_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = COMMENT_START_DASH_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.abruptClosingOfEmptyComment);\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else {\n this._reconsumeInState(COMMENT_STATE);\n }\n }\n\n // Comment start dash state\n //------------------------------------------------------------------\n [COMMENT_START_DASH_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = COMMENT_END_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.abruptClosingOfEmptyComment);\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInComment);\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.data += '-';\n this._reconsumeInState(COMMENT_STATE);\n }\n }\n\n // Comment state\n //------------------------------------------------------------------\n [COMMENT_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = COMMENT_END_DASH_STATE;\n } else if (cp === $.LESS_THAN_SIGN) {\n this.currentToken.data += '<';\n this.state = COMMENT_LESS_THAN_SIGN_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentToken.data += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInComment);\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.data += toChar(cp);\n }\n }\n\n // Comment less-than sign state\n //------------------------------------------------------------------\n [COMMENT_LESS_THAN_SIGN_STATE](cp) {\n if (cp === $.EXCLAMATION_MARK) {\n this.currentToken.data += '!';\n this.state = COMMENT_LESS_THAN_SIGN_BANG_STATE;\n } else if (cp === $.LESS_THAN_SIGN) {\n this.currentToken.data += '!';\n } else {\n this._reconsumeInState(COMMENT_STATE);\n }\n }\n\n // Comment less-than sign bang state\n //------------------------------------------------------------------\n [COMMENT_LESS_THAN_SIGN_BANG_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE;\n } else {\n this._reconsumeInState(COMMENT_STATE);\n }\n }\n\n // Comment less-than sign bang dash state\n //------------------------------------------------------------------\n [COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE;\n } else {\n this._reconsumeInState(COMMENT_END_DASH_STATE);\n }\n }\n\n // Comment less-than sign bang dash dash state\n //------------------------------------------------------------------\n [COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE](cp) {\n if (cp !== $.GREATER_THAN_SIGN && cp !== $.EOF) {\n this._err(ERR.nestedComment);\n }\n\n this._reconsumeInState(COMMENT_END_STATE);\n }\n\n // Comment end dash state\n //------------------------------------------------------------------\n [COMMENT_END_DASH_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = COMMENT_END_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInComment);\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.data += '-';\n this._reconsumeInState(COMMENT_STATE);\n }\n }\n\n // Comment end state\n //------------------------------------------------------------------\n [COMMENT_END_STATE](cp) {\n if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EXCLAMATION_MARK) {\n this.state = COMMENT_END_BANG_STATE;\n } else if (cp === $.HYPHEN_MINUS) {\n this.currentToken.data += '-';\n } else if (cp === $.EOF) {\n this._err(ERR.eofInComment);\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.data += '--';\n this._reconsumeInState(COMMENT_STATE);\n }\n }\n\n // Comment end bang state\n //------------------------------------------------------------------\n [COMMENT_END_BANG_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.currentToken.data += '--!';\n this.state = COMMENT_END_DASH_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.incorrectlyClosedComment);\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInComment);\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.data += '--!';\n this._reconsumeInState(COMMENT_STATE);\n }\n }\n\n // DOCTYPE state\n //------------------------------------------------------------------\n [DOCTYPE_STATE](cp) {\n if (isWhitespace(cp)) {\n this.state = BEFORE_DOCTYPE_NAME_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._reconsumeInState(BEFORE_DOCTYPE_NAME_STATE);\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this._createDoctypeToken(null);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._err(ERR.missingWhitespaceBeforeDoctypeName);\n this._reconsumeInState(BEFORE_DOCTYPE_NAME_STATE);\n }\n }\n\n // Before DOCTYPE name state\n //------------------------------------------------------------------\n [BEFORE_DOCTYPE_NAME_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (isAsciiUpper(cp)) {\n this._createDoctypeToken(toAsciiLowerChar(cp));\n this.state = DOCTYPE_NAME_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this._createDoctypeToken(unicode.REPLACEMENT_CHARACTER);\n this.state = DOCTYPE_NAME_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.missingDoctypeName);\n this._createDoctypeToken(null);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this.state = DATA_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this._createDoctypeToken(null);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._createDoctypeToken(toChar(cp));\n this.state = DOCTYPE_NAME_STATE;\n }\n }\n\n // DOCTYPE name state\n //------------------------------------------------------------------\n [DOCTYPE_NAME_STATE](cp) {\n if (isWhitespace(cp)) {\n this.state = AFTER_DOCTYPE_NAME_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (isAsciiUpper(cp)) {\n this.currentToken.name += toAsciiLowerChar(cp);\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentToken.name += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.name += toChar(cp);\n }\n }\n\n // After DOCTYPE name state\n //------------------------------------------------------------------\n [AFTER_DOCTYPE_NAME_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else if (this._consumeSequenceIfMatch($$.PUBLIC_STRING, cp, false)) {\n this.state = AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE;\n } else if (this._consumeSequenceIfMatch($$.SYSTEM_STRING, cp, false)) {\n this.state = AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE;\n }\n //NOTE: sequence lookup can be abrupted by hibernation. In that case lookup\n //results are no longer valid and we will need to start over.\n else if (!this._ensureHibernation()) {\n this._err(ERR.invalidCharacterSequenceAfterDoctypeName);\n this.currentToken.forceQuirks = true;\n this._reconsumeInState(BOGUS_DOCTYPE_STATE);\n }\n }\n\n // After DOCTYPE public keyword state\n //------------------------------------------------------------------\n [AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE](cp) {\n if (isWhitespace(cp)) {\n this.state = BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE;\n } else if (cp === $.QUOTATION_MARK) {\n this._err(ERR.missingWhitespaceAfterDoctypePublicKeyword);\n this.currentToken.publicId = '';\n this.state = DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE;\n } else if (cp === $.APOSTROPHE) {\n this._err(ERR.missingWhitespaceAfterDoctypePublicKeyword);\n this.currentToken.publicId = '';\n this.state = DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.missingDoctypePublicIdentifier);\n this.currentToken.forceQuirks = true;\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._err(ERR.missingQuoteBeforeDoctypePublicIdentifier);\n this.currentToken.forceQuirks = true;\n this._reconsumeInState(BOGUS_DOCTYPE_STATE);\n }\n }\n\n // Before DOCTYPE public identifier state\n //------------------------------------------------------------------\n [BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (cp === $.QUOTATION_MARK) {\n this.currentToken.publicId = '';\n this.state = DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE;\n } else if (cp === $.APOSTROPHE) {\n this.currentToken.publicId = '';\n this.state = DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.missingDoctypePublicIdentifier);\n this.currentToken.forceQuirks = true;\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._err(ERR.missingQuoteBeforeDoctypePublicIdentifier);\n this.currentToken.forceQuirks = true;\n this._reconsumeInState(BOGUS_DOCTYPE_STATE);\n }\n }\n\n // DOCTYPE public identifier (double-quoted) state\n //------------------------------------------------------------------\n [DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE](cp) {\n if (cp === $.QUOTATION_MARK) {\n this.state = AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentToken.publicId += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.abruptDoctypePublicIdentifier);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this.state = DATA_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.publicId += toChar(cp);\n }\n }\n\n // DOCTYPE public identifier (single-quoted) state\n //------------------------------------------------------------------\n [DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE](cp) {\n if (cp === $.APOSTROPHE) {\n this.state = AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentToken.publicId += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.abruptDoctypePublicIdentifier);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this.state = DATA_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.publicId += toChar(cp);\n }\n }\n\n // After DOCTYPE public identifier state\n //------------------------------------------------------------------\n [AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE](cp) {\n if (isWhitespace(cp)) {\n this.state = BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.QUOTATION_MARK) {\n this._err(ERR.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers);\n this.currentToken.systemId = '';\n this.state = DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE;\n } else if (cp === $.APOSTROPHE) {\n this._err(ERR.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers);\n this.currentToken.systemId = '';\n this.state = DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n this.currentToken.forceQuirks = true;\n this._reconsumeInState(BOGUS_DOCTYPE_STATE);\n }\n }\n\n // Between DOCTYPE public and system identifiers state\n //------------------------------------------------------------------\n [BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (cp === $.GREATER_THAN_SIGN) {\n this._emitCurrentToken();\n this.state = DATA_STATE;\n } else if (cp === $.QUOTATION_MARK) {\n this.currentToken.systemId = '';\n this.state = DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE;\n } else if (cp === $.APOSTROPHE) {\n this.currentToken.systemId = '';\n this.state = DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n this.currentToken.forceQuirks = true;\n this._reconsumeInState(BOGUS_DOCTYPE_STATE);\n }\n }\n\n // After DOCTYPE system keyword state\n //------------------------------------------------------------------\n [AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE](cp) {\n if (isWhitespace(cp)) {\n this.state = BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE;\n } else if (cp === $.QUOTATION_MARK) {\n this._err(ERR.missingWhitespaceAfterDoctypeSystemKeyword);\n this.currentToken.systemId = '';\n this.state = DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE;\n } else if (cp === $.APOSTROPHE) {\n this._err(ERR.missingWhitespaceAfterDoctypeSystemKeyword);\n this.currentToken.systemId = '';\n this.state = DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.missingDoctypeSystemIdentifier);\n this.currentToken.forceQuirks = true;\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n this.currentToken.forceQuirks = true;\n this._reconsumeInState(BOGUS_DOCTYPE_STATE);\n }\n }\n\n // Before DOCTYPE system identifier state\n //------------------------------------------------------------------\n [BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (cp === $.QUOTATION_MARK) {\n this.currentToken.systemId = '';\n this.state = DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE;\n } else if (cp === $.APOSTROPHE) {\n this.currentToken.systemId = '';\n this.state = DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.missingDoctypeSystemIdentifier);\n this.currentToken.forceQuirks = true;\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n this.currentToken.forceQuirks = true;\n this._reconsumeInState(BOGUS_DOCTYPE_STATE);\n }\n }\n\n // DOCTYPE system identifier (double-quoted) state\n //------------------------------------------------------------------\n [DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE](cp) {\n if (cp === $.QUOTATION_MARK) {\n this.state = AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentToken.systemId += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.abruptDoctypeSystemIdentifier);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this.state = DATA_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.systemId += toChar(cp);\n }\n }\n\n // DOCTYPE system identifier (single-quoted) state\n //------------------------------------------------------------------\n [DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE](cp) {\n if (cp === $.APOSTROPHE) {\n this.state = AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentToken.systemId += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.abruptDoctypeSystemIdentifier);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this.state = DATA_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.systemId += toChar(cp);\n }\n }\n\n // After DOCTYPE system identifier state\n //------------------------------------------------------------------\n [AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (cp === $.GREATER_THAN_SIGN) {\n this._emitCurrentToken();\n this.state = DATA_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._err(ERR.unexpectedCharacterAfterDoctypeSystemIdentifier);\n this._reconsumeInState(BOGUS_DOCTYPE_STATE);\n }\n }\n\n // Bogus DOCTYPE state\n //------------------------------------------------------------------\n [BOGUS_DOCTYPE_STATE](cp) {\n if (cp === $.GREATER_THAN_SIGN) {\n this._emitCurrentToken();\n this.state = DATA_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n } else if (cp === $.EOF) {\n this._emitCurrentToken();\n this._emitEOFToken();\n }\n }\n\n // CDATA section state\n //------------------------------------------------------------------\n [CDATA_SECTION_STATE](cp) {\n if (cp === $.RIGHT_SQUARE_BRACKET) {\n this.state = CDATA_SECTION_BRACKET_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInCdata);\n this._emitEOFToken();\n } else {\n this._emitCodePoint(cp);\n }\n }\n\n // CDATA section bracket state\n //------------------------------------------------------------------\n [CDATA_SECTION_BRACKET_STATE](cp) {\n if (cp === $.RIGHT_SQUARE_BRACKET) {\n this.state = CDATA_SECTION_END_STATE;\n } else {\n this._emitChars(']');\n this._reconsumeInState(CDATA_SECTION_STATE);\n }\n }\n\n // CDATA section end state\n //------------------------------------------------------------------\n [CDATA_SECTION_END_STATE](cp) {\n if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n } else if (cp === $.RIGHT_SQUARE_BRACKET) {\n this._emitChars(']');\n } else {\n this._emitChars(']]');\n this._reconsumeInState(CDATA_SECTION_STATE);\n }\n }\n\n // Character reference state\n //------------------------------------------------------------------\n [CHARACTER_REFERENCE_STATE](cp) {\n this.tempBuff = [$.AMPERSAND];\n\n if (cp === $.NUMBER_SIGN) {\n this.tempBuff.push(cp);\n this.state = NUMERIC_CHARACTER_REFERENCE_STATE;\n } else if (isAsciiAlphaNumeric(cp)) {\n this._reconsumeInState(NAMED_CHARACTER_REFERENCE_STATE);\n } else {\n this._flushCodePointsConsumedAsCharacterReference();\n this._reconsumeInState(this.returnState);\n }\n }\n\n // Named character reference state\n //------------------------------------------------------------------\n [NAMED_CHARACTER_REFERENCE_STATE](cp) {\n const matchResult = this._matchNamedCharacterReference(cp);\n\n //NOTE: matching can be abrupted by hibernation. In that case match\n //results are no longer valid and we will need to start over.\n if (this._ensureHibernation()) {\n this.tempBuff = [$.AMPERSAND];\n } else if (matchResult) {\n const withSemicolon = this.tempBuff[this.tempBuff.length - 1] === $.SEMICOLON;\n\n if (!this._isCharacterReferenceAttributeQuirk(withSemicolon)) {\n if (!withSemicolon) {\n this._errOnNextCodePoint(ERR.missingSemicolonAfterCharacterReference);\n }\n\n this.tempBuff = matchResult;\n }\n\n this._flushCodePointsConsumedAsCharacterReference();\n this.state = this.returnState;\n } else {\n this._flushCodePointsConsumedAsCharacterReference();\n this.state = AMBIGUOUS_AMPERSAND_STATE;\n }\n }\n\n // Ambiguos ampersand state\n //------------------------------------------------------------------\n [AMBIGUOUS_AMPERSAND_STATE](cp) {\n if (isAsciiAlphaNumeric(cp)) {\n if (this._isCharacterReferenceInAttribute()) {\n this.currentAttr.value += toChar(cp);\n } else {\n this._emitCodePoint(cp);\n }\n } else {\n if (cp === $.SEMICOLON) {\n this._err(ERR.unknownNamedCharacterReference);\n }\n\n this._reconsumeInState(this.returnState);\n }\n }\n\n // Numeric character reference state\n //------------------------------------------------------------------\n [NUMERIC_CHARACTER_REFERENCE_STATE](cp) {\n this.charRefCode = 0;\n\n if (cp === $.LATIN_SMALL_X || cp === $.LATIN_CAPITAL_X) {\n this.tempBuff.push(cp);\n this.state = HEXADEMICAL_CHARACTER_REFERENCE_START_STATE;\n } else {\n this._reconsumeInState(DECIMAL_CHARACTER_REFERENCE_START_STATE);\n }\n }\n\n // Hexademical character reference start state\n //------------------------------------------------------------------\n [HEXADEMICAL_CHARACTER_REFERENCE_START_STATE](cp) {\n if (isAsciiHexDigit(cp)) {\n this._reconsumeInState(HEXADEMICAL_CHARACTER_REFERENCE_STATE);\n } else {\n this._err(ERR.absenceOfDigitsInNumericCharacterReference);\n this._flushCodePointsConsumedAsCharacterReference();\n this._reconsumeInState(this.returnState);\n }\n }\n\n // Decimal character reference start state\n //------------------------------------------------------------------\n [DECIMAL_CHARACTER_REFERENCE_START_STATE](cp) {\n if (isAsciiDigit(cp)) {\n this._reconsumeInState(DECIMAL_CHARACTER_REFERENCE_STATE);\n } else {\n this._err(ERR.absenceOfDigitsInNumericCharacterReference);\n this._flushCodePointsConsumedAsCharacterReference();\n this._reconsumeInState(this.returnState);\n }\n }\n\n // Hexademical character reference state\n //------------------------------------------------------------------\n [HEXADEMICAL_CHARACTER_REFERENCE_STATE](cp) {\n if (isAsciiUpperHexDigit(cp)) {\n this.charRefCode = this.charRefCode * 16 + cp - 0x37;\n } else if (isAsciiLowerHexDigit(cp)) {\n this.charRefCode = this.charRefCode * 16 + cp - 0x57;\n } else if (isAsciiDigit(cp)) {\n this.charRefCode = this.charRefCode * 16 + cp - 0x30;\n } else if (cp === $.SEMICOLON) {\n this.state = NUMERIC_CHARACTER_REFERENCE_END_STATE;\n } else {\n this._err(ERR.missingSemicolonAfterCharacterReference);\n this._reconsumeInState(NUMERIC_CHARACTER_REFERENCE_END_STATE);\n }\n }\n\n // Decimal character reference state\n //------------------------------------------------------------------\n [DECIMAL_CHARACTER_REFERENCE_STATE](cp) {\n if (isAsciiDigit(cp)) {\n this.charRefCode = this.charRefCode * 10 + cp - 0x30;\n } else if (cp === $.SEMICOLON) {\n this.state = NUMERIC_CHARACTER_REFERENCE_END_STATE;\n } else {\n this._err(ERR.missingSemicolonAfterCharacterReference);\n this._reconsumeInState(NUMERIC_CHARACTER_REFERENCE_END_STATE);\n }\n }\n\n // Numeric character reference end state\n //------------------------------------------------------------------\n [NUMERIC_CHARACTER_REFERENCE_END_STATE]() {\n if (this.charRefCode === $.NULL) {\n this._err(ERR.nullCharacterReference);\n this.charRefCode = $.REPLACEMENT_CHARACTER;\n } else if (this.charRefCode > 0x10ffff) {\n this._err(ERR.characterReferenceOutsideUnicodeRange);\n this.charRefCode = $.REPLACEMENT_CHARACTER;\n } else if (unicode.isSurrogate(this.charRefCode)) {\n this._err(ERR.surrogateCharacterReference);\n this.charRefCode = $.REPLACEMENT_CHARACTER;\n } else if (unicode.isUndefinedCodePoint(this.charRefCode)) {\n this._err(ERR.noncharacterCharacterReference);\n } else if (unicode.isControlCodePoint(this.charRefCode) || this.charRefCode === $.CARRIAGE_RETURN) {\n this._err(ERR.controlCharacterReference);\n\n const replacement = C1_CONTROLS_REFERENCE_REPLACEMENTS[this.charRefCode];\n\n if (replacement) {\n this.charRefCode = replacement;\n }\n }\n\n this.tempBuff = [this.charRefCode];\n\n this._flushCodePointsConsumedAsCharacterReference();\n this._reconsumeInState(this.returnState);\n }\n}\n\n//Token types\nTokenizer.CHARACTER_TOKEN = 'CHARACTER_TOKEN';\nTokenizer.NULL_CHARACTER_TOKEN = 'NULL_CHARACTER_TOKEN';\nTokenizer.WHITESPACE_CHARACTER_TOKEN = 'WHITESPACE_CHARACTER_TOKEN';\nTokenizer.START_TAG_TOKEN = 'START_TAG_TOKEN';\nTokenizer.END_TAG_TOKEN = 'END_TAG_TOKEN';\nTokenizer.COMMENT_TOKEN = 'COMMENT_TOKEN';\nTokenizer.DOCTYPE_TOKEN = 'DOCTYPE_TOKEN';\nTokenizer.EOF_TOKEN = 'EOF_TOKEN';\nTokenizer.HIBERNATION_TOKEN = 'HIBERNATION_TOKEN';\n\n//Tokenizer initial states for different modes\nTokenizer.MODE = {\n DATA: DATA_STATE,\n RCDATA: RCDATA_STATE,\n RAWTEXT: RAWTEXT_STATE,\n SCRIPT_DATA: SCRIPT_DATA_STATE,\n PLAINTEXT: PLAINTEXT_STATE\n};\n\n//Static\nTokenizer.getTokenAttr = function(token, attrName) {\n for (let i = token.attrs.length - 1; i >= 0; i--) {\n if (token.attrs[i].name === attrName) {\n return token.attrs[i].value;\n }\n }\n\n return null;\n};\n\nmodule.exports = Tokenizer;\n","'use strict';\n\n//NOTE: this file contains auto-generated array mapped radix tree that is used for the named entity references consumption\n//(details: https://github.com/inikulin/parse5/tree/master/scripts/generate-named-entity-data/README.md)\nmodule.exports = new Uint16Array([4,52,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,106,303,412,810,1432,1701,1796,1987,2114,2360,2420,2484,3170,3251,4140,4393,4575,4610,5106,5512,5728,6117,6274,6315,6345,6427,6516,7002,7910,8733,9323,9870,10170,10631,10893,11318,11386,11467,12773,13092,14474,14922,15448,15542,16419,17666,18166,18611,19004,19095,19298,19397,4,16,69,77,97,98,99,102,103,108,109,110,111,112,114,115,116,117,140,150,158,169,176,194,199,210,216,222,226,242,256,266,283,294,108,105,103,5,198,1,59,148,1,198,80,5,38,1,59,156,1,38,99,117,116,101,5,193,1,59,167,1,193,114,101,118,101,59,1,258,4,2,105,121,182,191,114,99,5,194,1,59,189,1,194,59,1,1040,114,59,3,55349,56580,114,97,118,101,5,192,1,59,208,1,192,112,104,97,59,1,913,97,99,114,59,1,256,100,59,1,10835,4,2,103,112,232,237,111,110,59,1,260,102,59,3,55349,56632,112,108,121,70,117,110,99,116,105,111,110,59,1,8289,105,110,103,5,197,1,59,264,1,197,4,2,99,115,272,277,114,59,3,55349,56476,105,103,110,59,1,8788,105,108,100,101,5,195,1,59,292,1,195,109,108,5,196,1,59,301,1,196,4,8,97,99,101,102,111,114,115,117,321,350,354,383,388,394,400,405,4,2,99,114,327,336,107,115,108,97,115,104,59,1,8726,4,2,118,119,342,345,59,1,10983,101,100,59,1,8966,121,59,1,1041,4,3,99,114,116,362,369,379,97,117,115,101,59,1,8757,110,111,117,108,108,105,115,59,1,8492,97,59,1,914,114,59,3,55349,56581,112,102,59,3,55349,56633,101,118,101,59,1,728,99,114,59,1,8492,109,112,101,113,59,1,8782,4,14,72,79,97,99,100,101,102,104,105,108,111,114,115,117,442,447,456,504,542,547,569,573,577,616,678,784,790,796,99,121,59,1,1063,80,89,5,169,1,59,454,1,169,4,3,99,112,121,464,470,497,117,116,101,59,1,262,4,2,59,105,476,478,1,8914,116,97,108,68,105,102,102,101,114,101,110,116,105,97,108,68,59,1,8517,108,101,121,115,59,1,8493,4,4,97,101,105,111,514,520,530,535,114,111,110,59,1,268,100,105,108,5,199,1,59,528,1,199,114,99,59,1,264,110,105,110,116,59,1,8752,111,116,59,1,266,4,2,100,110,553,560,105,108,108,97,59,1,184,116,101,114,68,111,116,59,1,183,114,59,1,8493,105,59,1,935,114,99,108,101,4,4,68,77,80,84,591,596,603,609,111,116,59,1,8857,105,110,117,115,59,1,8854,108,117,115,59,1,8853,105,109,101,115,59,1,8855,111,4,2,99,115,623,646,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8754,101,67,117,114,108,121,4,2,68,81,658,671,111,117,98,108,101,81,117,111,116,101,59,1,8221,117,111,116,101,59,1,8217,4,4,108,110,112,117,688,701,736,753,111,110,4,2,59,101,696,698,1,8759,59,1,10868,4,3,103,105,116,709,717,722,114,117,101,110,116,59,1,8801,110,116,59,1,8751,111,117,114,73,110,116,101,103,114,97,108,59,1,8750,4,2,102,114,742,745,59,1,8450,111,100,117,99,116,59,1,8720,110,116,101,114,67,108,111,99,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8755,111,115,115,59,1,10799,99,114,59,3,55349,56478,112,4,2,59,67,803,805,1,8915,97,112,59,1,8781,4,11,68,74,83,90,97,99,101,102,105,111,115,834,850,855,860,865,888,903,916,921,1011,1415,4,2,59,111,840,842,1,8517,116,114,97,104,100,59,1,10513,99,121,59,1,1026,99,121,59,1,1029,99,121,59,1,1039,4,3,103,114,115,873,879,883,103,101,114,59,1,8225,114,59,1,8609,104,118,59,1,10980,4,2,97,121,894,900,114,111,110,59,1,270,59,1,1044,108,4,2,59,116,910,912,1,8711,97,59,1,916,114,59,3,55349,56583,4,2,97,102,927,998,4,2,99,109,933,992,114,105,116,105,99,97,108,4,4,65,68,71,84,950,957,978,985,99,117,116,101,59,1,180,111,4,2,116,117,964,967,59,1,729,98,108,101,65,99,117,116,101,59,1,733,114,97,118,101,59,1,96,105,108,100,101,59,1,732,111,110,100,59,1,8900,102,101,114,101,110,116,105,97,108,68,59,1,8518,4,4,112,116,117,119,1021,1026,1048,1249,102,59,3,55349,56635,4,3,59,68,69,1034,1036,1041,1,168,111,116,59,1,8412,113,117,97,108,59,1,8784,98,108,101,4,6,67,68,76,82,85,86,1065,1082,1101,1189,1211,1236,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8751,111,4,2,116,119,1089,1092,59,1,168,110,65,114,114,111,119,59,1,8659,4,2,101,111,1107,1141,102,116,4,3,65,82,84,1117,1124,1136,114,114,111,119,59,1,8656,105,103,104,116,65,114,114,111,119,59,1,8660,101,101,59,1,10980,110,103,4,2,76,82,1149,1177,101,102,116,4,2,65,82,1158,1165,114,114,111,119,59,1,10232,105,103,104,116,65,114,114,111,119,59,1,10234,105,103,104,116,65,114,114,111,119,59,1,10233,105,103,104,116,4,2,65,84,1199,1206,114,114,111,119,59,1,8658,101,101,59,1,8872,112,4,2,65,68,1218,1225,114,114,111,119,59,1,8657,111,119,110,65,114,114,111,119,59,1,8661,101,114,116,105,99,97,108,66,97,114,59,1,8741,110,4,6,65,66,76,82,84,97,1264,1292,1299,1352,1391,1408,114,114,111,119,4,3,59,66,85,1276,1278,1283,1,8595,97,114,59,1,10515,112,65,114,114,111,119,59,1,8693,114,101,118,101,59,1,785,101,102,116,4,3,82,84,86,1310,1323,1334,105,103,104,116,86,101,99,116,111,114,59,1,10576,101,101,86,101,99,116,111,114,59,1,10590,101,99,116,111,114,4,2,59,66,1345,1347,1,8637,97,114,59,1,10582,105,103,104,116,4,2,84,86,1362,1373,101,101,86,101,99,116,111,114,59,1,10591,101,99,116,111,114,4,2,59,66,1384,1386,1,8641,97,114,59,1,10583,101,101,4,2,59,65,1399,1401,1,8868,114,114,111,119,59,1,8615,114,114,111,119,59,1,8659,4,2,99,116,1421,1426,114,59,3,55349,56479,114,111,107,59,1,272,4,16,78,84,97,99,100,102,103,108,109,111,112,113,115,116,117,120,1466,1470,1478,1489,1515,1520,1525,1536,1544,1593,1609,1617,1650,1664,1668,1677,71,59,1,330,72,5,208,1,59,1476,1,208,99,117,116,101,5,201,1,59,1487,1,201,4,3,97,105,121,1497,1503,1512,114,111,110,59,1,282,114,99,5,202,1,59,1510,1,202,59,1,1069,111,116,59,1,278,114,59,3,55349,56584,114,97,118,101,5,200,1,59,1534,1,200,101,109,101,110,116,59,1,8712,4,2,97,112,1550,1555,99,114,59,1,274,116,121,4,2,83,86,1563,1576,109,97,108,108,83,113,117,97,114,101,59,1,9723,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9643,4,2,103,112,1599,1604,111,110,59,1,280,102,59,3,55349,56636,115,105,108,111,110,59,1,917,117,4,2,97,105,1624,1640,108,4,2,59,84,1631,1633,1,10869,105,108,100,101,59,1,8770,108,105,98,114,105,117,109,59,1,8652,4,2,99,105,1656,1660,114,59,1,8496,109,59,1,10867,97,59,1,919,109,108,5,203,1,59,1675,1,203,4,2,105,112,1683,1689,115,116,115,59,1,8707,111,110,101,110,116,105,97,108,69,59,1,8519,4,5,99,102,105,111,115,1713,1717,1722,1762,1791,121,59,1,1060,114,59,3,55349,56585,108,108,101,100,4,2,83,86,1732,1745,109,97,108,108,83,113,117,97,114,101,59,1,9724,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9642,4,3,112,114,117,1770,1775,1781,102,59,3,55349,56637,65,108,108,59,1,8704,114,105,101,114,116,114,102,59,1,8497,99,114,59,1,8497,4,12,74,84,97,98,99,100,102,103,111,114,115,116,1822,1827,1834,1848,1855,1877,1882,1887,1890,1896,1978,1984,99,121,59,1,1027,5,62,1,59,1832,1,62,109,109,97,4,2,59,100,1843,1845,1,915,59,1,988,114,101,118,101,59,1,286,4,3,101,105,121,1863,1869,1874,100,105,108,59,1,290,114,99,59,1,284,59,1,1043,111,116,59,1,288,114,59,3,55349,56586,59,1,8921,112,102,59,3,55349,56638,101,97,116,101,114,4,6,69,70,71,76,83,84,1915,1933,1944,1953,1959,1971,113,117,97,108,4,2,59,76,1925,1927,1,8805,101,115,115,59,1,8923,117,108,108,69,113,117,97,108,59,1,8807,114,101,97,116,101,114,59,1,10914,101,115,115,59,1,8823,108,97,110,116,69,113,117,97,108,59,1,10878,105,108,100,101,59,1,8819,99,114,59,3,55349,56482,59,1,8811,4,8,65,97,99,102,105,111,115,117,2005,2012,2026,2032,2036,2049,2073,2089,82,68,99,121,59,1,1066,4,2,99,116,2018,2023,101,107,59,1,711,59,1,94,105,114,99,59,1,292,114,59,1,8460,108,98,101,114,116,83,112,97,99,101,59,1,8459,4,2,112,114,2055,2059,102,59,1,8461,105,122,111,110,116,97,108,76,105,110,101,59,1,9472,4,2,99,116,2079,2083,114,59,1,8459,114,111,107,59,1,294,109,112,4,2,68,69,2097,2107,111,119,110,72,117,109,112,59,1,8782,113,117,97,108,59,1,8783,4,14,69,74,79,97,99,100,102,103,109,110,111,115,116,117,2144,2149,2155,2160,2171,2189,2194,2198,2209,2245,2307,2329,2334,2341,99,121,59,1,1045,108,105,103,59,1,306,99,121,59,1,1025,99,117,116,101,5,205,1,59,2169,1,205,4,2,105,121,2177,2186,114,99,5,206,1,59,2184,1,206,59,1,1048,111,116,59,1,304,114,59,1,8465,114,97,118,101,5,204,1,59,2207,1,204,4,3,59,97,112,2217,2219,2238,1,8465,4,2,99,103,2225,2229,114,59,1,298,105,110,97,114,121,73,59,1,8520,108,105,101,115,59,1,8658,4,2,116,118,2251,2281,4,2,59,101,2257,2259,1,8748,4,2,103,114,2265,2271,114,97,108,59,1,8747,115,101,99,116,105,111,110,59,1,8898,105,115,105,98,108,101,4,2,67,84,2293,2300,111,109,109,97,59,1,8291,105,109,101,115,59,1,8290,4,3,103,112,116,2315,2320,2325,111,110,59,1,302,102,59,3,55349,56640,97,59,1,921,99,114,59,1,8464,105,108,100,101,59,1,296,4,2,107,109,2347,2352,99,121,59,1,1030,108,5,207,1,59,2358,1,207,4,5,99,102,111,115,117,2372,2386,2391,2397,2414,4,2,105,121,2378,2383,114,99,59,1,308,59,1,1049,114,59,3,55349,56589,112,102,59,3,55349,56641,4,2,99,101,2403,2408,114,59,3,55349,56485,114,99,121,59,1,1032,107,99,121,59,1,1028,4,7,72,74,97,99,102,111,115,2436,2441,2446,2452,2467,2472,2478,99,121,59,1,1061,99,121,59,1,1036,112,112,97,59,1,922,4,2,101,121,2458,2464,100,105,108,59,1,310,59,1,1050,114,59,3,55349,56590,112,102,59,3,55349,56642,99,114,59,3,55349,56486,4,11,74,84,97,99,101,102,108,109,111,115,116,2508,2513,2520,2562,2585,2981,2986,3004,3011,3146,3167,99,121,59,1,1033,5,60,1,59,2518,1,60,4,5,99,109,110,112,114,2532,2538,2544,2548,2558,117,116,101,59,1,313,98,100,97,59,1,923,103,59,1,10218,108,97,99,101,116,114,102,59,1,8466,114,59,1,8606,4,3,97,101,121,2570,2576,2582,114,111,110,59,1,317,100,105,108,59,1,315,59,1,1051,4,2,102,115,2591,2907,116,4,10,65,67,68,70,82,84,85,86,97,114,2614,2663,2672,2728,2735,2760,2820,2870,2888,2895,4,2,110,114,2620,2633,103,108,101,66,114,97,99,107,101,116,59,1,10216,114,111,119,4,3,59,66,82,2644,2646,2651,1,8592,97,114,59,1,8676,105,103,104,116,65,114,114,111,119,59,1,8646,101,105,108,105,110,103,59,1,8968,111,4,2,117,119,2679,2692,98,108,101,66,114,97,99,107,101,116,59,1,10214,110,4,2,84,86,2699,2710,101,101,86,101,99,116,111,114,59,1,10593,101,99,116,111,114,4,2,59,66,2721,2723,1,8643,97,114,59,1,10585,108,111,111,114,59,1,8970,105,103,104,116,4,2,65,86,2745,2752,114,114,111,119,59,1,8596,101,99,116,111,114,59,1,10574,4,2,101,114,2766,2792,101,4,3,59,65,86,2775,2777,2784,1,8867,114,114,111,119,59,1,8612,101,99,116,111,114,59,1,10586,105,97,110,103,108,101,4,3,59,66,69,2806,2808,2813,1,8882,97,114,59,1,10703,113,117,97,108,59,1,8884,112,4,3,68,84,86,2829,2841,2852,111,119,110,86,101,99,116,111,114,59,1,10577,101,101,86,101,99,116,111,114,59,1,10592,101,99,116,111,114,4,2,59,66,2863,2865,1,8639,97,114,59,1,10584,101,99,116,111,114,4,2,59,66,2881,2883,1,8636,97,114,59,1,10578,114,114,111,119,59,1,8656,105,103,104,116,97,114,114,111,119,59,1,8660,115,4,6,69,70,71,76,83,84,2922,2936,2947,2956,2962,2974,113,117,97,108,71,114,101,97,116,101,114,59,1,8922,117,108,108,69,113,117,97,108,59,1,8806,114,101,97,116,101,114,59,1,8822,101,115,115,59,1,10913,108,97,110,116,69,113,117,97,108,59,1,10877,105,108,100,101,59,1,8818,114,59,3,55349,56591,4,2,59,101,2992,2994,1,8920,102,116,97,114,114,111,119,59,1,8666,105,100,111,116,59,1,319,4,3,110,112,119,3019,3110,3115,103,4,4,76,82,108,114,3030,3058,3070,3098,101,102,116,4,2,65,82,3039,3046,114,114,111,119,59,1,10229,105,103,104,116,65,114,114,111,119,59,1,10231,105,103,104,116,65,114,114,111,119,59,1,10230,101,102,116,4,2,97,114,3079,3086,114,114,111,119,59,1,10232,105,103,104,116,97,114,114,111,119,59,1,10234,105,103,104,116,97,114,114,111,119,59,1,10233,102,59,3,55349,56643,101,114,4,2,76,82,3123,3134,101,102,116,65,114,114,111,119,59,1,8601,105,103,104,116,65,114,114,111,119,59,1,8600,4,3,99,104,116,3154,3158,3161,114,59,1,8466,59,1,8624,114,111,107,59,1,321,59,1,8810,4,8,97,99,101,102,105,111,115,117,3188,3192,3196,3222,3227,3237,3243,3248,112,59,1,10501,121,59,1,1052,4,2,100,108,3202,3213,105,117,109,83,112,97,99,101,59,1,8287,108,105,110,116,114,102,59,1,8499,114,59,3,55349,56592,110,117,115,80,108,117,115,59,1,8723,112,102,59,3,55349,56644,99,114,59,1,8499,59,1,924,4,9,74,97,99,101,102,111,115,116,117,3271,3276,3283,3306,3422,3427,4120,4126,4137,99,121,59,1,1034,99,117,116,101,59,1,323,4,3,97,101,121,3291,3297,3303,114,111,110,59,1,327,100,105,108,59,1,325,59,1,1053,4,3,103,115,119,3314,3380,3415,97,116,105,118,101,4,3,77,84,86,3327,3340,3365,101,100,105,117,109,83,112,97,99,101,59,1,8203,104,105,4,2,99,110,3348,3357,107,83,112,97,99,101,59,1,8203,83,112,97,99,101,59,1,8203,101,114,121,84,104,105,110,83,112,97,99,101,59,1,8203,116,101,100,4,2,71,76,3389,3405,114,101,97,116,101,114,71,114,101,97,116,101,114,59,1,8811,101,115,115,76,101,115,115,59,1,8810,76,105,110,101,59,1,10,114,59,3,55349,56593,4,4,66,110,112,116,3437,3444,3460,3464,114,101,97,107,59,1,8288,66,114,101,97,107,105,110,103,83,112,97,99,101,59,1,160,102,59,1,8469,4,13,59,67,68,69,71,72,76,78,80,82,83,84,86,3492,3494,3517,3536,3578,3657,3685,3784,3823,3860,3915,4066,4107,1,10988,4,2,111,117,3500,3510,110,103,114,117,101,110,116,59,1,8802,112,67,97,112,59,1,8813,111,117,98,108,101,86,101,114,116,105,99,97,108,66,97,114,59,1,8742,4,3,108,113,120,3544,3552,3571,101,109,101,110,116,59,1,8713,117,97,108,4,2,59,84,3561,3563,1,8800,105,108,100,101,59,3,8770,824,105,115,116,115,59,1,8708,114,101,97,116,101,114,4,7,59,69,70,71,76,83,84,3600,3602,3609,3621,3631,3637,3650,1,8815,113,117,97,108,59,1,8817,117,108,108,69,113,117,97,108,59,3,8807,824,114,101,97,116,101,114,59,3,8811,824,101,115,115,59,1,8825,108,97,110,116,69,113,117,97,108,59,3,10878,824,105,108,100,101,59,1,8821,117,109,112,4,2,68,69,3666,3677,111,119,110,72,117,109,112,59,3,8782,824,113,117,97,108,59,3,8783,824,101,4,2,102,115,3692,3724,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3709,3711,3717,1,8938,97,114,59,3,10703,824,113,117,97,108,59,1,8940,115,4,6,59,69,71,76,83,84,3739,3741,3748,3757,3764,3777,1,8814,113,117,97,108,59,1,8816,114,101,97,116,101,114,59,1,8824,101,115,115,59,3,8810,824,108,97,110,116,69,113,117,97,108,59,3,10877,824,105,108,100,101,59,1,8820,101,115,116,101,100,4,2,71,76,3795,3812,114,101,97,116,101,114,71,114,101,97,116,101,114,59,3,10914,824,101,115,115,76,101,115,115,59,3,10913,824,114,101,99,101,100,101,115,4,3,59,69,83,3838,3840,3848,1,8832,113,117,97,108,59,3,10927,824,108,97,110,116,69,113,117,97,108,59,1,8928,4,2,101,105,3866,3881,118,101,114,115,101,69,108,101,109,101,110,116,59,1,8716,103,104,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3900,3902,3908,1,8939,97,114,59,3,10704,824,113,117,97,108,59,1,8941,4,2,113,117,3921,3973,117,97,114,101,83,117,4,2,98,112,3933,3952,115,101,116,4,2,59,69,3942,3945,3,8847,824,113,117,97,108,59,1,8930,101,114,115,101,116,4,2,59,69,3963,3966,3,8848,824,113,117,97,108,59,1,8931,4,3,98,99,112,3981,4000,4045,115,101,116,4,2,59,69,3990,3993,3,8834,8402,113,117,97,108,59,1,8840,99,101,101,100,115,4,4,59,69,83,84,4015,4017,4025,4037,1,8833,113,117,97,108,59,3,10928,824,108,97,110,116,69,113,117,97,108,59,1,8929,105,108,100,101,59,3,8831,824,101,114,115,101,116,4,2,59,69,4056,4059,3,8835,8402,113,117,97,108,59,1,8841,105,108,100,101,4,4,59,69,70,84,4080,4082,4089,4100,1,8769,113,117,97,108,59,1,8772,117,108,108,69,113,117,97,108,59,1,8775,105,108,100,101,59,1,8777,101,114,116,105,99,97,108,66,97,114,59,1,8740,99,114,59,3,55349,56489,105,108,100,101,5,209,1,59,4135,1,209,59,1,925,4,14,69,97,99,100,102,103,109,111,112,114,115,116,117,118,4170,4176,4187,4205,4212,4217,4228,4253,4259,4292,4295,4316,4337,4346,108,105,103,59,1,338,99,117,116,101,5,211,1,59,4185,1,211,4,2,105,121,4193,4202,114,99,5,212,1,59,4200,1,212,59,1,1054,98,108,97,99,59,1,336,114,59,3,55349,56594,114,97,118,101,5,210,1,59,4226,1,210,4,3,97,101,105,4236,4241,4246,99,114,59,1,332,103,97,59,1,937,99,114,111,110,59,1,927,112,102,59,3,55349,56646,101,110,67,117,114,108,121,4,2,68,81,4272,4285,111,117,98,108,101,81,117,111,116,101,59,1,8220,117,111,116,101,59,1,8216,59,1,10836,4,2,99,108,4301,4306,114,59,3,55349,56490,97,115,104,5,216,1,59,4314,1,216,105,4,2,108,109,4323,4332,100,101,5,213,1,59,4330,1,213,101,115,59,1,10807,109,108,5,214,1,59,4344,1,214,101,114,4,2,66,80,4354,4380,4,2,97,114,4360,4364,114,59,1,8254,97,99,4,2,101,107,4372,4375,59,1,9182,101,116,59,1,9140,97,114,101,110,116,104,101,115,105,115,59,1,9180,4,9,97,99,102,104,105,108,111,114,115,4413,4422,4426,4431,4435,4438,4448,4471,4561,114,116,105,97,108,68,59,1,8706,121,59,1,1055,114,59,3,55349,56595,105,59,1,934,59,1,928,117,115,77,105,110,117,115,59,1,177,4,2,105,112,4454,4467,110,99,97,114,101,112,108,97,110,101,59,1,8460,102,59,1,8473,4,4,59,101,105,111,4481,4483,4526,4531,1,10939,99,101,100,101,115,4,4,59,69,83,84,4498,4500,4507,4519,1,8826,113,117,97,108,59,1,10927,108,97,110,116,69,113,117,97,108,59,1,8828,105,108,100,101,59,1,8830,109,101,59,1,8243,4,2,100,112,4537,4543,117,99,116,59,1,8719,111,114,116,105,111,110,4,2,59,97,4555,4557,1,8759,108,59,1,8733,4,2,99,105,4567,4572,114,59,3,55349,56491,59,1,936,4,4,85,102,111,115,4585,4594,4599,4604,79,84,5,34,1,59,4592,1,34,114,59,3,55349,56596,112,102,59,1,8474,99,114,59,3,55349,56492,4,12,66,69,97,99,101,102,104,105,111,114,115,117,4636,4642,4650,4681,4704,4763,4767,4771,5047,5069,5081,5094,97,114,114,59,1,10512,71,5,174,1,59,4648,1,174,4,3,99,110,114,4658,4664,4668,117,116,101,59,1,340,103,59,1,10219,114,4,2,59,116,4675,4677,1,8608,108,59,1,10518,4,3,97,101,121,4689,4695,4701,114,111,110,59,1,344,100,105,108,59,1,342,59,1,1056,4,2,59,118,4710,4712,1,8476,101,114,115,101,4,2,69,85,4722,4748,4,2,108,113,4728,4736,101,109,101,110,116,59,1,8715,117,105,108,105,98,114,105,117,109,59,1,8651,112,69,113,117,105,108,105,98,114,105,117,109,59,1,10607,114,59,1,8476,111,59,1,929,103,104,116,4,8,65,67,68,70,84,85,86,97,4792,4840,4849,4905,4912,4972,5022,5040,4,2,110,114,4798,4811,103,108,101,66,114,97,99,107,101,116,59,1,10217,114,111,119,4,3,59,66,76,4822,4824,4829,1,8594,97,114,59,1,8677,101,102,116,65,114,114,111,119,59,1,8644,101,105,108,105,110,103,59,1,8969,111,4,2,117,119,4856,4869,98,108,101,66,114,97,99,107,101,116,59,1,10215,110,4,2,84,86,4876,4887,101,101,86,101,99,116,111,114,59,1,10589,101,99,116,111,114,4,2,59,66,4898,4900,1,8642,97,114,59,1,10581,108,111,111,114,59,1,8971,4,2,101,114,4918,4944,101,4,3,59,65,86,4927,4929,4936,1,8866,114,114,111,119,59,1,8614,101,99,116,111,114,59,1,10587,105,97,110,103,108,101,4,3,59,66,69,4958,4960,4965,1,8883,97,114,59,1,10704,113,117,97,108,59,1,8885,112,4,3,68,84,86,4981,4993,5004,111,119,110,86,101,99,116,111,114,59,1,10575,101,101,86,101,99,116,111,114,59,1,10588,101,99,116,111,114,4,2,59,66,5015,5017,1,8638,97,114,59,1,10580,101,99,116,111,114,4,2,59,66,5033,5035,1,8640,97,114,59,1,10579,114,114,111,119,59,1,8658,4,2,112,117,5053,5057,102,59,1,8477,110,100,73,109,112,108,105,101,115,59,1,10608,105,103,104,116,97,114,114,111,119,59,1,8667,4,2,99,104,5087,5091,114,59,1,8475,59,1,8625,108,101,68,101,108,97,121,101,100,59,1,10740,4,13,72,79,97,99,102,104,105,109,111,113,115,116,117,5134,5150,5157,5164,5198,5203,5259,5265,5277,5283,5374,5380,5385,4,2,67,99,5140,5146,72,99,121,59,1,1065,121,59,1,1064,70,84,99,121,59,1,1068,99,117,116,101,59,1,346,4,5,59,97,101,105,121,5176,5178,5184,5190,5195,1,10940,114,111,110,59,1,352,100,105,108,59,1,350,114,99,59,1,348,59,1,1057,114,59,3,55349,56598,111,114,116,4,4,68,76,82,85,5216,5227,5238,5250,111,119,110,65,114,114,111,119,59,1,8595,101,102,116,65,114,114,111,119,59,1,8592,105,103,104,116,65,114,114,111,119,59,1,8594,112,65,114,114,111,119,59,1,8593,103,109,97,59,1,931,97,108,108,67,105,114,99,108,101,59,1,8728,112,102,59,3,55349,56650,4,2,114,117,5289,5293,116,59,1,8730,97,114,101,4,4,59,73,83,85,5306,5308,5322,5367,1,9633,110,116,101,114,115,101,99,116,105,111,110,59,1,8851,117,4,2,98,112,5329,5347,115,101,116,4,2,59,69,5338,5340,1,8847,113,117,97,108,59,1,8849,101,114,115,101,116,4,2,59,69,5358,5360,1,8848,113,117,97,108,59,1,8850,110,105,111,110,59,1,8852,99,114,59,3,55349,56494,97,114,59,1,8902,4,4,98,99,109,112,5395,5420,5475,5478,4,2,59,115,5401,5403,1,8912,101,116,4,2,59,69,5411,5413,1,8912,113,117,97,108,59,1,8838,4,2,99,104,5426,5468,101,101,100,115,4,4,59,69,83,84,5440,5442,5449,5461,1,8827,113,117,97,108,59,1,10928,108,97,110,116,69,113,117,97,108,59,1,8829,105,108,100,101,59,1,8831,84,104,97,116,59,1,8715,59,1,8721,4,3,59,101,115,5486,5488,5507,1,8913,114,115,101,116,4,2,59,69,5498,5500,1,8835,113,117,97,108,59,1,8839,101,116,59,1,8913,4,11,72,82,83,97,99,102,104,105,111,114,115,5536,5546,5552,5567,5579,5602,5607,5655,5695,5701,5711,79,82,78,5,222,1,59,5544,1,222,65,68,69,59,1,8482,4,2,72,99,5558,5563,99,121,59,1,1035,121,59,1,1062,4,2,98,117,5573,5576,59,1,9,59,1,932,4,3,97,101,121,5587,5593,5599,114,111,110,59,1,356,100,105,108,59,1,354,59,1,1058,114,59,3,55349,56599,4,2,101,105,5613,5631,4,2,114,116,5619,5627,101,102,111,114,101,59,1,8756,97,59,1,920,4,2,99,110,5637,5647,107,83,112,97,99,101,59,3,8287,8202,83,112,97,99,101,59,1,8201,108,100,101,4,4,59,69,70,84,5668,5670,5677,5688,1,8764,113,117,97,108,59,1,8771,117,108,108,69,113,117,97,108,59,1,8773,105,108,100,101,59,1,8776,112,102,59,3,55349,56651,105,112,108,101,68,111,116,59,1,8411,4,2,99,116,5717,5722,114,59,3,55349,56495,114,111,107,59,1,358,4,14,97,98,99,100,102,103,109,110,111,112,114,115,116,117,5758,5789,5805,5823,5830,5835,5846,5852,5921,5937,6089,6095,6101,6108,4,2,99,114,5764,5774,117,116,101,5,218,1,59,5772,1,218,114,4,2,59,111,5781,5783,1,8607,99,105,114,59,1,10569,114,4,2,99,101,5796,5800,121,59,1,1038,118,101,59,1,364,4,2,105,121,5811,5820,114,99,5,219,1,59,5818,1,219,59,1,1059,98,108,97,99,59,1,368,114,59,3,55349,56600,114,97,118,101,5,217,1,59,5844,1,217,97,99,114,59,1,362,4,2,100,105,5858,5905,101,114,4,2,66,80,5866,5892,4,2,97,114,5872,5876,114,59,1,95,97,99,4,2,101,107,5884,5887,59,1,9183,101,116,59,1,9141,97,114,101,110,116,104,101,115,105,115,59,1,9181,111,110,4,2,59,80,5913,5915,1,8899,108,117,115,59,1,8846,4,2,103,112,5927,5932,111,110,59,1,370,102,59,3,55349,56652,4,8,65,68,69,84,97,100,112,115,5955,5985,5996,6009,6026,6033,6044,6075,114,114,111,119,4,3,59,66,68,5967,5969,5974,1,8593,97,114,59,1,10514,111,119,110,65,114,114,111,119,59,1,8645,111,119,110,65,114,114,111,119,59,1,8597,113,117,105,108,105,98,114,105,117,109,59,1,10606,101,101,4,2,59,65,6017,6019,1,8869,114,114,111,119,59,1,8613,114,114,111,119,59,1,8657,111,119,110,97,114,114,111,119,59,1,8661,101,114,4,2,76,82,6052,6063,101,102,116,65,114,114,111,119,59,1,8598,105,103,104,116,65,114,114,111,119,59,1,8599,105,4,2,59,108,6082,6084,1,978,111,110,59,1,933,105,110,103,59,1,366,99,114,59,3,55349,56496,105,108,100,101,59,1,360,109,108,5,220,1,59,6115,1,220,4,9,68,98,99,100,101,102,111,115,118,6137,6143,6148,6152,6166,6250,6255,6261,6267,97,115,104,59,1,8875,97,114,59,1,10987,121,59,1,1042,97,115,104,4,2,59,108,6161,6163,1,8873,59,1,10982,4,2,101,114,6172,6175,59,1,8897,4,3,98,116,121,6183,6188,6238,97,114,59,1,8214,4,2,59,105,6194,6196,1,8214,99,97,108,4,4,66,76,83,84,6209,6214,6220,6231,97,114,59,1,8739,105,110,101,59,1,124,101,112,97,114,97,116,111,114,59,1,10072,105,108,100,101,59,1,8768,84,104,105,110,83,112,97,99,101,59,1,8202,114,59,3,55349,56601,112,102,59,3,55349,56653,99,114,59,3,55349,56497,100,97,115,104,59,1,8874,4,5,99,101,102,111,115,6286,6292,6298,6303,6309,105,114,99,59,1,372,100,103,101,59,1,8896,114,59,3,55349,56602,112,102,59,3,55349,56654,99,114,59,3,55349,56498,4,4,102,105,111,115,6325,6330,6333,6339,114,59,3,55349,56603,59,1,926,112,102,59,3,55349,56655,99,114,59,3,55349,56499,4,9,65,73,85,97,99,102,111,115,117,6365,6370,6375,6380,6391,6405,6410,6416,6422,99,121,59,1,1071,99,121,59,1,1031,99,121,59,1,1070,99,117,116,101,5,221,1,59,6389,1,221,4,2,105,121,6397,6402,114,99,59,1,374,59,1,1067,114,59,3,55349,56604,112,102,59,3,55349,56656,99,114,59,3,55349,56500,109,108,59,1,376,4,8,72,97,99,100,101,102,111,115,6445,6450,6457,6472,6477,6501,6505,6510,99,121,59,1,1046,99,117,116,101,59,1,377,4,2,97,121,6463,6469,114,111,110,59,1,381,59,1,1047,111,116,59,1,379,4,2,114,116,6483,6497,111,87,105,100,116,104,83,112,97,99,101,59,1,8203,97,59,1,918,114,59,1,8488,112,102,59,1,8484,99,114,59,3,55349,56501,4,16,97,98,99,101,102,103,108,109,110,111,112,114,115,116,117,119,6550,6561,6568,6612,6622,6634,6645,6672,6699,6854,6870,6923,6933,6963,6974,6983,99,117,116,101,5,225,1,59,6559,1,225,114,101,118,101,59,1,259,4,6,59,69,100,105,117,121,6582,6584,6588,6591,6600,6609,1,8766,59,3,8766,819,59,1,8767,114,99,5,226,1,59,6598,1,226,116,101,5,180,1,59,6607,1,180,59,1,1072,108,105,103,5,230,1,59,6620,1,230,4,2,59,114,6628,6630,1,8289,59,3,55349,56606,114,97,118,101,5,224,1,59,6643,1,224,4,2,101,112,6651,6667,4,2,102,112,6657,6663,115,121,109,59,1,8501,104,59,1,8501,104,97,59,1,945,4,2,97,112,6678,6692,4,2,99,108,6684,6688,114,59,1,257,103,59,1,10815,5,38,1,59,6697,1,38,4,2,100,103,6705,6737,4,5,59,97,100,115,118,6717,6719,6724,6727,6734,1,8743,110,100,59,1,10837,59,1,10844,108,111,112,101,59,1,10840,59,1,10842,4,7,59,101,108,109,114,115,122,6753,6755,6758,6762,6814,6835,6848,1,8736,59,1,10660,101,59,1,8736,115,100,4,2,59,97,6770,6772,1,8737,4,8,97,98,99,100,101,102,103,104,6790,6793,6796,6799,6802,6805,6808,6811,59,1,10664,59,1,10665,59,1,10666,59,1,10667,59,1,10668,59,1,10669,59,1,10670,59,1,10671,116,4,2,59,118,6821,6823,1,8735,98,4,2,59,100,6830,6832,1,8894,59,1,10653,4,2,112,116,6841,6845,104,59,1,8738,59,1,197,97,114,114,59,1,9084,4,2,103,112,6860,6865,111,110,59,1,261,102,59,3,55349,56658,4,7,59,69,97,101,105,111,112,6886,6888,6891,6897,6900,6904,6908,1,8776,59,1,10864,99,105,114,59,1,10863,59,1,8778,100,59,1,8779,115,59,1,39,114,111,120,4,2,59,101,6917,6919,1,8776,113,59,1,8778,105,110,103,5,229,1,59,6931,1,229,4,3,99,116,121,6941,6946,6949,114,59,3,55349,56502,59,1,42,109,112,4,2,59,101,6957,6959,1,8776,113,59,1,8781,105,108,100,101,5,227,1,59,6972,1,227,109,108,5,228,1,59,6981,1,228,4,2,99,105,6989,6997,111,110,105,110,116,59,1,8755,110,116,59,1,10769,4,16,78,97,98,99,100,101,102,105,107,108,110,111,112,114,115,117,7036,7041,7119,7135,7149,7155,7219,7224,7347,7354,7463,7489,7786,7793,7814,7866,111,116,59,1,10989,4,2,99,114,7047,7094,107,4,4,99,101,112,115,7058,7064,7073,7080,111,110,103,59,1,8780,112,115,105,108,111,110,59,1,1014,114,105,109,101,59,1,8245,105,109,4,2,59,101,7088,7090,1,8765,113,59,1,8909,4,2,118,119,7100,7105,101,101,59,1,8893,101,100,4,2,59,103,7113,7115,1,8965,101,59,1,8965,114,107,4,2,59,116,7127,7129,1,9141,98,114,107,59,1,9142,4,2,111,121,7141,7146,110,103,59,1,8780,59,1,1073,113,117,111,59,1,8222,4,5,99,109,112,114,116,7167,7181,7188,7193,7199,97,117,115,4,2,59,101,7176,7178,1,8757,59,1,8757,112,116,121,118,59,1,10672,115,105,59,1,1014,110,111,117,59,1,8492,4,3,97,104,119,7207,7210,7213,59,1,946,59,1,8502,101,101,110,59,1,8812,114,59,3,55349,56607,103,4,7,99,111,115,116,117,118,119,7241,7262,7288,7305,7328,7335,7340,4,3,97,105,117,7249,7253,7258,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,4,3,100,112,116,7270,7275,7281,111,116,59,1,10752,108,117,115,59,1,10753,105,109,101,115,59,1,10754,4,2,113,116,7294,7300,99,117,112,59,1,10758,97,114,59,1,9733,114,105,97,110,103,108,101,4,2,100,117,7318,7324,111,119,110,59,1,9661,112,59,1,9651,112,108,117,115,59,1,10756,101,101,59,1,8897,101,100,103,101,59,1,8896,97,114,111,119,59,1,10509,4,3,97,107,111,7362,7436,7458,4,2,99,110,7368,7432,107,4,3,108,115,116,7377,7386,7394,111,122,101,110,103,101,59,1,10731,113,117,97,114,101,59,1,9642,114,105,97,110,103,108,101,4,4,59,100,108,114,7411,7413,7419,7425,1,9652,111,119,110,59,1,9662,101,102,116,59,1,9666,105,103,104,116,59,1,9656,107,59,1,9251,4,2,49,51,7442,7454,4,2,50,52,7448,7451,59,1,9618,59,1,9617,52,59,1,9619,99,107,59,1,9608,4,2,101,111,7469,7485,4,2,59,113,7475,7478,3,61,8421,117,105,118,59,3,8801,8421,116,59,1,8976,4,4,112,116,119,120,7499,7504,7517,7523,102,59,3,55349,56659,4,2,59,116,7510,7512,1,8869,111,109,59,1,8869,116,105,101,59,1,8904,4,12,68,72,85,86,98,100,104,109,112,116,117,118,7549,7571,7597,7619,7655,7660,7682,7708,7715,7721,7728,7750,4,4,76,82,108,114,7559,7562,7565,7568,59,1,9559,59,1,9556,59,1,9558,59,1,9555,4,5,59,68,85,100,117,7583,7585,7588,7591,7594,1,9552,59,1,9574,59,1,9577,59,1,9572,59,1,9575,4,4,76,82,108,114,7607,7610,7613,7616,59,1,9565,59,1,9562,59,1,9564,59,1,9561,4,7,59,72,76,82,104,108,114,7635,7637,7640,7643,7646,7649,7652,1,9553,59,1,9580,59,1,9571,59,1,9568,59,1,9579,59,1,9570,59,1,9567,111,120,59,1,10697,4,4,76,82,108,114,7670,7673,7676,7679,59,1,9557,59,1,9554,59,1,9488,59,1,9484,4,5,59,68,85,100,117,7694,7696,7699,7702,7705,1,9472,59,1,9573,59,1,9576,59,1,9516,59,1,9524,105,110,117,115,59,1,8863,108,117,115,59,1,8862,105,109,101,115,59,1,8864,4,4,76,82,108,114,7738,7741,7744,7747,59,1,9563,59,1,9560,59,1,9496,59,1,9492,4,7,59,72,76,82,104,108,114,7766,7768,7771,7774,7777,7780,7783,1,9474,59,1,9578,59,1,9569,59,1,9566,59,1,9532,59,1,9508,59,1,9500,114,105,109,101,59,1,8245,4,2,101,118,7799,7804,118,101,59,1,728,98,97,114,5,166,1,59,7812,1,166,4,4,99,101,105,111,7824,7829,7834,7846,114,59,3,55349,56503,109,105,59,1,8271,109,4,2,59,101,7841,7843,1,8765,59,1,8909,108,4,3,59,98,104,7855,7857,7860,1,92,59,1,10693,115,117,98,59,1,10184,4,2,108,109,7872,7885,108,4,2,59,101,7879,7881,1,8226,116,59,1,8226,112,4,3,59,69,101,7894,7896,7899,1,8782,59,1,10926,4,2,59,113,7905,7907,1,8783,59,1,8783,4,15,97,99,100,101,102,104,105,108,111,114,115,116,117,119,121,7942,8021,8075,8080,8121,8126,8157,8279,8295,8430,8446,8485,8491,8707,8726,4,3,99,112,114,7950,7956,8007,117,116,101,59,1,263,4,6,59,97,98,99,100,115,7970,7972,7977,7984,7998,8003,1,8745,110,100,59,1,10820,114,99,117,112,59,1,10825,4,2,97,117,7990,7994,112,59,1,10827,112,59,1,10823,111,116,59,1,10816,59,3,8745,65024,4,2,101,111,8013,8017,116,59,1,8257,110,59,1,711,4,4,97,101,105,117,8031,8046,8056,8061,4,2,112,114,8037,8041,115,59,1,10829,111,110,59,1,269,100,105,108,5,231,1,59,8054,1,231,114,99,59,1,265,112,115,4,2,59,115,8069,8071,1,10828,109,59,1,10832,111,116,59,1,267,4,3,100,109,110,8088,8097,8104,105,108,5,184,1,59,8095,1,184,112,116,121,118,59,1,10674,116,5,162,2,59,101,8112,8114,1,162,114,100,111,116,59,1,183,114,59,3,55349,56608,4,3,99,101,105,8134,8138,8154,121,59,1,1095,99,107,4,2,59,109,8146,8148,1,10003,97,114,107,59,1,10003,59,1,967,114,4,7,59,69,99,101,102,109,115,8174,8176,8179,8258,8261,8268,8273,1,9675,59,1,10691,4,3,59,101,108,8187,8189,8193,1,710,113,59,1,8791,101,4,2,97,100,8200,8223,114,114,111,119,4,2,108,114,8210,8216,101,102,116,59,1,8634,105,103,104,116,59,1,8635,4,5,82,83,97,99,100,8235,8238,8241,8246,8252,59,1,174,59,1,9416,115,116,59,1,8859,105,114,99,59,1,8858,97,115,104,59,1,8861,59,1,8791,110,105,110,116,59,1,10768,105,100,59,1,10991,99,105,114,59,1,10690,117,98,115,4,2,59,117,8288,8290,1,9827,105,116,59,1,9827,4,4,108,109,110,112,8305,8326,8376,8400,111,110,4,2,59,101,8313,8315,1,58,4,2,59,113,8321,8323,1,8788,59,1,8788,4,2,109,112,8332,8344,97,4,2,59,116,8339,8341,1,44,59,1,64,4,3,59,102,108,8352,8354,8358,1,8705,110,59,1,8728,101,4,2,109,120,8365,8371,101,110,116,59,1,8705,101,115,59,1,8450,4,2,103,105,8382,8395,4,2,59,100,8388,8390,1,8773,111,116,59,1,10861,110,116,59,1,8750,4,3,102,114,121,8408,8412,8417,59,3,55349,56660,111,100,59,1,8720,5,169,2,59,115,8424,8426,1,169,114,59,1,8471,4,2,97,111,8436,8441,114,114,59,1,8629,115,115,59,1,10007,4,2,99,117,8452,8457,114,59,3,55349,56504,4,2,98,112,8463,8474,4,2,59,101,8469,8471,1,10959,59,1,10961,4,2,59,101,8480,8482,1,10960,59,1,10962,100,111,116,59,1,8943,4,7,100,101,108,112,114,118,119,8507,8522,8536,8550,8600,8697,8702,97,114,114,4,2,108,114,8516,8519,59,1,10552,59,1,10549,4,2,112,115,8528,8532,114,59,1,8926,99,59,1,8927,97,114,114,4,2,59,112,8545,8547,1,8630,59,1,10557,4,6,59,98,99,100,111,115,8564,8566,8573,8587,8592,8596,1,8746,114,99,97,112,59,1,10824,4,2,97,117,8579,8583,112,59,1,10822,112,59,1,10826,111,116,59,1,8845,114,59,1,10821,59,3,8746,65024,4,4,97,108,114,118,8610,8623,8663,8672,114,114,4,2,59,109,8618,8620,1,8631,59,1,10556,121,4,3,101,118,119,8632,8651,8656,113,4,2,112,115,8639,8645,114,101,99,59,1,8926,117,99,99,59,1,8927,101,101,59,1,8910,101,100,103,101,59,1,8911,101,110,5,164,1,59,8670,1,164,101,97,114,114,111,119,4,2,108,114,8684,8690,101,102,116,59,1,8630,105,103,104,116,59,1,8631,101,101,59,1,8910,101,100,59,1,8911,4,2,99,105,8713,8721,111,110,105,110,116,59,1,8754,110,116,59,1,8753,108,99,116,121,59,1,9005,4,19,65,72,97,98,99,100,101,102,104,105,106,108,111,114,115,116,117,119,122,8773,8778,8783,8821,8839,8854,8887,8914,8930,8944,9036,9041,9058,9197,9227,9258,9281,9297,9305,114,114,59,1,8659,97,114,59,1,10597,4,4,103,108,114,115,8793,8799,8805,8809,103,101,114,59,1,8224,101,116,104,59,1,8504,114,59,1,8595,104,4,2,59,118,8816,8818,1,8208,59,1,8867,4,2,107,108,8827,8834,97,114,111,119,59,1,10511,97,99,59,1,733,4,2,97,121,8845,8851,114,111,110,59,1,271,59,1,1076,4,3,59,97,111,8862,8864,8880,1,8518,4,2,103,114,8870,8876,103,101,114,59,1,8225,114,59,1,8650,116,115,101,113,59,1,10871,4,3,103,108,109,8895,8902,8907,5,176,1,59,8900,1,176,116,97,59,1,948,112,116,121,118,59,1,10673,4,2,105,114,8920,8926,115,104,116,59,1,10623,59,3,55349,56609,97,114,4,2,108,114,8938,8941,59,1,8643,59,1,8642,4,5,97,101,103,115,118,8956,8986,8989,8996,9001,109,4,3,59,111,115,8965,8967,8983,1,8900,110,100,4,2,59,115,8975,8977,1,8900,117,105,116,59,1,9830,59,1,9830,59,1,168,97,109,109,97,59,1,989,105,110,59,1,8946,4,3,59,105,111,9009,9011,9031,1,247,100,101,5,247,2,59,111,9020,9022,1,247,110,116,105,109,101,115,59,1,8903,110,120,59,1,8903,99,121,59,1,1106,99,4,2,111,114,9048,9053,114,110,59,1,8990,111,112,59,1,8973,4,5,108,112,116,117,119,9070,9076,9081,9130,9144,108,97,114,59,1,36,102,59,3,55349,56661,4,5,59,101,109,112,115,9093,9095,9109,9116,9122,1,729,113,4,2,59,100,9102,9104,1,8784,111,116,59,1,8785,105,110,117,115,59,1,8760,108,117,115,59,1,8724,113,117,97,114,101,59,1,8865,98,108,101,98,97,114,119,101,100,103,101,59,1,8966,110,4,3,97,100,104,9153,9160,9172,114,114,111,119,59,1,8595,111,119,110,97,114,114,111,119,115,59,1,8650,97,114,112,111,111,110,4,2,108,114,9184,9190,101,102,116,59,1,8643,105,103,104,116,59,1,8642,4,2,98,99,9203,9211,107,97,114,111,119,59,1,10512,4,2,111,114,9217,9222,114,110,59,1,8991,111,112,59,1,8972,4,3,99,111,116,9235,9248,9252,4,2,114,121,9241,9245,59,3,55349,56505,59,1,1109,108,59,1,10742,114,111,107,59,1,273,4,2,100,114,9264,9269,111,116,59,1,8945,105,4,2,59,102,9276,9278,1,9663,59,1,9662,4,2,97,104,9287,9292,114,114,59,1,8693,97,114,59,1,10607,97,110,103,108,101,59,1,10662,4,2,99,105,9311,9315,121,59,1,1119,103,114,97,114,114,59,1,10239,4,18,68,97,99,100,101,102,103,108,109,110,111,112,113,114,115,116,117,120,9361,9376,9398,9439,9444,9447,9462,9495,9531,9585,9598,9614,9659,9755,9771,9792,9808,9826,4,2,68,111,9367,9372,111,116,59,1,10871,116,59,1,8785,4,2,99,115,9382,9392,117,116,101,5,233,1,59,9390,1,233,116,101,114,59,1,10862,4,4,97,105,111,121,9408,9414,9430,9436,114,111,110,59,1,283,114,4,2,59,99,9421,9423,1,8790,5,234,1,59,9428,1,234,108,111,110,59,1,8789,59,1,1101,111,116,59,1,279,59,1,8519,4,2,68,114,9453,9458,111,116,59,1,8786,59,3,55349,56610,4,3,59,114,115,9470,9472,9482,1,10906,97,118,101,5,232,1,59,9480,1,232,4,2,59,100,9488,9490,1,10902,111,116,59,1,10904,4,4,59,105,108,115,9505,9507,9515,9518,1,10905,110,116,101,114,115,59,1,9191,59,1,8467,4,2,59,100,9524,9526,1,10901,111,116,59,1,10903,4,3,97,112,115,9539,9544,9564,99,114,59,1,275,116,121,4,3,59,115,118,9554,9556,9561,1,8709,101,116,59,1,8709,59,1,8709,112,4,2,49,59,9571,9583,4,2,51,52,9577,9580,59,1,8196,59,1,8197,1,8195,4,2,103,115,9591,9594,59,1,331,112,59,1,8194,4,2,103,112,9604,9609,111,110,59,1,281,102,59,3,55349,56662,4,3,97,108,115,9622,9635,9640,114,4,2,59,115,9629,9631,1,8917,108,59,1,10723,117,115,59,1,10865,105,4,3,59,108,118,9649,9651,9656,1,949,111,110,59,1,949,59,1,1013,4,4,99,115,117,118,9669,9686,9716,9747,4,2,105,111,9675,9680,114,99,59,1,8790,108,111,110,59,1,8789,4,2,105,108,9692,9696,109,59,1,8770,97,110,116,4,2,103,108,9705,9710,116,114,59,1,10902,101,115,115,59,1,10901,4,3,97,101,105,9724,9729,9734,108,115,59,1,61,115,116,59,1,8799,118,4,2,59,68,9741,9743,1,8801,68,59,1,10872,112,97,114,115,108,59,1,10725,4,2,68,97,9761,9766,111,116,59,1,8787,114,114,59,1,10609,4,3,99,100,105,9779,9783,9788,114,59,1,8495,111,116,59,1,8784,109,59,1,8770,4,2,97,104,9798,9801,59,1,951,5,240,1,59,9806,1,240,4,2,109,114,9814,9822,108,5,235,1,59,9820,1,235,111,59,1,8364,4,3,99,105,112,9834,9838,9843,108,59,1,33,115,116,59,1,8707,4,2,101,111,9849,9859,99,116,97,116,105,111,110,59,1,8496,110,101,110,116,105,97,108,101,59,1,8519,4,12,97,99,101,102,105,106,108,110,111,112,114,115,9896,9910,9914,9921,9954,9960,9967,9989,9994,10027,10036,10164,108,108,105,110,103,100,111,116,115,101,113,59,1,8786,121,59,1,1092,109,97,108,101,59,1,9792,4,3,105,108,114,9929,9935,9950,108,105,103,59,1,64259,4,2,105,108,9941,9945,103,59,1,64256,105,103,59,1,64260,59,3,55349,56611,108,105,103,59,1,64257,108,105,103,59,3,102,106,4,3,97,108,116,9975,9979,9984,116,59,1,9837,105,103,59,1,64258,110,115,59,1,9649,111,102,59,1,402,4,2,112,114,10000,10005,102,59,3,55349,56663,4,2,97,107,10011,10016,108,108,59,1,8704,4,2,59,118,10022,10024,1,8916,59,1,10969,97,114,116,105,110,116,59,1,10765,4,2,97,111,10042,10159,4,2,99,115,10048,10155,4,6,49,50,51,52,53,55,10062,10102,10114,10135,10139,10151,4,6,50,51,52,53,54,56,10076,10083,10086,10093,10096,10099,5,189,1,59,10081,1,189,59,1,8531,5,188,1,59,10091,1,188,59,1,8533,59,1,8537,59,1,8539,4,2,51,53,10108,10111,59,1,8532,59,1,8534,4,3,52,53,56,10122,10129,10132,5,190,1,59,10127,1,190,59,1,8535,59,1,8540,53,59,1,8536,4,2,54,56,10145,10148,59,1,8538,59,1,8541,56,59,1,8542,108,59,1,8260,119,110,59,1,8994,99,114,59,3,55349,56507,4,17,69,97,98,99,100,101,102,103,105,106,108,110,111,114,115,116,118,10206,10217,10247,10254,10268,10273,10358,10363,10374,10380,10385,10406,10458,10464,10470,10497,10610,4,2,59,108,10212,10214,1,8807,59,1,10892,4,3,99,109,112,10225,10231,10244,117,116,101,59,1,501,109,97,4,2,59,100,10239,10241,1,947,59,1,989,59,1,10886,114,101,118,101,59,1,287,4,2,105,121,10260,10265,114,99,59,1,285,59,1,1075,111,116,59,1,289,4,4,59,108,113,115,10283,10285,10288,10308,1,8805,59,1,8923,4,3,59,113,115,10296,10298,10301,1,8805,59,1,8807,108,97,110,116,59,1,10878,4,4,59,99,100,108,10318,10320,10324,10345,1,10878,99,59,1,10921,111,116,4,2,59,111,10332,10334,1,10880,4,2,59,108,10340,10342,1,10882,59,1,10884,4,2,59,101,10351,10354,3,8923,65024,115,59,1,10900,114,59,3,55349,56612,4,2,59,103,10369,10371,1,8811,59,1,8921,109,101,108,59,1,8503,99,121,59,1,1107,4,4,59,69,97,106,10395,10397,10400,10403,1,8823,59,1,10898,59,1,10917,59,1,10916,4,4,69,97,101,115,10416,10419,10434,10453,59,1,8809,112,4,2,59,112,10426,10428,1,10890,114,111,120,59,1,10890,4,2,59,113,10440,10442,1,10888,4,2,59,113,10448,10450,1,10888,59,1,8809,105,109,59,1,8935,112,102,59,3,55349,56664,97,118,101,59,1,96,4,2,99,105,10476,10480,114,59,1,8458,109,4,3,59,101,108,10489,10491,10494,1,8819,59,1,10894,59,1,10896,5,62,6,59,99,100,108,113,114,10512,10514,10527,10532,10538,10545,1,62,4,2,99,105,10520,10523,59,1,10919,114,59,1,10874,111,116,59,1,8919,80,97,114,59,1,10645,117,101,115,116,59,1,10876,4,5,97,100,101,108,115,10557,10574,10579,10599,10605,4,2,112,114,10563,10570,112,114,111,120,59,1,10886,114,59,1,10616,111,116,59,1,8919,113,4,2,108,113,10586,10592,101,115,115,59,1,8923,108,101,115,115,59,1,10892,101,115,115,59,1,8823,105,109,59,1,8819,4,2,101,110,10616,10626,114,116,110,101,113,113,59,3,8809,65024,69,59,3,8809,65024,4,10,65,97,98,99,101,102,107,111,115,121,10653,10658,10713,10718,10724,10760,10765,10786,10850,10875,114,114,59,1,8660,4,4,105,108,109,114,10668,10674,10678,10684,114,115,112,59,1,8202,102,59,1,189,105,108,116,59,1,8459,4,2,100,114,10690,10695,99,121,59,1,1098,4,3,59,99,119,10703,10705,10710,1,8596,105,114,59,1,10568,59,1,8621,97,114,59,1,8463,105,114,99,59,1,293,4,3,97,108,114,10732,10748,10754,114,116,115,4,2,59,117,10741,10743,1,9829,105,116,59,1,9829,108,105,112,59,1,8230,99,111,110,59,1,8889,114,59,3,55349,56613,115,4,2,101,119,10772,10779,97,114,111,119,59,1,10533,97,114,111,119,59,1,10534,4,5,97,109,111,112,114,10798,10803,10809,10839,10844,114,114,59,1,8703,116,104,116,59,1,8763,107,4,2,108,114,10816,10827,101,102,116,97,114,114,111,119,59,1,8617,105,103,104,116,97,114,114,111,119,59,1,8618,102,59,3,55349,56665,98,97,114,59,1,8213,4,3,99,108,116,10858,10863,10869,114,59,3,55349,56509,97,115,104,59,1,8463,114,111,107,59,1,295,4,2,98,112,10881,10887,117,108,108,59,1,8259,104,101,110,59,1,8208,4,15,97,99,101,102,103,105,106,109,110,111,112,113,115,116,117,10925,10936,10958,10977,10990,11001,11039,11045,11101,11192,11220,11226,11237,11285,11299,99,117,116,101,5,237,1,59,10934,1,237,4,3,59,105,121,10944,10946,10955,1,8291,114,99,5,238,1,59,10953,1,238,59,1,1080,4,2,99,120,10964,10968,121,59,1,1077,99,108,5,161,1,59,10975,1,161,4,2,102,114,10983,10986,59,1,8660,59,3,55349,56614,114,97,118,101,5,236,1,59,10999,1,236,4,4,59,105,110,111,11011,11013,11028,11034,1,8520,4,2,105,110,11019,11024,110,116,59,1,10764,116,59,1,8749,102,105,110,59,1,10716,116,97,59,1,8489,108,105,103,59,1,307,4,3,97,111,112,11053,11092,11096,4,3,99,103,116,11061,11065,11088,114,59,1,299,4,3,101,108,112,11073,11076,11082,59,1,8465,105,110,101,59,1,8464,97,114,116,59,1,8465,104,59,1,305,102,59,1,8887,101,100,59,1,437,4,5,59,99,102,111,116,11113,11115,11121,11136,11142,1,8712,97,114,101,59,1,8453,105,110,4,2,59,116,11129,11131,1,8734,105,101,59,1,10717,100,111,116,59,1,305,4,5,59,99,101,108,112,11154,11156,11161,11179,11186,1,8747,97,108,59,1,8890,4,2,103,114,11167,11173,101,114,115,59,1,8484,99,97,108,59,1,8890,97,114,104,107,59,1,10775,114,111,100,59,1,10812,4,4,99,103,112,116,11202,11206,11211,11216,121,59,1,1105,111,110,59,1,303,102,59,3,55349,56666,97,59,1,953,114,111,100,59,1,10812,117,101,115,116,5,191,1,59,11235,1,191,4,2,99,105,11243,11248,114,59,3,55349,56510,110,4,5,59,69,100,115,118,11261,11263,11266,11271,11282,1,8712,59,1,8953,111,116,59,1,8949,4,2,59,118,11277,11279,1,8948,59,1,8947,59,1,8712,4,2,59,105,11291,11293,1,8290,108,100,101,59,1,297,4,2,107,109,11305,11310,99,121,59,1,1110,108,5,239,1,59,11316,1,239,4,6,99,102,109,111,115,117,11332,11346,11351,11357,11363,11380,4,2,105,121,11338,11343,114,99,59,1,309,59,1,1081,114,59,3,55349,56615,97,116,104,59,1,567,112,102,59,3,55349,56667,4,2,99,101,11369,11374,114,59,3,55349,56511,114,99,121,59,1,1112,107,99,121,59,1,1108,4,8,97,99,102,103,104,106,111,115,11404,11418,11433,11438,11445,11450,11455,11461,112,112,97,4,2,59,118,11413,11415,1,954,59,1,1008,4,2,101,121,11424,11430,100,105,108,59,1,311,59,1,1082,114,59,3,55349,56616,114,101,101,110,59,1,312,99,121,59,1,1093,99,121,59,1,1116,112,102,59,3,55349,56668,99,114,59,3,55349,56512,4,23,65,66,69,72,97,98,99,100,101,102,103,104,106,108,109,110,111,112,114,115,116,117,118,11515,11538,11544,11555,11560,11721,11780,11818,11868,12136,12160,12171,12203,12208,12246,12275,12327,12509,12523,12569,12641,12732,12752,4,3,97,114,116,11523,11528,11532,114,114,59,1,8666,114,59,1,8656,97,105,108,59,1,10523,97,114,114,59,1,10510,4,2,59,103,11550,11552,1,8806,59,1,10891,97,114,59,1,10594,4,9,99,101,103,109,110,112,113,114,116,11580,11586,11594,11600,11606,11624,11627,11636,11694,117,116,101,59,1,314,109,112,116,121,118,59,1,10676,114,97,110,59,1,8466,98,100,97,59,1,955,103,4,3,59,100,108,11615,11617,11620,1,10216,59,1,10641,101,59,1,10216,59,1,10885,117,111,5,171,1,59,11634,1,171,114,4,8,59,98,102,104,108,112,115,116,11655,11657,11669,11673,11677,11681,11685,11690,1,8592,4,2,59,102,11663,11665,1,8676,115,59,1,10527,115,59,1,10525,107,59,1,8617,112,59,1,8619,108,59,1,10553,105,109,59,1,10611,108,59,1,8610,4,3,59,97,101,11702,11704,11709,1,10923,105,108,59,1,10521,4,2,59,115,11715,11717,1,10925,59,3,10925,65024,4,3,97,98,114,11729,11734,11739,114,114,59,1,10508,114,107,59,1,10098,4,2,97,107,11745,11758,99,4,2,101,107,11752,11755,59,1,123,59,1,91,4,2,101,115,11764,11767,59,1,10635,108,4,2,100,117,11774,11777,59,1,10639,59,1,10637,4,4,97,101,117,121,11790,11796,11811,11815,114,111,110,59,1,318,4,2,100,105,11802,11807,105,108,59,1,316,108,59,1,8968,98,59,1,123,59,1,1083,4,4,99,113,114,115,11828,11832,11845,11864,97,59,1,10550,117,111,4,2,59,114,11840,11842,1,8220,59,1,8222,4,2,100,117,11851,11857,104,97,114,59,1,10599,115,104,97,114,59,1,10571,104,59,1,8626,4,5,59,102,103,113,115,11880,11882,12008,12011,12031,1,8804,116,4,5,97,104,108,114,116,11895,11913,11935,11947,11996,114,114,111,119,4,2,59,116,11905,11907,1,8592,97,105,108,59,1,8610,97,114,112,111,111,110,4,2,100,117,11925,11931,111,119,110,59,1,8637,112,59,1,8636,101,102,116,97,114,114,111,119,115,59,1,8647,105,103,104,116,4,3,97,104,115,11959,11974,11984,114,114,111,119,4,2,59,115,11969,11971,1,8596,59,1,8646,97,114,112,111,111,110,115,59,1,8651,113,117,105,103,97,114,114,111,119,59,1,8621,104,114,101,101,116,105,109,101,115,59,1,8907,59,1,8922,4,3,59,113,115,12019,12021,12024,1,8804,59,1,8806,108,97,110,116,59,1,10877,4,5,59,99,100,103,115,12043,12045,12049,12070,12083,1,10877,99,59,1,10920,111,116,4,2,59,111,12057,12059,1,10879,4,2,59,114,12065,12067,1,10881,59,1,10883,4,2,59,101,12076,12079,3,8922,65024,115,59,1,10899,4,5,97,100,101,103,115,12095,12103,12108,12126,12131,112,112,114,111,120,59,1,10885,111,116,59,1,8918,113,4,2,103,113,12115,12120,116,114,59,1,8922,103,116,114,59,1,10891,116,114,59,1,8822,105,109,59,1,8818,4,3,105,108,114,12144,12150,12156,115,104,116,59,1,10620,111,111,114,59,1,8970,59,3,55349,56617,4,2,59,69,12166,12168,1,8822,59,1,10897,4,2,97,98,12177,12198,114,4,2,100,117,12184,12187,59,1,8637,4,2,59,108,12193,12195,1,8636,59,1,10602,108,107,59,1,9604,99,121,59,1,1113,4,5,59,97,99,104,116,12220,12222,12227,12235,12241,1,8810,114,114,59,1,8647,111,114,110,101,114,59,1,8990,97,114,100,59,1,10603,114,105,59,1,9722,4,2,105,111,12252,12258,100,111,116,59,1,320,117,115,116,4,2,59,97,12267,12269,1,9136,99,104,101,59,1,9136,4,4,69,97,101,115,12285,12288,12303,12322,59,1,8808,112,4,2,59,112,12295,12297,1,10889,114,111,120,59,1,10889,4,2,59,113,12309,12311,1,10887,4,2,59,113,12317,12319,1,10887,59,1,8808,105,109,59,1,8934,4,8,97,98,110,111,112,116,119,122,12345,12359,12364,12421,12446,12467,12474,12490,4,2,110,114,12351,12355,103,59,1,10220,114,59,1,8701,114,107,59,1,10214,103,4,3,108,109,114,12373,12401,12409,101,102,116,4,2,97,114,12382,12389,114,114,111,119,59,1,10229,105,103,104,116,97,114,114,111,119,59,1,10231,97,112,115,116,111,59,1,10236,105,103,104,116,97,114,114,111,119,59,1,10230,112,97,114,114,111,119,4,2,108,114,12433,12439,101,102,116,59,1,8619,105,103,104,116,59,1,8620,4,3,97,102,108,12454,12458,12462,114,59,1,10629,59,3,55349,56669,117,115,59,1,10797,105,109,101,115,59,1,10804,4,2,97,98,12480,12485,115,116,59,1,8727,97,114,59,1,95,4,3,59,101,102,12498,12500,12506,1,9674,110,103,101,59,1,9674,59,1,10731,97,114,4,2,59,108,12517,12519,1,40,116,59,1,10643,4,5,97,99,104,109,116,12535,12540,12548,12561,12564,114,114,59,1,8646,111,114,110,101,114,59,1,8991,97,114,4,2,59,100,12556,12558,1,8651,59,1,10605,59,1,8206,114,105,59,1,8895,4,6,97,99,104,105,113,116,12583,12589,12594,12597,12614,12635,113,117,111,59,1,8249,114,59,3,55349,56513,59,1,8624,109,4,3,59,101,103,12606,12608,12611,1,8818,59,1,10893,59,1,10895,4,2,98,117,12620,12623,59,1,91,111,4,2,59,114,12630,12632,1,8216,59,1,8218,114,111,107,59,1,322,5,60,8,59,99,100,104,105,108,113,114,12660,12662,12675,12680,12686,12692,12698,12705,1,60,4,2,99,105,12668,12671,59,1,10918,114,59,1,10873,111,116,59,1,8918,114,101,101,59,1,8907,109,101,115,59,1,8905,97,114,114,59,1,10614,117,101,115,116,59,1,10875,4,2,80,105,12711,12716,97,114,59,1,10646,4,3,59,101,102,12724,12726,12729,1,9667,59,1,8884,59,1,9666,114,4,2,100,117,12739,12746,115,104,97,114,59,1,10570,104,97,114,59,1,10598,4,2,101,110,12758,12768,114,116,110,101,113,113,59,3,8808,65024,69,59,3,8808,65024,4,14,68,97,99,100,101,102,104,105,108,110,111,112,115,117,12803,12809,12893,12908,12914,12928,12933,12937,13011,13025,13032,13049,13052,13069,68,111,116,59,1,8762,4,4,99,108,112,114,12819,12827,12849,12887,114,5,175,1,59,12825,1,175,4,2,101,116,12833,12836,59,1,9794,4,2,59,101,12842,12844,1,10016,115,101,59,1,10016,4,2,59,115,12855,12857,1,8614,116,111,4,4,59,100,108,117,12869,12871,12877,12883,1,8614,111,119,110,59,1,8615,101,102,116,59,1,8612,112,59,1,8613,107,101,114,59,1,9646,4,2,111,121,12899,12905,109,109,97,59,1,10793,59,1,1084,97,115,104,59,1,8212,97,115,117,114,101,100,97,110,103,108,101,59,1,8737,114,59,3,55349,56618,111,59,1,8487,4,3,99,100,110,12945,12954,12985,114,111,5,181,1,59,12952,1,181,4,4,59,97,99,100,12964,12966,12971,12976,1,8739,115,116,59,1,42,105,114,59,1,10992,111,116,5,183,1,59,12983,1,183,117,115,4,3,59,98,100,12995,12997,13000,1,8722,59,1,8863,4,2,59,117,13006,13008,1,8760,59,1,10794,4,2,99,100,13017,13021,112,59,1,10971,114,59,1,8230,112,108,117,115,59,1,8723,4,2,100,112,13038,13044,101,108,115,59,1,8871,102,59,3,55349,56670,59,1,8723,4,2,99,116,13058,13063,114,59,3,55349,56514,112,111,115,59,1,8766,4,3,59,108,109,13077,13079,13087,1,956,116,105,109,97,112,59,1,8888,97,112,59,1,8888,4,24,71,76,82,86,97,98,99,100,101,102,103,104,105,106,108,109,111,112,114,115,116,117,118,119,13142,13165,13217,13229,13247,13330,13359,13414,13420,13508,13513,13579,13602,13626,13631,13762,13767,13855,13936,13995,14214,14285,14312,14432,4,2,103,116,13148,13152,59,3,8921,824,4,2,59,118,13158,13161,3,8811,8402,59,3,8811,824,4,3,101,108,116,13173,13200,13204,102,116,4,2,97,114,13181,13188,114,114,111,119,59,1,8653,105,103,104,116,97,114,114,111,119,59,1,8654,59,3,8920,824,4,2,59,118,13210,13213,3,8810,8402,59,3,8810,824,105,103,104,116,97,114,114,111,119,59,1,8655,4,2,68,100,13235,13241,97,115,104,59,1,8879,97,115,104,59,1,8878,4,5,98,99,110,112,116,13259,13264,13270,13275,13308,108,97,59,1,8711,117,116,101,59,1,324,103,59,3,8736,8402,4,5,59,69,105,111,112,13287,13289,13293,13298,13302,1,8777,59,3,10864,824,100,59,3,8779,824,115,59,1,329,114,111,120,59,1,8777,117,114,4,2,59,97,13316,13318,1,9838,108,4,2,59,115,13325,13327,1,9838,59,1,8469,4,2,115,117,13336,13344,112,5,160,1,59,13342,1,160,109,112,4,2,59,101,13352,13355,3,8782,824,59,3,8783,824,4,5,97,101,111,117,121,13371,13385,13391,13407,13411,4,2,112,114,13377,13380,59,1,10819,111,110,59,1,328,100,105,108,59,1,326,110,103,4,2,59,100,13399,13401,1,8775,111,116,59,3,10861,824,112,59,1,10818,59,1,1085,97,115,104,59,1,8211,4,7,59,65,97,100,113,115,120,13436,13438,13443,13466,13472,13478,13494,1,8800,114,114,59,1,8663,114,4,2,104,114,13450,13454,107,59,1,10532,4,2,59,111,13460,13462,1,8599,119,59,1,8599,111,116,59,3,8784,824,117,105,118,59,1,8802,4,2,101,105,13484,13489,97,114,59,1,10536,109,59,3,8770,824,105,115,116,4,2,59,115,13503,13505,1,8708,59,1,8708,114,59,3,55349,56619,4,4,69,101,115,116,13523,13527,13563,13568,59,3,8807,824,4,3,59,113,115,13535,13537,13559,1,8817,4,3,59,113,115,13545,13547,13551,1,8817,59,3,8807,824,108,97,110,116,59,3,10878,824,59,3,10878,824,105,109,59,1,8821,4,2,59,114,13574,13576,1,8815,59,1,8815,4,3,65,97,112,13587,13592,13597,114,114,59,1,8654,114,114,59,1,8622,97,114,59,1,10994,4,3,59,115,118,13610,13612,13623,1,8715,4,2,59,100,13618,13620,1,8956,59,1,8954,59,1,8715,99,121,59,1,1114,4,7,65,69,97,100,101,115,116,13647,13652,13656,13661,13665,13737,13742,114,114,59,1,8653,59,3,8806,824,114,114,59,1,8602,114,59,1,8229,4,4,59,102,113,115,13675,13677,13703,13725,1,8816,116,4,2,97,114,13684,13691,114,114,111,119,59,1,8602,105,103,104,116,97,114,114,111,119,59,1,8622,4,3,59,113,115,13711,13713,13717,1,8816,59,3,8806,824,108,97,110,116,59,3,10877,824,4,2,59,115,13731,13734,3,10877,824,59,1,8814,105,109,59,1,8820,4,2,59,114,13748,13750,1,8814,105,4,2,59,101,13757,13759,1,8938,59,1,8940,105,100,59,1,8740,4,2,112,116,13773,13778,102,59,3,55349,56671,5,172,3,59,105,110,13787,13789,13829,1,172,110,4,4,59,69,100,118,13800,13802,13806,13812,1,8713,59,3,8953,824,111,116,59,3,8949,824,4,3,97,98,99,13820,13823,13826,59,1,8713,59,1,8951,59,1,8950,105,4,2,59,118,13836,13838,1,8716,4,3,97,98,99,13846,13849,13852,59,1,8716,59,1,8958,59,1,8957,4,3,97,111,114,13863,13892,13899,114,4,4,59,97,115,116,13874,13876,13883,13888,1,8742,108,108,101,108,59,1,8742,108,59,3,11005,8421,59,3,8706,824,108,105,110,116,59,1,10772,4,3,59,99,101,13907,13909,13914,1,8832,117,101,59,1,8928,4,2,59,99,13920,13923,3,10927,824,4,2,59,101,13929,13931,1,8832,113,59,3,10927,824,4,4,65,97,105,116,13946,13951,13971,13982,114,114,59,1,8655,114,114,4,3,59,99,119,13961,13963,13967,1,8603,59,3,10547,824,59,3,8605,824,103,104,116,97,114,114,111,119,59,1,8603,114,105,4,2,59,101,13990,13992,1,8939,59,1,8941,4,7,99,104,105,109,112,113,117,14011,14036,14060,14080,14085,14090,14106,4,4,59,99,101,114,14021,14023,14028,14032,1,8833,117,101,59,1,8929,59,3,10928,824,59,3,55349,56515,111,114,116,4,2,109,112,14045,14050,105,100,59,1,8740,97,114,97,108,108,101,108,59,1,8742,109,4,2,59,101,14067,14069,1,8769,4,2,59,113,14075,14077,1,8772,59,1,8772,105,100,59,1,8740,97,114,59,1,8742,115,117,4,2,98,112,14098,14102,101,59,1,8930,101,59,1,8931,4,3,98,99,112,14114,14157,14171,4,4,59,69,101,115,14124,14126,14130,14133,1,8836,59,3,10949,824,59,1,8840,101,116,4,2,59,101,14141,14144,3,8834,8402,113,4,2,59,113,14151,14153,1,8840,59,3,10949,824,99,4,2,59,101,14164,14166,1,8833,113,59,3,10928,824,4,4,59,69,101,115,14181,14183,14187,14190,1,8837,59,3,10950,824,59,1,8841,101,116,4,2,59,101,14198,14201,3,8835,8402,113,4,2,59,113,14208,14210,1,8841,59,3,10950,824,4,4,103,105,108,114,14224,14228,14238,14242,108,59,1,8825,108,100,101,5,241,1,59,14236,1,241,103,59,1,8824,105,97,110,103,108,101,4,2,108,114,14254,14269,101,102,116,4,2,59,101,14263,14265,1,8938,113,59,1,8940,105,103,104,116,4,2,59,101,14279,14281,1,8939,113,59,1,8941,4,2,59,109,14291,14293,1,957,4,3,59,101,115,14301,14303,14308,1,35,114,111,59,1,8470,112,59,1,8199,4,9,68,72,97,100,103,105,108,114,115,14332,14338,14344,14349,14355,14369,14376,14408,14426,97,115,104,59,1,8877,97,114,114,59,1,10500,112,59,3,8781,8402,97,115,104,59,1,8876,4,2,101,116,14361,14365,59,3,8805,8402,59,3,62,8402,110,102,105,110,59,1,10718,4,3,65,101,116,14384,14389,14393,114,114,59,1,10498,59,3,8804,8402,4,2,59,114,14399,14402,3,60,8402,105,101,59,3,8884,8402,4,2,65,116,14414,14419,114,114,59,1,10499,114,105,101,59,3,8885,8402,105,109,59,3,8764,8402,4,3,65,97,110,14440,14445,14468,114,114,59,1,8662,114,4,2,104,114,14452,14456,107,59,1,10531,4,2,59,111,14462,14464,1,8598,119,59,1,8598,101,97,114,59,1,10535,4,18,83,97,99,100,101,102,103,104,105,108,109,111,112,114,115,116,117,118,14512,14515,14535,14560,14597,14603,14618,14643,14657,14662,14701,14741,14747,14769,14851,14877,14907,14916,59,1,9416,4,2,99,115,14521,14531,117,116,101,5,243,1,59,14529,1,243,116,59,1,8859,4,2,105,121,14541,14557,114,4,2,59,99,14548,14550,1,8858,5,244,1,59,14555,1,244,59,1,1086,4,5,97,98,105,111,115,14572,14577,14583,14587,14591,115,104,59,1,8861,108,97,99,59,1,337,118,59,1,10808,116,59,1,8857,111,108,100,59,1,10684,108,105,103,59,1,339,4,2,99,114,14609,14614,105,114,59,1,10687,59,3,55349,56620,4,3,111,114,116,14626,14630,14640,110,59,1,731,97,118,101,5,242,1,59,14638,1,242,59,1,10689,4,2,98,109,14649,14654,97,114,59,1,10677,59,1,937,110,116,59,1,8750,4,4,97,99,105,116,14672,14677,14693,14698,114,114,59,1,8634,4,2,105,114,14683,14687,114,59,1,10686,111,115,115,59,1,10683,110,101,59,1,8254,59,1,10688,4,3,97,101,105,14709,14714,14719,99,114,59,1,333,103,97,59,1,969,4,3,99,100,110,14727,14733,14736,114,111,110,59,1,959,59,1,10678,117,115,59,1,8854,112,102,59,3,55349,56672,4,3,97,101,108,14755,14759,14764,114,59,1,10679,114,112,59,1,10681,117,115,59,1,8853,4,7,59,97,100,105,111,115,118,14785,14787,14792,14831,14837,14841,14848,1,8744,114,114,59,1,8635,4,4,59,101,102,109,14802,14804,14817,14824,1,10845,114,4,2,59,111,14811,14813,1,8500,102,59,1,8500,5,170,1,59,14822,1,170,5,186,1,59,14829,1,186,103,111,102,59,1,8886,114,59,1,10838,108,111,112,101,59,1,10839,59,1,10843,4,3,99,108,111,14859,14863,14873,114,59,1,8500,97,115,104,5,248,1,59,14871,1,248,108,59,1,8856,105,4,2,108,109,14884,14893,100,101,5,245,1,59,14891,1,245,101,115,4,2,59,97,14901,14903,1,8855,115,59,1,10806,109,108,5,246,1,59,14914,1,246,98,97,114,59,1,9021,4,12,97,99,101,102,104,105,108,109,111,114,115,117,14948,14992,14996,15033,15038,15068,15090,15189,15192,15222,15427,15441,114,4,4,59,97,115,116,14959,14961,14976,14989,1,8741,5,182,2,59,108,14968,14970,1,182,108,101,108,59,1,8741,4,2,105,108,14982,14986,109,59,1,10995,59,1,11005,59,1,8706,121,59,1,1087,114,4,5,99,105,109,112,116,15009,15014,15019,15024,15027,110,116,59,1,37,111,100,59,1,46,105,108,59,1,8240,59,1,8869,101,110,107,59,1,8241,114,59,3,55349,56621,4,3,105,109,111,15046,15057,15063,4,2,59,118,15052,15054,1,966,59,1,981,109,97,116,59,1,8499,110,101,59,1,9742,4,3,59,116,118,15076,15078,15087,1,960,99,104,102,111,114,107,59,1,8916,59,1,982,4,2,97,117,15096,15119,110,4,2,99,107,15103,15115,107,4,2,59,104,15110,15112,1,8463,59,1,8462,118,59,1,8463,115,4,9,59,97,98,99,100,101,109,115,116,15140,15142,15148,15151,15156,15168,15171,15179,15184,1,43,99,105,114,59,1,10787,59,1,8862,105,114,59,1,10786,4,2,111,117,15162,15165,59,1,8724,59,1,10789,59,1,10866,110,5,177,1,59,15177,1,177,105,109,59,1,10790,119,111,59,1,10791,59,1,177,4,3,105,112,117,15200,15208,15213,110,116,105,110,116,59,1,10773,102,59,3,55349,56673,110,100,5,163,1,59,15220,1,163,4,10,59,69,97,99,101,105,110,111,115,117,15244,15246,15249,15253,15258,15334,15347,15367,15416,15421,1,8826,59,1,10931,112,59,1,10935,117,101,59,1,8828,4,2,59,99,15264,15266,1,10927,4,6,59,97,99,101,110,115,15280,15282,15290,15299,15303,15329,1,8826,112,112,114,111,120,59,1,10935,117,114,108,121,101,113,59,1,8828,113,59,1,10927,4,3,97,101,115,15311,15319,15324,112,112,114,111,120,59,1,10937,113,113,59,1,10933,105,109,59,1,8936,105,109,59,1,8830,109,101,4,2,59,115,15342,15344,1,8242,59,1,8473,4,3,69,97,115,15355,15358,15362,59,1,10933,112,59,1,10937,105,109,59,1,8936,4,3,100,102,112,15375,15378,15404,59,1,8719,4,3,97,108,115,15386,15392,15398,108,97,114,59,1,9006,105,110,101,59,1,8978,117,114,102,59,1,8979,4,2,59,116,15410,15412,1,8733,111,59,1,8733,105,109,59,1,8830,114,101,108,59,1,8880,4,2,99,105,15433,15438,114,59,3,55349,56517,59,1,968,110,99,115,112,59,1,8200,4,6,102,105,111,112,115,117,15462,15467,15472,15478,15485,15491,114,59,3,55349,56622,110,116,59,1,10764,112,102,59,3,55349,56674,114,105,109,101,59,1,8279,99,114,59,3,55349,56518,4,3,97,101,111,15499,15520,15534,116,4,2,101,105,15506,15515,114,110,105,111,110,115,59,1,8461,110,116,59,1,10774,115,116,4,2,59,101,15528,15530,1,63,113,59,1,8799,116,5,34,1,59,15540,1,34,4,21,65,66,72,97,98,99,100,101,102,104,105,108,109,110,111,112,114,115,116,117,120,15586,15609,15615,15620,15796,15855,15893,15931,15977,16001,16039,16183,16204,16222,16228,16285,16312,16318,16363,16408,16416,4,3,97,114,116,15594,15599,15603,114,114,59,1,8667,114,59,1,8658,97,105,108,59,1,10524,97,114,114,59,1,10511,97,114,59,1,10596,4,7,99,100,101,110,113,114,116,15636,15651,15656,15664,15687,15696,15770,4,2,101,117,15642,15646,59,3,8765,817,116,101,59,1,341,105,99,59,1,8730,109,112,116,121,118,59,1,10675,103,4,4,59,100,101,108,15675,15677,15680,15683,1,10217,59,1,10642,59,1,10661,101,59,1,10217,117,111,5,187,1,59,15694,1,187,114,4,11,59,97,98,99,102,104,108,112,115,116,119,15721,15723,15727,15739,15742,15746,15750,15754,15758,15763,15767,1,8594,112,59,1,10613,4,2,59,102,15733,15735,1,8677,115,59,1,10528,59,1,10547,115,59,1,10526,107,59,1,8618,112,59,1,8620,108,59,1,10565,105,109,59,1,10612,108,59,1,8611,59,1,8605,4,2,97,105,15776,15781,105,108,59,1,10522,111,4,2,59,110,15788,15790,1,8758,97,108,115,59,1,8474,4,3,97,98,114,15804,15809,15814,114,114,59,1,10509,114,107,59,1,10099,4,2,97,107,15820,15833,99,4,2,101,107,15827,15830,59,1,125,59,1,93,4,2,101,115,15839,15842,59,1,10636,108,4,2,100,117,15849,15852,59,1,10638,59,1,10640,4,4,97,101,117,121,15865,15871,15886,15890,114,111,110,59,1,345,4,2,100,105,15877,15882,105,108,59,1,343,108,59,1,8969,98,59,1,125,59,1,1088,4,4,99,108,113,115,15903,15907,15914,15927,97,59,1,10551,100,104,97,114,59,1,10601,117,111,4,2,59,114,15922,15924,1,8221,59,1,8221,104,59,1,8627,4,3,97,99,103,15939,15966,15970,108,4,4,59,105,112,115,15950,15952,15957,15963,1,8476,110,101,59,1,8475,97,114,116,59,1,8476,59,1,8477,116,59,1,9645,5,174,1,59,15975,1,174,4,3,105,108,114,15985,15991,15997,115,104,116,59,1,10621,111,111,114,59,1,8971,59,3,55349,56623,4,2,97,111,16007,16028,114,4,2,100,117,16014,16017,59,1,8641,4,2,59,108,16023,16025,1,8640,59,1,10604,4,2,59,118,16034,16036,1,961,59,1,1009,4,3,103,110,115,16047,16167,16171,104,116,4,6,97,104,108,114,115,116,16063,16081,16103,16130,16143,16155,114,114,111,119,4,2,59,116,16073,16075,1,8594,97,105,108,59,1,8611,97,114,112,111,111,110,4,2,100,117,16093,16099,111,119,110,59,1,8641,112,59,1,8640,101,102,116,4,2,97,104,16112,16120,114,114,111,119,115,59,1,8644,97,114,112,111,111,110,115,59,1,8652,105,103,104,116,97,114,114,111,119,115,59,1,8649,113,117,105,103,97,114,114,111,119,59,1,8605,104,114,101,101,116,105,109,101,115,59,1,8908,103,59,1,730,105,110,103,100,111,116,115,101,113,59,1,8787,4,3,97,104,109,16191,16196,16201,114,114,59,1,8644,97,114,59,1,8652,59,1,8207,111,117,115,116,4,2,59,97,16214,16216,1,9137,99,104,101,59,1,9137,109,105,100,59,1,10990,4,4,97,98,112,116,16238,16252,16257,16278,4,2,110,114,16244,16248,103,59,1,10221,114,59,1,8702,114,107,59,1,10215,4,3,97,102,108,16265,16269,16273,114,59,1,10630,59,3,55349,56675,117,115,59,1,10798,105,109,101,115,59,1,10805,4,2,97,112,16291,16304,114,4,2,59,103,16298,16300,1,41,116,59,1,10644,111,108,105,110,116,59,1,10770,97,114,114,59,1,8649,4,4,97,99,104,113,16328,16334,16339,16342,113,117,111,59,1,8250,114,59,3,55349,56519,59,1,8625,4,2,98,117,16348,16351,59,1,93,111,4,2,59,114,16358,16360,1,8217,59,1,8217,4,3,104,105,114,16371,16377,16383,114,101,101,59,1,8908,109,101,115,59,1,8906,105,4,4,59,101,102,108,16394,16396,16399,16402,1,9657,59,1,8885,59,1,9656,116,114,105,59,1,10702,108,117,104,97,114,59,1,10600,59,1,8478,4,19,97,98,99,100,101,102,104,105,108,109,111,112,113,114,115,116,117,119,122,16459,16466,16472,16572,16590,16672,16687,16746,16844,16850,16924,16963,16988,17115,17121,17154,17206,17614,17656,99,117,116,101,59,1,347,113,117,111,59,1,8218,4,10,59,69,97,99,101,105,110,112,115,121,16494,16496,16499,16513,16518,16531,16536,16556,16564,16569,1,8827,59,1,10932,4,2,112,114,16505,16508,59,1,10936,111,110,59,1,353,117,101,59,1,8829,4,2,59,100,16524,16526,1,10928,105,108,59,1,351,114,99,59,1,349,4,3,69,97,115,16544,16547,16551,59,1,10934,112,59,1,10938,105,109,59,1,8937,111,108,105,110,116,59,1,10771,105,109,59,1,8831,59,1,1089,111,116,4,3,59,98,101,16582,16584,16587,1,8901,59,1,8865,59,1,10854,4,7,65,97,99,109,115,116,120,16606,16611,16634,16642,16646,16652,16668,114,114,59,1,8664,114,4,2,104,114,16618,16622,107,59,1,10533,4,2,59,111,16628,16630,1,8600,119,59,1,8600,116,5,167,1,59,16640,1,167,105,59,1,59,119,97,114,59,1,10537,109,4,2,105,110,16659,16665,110,117,115,59,1,8726,59,1,8726,116,59,1,10038,114,4,2,59,111,16679,16682,3,55349,56624,119,110,59,1,8994,4,4,97,99,111,121,16697,16702,16716,16739,114,112,59,1,9839,4,2,104,121,16708,16713,99,121,59,1,1097,59,1,1096,114,116,4,2,109,112,16724,16729,105,100,59,1,8739,97,114,97,108,108,101,108,59,1,8741,5,173,1,59,16744,1,173,4,2,103,109,16752,16770,109,97,4,3,59,102,118,16762,16764,16767,1,963,59,1,962,59,1,962,4,8,59,100,101,103,108,110,112,114,16788,16790,16795,16806,16817,16828,16832,16838,1,8764,111,116,59,1,10858,4,2,59,113,16801,16803,1,8771,59,1,8771,4,2,59,69,16812,16814,1,10910,59,1,10912,4,2,59,69,16823,16825,1,10909,59,1,10911,101,59,1,8774,108,117,115,59,1,10788,97,114,114,59,1,10610,97,114,114,59,1,8592,4,4,97,101,105,116,16860,16883,16891,16904,4,2,108,115,16866,16878,108,115,101,116,109,105,110,117,115,59,1,8726,104,112,59,1,10803,112,97,114,115,108,59,1,10724,4,2,100,108,16897,16900,59,1,8739,101,59,1,8995,4,2,59,101,16910,16912,1,10922,4,2,59,115,16918,16920,1,10924,59,3,10924,65024,4,3,102,108,112,16932,16938,16958,116,99,121,59,1,1100,4,2,59,98,16944,16946,1,47,4,2,59,97,16952,16954,1,10692,114,59,1,9023,102,59,3,55349,56676,97,4,2,100,114,16970,16985,101,115,4,2,59,117,16978,16980,1,9824,105,116,59,1,9824,59,1,8741,4,3,99,115,117,16996,17028,17089,4,2,97,117,17002,17015,112,4,2,59,115,17009,17011,1,8851,59,3,8851,65024,112,4,2,59,115,17022,17024,1,8852,59,3,8852,65024,117,4,2,98,112,17035,17062,4,3,59,101,115,17043,17045,17048,1,8847,59,1,8849,101,116,4,2,59,101,17056,17058,1,8847,113,59,1,8849,4,3,59,101,115,17070,17072,17075,1,8848,59,1,8850,101,116,4,2,59,101,17083,17085,1,8848,113,59,1,8850,4,3,59,97,102,17097,17099,17112,1,9633,114,4,2,101,102,17106,17109,59,1,9633,59,1,9642,59,1,9642,97,114,114,59,1,8594,4,4,99,101,109,116,17131,17136,17142,17148,114,59,3,55349,56520,116,109,110,59,1,8726,105,108,101,59,1,8995,97,114,102,59,1,8902,4,2,97,114,17160,17172,114,4,2,59,102,17167,17169,1,9734,59,1,9733,4,2,97,110,17178,17202,105,103,104,116,4,2,101,112,17188,17197,112,115,105,108,111,110,59,1,1013,104,105,59,1,981,115,59,1,175,4,5,98,99,109,110,112,17218,17351,17420,17423,17427,4,9,59,69,100,101,109,110,112,114,115,17238,17240,17243,17248,17261,17267,17279,17285,17291,1,8834,59,1,10949,111,116,59,1,10941,4,2,59,100,17254,17256,1,8838,111,116,59,1,10947,117,108,116,59,1,10945,4,2,69,101,17273,17276,59,1,10955,59,1,8842,108,117,115,59,1,10943,97,114,114,59,1,10617,4,3,101,105,117,17299,17335,17339,116,4,3,59,101,110,17308,17310,17322,1,8834,113,4,2,59,113,17317,17319,1,8838,59,1,10949,101,113,4,2,59,113,17330,17332,1,8842,59,1,10955,109,59,1,10951,4,2,98,112,17345,17348,59,1,10965,59,1,10963,99,4,6,59,97,99,101,110,115,17366,17368,17376,17385,17389,17415,1,8827,112,112,114,111,120,59,1,10936,117,114,108,121,101,113,59,1,8829,113,59,1,10928,4,3,97,101,115,17397,17405,17410,112,112,114,111,120,59,1,10938,113,113,59,1,10934,105,109,59,1,8937,105,109,59,1,8831,59,1,8721,103,59,1,9834,4,13,49,50,51,59,69,100,101,104,108,109,110,112,115,17455,17462,17469,17476,17478,17481,17496,17509,17524,17530,17536,17548,17554,5,185,1,59,17460,1,185,5,178,1,59,17467,1,178,5,179,1,59,17474,1,179,1,8835,59,1,10950,4,2,111,115,17487,17491,116,59,1,10942,117,98,59,1,10968,4,2,59,100,17502,17504,1,8839,111,116,59,1,10948,115,4,2,111,117,17516,17520,108,59,1,10185,98,59,1,10967,97,114,114,59,1,10619,117,108,116,59,1,10946,4,2,69,101,17542,17545,59,1,10956,59,1,8843,108,117,115,59,1,10944,4,3,101,105,117,17562,17598,17602,116,4,3,59,101,110,17571,17573,17585,1,8835,113,4,2,59,113,17580,17582,1,8839,59,1,10950,101,113,4,2,59,113,17593,17595,1,8843,59,1,10956,109,59,1,10952,4,2,98,112,17608,17611,59,1,10964,59,1,10966,4,3,65,97,110,17622,17627,17650,114,114,59,1,8665,114,4,2,104,114,17634,17638,107,59,1,10534,4,2,59,111,17644,17646,1,8601,119,59,1,8601,119,97,114,59,1,10538,108,105,103,5,223,1,59,17664,1,223,4,13,97,98,99,100,101,102,104,105,111,112,114,115,119,17694,17709,17714,17737,17742,17749,17754,17860,17905,17957,17964,18090,18122,4,2,114,117,17700,17706,103,101,116,59,1,8982,59,1,964,114,107,59,1,9140,4,3,97,101,121,17722,17728,17734,114,111,110,59,1,357,100,105,108,59,1,355,59,1,1090,111,116,59,1,8411,108,114,101,99,59,1,8981,114,59,3,55349,56625,4,4,101,105,107,111,17764,17805,17836,17851,4,2,114,116,17770,17786,101,4,2,52,102,17777,17780,59,1,8756,111,114,101,59,1,8756,97,4,3,59,115,118,17795,17797,17802,1,952,121,109,59,1,977,59,1,977,4,2,99,110,17811,17831,107,4,2,97,115,17818,17826,112,112,114,111,120,59,1,8776,105,109,59,1,8764,115,112,59,1,8201,4,2,97,115,17842,17846,112,59,1,8776,105,109,59,1,8764,114,110,5,254,1,59,17858,1,254,4,3,108,109,110,17868,17873,17901,100,101,59,1,732,101,115,5,215,3,59,98,100,17884,17886,17898,1,215,4,2,59,97,17892,17894,1,8864,114,59,1,10801,59,1,10800,116,59,1,8749,4,3,101,112,115,17913,17917,17953,97,59,1,10536,4,4,59,98,99,102,17927,17929,17934,17939,1,8868,111,116,59,1,9014,105,114,59,1,10993,4,2,59,111,17945,17948,3,55349,56677,114,107,59,1,10970,97,59,1,10537,114,105,109,101,59,1,8244,4,3,97,105,112,17972,17977,18082,100,101,59,1,8482,4,7,97,100,101,109,112,115,116,17993,18051,18056,18059,18066,18072,18076,110,103,108,101,4,5,59,100,108,113,114,18009,18011,18017,18032,18035,1,9653,111,119,110,59,1,9663,101,102,116,4,2,59,101,18026,18028,1,9667,113,59,1,8884,59,1,8796,105,103,104,116,4,2,59,101,18045,18047,1,9657,113,59,1,8885,111,116,59,1,9708,59,1,8796,105,110,117,115,59,1,10810,108,117,115,59,1,10809,98,59,1,10701,105,109,101,59,1,10811,101,122,105,117,109,59,1,9186,4,3,99,104,116,18098,18111,18116,4,2,114,121,18104,18108,59,3,55349,56521,59,1,1094,99,121,59,1,1115,114,111,107,59,1,359,4,2,105,111,18128,18133,120,116,59,1,8812,104,101,97,100,4,2,108,114,18143,18154,101,102,116,97,114,114,111,119,59,1,8606,105,103,104,116,97,114,114,111,119,59,1,8608,4,18,65,72,97,98,99,100,102,103,104,108,109,111,112,114,115,116,117,119,18204,18209,18214,18234,18250,18268,18292,18308,18319,18343,18379,18397,18413,18504,18547,18553,18584,18603,114,114,59,1,8657,97,114,59,1,10595,4,2,99,114,18220,18230,117,116,101,5,250,1,59,18228,1,250,114,59,1,8593,114,4,2,99,101,18241,18245,121,59,1,1118,118,101,59,1,365,4,2,105,121,18256,18265,114,99,5,251,1,59,18263,1,251,59,1,1091,4,3,97,98,104,18276,18281,18287,114,114,59,1,8645,108,97,99,59,1,369,97,114,59,1,10606,4,2,105,114,18298,18304,115,104,116,59,1,10622,59,3,55349,56626,114,97,118,101,5,249,1,59,18317,1,249,4,2,97,98,18325,18338,114,4,2,108,114,18332,18335,59,1,8639,59,1,8638,108,107,59,1,9600,4,2,99,116,18349,18374,4,2,111,114,18355,18369,114,110,4,2,59,101,18363,18365,1,8988,114,59,1,8988,111,112,59,1,8975,114,105,59,1,9720,4,2,97,108,18385,18390,99,114,59,1,363,5,168,1,59,18395,1,168,4,2,103,112,18403,18408,111,110,59,1,371,102,59,3,55349,56678,4,6,97,100,104,108,115,117,18427,18434,18445,18470,18475,18494,114,114,111,119,59,1,8593,111,119,110,97,114,114,111,119,59,1,8597,97,114,112,111,111,110,4,2,108,114,18457,18463,101,102,116,59,1,8639,105,103,104,116,59,1,8638,117,115,59,1,8846,105,4,3,59,104,108,18484,18486,18489,1,965,59,1,978,111,110,59,1,965,112,97,114,114,111,119,115,59,1,8648,4,3,99,105,116,18512,18537,18542,4,2,111,114,18518,18532,114,110,4,2,59,101,18526,18528,1,8989,114,59,1,8989,111,112,59,1,8974,110,103,59,1,367,114,105,59,1,9721,99,114,59,3,55349,56522,4,3,100,105,114,18561,18566,18572,111,116,59,1,8944,108,100,101,59,1,361,105,4,2,59,102,18579,18581,1,9653,59,1,9652,4,2,97,109,18590,18595,114,114,59,1,8648,108,5,252,1,59,18601,1,252,97,110,103,108,101,59,1,10663,4,15,65,66,68,97,99,100,101,102,108,110,111,112,114,115,122,18643,18648,18661,18667,18847,18851,18857,18904,18909,18915,18931,18937,18943,18949,18996,114,114,59,1,8661,97,114,4,2,59,118,18656,18658,1,10984,59,1,10985,97,115,104,59,1,8872,4,2,110,114,18673,18679,103,114,116,59,1,10652,4,7,101,107,110,112,114,115,116,18695,18704,18711,18720,18742,18754,18810,112,115,105,108,111,110,59,1,1013,97,112,112,97,59,1,1008,111,116,104,105,110,103,59,1,8709,4,3,104,105,114,18728,18732,18735,105,59,1,981,59,1,982,111,112,116,111,59,1,8733,4,2,59,104,18748,18750,1,8597,111,59,1,1009,4,2,105,117,18760,18766,103,109,97,59,1,962,4,2,98,112,18772,18791,115,101,116,110,101,113,4,2,59,113,18784,18787,3,8842,65024,59,3,10955,65024,115,101,116,110,101,113,4,2,59,113,18803,18806,3,8843,65024,59,3,10956,65024,4,2,104,114,18816,18822,101,116,97,59,1,977,105,97,110,103,108,101,4,2,108,114,18834,18840,101,102,116,59,1,8882,105,103,104,116,59,1,8883,121,59,1,1074,97,115,104,59,1,8866,4,3,101,108,114,18865,18884,18890,4,3,59,98,101,18873,18875,18880,1,8744,97,114,59,1,8891,113,59,1,8794,108,105,112,59,1,8942,4,2,98,116,18896,18901,97,114,59,1,124,59,1,124,114,59,3,55349,56627,116,114,105,59,1,8882,115,117,4,2,98,112,18923,18927,59,3,8834,8402,59,3,8835,8402,112,102,59,3,55349,56679,114,111,112,59,1,8733,116,114,105,59,1,8883,4,2,99,117,18955,18960,114,59,3,55349,56523,4,2,98,112,18966,18981,110,4,2,69,101,18973,18977,59,3,10955,65024,59,3,8842,65024,110,4,2,69,101,18988,18992,59,3,10956,65024,59,3,8843,65024,105,103,122,97,103,59,1,10650,4,7,99,101,102,111,112,114,115,19020,19026,19061,19066,19072,19075,19089,105,114,99,59,1,373,4,2,100,105,19032,19055,4,2,98,103,19038,19043,97,114,59,1,10847,101,4,2,59,113,19050,19052,1,8743,59,1,8793,101,114,112,59,1,8472,114,59,3,55349,56628,112,102,59,3,55349,56680,59,1,8472,4,2,59,101,19081,19083,1,8768,97,116,104,59,1,8768,99,114,59,3,55349,56524,4,14,99,100,102,104,105,108,109,110,111,114,115,117,118,119,19125,19146,19152,19157,19173,19176,19192,19197,19202,19236,19252,19269,19286,19291,4,3,97,105,117,19133,19137,19142,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,116,114,105,59,1,9661,114,59,3,55349,56629,4,2,65,97,19163,19168,114,114,59,1,10234,114,114,59,1,10231,59,1,958,4,2,65,97,19182,19187,114,114,59,1,10232,114,114,59,1,10229,97,112,59,1,10236,105,115,59,1,8955,4,3,100,112,116,19210,19215,19230,111,116,59,1,10752,4,2,102,108,19221,19225,59,3,55349,56681,117,115,59,1,10753,105,109,101,59,1,10754,4,2,65,97,19242,19247,114,114,59,1,10233,114,114,59,1,10230,4,2,99,113,19258,19263,114,59,3,55349,56525,99,117,112,59,1,10758,4,2,112,116,19275,19281,108,117,115,59,1,10756,114,105,59,1,9651,101,101,59,1,8897,101,100,103,101,59,1,8896,4,8,97,99,101,102,105,111,115,117,19316,19335,19349,19357,19362,19367,19373,19379,99,4,2,117,121,19323,19332,116,101,5,253,1,59,19330,1,253,59,1,1103,4,2,105,121,19341,19346,114,99,59,1,375,59,1,1099,110,5,165,1,59,19355,1,165,114,59,3,55349,56630,99,121,59,1,1111,112,102,59,3,55349,56682,99,114,59,3,55349,56526,4,2,99,109,19385,19389,121,59,1,1102,108,5,255,1,59,19395,1,255,4,10,97,99,100,101,102,104,105,111,115,119,19419,19426,19441,19446,19462,19467,19472,19480,19486,19492,99,117,116,101,59,1,378,4,2,97,121,19432,19438,114,111,110,59,1,382,59,1,1079,111,116,59,1,380,4,2,101,116,19452,19458,116,114,102,59,1,8488,97,59,1,950,114,59,3,55349,56631,99,121,59,1,1078,103,114,97,114,114,59,1,8669,112,102,59,3,55349,56683,99,114,59,3,55349,56527,4,2,106,110,19498,19501,59,1,8205,106,59,1,8204]);","'use strict';\n\nconst unicode = require('../common/unicode');\nconst ERR = require('../common/error-codes');\n\n//Aliases\nconst $ = unicode.CODE_POINTS;\n\n//Const\nconst DEFAULT_BUFFER_WATERLINE = 1 << 16;\n\n//Preprocessor\n//NOTE: HTML input preprocessing\n//(see: http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#preprocessing-the-input-stream)\nclass Preprocessor {\n constructor() {\n this.html = null;\n\n this.pos = -1;\n this.lastGapPos = -1;\n this.lastCharPos = -1;\n\n this.gapStack = [];\n\n this.skipNextNewLine = false;\n\n this.lastChunkWritten = false;\n this.endOfChunkHit = false;\n this.bufferWaterline = DEFAULT_BUFFER_WATERLINE;\n }\n\n _err() {\n // NOTE: err reporting is noop by default. Enabled by mixin.\n }\n\n _addGap() {\n this.gapStack.push(this.lastGapPos);\n this.lastGapPos = this.pos;\n }\n\n _processSurrogate(cp) {\n //NOTE: try to peek a surrogate pair\n if (this.pos !== this.lastCharPos) {\n const nextCp = this.html.charCodeAt(this.pos + 1);\n\n if (unicode.isSurrogatePair(nextCp)) {\n //NOTE: we have a surrogate pair. Peek pair character and recalculate code point.\n this.pos++;\n\n //NOTE: add gap that should be avoided during retreat\n this._addGap();\n\n return unicode.getSurrogatePairCodePoint(cp, nextCp);\n }\n }\n\n //NOTE: we are at the end of a chunk, therefore we can't infer surrogate pair yet.\n else if (!this.lastChunkWritten) {\n this.endOfChunkHit = true;\n return $.EOF;\n }\n\n //NOTE: isolated surrogate\n this._err(ERR.surrogateInInputStream);\n\n return cp;\n }\n\n dropParsedChunk() {\n if (this.pos > this.bufferWaterline) {\n this.lastCharPos -= this.pos;\n this.html = this.html.substring(this.pos);\n this.pos = 0;\n this.lastGapPos = -1;\n this.gapStack = [];\n }\n }\n\n write(chunk, isLastChunk) {\n if (this.html) {\n this.html += chunk;\n } else {\n this.html = chunk;\n }\n\n this.lastCharPos = this.html.length - 1;\n this.endOfChunkHit = false;\n this.lastChunkWritten = isLastChunk;\n }\n\n insertHtmlAtCurrentPos(chunk) {\n this.html = this.html.substring(0, this.pos + 1) + chunk + this.html.substring(this.pos + 1, this.html.length);\n\n this.lastCharPos = this.html.length - 1;\n this.endOfChunkHit = false;\n }\n\n advance() {\n this.pos++;\n\n if (this.pos > this.lastCharPos) {\n this.endOfChunkHit = !this.lastChunkWritten;\n return $.EOF;\n }\n\n let cp = this.html.charCodeAt(this.pos);\n\n //NOTE: any U+000A LINE FEED (LF) characters that immediately follow a U+000D CARRIAGE RETURN (CR) character\n //must be ignored.\n if (this.skipNextNewLine && cp === $.LINE_FEED) {\n this.skipNextNewLine = false;\n this._addGap();\n return this.advance();\n }\n\n //NOTE: all U+000D CARRIAGE RETURN (CR) characters must be converted to U+000A LINE FEED (LF) characters\n if (cp === $.CARRIAGE_RETURN) {\n this.skipNextNewLine = true;\n return $.LINE_FEED;\n }\n\n this.skipNextNewLine = false;\n\n if (unicode.isSurrogate(cp)) {\n cp = this._processSurrogate(cp);\n }\n\n //OPTIMIZATION: first check if code point is in the common allowed\n //range (ASCII alphanumeric, whitespaces, big chunk of BMP)\n //before going into detailed performance cost validation.\n const isCommonValidRange =\n (cp > 0x1f && cp < 0x7f) || cp === $.LINE_FEED || cp === $.CARRIAGE_RETURN || (cp > 0x9f && cp < 0xfdd0);\n\n if (!isCommonValidRange) {\n this._checkForProblematicCharacters(cp);\n }\n\n return cp;\n }\n\n _checkForProblematicCharacters(cp) {\n if (unicode.isControlCodePoint(cp)) {\n this._err(ERR.controlCharacterInInputStream);\n } else if (unicode.isUndefinedCodePoint(cp)) {\n this._err(ERR.noncharacterInInputStream);\n }\n }\n\n retreat() {\n if (this.pos === this.lastGapPos) {\n this.lastGapPos = this.gapStack.pop();\n this.pos--;\n }\n\n this.pos--;\n }\n}\n\nmodule.exports = Preprocessor;\n","'use strict';\n\nconst { DOCUMENT_MODE } = require('../common/html');\n\n//Node construction\nexports.createDocument = function() {\n return {\n nodeName: '#document',\n mode: DOCUMENT_MODE.NO_QUIRKS,\n childNodes: []\n };\n};\n\nexports.createDocumentFragment = function() {\n return {\n nodeName: '#document-fragment',\n childNodes: []\n };\n};\n\nexports.createElement = function(tagName, namespaceURI, attrs) {\n return {\n nodeName: tagName,\n tagName: tagName,\n attrs: attrs,\n namespaceURI: namespaceURI,\n childNodes: [],\n parentNode: null\n };\n};\n\nexports.createCommentNode = function(data) {\n return {\n nodeName: '#comment',\n data: data,\n parentNode: null\n };\n};\n\nconst createTextNode = function(value) {\n return {\n nodeName: '#text',\n value: value,\n parentNode: null\n };\n};\n\n//Tree mutation\nconst appendChild = (exports.appendChild = function(parentNode, newNode) {\n parentNode.childNodes.push(newNode);\n newNode.parentNode = parentNode;\n});\n\nconst insertBefore = (exports.insertBefore = function(parentNode, newNode, referenceNode) {\n const insertionIdx = parentNode.childNodes.indexOf(referenceNode);\n\n parentNode.childNodes.splice(insertionIdx, 0, newNode);\n newNode.parentNode = parentNode;\n});\n\nexports.setTemplateContent = function(templateElement, contentElement) {\n templateElement.content = contentElement;\n};\n\nexports.getTemplateContent = function(templateElement) {\n return templateElement.content;\n};\n\nexports.setDocumentType = function(document, name, publicId, systemId) {\n let doctypeNode = null;\n\n for (let i = 0; i < document.childNodes.length; i++) {\n if (document.childNodes[i].nodeName === '#documentType') {\n doctypeNode = document.childNodes[i];\n break;\n }\n }\n\n if (doctypeNode) {\n doctypeNode.name = name;\n doctypeNode.publicId = publicId;\n doctypeNode.systemId = systemId;\n } else {\n appendChild(document, {\n nodeName: '#documentType',\n name: name,\n publicId: publicId,\n systemId: systemId\n });\n }\n};\n\nexports.setDocumentMode = function(document, mode) {\n document.mode = mode;\n};\n\nexports.getDocumentMode = function(document) {\n return document.mode;\n};\n\nexports.detachNode = function(node) {\n if (node.parentNode) {\n const idx = node.parentNode.childNodes.indexOf(node);\n\n node.parentNode.childNodes.splice(idx, 1);\n node.parentNode = null;\n }\n};\n\nexports.insertText = function(parentNode, text) {\n if (parentNode.childNodes.length) {\n const prevNode = parentNode.childNodes[parentNode.childNodes.length - 1];\n\n if (prevNode.nodeName === '#text') {\n prevNode.value += text;\n return;\n }\n }\n\n appendChild(parentNode, createTextNode(text));\n};\n\nexports.insertTextBefore = function(parentNode, text, referenceNode) {\n const prevNode = parentNode.childNodes[parentNode.childNodes.indexOf(referenceNode) - 1];\n\n if (prevNode && prevNode.nodeName === '#text') {\n prevNode.value += text;\n } else {\n insertBefore(parentNode, createTextNode(text), referenceNode);\n }\n};\n\nexports.adoptAttributes = function(recipient, attrs) {\n const recipientAttrsMap = [];\n\n for (let i = 0; i < recipient.attrs.length; i++) {\n recipientAttrsMap.push(recipient.attrs[i].name);\n }\n\n for (let j = 0; j < attrs.length; j++) {\n if (recipientAttrsMap.indexOf(attrs[j].name) === -1) {\n recipient.attrs.push(attrs[j]);\n }\n }\n};\n\n//Tree traversing\nexports.getFirstChild = function(node) {\n return node.childNodes[0];\n};\n\nexports.getChildNodes = function(node) {\n return node.childNodes;\n};\n\nexports.getParentNode = function(node) {\n return node.parentNode;\n};\n\nexports.getAttrList = function(element) {\n return element.attrs;\n};\n\n//Node data\nexports.getTagName = function(element) {\n return element.tagName;\n};\n\nexports.getNamespaceURI = function(element) {\n return element.namespaceURI;\n};\n\nexports.getTextNodeContent = function(textNode) {\n return textNode.value;\n};\n\nexports.getCommentNodeContent = function(commentNode) {\n return commentNode.data;\n};\n\nexports.getDocumentTypeNodeName = function(doctypeNode) {\n return doctypeNode.name;\n};\n\nexports.getDocumentTypeNodePublicId = function(doctypeNode) {\n return doctypeNode.publicId;\n};\n\nexports.getDocumentTypeNodeSystemId = function(doctypeNode) {\n return doctypeNode.systemId;\n};\n\n//Node types\nexports.isTextNode = function(node) {\n return node.nodeName === '#text';\n};\n\nexports.isCommentNode = function(node) {\n return node.nodeName === '#comment';\n};\n\nexports.isDocumentTypeNode = function(node) {\n return node.nodeName === '#documentType';\n};\n\nexports.isElementNode = function(node) {\n return !!node.tagName;\n};\n\n// Source code location\nexports.setNodeSourceCodeLocation = function(node, location) {\n node.sourceCodeLocation = location;\n};\n\nexports.getNodeSourceCodeLocation = function(node) {\n return node.sourceCodeLocation;\n};\n\nexports.updateNodeSourceCodeLocation = function(node, endLocation) {\n node.sourceCodeLocation = Object.assign(node.sourceCodeLocation, endLocation);\n};\n","'use strict';\n\nmodule.exports = function mergeOptions(defaults, options) {\n options = options || Object.create(null);\n\n return [defaults, options].reduce((merged, optObj) => {\n Object.keys(optObj).forEach(key => {\n merged[key] = optObj[key];\n });\n\n return merged;\n }, Object.create(null));\n};\n","'use strict';\n\nclass Mixin {\n constructor(host) {\n const originalMethods = {};\n const overriddenMethods = this._getOverriddenMethods(this, originalMethods);\n\n for (const key of Object.keys(overriddenMethods)) {\n if (typeof overriddenMethods[key] === 'function') {\n originalMethods[key] = host[key];\n host[key] = overriddenMethods[key];\n }\n }\n }\n\n _getOverriddenMethods() {\n throw new Error('Not implemented');\n }\n}\n\nMixin.install = function(host, Ctor, opts) {\n if (!host.__mixins) {\n host.__mixins = [];\n }\n\n for (let i = 0; i < host.__mixins.length; i++) {\n if (host.__mixins[i].constructor === Ctor) {\n return host.__mixins[i];\n }\n }\n\n const mixin = new Ctor(host, opts);\n\n host.__mixins.push(mixin);\n\n return mixin;\n};\n\nmodule.exports = Mixin;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[: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][: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]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;function Lg(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}var Mg=Uf(null),Ng=null,Og=null,Pg=null;function Qg(){Pg=Og=Ng=null}function Rg(a){var b=Mg.current;E(Mg);a._currentValue=b}\nfunction Sg(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}function Tg(a,b){Ng=a;Pg=Og=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(Ug=!0),a.firstContext=null)}\nfunction Vg(a){var b=a._currentValue;if(Pg!==a)if(a={context:a,memoizedValue:b,next:null},null===Og){if(null===Ng)throw Error(p(308));Og=a;Ng.dependencies={lanes:0,firstContext:a}}else Og=Og.next=a;return b}var Wg=null;function Xg(a){null===Wg?Wg=[a]:Wg.push(a)}function Yg(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,Xg(b)):(c.next=e.next,e.next=c);b.interleaved=c;return Zg(a,d)}\nfunction Zg(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var $g=!1;function ah(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction bh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function ch(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction dh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return Zg(a,c)}e=d.interleaved;null===e?(b.next=b,Xg(d)):(b.next=e.next,e.next=b);d.interleaved=b;return Zg(a,c)}function eh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction fh(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction gh(a,b,c,d){var e=a.updateQueue;$g=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:$g=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);hh|=g;a.lanes=g;a.memoizedState=q}}\nfunction ih(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var jh=(new aa.Component).refs;function kh(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar nh={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=L(),d=\nlh(a),e=ch(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=dh(a,e,d);null!==b&&(mh(b,a,d,c),eh(b,a,d))}};function oh(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction ph(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=Vg(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=nh;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction qh(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&nh.enqueueReplaceState(b,b.state,null)}\nfunction rh(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=jh;ah(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=Vg(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(kh(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&nh.enqueueReplaceState(e,e.state,null),gh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}\nfunction sh(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;b===jh&&(b=e.refs={});null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction th(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function uh(a){var b=a._init;return b(a._payload)}\nfunction vh(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=wh(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=xh(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&uh(f)===b.type))return d=e(b,c.props),d.ref=sh(a,b,c),d.return=a,d;d=yh(c.type,c.key,c.props,null,a.mode,d);d.ref=sh(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=zh(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Ah(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=xh(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=yh(b.type,b.key,b.props,null,a.mode,c),\nc.ref=sh(a,null,b),c.return=a,c;case wa:return b=zh(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Ah(b,a.mode,c,null),b.return=a,b;th(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);th(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);th(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;a<Nh.length;a++)Nh[a]._workInProgressVersionPrimary=null;Nh.length=0}var Ph=ua.ReactCurrentDispatcher,Qh=ua.ReactCurrentBatchConfig,Rh=0,N=null,O=null,P=null,Sh=!1,Th=!1,Uh=0,Vh=0;function Q(){throw Error(p(321));}function Wh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Xh(a,b,c,d,e,f){Rh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Ph.current=null===a||null===a.memoizedState?Yh:Zh;a=c(d,e);if(Th){f=0;do{Th=!1;Uh=0;if(25<=f)throw Error(p(301));f+=1;P=O=null;b.updateQueue=null;Ph.current=$h;a=c(d,e)}while(Th)}Ph.current=ai;b=null!==O&&null!==O.next;Rh=0;P=O=N=null;Sh=!1;if(b)throw Error(p(300));return a}function bi(){var a=0!==Uh;Uh=0;return a}\nfunction ci(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function di(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(p(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction ei(a,b){return\"function\"===typeof b?b(a):b}\nfunction fi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Rh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;N.lanes|=m;hh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(Ug=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,N.lanes|=f,hh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction gi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(Ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function hi(){}\nfunction ii(a,b){var c=N,d=di(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,Ug=!0);d=d.queue;ji(ki.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==P&&P.memoizedState.tag&1){c.flags|=2048;li(9,mi.bind(null,c,d,e,b),void 0,null);if(null===R)throw Error(p(349));0!==(Rh&30)||ni(c,b,e)}return e}function ni(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction mi(a,b,c,d){b.value=c;b.getSnapshot=d;oi(b)&&pi(a)}function ki(a,b,c){return c(function(){oi(b)&&pi(a)})}function oi(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function pi(a){var b=Zg(a,1);null!==b&&mh(b,a,1,-1)}\nfunction qi(a){var b=ci();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ei,lastRenderedState:a};b.queue=a;a=a.dispatch=ri.bind(null,N,a);return[b.memoizedState,a]}\nfunction li(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function si(){return di().memoizedState}function ti(a,b,c,d){var e=ci();N.flags|=a;e.memoizedState=li(1|b,c,void 0,void 0===d?null:d)}\nfunction ui(a,b,c,d){var e=di();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&Wh(d,g.deps)){e.memoizedState=li(b,c,f,d);return}}N.flags|=a;e.memoizedState=li(1|b,c,f,d)}function vi(a,b){return ti(8390656,8,a,b)}function ji(a,b){return ui(2048,8,a,b)}function wi(a,b){return ui(4,2,a,b)}function xi(a,b){return ui(4,4,a,b)}\nfunction yi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function zi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ui(4,4,yi.bind(null,b,a),c)}function Ai(){}function Bi(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Ci(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Di(a,b,c){if(0===(Rh&21))return a.baseState&&(a.baseState=!1,Ug=!0),a.memoizedState=c;He(c,b)||(c=yc(),N.lanes|=c,hh|=c,a.baseState=!0);return b}function Ei(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Vh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Zh={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:fi,useRef:si,useState:function(){return fi(ei)},\nuseDebugValue:Ai,useDeferredValue:function(a){var b=di();return Di(b,O.memoizedState,a)},useTransition:function(){var a=fi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1},$h={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:gi,useRef:si,useState:function(){return gi(ei)},useDebugValue:Ai,useDeferredValue:function(a){var b=di();return null===\nO?b.memoizedState=a:Di(b,O.memoizedState,a)},useTransition:function(){var a=gi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1};function Ki(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}function Li(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}\nfunction Mi(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Ni=\"function\"===typeof WeakMap?WeakMap:Map;function Oi(a,b,c){c=ch(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Pi||(Pi=!0,Qi=d);Mi(a,b)};return c}\nfunction Ri(a,b,c){c=ch(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Mi(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Mi(a,b);\"function\"!==typeof d&&(null===Si?Si=new Set([this]):Si.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Ti(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Ni;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ui.bind(null,a,b,c),b.then(a,a))}function Vi(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Wi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=ch(-1,1),b.tag=2,dh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Xi=ua.ReactCurrentOwner,Ug=!1;function Yi(a,b,c,d){b.child=null===a?Ch(b,null,c,d):Bh(b,a.child,c,d)}\nfunction Zi(a,b,c,d,e){c=c.render;var f=b.ref;Tg(b,e);d=Xh(a,b,c,d,f,e);c=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&c&&vg(b);b.flags|=1;Yi(a,b,d,e);return b.child}\nfunction aj(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!bj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,cj(a,b,f,d,e);a=yh(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return $i(a,b,e)}b.flags|=1;a=wh(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction cj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(Ug=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(Ug=!0);else return b.lanes=a.lanes,$i(a,b,e)}return dj(a,b,c,d,e)}\nfunction ej(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(fj,gj),gj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(fj,gj),gj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(fj,gj);gj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(fj,gj),gj|=d;Yi(a,b,e,c);return b.child}function hj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function dj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);Tg(b,e);c=Xh(a,b,c,d,f,e);d=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&d&&vg(b);b.flags|=1;Yi(a,b,c,e);return b.child}\nfunction ij(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;Tg(b,e);if(null===b.stateNode)jj(a,b),ph(b,c,d),rh(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=Vg(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&qh(b,g,d,l);$g=!1;var r=b.memoizedState;g.state=r;gh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||$g?(\"function\"===typeof m&&(kh(b,c,m,d),k=b.memoizedState),(h=$g||oh(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;bh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Lg(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=Vg(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&qh(b,g,d,k);$g=!1;r=b.memoizedState;g.state=r;gh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||$g?(\"function\"===typeof y&&(kh(b,c,y,d),n=b.memoizedState),(l=$g||oh(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return kj(a,b,c,d,f,e)}\nfunction kj(a,b,c,d,e,f){hj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),$i(a,b,f);d=b.stateNode;Xi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Bh(b,a.child,null,f),b.child=Bh(b,null,h,f)):Yi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function lj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);Ih(a,b.containerInfo)}\nfunction mj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Yi(a,b,c,d);return b.child}var nj={dehydrated:null,treeContext:null,retryLane:0};function oj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction pj(a,b,c){var d=b.pendingProps,e=M.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(M,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=qj(g,d,0,null),a=Ah(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=oj(c),b.memoizedState=nj,a):rj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return sj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=wh(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=wh(h,f):(f=Ah(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?oj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=nj;return d}f=a.child;a=f.sibling;d=wh(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction rj(a,b){b=qj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function tj(a,b,c,d){null!==d&&Jg(d);Bh(b,a.child,null,c);a=rj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction sj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Li(Error(p(422))),tj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=qj({mode:\"visible\",children:d.children},e,0,null);f=Ah(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Bh(b,a.child,null,g);b.child.memoizedState=oj(g);b.memoizedState=nj;return f}if(0===(b.mode&1))return tj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Li(f,d,void 0);return tj(a,b,g,d)}h=0!==(g&a.childLanes);if(Ug||h){d=R;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,Zg(a,e),mh(d,a,e,-1))}uj();d=Li(Error(p(421)));return tj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=vj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=rj(b,d.children);b.flags|=4096;return b}function wj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);Sg(a.return,b,c)}\nfunction xj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction yj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Yi(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&wj(a,c,b);else if(19===a.tag)wj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(M,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Mh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);xj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Mh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}xj(b,!0,c,null,f);break;case \"together\":xj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction jj(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function $i(a,b,c){null!==a&&(b.dependencies=a.dependencies);hh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=wh(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=wh(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction zj(a,b,c){switch(b.tag){case 3:lj(b);Ig();break;case 5:Kh(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:Ih(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Mg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(M,M.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return pj(a,b,c);G(M,M.current&1);a=$i(a,b,c);return null!==a?a.sibling:null}G(M,M.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return yj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(M,M.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,ej(a,b,c)}return $i(a,b,c)}var Aj,Bj,Cj,Dj;\nAj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Bj=function(){};\nCj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;Hh(Eh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Dj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Ej(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Fj(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;Jh();E(Wf);E(H);Oh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Gj(zg),zg=null));Bj(a,b);S(b);return null;case 5:Lh(b);var e=Hh(Gh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Cj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Dj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=Hh(Gh.current);Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(M);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Gj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(M.current&1)?0===T&&(T=3):uj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return Jh(),\nBj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return Rg(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(M);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Ej(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Mh(a);if(null!==g){b.flags|=128;Ej(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(M,M.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Hj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Yj=!1;break a;case 3:X=h.stateNode.containerInfo;Yj=!0;break a;case 4:X=h.stateNode.containerInfo;Yj=!0;break a}h=h.return}if(null===X)throw Error(p(160));ak(f,g,e);X=null;Yj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)ek(b,a),b=b.sibling}\nfunction ek(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:dk(b,a);fk(a);if(d&4){try{Qj(3,a,a.return),Rj(3,a)}catch(t){W(a,a.return,t)}try{Qj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);break;case 5:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:dk(b,a);fk(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:dk(b,a);fk(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:dk(b,a);fk(a);break;case 13:dk(b,a);fk(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(gk=B()));d&4&&bk(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,dk(b,a),U=l):dk(b,a);fk(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Qj(4,r,r.return);break;case 1:Mj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Mj(r,r.return);break;case 22:if(null!==r.memoizedState){hk(q);continue}}null!==y?(y.return=r,V=y):hk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:dk(b,a);fk(a);d&4&&bk(a);break;case 21:break;default:dk(b,\na),fk(a)}}function fk(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Uj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Vj(a);Xj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Vj(a);Wj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function ik(a,b,c){V=a;jk(a,b,c)}\nfunction jk(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Kj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Kj;var l=U;Kj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?kk(e):null!==k?(k.return=g,V=k):kk(e);for(;null!==f;)V=f,jk(f,b,c),f=f.sibling;V=e;Kj=h;U=l}lk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):lk(a,b,c)}}\nfunction lk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Rj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Lg(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&ih(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}ih(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Sj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function hk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction kk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Rj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Sj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Sj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar mk=Math.ceil,nk=ua.ReactCurrentDispatcher,ok=ua.ReactCurrentOwner,pk=ua.ReactCurrentBatchConfig,K=0,R=null,Y=null,Z=0,gj=0,fj=Uf(0),T=0,qk=null,hh=0,rk=0,sk=0,tk=null,uk=null,gk=0,Hj=Infinity,vk=null,Pi=!1,Qi=null,Si=null,wk=!1,xk=null,yk=0,zk=0,Ak=null,Bk=-1,Ck=0;function L(){return 0!==(K&6)?B():-1!==Bk?Bk:Bk=B()}\nfunction lh(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Ck&&(Ck=yc()),Ck;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function mh(a,b,c,d){if(50<zk)throw zk=0,Ak=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==R)a===R&&(0===(K&2)&&(rk|=c),4===T&&Dk(a,Z)),Ek(a,d),1===c&&0===K&&0===(b.mode&1)&&(Hj=B()+500,fg&&jg())}\nfunction Ek(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===R?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Fk.bind(null,a)):hg(Fk.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Gk(c,Hk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Hk(a,b){Bk=-1;Ck=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Ik()&&a.callbackNode!==c)return null;var d=uc(a,a===R?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Jk(a,d);else{b=d;var e=K;K|=2;var f=Kk();if(R!==a||Z!==b)vk=null,Hj=B()+500,Lk(a,b);do try{Mk();break}catch(h){Nk(a,h)}while(1);Qg();nk.current=f;K=e;null!==Y?b=0:(R=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Ok(a,e)));if(1===b)throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;if(6===b)Dk(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Pk(e)&&(b=Jk(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Ok(a,f))),1===b))throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Qk(a,uk,vk);break;case 3:Dk(a,d);if((d&130023424)===d&&(b=gk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){L();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),b);break}Qk(a,uk,vk);break;case 4:Dk(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),d);break}Qk(a,uk,vk);break;case 5:Qk(a,uk,vk);break;default:throw Error(p(329));}}}Ek(a,B());return a.callbackNode===c?Hk.bind(null,a):null}\nfunction Ok(a,b){var c=tk;a.current.memoizedState.isDehydrated&&(Lk(a,b).flags|=256);a=Jk(a,b);2!==a&&(b=uk,uk=c,null!==b&&Gj(b));return a}function Gj(a){null===uk?uk=a:uk.push.apply(uk,a)}\nfunction Pk(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Dk(a,b){b&=~sk;b&=~rk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Fk(a){if(0!==(K&6))throw Error(p(327));Ik();var b=uc(a,0);if(0===(b&1))return Ek(a,B()),null;var c=Jk(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Ok(a,d))}if(1===c)throw c=qk,Lk(a,0),Dk(a,b),Ek(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Qk(a,uk,vk);Ek(a,B());return null}\nfunction Rk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Hj=B()+500,fg&&jg())}}function Sk(a){null!==xk&&0===xk.tag&&0===(K&6)&&Ik();var b=K;K|=1;var c=pk.transition,d=C;try{if(pk.transition=null,C=1,a)return a()}finally{C=d,pk.transition=c,K=b,0===(K&6)&&jg()}}function Ij(){gj=fj.current;E(fj)}\nfunction Lk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:Jh();E(Wf);E(H);Oh();break;case 5:Lh(d);break;case 4:Jh();break;case 13:E(M);break;case 19:E(M);break;case 10:Rg(d.type._context);break;case 22:case 23:Ij()}c=c.return}R=a;Y=a=wh(a.current,null);Z=gj=b;T=0;qk=null;sk=rk=hh=0;uk=tk=null;if(null!==Wg){for(b=\n0;b<Wg.length;b++)if(c=Wg[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}Wg=null}return a}\nfunction Nk(a,b){do{var c=Y;try{Qg();Ph.current=ai;if(Sh){for(var d=N.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Sh=!1}Rh=0;P=O=N=null;Th=!1;Uh=0;ok.current=null;if(null===c||null===c.return){T=1;qk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Vi(g);if(null!==y){y.flags&=-257;Wi(y,g,h,f,b);y.mode&1&&Ti(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Ti(f,l,b);uj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Vi(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Wi(J,g,h,f,b);Jg(Ki(k,h));break a}}f=k=Ki(k,h);4!==T&&(T=2);null===tk?tk=[f]:tk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Oi(f,k,b);fh(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Si||!Si.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Ri(f,h,b);fh(f,F);break a}}f=f.return}while(null!==f)}Tk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Kk(){var a=nk.current;nk.current=ai;return null===a?ai:a}\nfunction uj(){if(0===T||3===T||2===T)T=4;null===R||0===(hh&268435455)&&0===(rk&268435455)||Dk(R,Z)}function Jk(a,b){var c=K;K|=2;var d=Kk();if(R!==a||Z!==b)vk=null,Lk(a,b);do try{Uk();break}catch(e){Nk(a,e)}while(1);Qg();K=c;nk.current=d;if(null!==Y)throw Error(p(261));R=null;Z=0;return T}function Uk(){for(;null!==Y;)Vk(Y)}function Mk(){for(;null!==Y&&!cc();)Vk(Y)}function Vk(a){var b=Wk(a.alternate,a,gj);a.memoizedProps=a.pendingProps;null===b?Tk(a):Y=b;ok.current=null}\nfunction Tk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Fj(c,b,gj),null!==c){Y=c;return}}else{c=Jj(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Qk(a,b,c){var d=C,e=pk.transition;try{pk.transition=null,C=1,Xk(a,b,c,d)}finally{pk.transition=e,C=d}return null}\nfunction Xk(a,b,c,d){do Ik();while(null!==xk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===R&&(Y=R=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||wk||(wk=!0,Gk(hc,function(){Ik();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=pk.transition;pk.transition=null;\nvar g=C;C=1;var h=K;K|=4;ok.current=null;Pj(a,c);ek(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;ik(c,a,e);dc();K=h;C=g;pk.transition=f}else a.current=c;wk&&(wk=!1,xk=a,yk=e);f=a.pendingLanes;0===f&&(Si=null);mc(c.stateNode,d);Ek(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Pi)throw Pi=!1,a=Qi,Qi=null,a;0!==(yk&1)&&0!==a.tag&&Ik();f=a.pendingLanes;0!==(f&1)?a===Ak?zk++:(zk=0,Ak=a):zk=0;jg();return null}\nfunction Ik(){if(null!==xk){var a=Dc(yk),b=pk.transition,c=C;try{pk.transition=null;C=16>a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Qj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Tj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Qj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Rj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,pk.transition=b}}return!1}function Yk(a,b,c){b=Ki(c,b);b=Oi(a,b,1);a=dh(a,b,1);b=L();null!==a&&(Ac(a,1,b),Ek(a,b))}\nfunction W(a,b,c){if(3===a.tag)Yk(a,a,c);else for(;null!==b;){if(3===b.tag){Yk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Si||!Si.has(d))){a=Ki(c,a);a=Ri(b,a,1);b=dh(b,a,1);a=L();null!==b&&(Ac(b,1,a),Ek(b,a));break}}b=b.return}}\nfunction Ui(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=L();a.pingedLanes|=a.suspendedLanes&c;R===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction el(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction fl(a,b,c,d,e,f,g,h,k){a=cl(c,d,!0,a,e,f,g,h,k);a.context=el(null);c=a.current;d=L();e=lh(c);f=ch(d,e);f.callback=void 0!==b&&null!==b?b:null;dh(c,f,e);a.current.lanes=e;Ac(a,e,d);Ek(a,d);return a}function gl(a,b,c,d){var e=b.current,f=L(),g=lh(e);c=el(c);null===b.context?b.context=c:b.pendingContext=c;b=ch(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=dh(e,b,g);null!==a&&(mh(a,e,g,f),eh(a,e,g));return g}\nfunction hl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function il(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function jl(a,b){il(a,b);(a=a.alternate)&&il(a,b)}function kl(){return null}var ll=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ml(a){this._internalRoot=a}\nnl.prototype.render=ml.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));gl(a,b,null,null)};nl.prototype.unmount=ml.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Sk(function(){gl(null,a,null,null)});b[uf]=null}};function nl(a){this._internalRoot=a}\nnl.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function pl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function ql(){}\nfunction rl(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=hl(g);f.call(a)}}var g=fl(b,d,a,0,null,!1,!1,\"\",ql);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Sk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=hl(k);h.call(a)}}var k=cl(a,0,!1,null,null,!1,!1,\"\",ql);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Sk(function(){gl(b,k,c,d)});return k}\nfunction sl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=hl(g);h.call(a)}}gl(b,g,a,e)}else g=rl(c,b,a,e,d);return hl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Ek(b,B()),0===(K&6)&&(Hj=B()+500,jg()))}break;case 13:Sk(function(){var b=Zg(a,1);if(null!==b){var c=L();mh(b,a,1,c)}}),jl(a,1)}};\nFc=function(a){if(13===a.tag){var b=Zg(a,134217728);if(null!==b){var c=L();mh(b,a,134217728,c)}jl(a,134217728)}};Gc=function(a){if(13===a.tag){var b=lh(a),c=Zg(a,b);if(null!==c){var d=L();mh(c,a,b,d)}jl(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Rk;Hb=Sk;\nvar tl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Rk]},ul={findFiberByHostInstance:Wc,bundleType:0,version:\"18.2.0\",rendererPackageName:\"react-dom\"};\nvar vl={bundleType:ul.bundleType,version:ul.version,rendererPackageName:ul.rendererPackageName,rendererConfig:ul.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:ul.findFiberByHostInstance||\nkl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.2.0-next-9e3b772b8-20220608\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var wl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!wl.isDisabled&&wl.supportsFiber)try{kc=wl.inject(vl),lc=wl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!ol(b))throw Error(p(200));return dl(a,b,null,c)};exports.createRoot=function(a,b){if(!ol(a))throw Error(p(299));var c=!1,d=\"\",e=ll;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=cl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ml(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Sk(a)};exports.hydrate=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!ol(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=ll;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=fl(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new nl(b)};exports.render=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!pl(a))throw Error(p(40));return a._reactRootContainer?(Sk(function(){sl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Rk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!pl(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return sl(a,b,c,!1,d)};exports.version=\"18.2.0-next-9e3b772b8-20220608\";\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","/** @license React v17.0.2\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=60103,c=60106,d=60107,e=60108,f=60114,g=60109,h=60110,k=60112,l=60113,m=60120,n=60115,p=60116,q=60121,r=60122,u=60117,v=60129,w=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var x=Symbol.for;b=x(\"react.element\");c=x(\"react.portal\");d=x(\"react.fragment\");e=x(\"react.strict_mode\");f=x(\"react.profiler\");g=x(\"react.provider\");h=x(\"react.context\");k=x(\"react.forward_ref\");l=x(\"react.suspense\");m=x(\"react.suspense_list\");n=x(\"react.memo\");p=x(\"react.lazy\");q=x(\"react.block\");r=x(\"react.server.block\");u=x(\"react.fundamental\");v=x(\"react.debug_trace_mode\");w=x(\"react.legacy_hidden\")}\nfunction y(a){if(\"object\"===typeof a&&null!==a){var t=a.$$typeof;switch(t){case b:switch(a=a.type,a){case d:case f:case e:case l:case m:return a;default:switch(a=a&&a.$$typeof,a){case h:case k:case p:case n:case g:return a;default:return t}}case c:return t}}}var z=g,A=b,B=k,C=d,D=p,E=n,F=c,G=f,H=e,I=l;exports.ContextConsumer=h;exports.ContextProvider=z;exports.Element=A;exports.ForwardRef=B;exports.Fragment=C;exports.Lazy=D;exports.Memo=E;exports.Portal=F;exports.Profiler=G;exports.StrictMode=H;\nexports.Suspense=I;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return y(a)===h};exports.isContextProvider=function(a){return y(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return y(a)===k};exports.isFragment=function(a){return y(a)===d};exports.isLazy=function(a){return y(a)===p};exports.isMemo=function(a){return y(a)===n};\nexports.isPortal=function(a){return y(a)===c};exports.isProfiler=function(a){return y(a)===f};exports.isStrictMode=function(a){return y(a)===e};exports.isSuspense=function(a){return y(a)===l};exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===v||a===e||a===l||a===m||a===w||\"object\"===typeof a&&null!==a&&(a.$$typeof===p||a.$$typeof===n||a.$$typeof===g||a.$$typeof===h||a.$$typeof===k||a.$$typeof===u||a.$$typeof===q||a[0]===r)?!0:!1};\nexports.typeOf=y;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};exports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;\nexports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=function(){throw Error(\"act(...) is not supported in production builds of React.\");};\nexports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};exports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};\nexports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};exports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};\nexports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.2.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","'use strict'\n\n/* global window, self */\n\n// istanbul ignore next - Don't allow Prism to run on page load in browser or\n// to start messaging from workers.\nvar ctx =\n typeof globalThis === 'object'\n ? globalThis\n : typeof self === 'object'\n ? self\n : typeof window === 'object'\n ? window\n : typeof global === 'object'\n ? global\n : {}\n\nvar restore = capture()\n\nctx.Prism = {manual: true, disableWorkerMessageHandler: true}\n\n// Load all stuff in `prism.js` itself, except for `prism-file-highlight.js`.\n// The wrapped non-leaky grammars are loaded instead of Prism’s originals.\nvar h = require('hastscript')\nvar decode = require('parse-entities')\nvar Prism = require('prismjs/components/prism-core')\nvar markup = require('./lang/markup')\nvar css = require('./lang/css')\nvar clike = require('./lang/clike')\nvar js = require('./lang/javascript')\n\nrestore()\n\nvar own = {}.hasOwnProperty\n\n// Inherit.\nfunction Refractor() {}\n\nRefractor.prototype = Prism\n\n// Construct.\nvar refract = new Refractor()\n\n// Expose.\nmodule.exports = refract\n\n// Create.\nrefract.highlight = highlight\nrefract.register = register\nrefract.alias = alias\nrefract.registered = registered\nrefract.listLanguages = listLanguages\n\n// Register bundled grammars.\nregister(markup)\nregister(css)\nregister(clike)\nregister(js)\n\nrefract.util.encode = encode\nrefract.Token.stringify = stringify\n\nfunction register(grammar) {\n if (typeof grammar !== 'function' || !grammar.displayName) {\n throw new Error('Expected `function` for `grammar`, got `' + grammar + '`')\n }\n\n // Do not duplicate registrations.\n if (refract.languages[grammar.displayName] === undefined) {\n grammar(refract)\n }\n}\n\nfunction alias(name, alias) {\n var languages = refract.languages\n var map = name\n var key\n var list\n var length\n var index\n\n if (alias) {\n map = {}\n map[name] = alias\n }\n\n for (key in map) {\n list = map[key]\n list = typeof list === 'string' ? [list] : list\n length = list.length\n index = -1\n\n while (++index < length) {\n languages[list[index]] = languages[key]\n }\n }\n}\n\nfunction highlight(value, name) {\n var sup = Prism.highlight\n var grammar\n\n if (typeof value !== 'string') {\n throw new Error('Expected `string` for `value`, got `' + value + '`')\n }\n\n // `name` is a grammar object.\n if (refract.util.type(name) === 'Object') {\n grammar = name\n name = null\n } else {\n if (typeof name !== 'string') {\n throw new Error('Expected `string` for `name`, got `' + name + '`')\n }\n\n if (own.call(refract.languages, name)) {\n grammar = refract.languages[name]\n } else {\n throw new Error('Unknown language: `' + name + '` is not registered')\n }\n }\n\n return sup.call(this, value, grammar, name)\n}\n\nfunction registered(language) {\n if (typeof language !== 'string') {\n throw new Error('Expected `string` for `language`, got `' + language + '`')\n }\n\n return own.call(refract.languages, language)\n}\n\nfunction listLanguages() {\n var languages = refract.languages\n var list = []\n var language\n\n for (language in languages) {\n if (\n own.call(languages, language) &&\n typeof languages[language] === 'object'\n ) {\n list.push(language)\n }\n }\n\n return list\n}\n\nfunction stringify(value, language, parent) {\n var env\n\n if (typeof value === 'string') {\n return {type: 'text', value: value}\n }\n\n if (refract.util.type(value) === 'Array') {\n return stringifyAll(value, language)\n }\n\n env = {\n type: value.type,\n content: refract.Token.stringify(value.content, language, parent),\n tag: 'span',\n classes: ['token', value.type],\n attributes: {},\n language: language,\n parent: parent\n }\n\n if (value.alias) {\n env.classes = env.classes.concat(value.alias)\n }\n\n refract.hooks.run('wrap', env)\n\n return h(\n env.tag + '.' + env.classes.join('.'),\n attributes(env.attributes),\n env.content\n )\n}\n\nfunction stringifyAll(values, language) {\n var result = []\n var length = values.length\n var index = -1\n var value\n\n while (++index < length) {\n value = values[index]\n\n if (value !== '' && value !== null && value !== undefined) {\n result.push(value)\n }\n }\n\n index = -1\n length = result.length\n\n while (++index < length) {\n value = result[index]\n result[index] = refract.Token.stringify(value, language, result)\n }\n\n return result\n}\n\nfunction encode(tokens) {\n return tokens\n}\n\nfunction attributes(attrs) {\n var key\n\n for (key in attrs) {\n attrs[key] = decode(attrs[key])\n }\n\n return attrs\n}\n\nfunction capture() {\n var defined = 'Prism' in ctx\n /* istanbul ignore next */\n var current = defined ? ctx.Prism : undefined\n\n return restore\n\n function restore() {\n /* istanbul ignore else - Clean leaks after Prism. */\n if (defined) {\n ctx.Prism = current\n } else {\n delete ctx.Prism\n }\n\n defined = undefined\n current = undefined\n }\n}\n","'use strict'\n\nvar refractor = require('./core.js')\n\nmodule.exports = refractor\n\nrefractor.register(require('./lang/abap.js'))\nrefractor.register(require('./lang/abnf.js'))\nrefractor.register(require('./lang/actionscript.js'))\nrefractor.register(require('./lang/ada.js'))\nrefractor.register(require('./lang/agda.js'))\nrefractor.register(require('./lang/al.js'))\nrefractor.register(require('./lang/antlr4.js'))\nrefractor.register(require('./lang/apacheconf.js'))\nrefractor.register(require('./lang/apex.js'))\nrefractor.register(require('./lang/apl.js'))\nrefractor.register(require('./lang/applescript.js'))\nrefractor.register(require('./lang/aql.js'))\nrefractor.register(require('./lang/arduino.js'))\nrefractor.register(require('./lang/arff.js'))\nrefractor.register(require('./lang/asciidoc.js'))\nrefractor.register(require('./lang/asm6502.js'))\nrefractor.register(require('./lang/asmatmel.js'))\nrefractor.register(require('./lang/aspnet.js'))\nrefractor.register(require('./lang/autohotkey.js'))\nrefractor.register(require('./lang/autoit.js'))\nrefractor.register(require('./lang/avisynth.js'))\nrefractor.register(require('./lang/avro-idl.js'))\nrefractor.register(require('./lang/bash.js'))\nrefractor.register(require('./lang/basic.js'))\nrefractor.register(require('./lang/batch.js'))\nrefractor.register(require('./lang/bbcode.js'))\nrefractor.register(require('./lang/bicep.js'))\nrefractor.register(require('./lang/birb.js'))\nrefractor.register(require('./lang/bison.js'))\nrefractor.register(require('./lang/bnf.js'))\nrefractor.register(require('./lang/brainfuck.js'))\nrefractor.register(require('./lang/brightscript.js'))\nrefractor.register(require('./lang/bro.js'))\nrefractor.register(require('./lang/bsl.js'))\nrefractor.register(require('./lang/c.js'))\nrefractor.register(require('./lang/cfscript.js'))\nrefractor.register(require('./lang/chaiscript.js'))\nrefractor.register(require('./lang/cil.js'))\nrefractor.register(require('./lang/clojure.js'))\nrefractor.register(require('./lang/cmake.js'))\nrefractor.register(require('./lang/cobol.js'))\nrefractor.register(require('./lang/coffeescript.js'))\nrefractor.register(require('./lang/concurnas.js'))\nrefractor.register(require('./lang/coq.js'))\nrefractor.register(require('./lang/cpp.js'))\nrefractor.register(require('./lang/crystal.js'))\nrefractor.register(require('./lang/csharp.js'))\nrefractor.register(require('./lang/cshtml.js'))\nrefractor.register(require('./lang/csp.js'))\nrefractor.register(require('./lang/css-extras.js'))\nrefractor.register(require('./lang/csv.js'))\nrefractor.register(require('./lang/cypher.js'))\nrefractor.register(require('./lang/d.js'))\nrefractor.register(require('./lang/dart.js'))\nrefractor.register(require('./lang/dataweave.js'))\nrefractor.register(require('./lang/dax.js'))\nrefractor.register(require('./lang/dhall.js'))\nrefractor.register(require('./lang/diff.js'))\nrefractor.register(require('./lang/django.js'))\nrefractor.register(require('./lang/dns-zone-file.js'))\nrefractor.register(require('./lang/docker.js'))\nrefractor.register(require('./lang/dot.js'))\nrefractor.register(require('./lang/ebnf.js'))\nrefractor.register(require('./lang/editorconfig.js'))\nrefractor.register(require('./lang/eiffel.js'))\nrefractor.register(require('./lang/ejs.js'))\nrefractor.register(require('./lang/elixir.js'))\nrefractor.register(require('./lang/elm.js'))\nrefractor.register(require('./lang/erb.js'))\nrefractor.register(require('./lang/erlang.js'))\nrefractor.register(require('./lang/etlua.js'))\nrefractor.register(require('./lang/excel-formula.js'))\nrefractor.register(require('./lang/factor.js'))\nrefractor.register(require('./lang/false.js'))\nrefractor.register(require('./lang/firestore-security-rules.js'))\nrefractor.register(require('./lang/flow.js'))\nrefractor.register(require('./lang/fortran.js'))\nrefractor.register(require('./lang/fsharp.js'))\nrefractor.register(require('./lang/ftl.js'))\nrefractor.register(require('./lang/gap.js'))\nrefractor.register(require('./lang/gcode.js'))\nrefractor.register(require('./lang/gdscript.js'))\nrefractor.register(require('./lang/gedcom.js'))\nrefractor.register(require('./lang/gherkin.js'))\nrefractor.register(require('./lang/git.js'))\nrefractor.register(require('./lang/glsl.js'))\nrefractor.register(require('./lang/gml.js'))\nrefractor.register(require('./lang/gn.js'))\nrefractor.register(require('./lang/go-module.js'))\nrefractor.register(require('./lang/go.js'))\nrefractor.register(require('./lang/graphql.js'))\nrefractor.register(require('./lang/groovy.js'))\nrefractor.register(require('./lang/haml.js'))\nrefractor.register(require('./lang/handlebars.js'))\nrefractor.register(require('./lang/haskell.js'))\nrefractor.register(require('./lang/haxe.js'))\nrefractor.register(require('./lang/hcl.js'))\nrefractor.register(require('./lang/hlsl.js'))\nrefractor.register(require('./lang/hoon.js'))\nrefractor.register(require('./lang/hpkp.js'))\nrefractor.register(require('./lang/hsts.js'))\nrefractor.register(require('./lang/http.js'))\nrefractor.register(require('./lang/ichigojam.js'))\nrefractor.register(require('./lang/icon.js'))\nrefractor.register(require('./lang/icu-message-format.js'))\nrefractor.register(require('./lang/idris.js'))\nrefractor.register(require('./lang/iecst.js'))\nrefractor.register(require('./lang/ignore.js'))\nrefractor.register(require('./lang/inform7.js'))\nrefractor.register(require('./lang/ini.js'))\nrefractor.register(require('./lang/io.js'))\nrefractor.register(require('./lang/j.js'))\nrefractor.register(require('./lang/java.js'))\nrefractor.register(require('./lang/javadoc.js'))\nrefractor.register(require('./lang/javadoclike.js'))\nrefractor.register(require('./lang/javastacktrace.js'))\nrefractor.register(require('./lang/jexl.js'))\nrefractor.register(require('./lang/jolie.js'))\nrefractor.register(require('./lang/jq.js'))\nrefractor.register(require('./lang/js-extras.js'))\nrefractor.register(require('./lang/js-templates.js'))\nrefractor.register(require('./lang/jsdoc.js'))\nrefractor.register(require('./lang/json.js'))\nrefractor.register(require('./lang/json5.js'))\nrefractor.register(require('./lang/jsonp.js'))\nrefractor.register(require('./lang/jsstacktrace.js'))\nrefractor.register(require('./lang/jsx.js'))\nrefractor.register(require('./lang/julia.js'))\nrefractor.register(require('./lang/keepalived.js'))\nrefractor.register(require('./lang/keyman.js'))\nrefractor.register(require('./lang/kotlin.js'))\nrefractor.register(require('./lang/kumir.js'))\nrefractor.register(require('./lang/kusto.js'))\nrefractor.register(require('./lang/latex.js'))\nrefractor.register(require('./lang/latte.js'))\nrefractor.register(require('./lang/less.js'))\nrefractor.register(require('./lang/lilypond.js'))\nrefractor.register(require('./lang/liquid.js'))\nrefractor.register(require('./lang/lisp.js'))\nrefractor.register(require('./lang/livescript.js'))\nrefractor.register(require('./lang/llvm.js'))\nrefractor.register(require('./lang/log.js'))\nrefractor.register(require('./lang/lolcode.js'))\nrefractor.register(require('./lang/lua.js'))\nrefractor.register(require('./lang/magma.js'))\nrefractor.register(require('./lang/makefile.js'))\nrefractor.register(require('./lang/markdown.js'))\nrefractor.register(require('./lang/markup-templating.js'))\nrefractor.register(require('./lang/matlab.js'))\nrefractor.register(require('./lang/maxscript.js'))\nrefractor.register(require('./lang/mel.js'))\nrefractor.register(require('./lang/mermaid.js'))\nrefractor.register(require('./lang/mizar.js'))\nrefractor.register(require('./lang/mongodb.js'))\nrefractor.register(require('./lang/monkey.js'))\nrefractor.register(require('./lang/moonscript.js'))\nrefractor.register(require('./lang/n1ql.js'))\nrefractor.register(require('./lang/n4js.js'))\nrefractor.register(require('./lang/nand2tetris-hdl.js'))\nrefractor.register(require('./lang/naniscript.js'))\nrefractor.register(require('./lang/nasm.js'))\nrefractor.register(require('./lang/neon.js'))\nrefractor.register(require('./lang/nevod.js'))\nrefractor.register(require('./lang/nginx.js'))\nrefractor.register(require('./lang/nim.js'))\nrefractor.register(require('./lang/nix.js'))\nrefractor.register(require('./lang/nsis.js'))\nrefractor.register(require('./lang/objectivec.js'))\nrefractor.register(require('./lang/ocaml.js'))\nrefractor.register(require('./lang/opencl.js'))\nrefractor.register(require('./lang/openqasm.js'))\nrefractor.register(require('./lang/oz.js'))\nrefractor.register(require('./lang/parigp.js'))\nrefractor.register(require('./lang/parser.js'))\nrefractor.register(require('./lang/pascal.js'))\nrefractor.register(require('./lang/pascaligo.js'))\nrefractor.register(require('./lang/pcaxis.js'))\nrefractor.register(require('./lang/peoplecode.js'))\nrefractor.register(require('./lang/perl.js'))\nrefractor.register(require('./lang/php-extras.js'))\nrefractor.register(require('./lang/php.js'))\nrefractor.register(require('./lang/phpdoc.js'))\nrefractor.register(require('./lang/plsql.js'))\nrefractor.register(require('./lang/powerquery.js'))\nrefractor.register(require('./lang/powershell.js'))\nrefractor.register(require('./lang/processing.js'))\nrefractor.register(require('./lang/prolog.js'))\nrefractor.register(require('./lang/promql.js'))\nrefractor.register(require('./lang/properties.js'))\nrefractor.register(require('./lang/protobuf.js'))\nrefractor.register(require('./lang/psl.js'))\nrefractor.register(require('./lang/pug.js'))\nrefractor.register(require('./lang/puppet.js'))\nrefractor.register(require('./lang/pure.js'))\nrefractor.register(require('./lang/purebasic.js'))\nrefractor.register(require('./lang/purescript.js'))\nrefractor.register(require('./lang/python.js'))\nrefractor.register(require('./lang/q.js'))\nrefractor.register(require('./lang/qml.js'))\nrefractor.register(require('./lang/qore.js'))\nrefractor.register(require('./lang/qsharp.js'))\nrefractor.register(require('./lang/r.js'))\nrefractor.register(require('./lang/racket.js'))\nrefractor.register(require('./lang/reason.js'))\nrefractor.register(require('./lang/regex.js'))\nrefractor.register(require('./lang/rego.js'))\nrefractor.register(require('./lang/renpy.js'))\nrefractor.register(require('./lang/rest.js'))\nrefractor.register(require('./lang/rip.js'))\nrefractor.register(require('./lang/roboconf.js'))\nrefractor.register(require('./lang/robotframework.js'))\nrefractor.register(require('./lang/ruby.js'))\nrefractor.register(require('./lang/rust.js'))\nrefractor.register(require('./lang/sas.js'))\nrefractor.register(require('./lang/sass.js'))\nrefractor.register(require('./lang/scala.js'))\nrefractor.register(require('./lang/scheme.js'))\nrefractor.register(require('./lang/scss.js'))\nrefractor.register(require('./lang/shell-session.js'))\nrefractor.register(require('./lang/smali.js'))\nrefractor.register(require('./lang/smalltalk.js'))\nrefractor.register(require('./lang/smarty.js'))\nrefractor.register(require('./lang/sml.js'))\nrefractor.register(require('./lang/solidity.js'))\nrefractor.register(require('./lang/solution-file.js'))\nrefractor.register(require('./lang/soy.js'))\nrefractor.register(require('./lang/sparql.js'))\nrefractor.register(require('./lang/splunk-spl.js'))\nrefractor.register(require('./lang/sqf.js'))\nrefractor.register(require('./lang/sql.js'))\nrefractor.register(require('./lang/squirrel.js'))\nrefractor.register(require('./lang/stan.js'))\nrefractor.register(require('./lang/stylus.js'))\nrefractor.register(require('./lang/swift.js'))\nrefractor.register(require('./lang/systemd.js'))\nrefractor.register(require('./lang/t4-cs.js'))\nrefractor.register(require('./lang/t4-templating.js'))\nrefractor.register(require('./lang/t4-vb.js'))\nrefractor.register(require('./lang/tap.js'))\nrefractor.register(require('./lang/tcl.js'))\nrefractor.register(require('./lang/textile.js'))\nrefractor.register(require('./lang/toml.js'))\nrefractor.register(require('./lang/tremor.js'))\nrefractor.register(require('./lang/tsx.js'))\nrefractor.register(require('./lang/tt2.js'))\nrefractor.register(require('./lang/turtle.js'))\nrefractor.register(require('./lang/twig.js'))\nrefractor.register(require('./lang/typescript.js'))\nrefractor.register(require('./lang/typoscript.js'))\nrefractor.register(require('./lang/unrealscript.js'))\nrefractor.register(require('./lang/uorazor.js'))\nrefractor.register(require('./lang/uri.js'))\nrefractor.register(require('./lang/v.js'))\nrefractor.register(require('./lang/vala.js'))\nrefractor.register(require('./lang/vbnet.js'))\nrefractor.register(require('./lang/velocity.js'))\nrefractor.register(require('./lang/verilog.js'))\nrefractor.register(require('./lang/vhdl.js'))\nrefractor.register(require('./lang/vim.js'))\nrefractor.register(require('./lang/visual-basic.js'))\nrefractor.register(require('./lang/warpscript.js'))\nrefractor.register(require('./lang/wasm.js'))\nrefractor.register(require('./lang/web-idl.js'))\nrefractor.register(require('./lang/wiki.js'))\nrefractor.register(require('./lang/wolfram.js'))\nrefractor.register(require('./lang/wren.js'))\nrefractor.register(require('./lang/xeora.js'))\nrefractor.register(require('./lang/xml-doc.js'))\nrefractor.register(require('./lang/xojo.js'))\nrefractor.register(require('./lang/xquery.js'))\nrefractor.register(require('./lang/yaml.js'))\nrefractor.register(require('./lang/yang.js'))\nrefractor.register(require('./lang/zig.js'))\n","'use strict'\n\nmodule.exports = abap\nabap.displayName = 'abap'\nabap.aliases = []\nfunction abap(Prism) {\n Prism.languages.abap = {\n comment: /^\\*.*/m,\n string: /(`|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n 'string-template': {\n pattern: /([|}])(?:\\\\.|[^\\\\|{\\r\\n])*(?=[|{])/,\n lookbehind: true,\n alias: 'string'\n },\n /* End Of Line comments should not interfere with strings when the\nquote character occurs within them. We assume a string being highlighted\ninside an EOL comment is more acceptable than the opposite.\n*/\n 'eol-comment': {\n pattern: /(^|\\s)\".*/m,\n lookbehind: true,\n alias: 'comment'\n },\n keyword: {\n pattern:\n /(\\s|\\.|^)(?:SCIENTIFIC_WITH_LEADING_ZERO|SCALE_PRESERVING_SCIENTIFIC|RMC_COMMUNICATION_FAILURE|END-ENHANCEMENT-SECTION|MULTIPLY-CORRESPONDING|SUBTRACT-CORRESPONDING|VERIFICATION-MESSAGE|DIVIDE-CORRESPONDING|ENHANCEMENT-SECTION|CURRENCY_CONVERSION|RMC_SYSTEM_FAILURE|START-OF-SELECTION|MOVE-CORRESPONDING|RMC_INVALID_STATUS|CUSTOMER-FUNCTION|END-OF-DEFINITION|ENHANCEMENT-POINT|SYSTEM-EXCEPTIONS|ADD-CORRESPONDING|SCALE_PRESERVING|SELECTION-SCREEN|CURSOR-SELECTION|END-OF-SELECTION|LOAD-OF-PROGRAM|SCROLL-BOUNDARY|SELECTION-TABLE|EXCEPTION-TABLE|IMPLEMENTATIONS|PARAMETER-TABLE|RIGHT-JUSTIFIED|UNIT_CONVERSION|AUTHORITY-CHECK|LIST-PROCESSING|SIGN_AS_POSTFIX|COL_BACKGROUND|IMPLEMENTATION|INTERFACE-POOL|TRANSFORMATION|IDENTIFICATION|ENDENHANCEMENT|LINE-SELECTION|INITIALIZATION|LEFT-JUSTIFIED|SELECT-OPTIONS|SELECTION-SETS|COMMUNICATION|CORRESPONDING|DECIMAL_SHIFT|PRINT-CONTROL|VALUE-REQUEST|CHAIN-REQUEST|FUNCTION-POOL|FIELD-SYMBOLS|FUNCTIONALITY|INVERTED-DATE|SELECTION-SET|CLASS-METHODS|OUTPUT-LENGTH|CLASS-CODING|COL_NEGATIVE|ERRORMESSAGE|FIELD-GROUPS|HELP-REQUEST|NO-EXTENSION|NO-TOPOFPAGE|REDEFINITION|DISPLAY-MODE|ENDINTERFACE|EXIT-COMMAND|FIELD-SYMBOL|NO-SCROLLING|SHORTDUMP-ID|ACCESSPOLICY|CLASS-EVENTS|COL_POSITIVE|DECLARATIONS|ENHANCEMENTS|FILTER-TABLE|SWITCHSTATES|SYNTAX-CHECK|TRANSPORTING|ASYNCHRONOUS|SYNTAX-TRACE|TOKENIZATION|USER-COMMAND|WITH-HEADING|ABAP-SOURCE|BREAK-POINT|CHAIN-INPUT|COMPRESSION|FIXED-POINT|NEW-SECTION|NON-UNICODE|OCCURRENCES|RESPONSIBLE|SYSTEM-CALL|TRACE-TABLE|ABBREVIATED|CHAR-TO-HEX|END-OF-FILE|ENDFUNCTION|ENVIRONMENT|ASSOCIATION|COL_HEADING|EDITOR-CALL|END-OF-PAGE|ENGINEERING|IMPLEMENTED|INTENSIFIED|RADIOBUTTON|SYSTEM-EXIT|TOP-OF-PAGE|TRANSACTION|APPLICATION|CONCATENATE|DESTINATION|ENHANCEMENT|IMMEDIATELY|NO-GROUPING|PRECOMPILED|REPLACEMENT|TITLE-LINES|ACTIVATION|BYTE-ORDER|CLASS-POOL|CONNECTION|CONVERSION|DEFINITION|DEPARTMENT|EXPIRATION|INHERITING|MESSAGE-ID|NO-HEADING|PERFORMING|QUEUE-ONLY|RIGHTSPACE|SCIENTIFIC|STATUSINFO|STRUCTURES|SYNCPOINTS|WITH-TITLE|ATTRIBUTES|BOUNDARIES|CLASS-DATA|COL_NORMAL|DD\\/MM\\/YYYY|DESCENDING|INTERFACES|LINE-COUNT|MM\\/DD\\/YYYY|NON-UNIQUE|PRESERVING|SELECTIONS|STATEMENTS|SUBROUTINE|TRUNCATION|TYPE-POOLS|ARITHMETIC|BACKGROUND|ENDPROVIDE|EXCEPTIONS|IDENTIFIER|INDEX-LINE|OBLIGATORY|PARAMETERS|PERCENTAGE|PUSHBUTTON|RESOLUTION|COMPONENTS|DEALLOCATE|DISCONNECT|DUPLICATES|FIRST-LINE|HEAD-LINES|NO-DISPLAY|OCCURRENCE|RESPECTING|RETURNCODE|SUBMATCHES|TRACE-FILE|ASCENDING|BYPASSING|ENDMODULE|EXCEPTION|EXCLUDING|EXPORTING|INCREMENT|MATCHCODE|PARAMETER|PARTIALLY|PREFERRED|REFERENCE|REPLACING|RETURNING|SELECTION|SEPARATED|SPECIFIED|STATEMENT|TIMESTAMP|TYPE-POOL|ACCEPTING|APPENDAGE|ASSIGNING|COL_GROUP|COMPARING|CONSTANTS|DANGEROUS|IMPORTING|INSTANCES|LEFTSPACE|LOG-POINT|QUICKINFO|READ-ONLY|SCROLLING|SQLSCRIPT|STEP-LOOP|TOP-LINES|TRANSLATE|APPENDING|AUTHORITY|CHARACTER|COMPONENT|CONDITION|DIRECTORY|DUPLICATE|MESSAGING|RECEIVING|SUBSCREEN|ACCORDING|COL_TOTAL|END-LINES|ENDMETHOD|ENDSELECT|EXPANDING|EXTENSION|INCLUDING|INFOTYPES|INTERFACE|INTERVALS|LINE-SIZE|PF-STATUS|PROCEDURE|PROTECTED|REQUESTED|RESUMABLE|RIGHTPLUS|SAP-SPOOL|SECONDARY|STRUCTURE|SUBSTRING|TABLEVIEW|NUMOFCHAR|ADJACENT|ANALYSIS|ASSIGNED|BACKWARD|CHANNELS|CHECKBOX|CONTINUE|CRITICAL|DATAINFO|DD\\/MM\\/YY|DURATION|ENCODING|ENDCLASS|FUNCTION|LEFTPLUS|LINEFEED|MM\\/DD\\/YY|OVERFLOW|RECEIVED|SKIPPING|SORTABLE|STANDARD|SUBTRACT|SUPPRESS|TABSTRIP|TITLEBAR|TRUNCATE|UNASSIGN|WHENEVER|ANALYZER|COALESCE|COMMENTS|CONDENSE|DECIMALS|DEFERRED|ENDWHILE|EXPLICIT|KEYWORDS|MESSAGES|POSITION|PRIORITY|RECEIVER|RENAMING|TIMEZONE|TRAILING|ALLOCATE|CENTERED|CIRCULAR|CONTROLS|CURRENCY|DELETING|DESCRIBE|DISTANCE|ENDCATCH|EXPONENT|EXTENDED|GENERATE|IGNORING|INCLUDES|INTERNAL|MAJOR-ID|MODIFIER|NEW-LINE|OPTIONAL|PROPERTY|ROLLBACK|STARTING|SUPPLIED|ABSTRACT|CHANGING|CONTEXTS|CREATING|CUSTOMER|DATABASE|DAYLIGHT|DEFINING|DISTINCT|DIVISION|ENABLING|ENDCHAIN|ESCAPING|HARMLESS|IMPLICIT|INACTIVE|LANGUAGE|MINOR-ID|MULTIPLY|NEW-PAGE|NO-TITLE|POS_HIGH|SEPARATE|TEXTPOOL|TRANSFER|SELECTOR|DBMAXLEN|ITERATOR|ARCHIVE|BIT-XOR|BYTE-CO|COLLECT|COMMENT|CURRENT|DEFAULT|DISPLAY|ENDFORM|EXTRACT|LEADING|LISTBOX|LOCATOR|MEMBERS|METHODS|NESTING|POS_LOW|PROCESS|PROVIDE|RAISING|RESERVE|SECONDS|SUMMARY|VISIBLE|BETWEEN|BIT-AND|BYTE-CS|CLEANUP|COMPUTE|CONTROL|CONVERT|DATASET|ENDCASE|FORWARD|HEADERS|HOTSPOT|INCLUDE|INVERSE|KEEPING|NO-ZERO|OBJECTS|OVERLAY|PADDING|PATTERN|PROGRAM|REFRESH|SECTION|SUMMING|TESTING|VERSION|WINDOWS|WITHOUT|BIT-NOT|BYTE-CA|BYTE-NA|CASTING|CONTEXT|COUNTRY|DYNAMIC|ENABLED|ENDLOOP|EXECUTE|FRIENDS|HANDLER|HEADING|INITIAL|\\*-INPUT|LOGFILE|MAXIMUM|MINIMUM|NO-GAPS|NO-SIGN|PRAGMAS|PRIMARY|PRIVATE|REDUCED|REPLACE|REQUEST|RESULTS|UNICODE|WARNING|ALIASES|BYTE-CN|BYTE-NS|CALLING|COL_KEY|COLUMNS|CONNECT|ENDEXEC|ENTRIES|EXCLUDE|FILTERS|FURTHER|HELP-ID|LOGICAL|MAPPING|MESSAGE|NAMETAB|OPTIONS|PACKAGE|PERFORM|RECEIVE|STATICS|VARYING|BINDING|CHARLEN|GREATER|XSTRLEN|ACCEPT|APPEND|DETAIL|ELSEIF|ENDING|ENDTRY|FORMAT|FRAMES|GIVING|HASHED|HEADER|IMPORT|INSERT|MARGIN|MODULE|NATIVE|OBJECT|OFFSET|REMOTE|RESUME|SAVING|SIMPLE|SUBMIT|TABBED|TOKENS|UNIQUE|UNPACK|UPDATE|WINDOW|YELLOW|ACTUAL|ASPECT|CENTER|CURSOR|DELETE|DIALOG|DIVIDE|DURING|ERRORS|EVENTS|EXTEND|FILTER|HANDLE|HAVING|IGNORE|LITTLE|MEMORY|NO-GAP|OCCURS|OPTION|PERSON|PLACES|PUBLIC|REDUCE|REPORT|RESULT|SINGLE|SORTED|SWITCH|SYNTAX|TARGET|VALUES|WRITER|ASSERT|BLOCKS|BOUNDS|BUFFER|CHANGE|COLUMN|COMMIT|CONCAT|COPIES|CREATE|DDMMYY|DEFINE|ENDIAN|ESCAPE|EXPAND|KERNEL|LAYOUT|LEGACY|LEVELS|MMDDYY|NUMBER|OUTPUT|RANGES|READER|RETURN|SCREEN|SEARCH|SELECT|SHARED|SOURCE|STABLE|STATIC|SUBKEY|SUFFIX|TABLES|UNWIND|YYMMDD|ASSIGN|BACKUP|BEFORE|BINARY|BIT-OR|BLANKS|CLIENT|CODING|COMMON|DEMAND|DYNPRO|EXCEPT|EXISTS|EXPORT|FIELDS|GLOBAL|GROUPS|LENGTH|LOCALE|MEDIUM|METHOD|MODIFY|NESTED|OTHERS|REJECT|SCROLL|SUPPLY|SYMBOL|ENDFOR|STRLEN|ALIGN|BEGIN|BOUND|ENDAT|ENTRY|EVENT|FINAL|FLUSH|GRANT|INNER|SHORT|USING|WRITE|AFTER|BLACK|BLOCK|CLOCK|COLOR|COUNT|DUMMY|EMPTY|ENDDO|ENDON|GREEN|INDEX|INOUT|LEAVE|LEVEL|LINES|MODIF|ORDER|OUTER|RANGE|RESET|RETRY|RIGHT|SMART|SPLIT|STYLE|TABLE|THROW|UNDER|UNTIL|UPPER|UTF-8|WHERE|ALIAS|BLANK|CLEAR|CLOSE|EXACT|FETCH|FIRST|FOUND|GROUP|LLANG|LOCAL|OTHER|REGEX|SPOOL|TITLE|TYPES|VALID|WHILE|ALPHA|BOXED|CATCH|CHAIN|CHECK|CLASS|COVER|ENDIF|EQUIV|FIELD|FLOOR|FRAME|INPUT|LOWER|MATCH|NODES|PAGES|PRINT|RAISE|ROUND|SHIFT|SPACE|SPOTS|STAMP|STATE|TASKS|TIMES|TRMAC|ULINE|UNION|VALUE|WIDTH|EQUAL|LOG10|TRUNC|BLOB|CASE|CEIL|CLOB|COND|EXIT|FILE|GAPS|HOLD|INCL|INTO|KEEP|KEYS|LAST|LINE|LONG|LPAD|MAIL|MODE|OPEN|PINK|READ|ROWS|TEST|THEN|ZERO|AREA|BACK|BADI|BYTE|CAST|EDIT|EXEC|FAIL|FIND|FKEQ|FONT|FREE|GKEQ|HIDE|INIT|ITNO|LATE|LOOP|MAIN|MARK|MOVE|NEXT|NULL|RISK|ROLE|UNIT|WAIT|ZONE|BASE|CALL|CODE|DATA|DATE|FKGE|GKGE|HIGH|KIND|LEFT|LIST|MASK|MESH|NAME|NODE|PACK|PAGE|POOL|SEND|SIGN|SIZE|SOME|STOP|TASK|TEXT|TIME|USER|VARY|WITH|WORD|BLUE|CONV|COPY|DEEP|ELSE|FORM|FROM|HINT|ICON|JOIN|LIKE|LOAD|ONLY|PART|SCAN|SKIP|SORT|TYPE|UNIX|VIEW|WHEN|WORK|ACOS|ASIN|ATAN|COSH|EACH|FRAC|LESS|RTTI|SINH|SQRT|TANH|AVG|BIT|DIV|ISO|LET|OUT|PAD|SQL|ALL|CI_|CPI|END|LOB|LPI|MAX|MIN|NEW|OLE|RUN|SET|\\?TO|YES|ABS|ADD|AND|BIG|FOR|HDB|JOB|LOW|NOT|SAP|TRY|VIA|XML|ANY|GET|IDS|KEY|MOD|OFF|PUT|RAW|RED|REF|SUM|TAB|XSD|CNT|COS|EXP|LOG|SIN|TAN|XOR|AT|CO|CP|DO|GT|ID|IF|NS|OR|BT|CA|CS|GE|NA|NB|EQ|IN|LT|NE|NO|OF|ON|PF|TO|AS|BY|CN|IS|LE|NP|UP|E|I|M|O|Z|C|X)\\b/i,\n lookbehind: true\n },\n /* Numbers can be only integers. Decimal or Hex appear only as strings */\n number: /\\b\\d+\\b/,\n /* Operators must always be surrounded by whitespace, they cannot be put\nadjacent to operands.\n*/\n operator: {\n pattern: /(\\s)(?:\\*\\*?|<[=>]?|>=?|\\?=|[-+\\/=])(?=\\s)/,\n lookbehind: true\n },\n 'string-operator': {\n pattern: /(\\s)&&?(?=\\s)/,\n lookbehind: true,\n /* The official editor highlights */\n alias: 'keyword'\n },\n 'token-operator': [\n {\n /* Special operators used to access structure components, class methods/attributes, etc. */\n pattern: /(\\w)(?:->?|=>|[~|{}])(?=\\w)/,\n lookbehind: true,\n alias: 'punctuation'\n },\n {\n /* Special tokens used do delimit string templates */\n pattern: /[|{}]/,\n alias: 'punctuation'\n }\n ],\n punctuation: /[,.:()]/\n }\n}\n","'use strict'\n\nmodule.exports = abnf\nabnf.displayName = 'abnf'\nabnf.aliases = []\nfunction abnf(Prism) {\n ;(function (Prism) {\n var coreRules =\n '(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)'\n Prism.languages.abnf = {\n comment: /;.*/,\n string: {\n pattern: /(?:%[is])?\"[^\"\\n\\r]*\"/,\n greedy: true,\n inside: {\n punctuation: /^%[is]/\n }\n },\n range: {\n pattern: /%(?:b[01]+-[01]+|d\\d+-\\d+|x[A-F\\d]+-[A-F\\d]+)/i,\n alias: 'number'\n },\n terminal: {\n pattern:\n /%(?:b[01]+(?:\\.[01]+)*|d\\d+(?:\\.\\d+)*|x[A-F\\d]+(?:\\.[A-F\\d]+)*)/i,\n alias: 'number'\n },\n repetition: {\n pattern: /(^|[^\\w-])(?:\\d*\\*\\d*|\\d+)/,\n lookbehind: true,\n alias: 'operator'\n },\n definition: {\n pattern: /(^[ \\t]*)(?:[a-z][\\w-]*|<[^<>\\r\\n]*>)(?=\\s*=)/m,\n lookbehind: true,\n alias: 'keyword',\n inside: {\n punctuation: /<|>/\n }\n },\n 'core-rule': {\n pattern: RegExp(\n '(?:(^|[^<\\\\w-])' + coreRules + '|<' + coreRules + '>)(?![\\\\w-])',\n 'i'\n ),\n lookbehind: true,\n alias: ['rule', 'constant'],\n inside: {\n punctuation: /<|>/\n }\n },\n rule: {\n pattern: /(^|[^<\\w-])[a-z][\\w-]*|<[^<>\\r\\n]*>/i,\n lookbehind: true,\n inside: {\n punctuation: /<|>/\n }\n },\n operator: /=\\/?|\\//,\n punctuation: /[()\\[\\]]/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = actionscript\nactionscript.displayName = 'actionscript'\nactionscript.aliases = []\nfunction actionscript(Prism) {\n Prism.languages.actionscript = Prism.languages.extend('javascript', {\n keyword:\n /\\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\\b/,\n operator: /\\+\\+|--|(?:[+\\-*\\/%^]|&&?|\\|\\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/\n })\n Prism.languages.actionscript['class-name'].alias = 'function' // doesn't work with AS because AS is too complex\n delete Prism.languages.actionscript['parameter']\n delete Prism.languages.actionscript['literal-property']\n if (Prism.languages.markup) {\n Prism.languages.insertBefore('actionscript', 'string', {\n xml: {\n pattern:\n /(^|[^.])<\\/?\\w+(?:\\s+[^\\s>\\/=]+=(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2)*\\s*\\/?>/,\n lookbehind: true,\n inside: Prism.languages.markup\n }\n })\n }\n}\n","'use strict'\n\nmodule.exports = ada\nada.displayName = 'ada'\nada.aliases = []\nfunction ada(Prism) {\n Prism.languages.ada = {\n comment: /--.*/,\n string: /\"(?:\"\"|[^\"\\r\\f\\n])*\"/,\n number: [\n {\n pattern:\n /\\b\\d(?:_?\\d)*#[\\dA-F](?:_?[\\dA-F])*(?:\\.[\\dA-F](?:_?[\\dA-F])*)?#(?:E[+-]?\\d(?:_?\\d)*)?/i\n },\n {\n pattern: /\\b\\d(?:_?\\d)*(?:\\.\\d(?:_?\\d)*)?(?:E[+-]?\\d(?:_?\\d)*)?\\b/i\n }\n ],\n 'attr-name': /\\b'\\w+/,\n keyword:\n /\\b(?:abort|abs|abstract|accept|access|aliased|all|and|array|at|begin|body|case|constant|declare|delay|delta|digits|do|else|elsif|end|entry|exception|exit|for|function|generic|goto|if|in|interface|is|limited|loop|mod|new|not|null|of|others|out|overriding|package|pragma|private|procedure|protected|raise|range|record|rem|renames|requeue|return|reverse|select|separate|some|subtype|synchronized|tagged|task|terminate|then|type|until|use|when|while|with|xor)\\b/i,\n boolean: /\\b(?:false|true)\\b/i,\n operator: /<[=>]?|>=?|=>?|:=|\\/=?|\\*\\*?|[&+-]/,\n punctuation: /\\.\\.?|[,;():]/,\n char: /'.'/,\n variable: /\\b[a-z](?:\\w)*\\b/i\n }\n}\n","'use strict'\n\nmodule.exports = agda\nagda.displayName = 'agda'\nagda.aliases = []\nfunction agda(Prism) {\n ;(function (Prism) {\n Prism.languages.agda = {\n comment: /\\{-[\\s\\S]*?(?:-\\}|$)|--.*/,\n string: {\n pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n\"])*\"/,\n greedy: true\n },\n punctuation: /[(){}⦃⦄.;@]/,\n 'class-name': {\n pattern: /((?:data|record) +)\\S+/,\n lookbehind: true\n },\n function: {\n pattern: /(^[ \\t]*)(?!\\s)[^:\\r\\n]+(?=:)/m,\n lookbehind: true\n },\n operator: {\n pattern: /(^\\s*|\\s)(?:[=|:∀→λ\\\\?_]|->)(?=\\s)/,\n lookbehind: true\n },\n keyword:\n /\\b(?:Set|abstract|constructor|data|eta-equality|field|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\\b/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = al\nal.displayName = 'al'\nal.aliases = []\nfunction al(Prism) {\n // based on https://github.com/microsoft/AL/blob/master/grammar/alsyntax.tmlanguage\n Prism.languages.al = {\n comment: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n string: {\n pattern: /'(?:''|[^'\\r\\n])*'(?!')|\"(?:\"\"|[^\"\\r\\n])*\"(?!\")/,\n greedy: true\n },\n function: {\n pattern:\n /(\\b(?:event|procedure|trigger)\\s+|(?:^|[^.])\\.\\s*)[a-z_]\\w*(?=\\s*\\()/i,\n lookbehind: true\n },\n keyword: [\n // keywords\n /\\b(?:array|asserterror|begin|break|case|do|downto|else|end|event|exit|for|foreach|function|if|implements|in|indataset|interface|internal|local|of|procedure|program|protected|repeat|runonclient|securityfiltering|suppressdispose|temporary|then|to|trigger|until|var|while|with|withevents)\\b/i, // objects and metadata that are used like keywords\n /\\b(?:action|actions|addafter|addbefore|addfirst|addlast|area|assembly|chartpart|codeunit|column|controladdin|cuegroup|customizes|dataitem|dataset|dotnet|elements|enum|enumextension|extends|field|fieldattribute|fieldelement|fieldgroup|fieldgroups|fields|filter|fixed|grid|group|key|keys|label|labels|layout|modify|moveafter|movebefore|movefirst|movelast|page|pagecustomization|pageextension|part|profile|query|repeater|report|requestpage|schema|separator|systempart|table|tableelement|tableextension|textattribute|textelement|type|usercontrol|value|xmlport)\\b/i\n ],\n number:\n /\\b(?:0x[\\da-f]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?)(?:F|LL?|U(?:LL?)?)?\\b/i,\n boolean: /\\b(?:false|true)\\b/i,\n variable: /\\b(?:Curr(?:FieldNo|Page|Report)|x?Rec|RequestOptionsPage)\\b/,\n 'class-name':\n /\\b(?:automation|biginteger|bigtext|blob|boolean|byte|char|clienttype|code|completiontriggererrorlevel|connectiontype|database|dataclassification|datascope|date|dateformula|datetime|decimal|defaultlayout|dialog|dictionary|dotnetassembly|dotnettypedeclaration|duration|errorinfo|errortype|executioncontext|executionmode|fieldclass|fieldref|fieldtype|file|filterpagebuilder|guid|httpclient|httpcontent|httpheaders|httprequestmessage|httpresponsemessage|instream|integer|joker|jsonarray|jsonobject|jsontoken|jsonvalue|keyref|list|moduledependencyinfo|moduleinfo|none|notification|notificationscope|objecttype|option|outstream|pageresult|record|recordid|recordref|reportformat|securityfilter|sessionsettings|tableconnectiontype|tablefilter|testaction|testfield|testfilterfield|testpage|testpermissions|testrequestpage|text|textbuilder|textconst|textencoding|time|transactionmodel|transactiontype|variant|verbosity|version|view|views|webserviceactioncontext|webserviceactionresultcode|xmlattribute|xmlattributecollection|xmlcdata|xmlcomment|xmldeclaration|xmldocument|xmldocumenttype|xmlelement|xmlnamespacemanager|xmlnametable|xmlnode|xmlnodelist|xmlprocessinginstruction|xmlreadoptions|xmltext|xmlwriteoptions)\\b/i,\n operator: /\\.\\.|:[=:]|[-+*/]=?|<>|[<>]=?|=|\\b(?:and|div|mod|not|or|xor)\\b/i,\n punctuation: /[()\\[\\]{}:.;,]/\n }\n}\n","'use strict'\n\nmodule.exports = antlr4\nantlr4.displayName = 'antlr4'\nantlr4.aliases = ['g4']\nfunction antlr4(Prism) {\n Prism.languages.antlr4 = {\n comment: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n string: {\n pattern: /'(?:\\\\.|[^\\\\'\\r\\n])*'/,\n greedy: true\n },\n 'character-class': {\n pattern: /\\[(?:\\\\.|[^\\\\\\]\\r\\n])*\\]/,\n greedy: true,\n alias: 'regex',\n inside: {\n range: {\n pattern: /([^[]|(?:^|[^\\\\])(?:\\\\\\\\)*\\\\\\[)-(?!\\])/,\n lookbehind: true,\n alias: 'punctuation'\n },\n escape:\n /\\\\(?:u(?:[a-fA-F\\d]{4}|\\{[a-fA-F\\d]+\\})|[pP]\\{[=\\w-]+\\}|[^\\r\\nupP])/,\n punctuation: /[\\[\\]]/\n }\n },\n action: {\n pattern: /\\{(?:[^{}]|\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})*\\})*\\}/,\n greedy: true,\n inside: {\n content: {\n // this might be C, C++, Python, Java, C#, or any other language ANTLR4 compiles to\n pattern: /(\\{)[\\s\\S]+(?=\\})/,\n lookbehind: true\n },\n punctuation: /[{}]/\n }\n },\n command: {\n pattern:\n /(->\\s*(?!\\s))(?:\\s*(?:,\\s*)?\\b[a-z]\\w*(?:\\s*\\([^()\\r\\n]*\\))?)+(?=\\s*;)/i,\n lookbehind: true,\n inside: {\n function: /\\b\\w+(?=\\s*(?:[,(]|$))/,\n punctuation: /[,()]/\n }\n },\n annotation: {\n pattern: /@\\w+(?:::\\w+)*/,\n alias: 'keyword'\n },\n label: {\n pattern: /#[ \\t]*\\w+/,\n alias: 'punctuation'\n },\n keyword:\n /\\b(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|parser|returns|throws|tokens)\\b/,\n definition: [\n {\n pattern: /\\b[a-z]\\w*(?=\\s*:)/,\n alias: ['rule', 'class-name']\n },\n {\n pattern: /\\b[A-Z]\\w*(?=\\s*:)/,\n alias: ['token', 'constant']\n }\n ],\n constant: /\\b[A-Z][A-Z_]*\\b/,\n operator: /\\.\\.|->|[|~]|[*+?]\\??/,\n punctuation: /[;:()=]/\n }\n Prism.languages.g4 = Prism.languages.antlr4\n}\n","'use strict'\n\nmodule.exports = apacheconf\napacheconf.displayName = 'apacheconf'\napacheconf.aliases = []\nfunction apacheconf(Prism) {\n Prism.languages.apacheconf = {\n comment: /#.*/,\n 'directive-inline': {\n pattern:\n /(^[\\t ]*)\\b(?:AcceptFilter|AcceptPathInfo|AccessFileName|Action|Add(?:Alt|AltByEncoding|AltByType|Charset|DefaultCharset|Description|Encoding|Handler|Icon|IconByEncoding|IconByType|InputFilter|Language|ModuleInfo|OutputFilter|OutputFilterByType|Type)|Alias|AliasMatch|Allow(?:CONNECT|EncodedSlashes|Methods|Override|OverrideList)?|Anonymous(?:_LogEmail|_MustGiveEmail|_NoUserID|_VerifyEmail)?|AsyncRequestWorkerFactor|Auth(?:BasicAuthoritative|BasicFake|BasicProvider|BasicUseDigestAlgorithm|DBDUserPWQuery|DBDUserRealmQuery|DBMGroupFile|DBMType|DBMUserFile|Digest(?:Algorithm|Domain|NonceLifetime|Provider|Qop|ShmemSize)|Form(?:Authoritative|Body|DisableNoStore|FakeBasicAuth|Location|LoginRequiredLocation|LoginSuccessLocation|LogoutLocation|Method|Mimetype|Password|Provider|SitePassphrase|Size|Username)|GroupFile|LDAP(?:AuthorizePrefix|BindAuthoritative|BindDN|BindPassword|CharsetConfig|CompareAsUser|CompareDNOnServer|DereferenceAliases|GroupAttribute|GroupAttributeIsDN|InitialBindAsUser|InitialBindPattern|MaxSubGroupDepth|RemoteUserAttribute|RemoteUserIsDN|SearchAsUser|SubGroupAttribute|SubGroupClass|Url)|Merging|Name|nCache(?:Context|Enable|ProvideFor|SOCache|Timeout)|nzFcgiCheckAuthnProvider|nzFcgiDefineProvider|Type|UserFile|zDBDLoginToReferer|zDBDQuery|zDBDRedirectQuery|zDBMType|zSendForbiddenOnFailure)|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferedLogs|BufferSize|Cache(?:DefaultExpire|DetailHeader|DirLength|DirLevels|Disable|Enable|File|Header|IgnoreCacheControl|IgnoreHeaders|IgnoreNoLastMod|IgnoreQueryString|IgnoreURLSessionIdentifiers|KeyBaseURL|LastModifiedFactor|Lock|LockMaxAge|LockPath|MaxExpire|MaxFileSize|MinExpire|MinFileSize|NegotiatedDocs|QuickHandler|ReadSize|ReadTime|Root|Socache(?:MaxSize|MaxTime|MinTime|ReadSize|ReadTime)?|StaleOnError|StoreExpired|StoreNoStore|StorePrivate)|CGIDScriptTimeout|CGIMapExtension|CharsetDefault|CharsetOptions|CharsetSourceEnc|CheckCaseOnly|CheckSpelling|ChrootDir|ContentDigest|CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking|CoreDumpDirectory|CustomLog|Dav|DavDepthInfinity|DavGenericLockDB|DavLockDB|DavMinTimeout|DBDExptime|DBDInitSQL|DBDKeep|DBDMax|DBDMin|DBDParams|DBDPersist|DBDPrepareSQL|DBDriver|DefaultIcon|DefaultLanguage|DefaultRuntimeDir|DefaultType|Define|Deflate(?:BufferSize|CompressionLevel|FilterNote|InflateLimitRequestBody|InflateRatio(?:Burst|Limit)|MemLevel|WindowSize)|Deny|DirectoryCheckHandler|DirectoryIndex|DirectoryIndexRedirect|DirectorySlash|DocumentRoot|DTracePrivileges|DumpIOInput|DumpIOOutput|EnableExceptionHook|EnableMMAP|EnableSendfile|Error|ErrorDocument|ErrorLog|ErrorLogFormat|Example|ExpiresActive|ExpiresByType|ExpiresDefault|ExtendedStatus|ExtFilterDefine|ExtFilterOptions|FallbackResource|FileETag|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace|ForceLanguagePriority|ForceType|ForensicLog|GprofDir|GracefulShutdownTimeout|Group|Header|HeaderName|Heartbeat(?:Address|Listen|MaxServers|Storage)|HostnameLookups|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|Index(?:HeadInsert|Ignore|IgnoreReset|Options|OrderDefault|StyleSheet)|InputSed|ISAPI(?:AppendLogToErrors|AppendLogToQuery|CacheFile|FakeAsync|LogNotSupported|ReadAheadBuffer)|KeepAlive|KeepAliveTimeout|KeptBodySize|LanguagePriority|LDAP(?:CacheEntries|CacheTTL|ConnectionPoolTTL|ConnectionTimeout|LibraryDebug|OpCacheEntries|OpCacheTTL|ReferralHopLimit|Referrals|Retries|RetryDelay|SharedCacheFile|SharedCacheSize|Timeout|TrustedClientCert|TrustedGlobalCert|TrustedMode|VerifyServerCert)|Limit(?:InternalRecursion|Request(?:Body|Fields|FieldSize|Line)|XMLRequestBody)|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|Lua(?:Hook(?:AccessChecker|AuthChecker|CheckUserID|Fixups|InsertFilter|Log|MapToStorage|TranslateName|TypeChecker)|Inherit|InputFilter|MapHandler|OutputFilter|PackageCPath|PackagePath|QuickHandler|Root|Scope)|Max(?:ConnectionsPerChild|KeepAliveRequests|MemFree|RangeOverlaps|RangeReversals|Ranges|RequestWorkers|SpareServers|SpareThreads|Threads)|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|MMapFile|ModemStandard|ModMimeUsePathInfo|MultiviewsMatch|Mutex|NameVirtualHost|NoProxy|NWSSLTrustedCerts|NWSSLUpgradeable|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|Proxy(?:AddHeaders|BadHeader|Block|Domain|ErrorOverride|ExpressDBMFile|ExpressDBMType|ExpressEnable|FtpDirCharset|FtpEscapeWildcards|FtpListOnWildcard|HTML(?:BufSize|CharsetOut|DocType|Enable|Events|Extended|Fixups|Interp|Links|Meta|StripComments|URLMap)|IOBufferSize|MaxForwards|Pass(?:Inherit|InterpolateEnv|Match|Reverse|ReverseCookieDomain|ReverseCookiePath)?|PreserveHost|ReceiveBufferSize|Remote|RemoteMatch|Requests|SCGIInternalRedirect|SCGISendfile|Set|SourceAddress|Status|Timeout|Via)|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIP(?:Header|InternalProxy|InternalProxyList|ProxiesHeader|TrustedProxy|TrustedProxyList)|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|Rewrite(?:Base|Cond|Engine|Map|Options|Rule)|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScoreBoardFile|Script(?:Alias|AliasMatch|InterpreterSource|Log|LogBuffer|LogLength|Sock)?|SecureListen|SeeRequestTail|SendBufferSize|Server(?:Admin|Alias|Limit|Name|Path|Root|Signature|Tokens)|Session(?:Cookie(?:Name|Name2|Remove)|Crypto(?:Cipher|Driver|Passphrase|PassphraseFile)|DBD(?:CookieName|CookieName2|CookieRemove|DeleteLabel|InsertLabel|PerUser|SelectLabel|UpdateLabel)|Env|Exclude|Header|Include|MaxAge)?|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|SSIEndTag|SSIErrorMsg|SSIETag|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSL(?:CACertificateFile|CACertificatePath|CADNRequestFile|CADNRequestPath|CARevocationCheck|CARevocationFile|CARevocationPath|CertificateChainFile|CertificateFile|CertificateKeyFile|CipherSuite|Compression|CryptoDevice|Engine|FIPS|HonorCipherOrder|InsecureRenegotiation|OCSP(?:DefaultResponder|Enable|OverrideResponder|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|UseRequestNonce)|OpenSSLConfCmd|Options|PassPhraseDialog|Protocol|Proxy(?:CACertificateFile|CACertificatePath|CARevocation(?:Check|File|Path)|CheckPeer(?:CN|Expire|Name)|CipherSuite|Engine|MachineCertificate(?:ChainFile|File|Path)|Protocol|Verify|VerifyDepth)|RandomSeed|RenegBufferSize|Require|RequireSSL|Session(?:Cache|CacheTimeout|TicketKeyFile|Tickets)|SRPUnknownUserSeed|SRPVerifierFile|Stapling(?:Cache|ErrorCacheTimeout|FakeTryLater|ForceURL|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|ReturnResponderErrors|StandardCacheTimeout)|StrictSNIVHostCheck|UserName|UseStapling|VerifyClient|VerifyDepth)|StartServers|StartThreads|Substitute|Suexec|SuexecUserGroup|ThreadLimit|ThreadsPerChild|ThreadStackSize|TimeOut|TraceEnable|TransferLog|TypesConfig|UnDefine|UndefMacro|UnsetEnv|Use|UseCanonicalName|UseCanonicalPhysicalPort|User|UserDir|VHostCGIMode|VHostCGIPrivs|VHostGroup|VHostPrivs|VHostSecure|VHostUser|Virtual(?:DocumentRoot|ScriptAlias)(?:IP)?|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\\b/im,\n lookbehind: true,\n alias: 'property'\n },\n 'directive-block': {\n pattern:\n /<\\/?\\b(?:Auth[nz]ProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|Require(?:All|Any|None)|VirtualHost)\\b.*>/i,\n inside: {\n 'directive-block': {\n pattern: /^<\\/?\\w+/,\n inside: {\n punctuation: /^<\\/?/\n },\n alias: 'tag'\n },\n 'directive-block-parameter': {\n pattern: /.*[^>]/,\n inside: {\n punctuation: /:/,\n string: {\n pattern: /(\"|').*\\1/,\n inside: {\n variable: /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/\n }\n }\n },\n alias: 'attr-value'\n },\n punctuation: />/\n },\n alias: 'tag'\n },\n 'directive-flags': {\n pattern: /\\[(?:[\\w=],?)+\\]/,\n alias: 'keyword'\n },\n string: {\n pattern: /(\"|').*\\1/,\n inside: {\n variable: /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/\n }\n },\n variable: /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/,\n regex: /\\^?.*\\$|\\^.*\\$?/\n }\n}\n","'use strict'\nvar refractorSql = require('./sql.js')\nmodule.exports = apex\napex.displayName = 'apex'\napex.aliases = []\nfunction apex(Prism) {\n Prism.register(refractorSql)\n ;(function (Prism) {\n var keywords =\n /\\b(?:(?:after|before)(?=\\s+[a-z])|abstract|activate|and|any|array|as|asc|autonomous|begin|bigdecimal|blob|boolean|break|bulk|by|byte|case|cast|catch|char|class|collect|commit|const|continue|currency|date|datetime|decimal|default|delete|desc|do|double|else|end|enum|exception|exit|export|extends|final|finally|float|for|from|get(?=\\s*[{};])|global|goto|group|having|hint|if|implements|import|in|inner|insert|instanceof|int|integer|interface|into|join|like|limit|list|long|loop|map|merge|new|not|null|nulls|number|object|of|on|or|outer|override|package|parallel|pragma|private|protected|public|retrieve|return|rollback|select|set|short|sObject|sort|static|string|super|switch|synchronized|system|testmethod|then|this|throw|time|transaction|transient|trigger|try|undelete|update|upsert|using|virtual|void|webservice|when|where|while|(?:inherited|with|without)\\s+sharing)\\b/i\n var className =\n /\\b(?:(?=[a-z_]\\w*\\s*[<\\[])|(?!<keyword>))[A-Z_]\\w*(?:\\s*\\.\\s*[A-Z_]\\w*)*\\b(?:\\s*(?:\\[\\s*\\]|<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>))*/.source.replace(\n /<keyword>/g,\n function () {\n return keywords.source\n }\n )\n /** @param {string} pattern */\n function insertClassName(pattern) {\n return RegExp(\n pattern.replace(/<CLASS-NAME>/g, function () {\n return className\n }),\n 'i'\n )\n }\n var classNameInside = {\n keyword: keywords,\n punctuation: /[()\\[\\]{};,:.<>]/\n }\n Prism.languages.apex = {\n comment: Prism.languages.clike.comment,\n string: Prism.languages.clike.string,\n sql: {\n pattern: /((?:[=,({:]|\\breturn)\\s*)\\[[^\\[\\]]*\\]/i,\n lookbehind: true,\n greedy: true,\n alias: 'language-sql',\n inside: Prism.languages.sql\n },\n annotation: {\n pattern: /@\\w+\\b/,\n alias: 'punctuation'\n },\n 'class-name': [\n {\n pattern: insertClassName(\n /(\\b(?:class|enum|extends|implements|instanceof|interface|new|trigger\\s+\\w+\\s+on)\\s+)<CLASS-NAME>/\n .source\n ),\n lookbehind: true,\n inside: classNameInside\n },\n {\n // cast\n pattern: insertClassName(\n /(\\(\\s*)<CLASS-NAME>(?=\\s*\\)\\s*[\\w(])/.source\n ),\n lookbehind: true,\n inside: classNameInside\n },\n {\n // variable/parameter declaration and return types\n pattern: insertClassName(/<CLASS-NAME>(?=\\s*\\w+\\s*[;=,(){:])/.source),\n inside: classNameInside\n }\n ],\n trigger: {\n pattern: /(\\btrigger\\s+)\\w+\\b/i,\n lookbehind: true,\n alias: 'class-name'\n },\n keyword: keywords,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n boolean: /\\b(?:false|true)\\b/i,\n number: /(?:\\B\\.\\d+|\\b\\d+(?:\\.\\d+|L)?)\\b/i,\n operator:\n /[!=](?:==?)?|\\?\\.?|&&|\\|\\||--|\\+\\+|[-+*/^&|]=?|:|<<?=?|>{1,3}=?/,\n punctuation: /[()\\[\\]{};,.]/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = apl\napl.displayName = 'apl'\napl.aliases = []\nfunction apl(Prism) {\n Prism.languages.apl = {\n comment: /(?:⍝|#[! ]).*$/m,\n string: {\n pattern: /'(?:[^'\\r\\n]|'')*'/,\n greedy: true\n },\n number:\n /¯?(?:\\d*\\.?\\b\\d+(?:e[+¯]?\\d+)?|¯|∞)(?:j¯?(?:(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:e[+¯]?\\d+)?|¯|∞))?/i,\n statement: /:[A-Z][a-z][A-Za-z]*\\b/,\n 'system-function': {\n pattern: /⎕[A-Z]+/i,\n alias: 'function'\n },\n constant: /[⍬⌾#⎕⍞]/,\n function: /[-+×÷⌈⌊∣|⍳⍸?*⍟○!⌹<≤=>≥≠≡≢∊⍷∪∩~∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⊆⊇⌷⍋⍒⊤⊥⍕⍎⊣⊢⍁⍂≈⍯↗¤→]/,\n 'monadic-operator': {\n pattern: /[\\\\\\/⌿⍀¨⍨⌶&∥]/,\n alias: 'operator'\n },\n 'dyadic-operator': {\n pattern: /[.⍣⍠⍤∘⌸@⌺⍥]/,\n alias: 'operator'\n },\n assignment: {\n pattern: /←/,\n alias: 'keyword'\n },\n punctuation: /[\\[;\\]()◇⋄]/,\n dfn: {\n pattern: /[{}⍺⍵⍶⍹∇⍫:]/,\n alias: 'builtin'\n }\n }\n}\n","'use strict'\n\nmodule.exports = applescript\napplescript.displayName = 'applescript'\napplescript.aliases = []\nfunction applescript(Prism) {\n Prism.languages.applescript = {\n comment: [\n // Allow one level of nesting\n /\\(\\*(?:\\(\\*(?:[^*]|\\*(?!\\)))*\\*\\)|(?!\\(\\*)[\\s\\S])*?\\*\\)/,\n /--.+/,\n /#.+/\n ],\n string: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n number: /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e-?\\d+)?\\b/i,\n operator: [\n /[&=≠≤≥*+\\-\\/÷^]|[<>]=?/,\n /\\b(?:(?:begin|end|start)s? with|(?:contains?|(?:does not|doesn't) contain)|(?:is|isn't|is not) (?:contained by|in)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:comes|(?:does not|doesn't) come) (?:after|before)|(?:is|isn't|is not) equal(?: to)?|(?:(?:does not|doesn't) equal|equal to|equals|is not|isn't)|(?:a )?(?:ref(?: to)?|reference to)|(?:and|as|div|mod|not|or))\\b/\n ],\n keyword:\n /\\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\\b/,\n 'class-name':\n /\\b(?:POSIX file|RGB color|alias|application|boolean|centimeters|centimetres|class|constant|cubic centimeters|cubic centimetres|cubic feet|cubic inches|cubic meters|cubic metres|cubic yards|date|degrees Celsius|degrees Fahrenheit|degrees Kelvin|feet|file|gallons|grams|inches|integer|kilograms|kilometers|kilometres|list|liters|litres|meters|metres|miles|number|ounces|pounds|quarts|real|record|reference|script|square feet|square kilometers|square kilometres|square meters|square metres|square miles|square yards|text|yards)\\b/,\n punctuation: /[{}():,¬«»《》]/\n }\n}\n","'use strict'\n\nmodule.exports = aql\naql.displayName = 'aql'\naql.aliases = []\nfunction aql(Prism) {\n Prism.languages.aql = {\n comment: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n property: {\n pattern:\n /([{,]\\s*)(?:(?!\\d)\\w+|([\"'´`])(?:(?!\\2)[^\\\\\\r\\n]|\\\\.)*\\2)(?=\\s*:)/,\n lookbehind: true,\n greedy: true\n },\n string: {\n pattern: /([\"'])(?:(?!\\1)[^\\\\\\r\\n]|\\\\.)*\\1/,\n greedy: true\n },\n identifier: {\n pattern: /([´`])(?:(?!\\1)[^\\\\\\r\\n]|\\\\.)*\\1/,\n greedy: true\n },\n variable: /@@?\\w+/,\n keyword: [\n {\n pattern: /(\\bWITH\\s+)COUNT(?=\\s+INTO\\b)/i,\n lookbehind: true\n },\n /\\b(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_PATHS|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WINDOW|WITH)\\b/i, // pseudo keywords get a lookbehind to avoid false positives\n {\n pattern: /(^|[^\\w.[])(?:KEEP|PRUNE|SEARCH|TO)\\b/i,\n lookbehind: true\n },\n {\n pattern: /(^|[^\\w.[])(?:CURRENT|NEW|OLD)\\b/,\n lookbehind: true\n },\n {\n pattern: /\\bOPTIONS(?=\\s*\\{)/i\n }\n ],\n function: /\\b(?!\\d)\\w+(?=\\s*\\()/,\n boolean: /\\b(?:false|true)\\b/i,\n range: {\n pattern: /\\.\\./,\n alias: 'operator'\n },\n number: [\n /\\b0b[01]+/i,\n /\\b0x[0-9a-f]+/i,\n /(?:\\B\\.\\d+|\\b(?:0|[1-9]\\d*)(?:\\.\\d+)?)(?:e[+-]?\\d+)?/i\n ],\n operator: /\\*{2,}|[=!]~|[!=<>]=?|&&|\\|\\||[-+*/%]/,\n punctuation: /::|[?.:,;()[\\]{}]/\n }\n}\n","'use strict'\nvar refractorCpp = require('./cpp.js')\nmodule.exports = arduino\narduino.displayName = 'arduino'\narduino.aliases = ['ino']\nfunction arduino(Prism) {\n Prism.register(refractorCpp)\n Prism.languages.arduino = Prism.languages.extend('cpp', {\n keyword:\n /\\b(?:String|array|bool|boolean|break|byte|case|catch|continue|default|do|double|else|finally|for|function|goto|if|in|instanceof|int|integer|long|loop|new|null|return|setup|string|switch|throw|try|void|while|word)\\b/,\n constant:\n /\\b(?:ANALOG_MESSAGE|DEFAULT|DIGITAL_MESSAGE|EXTERNAL|FIRMATA_STRING|HIGH|INPUT|INPUT_PULLUP|INTERNAL|INTERNAL1V1|INTERNAL2V56|LED_BUILTIN|LOW|OUTPUT|REPORT_ANALOG|REPORT_DIGITAL|SET_PIN_MODE|SYSEX_START|SYSTEM_RESET)\\b/,\n builtin:\n /\\b(?:Audio|BSSID|Bridge|Client|Console|EEPROM|Esplora|EsploraTFT|Ethernet|EthernetClient|EthernetServer|EthernetUDP|File|FileIO|FileSystem|Firmata|GPRS|GSM|GSMBand|GSMClient|GSMModem|GSMPIN|GSMScanner|GSMServer|GSMVoiceCall|GSM_SMS|HttpClient|IPAddress|IRread|Keyboard|KeyboardController|LiquidCrystal|LiquidCrystal_I2C|Mailbox|Mouse|MouseController|PImage|Process|RSSI|RobotControl|RobotMotor|SD|SPI|SSID|Scheduler|Serial|Server|Servo|SoftwareSerial|Stepper|Stream|TFT|Task|USBHost|WiFi|WiFiClient|WiFiServer|WiFiUDP|Wire|YunClient|YunServer|abs|addParameter|analogRead|analogReadResolution|analogReference|analogWrite|analogWriteResolution|answerCall|attach|attachGPRS|attachInterrupt|attached|autoscroll|available|background|beep|begin|beginPacket|beginSD|beginSMS|beginSpeaker|beginTFT|beginTransmission|beginWrite|bit|bitClear|bitRead|bitSet|bitWrite|blink|blinkVersion|buffer|changePIN|checkPIN|checkPUK|checkReg|circle|cityNameRead|cityNameWrite|clear|clearScreen|click|close|compassRead|config|connect|connected|constrain|cos|countryNameRead|countryNameWrite|createChar|cursor|debugPrint|delay|delayMicroseconds|detach|detachInterrupt|digitalRead|digitalWrite|disconnect|display|displayLogos|drawBMP|drawCompass|encryptionType|end|endPacket|endSMS|endTransmission|endWrite|exists|exitValue|fill|find|findUntil|flush|gatewayIP|get|getAsynchronously|getBand|getButton|getCurrentCarrier|getIMEI|getKey|getModifiers|getOemKey|getPINUsed|getResult|getSignalStrength|getSocket|getVoiceCallStatus|getXChange|getYChange|hangCall|height|highByte|home|image|interrupts|isActionDone|isDirectory|isListening|isPIN|isPressed|isValid|keyPressed|keyReleased|keyboardRead|knobRead|leftToRight|line|lineFollowConfig|listen|listenOnLocalhost|loadImage|localIP|lowByte|macAddress|maintain|map|max|messageAvailable|micros|millis|min|mkdir|motorsStop|motorsWrite|mouseDragged|mouseMoved|mousePressed|mouseReleased|move|noAutoscroll|noBlink|noBuffer|noCursor|noDisplay|noFill|noInterrupts|noListenOnLocalhost|noStroke|noTone|onReceive|onRequest|open|openNextFile|overflow|parseCommand|parseFloat|parseInt|parsePacket|pauseMode|peek|pinMode|playFile|playMelody|point|pointTo|position|pow|prepare|press|print|printFirmwareVersion|printVersion|println|process|processInput|pulseIn|put|random|randomSeed|read|readAccelerometer|readBlue|readButton|readBytes|readBytesUntil|readGreen|readJoystickButton|readJoystickSwitch|readJoystickX|readJoystickY|readLightSensor|readMessage|readMicrophone|readNetworks|readRed|readSlider|readString|readStringUntil|readTemperature|ready|rect|release|releaseAll|remoteIP|remoteNumber|remotePort|remove|requestFrom|retrieveCallingNumber|rewindDirectory|rightToLeft|rmdir|robotNameRead|robotNameWrite|run|runAsynchronously|runShellCommand|runShellCommandAsynchronously|running|scanNetworks|scrollDisplayLeft|scrollDisplayRight|seek|sendAnalog|sendDigitalPortPair|sendDigitalPorts|sendString|sendSysex|serialEvent|setBand|setBitOrder|setClockDivider|setCursor|setDNS|setDataMode|setFirmwareVersion|setMode|setPINUsed|setSpeed|setTextSize|setTimeout|shiftIn|shiftOut|shutdown|sin|size|sqrt|startLoop|step|stop|stroke|subnetMask|switchPIN|tan|tempoWrite|text|tone|transfer|tuneWrite|turn|updateIR|userNameRead|userNameWrite|voiceCall|waitContinue|width|write|writeBlue|writeGreen|writeJSON|writeMessage|writeMicroseconds|writeRGB|writeRed|yield)\\b/\n })\n Prism.languages.ino = Prism.languages.arduino\n}\n","'use strict'\n\nmodule.exports = arff\narff.displayName = 'arff'\narff.aliases = []\nfunction arff(Prism) {\n Prism.languages.arff = {\n comment: /%.*/,\n string: {\n pattern: /([\"'])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n keyword: /@(?:attribute|data|end|relation)\\b/i,\n number: /\\b\\d+(?:\\.\\d+)?\\b/,\n punctuation: /[{},]/\n }\n}\n","'use strict'\n\nmodule.exports = asciidoc\nasciidoc.displayName = 'asciidoc'\nasciidoc.aliases = ['adoc']\nfunction asciidoc(Prism) {\n ;(function (Prism) {\n var attributes = {\n pattern:\n /(^[ \\t]*)\\[(?!\\[)(?:([\"'$`])(?:(?!\\2)[^\\\\]|\\\\.)*\\2|\\[(?:[^\\[\\]\\\\]|\\\\.)*\\]|[^\\[\\]\\\\\"'$`]|\\\\.)*\\]/m,\n lookbehind: true,\n inside: {\n quoted: {\n pattern: /([$`])(?:(?!\\1)[^\\\\]|\\\\.)*\\1/,\n inside: {\n punctuation: /^[$`]|[$`]$/\n }\n },\n interpreted: {\n pattern: /'(?:[^'\\\\]|\\\\.)*'/,\n inside: {\n punctuation: /^'|'$/ // See rest below\n }\n },\n string: /\"(?:[^\"\\\\]|\\\\.)*\"/,\n variable: /\\w+(?==)/,\n punctuation: /^\\[|\\]$|,/,\n operator: /=/,\n // The negative look-ahead prevents blank matches\n 'attr-value': /(?!^\\s+$).+/\n }\n }\n var asciidoc = (Prism.languages.asciidoc = {\n 'comment-block': {\n pattern: /^(\\/{4,})(?:\\r?\\n|\\r)(?:[\\s\\S]*(?:\\r?\\n|\\r))??\\1/m,\n alias: 'comment'\n },\n table: {\n pattern: /^\\|={3,}(?:(?:\\r?\\n|\\r(?!\\n)).*)*?(?:\\r?\\n|\\r)\\|={3,}$/m,\n inside: {\n specifiers: {\n pattern:\n /(?:(?:(?:\\d+(?:\\.\\d+)?|\\.\\d+)[+*](?:[<^>](?:\\.[<^>])?|\\.[<^>])?|[<^>](?:\\.[<^>])?|\\.[<^>])[a-z]*|[a-z]+)(?=\\|)/,\n alias: 'attr-value'\n },\n punctuation: {\n pattern: /(^|[^\\\\])[|!]=*/,\n lookbehind: true\n } // See rest below\n }\n },\n 'passthrough-block': {\n pattern: /^(\\+{4,})(?:\\r?\\n|\\r)(?:[\\s\\S]*(?:\\r?\\n|\\r))??\\1$/m,\n inside: {\n punctuation: /^\\++|\\++$/ // See rest below\n }\n },\n // Literal blocks and listing blocks\n 'literal-block': {\n pattern: /^(-{4,}|\\.{4,})(?:\\r?\\n|\\r)(?:[\\s\\S]*(?:\\r?\\n|\\r))??\\1$/m,\n inside: {\n punctuation: /^(?:-+|\\.+)|(?:-+|\\.+)$/ // See rest below\n }\n },\n // Sidebar blocks, quote blocks, example blocks and open blocks\n 'other-block': {\n pattern:\n /^(--|\\*{4,}|_{4,}|={4,})(?:\\r?\\n|\\r)(?:[\\s\\S]*(?:\\r?\\n|\\r))??\\1$/m,\n inside: {\n punctuation: /^(?:-+|\\*+|_+|=+)|(?:-+|\\*+|_+|=+)$/ // See rest below\n }\n },\n // list-punctuation and list-label must appear before indented-block\n 'list-punctuation': {\n pattern:\n /(^[ \\t]*)(?:-|\\*{1,5}|\\.{1,5}|(?:[a-z]|\\d+)\\.|[xvi]+\\))(?= )/im,\n lookbehind: true,\n alias: 'punctuation'\n },\n 'list-label': {\n pattern: /(^[ \\t]*)[a-z\\d].+(?::{2,4}|;;)(?=\\s)/im,\n lookbehind: true,\n alias: 'symbol'\n },\n 'indented-block': {\n pattern: /((\\r?\\n|\\r)\\2)([ \\t]+)\\S.*(?:(?:\\r?\\n|\\r)\\3.+)*(?=\\2{2}|$)/,\n lookbehind: true\n },\n comment: /^\\/\\/.*/m,\n title: {\n pattern:\n /^.+(?:\\r?\\n|\\r)(?:={3,}|-{3,}|~{3,}|\\^{3,}|\\+{3,})$|^={1,5} .+|^\\.(?![\\s.]).*/m,\n alias: 'important',\n inside: {\n punctuation: /^(?:\\.|=+)|(?:=+|-+|~+|\\^+|\\++)$/ // See rest below\n }\n },\n 'attribute-entry': {\n pattern: /^:[^:\\r\\n]+:(?: .*?(?: \\+(?:\\r?\\n|\\r).*?)*)?$/m,\n alias: 'tag'\n },\n attributes: attributes,\n hr: {\n pattern: /^'{3,}$/m,\n alias: 'punctuation'\n },\n 'page-break': {\n pattern: /^<{3,}$/m,\n alias: 'punctuation'\n },\n admonition: {\n pattern: /^(?:CAUTION|IMPORTANT|NOTE|TIP|WARNING):/m,\n alias: 'keyword'\n },\n callout: [\n {\n pattern: /(^[ \\t]*)<?\\d*>/m,\n lookbehind: true,\n alias: 'symbol'\n },\n {\n pattern: /<\\d+>/,\n alias: 'symbol'\n }\n ],\n macro: {\n pattern:\n /\\b[a-z\\d][a-z\\d-]*::?(?:[^\\s\\[\\]]*\\[(?:[^\\]\\\\\"']|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*\\1|\\\\.)*\\])/,\n inside: {\n function: /^[a-z\\d-]+(?=:)/,\n punctuation: /^::?/,\n attributes: {\n pattern: /(?:\\[(?:[^\\]\\\\\"']|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*\\1|\\\\.)*\\])/,\n inside: attributes.inside\n }\n }\n },\n inline: {\n /*\nThe initial look-behind prevents the highlighting of escaped quoted text.\nQuoted text can be multi-line but cannot span an empty line.\nAll quoted text can have attributes before [foobar, 'foobar', baz=\"bar\"].\nFirst, we handle the constrained quotes.\nThose must be bounded by non-word chars and cannot have spaces between the delimiter and the first char.\nThey are, in order: _emphasis_, ``double quotes'', `single quotes', `monospace`, 'emphasis', *strong*, +monospace+ and #unquoted#\nThen we handle the unconstrained quotes.\nThose do not have the restrictions of the constrained quotes.\nThey are, in order: __emphasis__, **strong**, ++monospace++, +++passthrough+++, ##unquoted##, $$passthrough$$, ~subscript~, ^superscript^, {attribute-reference}, [[anchor]], [[[bibliography anchor]]], <<xref>>, (((indexes))) and ((indexes))\n*/\n pattern:\n /(^|[^\\\\])(?:(?:\\B\\[(?:[^\\]\\\\\"']|([\"'])(?:(?!\\2)[^\\\\]|\\\\.)*\\2|\\\\.)*\\])?(?:\\b_(?!\\s)(?: _|[^_\\\\\\r\\n]|\\\\.)+(?:(?:\\r?\\n|\\r)(?: _|[^_\\\\\\r\\n]|\\\\.)+)*_\\b|\\B``(?!\\s).+?(?:(?:\\r?\\n|\\r).+?)*''\\B|\\B`(?!\\s)(?:[^`'\\s]|\\s+\\S)+['`]\\B|\\B(['*+#])(?!\\s)(?: \\3|(?!\\3)[^\\\\\\r\\n]|\\\\.)+(?:(?:\\r?\\n|\\r)(?: \\3|(?!\\3)[^\\\\\\r\\n]|\\\\.)+)*\\3\\B)|(?:\\[(?:[^\\]\\\\\"']|([\"'])(?:(?!\\4)[^\\\\]|\\\\.)*\\4|\\\\.)*\\])?(?:(__|\\*\\*|\\+\\+\\+?|##|\\$\\$|[~^]).+?(?:(?:\\r?\\n|\\r).+?)*\\5|\\{[^}\\r\\n]+\\}|\\[\\[\\[?.+?(?:(?:\\r?\\n|\\r).+?)*\\]?\\]\\]|<<.+?(?:(?:\\r?\\n|\\r).+?)*>>|\\(\\(\\(?.+?(?:(?:\\r?\\n|\\r).+?)*\\)?\\)\\)))/m,\n lookbehind: true,\n inside: {\n attributes: attributes,\n url: {\n pattern: /^(?:\\[\\[\\[?.+?\\]?\\]\\]|<<.+?>>)$/,\n inside: {\n punctuation: /^(?:\\[\\[\\[?|<<)|(?:\\]\\]\\]?|>>)$/\n }\n },\n 'attribute-ref': {\n pattern: /^\\{.+\\}$/,\n inside: {\n variable: {\n pattern: /(^\\{)[a-z\\d,+_-]+/,\n lookbehind: true\n },\n operator: /^[=?!#%@$]|!(?=[:}])/,\n punctuation: /^\\{|\\}$|::?/\n }\n },\n italic: {\n pattern: /^(['_])[\\s\\S]+\\1$/,\n inside: {\n punctuation: /^(?:''?|__?)|(?:''?|__?)$/\n }\n },\n bold: {\n pattern: /^\\*[\\s\\S]+\\*$/,\n inside: {\n punctuation: /^\\*\\*?|\\*\\*?$/\n }\n },\n punctuation:\n /^(?:``?|\\+{1,3}|##?|\\$\\$|[~^]|\\(\\(\\(?)|(?:''?|\\+{1,3}|##?|\\$\\$|[~^`]|\\)?\\)\\))$/\n }\n },\n replacement: {\n pattern: /\\((?:C|R|TM)\\)/,\n alias: 'builtin'\n },\n entity: /&#?[\\da-z]{1,8};/i,\n 'line-continuation': {\n pattern: /(^| )\\+$/m,\n lookbehind: true,\n alias: 'punctuation'\n }\n }) // Allow some nesting. There is no recursion though, so cloning should not be needed.\n function copyFromAsciiDoc(keys) {\n keys = keys.split(' ')\n var o = {}\n for (var i = 0, l = keys.length; i < l; i++) {\n o[keys[i]] = asciidoc[keys[i]]\n }\n return o\n }\n attributes.inside['interpreted'].inside.rest = copyFromAsciiDoc(\n 'macro inline replacement entity'\n )\n asciidoc['passthrough-block'].inside.rest = copyFromAsciiDoc('macro')\n asciidoc['literal-block'].inside.rest = copyFromAsciiDoc('callout')\n asciidoc['table'].inside.rest = copyFromAsciiDoc(\n 'comment-block passthrough-block literal-block other-block list-punctuation indented-block comment title attribute-entry attributes hr page-break admonition list-label callout macro inline replacement entity line-continuation'\n )\n asciidoc['other-block'].inside.rest = copyFromAsciiDoc(\n 'table list-punctuation indented-block comment attribute-entry attributes hr page-break admonition list-label macro inline replacement entity line-continuation'\n )\n asciidoc['title'].inside.rest = copyFromAsciiDoc(\n 'macro inline replacement entity'\n ) // Plugin to make entity title show the real entity, idea by Roman Komarov\n Prism.hooks.add('wrap', function (env) {\n if (env.type === 'entity') {\n env.attributes['title'] = env.content.value.replace(/&/, '&')\n }\n })\n Prism.languages.adoc = Prism.languages.asciidoc\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = asm6502\nasm6502.displayName = 'asm6502'\nasm6502.aliases = []\nfunction asm6502(Prism) {\n Prism.languages.asm6502 = {\n comment: /;.*/,\n directive: {\n pattern: /\\.\\w+(?= )/,\n alias: 'property'\n },\n string: /([\"'`])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n 'op-code': {\n pattern:\n /\\b(?:ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA|adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya)\\b/,\n alias: 'keyword'\n },\n 'hex-number': {\n pattern: /#?\\$[\\da-f]{1,4}\\b/i,\n alias: 'number'\n },\n 'binary-number': {\n pattern: /#?%[01]+\\b/,\n alias: 'number'\n },\n 'decimal-number': {\n pattern: /#?\\b\\d+\\b/,\n alias: 'number'\n },\n register: {\n pattern: /\\b[xya]\\b/i,\n alias: 'variable'\n },\n punctuation: /[(),:]/\n }\n}\n","'use strict'\n\nmodule.exports = asmatmel\nasmatmel.displayName = 'asmatmel'\nasmatmel.aliases = []\nfunction asmatmel(Prism) {\n Prism.languages.asmatmel = {\n comment: {\n pattern: /;.*/,\n greedy: true\n },\n string: {\n pattern: /([\"'`])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n constant: /\\b(?:PORT[A-Z]|DDR[A-Z]|(?:DD|P)[A-Z](?:\\d|[0-2]\\d|3[01]))\\b/,\n directive: {\n pattern: /\\.\\w+(?= )/,\n alias: 'property'\n },\n 'r-register': {\n pattern: /\\br(?:\\d|[12]\\d|3[01])\\b/,\n alias: 'variable'\n },\n 'op-code': {\n pattern:\n /\\b(?:ADC|ADD|ADIW|AND|ANDI|ASR|BCLR|BLD|BRBC|BRBS|BRCC|BRCS|BREAK|BREQ|BRGE|BRHC|BRHS|BRID|BRIE|BRLO|BRLT|BRMI|BRNE|BRPL|BRSH|BRTC|BRTS|BRVC|BRVS|BSET|BST|CALL|CBI|CBR|CLC|CLH|CLI|CLN|CLR|CLS|CLT|CLV|CLZ|COM|CP|CPC|CPI|CPSE|DEC|DES|EICALL|EIJMP|ELPM|EOR|FMUL|FMULS|FMULSU|ICALL|IJMP|IN|INC|JMP|LAC|LAS|LAT|LD|LD[A-Za-z0-9]|LPM|LSL|LSR|MOV|MOVW|MUL|MULS|MULSU|NEG|NOP|OR|ORI|OUT|POP|PUSH|RCALL|RET|RETI|RJMP|ROL|ROR|SBC|SBCI|SBI|SBIC|SBIS|SBIW|SBR|SBRC|SBRS|SEC|SEH|SEI|SEN|SER|SES|SET|SEV|SEZ|SLEEP|SPM|ST|ST[A-Z0-9]|SUB|SUBI|SWAP|TST|WDR|XCH|adc|add|adiw|and|andi|asr|bclr|bld|brbc|brbs|brcc|brcs|break|breq|brge|brhc|brhs|brid|brie|brlo|brlt|brmi|brne|brpl|brsh|brtc|brts|brvc|brvs|bset|bst|call|cbi|cbr|clc|clh|cli|cln|clr|cls|clt|clv|clz|com|cp|cpc|cpi|cpse|dec|des|eicall|eijmp|elpm|eor|fmul|fmuls|fmulsu|icall|ijmp|in|inc|jmp|lac|las|lat|ld|ld[a-z0-9]|lpm|lsl|lsr|mov|movw|mul|muls|mulsu|neg|nop|or|ori|out|pop|push|rcall|ret|reti|rjmp|rol|ror|sbc|sbci|sbi|sbic|sbis|sbiw|sbr|sbrc|sbrs|sec|seh|sei|sen|ser|ses|set|sev|sez|sleep|spm|st|st[a-zA-Z0-9]|sub|subi|swap|tst|wdr|xch)\\b/,\n alias: 'keyword'\n },\n 'hex-number': {\n pattern: /#?\\$[\\da-f]{2,4}\\b/i,\n alias: 'number'\n },\n 'binary-number': {\n pattern: /#?%[01]+\\b/,\n alias: 'number'\n },\n 'decimal-number': {\n pattern: /#?\\b\\d+\\b/,\n alias: 'number'\n },\n register: {\n pattern: /\\b[acznvshtixy]\\b/i,\n alias: 'variable'\n },\n operator: />>=?|<<=?|&&?|\\|\\|?|[-+*/%&|^!=<>?]=?/,\n punctuation: /[(),:]/\n }\n}\n","'use strict'\nvar refractorCsharp = require('./csharp.js')\nmodule.exports = aspnet\naspnet.displayName = 'aspnet'\naspnet.aliases = []\nfunction aspnet(Prism) {\n Prism.register(refractorCsharp)\n Prism.languages.aspnet = Prism.languages.extend('markup', {\n 'page-directive': {\n pattern: /<%\\s*@.*%>/,\n alias: 'tag',\n inside: {\n 'page-directive': {\n pattern:\n /<%\\s*@\\s*(?:Assembly|Control|Implements|Import|Master(?:Type)?|OutputCache|Page|PreviousPageType|Reference|Register)?|%>/i,\n alias: 'tag'\n },\n rest: Prism.languages.markup.tag.inside\n }\n },\n directive: {\n pattern: /<%.*%>/,\n alias: 'tag',\n inside: {\n directive: {\n pattern: /<%\\s*?[$=%#:]{0,2}|%>/,\n alias: 'tag'\n },\n rest: Prism.languages.csharp\n }\n }\n }) // Regexp copied from prism-markup, with a negative look-ahead added\n Prism.languages.aspnet.tag.pattern =\n /<(?!%)\\/?[^\\s>\\/]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/ // match directives of attribute value foo=\"<% Bar %>\"\n Prism.languages.insertBefore(\n 'inside',\n 'punctuation',\n {\n directive: Prism.languages.aspnet['directive']\n },\n Prism.languages.aspnet.tag.inside['attr-value']\n )\n Prism.languages.insertBefore('aspnet', 'comment', {\n 'asp-comment': {\n pattern: /<%--[\\s\\S]*?--%>/,\n alias: ['asp', 'comment']\n }\n }) // script runat=\"server\" contains csharp, not javascript\n Prism.languages.insertBefore(\n 'aspnet',\n Prism.languages.javascript ? 'script' : 'tag',\n {\n 'asp-script': {\n pattern:\n /(<script(?=.*runat=['\"]?server\\b)[^>]*>)[\\s\\S]*?(?=<\\/script>)/i,\n lookbehind: true,\n alias: ['asp', 'script'],\n inside: Prism.languages.csharp || {}\n }\n }\n )\n}\n","'use strict'\n\nmodule.exports = autohotkey\nautohotkey.displayName = 'autohotkey'\nautohotkey.aliases = []\nfunction autohotkey(Prism) {\n // NOTES - follows first-first highlight method, block is locked after highlight, different from SyntaxHl\n Prism.languages.autohotkey = {\n comment: [\n {\n pattern: /(^|\\s);.*/,\n lookbehind: true\n },\n {\n pattern:\n /(^[\\t ]*)\\/\\*(?:[\\r\\n](?![ \\t]*\\*\\/)|[^\\r\\n])*(?:[\\r\\n][ \\t]*\\*\\/)?/m,\n lookbehind: true,\n greedy: true\n }\n ],\n tag: {\n // labels\n pattern: /^([ \\t]*)[^\\s,`\":]+(?=:[ \\t]*$)/m,\n lookbehind: true\n },\n string: /\"(?:[^\"\\n\\r]|\"\")*\"/,\n variable: /%\\w+%/,\n number: /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,\n operator:\n /\\?|\\/\\/?=?|:=|\\|[=|]?|&[=&]?|\\+[=+]?|-[=-]?|\\*[=*]?|<(?:<=?|>|=)?|>>?=?|[.^!=~]=?|\\b(?:AND|NOT|OR)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n selector:\n /\\b(?:AutoTrim|BlockInput|Break|Click|ClipWait|Continue|Control|ControlClick|ControlFocus|ControlGet|ControlGetFocus|ControlGetPos|ControlGetText|ControlMove|ControlSend|ControlSendRaw|ControlSetText|CoordMode|Critical|DetectHiddenText|DetectHiddenWindows|Drive|DriveGet|DriveSpaceFree|EnvAdd|EnvDiv|EnvGet|EnvMult|EnvSet|EnvSub|EnvUpdate|Exit|ExitApp|FileAppend|FileCopy|FileCopyDir|FileCreateDir|FileCreateShortcut|FileDelete|FileEncoding|FileGetAttrib|FileGetShortcut|FileGetSize|FileGetTime|FileGetVersion|FileInstall|FileMove|FileMoveDir|FileRead|FileReadLine|FileRecycle|FileRecycleEmpty|FileRemoveDir|FileSelectFile|FileSelectFolder|FileSetAttrib|FileSetTime|FormatTime|GetKeyState|Gosub|Goto|GroupActivate|GroupAdd|GroupClose|GroupDeactivate|Gui|GuiControl|GuiControlGet|Hotkey|ImageSearch|IniDelete|IniRead|IniWrite|Input|InputBox|KeyWait|ListHotkeys|ListLines|ListVars|Loop|Menu|MouseClick|MouseClickDrag|MouseGetPos|MouseMove|MsgBox|OnExit|OutputDebug|Pause|PixelGetColor|PixelSearch|PostMessage|Process|Progress|Random|RegDelete|RegRead|RegWrite|Reload|Repeat|Return|Run|RunAs|RunWait|Send|SendEvent|SendInput|SendMessage|SendMode|SendPlay|SendRaw|SetBatchLines|SetCapslockState|SetControlDelay|SetDefaultMouseSpeed|SetEnv|SetFormat|SetKeyDelay|SetMouseDelay|SetNumlockState|SetRegView|SetScrollLockState|SetStoreCapslockMode|SetTimer|SetTitleMatchMode|SetWinDelay|SetWorkingDir|Shutdown|Sleep|Sort|SoundBeep|SoundGet|SoundGetWaveVolume|SoundPlay|SoundSet|SoundSetWaveVolume|SplashImage|SplashTextOff|SplashTextOn|SplitPath|StatusBarGetText|StatusBarWait|StringCaseSense|StringGetPos|StringLeft|StringLen|StringLower|StringMid|StringReplace|StringRight|StringSplit|StringTrimLeft|StringTrimRight|StringUpper|Suspend|SysGet|Thread|ToolTip|Transform|TrayTip|URLDownloadToFile|WinActivate|WinActivateBottom|WinClose|WinGet|WinGetActiveStats|WinGetActiveTitle|WinGetClass|WinGetPos|WinGetText|WinGetTitle|WinHide|WinKill|WinMaximize|WinMenuSelectItem|WinMinimize|WinMinimizeAll|WinMinimizeAllUndo|WinMove|WinRestore|WinSet|WinSetTitle|WinShow|WinWait|WinWaitActive|WinWaitClose|WinWaitNotActive)\\b/i,\n constant:\n /\\b(?:a_ahkpath|a_ahkversion|a_appdata|a_appdatacommon|a_autotrim|a_batchlines|a_caretx|a_carety|a_computername|a_controldelay|a_cursor|a_dd|a_ddd|a_dddd|a_defaultmousespeed|a_desktop|a_desktopcommon|a_detecthiddentext|a_detecthiddenwindows|a_endchar|a_eventinfo|a_exitreason|a_fileencoding|a_formatfloat|a_formatinteger|a_gui|a_guicontrol|a_guicontrolevent|a_guievent|a_guiheight|a_guiwidth|a_guix|a_guiy|a_hour|a_iconfile|a_iconhidden|a_iconnumber|a_icontip|a_index|a_ipaddress1|a_ipaddress2|a_ipaddress3|a_ipaddress4|a_is64bitos|a_isadmin|a_iscompiled|a_iscritical|a_ispaused|a_issuspended|a_isunicode|a_keydelay|a_language|a_lasterror|a_linefile|a_linenumber|a_loopfield|a_loopfileattrib|a_loopfiledir|a_loopfileext|a_loopfilefullpath|a_loopfilelongpath|a_loopfilename|a_loopfileshortname|a_loopfileshortpath|a_loopfilesize|a_loopfilesizekb|a_loopfilesizemb|a_loopfiletimeaccessed|a_loopfiletimecreated|a_loopfiletimemodified|a_loopreadline|a_loopregkey|a_loopregname|a_loopregsubkey|a_loopregtimemodified|a_loopregtype|a_mday|a_min|a_mm|a_mmm|a_mmmm|a_mon|a_mousedelay|a_msec|a_mydocuments|a_now|a_nowutc|a_numbatchlines|a_ostype|a_osversion|a_priorhotkey|a_priorkey|a_programfiles|a_programs|a_programscommon|a_ptrsize|a_regview|a_screendpi|a_screenheight|a_screenwidth|a_scriptdir|a_scriptfullpath|a_scripthwnd|a_scriptname|a_sec|a_space|a_startmenu|a_startmenucommon|a_startup|a_startupcommon|a_stringcasesense|a_tab|a_temp|a_thisfunc|a_thishotkey|a_thislabel|a_thismenu|a_thismenuitem|a_thismenuitempos|a_tickcount|a_timeidle|a_timeidlephysical|a_timesincepriorhotkey|a_timesincethishotkey|a_titlematchmode|a_titlematchmodespeed|a_username|a_wday|a_windelay|a_windir|a_workingdir|a_yday|a_year|a_yweek|a_yyyy|clipboard|clipboardall|comspec|errorlevel|programfiles)\\b/i,\n builtin:\n /\\b(?:abs|acos|asc|asin|atan|ceil|chr|class|comobjactive|comobjarray|comobjconnect|comobjcreate|comobjerror|comobjflags|comobjget|comobjquery|comobjtype|comobjvalue|cos|dllcall|exp|fileexist|Fileopen|floor|format|il_add|il_create|il_destroy|instr|isfunc|islabel|IsObject|ln|log|ltrim|lv_add|lv_delete|lv_deletecol|lv_getcount|lv_getnext|lv_gettext|lv_insert|lv_insertcol|lv_modify|lv_modifycol|lv_setimagelist|mod|numget|numput|onmessage|regexmatch|regexreplace|registercallback|round|rtrim|sb_seticon|sb_setparts|sb_settext|sin|sqrt|strlen|strreplace|strsplit|substr|tan|tv_add|tv_delete|tv_get|tv_getchild|tv_getcount|tv_getnext|tv_getparent|tv_getprev|tv_getselection|tv_gettext|tv_modify|varsetcapacity|winactive|winexist|__Call|__Get|__New|__Set)\\b/i,\n symbol:\n /\\b(?:alt|altdown|altup|appskey|backspace|browser_back|browser_favorites|browser_forward|browser_home|browser_refresh|browser_search|browser_stop|bs|capslock|ctrl|ctrlbreak|ctrldown|ctrlup|del|delete|down|end|enter|esc|escape|f1|f10|f11|f12|f13|f14|f15|f16|f17|f18|f19|f2|f20|f21|f22|f23|f24|f3|f4|f5|f6|f7|f8|f9|home|ins|insert|joy1|joy10|joy11|joy12|joy13|joy14|joy15|joy16|joy17|joy18|joy19|joy2|joy20|joy21|joy22|joy23|joy24|joy25|joy26|joy27|joy28|joy29|joy3|joy30|joy31|joy32|joy4|joy5|joy6|joy7|joy8|joy9|joyaxes|joybuttons|joyinfo|joyname|joypov|joyr|joyu|joyv|joyx|joyy|joyz|lalt|launch_app1|launch_app2|launch_mail|launch_media|lbutton|lcontrol|lctrl|left|lshift|lwin|lwindown|lwinup|mbutton|media_next|media_play_pause|media_prev|media_stop|numlock|numpad0|numpad1|numpad2|numpad3|numpad4|numpad5|numpad6|numpad7|numpad8|numpad9|numpadadd|numpadclear|numpaddel|numpaddiv|numpaddot|numpaddown|numpadend|numpadenter|numpadhome|numpadins|numpadleft|numpadmult|numpadpgdn|numpadpgup|numpadright|numpadsub|numpadup|pgdn|pgup|printscreen|ralt|rbutton|rcontrol|rctrl|right|rshift|rwin|rwindown|rwinup|scrolllock|shift|shiftdown|shiftup|space|tab|up|volume_down|volume_mute|volume_up|wheeldown|wheelleft|wheelright|wheelup|xbutton1|xbutton2)\\b/i,\n important:\n /#\\b(?:AllowSameLineComments|ClipboardTimeout|CommentFlag|DerefChar|ErrorStdOut|EscapeChar|HotkeyInterval|HotkeyModifierTimeout|Hotstring|If|IfTimeout|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Include|IncludeAgain|InputLevel|InstallKeybdHook|InstallMouseHook|KeyHistory|MaxHotkeysPerInterval|MaxMem|MaxThreads|MaxThreadsBuffer|MaxThreadsPerHotkey|MenuMaskKey|NoEnv|NoTrayIcon|Persistent|SingleInstance|UseHook|Warn|WinActivateForce)\\b/i,\n keyword:\n /\\b(?:Abort|AboveNormal|Add|ahk_class|ahk_exe|ahk_group|ahk_id|ahk_pid|All|Alnum|Alpha|AltSubmit|AltTab|AltTabAndMenu|AltTabMenu|AltTabMenuDismiss|AlwaysOnTop|AutoSize|Background|BackgroundTrans|BelowNormal|between|BitAnd|BitNot|BitOr|BitShiftLeft|BitShiftRight|BitXOr|Bold|Border|Button|ByRef|Catch|Checkbox|Checked|CheckedGray|Choose|ChooseString|Close|Color|ComboBox|Contains|ControlList|Count|Date|DateTime|Days|DDL|Default|DeleteAll|Delimiter|Deref|Destroy|Digit|Disable|Disabled|DropDownList|Edit|Eject|Else|Enable|Enabled|Error|Exist|Expand|ExStyle|FileSystem|Finally|First|Flash|Float|FloatFast|Focus|Font|for|global|Grid|Group|GroupBox|GuiClose|GuiContextMenu|GuiDropFiles|GuiEscape|GuiSize|Hdr|Hidden|Hide|High|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|Hours|HScroll|Icon|IconSmall|ID|IDLast|If|IfEqual|IfExist|IfGreater|IfGreaterOrEqual|IfInString|IfLess|IfLessOrEqual|IfMsgBox|IfNotEqual|IfNotExist|IfNotInString|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Ignore|ImageList|in|Integer|IntegerFast|Interrupt|is|italic|Join|Label|LastFound|LastFoundExist|Limit|Lines|List|ListBox|ListView|local|Lock|Logoff|Low|Lower|Lowercase|MainWindow|Margin|Maximize|MaximizeBox|MaxSize|Minimize|MinimizeBox|MinMax|MinSize|Minutes|MonthCal|Mouse|Move|Multi|NA|No|NoActivate|NoDefault|NoHide|NoIcon|NoMainWindow|norm|Normal|NoSort|NoSortHdr|NoStandard|Not|NoTab|NoTimers|Number|Off|Ok|On|OwnDialogs|Owner|Parse|Password|Picture|Pixel|Pos|Pow|Priority|ProcessName|Radio|Range|Read|ReadOnly|Realtime|Redraw|Region|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|Relative|Rename|Report|Resize|Restore|Retry|RGB|Screen|Seconds|Section|Serial|SetLabel|ShiftAltTab|Show|Single|Slider|SortDesc|Standard|static|Status|StatusBar|StatusCD|strike|Style|Submit|SysMenu|Tab2|TabStop|Text|Theme|Throw|Tile|ToggleCheck|ToggleEnable|ToolWindow|Top|Topmost|TransColor|Transparent|Tray|TreeView|Try|TryAgain|Type|UnCheck|underline|Unicode|Unlock|Until|UpDown|Upper|Uppercase|UseErrorLevel|Vis|VisFirst|Visible|VScroll|Wait|WaitClose|WantCtrlA|WantF2|WantReturn|While|Wrap|Xdigit|xm|xp|xs|Yes|ym|yp|ys)\\b/i,\n function: /[^(); \\t,\\n+*\\-=?>:\\\\\\/<&%\\[\\]]+(?=\\()/,\n punctuation: /[{}[\\]():,]/\n }\n}\n","'use strict'\n\nmodule.exports = autoit\nautoit.displayName = 'autoit'\nautoit.aliases = []\nfunction autoit(Prism) {\n Prism.languages.autoit = {\n comment: [\n /;.*/,\n {\n // The multi-line comments delimiters can actually be commented out with \";\"\n pattern:\n /(^[\\t ]*)#(?:comments-start|cs)[\\s\\S]*?^[ \\t]*#(?:ce|comments-end)/m,\n lookbehind: true\n }\n ],\n url: {\n pattern: /(^[\\t ]*#include\\s+)(?:<[^\\r\\n>]+>|\"[^\\r\\n\"]+\")/m,\n lookbehind: true\n },\n string: {\n pattern: /([\"'])(?:\\1\\1|(?!\\1)[^\\r\\n])*\\1/,\n greedy: true,\n inside: {\n variable: /([%$@])\\w+\\1/\n }\n },\n directive: {\n pattern: /(^[\\t ]*)#[\\w-]+/m,\n lookbehind: true,\n alias: 'keyword'\n },\n function: /\\b\\w+(?=\\()/,\n // Variables and macros\n variable: /[$@]\\w+/,\n keyword:\n /\\b(?:Case|Const|Continue(?:Case|Loop)|Default|Dim|Do|Else(?:If)?|End(?:Func|If|Select|Switch|With)|Enum|Exit(?:Loop)?|For|Func|Global|If|In|Local|Next|Null|ReDim|Select|Static|Step|Switch|Then|To|Until|Volatile|WEnd|While|With)\\b/i,\n number: /\\b(?:0x[\\da-f]+|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b/i,\n boolean: /\\b(?:False|True)\\b/i,\n operator: /<[=>]?|[-+*\\/=&>]=?|[?^]|\\b(?:And|Not|Or)\\b/i,\n punctuation: /[\\[\\]().,:]/\n }\n}\n","'use strict'\n\nmodule.exports = avisynth\navisynth.displayName = 'avisynth'\navisynth.aliases = ['avs']\nfunction avisynth(Prism) {\n // http://avisynth.nl/index.php/The_full_AviSynth_grammar\n ;(function (Prism) {\n function replace(pattern, replacements) {\n return pattern.replace(/<<(\\d+)>>/g, function (m, index) {\n return replacements[+index]\n })\n }\n function re(pattern, replacements, flags) {\n return RegExp(replace(pattern, replacements), flags || '')\n }\n var types = /bool|clip|float|int|string|val/.source\n var internals = [\n // bools\n /is(?:bool|clip|float|int|string)|defined|(?:(?:internal)?function|var)?exists?/\n .source, // control\n /apply|assert|default|eval|import|nop|select|undefined/.source, // global\n /opt_(?:allowfloataudio|avipadscanlines|dwchannelmask|enable_(?:b64a|planartopackedrgb|v210|y3_10_10|y3_10_16)|usewaveextensible|vdubplanarhack)|set(?:cachemode|maxcpu|memorymax|planarlegacyalignment|workingdir)/\n .source, // conv\n /hex(?:value)?|value/.source, // numeric\n /abs|ceil|continued(?:denominator|numerator)?|exp|floor|fmod|frac|log(?:10)?|max|min|muldiv|pi|pow|rand|round|sign|spline|sqrt/\n .source, // trig\n /a?sinh?|a?cosh?|a?tan[2h]?/.source, // bit\n /(?:bit(?:and|not|x?or|[lr]?shift[aslu]?|sh[lr]|sa[lr]|[lr]rotatel?|ro[rl]|te?st|set(?:count)?|cl(?:ea)?r|ch(?:an)?ge?))/\n .source, // runtime\n /average(?:[bgr]|chroma[uv]|luma)|(?:[rgb]|chroma[uv]|luma|rgb|[yuv](?=difference(?:fromprevious|tonext)))difference(?:fromprevious|tonext)?|[yuvrgb]plane(?:median|min|max|minmaxdifference)/\n .source, // script\n /getprocessinfo|logmsg|script(?:dir(?:utf8)?|file(?:utf8)?|name(?:utf8)?)|setlogparams/\n .source, // string\n /chr|(?:fill|find|left|mid|replace|rev|right)str|format|[lu]case|ord|str(?:cmpi?|fromutf8|len|toutf8)|time|trim(?:all|left|right)/\n .source, // version\n /isversionorgreater|version(?:number|string)/.source, // helper\n /buildpixeltype|colorspacenametopixeltype/.source, // avsplus\n /addautoloaddir|on(?:cpu|cuda)|prefetch|setfiltermtmode/.source\n ].join('|')\n var properties = [\n // content\n /has(?:audio|video)/.source, // resolution\n /height|width/.source, // framerate\n /frame(?:count|rate)|framerate(?:denominator|numerator)/.source, // interlacing\n /getparity|is(?:field|frame)based/.source, // color format\n /bitspercomponent|componentsize|hasalpha|is(?:planar(?:rgba?)?|interleaved|rgb(?:24|32|48|64)?|y(?:8|u(?:va?|y2))?|yv(?:12|16|24|411)|420|422|444|packedrgb)|numcomponents|pixeltype/\n .source, // audio\n /audio(?:bits|channels|duration|length(?:[fs]|hi|lo)?|rate)|isaudio(?:float|int)/\n .source\n ].join('|')\n var filters = [\n // source\n /avi(?:file)?source|directshowsource|image(?:reader|source|sourceanim)|opendmlsource|segmented(?:avisource|directshowsource)|wavsource/\n .source, // color\n /coloryuv|convertbacktoyuy2|convertto(?:RGB(?:24|32|48|64)|(?:planar)?RGBA?|Y8?|YV(?:12|16|24|411)|YUVA?(?:411|420|422|444)|YUY2)|fixluminance|gr[ae]yscale|invert|levels|limiter|mergea?rgb|merge(?:chroma|luma)|rgbadjust|show(?:alpha|blue|green|red)|swapuv|tweak|[uv]toy8?|ytouv/\n .source, // overlay\n /(?:colorkey|reset)mask|layer|mask(?:hs)?|merge|overlay|subtract/.source, // geometry\n /addborders|(?:bicubic|bilinear|blackman|gauss|lanczos4|lanczos|point|sinc|spline(?:16|36|64))resize|crop(?:bottom)?|flip(?:horizontal|vertical)|(?:horizontal|vertical)?reduceby2|letterbox|skewrows|turn(?:180|left|right)/\n .source, // pixel\n /blur|fixbrokenchromaupsampling|generalconvolution|(?:spatial|temporal)soften|sharpen/\n .source, // timeline\n /trim|(?:un)?alignedsplice|(?:assume|assumescaled|change|convert)FPS|(?:delete|duplicate)frame|dissolve|fade(?:in|io|out)[02]?|freezeframe|interleave|loop|reverse|select(?:even|odd|(?:range)?every)/\n .source, // interlace\n /assume[bt]ff|assume(?:field|frame)based|bob|complementparity|doubleweave|peculiarblend|pulldown|separate(?:columns|fields|rows)|swapfields|weave(?:columns|rows)?/\n .source, // audio\n /amplify(?:db)?|assumesamplerate|audiodub(?:ex)?|audiotrim|convertaudioto(?:(?:8|16|24|32)bit|float)|converttomono|delayaudio|ensurevbrmp3sync|get(?:left|right)?channel|kill(?:audio|video)|mergechannels|mixaudio|monotostereo|normalize|resampleaudio|ssrc|supereq|timestretch/\n .source, // conditional\n /animate|applyrange|conditional(?:filter|reader|select)|frameevaluate|scriptclip|tcp(?:server|source)|writefile(?:end|if|start)?/\n .source, // export\n /imagewriter/.source, // debug\n /blackness|blankclip|colorbars(?:hd)?|compare|dumpfiltergraph|echo|histogram|info|messageclip|preroll|setgraphanalysis|show(?:framenumber|smpte|time)|showfiveversions|stack(?:horizontal|vertical)|subtitle|tone|version/\n .source\n ].join('|')\n var allinternals = [internals, properties, filters].join('|')\n Prism.languages.avisynth = {\n comment: [\n {\n // Matches [* *] nestable block comments, but only supports 1 level of nested comments\n // /\\[\\*(?:[^\\[*]|\\[(?!\\*)|\\*(?!\\])|<self>)*\\*\\]/\n pattern:\n /(^|[^\\\\])\\[\\*(?:[^\\[*]|\\[(?!\\*)|\\*(?!\\])|\\[\\*(?:[^\\[*]|\\[(?!\\*)|\\*(?!\\]))*\\*\\])*\\*\\]/,\n lookbehind: true,\n greedy: true\n },\n {\n // Matches /* */ block comments\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true,\n greedy: true\n },\n {\n // Matches # comments\n pattern: /(^|[^\\\\$])#.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n // Handle before strings because optional arguments are surrounded by double quotes\n argument: {\n pattern: re(/\\b(?:<<0>>)\\s+(\"?)\\w+\\1/.source, [types], 'i'),\n inside: {\n keyword: /^\\w+/\n }\n },\n // Optional argument assignment\n 'argument-label': {\n pattern: /([,(][\\s\\\\]*)\\w+\\s*=(?!=)/,\n lookbehind: true,\n inside: {\n 'argument-name': {\n pattern: /^\\w+/,\n alias: 'punctuation'\n },\n punctuation: /=$/\n }\n },\n string: [\n {\n // triple double-quoted\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: true\n },\n {\n // single double-quoted\n pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n greedy: true,\n inside: {\n constant: {\n // These *are* case-sensitive!\n pattern:\n /\\b(?:DEFAULT_MT_MODE|(?:MAINSCRIPT|PROGRAM|SCRIPT)DIR|(?:MACHINE|USER)_(?:CLASSIC|PLUS)_PLUGINS)\\b/\n }\n }\n }\n ],\n // The special \"last\" variable that takes the value of the last implicitly returned clip\n variable: /\\b(?:last)\\b/i,\n boolean: /\\b(?:false|no|true|yes)\\b/i,\n keyword:\n /\\b(?:catch|else|for|function|global|if|return|try|while|__END__)\\b/i,\n constant: /\\bMT_(?:MULTI_INSTANCE|NICE_FILTER|SERIALIZED|SPECIAL_MT)\\b/,\n // AviSynth's internal functions, filters, and properties\n 'builtin-function': {\n pattern: re(/\\b(?:<<0>>)\\b/.source, [allinternals], 'i'),\n alias: 'function'\n },\n 'type-cast': {\n pattern: re(/\\b(?:<<0>>)(?=\\s*\\()/.source, [types], 'i'),\n alias: 'keyword'\n },\n // External/user-defined filters\n function: {\n pattern: /\\b[a-z_]\\w*(?=\\s*\\()|(\\.)[a-z_]\\w*\\b/i,\n lookbehind: true\n },\n // Matches a \\ as the first or last character on a line\n 'line-continuation': {\n pattern: /(^[ \\t]*)\\\\|\\\\(?=[ \\t]*$)/m,\n lookbehind: true,\n alias: 'punctuation'\n },\n number:\n /\\B\\$(?:[\\da-f]{6}|[\\da-f]{8})\\b|(?:(?:\\b|\\B-)\\d+(?:\\.\\d*)?\\b|\\B\\.\\d+\\b)/i,\n operator: /\\+\\+?|[!=<>]=?|&&|\\|\\||[?:*/%-]/,\n punctuation: /[{}\\[\\]();,.]/\n }\n Prism.languages.avs = Prism.languages.avisynth\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = avroIdl\navroIdl.displayName = 'avroIdl'\navroIdl.aliases = []\nfunction avroIdl(Prism) {\n // GitHub: https://github.com/apache/avro\n // Docs: https://avro.apache.org/docs/current/idl.html\n Prism.languages['avro-idl'] = {\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n greedy: true\n },\n string: {\n pattern: /(^|[^\\\\])\"(?:[^\\r\\n\"\\\\]|\\\\.)*\"/,\n lookbehind: true,\n greedy: true\n },\n annotation: {\n pattern: /@(?:[$\\w.-]|`[^\\r\\n`]+`)+/,\n greedy: true,\n alias: 'function'\n },\n 'function-identifier': {\n pattern: /`[^\\r\\n`]+`(?=\\s*\\()/,\n greedy: true,\n alias: 'function'\n },\n identifier: {\n pattern: /`[^\\r\\n`]+`/,\n greedy: true\n },\n 'class-name': {\n pattern: /(\\b(?:enum|error|protocol|record|throws)\\b\\s+)[$\\w]+/,\n lookbehind: true,\n greedy: true\n },\n keyword:\n /\\b(?:array|boolean|bytes|date|decimal|double|enum|error|false|fixed|float|idl|import|int|local_timestamp_ms|long|map|null|oneway|protocol|record|schema|string|throws|time_ms|timestamp_ms|true|union|uuid|void)\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n number: [\n {\n pattern:\n /(^|[^\\w.])-?(?:(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|0x(?:[a-f0-9]+(?:\\.[a-f0-9]*)?|\\.[a-f0-9]+)(?:p[+-]?\\d+)?)[dfl]?(?![\\w.])/i,\n lookbehind: true\n },\n /-?\\b(?:Infinity|NaN)\\b/\n ],\n operator: /=/,\n punctuation: /[()\\[\\]{}<>.:,;-]/\n }\n Prism.languages.avdl = Prism.languages['avro-idl']\n}\n","'use strict'\n\nmodule.exports = bash\nbash.displayName = 'bash'\nbash.aliases = ['shell']\nfunction bash(Prism) {\n ;(function (Prism) {\n // $ set | grep '^[A-Z][^[:space:]]*=' | cut -d= -f1 | tr '\\n' '|'\n // + LC_ALL, RANDOM, REPLY, SECONDS.\n // + make sure PS1..4 are here as they are not always set,\n // - some useless things.\n var envVars =\n '\\\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\\\b'\n var commandAfterHeredoc = {\n pattern: /(^([\"']?)\\w+\\2)[ \\t]+\\S.*/,\n lookbehind: true,\n alias: 'punctuation',\n // this looks reasonably well in all themes\n inside: null // see below\n }\n var insideString = {\n bash: commandAfterHeredoc,\n environment: {\n pattern: RegExp('\\\\$' + envVars),\n alias: 'constant'\n },\n variable: [\n // [0]: Arithmetic Environment\n {\n pattern: /\\$?\\(\\([\\s\\S]+?\\)\\)/,\n greedy: true,\n inside: {\n // If there is a $ sign at the beginning highlight $(( and )) as variable\n variable: [\n {\n pattern: /(^\\$\\(\\([\\s\\S]+)\\)\\)/,\n lookbehind: true\n },\n /^\\$\\(\\(/\n ],\n number:\n /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,\n // Operators according to https://www.gnu.org/software/bash/manual/bashref.html#Shell-Arithmetic\n operator:\n /--|\\+\\+|\\*\\*=?|<<=?|>>=?|&&|\\|\\||[=!+\\-*/%<>^&|]=?|[?~:]/,\n // If there is no $ sign at the beginning highlight (( and )) as punctuation\n punctuation: /\\(\\(?|\\)\\)?|,|;/\n }\n }, // [1]: Command Substitution\n {\n pattern: /\\$\\((?:\\([^)]+\\)|[^()])+\\)|`[^`]+`/,\n greedy: true,\n inside: {\n variable: /^\\$\\(|^`|\\)$|`$/\n }\n }, // [2]: Brace expansion\n {\n pattern: /\\$\\{[^}]+\\}/,\n greedy: true,\n inside: {\n operator: /:[-=?+]?|[!\\/]|##?|%%?|\\^\\^?|,,?/,\n punctuation: /[\\[\\]]/,\n environment: {\n pattern: RegExp('(\\\\{)' + envVars),\n lookbehind: true,\n alias: 'constant'\n }\n }\n },\n /\\$(?:\\w+|[#?*!@$])/\n ],\n // Escape sequences from echo and printf's manuals, and escaped quotes.\n entity:\n /\\\\(?:[abceEfnrtv\\\\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/\n }\n Prism.languages.bash = {\n shebang: {\n pattern: /^#!\\s*\\/.*/,\n alias: 'important'\n },\n comment: {\n pattern: /(^|[^\"{\\\\$])#.*/,\n lookbehind: true\n },\n 'function-name': [\n // a) function foo {\n // b) foo() {\n // c) function foo() {\n // but not “foo {”\n {\n // a) and c)\n pattern: /(\\bfunction\\s+)[\\w-]+(?=(?:\\s*\\(?:\\s*\\))?\\s*\\{)/,\n lookbehind: true,\n alias: 'function'\n },\n {\n // b)\n pattern: /\\b[\\w-]+(?=\\s*\\(\\s*\\)\\s*\\{)/,\n alias: 'function'\n }\n ],\n // Highlight variable names as variables in for and select beginnings.\n 'for-or-select': {\n pattern: /(\\b(?:for|select)\\s+)\\w+(?=\\s+in\\s)/,\n alias: 'variable',\n lookbehind: true\n },\n // Highlight variable names as variables in the left-hand part\n // of assignments (“=” and “+=”).\n 'assign-left': {\n pattern: /(^|[\\s;|&]|[<>]\\()\\w+(?=\\+?=)/,\n inside: {\n environment: {\n pattern: RegExp('(^|[\\\\s;|&]|[<>]\\\\()' + envVars),\n lookbehind: true,\n alias: 'constant'\n }\n },\n alias: 'variable',\n lookbehind: true\n },\n string: [\n // Support for Here-documents https://en.wikipedia.org/wiki/Here_document\n {\n pattern: /((?:^|[^<])<<-?\\s*)(\\w+)\\s[\\s\\S]*?(?:\\r?\\n|\\r)\\2/,\n lookbehind: true,\n greedy: true,\n inside: insideString\n }, // Here-document with quotes around the tag\n // → No expansion (so no “inside”).\n {\n pattern: /((?:^|[^<])<<-?\\s*)([\"'])(\\w+)\\2\\s[\\s\\S]*?(?:\\r?\\n|\\r)\\3/,\n lookbehind: true,\n greedy: true,\n inside: {\n bash: commandAfterHeredoc\n }\n }, // “Normal” string\n {\n // https://www.gnu.org/software/bash/manual/html_node/Double-Quotes.html\n pattern:\n /(^|[^\\\\](?:\\\\\\\\)*)\"(?:\\\\[\\s\\S]|\\$\\([^)]+\\)|\\$(?!\\()|`[^`]+`|[^\"\\\\`$])*\"/,\n lookbehind: true,\n greedy: true,\n inside: insideString\n },\n {\n // https://www.gnu.org/software/bash/manual/html_node/Single-Quotes.html\n pattern: /(^|[^$\\\\])'[^']*'/,\n lookbehind: true,\n greedy: true\n },\n {\n // https://www.gnu.org/software/bash/manual/html_node/ANSI_002dC-Quoting.html\n pattern: /\\$'(?:[^'\\\\]|\\\\[\\s\\S])*'/,\n greedy: true,\n inside: {\n entity: insideString.entity\n }\n }\n ],\n environment: {\n pattern: RegExp('\\\\$?' + envVars),\n alias: 'constant'\n },\n variable: insideString.variable,\n function: {\n pattern:\n /(^|[\\s;|&]|[<>]\\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\\s;|&])/,\n lookbehind: true\n },\n keyword: {\n pattern:\n /(^|[\\s;|&]|[<>]\\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\\s;|&])/,\n lookbehind: true\n },\n // https://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html\n builtin: {\n pattern:\n /(^|[\\s;|&]|[<>]\\()(?:\\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\\s;|&])/,\n lookbehind: true,\n // Alias added to make those easier to distinguish from strings.\n alias: 'class-name'\n },\n boolean: {\n pattern: /(^|[\\s;|&]|[<>]\\()(?:false|true)(?=$|[)\\s;|&])/,\n lookbehind: true\n },\n 'file-descriptor': {\n pattern: /\\B&\\d\\b/,\n alias: 'important'\n },\n operator: {\n // Lots of redirections here, but not just that.\n pattern:\n /\\d?<>|>\\||\\+=|=[=~]?|!=?|<<[<-]?|[&\\d]?>>|\\d[<>]&?|[<>][&=]?|&[>&]?|\\|[&|]?/,\n inside: {\n 'file-descriptor': {\n pattern: /^\\d/,\n alias: 'important'\n }\n }\n },\n punctuation: /\\$?\\(\\(?|\\)\\)?|\\.\\.|[{}[\\];\\\\]/,\n number: {\n pattern: /(^|\\s)(?:[1-9]\\d*|0)(?:[.,]\\d+)?\\b/,\n lookbehind: true\n }\n }\n commandAfterHeredoc.inside = Prism.languages.bash\n /* Patterns in command substitution. */\n var toBeCopied = [\n 'comment',\n 'function-name',\n 'for-or-select',\n 'assign-left',\n 'string',\n 'environment',\n 'function',\n 'keyword',\n 'builtin',\n 'boolean',\n 'file-descriptor',\n 'operator',\n 'punctuation',\n 'number'\n ]\n var inside = insideString.variable[1].inside\n for (var i = 0; i < toBeCopied.length; i++) {\n inside[toBeCopied[i]] = Prism.languages.bash[toBeCopied[i]]\n }\n Prism.languages.shell = Prism.languages.bash\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = basic\nbasic.displayName = 'basic'\nbasic.aliases = []\nfunction basic(Prism) {\n Prism.languages.basic = {\n comment: {\n pattern: /(?:!|REM\\b).+/i,\n inside: {\n keyword: /^REM/i\n }\n },\n string: {\n pattern: /\"(?:\"\"|[!#$%&'()*,\\/:;<=>?^\\w +\\-.])*\"/,\n greedy: true\n },\n number: /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:E[+-]?\\d+)?/i,\n keyword:\n /\\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SELECT CASE|SHARED|SHELL|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\\$|\\b)/i,\n function:\n /\\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\\$|\\b)/i,\n operator: /<[=>]?|>=?|[+\\-*\\/^=&]|\\b(?:AND|EQV|IMP|NOT|OR|XOR)\\b/i,\n punctuation: /[,;:()]/\n }\n}\n","'use strict'\n\nmodule.exports = batch\nbatch.displayName = 'batch'\nbatch.aliases = []\nfunction batch(Prism) {\n ;(function (Prism) {\n var variable = /%%?[~:\\w]+%?|!\\S+!/\n var parameter = {\n pattern: /\\/[a-z?]+(?=[ :]|$):?|-[a-z]\\b|--[a-z-]+\\b/im,\n alias: 'attr-name',\n inside: {\n punctuation: /:/\n }\n }\n var string = /\"(?:[\\\\\"]\"|[^\"])*\"(?!\")/\n var number = /(?:\\b|-)\\d+\\b/\n Prism.languages.batch = {\n comment: [\n /^::.*/m,\n {\n pattern: /((?:^|[&(])[ \\t]*)rem\\b(?:[^^&)\\r\\n]|\\^(?:\\r\\n|[\\s\\S]))*/im,\n lookbehind: true\n }\n ],\n label: {\n pattern: /^:.*/m,\n alias: 'property'\n },\n command: [\n {\n // FOR command\n pattern:\n /((?:^|[&(])[ \\t]*)for(?: \\/[a-z?](?:[ :](?:\"[^\"]*\"|[^\\s\"/]\\S*))?)* \\S+ in \\([^)]+\\) do/im,\n lookbehind: true,\n inside: {\n keyword: /\\b(?:do|in)\\b|^for\\b/i,\n string: string,\n parameter: parameter,\n variable: variable,\n number: number,\n punctuation: /[()',]/\n }\n },\n {\n // IF command\n pattern:\n /((?:^|[&(])[ \\t]*)if(?: \\/[a-z?](?:[ :](?:\"[^\"]*\"|[^\\s\"/]\\S*))?)* (?:not )?(?:cmdextversion \\d+|defined \\w+|errorlevel \\d+|exist \\S+|(?:\"[^\"]*\"|(?!\")(?:(?!==)\\S)+)?(?:==| (?:equ|geq|gtr|leq|lss|neq) )(?:\"[^\"]*\"|[^\\s\"]\\S*))/im,\n lookbehind: true,\n inside: {\n keyword:\n /\\b(?:cmdextversion|defined|errorlevel|exist|not)\\b|^if\\b/i,\n string: string,\n parameter: parameter,\n variable: variable,\n number: number,\n operator: /\\^|==|\\b(?:equ|geq|gtr|leq|lss|neq)\\b/i\n }\n },\n {\n // ELSE command\n pattern: /((?:^|[&()])[ \\t]*)else\\b/im,\n lookbehind: true,\n inside: {\n keyword: /^else\\b/i\n }\n },\n {\n // SET command\n pattern:\n /((?:^|[&(])[ \\t]*)set(?: \\/[a-z](?:[ :](?:\"[^\"]*\"|[^\\s\"/]\\S*))?)* (?:[^^&)\\r\\n]|\\^(?:\\r\\n|[\\s\\S]))*/im,\n lookbehind: true,\n inside: {\n keyword: /^set\\b/i,\n string: string,\n parameter: parameter,\n variable: [variable, /\\w+(?=(?:[*\\/%+\\-&^|]|<<|>>)?=)/],\n number: number,\n operator: /[*\\/%+\\-&^|]=?|<<=?|>>=?|[!~_=]/,\n punctuation: /[()',]/\n }\n },\n {\n // Other commands\n pattern:\n /((?:^|[&(])[ \\t]*@?)\\w+\\b(?:\"(?:[\\\\\"]\"|[^\"])*\"(?!\")|[^\"^&)\\r\\n]|\\^(?:\\r\\n|[\\s\\S]))*/m,\n lookbehind: true,\n inside: {\n keyword: /^\\w+\\b/,\n string: string,\n parameter: parameter,\n label: {\n pattern: /(^\\s*):\\S+/m,\n lookbehind: true,\n alias: 'property'\n },\n variable: variable,\n number: number,\n operator: /\\^/\n }\n }\n ],\n operator: /[&@]/,\n punctuation: /[()']/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = bbcode\nbbcode.displayName = 'bbcode'\nbbcode.aliases = ['shortcode']\nfunction bbcode(Prism) {\n Prism.languages.bbcode = {\n tag: {\n pattern:\n /\\[\\/?[^\\s=\\]]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\"\\]=]+))?(?:\\s+[^\\s=\\]]+\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\"\\]=]+))*\\s*\\]/,\n inside: {\n tag: {\n pattern: /^\\[\\/?[^\\s=\\]]+/,\n inside: {\n punctuation: /^\\[\\/?/\n }\n },\n 'attr-value': {\n pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\"\\]=]+)/,\n inside: {\n punctuation: [\n /^=/,\n {\n pattern: /^(\\s*)[\"']|[\"']$/,\n lookbehind: true\n }\n ]\n }\n },\n punctuation: /\\]/,\n 'attr-name': /[^\\s=\\]]+/\n }\n }\n }\n Prism.languages.shortcode = Prism.languages.bbcode\n}\n","'use strict'\n\nmodule.exports = bicep\nbicep.displayName = 'bicep'\nbicep.aliases = []\nfunction bicep(Prism) {\n // based loosely upon: https://github.com/Azure/bicep/blob/main/src/textmate/bicep.tmlanguage\n Prism.languages.bicep = {\n comment: [\n {\n // multiline comments eg /* ASDF */\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true,\n greedy: true\n },\n {\n // singleline comments eg // ASDF\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n property: [\n {\n pattern: /([\\r\\n][ \\t]*)[a-z_]\\w*(?=[ \\t]*:)/i,\n lookbehind: true\n },\n {\n pattern: /([\\r\\n][ \\t]*)'(?:\\\\.|\\$(?!\\{)|[^'\\\\\\r\\n$])*'(?=[ \\t]*:)/,\n lookbehind: true,\n greedy: true\n }\n ],\n string: [\n {\n pattern: /'''[^'][\\s\\S]*?'''/,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\'])'(?:\\\\.|\\$(?!\\{)|[^'\\\\\\r\\n$])*'/,\n lookbehind: true,\n greedy: true\n }\n ],\n 'interpolated-string': {\n pattern: /(^|[^\\\\'])'(?:\\\\.|\\$(?:(?!\\{)|\\{[^{}\\r\\n]*\\})|[^'\\\\\\r\\n$])*'/,\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /\\$\\{[^{}\\r\\n]*\\}/,\n inside: {\n expression: {\n pattern: /(^\\$\\{)[\\s\\S]+(?=\\}$)/,\n lookbehind: true\n },\n punctuation: /^\\$\\{|\\}$/\n }\n },\n string: /[\\s\\S]+/\n }\n },\n datatype: {\n pattern: /(\\b(?:output|param)\\b[ \\t]+\\w+[ \\t]+)\\w+\\b/,\n lookbehind: true,\n alias: 'class-name'\n },\n boolean: /\\b(?:false|true)\\b/,\n // https://github.com/Azure/bicep/blob/114a3251b4e6e30082a58729f19a8cc4e374ffa6/src/textmate/bicep.tmlanguage#L184\n keyword:\n /\\b(?:existing|for|if|in|module|null|output|param|resource|targetScope|var)\\b/,\n decorator: /@\\w+\\b/,\n function: /\\b[a-z_]\\w*(?=[ \\t]*\\()/i,\n number: /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:E[+-]?\\d+)?/i,\n operator:\n /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/,\n punctuation: /[{}[\\];(),.:]/\n }\n Prism.languages.bicep['interpolated-string'].inside['interpolation'].inside[\n 'expression'\n ].inside = Prism.languages.bicep\n}\n","'use strict'\n\nmodule.exports = birb\nbirb.displayName = 'birb'\nbirb.aliases = []\nfunction birb(Prism) {\n Prism.languages.birb = Prism.languages.extend('clike', {\n string: {\n pattern: /r?(\"|')(?:\\\\.|(?!\\1)[^\\\\])*\\1/,\n greedy: true\n },\n 'class-name': [\n /\\b[A-Z](?:[\\d_]*[a-zA-Z]\\w*)?\\b/, // matches variable and function return types (parameters as well).\n /\\b(?:[A-Z]\\w*|(?!(?:var|void)\\b)[a-z]\\w*)(?=\\s+\\w+\\s*[;,=()])/\n ],\n keyword:\n /\\b(?:assert|break|case|class|const|default|else|enum|final|follows|for|grab|if|nest|new|next|noSeeb|return|static|switch|throw|var|void|while)\\b/,\n operator: /\\+\\+|--|&&|\\|\\||<<=?|>>=?|~(?:\\/=?)?|[+\\-*\\/%&^|=!<>]=?|\\?|:/,\n variable: /\\b[a-z_]\\w*\\b/\n })\n Prism.languages.insertBefore('birb', 'function', {\n metadata: {\n pattern: /<\\w+>/,\n greedy: true,\n alias: 'symbol'\n }\n })\n}\n","'use strict'\nvar refractorC = require('./c.js')\nmodule.exports = bison\nbison.displayName = 'bison'\nbison.aliases = []\nfunction bison(Prism) {\n Prism.register(refractorC)\n Prism.languages.bison = Prism.languages.extend('c', {})\n Prism.languages.insertBefore('bison', 'comment', {\n bison: {\n // This should match all the beginning of the file\n // including the prologue(s), the bison declarations and\n // the grammar rules.\n pattern: /^(?:[^%]|%(?!%))*%%[\\s\\S]*?%%/,\n inside: {\n c: {\n // Allow for one level of nested braces\n pattern: /%\\{[\\s\\S]*?%\\}|\\{(?:\\{[^}]*\\}|[^{}])*\\}/,\n inside: {\n delimiter: {\n pattern: /^%?\\{|%?\\}$/,\n alias: 'punctuation'\n },\n 'bison-variable': {\n pattern: /[$@](?:<[^\\s>]+>)?[\\w$]+/,\n alias: 'variable',\n inside: {\n punctuation: /<|>/\n }\n },\n rest: Prism.languages.c\n }\n },\n comment: Prism.languages.c.comment,\n string: Prism.languages.c.string,\n property: /\\S+(?=:)/,\n keyword: /%\\w+/,\n number: {\n pattern: /(^|[^@])\\b(?:0x[\\da-f]+|\\d+)/i,\n lookbehind: true\n },\n punctuation: /%[%?]|[|:;\\[\\]<>]/\n }\n }\n })\n}\n","'use strict'\n\nmodule.exports = bnf\nbnf.displayName = 'bnf'\nbnf.aliases = ['rbnf']\nfunction bnf(Prism) {\n Prism.languages.bnf = {\n string: {\n pattern: /\"[^\\r\\n\"]*\"|'[^\\r\\n']*'/\n },\n definition: {\n pattern: /<[^<>\\r\\n\\t]+>(?=\\s*::=)/,\n alias: ['rule', 'keyword'],\n inside: {\n punctuation: /^<|>$/\n }\n },\n rule: {\n pattern: /<[^<>\\r\\n\\t]+>/,\n inside: {\n punctuation: /^<|>$/\n }\n },\n operator: /::=|[|()[\\]{}*+?]|\\.{3}/\n }\n Prism.languages.rbnf = Prism.languages.bnf\n}\n","'use strict'\n\nmodule.exports = brainfuck\nbrainfuck.displayName = 'brainfuck'\nbrainfuck.aliases = []\nfunction brainfuck(Prism) {\n Prism.languages.brainfuck = {\n pointer: {\n pattern: /<|>/,\n alias: 'keyword'\n },\n increment: {\n pattern: /\\+/,\n alias: 'inserted'\n },\n decrement: {\n pattern: /-/,\n alias: 'deleted'\n },\n branching: {\n pattern: /\\[|\\]/,\n alias: 'important'\n },\n operator: /[.,]/,\n comment: /\\S+/\n }\n}\n","'use strict'\n\nmodule.exports = brightscript\nbrightscript.displayName = 'brightscript'\nbrightscript.aliases = []\nfunction brightscript(Prism) {\n Prism.languages.brightscript = {\n comment: /(?:\\brem|').*/i,\n 'directive-statement': {\n pattern: /(^[\\t ]*)#(?:const|else(?:[\\t ]+if)?|end[\\t ]+if|error|if).*/im,\n lookbehind: true,\n alias: 'property',\n inside: {\n 'error-message': {\n pattern: /(^#error).+/,\n lookbehind: true\n },\n directive: {\n pattern: /^#(?:const|else(?:[\\t ]+if)?|end[\\t ]+if|error|if)/,\n alias: 'keyword'\n },\n expression: {\n pattern: /[\\s\\S]+/,\n inside: null // see below\n }\n }\n },\n property: {\n pattern:\n /([\\r\\n{,][\\t ]*)(?:(?!\\d)\\w+|\"(?:[^\"\\r\\n]|\"\")*\"(?!\"))(?=[ \\t]*:)/,\n lookbehind: true,\n greedy: true\n },\n string: {\n pattern: /\"(?:[^\"\\r\\n]|\"\")*\"(?!\")/,\n greedy: true\n },\n 'class-name': {\n pattern: /(\\bAs[\\t ]+)\\w+/i,\n lookbehind: true\n },\n keyword:\n /\\b(?:As|Dim|Each|Else|Elseif|End|Exit|For|Function|Goto|If|In|Print|Return|Step|Stop|Sub|Then|To|While)\\b/i,\n boolean: /\\b(?:false|true)\\b/i,\n function: /\\b(?!\\d)\\w+(?=[\\t ]*\\()/,\n number: /(?:\\b\\d+(?:\\.\\d+)?(?:[ed][+-]\\d+)?|&h[a-f\\d]+)\\b[%&!#]?/i,\n operator:\n /--|\\+\\+|>>=?|<<=?|<>|[-+*/\\\\<>]=?|[:^=?]|\\b(?:and|mod|not|or)\\b/i,\n punctuation: /[.,;()[\\]{}]/,\n constant: /\\b(?:LINE_NUM)\\b/i\n }\n Prism.languages.brightscript['directive-statement'].inside.expression.inside =\n Prism.languages.brightscript\n}\n","'use strict'\n\nmodule.exports = bro\nbro.displayName = 'bro'\nbro.aliases = []\nfunction bro(Prism) {\n Prism.languages.bro = {\n comment: {\n pattern: /(^|[^\\\\$])#.*/,\n lookbehind: true,\n inside: {\n italic: /\\b(?:FIXME|TODO|XXX)\\b/\n }\n },\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n boolean: /\\b[TF]\\b/,\n function: {\n pattern: /(\\b(?:event|function|hook)[ \\t]+)\\w+(?:::\\w+)?/,\n lookbehind: true\n },\n builtin:\n /(?:@(?:load(?:-(?:plugin|sigs))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME))|(?:&?(?:add_func|create_expire|default|delete_func|encrypt|error_handler|expire_func|group|log|mergeable|optional|persistent|priority|raw_output|read_expire|redef|rotate_interval|rotate_size|synchronized|type_column|write_expire))/,\n constant: {\n pattern: /(\\bconst[ \\t]+)\\w+/i,\n lookbehind: true\n },\n keyword:\n /\\b(?:add|addr|alarm|any|bool|break|const|continue|count|delete|double|else|enum|event|export|file|for|function|global|hook|if|in|int|interval|local|module|next|of|opaque|pattern|port|print|record|return|schedule|set|string|subnet|table|time|timeout|using|vector|when)\\b/,\n operator: /--?|\\+\\+?|!=?=?|<=?|>=?|==?=?|&&|\\|\\|?|\\?|\\*|\\/|~|\\^|%/,\n number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n punctuation: /[{}[\\];(),.:]/\n }\n}\n","'use strict'\n\nmodule.exports = bsl\nbsl.displayName = 'bsl'\nbsl.aliases = []\nfunction bsl(Prism) {\n /* eslint-disable no-misleading-character-class */\n // 1C:Enterprise\n // https://github.com/Diversus23/\n //\n Prism.languages.bsl = {\n comment: /\\/\\/.*/,\n string: [\n // Строки\n // Strings\n {\n pattern: /\"(?:[^\"]|\"\")*\"(?!\")/,\n greedy: true\n }, // Дата и время\n // Date & time\n {\n pattern: /'(?:[^'\\r\\n\\\\]|\\\\.)*'/\n }\n ],\n keyword: [\n {\n // RU\n pattern:\n /(^|[^\\w\\u0400-\\u0484\\u0487-\\u052f\\u1d2b\\u1d78\\u2de0-\\u2dff\\ua640-\\ua69f\\ufe2e\\ufe2f])(?:пока|для|новый|прервать|попытка|исключение|вызватьисключение|иначе|конецпопытки|неопределено|функция|перем|возврат|конецфункции|если|иначеесли|процедура|конецпроцедуры|тогда|знач|экспорт|конецесли|из|каждого|истина|ложь|по|цикл|конеццикла|выполнить)(?![\\w\\u0400-\\u0484\\u0487-\\u052f\\u1d2b\\u1d78\\u2de0-\\u2dff\\ua640-\\ua69f\\ufe2e\\ufe2f])/i,\n lookbehind: true\n },\n {\n // EN\n pattern:\n /\\b(?:break|do|each|else|elseif|enddo|endfunction|endif|endprocedure|endtry|except|execute|export|false|for|function|if|in|new|null|procedure|raise|return|then|to|true|try|undefined|val|var|while)\\b/i\n }\n ],\n number: {\n pattern:\n /(^(?=\\d)|[^\\w\\u0400-\\u0484\\u0487-\\u052f\\u1d2b\\u1d78\\u2de0-\\u2dff\\ua640-\\ua69f\\ufe2e\\ufe2f])(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:E[+-]?\\d+)?/i,\n lookbehind: true\n },\n operator: [\n /[<>+\\-*/]=?|[%=]/, // RU\n {\n pattern:\n /(^|[^\\w\\u0400-\\u0484\\u0487-\\u052f\\u1d2b\\u1d78\\u2de0-\\u2dff\\ua640-\\ua69f\\ufe2e\\ufe2f])(?:и|или|не)(?![\\w\\u0400-\\u0484\\u0487-\\u052f\\u1d2b\\u1d78\\u2de0-\\u2dff\\ua640-\\ua69f\\ufe2e\\ufe2f])/i,\n lookbehind: true\n }, // EN\n {\n pattern: /\\b(?:and|not|or)\\b/i\n }\n ],\n punctuation: /\\(\\.|\\.\\)|[()\\[\\]:;,.]/,\n directive: [\n // Теги препроцессора вида &Клиент, &Сервер, ...\n // Preprocessor tags of the type &Client, &Server, ...\n {\n pattern: /^([ \\t]*)&.*/m,\n lookbehind: true,\n greedy: true,\n alias: 'important'\n }, // Инструкции препроцессора вида:\n // #Если Сервер Тогда\n // ...\n // #КонецЕсли\n // Preprocessor instructions of the form:\n // #If Server Then\n // ...\n // #EndIf\n {\n pattern: /^([ \\t]*)#.*/gm,\n lookbehind: true,\n greedy: true,\n alias: 'important'\n }\n ]\n }\n Prism.languages.oscript = Prism.languages['bsl']\n}\n","'use strict'\n\nmodule.exports = c\nc.displayName = 'c'\nc.aliases = []\nfunction c(Prism) {\n Prism.languages.c = Prism.languages.extend('clike', {\n comment: {\n pattern:\n /\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n greedy: true\n },\n string: {\n // https://en.cppreference.com/w/c/language/string_literal\n pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n greedy: true\n },\n 'class-name': {\n pattern:\n /(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/,\n lookbehind: true\n },\n keyword:\n /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n number:\n /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i,\n operator: />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/\n })\n Prism.languages.insertBefore('c', 'string', {\n char: {\n // https://en.cppreference.com/w/c/language/character_constant\n pattern: /'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n]){0,32}'/,\n greedy: true\n }\n })\n Prism.languages.insertBefore('c', 'string', {\n macro: {\n // allow for multiline macro definitions\n // spaces after the # character compile fine with gcc\n pattern:\n /(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n lookbehind: true,\n greedy: true,\n alias: 'property',\n inside: {\n string: [\n {\n // highlight the path of the include statement as a string\n pattern: /^(#\\s*include\\s*)<[^>]+>/,\n lookbehind: true\n },\n Prism.languages.c['string']\n ],\n char: Prism.languages.c['char'],\n comment: Prism.languages.c['comment'],\n 'macro-name': [\n {\n pattern: /(^#\\s*define\\s+)\\w+\\b(?!\\()/i,\n lookbehind: true\n },\n {\n pattern: /(^#\\s*define\\s+)\\w+\\b(?=\\()/i,\n lookbehind: true,\n alias: 'function'\n }\n ],\n // highlight macro directives as keywords\n directive: {\n pattern: /^(#\\s*)[a-z]+/,\n lookbehind: true,\n alias: 'keyword'\n },\n 'directive-hash': /^#/,\n punctuation: /##|\\\\(?=[\\r\\n])/,\n expression: {\n pattern: /\\S[\\s\\S]*/,\n inside: Prism.languages.c\n }\n }\n }\n })\n Prism.languages.insertBefore('c', 'function', {\n // highlight predefined macros as constants\n constant:\n /\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/\n })\n delete Prism.languages.c['boolean']\n}\n","'use strict'\n\nmodule.exports = cfscript\ncfscript.displayName = 'cfscript'\ncfscript.aliases = []\nfunction cfscript(Prism) {\n // https://cfdocs.org/script\n Prism.languages.cfscript = Prism.languages.extend('clike', {\n comment: [\n {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true,\n inside: {\n annotation: {\n pattern: /(?:^|[^.])@[\\w\\.]+/,\n alias: 'punctuation'\n }\n }\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n keyword:\n /\\b(?:abstract|break|catch|component|continue|default|do|else|extends|final|finally|for|function|if|in|include|package|private|property|public|remote|required|rethrow|return|static|switch|throw|try|var|while|xml)\\b(?!\\s*=)/,\n operator: [\n /\\+\\+|--|&&|\\|\\||::|=>|[!=]==|<=?|>=?|[-+*/%&|^!=<>]=?|\\?(?:\\.|:)?|[?:]/,\n /\\b(?:and|contains|eq|equal|eqv|gt|gte|imp|is|lt|lte|mod|not|or|xor)\\b/\n ],\n scope: {\n pattern:\n /\\b(?:application|arguments|cgi|client|cookie|local|session|super|this|variables)\\b/,\n alias: 'global'\n },\n type: {\n pattern:\n /\\b(?:any|array|binary|boolean|date|guid|numeric|query|string|struct|uuid|void|xml)\\b/,\n alias: 'builtin'\n }\n })\n Prism.languages.insertBefore('cfscript', 'keyword', {\n // This must be declared before keyword because we use \"function\" inside the lookahead\n 'function-variable': {\n pattern:\n /[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n alias: 'function'\n }\n })\n delete Prism.languages.cfscript['class-name']\n Prism.languages.cfc = Prism.languages['cfscript']\n}\n","'use strict'\nvar refractorCpp = require('./cpp.js')\nmodule.exports = chaiscript\nchaiscript.displayName = 'chaiscript'\nchaiscript.aliases = []\nfunction chaiscript(Prism) {\n Prism.register(refractorCpp)\n Prism.languages.chaiscript = Prism.languages.extend('clike', {\n string: {\n pattern: /(^|[^\\\\])'(?:[^'\\\\]|\\\\[\\s\\S])*'/,\n lookbehind: true,\n greedy: true\n },\n 'class-name': [\n {\n // e.g. class Rectangle { ... }\n pattern: /(\\bclass\\s+)\\w+/,\n lookbehind: true\n },\n {\n // e.g. attr Rectangle::height, def Rectangle::area() { ... }\n pattern: /(\\b(?:attr|def)\\s+)\\w+(?=\\s*::)/,\n lookbehind: true\n }\n ],\n keyword:\n /\\b(?:attr|auto|break|case|catch|class|continue|def|default|else|finally|for|fun|global|if|return|switch|this|try|var|while)\\b/,\n number: [Prism.languages.cpp.number, /\\b(?:Infinity|NaN)\\b/],\n operator:\n />>=?|<<=?|\\|\\||&&|:[:=]?|--|\\+\\+|[=!<>+\\-*/%|&^]=?|[?~]|`[^`\\r\\n]{1,4}`/\n })\n Prism.languages.insertBefore('chaiscript', 'operator', {\n 'parameter-type': {\n // e.g. def foo(int x, Vector y) {...}\n pattern: /([,(]\\s*)\\w+(?=\\s+\\w)/,\n lookbehind: true,\n alias: 'class-name'\n }\n })\n Prism.languages.insertBefore('chaiscript', 'string', {\n 'string-interpolation': {\n pattern:\n /(^|[^\\\\])\"(?:[^\"$\\\\]|\\\\[\\s\\S]|\\$(?!\\{)|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})*\\})*\"/,\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})*\\}/,\n lookbehind: true,\n inside: {\n 'interpolation-expression': {\n pattern: /(^\\$\\{)[\\s\\S]+(?=\\}$)/,\n lookbehind: true,\n inside: Prism.languages.chaiscript\n },\n 'interpolation-punctuation': {\n pattern: /^\\$\\{|\\}$/,\n alias: 'punctuation'\n }\n }\n },\n string: /[\\s\\S]+/\n }\n }\n })\n}\n","'use strict'\n\nmodule.exports = cil\ncil.displayName = 'cil'\ncil.aliases = []\nfunction cil(Prism) {\n Prism.languages.cil = {\n comment: /\\/\\/.*/,\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n directive: {\n pattern: /(^|\\W)\\.[a-z]+(?=\\s)/,\n lookbehind: true,\n alias: 'class-name'\n },\n // Actually an assembly reference\n variable: /\\[[\\w\\.]+\\]/,\n keyword:\n /\\b(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|u?int(?:8|16|32|64)?|iant|idispatch|implements|import|initonly|instance|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)\\b/,\n function:\n /\\b(?:(?:constrained|no|readonly|tail|unaligned|volatile)\\.)?(?:conv\\.(?:[iu][1248]?|ovf\\.[iu][1248]?(?:\\.un)?|r\\.un|r4|r8)|ldc\\.(?:i4(?:\\.\\d+|\\.[mM]1|\\.s)?|i8|r4|r8)|ldelem(?:\\.[iu][1248]?|\\.r[48]|\\.ref|a)?|ldind\\.(?:[iu][1248]?|r[48]|ref)|stelem\\.?(?:i[1248]?|r[48]|ref)?|stind\\.(?:i[1248]?|r[48]|ref)?|end(?:fault|filter|finally)|ldarg(?:\\.[0-3s]|a(?:\\.s)?)?|ldloc(?:\\.\\d+|\\.s)?|sub(?:\\.ovf(?:\\.un)?)?|mul(?:\\.ovf(?:\\.un)?)?|add(?:\\.ovf(?:\\.un)?)?|stloc(?:\\.[0-3s])?|refany(?:type|val)|blt(?:\\.un)?(?:\\.s)?|ble(?:\\.un)?(?:\\.s)?|bgt(?:\\.un)?(?:\\.s)?|bge(?:\\.un)?(?:\\.s)?|unbox(?:\\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\\.s)?|bne\\.un(?:\\.s)?|ldloca(?:\\.s)?|brzero(?:\\.s)?|brtrue(?:\\.s)?|brnull(?:\\.s)?|brinst(?:\\.s)?|starg(?:\\.s)?|leave(?:\\.s)?|shr(?:\\.un)?|rem(?:\\.un)?|div(?:\\.un)?|clt(?:\\.un)?|alignment|castclass|ldvirtftn|beq(?:\\.s)?|ckfinite|ldsflda|ldtoken|localloc|mkrefany|rethrow|cgt\\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|cgt|ceq|box|and|or|br)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n number: /\\b-?(?:0x[0-9a-f]+|\\d+)(?:\\.[0-9a-f]+)?\\b/i,\n punctuation: /[{}[\\];(),:=]|IL_[0-9A-Za-z]+/\n }\n}\n","'use strict'\n\nmodule.exports = clike\nclike.displayName = 'clike'\nclike.aliases = []\nfunction clike(Prism) {\n Prism.languages.clike = {\n comment: [\n {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n 'class-name': {\n pattern:\n /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n lookbehind: true,\n inside: {\n punctuation: /[.\\\\]/\n }\n },\n keyword:\n /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n function: /\\b\\w+(?=\\()/,\n number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n operator: /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n punctuation: /[{}[\\];(),.:]/\n }\n}\n","'use strict'\n\nmodule.exports = clojure\nclojure.displayName = 'clojure'\nclojure.aliases = []\nfunction clojure(Prism) {\n // Copied from https://github.com/jeluard/prism-clojure\n Prism.languages.clojure = {\n comment: {\n pattern: /;.*/,\n greedy: true\n },\n string: {\n pattern: /\"(?:[^\"\\\\]|\\\\.)*\"/,\n greedy: true\n },\n char: /\\\\\\w+/,\n symbol: {\n pattern: /(^|[\\s()\\[\\]{},])::?[\\w*+!?'<>=/.-]+/,\n lookbehind: true\n },\n keyword: {\n pattern:\n /(\\()(?:-|->|->>|\\.|\\.\\.|\\*|\\/|\\+|<|<=|=|==|>|>=|accessor|agent|agent-errors|aget|alength|all-ns|alter|and|append-child|apply|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|await|await-for|bean|binding|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|boolean|branch\\?|butlast|byte|cast|char|children|class|clear-agent-errors|comment|commute|comp|comparator|complement|concat|cond|conj|cons|constantly|construct-proxy|contains\\?|count|create-ns|create-struct|cycle|dec|declare|def|def-|definline|definterface|defmacro|defmethod|defmulti|defn|defn-|defonce|defproject|defprotocol|defrecord|defstruct|deftype|deref|difference|disj|dissoc|distinct|do|doall|doc|dorun|doseq|dosync|dotimes|doto|double|down|drop|drop-while|edit|end\\?|ensure|eval|every\\?|false\\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|flush|fn|fnseq|for|frest|gensym|get|get-proxy-class|hash-map|hash-set|identical\\?|identity|if|if-let|if-not|import|in-ns|inc|index|insert-child|insert-left|insert-right|inspect-table|inspect-tree|instance\\?|int|interleave|intersection|into|into-array|iterate|join|key|keys|keyword|keyword\\?|last|lazy-cat|lazy-cons|left|lefts|let|line-seq|list|list\\*|load|load-file|locking|long|loop|macroexpand|macroexpand-1|make-array|make-node|map|map-invert|map\\?|mapcat|max|max-key|memfn|merge|merge-with|meta|min|min-key|monitor-enter|name|namespace|neg\\?|new|newline|next|nil\\?|node|not|not-any\\?|not-every\\?|not=|ns|ns-imports|ns-interns|ns-map|ns-name|ns-publics|ns-refers|ns-resolve|ns-unmap|nth|nthrest|or|parse|partial|path|peek|pop|pos\\?|pr|pr-str|print|print-str|println|println-str|prn|prn-str|project|proxy|proxy-mappings|quot|quote|rand|rand-int|range|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|recur|reduce|ref|ref-set|refer|rem|remove|remove-method|remove-ns|rename|rename-keys|repeat|replace|replicate|resolve|rest|resultset-seq|reverse|rfirst|right|rights|root|rrest|rseq|second|select|select-keys|send|send-off|seq|seq-zip|seq\\?|set|set!|short|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|special-symbol\\?|split-at|split-with|str|string\\?|struct|struct-map|subs|subvec|symbol|symbol\\?|sync|take|take-nth|take-while|test|throw|time|to-array|to-array-2d|tree-seq|true\\?|try|union|up|update-proxy|val|vals|var|var-get|var-set|var\\?|vector|vector-zip|vector\\?|when|when-first|when-let|when-not|with-local-vars|with-meta|with-open|with-out-str|xml-seq|xml-zip|zero\\?|zipmap|zipper)(?=[\\s)]|$)/,\n lookbehind: true\n },\n boolean: /\\b(?:false|nil|true)\\b/,\n number: {\n pattern:\n /(^|[^\\w$@])(?:\\d+(?:[/.]\\d+)?(?:e[+-]?\\d+)?|0x[a-f0-9]+|[1-9]\\d?r[a-z0-9]+)[lmn]?(?![\\w$@])/i,\n lookbehind: true\n },\n function: {\n pattern: /((?:^|[^'])\\()[\\w*+!?'<>=/.-]+(?=[\\s)]|$)/,\n lookbehind: true\n },\n operator: /[#@^`~]/,\n punctuation: /[{}\\[\\](),]/\n }\n}\n","'use strict'\n\nmodule.exports = cmake\ncmake.displayName = 'cmake'\ncmake.aliases = []\nfunction cmake(Prism) {\n Prism.languages.cmake = {\n comment: /#.*/,\n string: {\n pattern: /\"(?:[^\\\\\"]|\\\\.)*\"/,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /\\$\\{(?:[^{}$]|\\$\\{[^{}$]*\\})*\\}/,\n inside: {\n punctuation: /\\$\\{|\\}/,\n variable: /\\w+/\n }\n }\n }\n },\n variable:\n /\\b(?:CMAKE_\\w+|\\w+_(?:(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT|VERSION(?:_MAJOR|_MINOR|_PATCH|_TWEAK)?)|(?:ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERRORS|WARNINGS)|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_(?:BINARY_DIR|DESCRIPTION|HOMEPAGE_URL|NAME|SOURCE_DIR|VERSION|VERSION_(?:MAJOR|MINOR|PATCH|TWEAK))|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE|XCODE_VERSION))\\b/,\n property:\n /\\b(?:cxx_\\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\\w+|\\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|GLOBAL_KEYWORD|GLOBAL_PROJECT_TYPES|GLOBAL_ROOTNAMESPACE|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)\\b/,\n keyword:\n /\\b(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\\s*\\()\\b/,\n boolean: /\\b(?:FALSE|OFF|ON|TRUE)\\b/,\n namespace:\n /\\b(?:INTERFACE|PRIVATE|PROPERTIES|PUBLIC|SHARED|STATIC|TARGET_OBJECTS)\\b/,\n operator:\n /\\b(?:AND|DEFINED|EQUAL|GREATER|LESS|MATCHES|NOT|OR|STREQUAL|STRGREATER|STRLESS|VERSION_EQUAL|VERSION_GREATER|VERSION_LESS)\\b/,\n inserted: {\n pattern: /\\b\\w+::\\w+\\b/,\n alias: 'class-name'\n },\n number: /\\b\\d+(?:\\.\\d+)*\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()\\b/i,\n punctuation: /[()>}]|\\$[<{]/\n }\n}\n","'use strict'\n\nmodule.exports = cobol\ncobol.displayName = 'cobol'\ncobol.aliases = []\nfunction cobol(Prism) {\n Prism.languages.cobol = {\n comment: {\n pattern: /\\*>.*|(^[ \\t]*)\\*.*/m,\n lookbehind: true,\n greedy: true\n },\n string: {\n pattern: /[xzgn]?(?:\"(?:[^\\r\\n\"]|\"\")*\"(?!\")|'(?:[^\\r\\n']|'')*'(?!'))/i,\n greedy: true\n },\n level: {\n pattern: /(^[ \\t]*)\\d+\\b/m,\n lookbehind: true,\n greedy: true,\n alias: 'number'\n },\n 'class-name': {\n // https://github.com/antlr/grammars-v4/blob/42edd5b687d183b5fa679e858a82297bd27141e7/cobol85/Cobol85.g4#L1015\n pattern:\n /(\\bpic(?:ture)?\\s+)(?:(?:[-\\w$/,:*+<>]|\\.(?!\\s|$))(?:\\(\\d+\\))?)+/i,\n lookbehind: true,\n inside: {\n number: {\n pattern: /(\\()\\d+/,\n lookbehind: true\n },\n punctuation: /[()]/\n }\n },\n keyword: {\n pattern:\n /(^|[^\\w-])(?:ABORT|ACCEPT|ACCESS|ADD|ADDRESS|ADVANCING|AFTER|ALIGNED|ALL|ALPHABET|ALPHABETIC|ALPHABETIC-LOWER|ALPHABETIC-UPPER|ALPHANUMERIC|ALPHANUMERIC-EDITED|ALSO|ALTER|ALTERNATE|ANY|ARE|AREA|AREAS|AS|ASCENDING|ASCII|ASSIGN|ASSOCIATED-DATA|ASSOCIATED-DATA-LENGTH|AT|ATTRIBUTE|AUTHOR|AUTO|AUTO-SKIP|BACKGROUND-COLOR|BACKGROUND-COLOUR|BASIS|BEEP|BEFORE|BEGINNING|BELL|BINARY|BIT|BLANK|BLINK|BLOCK|BOTTOM|BOUNDS|BY|BYFUNCTION|BYTITLE|CALL|CANCEL|CAPABLE|CCSVERSION|CD|CF|CH|CHAINING|CHANGED|CHANNEL|CHARACTER|CHARACTERS|CLASS|CLASS-ID|CLOCK-UNITS|CLOSE|CLOSE-DISPOSITION|COBOL|CODE|CODE-SET|COL|COLLATING|COLUMN|COM-REG|COMMA|COMMITMENT|COMMON|COMMUNICATION|COMP|COMP-1|COMP-2|COMP-3|COMP-4|COMP-5|COMPUTATIONAL|COMPUTATIONAL-1|COMPUTATIONAL-2|COMPUTATIONAL-3|COMPUTATIONAL-4|COMPUTATIONAL-5|COMPUTE|CONFIGURATION|CONTAINS|CONTENT|CONTINUE|CONTROL|CONTROL-POINT|CONTROLS|CONVENTION|CONVERTING|COPY|CORR|CORRESPONDING|COUNT|CRUNCH|CURRENCY|CURSOR|DATA|DATA-BASE|DATE|DATE-COMPILED|DATE-WRITTEN|DAY|DAY-OF-WEEK|DBCS|DE|DEBUG-CONTENTS|DEBUG-ITEM|DEBUG-LINE|DEBUG-NAME|DEBUG-SUB-1|DEBUG-SUB-2|DEBUG-SUB-3|DEBUGGING|DECIMAL-POINT|DECLARATIVES|DEFAULT|DEFAULT-DISPLAY|DEFINITION|DELETE|DELIMITED|DELIMITER|DEPENDING|DESCENDING|DESTINATION|DETAIL|DFHRESP|DFHVALUE|DISABLE|DISK|DISPLAY|DISPLAY-1|DIVIDE|DIVISION|DONTCARE|DOUBLE|DOWN|DUPLICATES|DYNAMIC|EBCDIC|EGCS|EGI|ELSE|EMI|EMPTY-CHECK|ENABLE|END|END-ACCEPT|END-ADD|END-CALL|END-COMPUTE|END-DELETE|END-DIVIDE|END-EVALUATE|END-IF|END-MULTIPLY|END-OF-PAGE|END-PERFORM|END-READ|END-RECEIVE|END-RETURN|END-REWRITE|END-SEARCH|END-START|END-STRING|END-SUBTRACT|END-UNSTRING|END-WRITE|ENDING|ENTER|ENTRY|ENTRY-PROCEDURE|ENVIRONMENT|EOL|EOP|EOS|ERASE|ERROR|ESCAPE|ESI|EVALUATE|EVENT|EVERY|EXCEPTION|EXCLUSIVE|EXHIBIT|EXIT|EXPORT|EXTEND|EXTENDED|EXTERNAL|FD|FILE|FILE-CONTROL|FILLER|FINAL|FIRST|FOOTING|FOR|FOREGROUND-COLOR|FOREGROUND-COLOUR|FROM|FULL|FUNCTION|FUNCTION-POINTER|FUNCTIONNAME|GENERATE|GIVING|GLOBAL|GO|GOBACK|GRID|GROUP|HEADING|HIGH-VALUE|HIGH-VALUES|HIGHLIGHT|I-O|I-O-CONTROL|ID|IDENTIFICATION|IF|IMPLICIT|IMPORT|IN|INDEX|INDEXED|INDICATE|INITIAL|INITIALIZE|INITIATE|INPUT|INPUT-OUTPUT|INSPECT|INSTALLATION|INTEGER|INTO|INVALID|INVOKE|IS|JUST|JUSTIFIED|KANJI|KEPT|KEY|KEYBOARD|LABEL|LANGUAGE|LAST|LB|LD|LEADING|LEFT|LEFTLINE|LENGTH|LENGTH-CHECK|LIBACCESS|LIBPARAMETER|LIBRARY|LIMIT|LIMITS|LINAGE|LINAGE-COUNTER|LINE|LINE-COUNTER|LINES|LINKAGE|LIST|LOCAL|LOCAL-STORAGE|LOCK|LONG-DATE|LONG-TIME|LOW-VALUE|LOW-VALUES|LOWER|LOWLIGHT|MEMORY|MERGE|MESSAGE|MMDDYYYY|MODE|MODULES|MORE-LABELS|MOVE|MULTIPLE|MULTIPLY|NAMED|NATIONAL|NATIONAL-EDITED|NATIVE|NEGATIVE|NETWORK|NEXT|NO|NO-ECHO|NULL|NULLS|NUMBER|NUMERIC|NUMERIC-DATE|NUMERIC-EDITED|NUMERIC-TIME|OBJECT-COMPUTER|OCCURS|ODT|OF|OFF|OMITTED|ON|OPEN|OPTIONAL|ORDER|ORDERLY|ORGANIZATION|OTHER|OUTPUT|OVERFLOW|OVERLINE|OWN|PACKED-DECIMAL|PADDING|PAGE|PAGE-COUNTER|PASSWORD|PERFORM|PF|PH|PIC|PICTURE|PLUS|POINTER|PORT|POSITION|POSITIVE|PRINTER|PRINTING|PRIVATE|PROCEDURE|PROCEDURE-POINTER|PROCEDURES|PROCEED|PROCESS|PROGRAM|PROGRAM-ID|PROGRAM-LIBRARY|PROMPT|PURGE|QUEUE|QUOTE|QUOTES|RANDOM|RD|READ|READER|REAL|RECEIVE|RECEIVED|RECORD|RECORDING|RECORDS|RECURSIVE|REDEFINES|REEL|REF|REFERENCE|REFERENCES|RELATIVE|RELEASE|REMAINDER|REMARKS|REMOTE|REMOVAL|REMOVE|RENAMES|REPLACE|REPLACING|REPORT|REPORTING|REPORTS|REQUIRED|RERUN|RESERVE|RESET|RETURN|RETURN-CODE|RETURNING|REVERSE-VIDEO|REVERSED|REWIND|REWRITE|RF|RH|RIGHT|ROUNDED|RUN|SAME|SAVE|SCREEN|SD|SEARCH|SECTION|SECURE|SECURITY|SEGMENT|SEGMENT-LIMIT|SELECT|SEND|SENTENCE|SEPARATE|SEQUENCE|SEQUENTIAL|SET|SHARED|SHAREDBYALL|SHAREDBYRUNUNIT|SHARING|SHIFT-IN|SHIFT-OUT|SHORT-DATE|SIGN|SIZE|SORT|SORT-CONTROL|SORT-CORE-SIZE|SORT-FILE-SIZE|SORT-MERGE|SORT-MESSAGE|SORT-MODE-SIZE|SORT-RETURN|SOURCE|SOURCE-COMPUTER|SPACE|SPACES|SPECIAL-NAMES|STANDARD|STANDARD-1|STANDARD-2|START|STATUS|STOP|STRING|SUB-QUEUE-1|SUB-QUEUE-2|SUB-QUEUE-3|SUBTRACT|SUM|SUPPRESS|SYMBOL|SYMBOLIC|SYNC|SYNCHRONIZED|TABLE|TALLY|TALLYING|TAPE|TASK|TERMINAL|TERMINATE|TEST|TEXT|THEN|THREAD|THREAD-LOCAL|THROUGH|THRU|TIME|TIMER|TIMES|TITLE|TO|TODAYS-DATE|TODAYS-NAME|TOP|TRAILING|TRUNCATED|TYPE|TYPEDEF|UNDERLINE|UNIT|UNSTRING|UNTIL|UP|UPON|USAGE|USE|USING|VALUE|VALUES|VARYING|VIRTUAL|WAIT|WHEN|WHEN-COMPILED|WITH|WORDS|WORKING-STORAGE|WRITE|YEAR|YYYYDDD|YYYYMMDD|ZERO-FILL|ZEROES|ZEROS)(?![\\w-])/i,\n lookbehind: true\n },\n boolean: {\n pattern: /(^|[^\\w-])(?:false|true)(?![\\w-])/i,\n lookbehind: true\n },\n number: {\n pattern:\n /(^|[^\\w-])(?:[+-]?(?:(?:\\d+(?:[.,]\\d+)?|[.,]\\d+)(?:e[+-]?\\d+)?|zero))(?![\\w-])/i,\n lookbehind: true\n },\n operator: [\n /<>|[<>]=?|[=+*/&]/,\n {\n pattern: /(^|[^\\w-])(?:-|and|equal|greater|less|not|or|than)(?![\\w-])/i,\n lookbehind: true\n }\n ],\n punctuation: /[.:,()]/\n }\n}\n","'use strict'\n\nmodule.exports = coffeescript\ncoffeescript.displayName = 'coffeescript'\ncoffeescript.aliases = ['coffee']\nfunction coffeescript(Prism) {\n ;(function (Prism) {\n // Ignore comments starting with { to privilege string interpolation highlighting\n var comment = /#(?!\\{).+/\n var interpolation = {\n pattern: /#\\{[^}]+\\}/,\n alias: 'variable'\n }\n Prism.languages.coffeescript = Prism.languages.extend('javascript', {\n comment: comment,\n string: [\n // Strings are multiline\n {\n pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/,\n greedy: true\n },\n {\n // Strings are multiline\n pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n greedy: true,\n inside: {\n interpolation: interpolation\n }\n }\n ],\n keyword:\n /\\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\\b/,\n 'class-member': {\n pattern: /@(?!\\d)\\w+/,\n alias: 'variable'\n }\n })\n Prism.languages.insertBefore('coffeescript', 'comment', {\n 'multiline-comment': {\n pattern: /###[\\s\\S]+?###/,\n alias: 'comment'\n },\n // Block regexp can contain comments and interpolation\n 'block-regex': {\n pattern: /\\/{3}[\\s\\S]*?\\/{3}/,\n alias: 'regex',\n inside: {\n comment: comment,\n interpolation: interpolation\n }\n }\n })\n Prism.languages.insertBefore('coffeescript', 'string', {\n 'inline-javascript': {\n pattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/,\n inside: {\n delimiter: {\n pattern: /^`|`$/,\n alias: 'punctuation'\n },\n script: {\n pattern: /[\\s\\S]+/,\n alias: 'language-javascript',\n inside: Prism.languages.javascript\n }\n }\n },\n // Block strings\n 'multiline-string': [\n {\n pattern: /'''[\\s\\S]*?'''/,\n greedy: true,\n alias: 'string'\n },\n {\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: true,\n alias: 'string',\n inside: {\n interpolation: interpolation\n }\n }\n ]\n })\n Prism.languages.insertBefore('coffeescript', 'keyword', {\n // Object property\n property: /(?!\\d)\\w+(?=\\s*:(?!:))/\n })\n delete Prism.languages.coffeescript['template-string']\n Prism.languages.coffee = Prism.languages.coffeescript\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = concurnas\nconcurnas.displayName = 'concurnas'\nconcurnas.aliases = ['conc']\nfunction concurnas(Prism) {\n Prism.languages.concurnas = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?(?:\\*\\/|$)|\\/\\/.*)/,\n lookbehind: true,\n greedy: true\n },\n langext: {\n pattern: /\\b\\w+\\s*\\|\\|[\\s\\S]+?\\|\\|/,\n greedy: true,\n inside: {\n 'class-name': /^\\w+/,\n string: {\n pattern: /(^\\s*\\|\\|)[\\s\\S]+(?=\\|\\|$)/,\n lookbehind: true\n },\n punctuation: /\\|\\|/\n }\n },\n function: {\n pattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/,\n lookbehind: true\n },\n keyword:\n /\\b(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n number:\n /\\b0b[01][01_]*L?\\b|\\b0x(?:[\\da-f_]*\\.)?[\\da-f_p+-]+\\b|(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfls]?/i,\n punctuation: /[{}[\\];(),.:]/,\n operator:\n /<==|>==|=>|->|<-|<>|&==|&<>|\\?:?|\\.\\?|\\+\\+|--|[-+*/=<>]=?|[!^~]|\\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\\b=?/,\n annotation: {\n pattern: /@(?:\\w+:)?(?:\\w+|\\[[^\\]]+\\])?/,\n alias: 'builtin'\n }\n }\n Prism.languages.insertBefore('concurnas', 'langext', {\n 'regex-literal': {\n pattern: /\\br(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true,\n inside: {\n interpolation: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n lookbehind: true,\n inside: Prism.languages.concurnas\n },\n regex: /[\\s\\S]+/\n }\n },\n 'string-literal': {\n pattern: /(?:\\B|\\bs)(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true,\n inside: {\n interpolation: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n lookbehind: true,\n inside: Prism.languages.concurnas\n },\n string: /[\\s\\S]+/\n }\n }\n })\n Prism.languages.conc = Prism.languages.concurnas\n}\n","'use strict'\n\nmodule.exports = coq\ncoq.displayName = 'coq'\ncoq.aliases = []\nfunction coq(Prism) {\n ;(function (Prism) {\n // https://github.com/coq/coq\n var commentSource = /\\(\\*(?:[^(*]|\\((?!\\*)|\\*(?!\\))|<self>)*\\*\\)/.source\n for (var i = 0; i < 2; i++) {\n commentSource = commentSource.replace(/<self>/g, function () {\n return commentSource\n })\n }\n commentSource = commentSource.replace(/<self>/g, '[]')\n Prism.languages.coq = {\n comment: RegExp(commentSource),\n string: {\n pattern: /\"(?:[^\"]|\"\")*\"(?!\")/,\n greedy: true\n },\n attribute: [\n {\n pattern: RegExp(\n /#\\[(?:[^\\[\\](\"]|\"(?:[^\"]|\"\")*\"(?!\")|\\((?!\\*)|<comment>)*\\]/.source.replace(\n /<comment>/g,\n function () {\n return commentSource\n }\n )\n ),\n greedy: true,\n alias: 'attr-name',\n inside: {\n comment: RegExp(commentSource),\n string: {\n pattern: /\"(?:[^\"]|\"\")*\"(?!\")/,\n greedy: true\n },\n operator: /=/,\n punctuation: /^#\\[|\\]$|[,()]/\n }\n },\n {\n pattern:\n /\\b(?:Cumulative|Global|Local|Monomorphic|NonCumulative|Polymorphic|Private|Program)\\b/,\n alias: 'attr-name'\n }\n ],\n keyword:\n /\\b(?:Abort|About|Add|Admit|Admitted|All|Arguments|As|Assumptions|Axiom|Axioms|Back|BackTo|Backtrace|BinOp|BinOpSpec|BinRel|Bind|Blacklist|Canonical|Case|Cd|Check|Class|Classes|Close|CoFixpoint|CoInductive|Coercion|Coercions|Collection|Combined|Compute|Conjecture|Conjectures|Constant|Constants|Constraint|Constructors|Context|Corollary|Create|CstOp|Custom|Cut|Debug|Declare|Defined|Definition|Delimit|Dependencies|Dependent|Derive|Diffs|Drop|Elimination|End|Entry|Equality|Eval|Example|Existential|Existentials|Existing|Export|Extern|Extraction|Fact|Fail|Field|File|Firstorder|Fixpoint|Flags|Focus|From|Funclass|Function|Functional|GC|Generalizable|Goal|Grab|Grammar|Graph|Guarded|Haskell|Heap|Hide|Hint|HintDb|Hints|Hypotheses|Hypothesis|IF|Identity|Immediate|Implicit|Implicits|Import|Include|Induction|Inductive|Infix|Info|Initial|InjTyp|Inline|Inspect|Instance|Instances|Intro|Intros|Inversion|Inversion_clear|JSON|Language|Left|Lemma|Let|Lia|Libraries|Library|Load|LoadPath|Locate|Ltac|Ltac2|ML|Match|Method|Minimality|Module|Modules|Morphism|Next|NoInline|Notation|Number|OCaml|Obligation|Obligations|Opaque|Open|Optimize|Parameter|Parameters|Parametric|Path|Paths|Prenex|Preterm|Primitive|Print|Profile|Projections|Proof|Prop|PropBinOp|PropOp|PropUOp|Property|Proposition|Pwd|Qed|Quit|Rec|Record|Recursive|Redirect|Reduction|Register|Relation|Remark|Remove|Require|Reserved|Reset|Resolve|Restart|Rewrite|Right|Ring|Rings|SProp|Saturate|Save|Scheme|Scope|Scopes|Search|SearchHead|SearchPattern|SearchRewrite|Section|Separate|Set|Setoid|Show|Signatures|Solve|Solver|Sort|Sortclass|Sorted|Spec|Step|Strategies|Strategy|String|Structure|SubClass|Subgraph|SuchThat|Tactic|Term|TestCompile|Theorem|Time|Timeout|To|Transparent|Type|Typeclasses|Types|Typing|UnOp|UnOpSpec|Undelimit|Undo|Unfocus|Unfocused|Unfold|Universe|Universes|Unshelve|Variable|Variables|Variant|Verbose|View|Visibility|Zify|_|apply|as|at|by|cofix|else|end|exists|exists2|fix|for|forall|fun|if|in|let|match|measure|move|removed|return|struct|then|using|wf|where|with)\\b/,\n number:\n /\\b(?:0x[a-f0-9][a-f0-9_]*(?:\\.[a-f0-9_]+)?(?:p[+-]?\\d[\\d_]*)?|\\d[\\d_]*(?:\\.[\\d_]+)?(?:e[+-]?\\d[\\d_]*)?)\\b/i,\n punct: {\n pattern: /@\\{|\\{\\||\\[=|:>/,\n alias: 'punctuation'\n },\n operator:\n /\\/\\\\|\\\\\\/|\\.{2,3}|:{1,2}=|\\*\\*|[-=]>|<(?:->?|[+:=>]|<:)|>(?:=|->)|\\|[-|]?|[-!%&*+/<=>?@^~']/,\n punctuation: /\\.\\(|`\\(|@\\{|`\\{|\\{\\||\\[=|:>|[:.,;(){}\\[\\]]/\n }\n })(Prism)\n}\n","'use strict'\nvar refractorC = require('./c.js')\nmodule.exports = cpp\ncpp.displayName = 'cpp'\ncpp.aliases = []\nfunction cpp(Prism) {\n Prism.register(refractorC)\n ;(function (Prism) {\n var keyword =\n /\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/\n var modName = /\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b/.source.replace(\n /<keyword>/g,\n function () {\n return keyword.source\n }\n )\n Prism.languages.cpp = Prism.languages.extend('c', {\n 'class-name': [\n {\n pattern: RegExp(\n /(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+/.source.replace(\n /<keyword>/g,\n function () {\n return keyword.source\n }\n )\n ),\n lookbehind: true\n }, // This is intended to capture the class name of method implementations like:\n // void foo::bar() const {}\n // However! The `foo` in the above example could also be a namespace, so we only capture the class name if\n // it starts with an uppercase letter. This approximation should give decent results.\n /\\b[A-Z]\\w*(?=\\s*::\\s*\\w+\\s*\\()/, // This will capture the class name before destructors like:\n // Foo::~Foo() {}\n /\\b[A-Z_]\\w*(?=\\s*::\\s*~\\w+\\s*\\()/i, // This also intends to capture the class name of method implementations but here the class has template\n // parameters, so it can't be a namespace (until C++ adds generic namespaces).\n /\\b\\w+(?=\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\\s*::\\s*\\w+\\s*\\()/\n ],\n keyword: keyword,\n number: {\n pattern:\n /(?:\\b0b[01']+|\\b0x(?:[\\da-f']+(?:\\.[\\da-f']*)?|\\.[\\da-f']+)(?:p[+-]?[\\d']+)?|(?:\\b[\\d']+(?:\\.[\\d']*)?|\\B\\.[\\d']+)(?:e[+-]?[\\d']+)?)[ful]{0,4}/i,\n greedy: true\n },\n operator:\n />>=?|<<=?|->|--|\\+\\+|&&|\\|\\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/,\n boolean: /\\b(?:false|true)\\b/\n })\n Prism.languages.insertBefore('cpp', 'string', {\n module: {\n // https://en.cppreference.com/w/cpp/language/modules\n pattern: RegExp(\n /(\\b(?:import|module)\\s+)/.source +\n '(?:' + // header-name\n /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|<[^<>\\r\\n]*>/.source +\n '|' + // module name or partition or both\n /<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>/.source.replace(\n /<mod-name>/g,\n function () {\n return modName\n }\n ) +\n ')'\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n string: /^[<\"][\\s\\S]+/,\n operator: /:/,\n punctuation: /\\./\n }\n },\n 'raw-string': {\n pattern: /R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/,\n alias: 'string',\n greedy: true\n }\n })\n Prism.languages.insertBefore('cpp', 'keyword', {\n 'generic-function': {\n pattern: /\\b(?!operator\\b)[a-z_]\\w*\\s*<(?:[^<>]|<[^<>]*>)*>(?=\\s*\\()/i,\n inside: {\n function: /^\\w+/,\n generic: {\n pattern: /<[\\s\\S]+/,\n alias: 'class-name',\n inside: Prism.languages.cpp\n }\n }\n }\n })\n Prism.languages.insertBefore('cpp', 'operator', {\n 'double-colon': {\n pattern: /::/,\n alias: 'punctuation'\n }\n })\n Prism.languages.insertBefore('cpp', 'class-name', {\n // the base clause is an optional list of parent classes\n // https://en.cppreference.com/w/cpp/language/class\n 'base-clause': {\n pattern:\n /(\\b(?:class|struct)\\s+\\w+\\s*:\\s*)[^;{}\"'\\s]+(?:\\s+[^;{}\"'\\s]+)*(?=\\s*[;{])/,\n lookbehind: true,\n greedy: true,\n inside: Prism.languages.extend('cpp', {})\n }\n })\n Prism.languages.insertBefore(\n 'inside',\n 'double-colon',\n {\n // All untokenized words that are not namespaces should be class names\n 'class-name': /\\b[a-z_]\\w*\\b(?!\\s*::)/i\n },\n Prism.languages.cpp['base-clause']\n )\n })(Prism)\n}\n","'use strict'\nvar refractorRuby = require('./ruby.js')\nmodule.exports = crystal\ncrystal.displayName = 'crystal'\ncrystal.aliases = []\nfunction crystal(Prism) {\n Prism.register(refractorRuby)\n ;(function (Prism) {\n Prism.languages.crystal = Prism.languages.extend('ruby', {\n keyword: [\n /\\b(?:__DIR__|__END_LINE__|__FILE__|__LINE__|abstract|alias|annotation|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|ifdef|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|ptr|require|rescue|return|select|self|sizeof|struct|super|then|type|typeof|undef|uninitialized|union|unless|until|when|while|with|yield)\\b/,\n {\n pattern: /(\\.\\s*)(?:is_a|responds_to)\\?/,\n lookbehind: true\n }\n ],\n number:\n /\\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\\da-fA-F_]*[\\da-fA-F]|(?:\\d(?:[\\d_]*\\d)?)(?:\\.[\\d_]*\\d)?(?:[eE][+-]?[\\d_]*\\d)?)(?:_(?:[uif](?:8|16|32|64))?)?\\b/,\n operator: [/->/, Prism.languages.ruby.operator],\n punctuation: /[(){}[\\].,;\\\\]/\n })\n Prism.languages.insertBefore('crystal', 'string-literal', {\n attribute: {\n pattern: /@\\[.*?\\]/,\n inside: {\n delimiter: {\n pattern: /^@\\[|\\]$/,\n alias: 'punctuation'\n },\n attribute: {\n pattern: /^(\\s*)\\w+/,\n lookbehind: true,\n alias: 'class-name'\n },\n args: {\n pattern: /\\S(?:[\\s\\S]*\\S)?/,\n inside: Prism.languages.crystal\n }\n }\n },\n expansion: {\n pattern: /\\{(?:\\{.*?\\}|%.*?%)\\}/,\n inside: {\n content: {\n pattern: /^(\\{.)[\\s\\S]+(?=.\\}$)/,\n lookbehind: true,\n inside: Prism.languages.crystal\n },\n delimiter: {\n pattern: /^\\{[\\{%]|[\\}%]\\}$/,\n alias: 'operator'\n }\n }\n },\n char: {\n pattern:\n /'(?:[^\\\\\\r\\n]{1,2}|\\\\(?:.|u(?:[A-Fa-f0-9]{1,4}|\\{[A-Fa-f0-9]{1,6}\\})))'/,\n greedy: true\n }\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = csharp\ncsharp.displayName = 'csharp'\ncsharp.aliases = ['dotnet', 'cs']\nfunction csharp(Prism) {\n ;(function (Prism) {\n /**\n * Replaces all placeholders \"<<n>>\" of given pattern with the n-th replacement (zero based).\n *\n * Note: This is a simple text based replacement. Be careful when using backreferences!\n *\n * @param {string} pattern the given pattern.\n * @param {string[]} replacements a list of replacement which can be inserted into the given pattern.\n * @returns {string} the pattern with all placeholders replaced with their corresponding replacements.\n * @example replace(/a<<0>>a/.source, [/b+/.source]) === /a(?:b+)a/.source\n */\n function replace(pattern, replacements) {\n return pattern.replace(/<<(\\d+)>>/g, function (m, index) {\n return '(?:' + replacements[+index] + ')'\n })\n }\n /**\n * @param {string} pattern\n * @param {string[]} replacements\n * @param {string} [flags]\n * @returns {RegExp}\n */\n function re(pattern, replacements, flags) {\n return RegExp(replace(pattern, replacements), flags || '')\n }\n /**\n * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.\n *\n * @param {string} pattern\n * @param {number} depthLog2\n * @returns {string}\n */\n function nested(pattern, depthLog2) {\n for (var i = 0; i < depthLog2; i++) {\n pattern = pattern.replace(/<<self>>/g, function () {\n return '(?:' + pattern + ')'\n })\n }\n return pattern.replace(/<<self>>/g, '[^\\\\s\\\\S]')\n } // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/\n var keywordKinds = {\n // keywords which represent a return or variable type\n type: 'bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void',\n // keywords which are used to declare a type\n typeDeclaration: 'class enum interface record struct',\n // contextual keywords\n // (\"var\" and \"dynamic\" are missing because they are used like types)\n contextual:\n 'add alias and ascending async await by descending from(?=\\\\s*(?:\\\\w|$)) get global group into init(?=\\\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\\\s*{)',\n // all other keywords\n other:\n 'abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield'\n } // keywords\n function keywordsToPattern(words) {\n return '\\\\b(?:' + words.trim().replace(/ /g, '|') + ')\\\\b'\n }\n var typeDeclarationKeywords = keywordsToPattern(\n keywordKinds.typeDeclaration\n )\n var keywords = RegExp(\n keywordsToPattern(\n keywordKinds.type +\n ' ' +\n keywordKinds.typeDeclaration +\n ' ' +\n keywordKinds.contextual +\n ' ' +\n keywordKinds.other\n )\n )\n var nonTypeKeywords = keywordsToPattern(\n keywordKinds.typeDeclaration +\n ' ' +\n keywordKinds.contextual +\n ' ' +\n keywordKinds.other\n )\n var nonContextualKeywords = keywordsToPattern(\n keywordKinds.type +\n ' ' +\n keywordKinds.typeDeclaration +\n ' ' +\n keywordKinds.other\n ) // types\n var generic = nested(/<(?:[^<>;=+\\-*/%&|^]|<<self>>)*>/.source, 2) // the idea behind the other forbidden characters is to prevent false positives. Same for tupleElement.\n var nestedRound = nested(/\\((?:[^()]|<<self>>)*\\)/.source, 2)\n var name = /@?\\b[A-Za-z_]\\w*\\b/.source\n var genericName = replace(/<<0>>(?:\\s*<<1>>)?/.source, [name, generic])\n var identifier = replace(/(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*/.source, [\n nonTypeKeywords,\n genericName\n ])\n var array = /\\[\\s*(?:,\\s*)*\\]/.source\n var typeExpressionWithoutTuple = replace(\n /<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?/.source,\n [identifier, array]\n )\n var tupleElement = replace(\n /[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,\n [generic, nestedRound, array]\n )\n var tuple = replace(/\\(<<0>>+(?:,<<0>>+)+\\)/.source, [tupleElement])\n var typeExpression = replace(\n /(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?/.source,\n [tuple, identifier, array]\n )\n var typeInside = {\n keyword: keywords,\n punctuation: /[<>()?,.:[\\]]/\n } // strings & characters\n // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#character-literals\n // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#string-literals\n var character = /'(?:[^\\r\\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'/.source // simplified pattern\n var regularString = /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/.source\n var verbatimString = /@\"(?:\"\"|\\\\[\\s\\S]|[^\\\\\"])*\"(?!\")/.source\n Prism.languages.csharp = Prism.languages.extend('clike', {\n string: [\n {\n pattern: re(/(^|[^$\\\\])<<0>>/.source, [verbatimString]),\n lookbehind: true,\n greedy: true\n },\n {\n pattern: re(/(^|[^@$\\\\])<<0>>/.source, [regularString]),\n lookbehind: true,\n greedy: true\n }\n ],\n 'class-name': [\n {\n // Using static\n // using static System.Math;\n pattern: re(/(\\busing\\s+static\\s+)<<0>>(?=\\s*;)/.source, [\n identifier\n ]),\n lookbehind: true,\n inside: typeInside\n },\n {\n // Using alias (type)\n // using Project = PC.MyCompany.Project;\n pattern: re(/(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)/.source, [\n name,\n typeExpression\n ]),\n lookbehind: true,\n inside: typeInside\n },\n {\n // Using alias (alias)\n // using Project = PC.MyCompany.Project;\n pattern: re(/(\\busing\\s+)<<0>>(?=\\s*=)/.source, [name]),\n lookbehind: true\n },\n {\n // Type declarations\n // class Foo<A, B>\n // interface Foo<out A, B>\n pattern: re(/(\\b<<0>>\\s+)<<1>>/.source, [\n typeDeclarationKeywords,\n genericName\n ]),\n lookbehind: true,\n inside: typeInside\n },\n {\n // Single catch exception declaration\n // catch(Foo)\n // (things like catch(Foo e) is covered by variable declaration)\n pattern: re(/(\\bcatch\\s*\\(\\s*)<<0>>/.source, [identifier]),\n lookbehind: true,\n inside: typeInside\n },\n {\n // Name of the type parameter of generic constraints\n // where Foo : class\n pattern: re(/(\\bwhere\\s+)<<0>>/.source, [name]),\n lookbehind: true\n },\n {\n // Casts and checks via as and is.\n // as Foo<A>, is Bar<B>\n // (things like if(a is Foo b) is covered by variable declaration)\n pattern: re(/(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>/.source, [\n typeExpressionWithoutTuple\n ]),\n lookbehind: true,\n inside: typeInside\n },\n {\n // Variable, field and parameter declaration\n // (Foo bar, Bar baz, Foo[,,] bay, Foo<Bar, FooBar<Bar>> bax)\n pattern: re(\n /\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))/\n .source,\n [typeExpression, nonContextualKeywords, name]\n ),\n inside: typeInside\n }\n ],\n keyword: keywords,\n // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#literals\n number:\n /(?:\\b0(?:x[\\da-f_]*[\\da-f]|b[01_]*[01])|(?:\\B\\.\\d+(?:_+\\d+)*|\\b\\d+(?:_+\\d+)*(?:\\.\\d+(?:_+\\d+)*)?)(?:e[-+]?\\d+(?:_+\\d+)*)?)(?:[dflmu]|lu|ul)?\\b/i,\n operator: />>=?|<<=?|[-=]>|([-+&|])\\1|~|\\?\\?=?|[-+*/%&|^!=<>]=?/,\n punctuation: /\\?\\.?|::|[{}[\\];(),.:]/\n })\n Prism.languages.insertBefore('csharp', 'number', {\n range: {\n pattern: /\\.\\./,\n alias: 'operator'\n }\n })\n Prism.languages.insertBefore('csharp', 'punctuation', {\n 'named-parameter': {\n pattern: re(/([(,]\\s*)<<0>>(?=\\s*:)/.source, [name]),\n lookbehind: true,\n alias: 'punctuation'\n }\n })\n Prism.languages.insertBefore('csharp', 'class-name', {\n namespace: {\n // namespace Foo.Bar {}\n // using Foo.Bar;\n pattern: re(\n /(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])/.source,\n [name]\n ),\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n },\n 'type-expression': {\n // default(Foo), typeof(Foo<Bar>), sizeof(int)\n pattern: re(\n /(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))/\n .source,\n [nestedRound]\n ),\n lookbehind: true,\n alias: 'class-name',\n inside: typeInside\n },\n 'return-type': {\n // Foo<Bar> ForBar(); Foo IFoo.Bar() => 0\n // int this[int index] => 0; T IReadOnlyList<T>.this[int index] => this[index];\n // int Foo => 0; int Foo { get; set } = 0;\n pattern: re(\n /<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))/.source,\n [typeExpression, identifier]\n ),\n inside: typeInside,\n alias: 'class-name'\n },\n 'constructor-invocation': {\n // new List<Foo<Bar[]>> { }\n pattern: re(/(\\bnew\\s+)<<0>>(?=\\s*[[({])/.source, [typeExpression]),\n lookbehind: true,\n inside: typeInside,\n alias: 'class-name'\n },\n /*'explicit-implementation': {\n// int IFoo<Foo>.Bar => 0; void IFoo<Foo<Foo>>.Foo<T>();\npattern: replace(/\\b<<0>>(?=\\.<<1>>)/, className, methodOrPropertyDeclaration),\ninside: classNameInside,\nalias: 'class-name'\n},*/\n 'generic-method': {\n // foo<Bar>()\n pattern: re(/<<0>>\\s*<<1>>(?=\\s*\\()/.source, [name, generic]),\n inside: {\n function: re(/^<<0>>/.source, [name]),\n generic: {\n pattern: RegExp(generic),\n alias: 'class-name',\n inside: typeInside\n }\n }\n },\n 'type-list': {\n // The list of types inherited or of generic constraints\n // class Foo<F> : Bar, IList<FooBar>\n // where F : Bar, IList<int>\n pattern: re(\n /\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))/\n .source,\n [\n typeDeclarationKeywords,\n genericName,\n name,\n typeExpression,\n keywords.source,\n nestedRound,\n /\\bnew\\s*\\(\\s*\\)/.source\n ]\n ),\n lookbehind: true,\n inside: {\n 'record-arguments': {\n pattern: re(/(^(?!new\\s*\\()<<0>>\\s*)<<1>>/.source, [\n genericName,\n nestedRound\n ]),\n lookbehind: true,\n greedy: true,\n inside: Prism.languages.csharp\n },\n keyword: keywords,\n 'class-name': {\n pattern: RegExp(typeExpression),\n greedy: true,\n inside: typeInside\n },\n punctuation: /[,()]/\n }\n },\n preprocessor: {\n pattern: /(^[\\t ]*)#.*/m,\n lookbehind: true,\n alias: 'property',\n inside: {\n // highlight preprocessor directives as keywords\n directive: {\n pattern:\n /(#)\\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\\b/,\n lookbehind: true,\n alias: 'keyword'\n }\n }\n }\n }) // attributes\n var regularStringOrCharacter = regularString + '|' + character\n var regularStringCharacterOrComment = replace(\n /\\/(?![*/])|\\/\\/[^\\r\\n]*[\\r\\n]|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>/.source,\n [regularStringOrCharacter]\n )\n var roundExpression = nested(\n replace(/[^\"'/()]|<<0>>|\\(<<self>>*\\)/.source, [\n regularStringCharacterOrComment\n ]),\n 2\n ) // https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/attributes/#attribute-targets\n var attrTarget =\n /\\b(?:assembly|event|field|method|module|param|property|return|type)\\b/\n .source\n var attr = replace(/<<0>>(?:\\s*\\(<<1>>*\\))?/.source, [\n identifier,\n roundExpression\n ])\n Prism.languages.insertBefore('csharp', 'class-name', {\n attribute: {\n // Attributes\n // [Foo], [Foo(1), Bar(2, Prop = \"foo\")], [return: Foo(1), Bar(2)], [assembly: Foo(Bar)]\n pattern: re(\n /((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])/\n .source,\n [attrTarget, attr]\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n target: {\n pattern: re(/^<<0>>(?=\\s*:)/.source, [attrTarget]),\n alias: 'keyword'\n },\n 'attribute-arguments': {\n pattern: re(/\\(<<0>>*\\)/.source, [roundExpression]),\n inside: Prism.languages.csharp\n },\n 'class-name': {\n pattern: RegExp(identifier),\n inside: {\n punctuation: /\\./\n }\n },\n punctuation: /[:,]/\n }\n }\n }) // string interpolation\n var formatString = /:[^}\\r\\n]+/.source // multi line\n var mInterpolationRound = nested(\n replace(/[^\"'/()]|<<0>>|\\(<<self>>*\\)/.source, [\n regularStringCharacterOrComment\n ]),\n 2\n )\n var mInterpolation = replace(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source, [\n mInterpolationRound,\n formatString\n ]) // single line\n var sInterpolationRound = nested(\n replace(\n /[^\"'/()]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>|\\(<<self>>*\\)/\n .source,\n [regularStringOrCharacter]\n ),\n 2\n )\n var sInterpolation = replace(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source, [\n sInterpolationRound,\n formatString\n ])\n function createInterpolationInside(interpolation, interpolationRound) {\n return {\n interpolation: {\n pattern: re(/((?:^|[^{])(?:\\{\\{)*)<<0>>/.source, [interpolation]),\n lookbehind: true,\n inside: {\n 'format-string': {\n pattern: re(/(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)/.source, [\n interpolationRound,\n formatString\n ]),\n lookbehind: true,\n inside: {\n punctuation: /^:/\n }\n },\n punctuation: /^\\{|\\}$/,\n expression: {\n pattern: /[\\s\\S]+/,\n alias: 'language-csharp',\n inside: Prism.languages.csharp\n }\n }\n },\n string: /[\\s\\S]+/\n }\n }\n Prism.languages.insertBefore('csharp', 'string', {\n 'interpolation-string': [\n {\n pattern: re(\n /(^|[^\\\\])(?:\\$@|@\\$)\"(?:\"\"|\\\\[\\s\\S]|\\{\\{|<<0>>|[^\\\\{\"])*\"/.source,\n [mInterpolation]\n ),\n lookbehind: true,\n greedy: true,\n inside: createInterpolationInside(mInterpolation, mInterpolationRound)\n },\n {\n pattern: re(/(^|[^@\\\\])\\$\"(?:\\\\.|\\{\\{|<<0>>|[^\\\\\"{])*\"/.source, [\n sInterpolation\n ]),\n lookbehind: true,\n greedy: true,\n inside: createInterpolationInside(sInterpolation, sInterpolationRound)\n }\n ],\n char: {\n pattern: RegExp(character),\n greedy: true\n }\n })\n Prism.languages.dotnet = Prism.languages.cs = Prism.languages.csharp\n })(Prism)\n}\n","'use strict'\nvar refractorCsharp = require('./csharp.js')\nmodule.exports = cshtml\ncshtml.displayName = 'cshtml'\ncshtml.aliases = ['razor']\nfunction cshtml(Prism) {\n Prism.register(refractorCsharp)\n // Docs:\n // https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-5.0&tabs=visual-studio\n // https://docs.microsoft.com/en-us/aspnet/core/mvc/views/razor?view=aspnetcore-5.0\n ;(function (Prism) {\n var commentLike = /\\/(?![/*])|\\/\\/.*[\\r\\n]|\\/\\*[^*]*(?:\\*(?!\\/)[^*]*)*\\*\\//\n .source\n var stringLike =\n /@(?!\")|\"(?:[^\\r\\n\\\\\"]|\\\\.)*\"|@\"(?:[^\\\\\"]|\"\"|\\\\[\\s\\S])*\"(?!\")/.source +\n '|' +\n /'(?:(?:[^\\r\\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'|(?=[^\\\\](?!')))/.source\n /**\n * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.\n *\n * @param {string} pattern\n * @param {number} depthLog2\n * @returns {string}\n */\n function nested(pattern, depthLog2) {\n for (var i = 0; i < depthLog2; i++) {\n pattern = pattern.replace(/<self>/g, function () {\n return '(?:' + pattern + ')'\n })\n }\n return pattern\n .replace(/<self>/g, '[^\\\\s\\\\S]')\n .replace(/<str>/g, '(?:' + stringLike + ')')\n .replace(/<comment>/g, '(?:' + commentLike + ')')\n }\n var round = nested(/\\((?:[^()'\"@/]|<str>|<comment>|<self>)*\\)/.source, 2)\n var square = nested(/\\[(?:[^\\[\\]'\"@/]|<str>|<comment>|<self>)*\\]/.source, 2)\n var curly = nested(/\\{(?:[^{}'\"@/]|<str>|<comment>|<self>)*\\}/.source, 2)\n var angle = nested(/<(?:[^<>'\"@/]|<str>|<comment>|<self>)*>/.source, 2) // Note about the above bracket patterns:\n // They all ignore HTML expressions that might be in the C# code. This is a problem because HTML (like strings and\n // comments) is parsed differently. This is a huge problem because HTML might contain brackets and quotes which\n // messes up the bracket and string counting implemented by the above patterns.\n //\n // This problem is not fixable because 1) HTML expression are highly context sensitive and very difficult to detect\n // and 2) they require one capturing group at every nested level. See the `tagRegion` pattern to admire the\n // complexity of an HTML expression.\n //\n // To somewhat alleviate the problem a bit, the patterns for characters (e.g. 'a') is very permissive, it also\n // allows invalid characters to support HTML expressions like this: <p>That's it!</p>.\n var tagAttrs =\n /(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?/\n .source\n var tagContent = /(?!\\d)[^\\s>\\/=$<%]+/.source + tagAttrs + /\\s*\\/?>/.source\n var tagRegion =\n /\\B@?/.source +\n '(?:' +\n /<([a-zA-Z][\\w:]*)/.source +\n tagAttrs +\n /\\s*>/.source +\n '(?:' +\n (/[^<]/.source +\n '|' + // all tags that are not the start tag\n // eslint-disable-next-line regexp/strict\n /<\\/?(?!\\1\\b)/.source +\n tagContent +\n '|' + // nested start tag\n nested(\n // eslint-disable-next-line regexp/strict\n /<\\1/.source +\n tagAttrs +\n /\\s*>/.source +\n '(?:' +\n (/[^<]/.source +\n '|' + // all tags that are not the start tag\n // eslint-disable-next-line regexp/strict\n /<\\/?(?!\\1\\b)/.source +\n tagContent +\n '|' +\n '<self>') +\n ')*' + // eslint-disable-next-line regexp/strict\n /<\\/\\1\\s*>/.source,\n 2\n )) +\n ')*' + // eslint-disable-next-line regexp/strict\n /<\\/\\1\\s*>/.source +\n '|' +\n /</.source +\n tagContent +\n ')' // Now for the actual language definition(s):\n //\n // Razor as a language has 2 parts:\n // 1) CSHTML: A markup-like language that has been extended with inline C# code expressions and blocks.\n // 2) C#+HTML: A variant of C# that can contain CSHTML tags as expressions.\n //\n // In the below code, both CSHTML and C#+HTML will be create as separate language definitions that reference each\n // other. However, only CSHTML will be exported via `Prism.languages`.\n Prism.languages.cshtml = Prism.languages.extend('markup', {})\n var csharpWithHtml = Prism.languages.insertBefore(\n 'csharp',\n 'string',\n {\n html: {\n pattern: RegExp(tagRegion),\n greedy: true,\n inside: Prism.languages.cshtml\n }\n },\n {\n csharp: Prism.languages.extend('csharp', {})\n }\n )\n var cs = {\n pattern: /\\S[\\s\\S]*/,\n alias: 'language-csharp',\n inside: csharpWithHtml\n }\n Prism.languages.insertBefore('cshtml', 'prolog', {\n 'razor-comment': {\n pattern: /@\\*[\\s\\S]*?\\*@/,\n greedy: true,\n alias: 'comment'\n },\n block: {\n pattern: RegExp(\n /(^|[^@])@/.source +\n '(?:' +\n [\n // @{ ... }\n curly, // @code{ ... }\n /(?:code|functions)\\s*/.source + curly, // @for (...) { ... }\n /(?:for|foreach|lock|switch|using|while)\\s*/.source +\n round +\n /\\s*/.source +\n curly, // @do { ... } while (...);\n /do\\s*/.source +\n curly +\n /\\s*while\\s*/.source +\n round +\n /(?:\\s*;)?/.source, // @try { ... } catch (...) { ... } finally { ... }\n /try\\s*/.source +\n curly +\n /\\s*catch\\s*/.source +\n round +\n /\\s*/.source +\n curly +\n /\\s*finally\\s*/.source +\n curly, // @if (...) {...} else if (...) {...} else {...}\n /if\\s*/.source +\n round +\n /\\s*/.source +\n curly +\n '(?:' +\n /\\s*else/.source +\n '(?:' +\n /\\s+if\\s*/.source +\n round +\n ')?' +\n /\\s*/.source +\n curly +\n ')*'\n ].join('|') +\n ')'\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n keyword: /^@\\w*/,\n csharp: cs\n }\n },\n directive: {\n pattern:\n /^([ \\t]*)@(?:addTagHelper|attribute|implements|inherits|inject|layout|model|namespace|page|preservewhitespace|removeTagHelper|section|tagHelperPrefix|using)(?=\\s).*/m,\n lookbehind: true,\n greedy: true,\n inside: {\n keyword: /^@\\w+/,\n csharp: cs\n }\n },\n value: {\n pattern: RegExp(\n /(^|[^@])@/.source +\n /(?:await\\b\\s*)?/.source +\n '(?:' +\n /\\w+\\b/.source +\n '|' +\n round +\n ')' +\n '(?:' +\n /[?!]?\\.\\w+\\b/.source +\n '|' +\n round +\n '|' +\n square +\n '|' +\n angle +\n round +\n ')*'\n ),\n lookbehind: true,\n greedy: true,\n alias: 'variable',\n inside: {\n keyword: /^@/,\n csharp: cs\n }\n },\n 'delegate-operator': {\n pattern: /(^|[^@])@(?=<)/,\n lookbehind: true,\n alias: 'operator'\n }\n })\n Prism.languages.razor = Prism.languages.cshtml\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = csp\ncsp.displayName = 'csp'\ncsp.aliases = []\nfunction csp(Prism) {\n /**\n * Original by Scott Helme.\n *\n * Reference: https://scotthelme.co.uk/csp-cheat-sheet/\n *\n * Supports the following:\n * - https://www.w3.org/TR/CSP1/\n * - https://www.w3.org/TR/CSP2/\n * - https://www.w3.org/TR/CSP3/\n */\n ;(function (Prism) {\n /**\n * @param {string} source\n * @returns {RegExp}\n */\n function value(source) {\n return RegExp(\n /([ \\t])/.source + '(?:' + source + ')' + /(?=[\\s;]|$)/.source,\n 'i'\n )\n }\n Prism.languages.csp = {\n directive: {\n pattern:\n /(^|[\\s;])(?:base-uri|block-all-mixed-content|(?:child|connect|default|font|frame|img|manifest|media|object|prefetch|script|style|worker)-src|disown-opener|form-action|frame-(?:ancestors|options)|input-protection(?:-(?:clip|selectors))?|navigate-to|plugin-types|policy-uri|referrer|reflected-xss|report-(?:to|uri)|require-sri-for|sandbox|(?:script|style)-src-(?:attr|elem)|upgrade-insecure-requests)(?=[\\s;]|$)/i,\n lookbehind: true,\n alias: 'property'\n },\n scheme: {\n pattern: value(/[a-z][a-z0-9.+-]*:/.source),\n lookbehind: true\n },\n none: {\n pattern: value(/'none'/.source),\n lookbehind: true,\n alias: 'keyword'\n },\n nonce: {\n pattern: value(/'nonce-[-+/\\w=]+'/.source),\n lookbehind: true,\n alias: 'number'\n },\n hash: {\n pattern: value(/'sha(?:256|384|512)-[-+/\\w=]+'/.source),\n lookbehind: true,\n alias: 'number'\n },\n host: {\n pattern: value(\n /[a-z][a-z0-9.+-]*:\\/\\/[^\\s;,']*/.source +\n '|' +\n /\\*[^\\s;,']*/.source +\n '|' +\n /[a-z0-9-]+(?:\\.[a-z0-9-]+)+(?::[\\d*]+)?(?:\\/[^\\s;,']*)?/.source\n ),\n lookbehind: true,\n alias: 'url',\n inside: {\n important: /\\*/\n }\n },\n keyword: [\n {\n pattern: value(/'unsafe-[a-z-]+'/.source),\n lookbehind: true,\n alias: 'unsafe'\n },\n {\n pattern: value(/'[a-z-]+'/.source),\n lookbehind: true,\n alias: 'safe'\n }\n ],\n punctuation: /;/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = cssExtras\ncssExtras.displayName = 'cssExtras'\ncssExtras.aliases = []\nfunction cssExtras(Prism) {\n ;(function (Prism) {\n var string = /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/\n var selectorInside\n Prism.languages.css.selector = {\n pattern: Prism.languages.css.selector.pattern,\n lookbehind: true,\n inside: (selectorInside = {\n 'pseudo-element':\n /:(?:after|before|first-letter|first-line|selection)|::[-\\w]+/,\n 'pseudo-class': /:[-\\w]+/,\n class: /\\.[-\\w]+/,\n id: /#[-\\w]+/,\n attribute: {\n pattern: RegExp('\\\\[(?:[^[\\\\]\"\\']|' + string.source + ')*\\\\]'),\n greedy: true,\n inside: {\n punctuation: /^\\[|\\]$/,\n 'case-sensitivity': {\n pattern: /(\\s)[si]$/i,\n lookbehind: true,\n alias: 'keyword'\n },\n namespace: {\n pattern: /^(\\s*)(?:(?!\\s)[-*\\w\\xA0-\\uFFFF])*\\|(?!=)/,\n lookbehind: true,\n inside: {\n punctuation: /\\|$/\n }\n },\n 'attr-name': {\n pattern: /^(\\s*)(?:(?!\\s)[-\\w\\xA0-\\uFFFF])+/,\n lookbehind: true\n },\n 'attr-value': [\n string,\n {\n pattern: /(=\\s*)(?:(?!\\s)[-\\w\\xA0-\\uFFFF])+(?=\\s*$)/,\n lookbehind: true\n }\n ],\n operator: /[|~*^$]?=/\n }\n },\n 'n-th': [\n {\n pattern: /(\\(\\s*)[+-]?\\d*[\\dn](?:\\s*[+-]\\s*\\d+)?(?=\\s*\\))/,\n lookbehind: true,\n inside: {\n number: /[\\dn]+/,\n operator: /[+-]/\n }\n },\n {\n pattern: /(\\(\\s*)(?:even|odd)(?=\\s*\\))/i,\n lookbehind: true\n }\n ],\n combinator: />|\\+|~|\\|\\|/,\n // the `tag` token has been existed and removed.\n // because we can't find a perfect tokenize to match it.\n // if you want to add it, please read https://github.com/PrismJS/prism/pull/2373 first.\n punctuation: /[(),]/\n })\n }\n Prism.languages.css['atrule'].inside['selector-function-argument'].inside =\n selectorInside\n Prism.languages.insertBefore('css', 'property', {\n variable: {\n pattern:\n /(^|[^-\\w\\xA0-\\uFFFF])--(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*/i,\n lookbehind: true\n }\n })\n var unit = {\n pattern: /(\\b\\d+)(?:%|[a-z]+(?![\\w-]))/,\n lookbehind: true\n } // 123 -123 .123 -.123 12.3 -12.3\n var number = {\n pattern: /(^|[^\\w.-])-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/,\n lookbehind: true\n }\n Prism.languages.insertBefore('css', 'function', {\n operator: {\n pattern: /(\\s)[+\\-*\\/](?=\\s)/,\n lookbehind: true\n },\n // CAREFUL!\n // Previewers and Inline color use hexcode and color.\n hexcode: {\n pattern: /\\B#[\\da-f]{3,8}\\b/i,\n alias: 'color'\n },\n color: [\n {\n pattern:\n /(^|[^\\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\\w-])/i,\n lookbehind: true\n },\n {\n pattern:\n /\\b(?:hsl|rgb)\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*\\)\\B|\\b(?:hsl|rgb)a\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*,\\s*(?:0|0?\\.\\d+|1)\\s*\\)\\B/i,\n inside: {\n unit: unit,\n number: number,\n function: /[\\w-]+(?=\\()/,\n punctuation: /[(),]/\n }\n }\n ],\n // it's important that there is no boundary assertion after the hex digits\n entity: /\\\\[\\da-f]{1,8}/i,\n unit: unit,\n number: number\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = css\ncss.displayName = 'css'\ncss.aliases = []\nfunction css(Prism) {\n ;(function (Prism) {\n var string =\n /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/\n Prism.languages.css = {\n comment: /\\/\\*[\\s\\S]*?\\*\\//,\n atrule: {\n pattern: /@[\\w-](?:[^;{\\s]|\\s+(?![\\s{]))*(?:;|(?=\\s*\\{))/,\n inside: {\n rule: /^@[\\w-]+/,\n 'selector-function-argument': {\n pattern:\n /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n lookbehind: true,\n alias: 'selector'\n },\n keyword: {\n pattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n lookbehind: true\n } // See rest below\n }\n },\n url: {\n // https://drafts.csswg.org/css-values-3/#urls\n pattern: RegExp(\n '\\\\burl\\\\((?:' +\n string.source +\n '|' +\n /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source +\n ')\\\\)',\n 'i'\n ),\n greedy: true,\n inside: {\n function: /^url/i,\n punctuation: /^\\(|\\)$/,\n string: {\n pattern: RegExp('^' + string.source + '$'),\n alias: 'url'\n }\n }\n },\n selector: {\n pattern: RegExp(\n '(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' +\n string.source +\n ')*(?=\\\\s*\\\\{)'\n ),\n lookbehind: true\n },\n string: {\n pattern: string,\n greedy: true\n },\n property: {\n pattern:\n /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n lookbehind: true\n },\n important: /!important\\b/i,\n function: {\n pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n lookbehind: true\n },\n punctuation: /[(){};:,]/\n }\n Prism.languages.css['atrule'].inside.rest = Prism.languages.css\n var markup = Prism.languages.markup\n if (markup) {\n markup.tag.addInlined('style', 'css')\n markup.tag.addAttribute('style', 'css')\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = csv\ncsv.displayName = 'csv'\ncsv.aliases = []\nfunction csv(Prism) {\n // https://tools.ietf.org/html/rfc4180\n Prism.languages.csv = {\n value: /[^\\r\\n,\"]+|\"(?:[^\"]|\"\")*\"(?!\")/,\n punctuation: /,/\n }\n}\n","'use strict'\n\nmodule.exports = cypher\ncypher.displayName = 'cypher'\ncypher.aliases = []\nfunction cypher(Prism) {\n Prism.languages.cypher = {\n // https://neo4j.com/docs/cypher-manual/current/syntax/comments/\n comment: /\\/\\/.*/,\n string: {\n pattern: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'/,\n greedy: true\n },\n 'class-name': {\n pattern: /(:\\s*)(?:\\w+|`(?:[^`\\\\\\r\\n])*`)(?=\\s*[{):])/,\n lookbehind: true,\n greedy: true\n },\n relationship: {\n pattern:\n /(-\\[\\s*(?:\\w+\\s*|`(?:[^`\\\\\\r\\n])*`\\s*)?:\\s*|\\|\\s*:\\s*)(?:\\w+|`(?:[^`\\\\\\r\\n])*`)/,\n lookbehind: true,\n greedy: true,\n alias: 'property'\n },\n identifier: {\n pattern: /`(?:[^`\\\\\\r\\n])*`/,\n greedy: true\n },\n variable: /\\$\\w+/,\n // https://neo4j.com/docs/cypher-manual/current/syntax/reserved/\n keyword:\n /\\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)\\b/i,\n function: /\\b\\w+\\b(?=\\s*\\()/,\n boolean: /\\b(?:false|null|true)\\b/i,\n number: /\\b(?:0x[\\da-fA-F]+|\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)\\b/,\n // https://neo4j.com/docs/cypher-manual/current/syntax/operators/\n operator: /:|<--?|--?>?|<>|=~?|[<>]=?|[+*/%^|]|\\.\\.\\.?/,\n punctuation: /[()[\\]{},;.]/\n }\n}\n","'use strict'\n\nmodule.exports = d\nd.displayName = 'd'\nd.aliases = []\nfunction d(Prism) {\n Prism.languages.d = Prism.languages.extend('clike', {\n comment: [\n {\n // Shebang\n pattern: /^\\s*#!.+/,\n greedy: true\n },\n {\n pattern: RegExp(\n /(^|[^\\\\])/.source +\n '(?:' +\n [\n // /+ comment +/\n // Allow one level of nesting\n /\\/\\+(?:\\/\\+(?:[^+]|\\+(?!\\/))*\\+\\/|(?!\\/\\+)[\\s\\S])*?\\+\\//.source, // // comment\n /\\/\\/.*/.source, // /* comment */\n /\\/\\*[\\s\\S]*?\\*\\//.source\n ].join('|') +\n ')'\n ),\n lookbehind: true,\n greedy: true\n }\n ],\n string: [\n {\n pattern: RegExp(\n [\n // r\"\", x\"\"\n /\\b[rx]\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"[cwd]?/.source, // q\"[]\", q\"()\", q\"<>\", q\"{}\"\n /\\bq\"(?:\\[[\\s\\S]*?\\]|\\([\\s\\S]*?\\)|<[\\s\\S]*?>|\\{[\\s\\S]*?\\})\"/.source, // q\"IDENT\n // ...\n // IDENT\"\n /\\bq\"((?!\\d)\\w+)$[\\s\\S]*?^\\1\"/.source, // q\"//\", q\"||\", etc.\n // eslint-disable-next-line regexp/strict\n /\\bq\"(.)[\\s\\S]*?\\2\"/.source, // eslint-disable-next-line regexp/strict\n /([\"`])(?:\\\\[\\s\\S]|(?!\\3)[^\\\\])*\\3[cwd]?/.source\n ].join('|'),\n 'm'\n ),\n greedy: true\n },\n {\n pattern: /\\bq\\{(?:\\{[^{}]*\\}|[^{}])*\\}/,\n greedy: true,\n alias: 'token-string'\n }\n ],\n // In order: $, keywords and special tokens, globally defined symbols\n keyword:\n /\\$|\\b(?:__(?:(?:DATE|EOF|FILE|FUNCTION|LINE|MODULE|PRETTY_FUNCTION|TIMESTAMP|TIME|VENDOR|VERSION)__|gshared|parameters|traits|vector)|abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|dstring|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|ptrdiff_t|public|pure|real|ref|return|scope|shared|short|size_t|static|string|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|wstring)\\b/,\n number: [\n // The lookbehind and the negative look-ahead try to prevent bad highlighting of the .. operator\n // Hexadecimal numbers must be handled separately to avoid problems with exponent \"e\"\n /\\b0x\\.?[a-f\\d_]+(?:(?!\\.\\.)\\.[a-f\\d_]*)?(?:p[+-]?[a-f\\d_]+)?[ulfi]{0,4}/i,\n {\n pattern:\n /((?:\\.\\.)?)(?:\\b0b\\.?|\\b|\\.)\\d[\\d_]*(?:(?!\\.\\.)\\.[\\d_]*)?(?:e[+-]?\\d[\\d_]*)?[ulfi]{0,4}/i,\n lookbehind: true\n }\n ],\n operator:\n /\\|[|=]?|&[&=]?|\\+[+=]?|-[-=]?|\\.?\\.\\.|=[>=]?|!(?:i[ns]\\b|<>?=?|>=?|=)?|\\bi[ns]\\b|(?:<[<>]?|>>?>?|\\^\\^|[*\\/%^~])=?/\n })\n Prism.languages.insertBefore('d', 'string', {\n // Characters\n // 'a', '\\\\', '\\n', '\\xFF', '\\377', '\\uFFFF', '\\U0010FFFF', '\\quot'\n char: /'(?:\\\\(?:\\W|\\w+)|[^\\\\])'/\n })\n Prism.languages.insertBefore('d', 'keyword', {\n property: /\\B@\\w*/\n })\n Prism.languages.insertBefore('d', 'function', {\n register: {\n // Iasm registers\n pattern:\n /\\b(?:[ABCD][LHX]|E?(?:BP|DI|SI|SP)|[BS]PL|[ECSDGF]S|CR[0234]|[DS]IL|DR[012367]|E[ABCD]X|X?MM[0-7]|R(?:1[0-5]|[89])[BWD]?|R[ABCD]X|R[BS]P|R[DS]I|TR[3-7]|XMM(?:1[0-5]|[89])|YMM(?:1[0-5]|\\d))\\b|\\bST(?:\\([0-7]\\)|\\b)/,\n alias: 'variable'\n }\n })\n}\n","'use strict'\n\nmodule.exports = dart\ndart.displayName = 'dart'\ndart.aliases = []\nfunction dart(Prism) {\n ;(function (Prism) {\n var keywords = [\n /\\b(?:async|sync|yield)\\*/,\n /\\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extends|extension|external|factory|final|finally|for|get|hide|if|implements|import|in|interface|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\\b/\n ] // Handles named imports, such as http.Client\n var packagePrefix = /(^|[^\\w.])(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*/\n .source // based on the dart naming conventions\n var className = {\n pattern: RegExp(packagePrefix + /[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b/.source),\n lookbehind: true,\n inside: {\n namespace: {\n pattern: /^[a-z]\\w*(?:\\s*\\.\\s*[a-z]\\w*)*(?:\\s*\\.)?/,\n inside: {\n punctuation: /\\./\n }\n }\n }\n }\n Prism.languages.dart = Prism.languages.extend('clike', {\n 'class-name': [\n className,\n {\n // variables and parameters\n // this to support class names (or generic parameters) which do not contain a lower case letter (also works for methods)\n pattern: RegExp(\n packagePrefix + /[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()])/.source\n ),\n lookbehind: true,\n inside: className.inside\n }\n ],\n keyword: keywords,\n operator:\n /\\bis!|\\b(?:as|is)\\b|\\+\\+|--|&&|\\|\\||<<=?|>>=?|~(?:\\/=?)?|[+\\-*\\/%&^|=!<>]=?|\\?/\n })\n Prism.languages.insertBefore('dart', 'string', {\n 'string-literal': {\n pattern:\n /r?(?:(\"\"\"|''')[\\s\\S]*?\\1|([\"'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2(?!\\2))/,\n greedy: true,\n inside: {\n interpolation: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:\\w+|\\{(?:[^{}]|\\{[^{}]*\\})*\\})/,\n lookbehind: true,\n inside: {\n punctuation: /^\\$\\{?|\\}$/,\n expression: {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.dart\n }\n }\n },\n string: /[\\s\\S]+/\n }\n },\n string: undefined\n })\n Prism.languages.insertBefore('dart', 'class-name', {\n metadata: {\n pattern: /@\\w+/,\n alias: 'function'\n }\n })\n Prism.languages.insertBefore('dart', 'class-name', {\n generics: {\n pattern:\n /<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<[\\w\\s,.&?]*>)*>)*>)*>/,\n inside: {\n 'class-name': className,\n keyword: keywords,\n punctuation: /[<>(),.:]/,\n operator: /[?&|]/\n }\n }\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = dataweave\ndataweave.displayName = 'dataweave'\ndataweave.aliases = []\nfunction dataweave(Prism) {\n ;(function (Prism) {\n Prism.languages.dataweave = {\n url: /\\b[A-Za-z]+:\\/\\/[\\w/:.?=&-]+|\\burn:[\\w:.?=&-]+/,\n property: {\n pattern: /(?:\\b\\w+#)?(?:\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|\\b\\w+)(?=\\s*[:@])/,\n greedy: true\n },\n string: {\n pattern: /([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n greedy: true\n },\n 'mime-type':\n /\\b(?:application|audio|image|multipart|text|video)\\/[\\w+-]+/,\n date: {\n pattern: /\\|[\\w:+-]+\\|/,\n greedy: true\n },\n comment: [\n {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n regex: {\n pattern: /\\/(?:[^\\\\\\/\\r\\n]|\\\\[^\\r\\n])+\\//,\n greedy: true\n },\n keyword:\n /\\b(?:and|as|at|case|do|else|fun|if|input|is|match|not|ns|null|or|output|type|unless|update|using|var)\\b/,\n function: /\\b[A-Z_]\\w*(?=\\s*\\()/i,\n number: /-?\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\n punctuation: /[{}[\\];(),.:@]/,\n operator: /<<|>>|->|[<>~=]=?|!=|--?-?|\\+\\+?|!|\\?/,\n boolean: /\\b(?:false|true)\\b/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = dax\ndax.displayName = 'dax'\ndax.aliases = []\nfunction dax(Prism) {\n Prism.languages.dax = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/).*)/,\n lookbehind: true\n },\n 'data-field': {\n pattern:\n /'(?:[^']|'')*'(?!')(?:\\[[ \\w\\xA0-\\uFFFF]+\\])?|\\w+\\[[ \\w\\xA0-\\uFFFF]+\\]/,\n alias: 'symbol'\n },\n measure: {\n pattern: /\\[[ \\w\\xA0-\\uFFFF]+\\]/,\n alias: 'constant'\n },\n string: {\n pattern: /\"(?:[^\"]|\"\")*\"(?!\")/,\n greedy: true\n },\n function:\n /\\b(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\\.DIST|BETA\\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\\.DIST|CHISQ\\.DIST\\.RT|CHISQ\\.INV|CHISQ\\.INV\\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\\.NORM|CONFIDENCE\\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\\.DIST|NORM\\.INV|NORM\\.S\\.DIST|NORM\\.S\\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\\.EXC|PERCENTILE\\.INC|PERCENTILEX\\.EXC|PERCENTILEX\\.INC|PERMUT|PI|POISSON\\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\\.P|STDEV\\.S|STDEVX\\.P|STDEVX\\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\\.DIST|T\\.DIST\\.2T|T\\.DIST\\.RT|T\\.INV|T\\.INV\\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\\.P|VAR\\.S|VARX\\.P|VARX\\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\\s*\\()/i,\n keyword:\n /\\b(?:DEFINE|EVALUATE|MEASURE|ORDER\\s+BY|RETURN|VAR|START\\s+AT|ASC|DESC)\\b/i,\n boolean: {\n pattern: /\\b(?:FALSE|NULL|TRUE)\\b/i,\n alias: 'constant'\n },\n number: /\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/,\n operator: /:=|[-+*\\/=^]|&&?|\\|\\||<(?:=>?|<|>)?|>[>=]?|\\b(?:IN|NOT)\\b/i,\n punctuation: /[;\\[\\](){}`,.]/\n }\n}\n","'use strict'\n\nmodule.exports = dhall\ndhall.displayName = 'dhall'\ndhall.aliases = []\nfunction dhall(Prism) {\n // ABNF grammar:\n // https://github.com/dhall-lang/dhall-lang/blob/master/standard/dhall.abnf\n Prism.languages.dhall = {\n // Multi-line comments can be nested. E.g. {- foo {- bar -} -}\n // The multi-line pattern is essentially this:\n // \\{-(?:[^-{]|-(?!\\})|\\{(?!-)|<SELF>)*-\\}\n comment:\n /--.*|\\{-(?:[^-{]|-(?!\\})|\\{(?!-)|\\{-(?:[^-{]|-(?!\\})|\\{(?!-))*-\\})*-\\}/,\n string: {\n pattern: /\"(?:[^\"\\\\]|\\\\.)*\"|''(?:[^']|'(?!')|'''|''\\$\\{)*''(?!'|\\$)/,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /\\$\\{[^{}]*\\}/,\n inside: {\n expression: {\n pattern: /(^\\$\\{)[\\s\\S]+(?=\\}$)/,\n lookbehind: true,\n alias: 'language-dhall',\n inside: null // see blow\n },\n punctuation: /\\$\\{|\\}/\n }\n }\n }\n },\n label: {\n pattern: /`[^`]*`/,\n greedy: true\n },\n url: {\n // https://github.com/dhall-lang/dhall-lang/blob/5fde8ef1bead6fb4e999d3c1ffe7044cd019d63a/standard/dhall.abnf#L596\n pattern:\n /\\bhttps?:\\/\\/[\\w.:%!$&'*+;=@~-]+(?:\\/[\\w.:%!$&'*+;=@~-]*)*(?:\\?[/?\\w.:%!$&'*+;=@~-]*)?/,\n greedy: true\n },\n env: {\n // https://github.com/dhall-lang/dhall-lang/blob/5fde8ef1bead6fb4e999d3c1ffe7044cd019d63a/standard/dhall.abnf#L661\n pattern: /\\benv:(?:(?!\\d)\\w+|\"(?:[^\"\\\\=]|\\\\.)*\")/,\n greedy: true,\n inside: {\n function: /^env/,\n operator: /^:/,\n variable: /[\\s\\S]+/\n }\n },\n hash: {\n // https://github.com/dhall-lang/dhall-lang/blob/5fde8ef1bead6fb4e999d3c1ffe7044cd019d63a/standard/dhall.abnf#L725\n pattern: /\\bsha256:[\\da-fA-F]{64}\\b/,\n inside: {\n function: /sha256/,\n operator: /:/,\n number: /[\\da-fA-F]{64}/\n }\n },\n // https://github.com/dhall-lang/dhall-lang/blob/5fde8ef1bead6fb4e999d3c1ffe7044cd019d63a/standard/dhall.abnf#L359\n keyword:\n /\\b(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)\\b|\\u2200/,\n builtin: /\\b(?:None|Some)\\b/,\n boolean: /\\b(?:False|True)\\b/,\n number:\n /\\bNaN\\b|-?\\bInfinity\\b|[+-]?\\b(?:0x[\\da-fA-F]+|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b/,\n operator:\n /\\/\\\\|\\/\\/\\\\\\\\|&&|\\|\\||===|[!=]=|\\/\\/|->|\\+\\+|::|[+*#@=:?<>|\\\\\\u2227\\u2a53\\u2261\\u2afd\\u03bb\\u2192]/,\n punctuation: /\\.\\.|[{}\\[\\](),./]/,\n // we'll just assume that every capital word left is a type name\n 'class-name': /\\b[A-Z]\\w*\\b/\n }\n Prism.languages.dhall.string.inside.interpolation.inside.expression.inside =\n Prism.languages.dhall\n}\n","'use strict'\n\nmodule.exports = diff\ndiff.displayName = 'diff'\ndiff.aliases = []\nfunction diff(Prism) {\n ;(function (Prism) {\n Prism.languages.diff = {\n coord: [\n // Match all kinds of coord lines (prefixed by \"+++\", \"---\" or \"***\").\n /^(?:\\*{3}|-{3}|\\+{3}).*$/m, // Match \"@@ ... @@\" coord lines in unified diff.\n /^@@.*@@$/m, // Match coord lines in normal diff (starts with a number).\n /^\\d.*$/m\n ] // deleted, inserted, unchanged, diff\n }\n /**\n * A map from the name of a block to its line prefix.\n *\n * @type {Object<string, string>}\n */\n var PREFIXES = {\n 'deleted-sign': '-',\n 'deleted-arrow': '<',\n 'inserted-sign': '+',\n 'inserted-arrow': '>',\n unchanged: ' ',\n diff: '!'\n } // add a token for each prefix\n Object.keys(PREFIXES).forEach(function (name) {\n var prefix = PREFIXES[name]\n var alias = []\n if (!/^\\w+$/.test(name)) {\n // \"deleted-sign\" -> \"deleted\"\n alias.push(/\\w+/.exec(name)[0])\n }\n if (name === 'diff') {\n alias.push('bold')\n }\n Prism.languages.diff[name] = {\n pattern: RegExp(\n '^(?:[' + prefix + '].*(?:\\r\\n?|\\n|(?![\\\\s\\\\S])))+',\n 'm'\n ),\n alias: alias,\n inside: {\n line: {\n pattern: /(.)(?=[\\s\\S]).*(?:\\r\\n?|\\n)?/,\n lookbehind: true\n },\n prefix: {\n pattern: /[\\s\\S]/,\n alias: /\\w+/.exec(name)[0]\n }\n }\n }\n }) // make prefixes available to Diff plugin\n Object.defineProperty(Prism.languages.diff, 'PREFIXES', {\n value: PREFIXES\n })\n })(Prism)\n}\n","'use strict'\nvar refractorMarkupTemplating = require('./markup-templating.js')\nmodule.exports = django\ndjango.displayName = 'django'\ndjango.aliases = ['jinja2']\nfunction django(Prism) {\n Prism.register(refractorMarkupTemplating)\n // Django/Jinja2 syntax definition for Prism.js <http://prismjs.com> syntax highlighter.\n // Mostly it works OK but can paint code incorrectly on complex html/template tag combinations.\n ;(function (Prism) {\n Prism.languages.django = {\n comment: /^\\{#[\\s\\S]*?#\\}$/,\n tag: {\n pattern: /(^\\{%[+-]?\\s*)\\w+/,\n lookbehind: true,\n alias: 'keyword'\n },\n delimiter: {\n pattern: /^\\{[{%][+-]?|[+-]?[}%]\\}$/,\n alias: 'punctuation'\n },\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n filter: {\n pattern: /(\\|)\\w+/,\n lookbehind: true,\n alias: 'function'\n },\n test: {\n pattern: /(\\bis\\s+(?:not\\s+)?)(?!not\\b)\\w+/,\n lookbehind: true,\n alias: 'function'\n },\n function: /\\b[a-z_]\\w+(?=\\s*\\()/i,\n keyword:\n /\\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\\b/,\n operator: /[-+%=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n number: /\\b\\d+(?:\\.\\d+)?\\b/,\n boolean: /[Ff]alse|[Nn]one|[Tt]rue/,\n variable: /\\b\\w+\\b/,\n punctuation: /[{}[\\](),.:;]/\n }\n var pattern = /\\{\\{[\\s\\S]*?\\}\\}|\\{%[\\s\\S]*?%\\}|\\{#[\\s\\S]*?#\\}/g\n var markupTemplating = Prism.languages['markup-templating']\n Prism.hooks.add('before-tokenize', function (env) {\n markupTemplating.buildPlaceholders(env, 'django', pattern)\n })\n Prism.hooks.add('after-tokenize', function (env) {\n markupTemplating.tokenizePlaceholders(env, 'django')\n }) // Add an Jinja2 alias\n Prism.languages.jinja2 = Prism.languages.django\n Prism.hooks.add('before-tokenize', function (env) {\n markupTemplating.buildPlaceholders(env, 'jinja2', pattern)\n })\n Prism.hooks.add('after-tokenize', function (env) {\n markupTemplating.tokenizePlaceholders(env, 'jinja2')\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = dnsZoneFile\ndnsZoneFile.displayName = 'dnsZoneFile'\ndnsZoneFile.aliases = []\nfunction dnsZoneFile(Prism) {\n Prism.languages['dns-zone-file'] = {\n comment: /;.*/,\n string: {\n pattern: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n greedy: true\n },\n variable: [\n {\n pattern: /(^\\$ORIGIN[ \\t]+)\\S+/m,\n lookbehind: true\n },\n {\n pattern: /(^|\\s)@(?=\\s|$)/,\n lookbehind: true\n }\n ],\n keyword: /^\\$(?:INCLUDE|ORIGIN|TTL)(?=\\s|$)/m,\n class: {\n // https://tools.ietf.org/html/rfc1035#page-13\n pattern: /(^|\\s)(?:CH|CS|HS|IN)(?=\\s|$)/,\n lookbehind: true,\n alias: 'keyword'\n },\n type: {\n // https://en.wikipedia.org/wiki/List_of_DNS_record_types\n pattern:\n /(^|\\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?=\\s|$)/,\n lookbehind: true,\n alias: 'keyword'\n },\n punctuation: /[()]/\n }\n Prism.languages['dns-zone'] = Prism.languages['dns-zone-file']\n}\n","'use strict'\n\nmodule.exports = docker\ndocker.displayName = 'docker'\ndocker.aliases = ['dockerfile']\nfunction docker(Prism) {\n ;(function (Prism) {\n // Many of the following regexes will contain negated lookaheads like `[ \\t]+(?![ \\t])`. This is a trick to ensure\n // that quantifiers behave *atomically*. Atomic quantifiers are necessary to prevent exponential backtracking.\n var spaceAfterBackSlash =\n /\\\\[\\r\\n](?:\\s|\\\\[\\r\\n]|#.*(?!.))*(?![\\s#]|\\\\[\\r\\n])/.source // At least one space, comment, or line break\n var space = /(?:[ \\t]+(?![ \\t])(?:<SP_BS>)?|<SP_BS>)/.source.replace(\n /<SP_BS>/g,\n function () {\n return spaceAfterBackSlash\n }\n )\n var string =\n /\"(?:[^\"\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\"|'(?:[^'\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*'/\n .source\n var option = /--[\\w-]+=(?:<STR>|(?![\"'])(?:[^\\s\\\\]|\\\\.)+)/.source.replace(\n /<STR>/g,\n function () {\n return string\n }\n )\n var stringRule = {\n pattern: RegExp(string),\n greedy: true\n }\n var commentRule = {\n pattern: /(^[ \\t]*)#.*/m,\n lookbehind: true,\n greedy: true\n }\n /**\n * @param {string} source\n * @param {string} flags\n * @returns {RegExp}\n */\n function re(source, flags) {\n source = source\n .replace(/<OPT>/g, function () {\n return option\n })\n .replace(/<SP>/g, function () {\n return space\n })\n return RegExp(source, flags)\n }\n Prism.languages.docker = {\n instruction: {\n pattern:\n /(^[ \\t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\\s)(?:\\\\.|[^\\r\\n\\\\])*(?:\\\\$(?:\\s|#.*$)*(?![\\s#])(?:\\\\.|[^\\r\\n\\\\])*)*/im,\n lookbehind: true,\n greedy: true,\n inside: {\n options: {\n pattern: re(\n /(^(?:ONBUILD<SP>)?\\w+<SP>)<OPT>(?:<SP><OPT>)*/.source,\n 'i'\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n property: {\n pattern: /(^|\\s)--[\\w-]+/,\n lookbehind: true\n },\n string: [\n stringRule,\n {\n pattern: /(=)(?![\"'])(?:[^\\s\\\\]|\\\\.)+/,\n lookbehind: true\n }\n ],\n operator: /\\\\$/m,\n punctuation: /=/\n }\n },\n keyword: [\n {\n // https://docs.docker.com/engine/reference/builder/#healthcheck\n pattern: re(\n /(^(?:ONBUILD<SP>)?HEALTHCHECK<SP>(?:<OPT><SP>)*)(?:CMD|NONE)\\b/\n .source,\n 'i'\n ),\n lookbehind: true,\n greedy: true\n },\n {\n // https://docs.docker.com/engine/reference/builder/#from\n pattern: re(\n /(^(?:ONBUILD<SP>)?FROM<SP>(?:<OPT><SP>)*(?!--)[^ \\t\\\\]+<SP>)AS/\n .source,\n 'i'\n ),\n lookbehind: true,\n greedy: true\n },\n {\n // https://docs.docker.com/engine/reference/builder/#onbuild\n pattern: re(/(^ONBUILD<SP>)\\w+/.source, 'i'),\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /^\\w+/,\n greedy: true\n }\n ],\n comment: commentRule,\n string: stringRule,\n variable: /\\$(?:\\w+|\\{[^{}\"'\\\\]*\\})/,\n operator: /\\\\$/m\n }\n },\n comment: commentRule\n }\n Prism.languages.dockerfile = Prism.languages.docker\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = dot\ndot.displayName = 'dot'\ndot.aliases = ['gv']\nfunction dot(Prism) {\n // https://www.graphviz.org/doc/info/lang.html\n ;(function (Prism) {\n var ID =\n '(?:' +\n [\n // an identifier\n /[a-zA-Z_\\x80-\\uFFFF][\\w\\x80-\\uFFFF]*/.source, // a number\n /-?(?:\\.\\d+|\\d+(?:\\.\\d*)?)/.source, // a double-quoted string\n /\"[^\"\\\\]*(?:\\\\[\\s\\S][^\"\\\\]*)*\"/.source, // HTML-like string\n /<(?:[^<>]|(?!<!--)<(?:[^<>\"']|\"[^\"]*\"|'[^']*')+>|<!--(?:[^-]|-(?!->))*-->)*>/\n .source\n ].join('|') +\n ')'\n var IDInside = {\n markup: {\n pattern: /(^<)[\\s\\S]+(?=>$)/,\n lookbehind: true,\n alias: ['language-markup', 'language-html', 'language-xml'],\n inside: Prism.languages.markup\n }\n }\n /**\n * @param {string} source\n * @param {string} flags\n * @returns {RegExp}\n */\n function withID(source, flags) {\n return RegExp(\n source.replace(/<ID>/g, function () {\n return ID\n }),\n flags\n )\n }\n Prism.languages.dot = {\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\/|^#.*/m,\n greedy: true\n },\n 'graph-name': {\n pattern: withID(\n /(\\b(?:digraph|graph|subgraph)[ \\t\\r\\n]+)<ID>/.source,\n 'i'\n ),\n lookbehind: true,\n greedy: true,\n alias: 'class-name',\n inside: IDInside\n },\n 'attr-value': {\n pattern: withID(/(=[ \\t\\r\\n]*)<ID>/.source),\n lookbehind: true,\n greedy: true,\n inside: IDInside\n },\n 'attr-name': {\n pattern: withID(/([\\[;, \\t\\r\\n])<ID>(?=[ \\t\\r\\n]*=)/.source),\n lookbehind: true,\n greedy: true,\n inside: IDInside\n },\n keyword: /\\b(?:digraph|edge|graph|node|strict|subgraph)\\b/i,\n 'compass-point': {\n pattern: /(:[ \\t\\r\\n]*)(?:[ewc_]|[ns][ew]?)(?![\\w\\x80-\\uFFFF])/,\n lookbehind: true,\n alias: 'builtin'\n },\n node: {\n pattern: withID(/(^|[^-.\\w\\x80-\\uFFFF\\\\])<ID>/.source),\n lookbehind: true,\n greedy: true,\n inside: IDInside\n },\n operator: /[=:]|-[->]/,\n punctuation: /[\\[\\]{};,]/\n }\n Prism.languages.gv = Prism.languages.dot\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = ebnf\nebnf.displayName = 'ebnf'\nebnf.aliases = []\nfunction ebnf(Prism) {\n Prism.languages.ebnf = {\n comment: /\\(\\*[\\s\\S]*?\\*\\)/,\n string: {\n pattern: /\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'/,\n greedy: true\n },\n special: {\n pattern: /\\?[^?\\r\\n]*\\?/,\n greedy: true,\n alias: 'class-name'\n },\n definition: {\n pattern: /^([\\t ]*)[a-z]\\w*(?:[ \\t]+[a-z]\\w*)*(?=\\s*=)/im,\n lookbehind: true,\n alias: ['rule', 'keyword']\n },\n rule: /\\b[a-z]\\w*(?:[ \\t]+[a-z]\\w*)*\\b/i,\n punctuation: /\\([:/]|[:/]\\)|[.,;()[\\]{}]/,\n operator: /[-=|*/!]/\n }\n}\n","'use strict'\n\nmodule.exports = editorconfig\neditorconfig.displayName = 'editorconfig'\neditorconfig.aliases = []\nfunction editorconfig(Prism) {\n Prism.languages.editorconfig = {\n // https://editorconfig-specification.readthedocs.io\n comment: /[;#].*/,\n section: {\n pattern: /(^[ \\t]*)\\[.+\\]/m,\n lookbehind: true,\n alias: 'selector',\n inside: {\n regex: /\\\\\\\\[\\[\\]{},!?.*]/,\n // Escape special characters with '\\\\'\n operator: /[!?]|\\.\\.|\\*{1,2}/,\n punctuation: /[\\[\\]{},]/\n }\n },\n key: {\n pattern: /(^[ \\t]*)[^\\s=]+(?=[ \\t]*=)/m,\n lookbehind: true,\n alias: 'attr-name'\n },\n value: {\n pattern: /=.*/,\n alias: 'attr-value',\n inside: {\n punctuation: /^=/\n }\n }\n }\n}\n","'use strict'\n\nmodule.exports = eiffel\neiffel.displayName = 'eiffel'\neiffel.aliases = []\nfunction eiffel(Prism) {\n Prism.languages.eiffel = {\n comment: /--.*/,\n string: [\n // Aligned-verbatim-strings\n {\n pattern: /\"([^[]*)\\[[\\s\\S]*?\\]\\1\"/,\n greedy: true\n }, // Non-aligned-verbatim-strings\n {\n pattern: /\"([^{]*)\\{[\\s\\S]*?\\}\\1\"/,\n greedy: true\n }, // Single-line string\n {\n pattern: /\"(?:%(?:(?!\\n)\\s)*\\n\\s*%|%\\S|[^%\"\\r\\n])*\"/,\n greedy: true\n }\n ],\n // normal char | special char | char code\n char: /'(?:%.|[^%'\\r\\n])+'/,\n keyword:\n /\\b(?:across|agent|alias|all|and|as|assign|attached|attribute|check|class|convert|create|Current|debug|deferred|detachable|do|else|elseif|end|ensure|expanded|export|external|feature|from|frozen|if|implies|inherit|inspect|invariant|like|local|loop|not|note|obsolete|old|once|or|Precursor|redefine|rename|require|rescue|Result|retry|select|separate|some|then|undefine|until|variant|Void|when|xor)\\b/i,\n boolean: /\\b(?:False|True)\\b/i,\n // Convention: class-names are always all upper-case characters\n 'class-name': /\\b[A-Z][\\dA-Z_]*\\b/,\n number: [\n // hexa | octal | bin\n /\\b0[xcb][\\da-f](?:_*[\\da-f])*\\b/i, // Decimal\n /(?:\\b\\d(?:_*\\d)*)?\\.(?:(?:\\d(?:_*\\d)*)?e[+-]?)?\\d(?:_*\\d)*\\b|\\b\\d(?:_*\\d)*\\b\\.?/i\n ],\n punctuation: /:=|<<|>>|\\(\\||\\|\\)|->|\\.(?=\\w)|[{}[\\];(),:?]/,\n operator: /\\\\\\\\|\\|\\.\\.\\||\\.\\.|\\/[~\\/=]?|[><]=?|[-+*^=~]/\n }\n}\n","'use strict'\nvar refractorMarkupTemplating = require('./markup-templating.js')\nmodule.exports = ejs\nejs.displayName = 'ejs'\nejs.aliases = ['eta']\nfunction ejs(Prism) {\n Prism.register(refractorMarkupTemplating)\n ;(function (Prism) {\n Prism.languages.ejs = {\n delimiter: {\n pattern: /^<%[-_=]?|[-_]?%>$/,\n alias: 'punctuation'\n },\n comment: /^#[\\s\\S]*/,\n 'language-javascript': {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.javascript\n }\n }\n Prism.hooks.add('before-tokenize', function (env) {\n var ejsPattern = /<%(?!%)[\\s\\S]+?%>/g\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'ejs',\n ejsPattern\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'ejs')\n })\n Prism.languages.eta = Prism.languages.ejs\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = elixir\nelixir.displayName = 'elixir'\nelixir.aliases = []\nfunction elixir(Prism) {\n Prism.languages.elixir = {\n doc: {\n pattern:\n /@(?:doc|moduledoc)\\s+(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2)/,\n inside: {\n attribute: /^@\\w+/,\n string: /['\"][\\s\\S]+/\n }\n },\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n // ~r\"\"\"foo\"\"\" (multi-line), ~r'''foo''' (multi-line), ~r/foo/, ~r|foo|, ~r\"foo\", ~r'foo', ~r(foo), ~r[foo], ~r{foo}, ~r<foo>\n regex: {\n pattern:\n /~[rR](?:(\"\"\"|''')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1|([\\/|\"'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])+\\2|\\((?:\\\\.|[^\\\\)\\r\\n])+\\)|\\[(?:\\\\.|[^\\\\\\]\\r\\n])+\\]|\\{(?:\\\\.|[^\\\\}\\r\\n])+\\}|<(?:\\\\.|[^\\\\>\\r\\n])+>)[uismxfr]*/,\n greedy: true\n },\n string: [\n {\n // ~s\"\"\"foo\"\"\" (multi-line), ~s'''foo''' (multi-line), ~s/foo/, ~s|foo|, ~s\"foo\", ~s'foo', ~s(foo), ~s[foo], ~s{foo} (with interpolation care), ~s<foo>\n pattern:\n /~[cCsSwW](?:(\"\"\"|''')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1|([\\/|\"'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])+\\2|\\((?:\\\\.|[^\\\\)\\r\\n])+\\)|\\[(?:\\\\.|[^\\\\\\]\\r\\n])+\\]|\\{(?:\\\\.|#\\{[^}]+\\}|#(?!\\{)|[^#\\\\}\\r\\n])+\\}|<(?:\\\\.|[^\\\\>\\r\\n])+>)[csa]?/,\n greedy: true,\n inside: {\n // See interpolation below\n }\n },\n {\n pattern: /(\"\"\"|''')[\\s\\S]*?\\1/,\n greedy: true,\n inside: {\n // See interpolation below\n }\n },\n {\n // Multi-line strings are allowed\n pattern: /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true,\n inside: {\n // See interpolation below\n }\n }\n ],\n atom: {\n // Look-behind prevents bad highlighting of the :: operator\n pattern: /(^|[^:]):\\w+/,\n lookbehind: true,\n alias: 'symbol'\n },\n module: {\n pattern: /\\b[A-Z]\\w*\\b/,\n alias: 'class-name'\n },\n // Look-ahead prevents bad highlighting of the :: operator\n 'attr-name': /\\b\\w+\\??:(?!:)/,\n argument: {\n // Look-behind prevents bad highlighting of the && operator\n pattern: /(^|[^&])&\\d+/,\n lookbehind: true,\n alias: 'variable'\n },\n attribute: {\n pattern: /@\\w+/,\n alias: 'variable'\n },\n function: /\\b[_a-zA-Z]\\w*[?!]?(?:(?=\\s*(?:\\.\\s*)?\\()|(?=\\/\\d))/,\n number: /\\b(?:0[box][a-f\\d_]+|\\d[\\d_]*)(?:\\.[\\d_]+)?(?:e[+-]?[\\d_]+)?\\b/i,\n keyword:\n /\\b(?:after|alias|and|case|catch|cond|def(?:callback|delegate|exception|impl|macro|module|n|np|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|quote|raise|require|rescue|try|unless|unquote|use|when)\\b/,\n boolean: /\\b(?:false|nil|true)\\b/,\n operator: [\n /\\bin\\b|&&?|\\|[|>]?|\\\\\\\\|::|\\.\\.\\.?|\\+\\+?|-[->]?|<[-=>]|>=|!==?|\\B!|=(?:==?|[>~])?|[*\\/^]/,\n {\n // We don't want to match <<\n pattern: /([^<])<(?!<)/,\n lookbehind: true\n },\n {\n // We don't want to match >>\n pattern: /([^>])>(?!>)/,\n lookbehind: true\n }\n ],\n punctuation: /<<|>>|[.,%\\[\\]{}()]/\n }\n Prism.languages.elixir.string.forEach(function (o) {\n o.inside = {\n interpolation: {\n pattern: /#\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: 'punctuation'\n },\n rest: Prism.languages.elixir\n }\n }\n }\n })\n}\n","'use strict'\n\nmodule.exports = elm\nelm.displayName = 'elm'\nelm.aliases = []\nfunction elm(Prism) {\n Prism.languages.elm = {\n comment: /--.*|\\{-[\\s\\S]*?-\\}/,\n char: {\n pattern:\n /'(?:[^\\\\'\\r\\n]|\\\\(?:[abfnrtv\\\\']|\\d+|x[0-9a-fA-F]+|u\\{[0-9a-fA-F]+\\}))'/,\n greedy: true\n },\n string: [\n {\n // Multiline strings are wrapped in triple \". Quotes may appear unescaped.\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: true\n },\n {\n pattern: /\"(?:[^\\\\\"\\r\\n]|\\\\.)*\"/,\n greedy: true\n }\n ],\n 'import-statement': {\n // The imported or hidden names are not included in this import\n // statement. This is because we want to highlight those exactly like\n // we do for the names in the program.\n pattern:\n /(^[\\t ]*)import\\s+[A-Z]\\w*(?:\\.[A-Z]\\w*)*(?:\\s+as\\s+(?:[A-Z]\\w*)(?:\\.[A-Z]\\w*)*)?(?:\\s+exposing\\s+)?/m,\n lookbehind: true,\n inside: {\n keyword: /\\b(?:as|exposing|import)\\b/\n }\n },\n keyword:\n /\\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\\b/,\n // These are builtin variables only. Constructors are highlighted later as a constant.\n builtin:\n /\\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\\b/,\n // decimal integers and floating point numbers | hexadecimal integers\n number: /\\b(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|0x[0-9a-f]+)\\b/i,\n // Most of this is needed because of the meaning of a single '.'.\n // If it stands alone freely, it is the function composition.\n // It may also be a separator between a module name and an identifier => no\n // operator. If it comes together with other special characters it is an\n // operator too.\n // Valid operator characters in 0.18: +-/*=.$<>:&|^?%#@~!\n // Ref: https://groups.google.com/forum/#!msg/elm-dev/0AHSnDdkSkQ/E0SVU70JEQAJ\n operator: /\\s\\.\\s|[+\\-/*=.$<>:&|^?%#@~!]{2,}|[+\\-/*=$<>:&|^?%#@~!]/,\n // In Elm, nearly everything is a variable, do not highlight these.\n hvariable: /\\b(?:[A-Z]\\w*\\.)*[a-z]\\w*\\b/,\n constant: /\\b(?:[A-Z]\\w*\\.)*[A-Z]\\w*\\b/,\n punctuation: /[{}[\\]|(),.:]/\n }\n}\n","'use strict'\nvar refractorRuby = require('./ruby.js')\nvar refractorMarkupTemplating = require('./markup-templating.js')\nmodule.exports = erb\nerb.displayName = 'erb'\nerb.aliases = []\nfunction erb(Prism) {\n Prism.register(refractorRuby)\n Prism.register(refractorMarkupTemplating)\n ;(function (Prism) {\n Prism.languages.erb = {\n delimiter: {\n pattern: /^(\\s*)<%=?|%>(?=\\s*$)/,\n lookbehind: true,\n alias: 'punctuation'\n },\n ruby: {\n pattern: /\\s*\\S[\\s\\S]*/,\n alias: 'language-ruby',\n inside: Prism.languages.ruby\n }\n }\n Prism.hooks.add('before-tokenize', function (env) {\n var erbPattern =\n /<%=?(?:[^\\r\\n]|[\\r\\n](?!=begin)|[\\r\\n]=begin\\s(?:[^\\r\\n]|[\\r\\n](?!=end))*[\\r\\n]=end)+?%>/g\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'erb',\n erbPattern\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'erb')\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = erlang\nerlang.displayName = 'erlang'\nerlang.aliases = []\nfunction erlang(Prism) {\n Prism.languages.erlang = {\n comment: /%.+/,\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: true\n },\n 'quoted-function': {\n pattern: /'(?:\\\\.|[^\\\\'\\r\\n])+'(?=\\()/,\n alias: 'function'\n },\n 'quoted-atom': {\n pattern: /'(?:\\\\.|[^\\\\'\\r\\n])+'/,\n alias: 'atom'\n },\n boolean: /\\b(?:false|true)\\b/,\n keyword: /\\b(?:after|case|catch|end|fun|if|of|receive|try|when)\\b/,\n number: [\n /\\$\\\\?./,\n /\\b\\d+#[a-z0-9]+/i,\n /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i\n ],\n function: /\\b[a-z][\\w@]*(?=\\()/,\n variable: {\n // Look-behind is used to prevent wrong highlighting of atoms containing \"@\"\n pattern: /(^|[^@])(?:\\b|\\?)[A-Z_][\\w@]*/,\n lookbehind: true\n },\n operator: [\n /[=\\/<>:]=|=[:\\/]=|\\+\\+?|--?|[=*\\/!]|\\b(?:and|andalso|band|bnot|bor|bsl|bsr|bxor|div|not|or|orelse|rem|xor)\\b/,\n {\n // We don't want to match <<\n pattern: /(^|[^<])<(?!<)/,\n lookbehind: true\n },\n {\n // We don't want to match >>\n pattern: /(^|[^>])>(?!>)/,\n lookbehind: true\n }\n ],\n atom: /\\b[a-z][\\w@]*/,\n punctuation: /[()[\\]{}:;,.#|]|<<|>>/\n }\n}\n","'use strict'\nvar refractorLua = require('./lua.js')\nvar refractorMarkupTemplating = require('./markup-templating.js')\nmodule.exports = etlua\netlua.displayName = 'etlua'\netlua.aliases = []\nfunction etlua(Prism) {\n Prism.register(refractorLua)\n Prism.register(refractorMarkupTemplating)\n ;(function (Prism) {\n Prism.languages.etlua = {\n delimiter: {\n pattern: /^<%[-=]?|-?%>$/,\n alias: 'punctuation'\n },\n 'language-lua': {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.lua\n }\n }\n Prism.hooks.add('before-tokenize', function (env) {\n var pattern = /<%[\\s\\S]+?%>/g\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'etlua',\n pattern\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'etlua')\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = excelFormula\nexcelFormula.displayName = 'excelFormula'\nexcelFormula.aliases = []\nfunction excelFormula(Prism) {\n Prism.languages['excel-formula'] = {\n comment: {\n pattern: /(\\bN\\(\\s*)\"(?:[^\"]|\"\")*\"(?=\\s*\\))/i,\n lookbehind: true,\n greedy: true\n },\n string: {\n pattern: /\"(?:[^\"]|\"\")*\"(?!\")/,\n greedy: true\n },\n reference: {\n // https://www.ablebits.com/office-addins-blog/2015/12/08/excel-reference-another-sheet-workbook/\n // Sales!B2\n // 'Winter sales'!B2\n // [Sales.xlsx]Jan!B2:B5\n // D:\\Reports\\[Sales.xlsx]Jan!B2:B5\n // '[Sales.xlsx]Jan sales'!B2:B5\n // 'D:\\Reports\\[Sales.xlsx]Jan sales'!B2:B5\n pattern:\n /(?:'[^']*'|(?:[^\\s()[\\]{}<>*?\"';,$&]*\\[[^^\\s()[\\]{}<>*?\"']+\\])?\\w+)!/,\n greedy: true,\n alias: 'string',\n inside: {\n operator: /!$/,\n punctuation: /'/,\n sheet: {\n pattern: /[^[\\]]+$/,\n alias: 'function'\n },\n file: {\n pattern: /\\[[^[\\]]+\\]$/,\n inside: {\n punctuation: /[[\\]]/\n }\n },\n path: /[\\s\\S]+/\n }\n },\n 'function-name': {\n pattern: /\\b[A-Z]\\w*(?=\\()/i,\n alias: 'keyword'\n },\n range: {\n pattern:\n /\\$?\\b(?:[A-Z]+\\$?\\d+:\\$?[A-Z]+\\$?\\d+|[A-Z]+:\\$?[A-Z]+|\\d+:\\$?\\d+)\\b/i,\n alias: 'property',\n inside: {\n operator: /:/,\n cell: /\\$?[A-Z]+\\$?\\d+/i,\n column: /\\$?[A-Z]+/i,\n row: /\\$?\\d+/\n }\n },\n cell: {\n // Excel is case insensitive, so the string \"foo1\" could be either a variable or a cell.\n // To combat this, we match cells case insensitive, if the contain at least one \"$\", and case sensitive otherwise.\n pattern: /\\b[A-Z]+\\d+\\b|\\$[A-Za-z]+\\$?\\d+\\b|\\b[A-Za-z]+\\$\\d+\\b/,\n alias: 'property'\n },\n number: /(?:\\b\\d+(?:\\.\\d+)?|\\B\\.\\d+)(?:e[+-]?\\d+)?\\b/i,\n boolean: /\\b(?:FALSE|TRUE)\\b/i,\n operator: /[-+*/^%=&,]|<[=>]?|>=?/,\n punctuation: /[[\\]();{}|]/\n }\n Prism.languages['xlsx'] = Prism.languages['xls'] =\n Prism.languages['excel-formula']\n}\n","'use strict'\n\nmodule.exports = factor\nfactor.displayName = 'factor'\nfactor.aliases = []\nfunction factor(Prism) {\n ;(function (Prism) {\n var comment_inside = {\n function:\n /\\b(?:BUGS?|FIX(?:MES?)?|NOTES?|TODOS?|XX+|HACKS?|WARN(?:ING)?|\\?{2,}|!{2,})\\b/\n }\n var string_inside = {\n number: /\\\\[^\\s']|%\\w/\n }\n var factor = {\n comment: [\n {\n // ! single-line exclamation point comments with whitespace after/around the !\n pattern: /(^|\\s)(?:! .*|!$)/,\n lookbehind: true,\n inside: comment_inside\n },\n /* from basis/multiline: */\n {\n // /* comment */, /* comment*/\n pattern: /(^|\\s)\\/\\*\\s[\\s\\S]*?\\*\\/(?=\\s|$)/,\n lookbehind: true,\n greedy: true,\n inside: comment_inside\n },\n {\n // ![[ comment ]] , ![===[ comment]===]\n pattern: /(^|\\s)!\\[(={0,6})\\[\\s[\\s\\S]*?\\]\\2\\](?=\\s|$)/,\n lookbehind: true,\n greedy: true,\n inside: comment_inside\n }\n ],\n number: [\n {\n // basic base 10 integers 9, -9\n pattern: /(^|\\s)[+-]?\\d+(?=\\s|$)/,\n lookbehind: true\n },\n {\n // base prefix integers 0b010 0o70 0xad 0d10 0XAD -0xa9\n pattern: /(^|\\s)[+-]?0(?:b[01]+|o[0-7]+|d\\d+|x[\\dA-F]+)(?=\\s|$)/i,\n lookbehind: true\n },\n {\n // fractional ratios 1/5 -1/5 and the literal float approximations 1/5. -1/5.\n pattern: /(^|\\s)[+-]?\\d+\\/\\d+\\.?(?=\\s|$)/,\n lookbehind: true\n },\n {\n // positive mixed numbers 23+1/5 +23+1/5\n pattern: /(^|\\s)\\+?\\d+\\+\\d+\\/\\d+(?=\\s|$)/,\n lookbehind: true\n },\n {\n // negative mixed numbers -23-1/5\n pattern: /(^|\\s)-\\d+-\\d+\\/\\d+(?=\\s|$)/,\n lookbehind: true\n },\n {\n // basic decimal floats -0.01 0. .0 .1 -.1 -1. -12.13 +12.13\n // and scientific notation with base 10 exponents 3e4 3e-4 .3e-4\n pattern:\n /(^|\\s)[+-]?(?:\\d*\\.\\d+|\\d+\\.\\d*|\\d+)(?:e[+-]?\\d+)?(?=\\s|$)/i,\n lookbehind: true\n },\n {\n // NAN literal syntax NAN: 80000deadbeef, NAN: a\n pattern: /(^|\\s)NAN:\\s+[\\da-fA-F]+(?=\\s|$)/,\n lookbehind: true\n },\n {\n /*\nbase prefix floats 0x1.0p3 (8.0) 0b1.010p2 (5.0) 0x1.p1 0b1.11111111p11111...\n\"The normalized hex form ±0x1.MMMMMMMMMMMMM[pP]±EEEE allows any floating-point number to be specified precisely.\nThe values of MMMMMMMMMMMMM and EEEE map directly to the mantissa and exponent fields of the binary IEEE 754 representation.\"\n<https://docs.factorcode.org/content/article-syntax-floats.html>\n*/\n pattern:\n /(^|\\s)[+-]?0(?:b1\\.[01]*|o1\\.[0-7]*|d1\\.\\d*|x1\\.[\\dA-F]*)p\\d+(?=\\s|$)/i,\n lookbehind: true\n }\n ],\n // R/ regexp?\\/\\\\/\n regexp: {\n pattern:\n /(^|\\s)R\\/\\s(?:\\\\\\S|[^\\\\/])*\\/(?:[idmsr]*|[idmsr]+-[idmsr]+)(?=\\s|$)/,\n lookbehind: true,\n alias: 'number',\n inside: {\n variable: /\\\\\\S/,\n keyword: /[+?*\\[\\]^$(){}.|]/,\n operator: {\n pattern: /(\\/)[idmsr]+(?:-[idmsr]+)?/,\n lookbehind: true\n }\n }\n },\n boolean: {\n pattern: /(^|\\s)[tf](?=\\s|$)/,\n lookbehind: true\n },\n // SBUF\" asd\", URL\" ://...\", P\" /etc/\"\n 'custom-string': {\n pattern: /(^|\\s)[A-Z0-9\\-]+\"\\s(?:\\\\\\S|[^\"\\\\])*\"/,\n lookbehind: true,\n greedy: true,\n alias: 'string',\n inside: {\n number: /\\\\\\S|%\\w|\\//\n }\n },\n 'multiline-string': [\n {\n // STRING: name \\n content \\n ; -> CONSTANT: name \"content\" (symbol)\n pattern: /(^|\\s)STRING:\\s+\\S+(?:\\n|\\r\\n).*(?:\\n|\\r\\n)\\s*;(?=\\s|$)/,\n lookbehind: true,\n greedy: true,\n alias: 'string',\n inside: {\n number: string_inside.number,\n // trailing semicolon on its own line\n 'semicolon-or-setlocal': {\n pattern: /([\\r\\n][ \\t]*);(?=\\s|$)/,\n lookbehind: true,\n alias: 'function'\n }\n }\n },\n {\n // HEREDOC: marker \\n content \\n marker ; -> \"content\" (immediate)\n pattern: /(^|\\s)HEREDOC:\\s+\\S+(?:\\n|\\r\\n).*(?:\\n|\\r\\n)\\s*\\S+(?=\\s|$)/,\n lookbehind: true,\n greedy: true,\n alias: 'string',\n inside: string_inside\n },\n {\n // [[ string ]], [==[ string]==]\n pattern: /(^|\\s)\\[(={0,6})\\[\\s[\\s\\S]*?\\]\\2\\](?=\\s|$)/,\n lookbehind: true,\n greedy: true,\n alias: 'string',\n inside: string_inside\n }\n ],\n 'special-using': {\n pattern: /(^|\\s)USING:(?:\\s\\S+)*(?=\\s+;(?:\\s|$))/,\n lookbehind: true,\n alias: 'function',\n inside: {\n // this is essentially a regex for vocab names, which i don't want to specify\n // but the USING: gets picked up as a vocab name\n string: {\n pattern: /(\\s)[^:\\s]+/,\n lookbehind: true\n }\n }\n },\n /* this description of stack effect literal syntax is not complete and not as specific as theoretically possible\ntrying to do better is more work and regex-computation-time than it's worth though.\n- we'd like to have the \"delimiter\" parts of the stack effect [ (, --, and ) ] be a different (less-important or comment-like) colour to the stack effect contents\n- we'd like if nested stack effects were treated as such rather than just appearing flat (with `inside`)\n- we'd like if the following variable name conventions were recognised specifically:\nspecial row variables = ..a b..\ntype and stack effect annotations end with a colon = ( quot: ( a: ( -- ) -- b ) -- x ), ( x: number -- )\nword throws unconditional error = *\nany other word-like variable name = a ? q' etc\nhttps://docs.factorcode.org/content/article-effects.html\nthese are pretty complicated to highlight properly without a real parser, and therefore out of scope\nthe old pattern, which may be later useful, was: (^|\\s)(?:call|execute|eval)?\\((?:\\s+[^\"\\r\\n\\t ]\\S*)*?\\s+--(?:\\s+[^\"\\n\\t ]\\S*)*?\\s+\\)(?=\\s|$)\n*/\n // current solution is not great\n 'stack-effect-delimiter': [\n {\n // opening parenthesis\n pattern: /(^|\\s)(?:call|eval|execute)?\\((?=\\s)/,\n lookbehind: true,\n alias: 'operator'\n },\n {\n // middle --\n pattern: /(\\s)--(?=\\s)/,\n lookbehind: true,\n alias: 'operator'\n },\n {\n // closing parenthesis\n pattern: /(\\s)\\)(?=\\s|$)/,\n lookbehind: true,\n alias: 'operator'\n }\n ],\n combinators: {\n pattern: null,\n lookbehind: true,\n alias: 'keyword'\n },\n 'kernel-builtin': {\n pattern: null,\n lookbehind: true,\n alias: 'variable'\n },\n 'sequences-builtin': {\n pattern: null,\n lookbehind: true,\n alias: 'variable'\n },\n 'math-builtin': {\n pattern: null,\n lookbehind: true,\n alias: 'variable'\n },\n 'constructor-word': {\n // <array> but not <=>\n pattern: /(^|\\s)<(?!=+>|-+>)\\S+>(?=\\s|$)/,\n lookbehind: true,\n alias: 'keyword'\n },\n 'other-builtin-syntax': {\n pattern: null,\n lookbehind: true,\n alias: 'operator'\n },\n /*\nfull list of supported word naming conventions: (the convention appears outside of the [brackets])\nset-[x]\nchange-[x]\nwith-[x]\nnew-[x]\n>[string]\n[base]>\n[string]>[number]\n+[symbol]+\n[boolean-word]?\n?[of]\n[slot-reader]>>\n>>[slot-setter]\n[slot-writer]<<\n([implementation-detail])\n[mutater]!\n[variant]*\n[prettyprint].\n$[help-markup]\n<constructors>, SYNTAX:, etc are supported by their own patterns.\n`with` and `new` from `kernel` are their own builtins.\nsee <https://docs.factorcode.org/content/article-conventions.html>\n*/\n 'conventionally-named-word': {\n pattern:\n /(^|\\s)(?!\")(?:(?:change|new|set|with)-\\S+|\\$\\S+|>[^>\\s]+|[^:>\\s]+>|[^>\\s]+>[^>\\s]+|\\+[^+\\s]+\\+|[^?\\s]+\\?|\\?[^?\\s]+|[^>\\s]+>>|>>[^>\\s]+|[^<\\s]+<<|\\([^()\\s]+\\)|[^!\\s]+!|[^*\\s]\\S*\\*|[^.\\s]\\S*\\.)(?=\\s|$)/,\n lookbehind: true,\n alias: 'keyword'\n },\n 'colon-syntax': {\n pattern: /(^|\\s)(?:[A-Z0-9\\-]+#?)?:{1,2}\\s+(?:;\\S+|(?!;)\\S+)(?=\\s|$)/,\n lookbehind: true,\n greedy: true,\n alias: 'function'\n },\n 'semicolon-or-setlocal': {\n pattern: /(\\s)(?:;|:>)(?=\\s|$)/,\n lookbehind: true,\n alias: 'function'\n },\n // do not highlight leading } or trailing X{ at the begin/end of the file as it's invalid syntax\n 'curly-brace-literal-delimiter': [\n {\n // opening\n pattern: /(^|\\s)[a-z]*\\{(?=\\s)/i,\n lookbehind: true,\n alias: 'operator'\n },\n {\n // closing\n pattern: /(\\s)\\}(?=\\s|$)/,\n lookbehind: true,\n alias: 'operator'\n }\n ],\n // do not highlight leading ] or trailing [ at the begin/end of the file as it's invalid syntax\n 'quotation-delimiter': [\n {\n // opening\n pattern: /(^|\\s)\\[(?=\\s)/,\n lookbehind: true,\n alias: 'operator'\n },\n {\n // closing\n pattern: /(\\s)\\](?=\\s|$)/,\n lookbehind: true,\n alias: 'operator'\n }\n ],\n 'normal-word': {\n pattern: /(^|\\s)[^\"\\s]\\S*(?=\\s|$)/,\n lookbehind: true\n },\n /*\nbasic first-class string \"a\"\nwith escaped double-quote \"a\\\"\"\nescaped backslash \"\\\\\"\nand general escapes since Factor has so many \"\\N\"\nsyntax that works in the reference implementation that isn't fully\nsupported because it's an implementation detail:\n\"string 1\"\"string 2\" -> 2 strings (works anyway)\n\"string\"5 -> string, 5\n\"string\"[ ] -> string, quotation\n{ \"a\"} -> array<string>\nthe rest of those examples all properly recognise the string, but not\nthe other object (number, quotation, etc)\nthis is fine for a regex-only implementation.\n*/\n string: {\n pattern: /\"(?:\\\\\\S|[^\"\\\\])*\"/,\n greedy: true,\n inside: string_inside\n }\n }\n var escape = function (str) {\n return (str + '').replace(/([.?*+\\^$\\[\\]\\\\(){}|\\-])/g, '\\\\$1')\n }\n var arrToWordsRegExp = function (arr) {\n return new RegExp('(^|\\\\s)(?:' + arr.map(escape).join('|') + ')(?=\\\\s|$)')\n }\n var builtins = {\n 'kernel-builtin': [\n 'or',\n '2nipd',\n '4drop',\n 'tuck',\n 'wrapper',\n 'nip',\n 'wrapper?',\n 'callstack>array',\n 'die',\n 'dupd',\n 'callstack',\n 'callstack?',\n '3dup',\n 'hashcode',\n 'pick',\n '4nip',\n 'build',\n '>boolean',\n 'nipd',\n 'clone',\n '5nip',\n 'eq?',\n '?',\n '=',\n 'swapd',\n '2over',\n 'clear',\n '2dup',\n 'get-retainstack',\n 'not',\n 'tuple?',\n 'dup',\n '3nipd',\n 'call',\n '-rotd',\n 'object',\n 'drop',\n 'assert=',\n 'assert?',\n '-rot',\n 'execute',\n 'boa',\n 'get-callstack',\n 'curried?',\n '3drop',\n 'pickd',\n 'overd',\n 'over',\n 'roll',\n '3nip',\n 'swap',\n 'and',\n '2nip',\n 'rotd',\n 'throw',\n '(clone)',\n 'hashcode*',\n 'spin',\n 'reach',\n '4dup',\n 'equal?',\n 'get-datastack',\n 'assert',\n '2drop',\n '<wrapper>',\n 'boolean?',\n 'identity-hashcode',\n 'identity-tuple?',\n 'null',\n 'composed?',\n 'new',\n '5drop',\n 'rot',\n '-roll',\n 'xor',\n 'identity-tuple',\n 'boolean'\n ],\n 'other-builtin-syntax': [\n // syntax\n '=======',\n 'recursive',\n 'flushable',\n '>>',\n '<<<<<<',\n 'M\\\\',\n 'B',\n 'PRIVATE>',\n '\\\\',\n '======',\n 'final',\n 'inline',\n 'delimiter',\n 'deprecated',\n '<PRIVATE',\n '>>>>>>',\n '<<<<<<<',\n 'parse-complex',\n 'malformed-complex',\n 'read-only',\n '>>>>>>>',\n 'call-next-method',\n '<<',\n 'foldable', // literals\n '$',\n '$[',\n '${'\n ],\n 'sequences-builtin': [\n 'member-eq?',\n 'mismatch',\n 'append',\n 'assert-sequence=',\n 'longer',\n 'repetition',\n 'clone-like',\n '3sequence',\n 'assert-sequence?',\n 'last-index-from',\n 'reversed',\n 'index-from',\n 'cut*',\n 'pad-tail',\n 'join-as',\n 'remove-eq!',\n 'concat-as',\n 'but-last',\n 'snip',\n 'nths',\n 'nth',\n 'sequence',\n 'longest',\n 'slice?',\n '<slice>',\n 'remove-nth',\n 'tail-slice',\n 'empty?',\n 'tail*',\n 'member?',\n 'virtual-sequence?',\n 'set-length',\n 'drop-prefix',\n 'iota',\n 'unclip',\n 'bounds-error?',\n 'unclip-last-slice',\n 'non-negative-integer-expected',\n 'non-negative-integer-expected?',\n 'midpoint@',\n 'longer?',\n '?set-nth',\n '?first',\n 'rest-slice',\n 'prepend-as',\n 'prepend',\n 'fourth',\n 'sift',\n 'subseq-start',\n 'new-sequence',\n '?last',\n 'like',\n 'first4',\n '1sequence',\n 'reverse',\n 'slice',\n 'virtual@',\n 'repetition?',\n 'set-last',\n 'index',\n '4sequence',\n 'max-length',\n 'set-second',\n 'immutable-sequence',\n 'first2',\n 'first3',\n 'supremum',\n 'unclip-slice',\n 'suffix!',\n 'insert-nth',\n 'tail',\n '3append',\n 'short',\n 'suffix',\n 'concat',\n 'flip',\n 'immutable?',\n 'reverse!',\n '2sequence',\n 'sum',\n 'delete-all',\n 'indices',\n 'snip-slice',\n '<iota>',\n 'check-slice',\n 'sequence?',\n 'head',\n 'append-as',\n 'halves',\n 'sequence=',\n 'collapse-slice',\n '?second',\n 'slice-error?',\n 'product',\n 'bounds-check?',\n 'bounds-check',\n 'immutable',\n 'virtual-exemplar',\n 'harvest',\n 'remove',\n 'pad-head',\n 'last',\n 'set-fourth',\n 'cartesian-product',\n 'remove-eq',\n 'shorten',\n 'shorter',\n 'reversed?',\n 'shorter?',\n 'shortest',\n 'head-slice',\n 'pop*',\n 'tail-slice*',\n 'but-last-slice',\n 'iota?',\n 'append!',\n 'cut-slice',\n 'new-resizable',\n 'head-slice*',\n 'sequence-hashcode',\n 'pop',\n 'set-nth',\n '?nth',\n 'second',\n 'join',\n 'immutable-sequence?',\n '<reversed>',\n '3append-as',\n 'virtual-sequence',\n 'subseq?',\n 'remove-nth!',\n 'length',\n 'last-index',\n 'lengthen',\n 'assert-sequence',\n 'copy',\n 'move',\n 'third',\n 'first',\n 'tail?',\n 'set-first',\n 'prefix',\n 'bounds-error',\n '<repetition>',\n 'exchange',\n 'surround',\n 'cut',\n 'min-length',\n 'set-third',\n 'push-all',\n 'head?',\n 'subseq-start-from',\n 'delete-slice',\n 'rest',\n 'sum-lengths',\n 'head*',\n 'infimum',\n 'remove!',\n 'glue',\n 'slice-error',\n 'subseq',\n 'push',\n 'replace-slice',\n 'subseq-as',\n 'unclip-last'\n ],\n 'math-builtin': [\n 'number=',\n 'next-power-of-2',\n '?1+',\n 'fp-special?',\n 'imaginary-part',\n 'float>bits',\n 'number?',\n 'fp-infinity?',\n 'bignum?',\n 'fp-snan?',\n 'denominator',\n 'gcd',\n '*',\n '+',\n 'fp-bitwise=',\n '-',\n 'u>=',\n '/',\n '>=',\n 'bitand',\n 'power-of-2?',\n 'log2-expects-positive',\n 'neg?',\n '<',\n 'log2',\n '>',\n 'integer?',\n 'number',\n 'bits>double',\n '2/',\n 'zero?',\n 'bits>float',\n 'float?',\n 'shift',\n 'ratio?',\n 'rect>',\n 'even?',\n 'ratio',\n 'fp-sign',\n 'bitnot',\n '>fixnum',\n 'complex?',\n '/i',\n 'integer>fixnum',\n '/f',\n 'sgn',\n '>bignum',\n 'next-float',\n 'u<',\n 'u>',\n 'mod',\n 'recip',\n 'rational',\n '>float',\n '2^',\n 'integer',\n 'fixnum?',\n 'neg',\n 'fixnum',\n 'sq',\n 'bignum',\n '>rect',\n 'bit?',\n 'fp-qnan?',\n 'simple-gcd',\n 'complex',\n '<fp-nan>',\n 'real',\n '>fraction',\n 'double>bits',\n 'bitor',\n 'rem',\n 'fp-nan-payload',\n 'real-part',\n 'log2-expects-positive?',\n 'prev-float',\n 'align',\n 'unordered?',\n 'float',\n 'fp-nan?',\n 'abs',\n 'bitxor',\n 'integer>fixnum-strict',\n 'u<=',\n 'odd?',\n '<=',\n '/mod',\n '>integer',\n 'real?',\n 'rational?',\n 'numerator'\n ] // that's all for now\n }\n Object.keys(builtins).forEach(function (k) {\n factor[k].pattern = arrToWordsRegExp(builtins[k])\n })\n var combinators = [\n // kernel\n '2bi',\n 'while',\n '2tri',\n 'bi*',\n '4dip',\n 'both?',\n 'same?',\n 'tri@',\n 'curry',\n 'prepose',\n '3bi',\n '?if',\n 'tri*',\n '2keep',\n '3keep',\n 'curried',\n '2keepd',\n 'when',\n '2bi*',\n '2tri*',\n '4keep',\n 'bi@',\n 'keepdd',\n 'do',\n 'unless*',\n 'tri-curry',\n 'if*',\n 'loop',\n 'bi-curry*',\n 'when*',\n '2bi@',\n '2tri@',\n 'with',\n '2with',\n 'either?',\n 'bi',\n 'until',\n '3dip',\n '3curry',\n 'tri-curry*',\n 'tri-curry@',\n 'bi-curry',\n 'keepd',\n 'compose',\n '2dip',\n 'if',\n '3tri',\n 'unless',\n 'tuple',\n 'keep',\n '2curry',\n 'tri',\n 'most',\n 'while*',\n 'dip',\n 'composed',\n 'bi-curry@', // sequences\n 'find-last-from',\n 'trim-head-slice',\n 'map-as',\n 'each-from',\n 'none?',\n 'trim-tail',\n 'partition',\n 'if-empty',\n 'accumulate*',\n 'reject!',\n 'find-from',\n 'accumulate-as',\n 'collector-for-as',\n 'reject',\n 'map',\n 'map-sum',\n 'accumulate!',\n '2each-from',\n 'follow',\n 'supremum-by',\n 'map!',\n 'unless-empty',\n 'collector',\n 'padding',\n 'reduce-index',\n 'replicate-as',\n 'infimum-by',\n 'trim-tail-slice',\n 'count',\n 'find-index',\n 'filter',\n 'accumulate*!',\n 'reject-as',\n 'map-integers',\n 'map-find',\n 'reduce',\n 'selector',\n 'interleave',\n '2map',\n 'filter-as',\n 'binary-reduce',\n 'map-index-as',\n 'find',\n 'produce',\n 'filter!',\n 'replicate',\n 'cartesian-map',\n 'cartesian-each',\n 'find-index-from',\n 'map-find-last',\n '3map-as',\n '3map',\n 'find-last',\n 'selector-as',\n '2map-as',\n '2map-reduce',\n 'accumulate',\n 'each',\n 'each-index',\n 'accumulate*-as',\n 'when-empty',\n 'all?',\n 'collector-as',\n 'push-either',\n 'new-like',\n 'collector-for',\n '2selector',\n 'push-if',\n '2all?',\n 'map-reduce',\n '3each',\n 'any?',\n 'trim-slice',\n '2reduce',\n 'change-nth',\n 'produce-as',\n '2each',\n 'trim',\n 'trim-head',\n 'cartesian-find',\n 'map-index', // math\n 'if-zero',\n 'each-integer',\n 'unless-zero',\n '(find-integer)',\n 'when-zero',\n 'find-last-integer',\n '(all-integers?)',\n 'times',\n '(each-integer)',\n 'find-integer',\n 'all-integers?', // math.combinators\n 'unless-negative',\n 'if-positive',\n 'when-positive',\n 'when-negative',\n 'unless-positive',\n 'if-negative', // combinators\n 'case',\n '2cleave',\n 'cond>quot',\n 'case>quot',\n '3cleave',\n 'wrong-values',\n 'to-fixed-point',\n 'alist>quot',\n 'cond',\n 'cleave',\n 'call-effect',\n 'recursive-hashcode',\n 'spread',\n 'deep-spread>quot', // combinators.short-circuit\n '2||',\n '0||',\n 'n||',\n '0&&',\n '2&&',\n '3||',\n '1||',\n '1&&',\n 'n&&',\n '3&&', // combinators.smart\n 'smart-unless*',\n 'keep-inputs',\n 'reduce-outputs',\n 'smart-when*',\n 'cleave>array',\n 'smart-with',\n 'smart-apply',\n 'smart-if',\n 'inputs/outputs',\n 'output>sequence-n',\n 'map-outputs',\n 'map-reduce-outputs',\n 'dropping',\n 'output>array',\n 'smart-map-reduce',\n 'smart-2map-reduce',\n 'output>array-n',\n 'nullary',\n 'input<sequence',\n 'append-outputs',\n 'drop-inputs',\n 'inputs',\n 'smart-2reduce',\n 'drop-outputs',\n 'smart-reduce',\n 'preserving',\n 'smart-when',\n 'outputs',\n 'append-outputs-as',\n 'smart-unless',\n 'smart-if*',\n 'sum-outputs',\n 'input<sequence-unsafe',\n 'output>sequence' // tafn\n ]\n factor.combinators.pattern = arrToWordsRegExp(combinators)\n Prism.languages.factor = factor\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = $false\n$false.displayName = '$false'\n$false.aliases = []\nfunction $false(Prism) {\n ;(function (Prism) {\n /**\n * Based on the manual by Wouter van Oortmerssen.\n *\n * @see {@link https://github.com/PrismJS/prism/issues/2801#issue-829717504}\n */\n Prism.languages['false'] = {\n comment: {\n pattern: /\\{[^}]*\\}/\n },\n string: {\n pattern: /\"[^\"]*\"/,\n greedy: true\n },\n 'character-code': {\n pattern: /'(?:[^\\r]|\\r\\n?)/,\n alias: 'number'\n },\n 'assembler-code': {\n pattern: /\\d+`/,\n alias: 'important'\n },\n number: /\\d+/,\n operator: /[-!#$%&'*+,./:;=>?@\\\\^_`|~ßø]/,\n punctuation: /\\[|\\]/,\n variable: /[a-z]/,\n 'non-standard': {\n pattern: /[()<BDO®]/,\n alias: 'bold'\n }\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = firestoreSecurityRules\nfirestoreSecurityRules.displayName = 'firestoreSecurityRules'\nfirestoreSecurityRules.aliases = []\nfunction firestoreSecurityRules(Prism) {\n Prism.languages['firestore-security-rules'] = Prism.languages.extend(\n 'clike',\n {\n comment: /\\/\\/.*/,\n keyword:\n /\\b(?:allow|function|if|match|null|return|rules_version|service)\\b/,\n operator: /&&|\\|\\||[<>!=]=?|[-+*/%]|\\b(?:in|is)\\b/\n }\n )\n delete Prism.languages['firestore-security-rules']['class-name']\n Prism.languages.insertBefore('firestore-security-rules', 'keyword', {\n path: {\n pattern:\n /(^|[\\s(),])(?:\\/(?:[\\w\\xA0-\\uFFFF]+|\\{[\\w\\xA0-\\uFFFF]+(?:=\\*\\*)?\\}|\\$\\([\\w\\xA0-\\uFFFF.]+\\)))+/,\n lookbehind: true,\n greedy: true,\n inside: {\n variable: {\n pattern: /\\{[\\w\\xA0-\\uFFFF]+(?:=\\*\\*)?\\}|\\$\\([\\w\\xA0-\\uFFFF.]+\\)/,\n inside: {\n operator: /=/,\n keyword: /\\*\\*/,\n punctuation: /[.$(){}]/\n }\n },\n punctuation: /\\//\n }\n },\n method: {\n // to make the pattern shorter, the actual method names are omitted\n pattern: /(\\ballow\\s+)[a-z]+(?:\\s*,\\s*[a-z]+)*(?=\\s*[:;])/,\n lookbehind: true,\n alias: 'builtin',\n inside: {\n punctuation: /,/\n }\n }\n })\n}\n","'use strict'\n\nmodule.exports = flow\nflow.displayName = 'flow'\nflow.aliases = []\nfunction flow(Prism) {\n ;(function (Prism) {\n Prism.languages.flow = Prism.languages.extend('javascript', {})\n Prism.languages.insertBefore('flow', 'keyword', {\n type: [\n {\n pattern:\n /\\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|any|mixed|null|void)\\b/,\n alias: 'tag'\n }\n ]\n })\n Prism.languages.flow['function-variable'].pattern =\n /(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=\\s*(?:function\\b|(?:\\([^()]*\\)(?:\\s*:\\s*\\w+)?|(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/i\n delete Prism.languages.flow['parameter']\n Prism.languages.insertBefore('flow', 'operator', {\n 'flow-punctuation': {\n pattern: /\\{\\||\\|\\}/,\n alias: 'punctuation'\n }\n })\n if (!Array.isArray(Prism.languages.flow.keyword)) {\n Prism.languages.flow.keyword = [Prism.languages.flow.keyword]\n }\n Prism.languages.flow.keyword.unshift(\n {\n pattern: /(^|[^$]\\b)(?:Class|declare|opaque|type)\\b(?!\\$)/,\n lookbehind: true\n },\n {\n pattern:\n /(^|[^$]\\B)\\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\\b(?!\\$)/,\n lookbehind: true\n }\n )\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = fortran\nfortran.displayName = 'fortran'\nfortran.aliases = []\nfunction fortran(Prism) {\n Prism.languages.fortran = {\n 'quoted-number': {\n pattern: /[BOZ](['\"])[A-F0-9]+\\1/i,\n alias: 'number'\n },\n string: {\n pattern:\n /(?:\\b\\w+_)?(['\"])(?:\\1\\1|&(?:\\r\\n?|\\n)(?:[ \\t]*!.*(?:\\r\\n?|\\n)|(?![ \\t]*!))|(?!\\1).)*(?:\\1|&)/,\n inside: {\n comment: {\n pattern: /(&(?:\\r\\n?|\\n)\\s*)!.*/,\n lookbehind: true\n }\n }\n },\n comment: {\n pattern: /!.*/,\n greedy: true\n },\n boolean: /\\.(?:FALSE|TRUE)\\.(?:_\\w+)?/i,\n number: /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[ED][+-]?\\d+)?(?:_\\w+)?/i,\n keyword: [\n // Types\n /\\b(?:CHARACTER|COMPLEX|DOUBLE ?PRECISION|INTEGER|LOGICAL|REAL)\\b/i, // END statements\n /\\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\\b/i, // Statements\n /\\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\\b/i, // Others\n /\\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEIF|ELSEWHERE|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\\b/i\n ],\n operator: [\n /\\*\\*|\\/\\/|=>|[=\\/]=|[<>]=?|::|[+\\-*=%]|\\.[A-Z]+\\./i,\n {\n // Use lookbehind to prevent confusion with (/ /)\n pattern: /(^|(?!\\().)\\/(?!\\))/,\n lookbehind: true\n }\n ],\n punctuation: /\\(\\/|\\/\\)|[(),;:&]/\n }\n}\n","'use strict'\n\nmodule.exports = fsharp\nfsharp.displayName = 'fsharp'\nfsharp.aliases = []\nfunction fsharp(Prism) {\n Prism.languages.fsharp = Prism.languages.extend('clike', {\n comment: [\n {\n pattern: /(^|[^\\\\])\\(\\*(?!\\))[\\s\\S]*?\\*\\)/,\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n string: {\n pattern: /(?:\"\"\"[\\s\\S]*?\"\"\"|@\"(?:\"\"|[^\"])*\"|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")B?/,\n greedy: true\n },\n 'class-name': {\n pattern:\n /(\\b(?:exception|inherit|interface|new|of|type)\\s+|\\w\\s*:\\s*|\\s:\\??>\\s*)[.\\w]+\\b(?:\\s*(?:->|\\*)\\s*[.\\w]+\\b)*(?!\\s*[:.])/,\n lookbehind: true,\n inside: {\n operator: /->|\\*/,\n punctuation: /\\./\n }\n },\n keyword:\n /\\b(?:let|return|use|yield)(?:!\\B|\\b)|\\b(?:abstract|and|as|asr|assert|atomic|base|begin|break|checked|class|component|const|constraint|constructor|continue|default|delegate|do|done|downcast|downto|eager|elif|else|end|event|exception|extern|external|false|finally|fixed|for|fun|function|functor|global|if|in|include|inherit|inline|interface|internal|land|lazy|lor|lsl|lsr|lxor|match|member|method|mixin|mod|module|mutable|namespace|new|not|null|object|of|open|or|override|parallel|private|process|protected|public|pure|rec|sealed|select|sig|static|struct|tailcall|then|to|trait|true|try|type|upcast|val|virtual|void|volatile|when|while|with)\\b/,\n number: [\n /\\b0x[\\da-fA-F]+(?:LF|lf|un)?\\b/,\n /\\b0b[01]+(?:uy|y)?\\b/,\n /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[fm]|e[+-]?\\d+)?\\b/i,\n /\\b\\d+(?:[IlLsy]|UL|u[lsy]?)?\\b/\n ],\n operator:\n /([<>~&^])\\1\\1|([*.:<>&])\\2|<-|->|[!=:]=|<?\\|{1,3}>?|\\??(?:<=|>=|<>|[-+*/%=<>])\\??|[!?^&]|~[+~-]|:>|:\\?>?/\n })\n Prism.languages.insertBefore('fsharp', 'keyword', {\n preprocessor: {\n pattern: /(^[\\t ]*)#.*/m,\n lookbehind: true,\n alias: 'property',\n inside: {\n directive: {\n pattern: /(^#)\\b(?:else|endif|if|light|line|nowarn)\\b/,\n lookbehind: true,\n alias: 'keyword'\n }\n }\n }\n })\n Prism.languages.insertBefore('fsharp', 'punctuation', {\n 'computation-expression': {\n pattern: /\\b[_a-z]\\w*(?=\\s*\\{)/i,\n alias: 'keyword'\n }\n })\n Prism.languages.insertBefore('fsharp', 'string', {\n annotation: {\n pattern: /\\[<.+?>\\]/,\n greedy: true,\n inside: {\n punctuation: /^\\[<|>\\]$/,\n 'class-name': {\n pattern: /^\\w+$|(^|;\\s*)[A-Z]\\w*(?=\\()/,\n lookbehind: true\n },\n 'annotation-content': {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.fsharp\n }\n }\n },\n char: {\n pattern:\n /'(?:[^\\\\']|\\\\(?:.|\\d{3}|x[a-fA-F\\d]{2}|u[a-fA-F\\d]{4}|U[a-fA-F\\d]{8}))'B?/,\n greedy: true\n }\n })\n}\n","'use strict'\nvar refractorMarkupTemplating = require('./markup-templating.js')\nmodule.exports = ftl\nftl.displayName = 'ftl'\nftl.aliases = []\nfunction ftl(Prism) {\n Prism.register(refractorMarkupTemplating)\n ;(function (Prism) {\n // https://freemarker.apache.org/docs/dgui_template_exp.html\n // FTL expression with 4 levels of nesting supported\n var FTL_EXPR =\n /[^<()\"']|\\((?:<expr>)*\\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|\"(?:[^\\\\\"]|\\\\.)*\"|'(?:[^\\\\']|\\\\.)*'/\n .source\n for (var i = 0; i < 2; i++) {\n FTL_EXPR = FTL_EXPR.replace(/<expr>/g, function () {\n return FTL_EXPR\n })\n }\n FTL_EXPR = FTL_EXPR.replace(/<expr>/g, /[^\\s\\S]/.source)\n var ftl = {\n comment: /<#--[\\s\\S]*?-->/,\n string: [\n {\n // raw string\n pattern: /\\br(\"|')(?:(?!\\1)[^\\\\]|\\\\.)*\\1/,\n greedy: true\n },\n {\n pattern: RegExp(\n /(\"|')(?:(?!\\1|\\$\\{)[^\\\\]|\\\\.|\\$\\{(?:(?!\\})(?:<expr>))*\\})*\\1/.source.replace(\n /<expr>/g,\n function () {\n return FTL_EXPR\n }\n )\n ),\n greedy: true,\n inside: {\n interpolation: {\n pattern: RegExp(\n /((?:^|[^\\\\])(?:\\\\\\\\)*)\\$\\{(?:(?!\\})(?:<expr>))*\\}/.source.replace(\n /<expr>/g,\n function () {\n return FTL_EXPR\n }\n )\n ),\n lookbehind: true,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^\\$\\{|\\}$/,\n alias: 'punctuation'\n },\n rest: null\n }\n }\n }\n }\n ],\n keyword: /\\b(?:as)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n 'builtin-function': {\n pattern: /((?:^|[^?])\\?\\s*)\\w+/,\n lookbehind: true,\n alias: 'function'\n },\n function: /\\b\\w+(?=\\s*\\()/,\n number: /\\b\\d+(?:\\.\\d+)?\\b/,\n operator:\n /\\.\\.[<*!]?|->|--|\\+\\+|&&|\\|\\||\\?{1,2}|[-+*/%!=<>]=?|\\b(?:gt|gte|lt|lte)\\b/,\n punctuation: /[,;.:()[\\]{}]/\n }\n ftl.string[1].inside.interpolation.inside.rest = ftl\n Prism.languages.ftl = {\n 'ftl-comment': {\n // the pattern is shortened to be more efficient\n pattern: /^<#--[\\s\\S]*/,\n alias: 'comment'\n },\n 'ftl-directive': {\n pattern: /^<[\\s\\S]+>$/,\n inside: {\n directive: {\n pattern: /(^<\\/?)[#@][a-z]\\w*/i,\n lookbehind: true,\n alias: 'keyword'\n },\n punctuation: /^<\\/?|\\/?>$/,\n content: {\n pattern: /\\s*\\S[\\s\\S]*/,\n alias: 'ftl',\n inside: ftl\n }\n }\n },\n 'ftl-interpolation': {\n pattern: /^\\$\\{[\\s\\S]*\\}$/,\n inside: {\n punctuation: /^\\$\\{|\\}$/,\n content: {\n pattern: /\\s*\\S[\\s\\S]*/,\n alias: 'ftl',\n inside: ftl\n }\n }\n }\n }\n Prism.hooks.add('before-tokenize', function (env) {\n // eslint-disable-next-line regexp/no-useless-lazy\n var pattern = RegExp(\n /<#--[\\s\\S]*?-->|<\\/?[#@][a-zA-Z](?:<expr>)*?>|\\$\\{(?:<expr>)*?\\}/.source.replace(\n /<expr>/g,\n function () {\n return FTL_EXPR\n }\n ),\n 'gi'\n )\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'ftl',\n pattern\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'ftl')\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = gap\ngap.displayName = 'gap'\ngap.aliases = []\nfunction gap(Prism) {\n // https://www.gap-system.org/Manuals/doc/ref/chap4.html\n // https://www.gap-system.org/Manuals/doc/ref/chap27.html\n Prism.languages.gap = {\n shell: {\n pattern: /^gap>[\\s\\S]*?(?=^gap>|$(?![\\s\\S]))/m,\n greedy: true,\n inside: {\n gap: {\n pattern: /^(gap>).+(?:(?:\\r(?:\\n|(?!\\n))|\\n)>.*)*/,\n lookbehind: true,\n inside: null // see below\n },\n punctuation: /^gap>/\n }\n },\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n string: {\n pattern:\n /(^|[^\\\\'\"])(?:'(?:[^\\r\\n\\\\']|\\\\.){1,10}'|\"(?:[^\\r\\n\\\\\"]|\\\\.)*\"(?!\")|\"\"\"[\\s\\S]*?\"\"\")/,\n lookbehind: true,\n greedy: true,\n inside: {\n continuation: {\n pattern: /([\\r\\n])>/,\n lookbehind: true,\n alias: 'punctuation'\n }\n }\n },\n keyword:\n /\\b(?:Assert|Info|IsBound|QUIT|TryNextMethod|Unbind|and|atomic|break|continue|do|elif|else|end|fi|for|function|if|in|local|mod|not|od|or|quit|readonly|readwrite|rec|repeat|return|then|until|while)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n number: {\n pattern:\n /(^|[^\\w.]|\\.\\.)(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?(?:_[a-z]?)?(?=$|[^\\w.]|\\.\\.)/,\n lookbehind: true\n },\n continuation: {\n pattern: /([\\r\\n])>/,\n lookbehind: true,\n alias: 'punctuation'\n },\n operator: /->|[-+*/^~=!]|<>|[<>]=?|:=|\\.\\./,\n punctuation: /[()[\\]{},;.:]/\n }\n Prism.languages.gap.shell.inside.gap.inside = Prism.languages.gap\n}\n","'use strict'\n\nmodule.exports = gcode\ngcode.displayName = 'gcode'\ngcode.aliases = []\nfunction gcode(Prism) {\n Prism.languages.gcode = {\n comment: /;.*|\\B\\(.*?\\)\\B/,\n string: {\n pattern: /\"(?:\"\"|[^\"])*\"/,\n greedy: true\n },\n keyword: /\\b[GM]\\d+(?:\\.\\d+)?\\b/,\n property: /\\b[A-Z]/,\n checksum: {\n pattern: /(\\*)\\d+/,\n lookbehind: true,\n alias: 'number'\n },\n // T0:0:0\n punctuation: /[:*]/\n }\n}\n","'use strict'\n\nmodule.exports = gdscript\ngdscript.displayName = 'gdscript'\ngdscript.aliases = []\nfunction gdscript(Prism) {\n Prism.languages.gdscript = {\n comment: /#.*/,\n string: {\n pattern:\n /@?(?:(\"|')(?:(?!\\1)[^\\n\\\\]|\\\\[\\s\\S])*\\1(?!\"|')|\"\"\"(?:[^\\\\]|\\\\[\\s\\S])*?\"\"\")/,\n greedy: true\n },\n 'class-name': {\n // class_name Foo, extends Bar, class InnerClass\n // export(int) var baz, export(int, 0) var i\n // as Node\n // const FOO: int = 9, var bar: bool = true\n // func add(reference: Item, amount: int) -> Item:\n pattern:\n /(^(?:class|class_name|extends)[ \\t]+|^export\\([ \\t]*|\\bas[ \\t]+|(?:\\b(?:const|var)[ \\t]|[,(])[ \\t]*\\w+[ \\t]*:[ \\t]*|->[ \\t]*)[a-zA-Z_]\\w*/m,\n lookbehind: true\n },\n keyword:\n /\\b(?:and|as|assert|break|breakpoint|class|class_name|const|continue|elif|else|enum|export|extends|for|func|if|in|is|master|mastersync|match|not|null|onready|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|signal|static|tool|var|while|yield)\\b/,\n function: /\\b[a-z_]\\w*(?=[ \\t]*\\()/i,\n variable: /\\$\\w+/,\n number: [\n /\\b0b[01_]+\\b|\\b0x[\\da-fA-F_]+\\b|(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.[\\d_]+)(?:e[+-]?[\\d_]+)?\\b/,\n /\\b(?:INF|NAN|PI|TAU)\\b/\n ],\n constant: /\\b[A-Z][A-Z_\\d]*\\b/,\n boolean: /\\b(?:false|true)\\b/,\n operator: /->|:=|&&|\\|\\||<<|>>|[-+*/%&|!<>=]=?|[~^]/,\n punctuation: /[.:,;()[\\]{}]/\n }\n}\n","'use strict'\n\nmodule.exports = gedcom\ngedcom.displayName = 'gedcom'\ngedcom.aliases = []\nfunction gedcom(Prism) {\n Prism.languages.gedcom = {\n 'line-value': {\n // Preceded by level, optional pointer, and tag\n pattern:\n /(^[\\t ]*\\d+ +(?:@\\w[\\w!\"$%&'()*+,\\-./:;<=>?[\\\\\\]^`{|}~\\x80-\\xfe #]*@ +)?\\w+ ).+/m,\n lookbehind: true,\n inside: {\n pointer: {\n pattern: /^@\\w[\\w!\"$%&'()*+,\\-./:;<=>?[\\\\\\]^`{|}~\\x80-\\xfe #]*@$/,\n alias: 'variable'\n }\n }\n },\n tag: {\n // Preceded by level and optional pointer\n pattern:\n /(^[\\t ]*\\d+ +(?:@\\w[\\w!\"$%&'()*+,\\-./:;<=>?[\\\\\\]^`{|}~\\x80-\\xfe #]*@ +)?)\\w+/m,\n lookbehind: true,\n alias: 'string'\n },\n level: {\n pattern: /(^[\\t ]*)\\d+/m,\n lookbehind: true,\n alias: 'number'\n },\n pointer: {\n pattern: /@\\w[\\w!\"$%&'()*+,\\-./:;<=>?[\\\\\\]^`{|}~\\x80-\\xfe #]*@/,\n alias: 'variable'\n }\n }\n}\n","'use strict'\n\nmodule.exports = gherkin\ngherkin.displayName = 'gherkin'\ngherkin.aliases = []\nfunction gherkin(Prism) {\n ;(function (Prism) {\n var tableRow = /(?:\\r?\\n|\\r)[ \\t]*\\|.+\\|(?:(?!\\|).)*/.source\n Prism.languages.gherkin = {\n pystring: {\n pattern: /(\"\"\"|''')[\\s\\S]+?\\1/,\n alias: 'string'\n },\n comment: {\n pattern: /(^[ \\t]*)#.*/m,\n lookbehind: true\n },\n tag: {\n pattern: /(^[ \\t]*)@\\S*/m,\n lookbehind: true\n },\n feature: {\n pattern:\n /((?:^|\\r?\\n|\\r)[ \\t]*)(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Característica|Egenskab|Egenskap|Eiginleiki|Feature|Fīča|Fitur|Fonctionnalité|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Funcţionalitate|Funcționalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalitāte|Funkcionalnost|Funkcja|Funksie|Funktionalität|Funktionalitéit|Funzionalità|Hwaet|Hwæt|Jellemző|Karakteristik|Lastnost|Mak|Mogucnost|laH|Mogućnost|Moznosti|Možnosti|OH HAI|Omadus|Ominaisuus|Osobina|Özellik|Potrzeba biznesowa|perbogh|poQbogh malja'|Požadavek|Požiadavka|Pretty much|Qap|Qu'meH 'ut|Savybė|Tính năng|Trajto|Vermoë|Vlastnosť|Właściwość|Značilnost|Δυνατότητα|Λειτουργία|Могућност|Мөмкинлек|Особина|Свойство|Үзенчәлеклелек|Функционал|Функционалност|Функция|Функціонал|תכונה|خاصية|خصوصیت|صلاحیت|کاروبار کی ضرورت|وِیژگی|रूप लेख|ਖਾਸੀਅਤ|ਨਕਸ਼ ਨੁਹਾਰ|ਮੁਹਾਂਦਰਾ|గుణము|ಹೆಚ್ಚಳ|ความต้องการทางธุรกิจ|ความสามารถ|โครงหลัก|기능|フィーチャ|功能|機能):(?:[^:\\r\\n]+(?:\\r?\\n|\\r|$))*/,\n lookbehind: true,\n inside: {\n important: {\n pattern: /(:)[^\\r\\n]+/,\n lookbehind: true\n },\n keyword: /[^:\\r\\n]+:/\n }\n },\n scenario: {\n pattern:\n /(^[ \\t]*)(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|Ær|Agtergrond|All y'all|Antecedentes|Antecedents|Atburðarás|Atburðarásir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|Bối cảnh|Cefndir|Cenario|Cenário|Cenario de Fundo|Cenário de Fundo|Cenarios|Cenários|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|Dæmi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delineação do Cenário|Dis is what went down|Dữ liệu|Dyagram Senaryo|Dyagram senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cenário|EXAMPLZ|Examples|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgatókönyv|Forgatókönyv vázlat|Fundo|Geçmiş|Grundlage|Hannergrond|ghantoH|Háttér|Heave to|Istorik|Juhtumid|Keadaan|Khung kịch bản|Khung tình huống|Kịch bản|Koncept|Konsep skenario|Kontèks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut chovnatlh|lut|lutmey|Lýsing Atburðarásar|Lýsing Dæma|MISHUN SRSLY|MISHUN|Menggariskan Senario|mo'|Náčrt Scenára|Náčrt Scénáře|Náčrt Scenáru|Oris scenarija|Örnekler|Osnova|Osnova Scenára|Osnova scénáře|Osnutek|Ozadje|Paraugs|Pavyzdžiai|Példák|Piemēri|Plan du scénario|Plan du Scénario|Plan Senaryo|Plan senaryo|Plang vum Szenario|Pozadí|Pozadie|Pozadina|Príklady|Příklady|Primer|Primeri|Primjeri|Przykłady|Raamstsenaarium|Reckon it's like|Rerefons|Scenár|Scénář|Scenarie|Scenarij|Scenarijai|Scenarijaus šablonas|Scenariji|Scenārijs|Scenārijs pēc parauga|Scenarijus|Scenario|Scénario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se ðe|Se the|Se þe|Senario|Senaryo Deskripsyon|Senaryo deskripsyon|Senaryo|Senaryo taslağı|Shiver me timbers|Situācija|Situai|Situasie Uiteensetting|Situasie|Skenario konsep|Skenario|Skica|Structura scenariu|Structură scenariu|Struktura scenarija|Stsenaarium|Swa hwaer swa|Swa|Swa hwær swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|Tình huống|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo-ho-ho|You'll wanna|Założenia|Παραδείγματα|Περιγραφή Σεναρίου|Σενάρια|Σενάριο|Υπόβαθρο|Кереш|Контекст|Концепт|Мисаллар|Мисоллар|Основа|Передумова|Позадина|Предистория|Предыстория|Приклади|Пример|Примери|Примеры|Рамка на сценарий|Скица|Структура сценарија|Структура сценария|Структура сценарію|Сценарий|Сценарий структураси|Сценарийның төзелеше|Сценарији|Сценарио|Сценарій|Тарих|Үрнәкләр|דוגמאות|רקע|תבנית תרחיש|תרחיש|الخلفية|الگوی سناریو|امثلة|پس منظر|زمینه|سناریو|سيناريو|سيناريو مخطط|مثالیں|منظر نامے کا خاکہ|منظرنامہ|نمونه ها|उदाहरण|परिदृश्य|परिदृश्य रूपरेखा|पृष्ठभूमि|ਉਦਾਹਰਨਾਂ|ਪਟਕਥਾ|ਪਟਕਥਾ ਢਾਂਚਾ|ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ|ਪਿਛੋਕੜ|ఉదాహరణలు|కథనం|నేపథ్యం|సన్నివేశం|ಉದಾಹರಣೆಗಳು|ಕಥಾಸಾರಾಂಶ|ವಿವರಣೆ|ಹಿನ್ನೆಲೆ|โครงสร้างของเหตุการณ์|ชุดของตัวอย่าง|ชุดของเหตุการณ์|แนวคิด|สรุปเหตุการณ์|เหตุการณ์|배경|시나리오|시나리오 개요|예|サンプル|シナリオ|シナリオアウトライン|シナリオテンプレ|シナリオテンプレート|テンプレ|例|例子|剧本|剧本大纲|劇本|劇本大綱|场景|场景大纲|場景|場景大綱|背景):[^:\\r\\n]*/m,\n lookbehind: true,\n inside: {\n important: {\n pattern: /(:)[^\\r\\n]*/,\n lookbehind: true\n },\n keyword: /[^:\\r\\n]+:/\n }\n },\n 'table-body': {\n // Look-behind is used to skip the table head, which has the same format as any table row\n pattern: RegExp('(' + tableRow + ')(?:' + tableRow + ')+'),\n lookbehind: true,\n inside: {\n outline: {\n pattern: /<[^>]+>/,\n alias: 'variable'\n },\n td: {\n pattern: /\\s*[^\\s|][^|]*/,\n alias: 'string'\n },\n punctuation: /\\|/\n }\n },\n 'table-head': {\n pattern: RegExp(tableRow),\n inside: {\n th: {\n pattern: /\\s*[^\\s|][^|]*/,\n alias: 'variable'\n },\n punctuation: /\\|/\n }\n },\n atrule: {\n pattern:\n /(^[ \\t]+)(?:'a|'ach|'ej|7|a|A také|A taktiež|A tiež|A zároveň|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|Atès|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Biết|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|Când|Cand|Cando|Ce|Cuando|Če|Ða ðe|Ða|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Daţi fiind|Dați fiind|DEN|Dato|De|Den youse gotta|Dengan|Diberi|Diyelim ki|Donada|Donat|Donitaĵo|Do|Dun|Duota|Ðurh|Eeldades|Ef|Eğer ki|Entao|Então|Entón|E|En|Entonces|Epi|És|Etant donnée|Etant donné|Et|Étant données|Étant donnée|Étant donné|Etant données|Etant donnés|Étant donnés|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Jeśli|Jeżeli|Kad|Kada|Kadar|Kai|Kaj|Když|Keď|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|Lè sa a|Lè|Logo|Lorsqu'<|Lorsque|mä|Maar|Mais|Mając|Ma|Majd|Maka|Manawa|Mas|Men|Menawa|Mutta|Nalika|Nalikaning|Nanging|Når|När|Nato|Nhưng|Niin|Njuk|O zaman|Och|Og|Oletetaan|Ond|Onda|Oraz|Pak|Pero|Però|Podano|Pokiaľ|Pokud|Potem|Potom|Privzeto|Pryd|Quan|Quand|Quando|qaSDI'|Så|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|Şi|Și|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Thì|Thurh|Toda|Too right|Un|Und|ugeholl|Và|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za předpokladu|Zadan|Zadani|Zadano|Zadate|Zadato|Zakładając|Zaradi|Zatati|Þa þe|Þa|Þá|Þegar|Þurh|Αλλά|Δεδομένου|Και|Όταν|Τότε|А також|Агар|Але|Али|Аммо|А|Әгәр|Әйтик|Әмма|Бирок|Ва|Вә|Дадено|Дано|Допустим|Если|Задате|Задати|Задато|И|І|К тому же|Када|Кад|Когато|Когда|Коли|Ләкин|Лекин|Нәтиҗәдә|Нехай|Но|Онда|Припустимо, що|Припустимо|Пусть|Также|Та|Тогда|Тоді|То|Унда|Һәм|Якщо|אבל|אזי|אז|בהינתן|וגם|כאשר|آنگاه|اذاً|اگر|اما|اور|با فرض|بالفرض|بفرض|پھر|تب|ثم|جب|عندما|فرض کیا|لكن|لیکن|متى|هنگامی|و|अगर|और|कदा|किन्तु|चूंकि|जब|तथा|तदा|तब|परन्तु|पर|यदि|ਅਤੇ|ਜਦੋਂ|ਜਿਵੇਂ ਕਿ|ਜੇਕਰ|ਤਦ|ਪਰ|అప్పుడు|ఈ పరిస్థితిలో|కాని|చెప్పబడినది|మరియు|ಆದರೆ|ನಂತರ|ನೀಡಿದ|ಮತ್ತು|ಸ್ಥಿತಿಯನ್ನು|กำหนดให้|ดังนั้น|แต่|เมื่อ|และ|그러면<|그리고<|단<|만약<|만일<|먼저<|조건<|하지만<|かつ<|しかし<|ただし<|ならば<|もし<|並且<|但し<|但是<|假如<|假定<|假設<|假设<|前提<|同时<|同時<|并且<|当<|當<|而且<|那么<|那麼<)(?=[ \\t])/m,\n lookbehind: true\n },\n string: {\n pattern: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|'(?:\\\\.|[^'\\\\\\r\\n])*'/,\n inside: {\n outline: {\n pattern: /<[^>]+>/,\n alias: 'variable'\n }\n }\n },\n outline: {\n pattern: /<[^>]+>/,\n alias: 'variable'\n }\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = git\ngit.displayName = 'git'\ngit.aliases = []\nfunction git(Prism) {\n Prism.languages.git = {\n /*\n * A simple one line comment like in a git status command\n * For instance:\n * $ git status\n * # On branch infinite-scroll\n * # Your branch and 'origin/sharedBranches/frontendTeam/infinite-scroll' have diverged,\n * # and have 1 and 2 different commits each, respectively.\n * nothing to commit (working directory clean)\n */\n comment: /^#.*/m,\n /*\n * Regexp to match the changed lines in a git diff output. Check the example below.\n */\n deleted: /^[-–].*/m,\n inserted: /^\\+.*/m,\n /*\n * a string (double and simple quote)\n */\n string: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n /*\n * a git command. It starts with a random prompt finishing by a $, then \"git\" then some other parameters\n * For instance:\n * $ git add file.txt\n */\n command: {\n pattern: /^.*\\$ git .*$/m,\n inside: {\n /*\n * A git command can contain a parameter starting by a single or a double dash followed by a string\n * For instance:\n * $ git diff --cached\n * $ git log -p\n */\n parameter: /\\s--?\\w+/\n }\n },\n /*\n * Coordinates displayed in a git diff command\n * For instance:\n * $ git diff\n * diff --git file.txt file.txt\n * index 6214953..1d54a52 100644\n * --- file.txt\n * +++ file.txt\n * @@ -1 +1,2 @@\n * -Here's my tetx file\n * +Here's my text file\n * +And this is the second line\n */\n coord: /^@@.*@@$/m,\n /*\n * Match a \"commit [SHA1]\" line in a git log output.\n * For instance:\n * $ git log\n * commit a11a14ef7e26f2ca62d4b35eac455ce636d0dc09\n * Author: lgiraudel\n * Date: Mon Feb 17 11:18:34 2014 +0100\n *\n * Add of a new line\n */\n 'commit-sha1': /^commit \\w{40}$/m\n }\n}\n","'use strict'\nvar refractorC = require('./c.js')\nmodule.exports = glsl\nglsl.displayName = 'glsl'\nglsl.aliases = []\nfunction glsl(Prism) {\n Prism.register(refractorC)\n Prism.languages.glsl = Prism.languages.extend('c', {\n keyword:\n /\\b(?:active|asm|atomic_uint|attribute|[ibdu]?vec[234]|bool|break|buffer|case|cast|centroid|class|coherent|common|const|continue|d?mat[234](?:x[234])?|default|discard|do|double|else|enum|extern|external|false|filter|fixed|flat|float|for|fvec[234]|goto|half|highp|hvec[234]|[iu]?sampler2DMS(?:Array)?|[iu]?sampler2DRect|[iu]?samplerBuffer|[iu]?samplerCube|[iu]?samplerCubeArray|[iu]?sampler[123]D|[iu]?sampler[12]DArray|[iu]?image2DMS(?:Array)?|[iu]?image2DRect|[iu]?imageBuffer|[iu]?imageCube|[iu]?imageCubeArray|[iu]?image[123]D|[iu]?image[12]DArray|if|in|inline|inout|input|int|interface|invariant|layout|long|lowp|mediump|namespace|noinline|noperspective|out|output|partition|patch|precise|precision|public|readonly|resource|restrict|return|sample|sampler[12]DArrayShadow|sampler[12]DShadow|sampler2DRectShadow|sampler3DRect|samplerCubeArrayShadow|samplerCubeShadow|shared|short|sizeof|smooth|static|struct|subroutine|superp|switch|template|this|true|typedef|uint|uniform|union|unsigned|using|varying|void|volatile|while|writeonly)\\b/\n })\n}\n","'use strict'\n\nmodule.exports = gml\ngml.displayName = 'gml'\ngml.aliases = []\nfunction gml(Prism) {\n Prism.languages.gamemakerlanguage = Prism.languages.gml =\n Prism.languages.extend('clike', {\n keyword:\n /\\b(?:break|case|continue|default|do|else|enum|exit|for|globalvar|if|repeat|return|switch|until|var|while)\\b/,\n number:\n /(?:\\b0x[\\da-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ulf]{0,4}/i,\n operator:\n /--|\\+\\+|[-+%/=]=?|!=|\\*\\*?=?|<[<=>]?|>[=>]?|&&?|\\^\\^?|\\|\\|?|~|\\b(?:and|at|not|or|with|xor)\\b/,\n constant:\n /\\b(?:GM_build_date|GM_version|action_(?:continue|restart|reverse|stop)|all|gamespeed_(?:fps|microseconds)|global|local|noone|other|pi|pointer_(?:invalid|null)|self|timezone_(?:local|utc)|undefined|ev_(?:create|destroy|step|alarm|keyboard|mouse|collision|other|draw|draw_(?:begin|end|post|pre)|keypress|keyrelease|trigger|(?:left|middle|no|right)_button|(?:left|middle|right)_press|(?:left|middle|right)_release|mouse_(?:enter|leave|wheel_down|wheel_up)|global_(?:left|middle|right)_button|global_(?:left|middle|right)_press|global_(?:left|middle|right)_release|joystick(?:1|2)_(?:button1|button2|button3|button4|button5|button6|button7|button8|down|left|right|up)|outside|boundary|game_start|game_end|room_start|room_end|no_more_lives|animation_end|end_of_path|no_more_health|user\\d|gui|gui_begin|gui_end|step_(?:begin|end|normal))|vk_(?:alt|anykey|backspace|control|delete|down|end|enter|escape|home|insert|left|nokey|pagedown|pageup|pause|printscreen|return|right|shift|space|tab|up|f\\d|numpad\\d|add|decimal|divide|lalt|lcontrol|lshift|multiply|ralt|rcontrol|rshift|subtract)|achievement_(?:filter_(?:all_players|favorites_only|friends_only)|friends_info|info|leaderboard_info|our_info|pic_loaded|show_(?:achievement|bank|friend_picker|leaderboard|profile|purchase_prompt|ui)|type_challenge|type_score_challenge)|asset_(?:font|object|path|room|script|shader|sound|sprite|tiles|timeline|unknown)|audio_(?:3d|falloff_(?:exponent_distance|exponent_distance_clamped|inverse_distance|inverse_distance_clamped|linear_distance|linear_distance_clamped|none)|mono|new_system|old_system|stereo)|bm_(?:add|complex|dest_alpha|dest_color|dest_colour|inv_dest_alpha|inv_dest_color|inv_dest_colour|inv_src_alpha|inv_src_color|inv_src_colour|max|normal|one|src_alpha|src_alpha_sat|src_color|src_colour|subtract|zero)|browser_(?:chrome|firefox|ie|ie_mobile|not_a_browser|opera|safari|safari_mobile|tizen|unknown|windows_store)|buffer_(?:bool|f16|f32|f64|fast|fixed|generalerror|grow|invalidtype|network|outofbounds|outofspace|s16|s32|s8|seek_end|seek_relative|seek_start|string|text|u16|u32|u64|u8|vbuffer|wrap)|c_(?:aqua|black|blue|dkgray|fuchsia|gray|green|lime|ltgray|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)|cmpfunc_(?:always|equal|greater|greaterequal|less|lessequal|never|notequal)|cr_(?:appstart|arrow|beam|cross|default|drag|handpoint|hourglass|none|size_all|size_nesw|size_ns|size_nwse|size_we|uparrow)|cull_(?:clockwise|counterclockwise|noculling)|device_(?:emulator|tablet)|device_ios_(?:ipad|ipad_retina|iphone|iphone5|iphone6|iphone6plus|iphone_retina|unknown)|display_(?:landscape|landscape_flipped|portrait|portrait_flipped)|dll_(?:cdecl|cdel|stdcall)|ds_type_(?:grid|list|map|priority|queue|stack)|ef_(?:cloud|ellipse|explosion|firework|flare|rain|ring|smoke|smokeup|snow|spark|star)|fa_(?:archive|bottom|center|directory|hidden|left|middle|readonly|right|sysfile|top|volumeid)|fb_login_(?:default|fallback_to_webview|forcing_safari|forcing_webview|no_fallback_to_webview|use_system_account)|iap_(?:available|canceled|ev_consume|ev_product|ev_purchase|ev_restore|ev_storeload|failed|purchased|refunded|status_available|status_loading|status_processing|status_restoring|status_unavailable|status_uninitialised|storeload_failed|storeload_ok|unavailable)|leaderboard_type_(?:number|time_mins_secs)|lighttype_(?:dir|point)|matrix_(?:projection|view|world)|mb_(?:any|left|middle|none|right)|network_(?:config_(?:connect_timeout|disable_reliable_udp|enable_reliable_udp|use_non_blocking_socket)|socket_(?:bluetooth|tcp|udp)|type_(?:connect|data|disconnect|non_blocking_connect))|of_challenge_(?:lose|tie|win)|os_(?:android|ios|linux|macosx|ps3|ps4|psvita|unknown|uwp|win32|win8native|windows|winphone|xboxone)|phy_debug_render_(?:aabb|collision_pairs|coms|core_shapes|joints|obb|shapes)|phy_joint_(?:anchor_1_x|anchor_1_y|anchor_2_x|anchor_2_y|angle|angle_limits|damping_ratio|frequency|length_1|length_2|lower_angle_limit|max_force|max_length|max_motor_force|max_motor_torque|max_torque|motor_force|motor_speed|motor_torque|reaction_force_x|reaction_force_y|reaction_torque|speed|translation|upper_angle_limit)|phy_particle_data_flag_(?:category|color|colour|position|typeflags|velocity)|phy_particle_flag_(?:colormixing|colourmixing|elastic|powder|spring|tensile|viscous|wall|water|zombie)|phy_particle_group_flag_(?:rigid|solid)|pr_(?:linelist|linestrip|pointlist|trianglefan|trianglelist|trianglestrip)|ps_(?:distr|shape)_(?:diamond|ellipse|gaussian|invgaussian|line|linear|rectangle)|pt_shape_(?:circle|cloud|disk|explosion|flare|line|pixel|ring|smoke|snow|spark|sphere|square|star)|ty_(?:real|string)|gp_(?:face\\d|axislh|axislv|axisrh|axisrv|padd|padl|padr|padu|select|shoulderl|shoulderlb|shoulderr|shoulderrb|start|stickl|stickr)|lb_disp_(?:none|numeric|time_ms|time_sec)|lb_sort_(?:ascending|descending|none)|ov_(?:achievements|community|friends|gamegroup|players|settings)|ugc_(?:filetype_(?:community|microtrans)|list_(?:Favorited|Followed|Published|Subscribed|UsedOrPlayed|VotedDown|VotedOn|VotedUp|WillVoteLater)|match_(?:AllGuides|Artwork|Collections|ControllerBindings|IntegratedGuides|Items|Items_Mtx|Items_ReadyToUse|Screenshots|UsableInGame|Videos|WebGuides)|query_(?:AcceptedForGameRankedByAcceptanceDate|CreatedByFriendsRankedByPublicationDate|FavoritedByFriendsRankedByPublicationDate|NotYetRated)|query_RankedBy(?:NumTimesReported|PublicationDate|TextSearch|TotalVotesAsc|Trend|Vote|VotesUp)|result_success|sortorder_CreationOrder(?:Asc|Desc)|sortorder_(?:ForModeration|LastUpdatedDesc|SubscriptionDateDesc|TitleAsc|VoteScoreDesc)|visibility_(?:friends_only|private|public))|vertex_usage_(?:binormal|blendindices|blendweight|color|colour|depth|fog|normal|position|psize|sample|tangent|texcoord|textcoord)|vertex_type_(?:float\\d|color|colour|ubyte4)|input_type|layerelementtype_(?:background|instance|oldtilemap|particlesystem|sprite|tile|tilemap|undefined)|se_(?:chorus|compressor|echo|equalizer|flanger|gargle|none|reverb)|text_type|tile_(?:flip|index_mask|mirror|rotate)|(?:obj|rm|scr|spr)\\w+)\\b/,\n variable:\n /\\b(?:alarm|application_surface|async_load|background_(?:alpha|blend|color|colour|foreground|height|hspeed|htiled|index|showcolor|showcolour|visible|vspeed|vtiled|width|x|xscale|y|yscale)|bbox_(?:bottom|left|right|top)|browser_(?:height|width)|caption_(?:health|lives|score)|current_(?:day|hour|minute|month|second|time|weekday|year)|cursor_sprite|debug_mode|delta_time|direction|display_aa|error_(?:last|occurred)|event_(?:action|number|object|type)|fps|fps_real|friction|game_(?:display|project|save)_(?:id|name)|gamemaker_(?:pro|registered|version)|gravity|gravity_direction|(?:h|v)speed|health|iap_data|id|image_(?:alpha|angle|blend|depth|index|number|speed|xscale|yscale)|instance_(?:count|id)|keyboard_(?:key|lastchar|lastkey|string)|layer|lives|mask_index|mouse_(?:button|lastbutton|x|y)|object_index|os_(?:browser|device|type|version)|path_(?:endaction|index|orientation|position|positionprevious|scale|speed)|persistent|phy_(?:rotation|(?:col_normal|collision|com|linear_velocity|position|speed)_(?:x|y)|angular_(?:damping|velocity)|position_(?:x|y)previous|speed|linear_damping|bullet|fixed_rotation|active|mass|inertia|dynamic|kinematic|sleeping|collision_points)|pointer_(?:invalid|null)|room|room_(?:caption|first|height|last|persistent|speed|width)|score|secure_mode|show_(?:health|lives|score)|solid|speed|sprite_(?:height|index|width|xoffset|yoffset)|temp_directory|timeline_(?:index|loop|position|running|speed)|transition_(?:color|kind|steps)|undefined|view_(?:angle|current|enabled|(?:h|v)(?:border|speed)|(?:h|w|x|y)port|(?:h|w|x|y)view|object|surface_id|visible)|visible|webgl_enabled|working_directory|(?:x|y)(?:previous|start)|x|y|argument(?:_relitive|_count|\\d)|argument|global|local|other|self)\\b/\n })\n}\n","'use strict'\n\nmodule.exports = gn\ngn.displayName = 'gn'\ngn.aliases = ['gni']\nfunction gn(Prism) {\n // https://gn.googlesource.com/gn/+/refs/heads/main/docs/reference.md#grammar\n Prism.languages.gn = {\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n 'string-literal': {\n pattern: /(^|[^\\\\\"])\"(?:[^\\r\\n\"\\\\]|\\\\.)*\"/,\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:\\{[\\s\\S]*?\\}|[a-zA-Z_]\\w*|0x[a-fA-F0-9]{2})/,\n lookbehind: true,\n inside: {\n number: /^\\$0x[\\s\\S]{2}$/,\n variable: /^\\$\\w+$/,\n 'interpolation-punctuation': {\n pattern: /^\\$\\{|\\}$/,\n alias: 'punctuation'\n },\n expression: {\n pattern: /[\\s\\S]+/,\n inside: null // see below\n }\n }\n },\n string: /[\\s\\S]+/\n }\n },\n keyword: /\\b(?:else|if)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n 'builtin-function': {\n // a few functions get special highlighting to improve readability\n pattern:\n /\\b(?:assert|defined|foreach|import|pool|print|template|tool|toolchain)(?=\\s*\\()/i,\n alias: 'keyword'\n },\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n constant:\n /\\b(?:current_cpu|current_os|current_toolchain|default_toolchain|host_cpu|host_os|root_build_dir|root_gen_dir|root_out_dir|target_cpu|target_gen_dir|target_os|target_out_dir)\\b/,\n number: /-?\\b\\d+\\b/,\n operator: /[-+!=<>]=?|&&|\\|\\|/,\n punctuation: /[(){}[\\],.]/\n }\n Prism.languages.gn['string-literal'].inside['interpolation'].inside[\n 'expression'\n ].inside = Prism.languages.gn\n Prism.languages.gni = Prism.languages.gn\n}\n","'use strict'\n\nmodule.exports = goModule\ngoModule.displayName = 'goModule'\ngoModule.aliases = []\nfunction goModule(Prism) {\n // https://go.dev/ref/mod#go-mod-file-module\n Prism.languages['go-mod'] = Prism.languages['go-module'] = {\n comment: {\n pattern: /\\/\\/.*/,\n greedy: true\n },\n version: {\n pattern: /(^|[\\s()[\\],])v\\d+\\.\\d+\\.\\d+(?:[+-][-+.\\w]*)?(?![^\\s()[\\],])/,\n lookbehind: true,\n alias: 'number'\n },\n 'go-version': {\n pattern: /((?:^|\\s)go\\s+)\\d+(?:\\.\\d+){1,2}/,\n lookbehind: true,\n alias: 'number'\n },\n keyword: {\n pattern: /^([ \\t]*)(?:exclude|go|module|replace|require|retract)\\b/m,\n lookbehind: true\n },\n operator: /=>/,\n punctuation: /[()[\\],]/\n }\n}\n","'use strict'\n\nmodule.exports = go\ngo.displayName = 'go'\ngo.aliases = []\nfunction go(Prism) {\n Prism.languages.go = Prism.languages.extend('clike', {\n string: {\n pattern: /(^|[^\\\\])\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|`[^`]*`/,\n lookbehind: true,\n greedy: true\n },\n keyword:\n /\\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\\b/,\n boolean: /\\b(?:_|false|iota|nil|true)\\b/,\n number: [\n // binary and octal integers\n /\\b0(?:b[01_]+|o[0-7_]+)i?\\b/i, // hexadecimal integers and floats\n /\\b0x(?:[a-f\\d_]+(?:\\.[a-f\\d_]*)?|\\.[a-f\\d_]+)(?:p[+-]?\\d+(?:_\\d+)*)?i?(?!\\w)/i, // decimal integers and floats\n /(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?[\\d_]+)?i?(?!\\w)/i\n ],\n operator:\n /[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\./,\n builtin:\n /\\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\\b/\n })\n Prism.languages.insertBefore('go', 'string', {\n char: {\n pattern: /'(?:\\\\.|[^'\\\\\\r\\n]){0,10}'/,\n greedy: true\n }\n })\n delete Prism.languages.go['class-name']\n}\n","'use strict'\n\nmodule.exports = graphql\ngraphql.displayName = 'graphql'\ngraphql.aliases = []\nfunction graphql(Prism) {\n Prism.languages.graphql = {\n comment: /#.*/,\n description: {\n pattern:\n /(?:\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")(?=\\s*[a-z_])/i,\n greedy: true,\n alias: 'string',\n inside: {\n 'language-markdown': {\n pattern: /(^\"(?:\"\")?)(?!\\1)[\\s\\S]+(?=\\1$)/,\n lookbehind: true,\n inside: Prism.languages.markdown\n }\n }\n },\n string: {\n pattern: /\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: true\n },\n number: /(?:\\B-|\\b)\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\n boolean: /\\b(?:false|true)\\b/,\n variable: /\\$[a-z_]\\w*/i,\n directive: {\n pattern: /@[a-z_]\\w*/i,\n alias: 'function'\n },\n 'attr-name': {\n pattern: /\\b[a-z_]\\w*(?=\\s*(?:\\((?:[^()\"]|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")*\\))?:)/i,\n greedy: true\n },\n 'atom-input': {\n pattern: /\\b[A-Z]\\w*Input\\b/,\n alias: 'class-name'\n },\n scalar: /\\b(?:Boolean|Float|ID|Int|String)\\b/,\n constant: /\\b[A-Z][A-Z_\\d]*\\b/,\n 'class-name': {\n pattern:\n /(\\b(?:enum|implements|interface|on|scalar|type|union)\\s+|&\\s*|:\\s*|\\[)[A-Z_]\\w*/,\n lookbehind: true\n },\n fragment: {\n pattern: /(\\bfragment\\s+|\\.{3}\\s*(?!on\\b))[a-zA-Z_]\\w*/,\n lookbehind: true,\n alias: 'function'\n },\n 'definition-mutation': {\n pattern: /(\\bmutation\\s+)[a-zA-Z_]\\w*/,\n lookbehind: true,\n alias: 'function'\n },\n 'definition-query': {\n pattern: /(\\bquery\\s+)[a-zA-Z_]\\w*/,\n lookbehind: true,\n alias: 'function'\n },\n keyword:\n /\\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\\b/,\n operator: /[!=|&]|\\.{3}/,\n 'property-query': /\\w+(?=\\s*\\()/,\n object: /\\w+(?=\\s*\\{)/,\n punctuation: /[!(){}\\[\\]:=,]/,\n property: /\\w+/\n }\n Prism.hooks.add('after-tokenize', function afterTokenizeGraphql(env) {\n if (env.language !== 'graphql') {\n return\n }\n /**\n * get the graphql token stream that we want to customize\n *\n * @typedef {InstanceType<import(\"./prism-core\")[\"Token\"]>} Token\n * @type {Token[]}\n */\n var validTokens = env.tokens.filter(function (token) {\n return (\n typeof token !== 'string' &&\n token.type !== 'comment' &&\n token.type !== 'scalar'\n )\n })\n var currentIndex = 0\n /**\n * Returns whether the token relative to the current index has the given type.\n *\n * @param {number} offset\n * @returns {Token | undefined}\n */\n function getToken(offset) {\n return validTokens[currentIndex + offset]\n }\n /**\n * Returns whether the token relative to the current index has the given type.\n *\n * @param {readonly string[]} types\n * @param {number} [offset=0]\n * @returns {boolean}\n */\n function isTokenType(types, offset) {\n offset = offset || 0\n for (var i = 0; i < types.length; i++) {\n var token = getToken(i + offset)\n if (!token || token.type !== types[i]) {\n return false\n }\n }\n return true\n }\n /**\n * Returns the index of the closing bracket to an opening bracket.\n *\n * It is assumed that `token[currentIndex - 1]` is an opening bracket.\n *\n * If no closing bracket could be found, `-1` will be returned.\n *\n * @param {RegExp} open\n * @param {RegExp} close\n * @returns {number}\n */\n function findClosingBracket(open, close) {\n var stackHeight = 1\n for (var i = currentIndex; i < validTokens.length; i++) {\n var token = validTokens[i]\n var content = token.content\n if (token.type === 'punctuation' && typeof content === 'string') {\n if (open.test(content)) {\n stackHeight++\n } else if (close.test(content)) {\n stackHeight--\n if (stackHeight === 0) {\n return i\n }\n }\n }\n }\n return -1\n }\n /**\n * Adds an alias to the given token.\n *\n * @param {Token} token\n * @param {string} alias\n * @returns {void}\n */\n function addAlias(token, alias) {\n var aliases = token.alias\n if (!aliases) {\n token.alias = aliases = []\n } else if (!Array.isArray(aliases)) {\n token.alias = aliases = [aliases]\n }\n aliases.push(alias)\n }\n for (; currentIndex < validTokens.length; ) {\n var startToken = validTokens[currentIndex++] // add special aliases for mutation tokens\n if (startToken.type === 'keyword' && startToken.content === 'mutation') {\n // any array of the names of all input variables (if any)\n var inputVariables = []\n if (\n isTokenType(['definition-mutation', 'punctuation']) &&\n getToken(1).content === '('\n ) {\n // definition\n currentIndex += 2 // skip 'definition-mutation' and 'punctuation'\n var definitionEnd = findClosingBracket(/^\\($/, /^\\)$/)\n if (definitionEnd === -1) {\n continue\n } // find all input variables\n for (; currentIndex < definitionEnd; currentIndex++) {\n var t = getToken(0)\n if (t.type === 'variable') {\n addAlias(t, 'variable-input')\n inputVariables.push(t.content)\n }\n }\n currentIndex = definitionEnd + 1\n }\n if (\n isTokenType(['punctuation', 'property-query']) &&\n getToken(0).content === '{'\n ) {\n currentIndex++ // skip opening bracket\n addAlias(getToken(0), 'property-mutation')\n if (inputVariables.length > 0) {\n var mutationEnd = findClosingBracket(/^\\{$/, /^\\}$/)\n if (mutationEnd === -1) {\n continue\n } // give references to input variables a special alias\n for (var i = currentIndex; i < mutationEnd; i++) {\n var varToken = validTokens[i]\n if (\n varToken.type === 'variable' &&\n inputVariables.indexOf(varToken.content) >= 0\n ) {\n addAlias(varToken, 'variable-input')\n }\n }\n }\n }\n }\n }\n })\n}\n","'use strict'\n\nmodule.exports = groovy\ngroovy.displayName = 'groovy'\ngroovy.aliases = []\nfunction groovy(Prism) {\n Prism.languages.groovy = Prism.languages.extend('clike', {\n string: [\n {\n // https://groovy-lang.org/syntax.html#_dollar_slashy_string\n pattern:\n /(\"\"\"|''')(?:[^\\\\]|\\\\[\\s\\S])*?\\1|\\$\\/(?:[^/$]|\\$(?:[/$]|(?![/$]))|\\/(?!\\$))*\\/\\$/,\n greedy: true\n },\n {\n // TODO: Slash strings (e.g. /foo/) can contain line breaks but this will cause a lot of trouble with\n // simple division (see JS regex), so find a fix maybe?\n pattern: /([\"'/])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n }\n ],\n keyword:\n /\\b(?:abstract|as|assert|boolean|break|byte|case|catch|char|class|const|continue|def|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|in|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\\b/,\n number:\n /\\b(?:0b[01_]+|0x[\\da-f_]+(?:\\.[\\da-f_p\\-]+)?|[\\d_]+(?:\\.[\\d_]+)?(?:e[+-]?\\d+)?)[glidf]?\\b/i,\n operator: {\n pattern:\n /(^|[^.])(?:~|==?~?|\\?[.:]?|\\*(?:[.=]|\\*=?)?|\\.[@&]|\\.\\.<|\\.\\.(?!\\.)|-[-=>]?|\\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\\|[|=]?|\\/=?|\\^=?|%=?)/,\n lookbehind: true\n },\n punctuation: /\\.+|[{}[\\];(),:$]/\n })\n Prism.languages.insertBefore('groovy', 'string', {\n shebang: {\n pattern: /#!.+/,\n alias: 'comment'\n }\n })\n Prism.languages.insertBefore('groovy', 'punctuation', {\n 'spock-block': /\\b(?:and|cleanup|expect|given|setup|then|when|where):/\n })\n Prism.languages.insertBefore('groovy', 'function', {\n annotation: {\n pattern: /(^|[^.])@\\w+/,\n lookbehind: true,\n alias: 'punctuation'\n }\n }) // Handle string interpolation\n Prism.hooks.add('wrap', function (env) {\n if (env.language === 'groovy' && env.type === 'string') {\n var delimiter = env.content.value[0]\n if (delimiter != \"'\") {\n var pattern = /([^\\\\])(?:\\$(?:\\{.*?\\}|[\\w.]+))/\n if (delimiter === '$') {\n pattern = /([^\\$])(?:\\$(?:\\{.*?\\}|[\\w.]+))/\n } // To prevent double HTML-encoding we have to decode env.content first\n env.content.value = env.content.value\n .replace(/</g, '<')\n .replace(/&/g, '&')\n env.content = Prism.highlight(env.content.value, {\n expression: {\n pattern: pattern,\n lookbehind: true,\n inside: Prism.languages.groovy\n }\n })\n env.classes.push(delimiter === '/' ? 'regex' : 'gstring')\n }\n }\n })\n}\n","'use strict'\nvar refractorRuby = require('./ruby.js')\nmodule.exports = haml\nhaml.displayName = 'haml'\nhaml.aliases = []\nfunction haml(Prism) {\n Prism.register(refractorRuby)\n /* TODO\nHandle multiline code after tag\n%foo= some |\nmultiline |\ncode |\n*/\n ;(function (Prism) {\n Prism.languages.haml = {\n // Multiline stuff should appear before the rest\n 'multiline-comment': {\n pattern:\n /((?:^|\\r?\\n|\\r)([\\t ]*))(?:\\/|-#).*(?:(?:\\r?\\n|\\r)\\2[\\t ].+)*/,\n lookbehind: true,\n alias: 'comment'\n },\n 'multiline-code': [\n {\n pattern:\n /((?:^|\\r?\\n|\\r)([\\t ]*)(?:[~-]|[&!]?=)).*,[\\t ]*(?:(?:\\r?\\n|\\r)\\2[\\t ].*,[\\t ]*)*(?:(?:\\r?\\n|\\r)\\2[\\t ].+)/,\n lookbehind: true,\n inside: Prism.languages.ruby\n },\n {\n pattern:\n /((?:^|\\r?\\n|\\r)([\\t ]*)(?:[~-]|[&!]?=)).*\\|[\\t ]*(?:(?:\\r?\\n|\\r)\\2[\\t ].*\\|[\\t ]*)*/,\n lookbehind: true,\n inside: Prism.languages.ruby\n }\n ],\n // See at the end of the file for known filters\n filter: {\n pattern:\n /((?:^|\\r?\\n|\\r)([\\t ]*)):[\\w-]+(?:(?:\\r?\\n|\\r)(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+/,\n lookbehind: true,\n inside: {\n 'filter-name': {\n pattern: /^:[\\w-]+/,\n alias: 'symbol'\n }\n }\n },\n markup: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)<.+/,\n lookbehind: true,\n inside: Prism.languages.markup\n },\n doctype: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)!!!(?: .+)?/,\n lookbehind: true\n },\n tag: {\n // Allows for one nested group of braces\n pattern:\n /((?:^|\\r?\\n|\\r)[\\t ]*)[%.#][\\w\\-#.]*[\\w\\-](?:\\([^)]+\\)|\\{(?:\\{[^}]+\\}|[^{}])+\\}|\\[[^\\]]+\\])*[\\/<>]*/,\n lookbehind: true,\n inside: {\n attributes: [\n {\n // Lookbehind tries to prevent interpolations from breaking it all\n // Allows for one nested group of braces\n pattern: /(^|[^#])\\{(?:\\{[^}]+\\}|[^{}])+\\}/,\n lookbehind: true,\n inside: Prism.languages.ruby\n },\n {\n pattern: /\\([^)]+\\)/,\n inside: {\n 'attr-value': {\n pattern: /(=\\s*)(?:\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|[^)\\s]+)/,\n lookbehind: true\n },\n 'attr-name': /[\\w:-]+(?=\\s*!?=|\\s*[,)])/,\n punctuation: /[=(),]/\n }\n },\n {\n pattern: /\\[[^\\]]+\\]/,\n inside: Prism.languages.ruby\n }\n ],\n punctuation: /[<>]/\n }\n },\n code: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*(?:[~-]|[&!]?=)).+/,\n lookbehind: true,\n inside: Prism.languages.ruby\n },\n // Interpolations in plain text\n interpolation: {\n pattern: /#\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: 'punctuation'\n },\n ruby: {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.ruby\n }\n }\n },\n punctuation: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)[~=\\-&!]+/,\n lookbehind: true\n }\n }\n var filter_pattern =\n '((?:^|\\\\r?\\\\n|\\\\r)([\\\\t ]*)):{{filter_name}}(?:(?:\\\\r?\\\\n|\\\\r)(?:\\\\2[\\\\t ].+|\\\\s*?(?=\\\\r?\\\\n|\\\\r)))+' // Non exhaustive list of available filters and associated languages\n var filters = [\n 'css',\n {\n filter: 'coffee',\n language: 'coffeescript'\n },\n 'erb',\n 'javascript',\n 'less',\n 'markdown',\n 'ruby',\n 'scss',\n 'textile'\n ]\n var all_filters = {}\n for (var i = 0, l = filters.length; i < l; i++) {\n var filter = filters[i]\n filter =\n typeof filter === 'string'\n ? {\n filter: filter,\n language: filter\n }\n : filter\n if (Prism.languages[filter.language]) {\n all_filters['filter-' + filter.filter] = {\n pattern: RegExp(\n filter_pattern.replace('{{filter_name}}', function () {\n return filter.filter\n })\n ),\n lookbehind: true,\n inside: {\n 'filter-name': {\n pattern: /^:[\\w-]+/,\n alias: 'symbol'\n },\n text: {\n pattern: /[\\s\\S]+/,\n alias: [filter.language, 'language-' + filter.language],\n inside: Prism.languages[filter.language]\n }\n }\n }\n }\n }\n Prism.languages.insertBefore('haml', 'filter', all_filters)\n })(Prism)\n}\n","'use strict'\nvar refractorMarkupTemplating = require('./markup-templating.js')\nmodule.exports = handlebars\nhandlebars.displayName = 'handlebars'\nhandlebars.aliases = ['hbs']\nfunction handlebars(Prism) {\n Prism.register(refractorMarkupTemplating)\n ;(function (Prism) {\n Prism.languages.handlebars = {\n comment: /\\{\\{![\\s\\S]*?\\}\\}/,\n delimiter: {\n pattern: /^\\{\\{\\{?|\\}\\}\\}?$/,\n alias: 'punctuation'\n },\n string: /([\"'])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n number: /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee][+-]?\\d+)?/,\n boolean: /\\b(?:false|true)\\b/,\n block: {\n pattern: /^(\\s*(?:~\\s*)?)[#\\/]\\S+?(?=\\s*(?:~\\s*)?$|\\s)/,\n lookbehind: true,\n alias: 'keyword'\n },\n brackets: {\n pattern: /\\[[^\\]]+\\]/,\n inside: {\n punctuation: /\\[|\\]/,\n variable: /[\\s\\S]+/\n }\n },\n punctuation: /[!\"#%&':()*+,.\\/;<=>@\\[\\\\\\]^`{|}~]/,\n variable: /[^!\"#%&'()*+,\\/;<=>@\\[\\\\\\]^`{|}~\\s]+/\n }\n Prism.hooks.add('before-tokenize', function (env) {\n var handlebarsPattern = /\\{\\{\\{[\\s\\S]+?\\}\\}\\}|\\{\\{[\\s\\S]+?\\}\\}/g\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'handlebars',\n handlebarsPattern\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(\n env,\n 'handlebars'\n )\n })\n Prism.languages.hbs = Prism.languages.handlebars\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = haskell\nhaskell.displayName = 'haskell'\nhaskell.aliases = ['hs']\nfunction haskell(Prism) {\n Prism.languages.haskell = {\n comment: {\n pattern:\n /(^|[^-!#$%*+=?&@|~.:<>^\\\\\\/])(?:--(?:(?=.)[^-!#$%*+=?&@|~.:<>^\\\\\\/].*|$)|\\{-[\\s\\S]*?-\\})/m,\n lookbehind: true\n },\n char: {\n pattern:\n /'(?:[^\\\\']|\\\\(?:[abfnrtv\\\\\"'&]|\\^[A-Z@[\\]^_]|ACK|BEL|BS|CAN|CR|DC1|DC2|DC3|DC4|DEL|DLE|EM|ENQ|EOT|ESC|ETB|ETX|FF|FS|GS|HT|LF|NAK|NUL|RS|SI|SO|SOH|SP|STX|SUB|SYN|US|VT|\\d+|o[0-7]+|x[0-9a-fA-F]+))'/,\n alias: 'string'\n },\n string: {\n pattern: /\"(?:[^\\\\\"]|\\\\(?:\\S|\\s+\\\\))*\"/,\n greedy: true\n },\n keyword:\n /\\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\\b/,\n 'import-statement': {\n // The imported or hidden names are not included in this import\n // statement. This is because we want to highlight those exactly like\n // we do for the names in the program.\n pattern:\n /(^[\\t ]*)import\\s+(?:qualified\\s+)?(?:[A-Z][\\w']*)(?:\\.[A-Z][\\w']*)*(?:\\s+as\\s+(?:[A-Z][\\w']*)(?:\\.[A-Z][\\w']*)*)?(?:\\s+hiding\\b)?/m,\n lookbehind: true,\n inside: {\n keyword: /\\b(?:as|hiding|import|qualified)\\b/,\n punctuation: /\\./\n }\n },\n // These are builtin variables only. Constructors are highlighted later as a constant.\n builtin:\n /\\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\\b/,\n // decimal integers and floating point numbers | octal integers | hexadecimal integers\n number: /\\b(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|0o[0-7]+|0x[0-9a-f]+)\\b/i,\n operator: [\n {\n // infix operator\n pattern: /`(?:[A-Z][\\w']*\\.)*[_a-z][\\w']*`/,\n greedy: true\n },\n {\n // function composition\n pattern: /(\\s)\\.(?=\\s)/,\n lookbehind: true\n }, // Most of this is needed because of the meaning of a single '.'.\n // If it stands alone freely, it is the function composition.\n // It may also be a separator between a module name and an identifier => no\n // operator. If it comes together with other special characters it is an\n // operator too.\n //\n // This regex means: /[-!#$%*+=?&@|~.:<>^\\\\\\/]+/ without /\\./.\n /[-!#$%*+=?&@|~:<>^\\\\\\/][-!#$%*+=?&@|~.:<>^\\\\\\/]*|\\.[-!#$%*+=?&@|~.:<>^\\\\\\/]+/\n ],\n // In Haskell, nearly everything is a variable, do not highlight these.\n hvariable: {\n pattern: /\\b(?:[A-Z][\\w']*\\.)*[_a-z][\\w']*/,\n inside: {\n punctuation: /\\./\n }\n },\n constant: {\n pattern: /\\b(?:[A-Z][\\w']*\\.)*[A-Z][\\w']*/,\n inside: {\n punctuation: /\\./\n }\n },\n punctuation: /[{}[\\];(),.:]/\n }\n Prism.languages.hs = Prism.languages.haskell\n}\n","'use strict'\n\nmodule.exports = haxe\nhaxe.displayName = 'haxe'\nhaxe.aliases = []\nfunction haxe(Prism) {\n Prism.languages.haxe = Prism.languages.extend('clike', {\n string: {\n // Strings can be multi-line\n pattern: /\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"/,\n greedy: true\n },\n 'class-name': [\n {\n pattern:\n /(\\b(?:abstract|class|enum|extends|implements|interface|new|typedef)\\s+)[A-Z_]\\w*/,\n lookbehind: true\n }, // based on naming convention\n /\\b[A-Z]\\w*/\n ],\n // The final look-ahead prevents highlighting of keywords if expressions such as \"haxe.macro.Expr\"\n keyword:\n /\\bthis\\b|\\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|final|for|from|function|if|implements|import|in|inline|interface|macro|new|null|operator|overload|override|package|private|public|return|static|super|switch|throw|to|try|typedef|untyped|using|var|while)(?!\\.)\\b/,\n function: {\n pattern: /\\b[a-z_]\\w*(?=\\s*(?:<[^<>]*>\\s*)?\\()/i,\n greedy: true\n },\n operator: /\\.{3}|\\+\\+|--|&&|\\|\\||->|=>|(?:<<?|>{1,3}|[-+*/%!=&|^])=?|[?:~]/\n })\n Prism.languages.insertBefore('haxe', 'string', {\n 'string-interpolation': {\n pattern: /'(?:[^'\\\\]|\\\\[\\s\\S])*'/,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /(^|[^\\\\])\\$(?:\\w+|\\{[^{}]+\\})/,\n lookbehind: true,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^\\$\\{?|\\}$/,\n alias: 'punctuation'\n },\n expression: {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.haxe\n }\n }\n },\n string: /[\\s\\S]+/\n }\n }\n })\n Prism.languages.insertBefore('haxe', 'class-name', {\n regex: {\n pattern: /~\\/(?:[^\\/\\\\\\r\\n]|\\\\.)+\\/[a-z]*/,\n greedy: true,\n inside: {\n 'regex-flags': /\\b[a-z]+$/,\n 'regex-source': {\n pattern: /^(~\\/)[\\s\\S]+(?=\\/$)/,\n lookbehind: true,\n alias: 'language-regex',\n inside: Prism.languages.regex\n },\n 'regex-delimiter': /^~\\/|\\/$/\n }\n }\n })\n Prism.languages.insertBefore('haxe', 'keyword', {\n preprocessor: {\n pattern: /#(?:else|elseif|end|if)\\b.*/,\n alias: 'property'\n },\n metadata: {\n pattern: /@:?[\\w.]+/,\n alias: 'symbol'\n },\n reification: {\n pattern: /\\$(?:\\w+|(?=\\{))/,\n alias: 'important'\n }\n })\n}\n","'use strict'\n\nmodule.exports = hcl\nhcl.displayName = 'hcl'\nhcl.aliases = []\nfunction hcl(Prism) {\n Prism.languages.hcl = {\n comment: /(?:\\/\\/|#).*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n heredoc: {\n pattern: /<<-?(\\w+\\b)[\\s\\S]*?^[ \\t]*\\1/m,\n greedy: true,\n alias: 'string'\n },\n keyword: [\n {\n pattern:\n /(?:data|resource)\\s+(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")(?=\\s+\"[\\w-]+\"\\s+\\{)/i,\n inside: {\n type: {\n pattern: /(resource|data|\\s+)(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")/i,\n lookbehind: true,\n alias: 'variable'\n }\n }\n },\n {\n pattern:\n /(?:backend|module|output|provider|provisioner|variable)\\s+(?:[\\w-]+|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")\\s+(?=\\{)/i,\n inside: {\n type: {\n pattern:\n /(backend|module|output|provider|provisioner|variable)\\s+(?:[\\w-]+|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")\\s+/i,\n lookbehind: true,\n alias: 'variable'\n }\n }\n },\n /[\\w-]+(?=\\s+\\{)/\n ],\n property: [/[-\\w\\.]+(?=\\s*=(?!=))/, /\"(?:\\\\[\\s\\S]|[^\\\\\"])+\"(?=\\s*[:=])/],\n string: {\n pattern:\n /\"(?:[^\\\\$\"]|\\\\[\\s\\S]|\\$(?:(?=\")|\\$+(?!\\$)|[^\"${])|\\$\\{(?:[^{}\"]|\"(?:[^\\\\\"]|\\\\[\\s\\S])*\")*\\})*\"/,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /(^|[^$])\\$\\{(?:[^{}\"]|\"(?:[^\\\\\"]|\\\\[\\s\\S])*\")*\\}/,\n lookbehind: true,\n inside: {\n type: {\n pattern:\n /(\\b(?:count|data|local|module|path|self|terraform|var)\\b\\.)[\\w\\*]+/i,\n lookbehind: true,\n alias: 'variable'\n },\n keyword: /\\b(?:count|data|local|module|path|self|terraform|var)\\b/i,\n function: /\\w+(?=\\()/,\n string: {\n pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n greedy: true\n },\n number: /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?/i,\n punctuation: /[!\\$#%&'()*+,.\\/;<=>@\\[\\\\\\]^`{|}~?:]/\n }\n }\n }\n },\n number: /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?/i,\n boolean: /\\b(?:false|true)\\b/i,\n punctuation: /[=\\[\\]{}]/\n }\n}\n","'use strict'\nvar refractorC = require('./c.js')\nmodule.exports = hlsl\nhlsl.displayName = 'hlsl'\nhlsl.aliases = []\nfunction hlsl(Prism) {\n Prism.register(refractorC)\n Prism.languages.hlsl = Prism.languages.extend('c', {\n // Regarding keywords and class names:\n // The list of all keywords was split into 'keyword' and 'class-name' tokens based on whether they are capitalized.\n // https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-appendix-keywords\n // https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-appendix-reserved-words\n 'class-name': [\n Prism.languages.c['class-name'],\n /\\b(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|ComputeShader|ConsumeStructuredBuffer|DepthStencilState|DepthStencilView|DomainShader|GeometryShader|Hullshader|InputPatch|LineStream|OutputPatch|PixelShader|PointStream|RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture(?:1D|1DArray|2D|2DArray|3D)|RasterizerState|RenderTargetView|SamplerComparisonState|SamplerState|StructuredBuffer|Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray)|TriangleStream|VertexShader)\\b/\n ],\n keyword: [\n // HLSL keyword\n /\\b(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_major|compile|compile_fragment|const|const_cast|continue|default|delete|discard|do|dynamic_cast|else|enum|explicit|export|extern|for|friend|fxgroup|goto|groupshared|if|in|inline|inout|interface|line|lineadj|linear|long|matrix|mutable|namespace|new|nointerpolation|noperspective|operator|out|packoffset|pass|pixelfragment|point|precise|private|protected|public|register|reinterpret_cast|return|row_major|sample|sampler|shared|short|signed|sizeof|snorm|stateblock|stateblock_state|static|static_cast|string|struct|switch|tbuffer|technique|technique10|technique11|template|texture|this|throw|triangle|triangleadj|try|typedef|typename|uniform|union|unorm|unsigned|using|vector|vertexfragment|virtual|void|volatile|while)\\b/, // scalar, vector, and matrix types\n /\\b(?:bool|double|dword|float|half|int|min(?:10float|12int|16(?:float|int|uint))|uint)(?:[1-4](?:x[1-4])?)?\\b/\n ],\n // https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-appendix-grammar#floating-point-numbers\n number:\n /(?:(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?|\\b0x[\\da-fA-F]+)[fFhHlLuU]?\\b/,\n boolean: /\\b(?:false|true)\\b/\n })\n}\n","'use strict'\n\nmodule.exports = hoon\nhoon.displayName = 'hoon'\nhoon.aliases = []\nfunction hoon(Prism) {\n Prism.languages.hoon = {\n comment: {\n pattern: /::.*/,\n greedy: true\n },\n string: {\n pattern: /\"[^\"]*\"|'[^']*'/,\n greedy: true\n },\n constant: /%(?:\\.[ny]|[\\w-]+)/,\n 'class-name': /@(?:[a-z0-9-]*[a-z0-9])?|\\*/i,\n function: /(?:\\+[-+] {2})?(?:[a-z](?:[a-z0-9-]*[a-z0-9])?)/,\n keyword:\n /\\.[\\^\\+\\*=\\?]|![><:\\.=\\?!]|=[>|:,\\.\\-\\^<+;/~\\*\\?]|\\?[>|:\\.\\-\\^<\\+&~=@!]|\\|[\\$_%:\\.\\-\\^~\\*=@\\?]|\\+[|\\$\\+\\*]|:[_\\-\\^\\+~\\*]|%[_:\\.\\-\\^\\+~\\*=]|\\^[|:\\.\\-\\+&~\\*=\\?]|\\$[|_%:<>\\-\\^&~@=\\?]|;[:<\\+;\\/~\\*=]|~[>|\\$_%<\\+\\/&=\\?!]|--|==/\n }\n}\n","'use strict'\n\nmodule.exports = hpkp\nhpkp.displayName = 'hpkp'\nhpkp.aliases = []\nfunction hpkp(Prism) {\n /**\n * Original by Scott Helme.\n *\n * Reference: https://scotthelme.co.uk/hpkp-cheat-sheet/\n */\n Prism.languages.hpkp = {\n directive: {\n pattern:\n /\\b(?:includeSubDomains|max-age|pin-sha256|preload|report-to|report-uri|strict)(?=[\\s;=]|$)/i,\n alias: 'property'\n },\n operator: /=/,\n punctuation: /;/\n }\n}\n","'use strict'\n\nmodule.exports = hsts\nhsts.displayName = 'hsts'\nhsts.aliases = []\nfunction hsts(Prism) {\n /**\n * Original by Scott Helme.\n *\n * Reference: https://scotthelme.co.uk/hsts-cheat-sheet/\n */\n Prism.languages.hsts = {\n directive: {\n pattern: /\\b(?:includeSubDomains|max-age|preload)(?=[\\s;=]|$)/i,\n alias: 'property'\n },\n operator: /=/,\n punctuation: /;/\n }\n}\n","'use strict'\n\nmodule.exports = http\nhttp.displayName = 'http'\nhttp.aliases = []\nfunction http(Prism) {\n ;(function (Prism) {\n /**\n * @param {string} name\n * @returns {RegExp}\n */\n function headerValueOf(name) {\n return RegExp('(^(?:' + name + '):[ \\t]*(?![ \\t]))[^]+', 'i')\n }\n Prism.languages.http = {\n 'request-line': {\n pattern:\n /^(?:CONNECT|DELETE|GET|HEAD|OPTIONS|PATCH|POST|PRI|PUT|SEARCH|TRACE)\\s(?:https?:\\/\\/|\\/)\\S*\\sHTTP\\/[\\d.]+/m,\n inside: {\n // HTTP Method\n method: {\n pattern: /^[A-Z]+\\b/,\n alias: 'property'\n },\n // Request Target e.g. http://example.com, /path/to/file\n 'request-target': {\n pattern: /^(\\s)(?:https?:\\/\\/|\\/)\\S*(?=\\s)/,\n lookbehind: true,\n alias: 'url',\n inside: Prism.languages.uri\n },\n // HTTP Version\n 'http-version': {\n pattern: /^(\\s)HTTP\\/[\\d.]+/,\n lookbehind: true,\n alias: 'property'\n }\n }\n },\n 'response-status': {\n pattern: /^HTTP\\/[\\d.]+ \\d+ .+/m,\n inside: {\n // HTTP Version\n 'http-version': {\n pattern: /^HTTP\\/[\\d.]+/,\n alias: 'property'\n },\n // Status Code\n 'status-code': {\n pattern: /^(\\s)\\d+(?=\\s)/,\n lookbehind: true,\n alias: 'number'\n },\n // Reason Phrase\n 'reason-phrase': {\n pattern: /^(\\s).+/,\n lookbehind: true,\n alias: 'string'\n }\n }\n },\n header: {\n pattern: /^[\\w-]+:.+(?:(?:\\r\\n?|\\n)[ \\t].+)*/m,\n inside: {\n 'header-value': [\n {\n pattern: headerValueOf(/Content-Security-Policy/.source),\n lookbehind: true,\n alias: ['csp', 'languages-csp'],\n inside: Prism.languages.csp\n },\n {\n pattern: headerValueOf(/Public-Key-Pins(?:-Report-Only)?/.source),\n lookbehind: true,\n alias: ['hpkp', 'languages-hpkp'],\n inside: Prism.languages.hpkp\n },\n {\n pattern: headerValueOf(/Strict-Transport-Security/.source),\n lookbehind: true,\n alias: ['hsts', 'languages-hsts'],\n inside: Prism.languages.hsts\n },\n {\n pattern: headerValueOf(/[^:]+/.source),\n lookbehind: true\n }\n ],\n 'header-name': {\n pattern: /^[^:]+/,\n alias: 'keyword'\n },\n punctuation: /^:/\n }\n }\n } // Create a mapping of Content-Type headers to language definitions\n var langs = Prism.languages\n var httpLanguages = {\n 'application/javascript': langs.javascript,\n 'application/json': langs.json || langs.javascript,\n 'application/xml': langs.xml,\n 'text/xml': langs.xml,\n 'text/html': langs.html,\n 'text/css': langs.css,\n 'text/plain': langs.plain\n } // Declare which types can also be suffixes\n var suffixTypes = {\n 'application/json': true,\n 'application/xml': true\n }\n /**\n * Returns a pattern for the given content type which matches it and any type which has it as a suffix.\n *\n * @param {string} contentType\n * @returns {string}\n */\n function getSuffixPattern(contentType) {\n var suffix = contentType.replace(/^[a-z]+\\//, '')\n var suffixPattern = '\\\\w+/(?:[\\\\w.-]+\\\\+)+' + suffix + '(?![+\\\\w.-])'\n return '(?:' + contentType + '|' + suffixPattern + ')'\n } // Insert each content type parser that has its associated language\n // currently loaded.\n var options\n for (var contentType in httpLanguages) {\n if (httpLanguages[contentType]) {\n options = options || {}\n var pattern = suffixTypes[contentType]\n ? getSuffixPattern(contentType)\n : contentType\n options[contentType.replace(/\\//g, '-')] = {\n pattern: RegExp(\n '(' +\n /content-type:\\s*/.source +\n pattern +\n /(?:(?:\\r\\n?|\\n)[\\w-].*)*(?:\\r(?:\\n|(?!\\n))|\\n)/.source +\n ')' + // This is a little interesting:\n // The HTTP format spec required 1 empty line before the body to make everything unambiguous.\n // However, when writing code by hand (e.g. to display on a website) people can forget about this,\n // so we want to be liberal here. We will allow the empty line to be omitted if the first line of\n // the body does not start with a [\\w-] character (as headers do).\n /[^ \\t\\w-][\\s\\S]*/.source,\n 'i'\n ),\n lookbehind: true,\n inside: httpLanguages[contentType]\n }\n }\n }\n if (options) {\n Prism.languages.insertBefore('http', 'header', options)\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = ichigojam\nichigojam.displayName = 'ichigojam'\nichigojam.aliases = []\nfunction ichigojam(Prism) {\n // according to the offical reference (EN)\n // https://ichigojam.net/IchigoJam-en.html\n Prism.languages.ichigojam = {\n comment: /(?:\\B'|REM)(?:[^\\n\\r]*)/i,\n string: {\n pattern: /\"(?:\"\"|[!#$%&'()*,\\/:;<=>?^\\w +\\-.])*\"/,\n greedy: true\n },\n number: /\\B#[0-9A-F]+|\\B`[01]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:E[+-]?\\d+)?/i,\n keyword:\n /\\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GOTO|GSB|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RIGHT|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\\$|\\b)/i,\n function:\n /\\b(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\\$|\\b)/i,\n label: /(?:\\B@\\S+)/,\n operator: /<[=>]?|>=?|\\|\\||&&|[+\\-*\\/=|&^~!]|\\b(?:AND|NOT|OR)\\b/i,\n punctuation: /[\\[,;:()\\]]/\n }\n}\n","'use strict'\n\nmodule.exports = icon\nicon.displayName = 'icon'\nicon.aliases = []\nfunction icon(Prism) {\n Prism.languages.icon = {\n comment: /#.*/,\n string: {\n pattern: /([\"'])(?:(?!\\1)[^\\\\\\r\\n_]|\\\\.|_(?!\\1)(?:\\r\\n|[\\s\\S]))*\\1/,\n greedy: true\n },\n number: /\\b(?:\\d+r[a-z\\d]+|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b|\\.\\d+\\b/i,\n 'builtin-keyword': {\n pattern:\n /&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)\\b/,\n alias: 'variable'\n },\n directive: {\n pattern: /\\$\\w+/,\n alias: 'builtin'\n },\n keyword:\n /\\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)\\b/,\n function: /\\b(?!\\d)\\w+(?=\\s*[({]|\\s*!\\s*\\[)/,\n operator:\n /[+-]:(?!=)|(?:[\\/?@^%&]|\\+\\+?|--?|==?=?|~==?=?|\\*\\*?|\\|\\|\\|?|<(?:->?|<?=?)|>>?=?)(?::=)?|:(?:=:?)?|[!.\\\\|~]/,\n punctuation: /[\\[\\](){},;]/\n }\n}\n","'use strict'\n\nmodule.exports = icuMessageFormat\nicuMessageFormat.displayName = 'icuMessageFormat'\nicuMessageFormat.aliases = []\nfunction icuMessageFormat(Prism) {\n // https://unicode-org.github.io/icu/userguide/format_parse/messages/\n // https://unicode-org.github.io/icu-docs/apidoc/released/icu4j/com/ibm/icu/text/MessageFormat.html\n ;(function (Prism) {\n /**\n * @param {string} source\n * @param {number} level\n * @returns {string}\n */\n function nested(source, level) {\n if (level <= 0) {\n return /[]/.source\n } else {\n return source.replace(/<SELF>/g, function () {\n return nested(source, level - 1)\n })\n }\n }\n var stringPattern = /'[{}:=,](?:[^']|'')*'(?!')/\n var escape = {\n pattern: /''/,\n greedy: true,\n alias: 'operator'\n }\n var string = {\n pattern: stringPattern,\n greedy: true,\n inside: {\n escape: escape\n }\n }\n var argumentSource = nested(\n /\\{(?:[^{}']|'(?![{},'])|''|<STR>|<SELF>)*\\}/.source.replace(\n /<STR>/g,\n function () {\n return stringPattern.source\n }\n ),\n 8\n )\n var nestedMessage = {\n pattern: RegExp(argumentSource),\n inside: {\n message: {\n pattern: /^(\\{)[\\s\\S]+(?=\\}$)/,\n lookbehind: true,\n inside: null // see below\n },\n 'message-delimiter': {\n pattern: /./,\n alias: 'punctuation'\n }\n }\n }\n Prism.languages['icu-message-format'] = {\n argument: {\n pattern: RegExp(argumentSource),\n greedy: true,\n inside: {\n content: {\n pattern: /^(\\{)[\\s\\S]+(?=\\}$)/,\n lookbehind: true,\n inside: {\n 'argument-name': {\n pattern: /^(\\s*)[^{}:=,\\s]+/,\n lookbehind: true\n },\n 'choice-style': {\n // https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classicu_1_1ChoiceFormat.html#details\n pattern: /^(\\s*,\\s*choice\\s*,\\s*)\\S(?:[\\s\\S]*\\S)?/,\n lookbehind: true,\n inside: {\n punctuation: /\\|/,\n range: {\n pattern: /^(\\s*)[+-]?(?:\\d+(?:\\.\\d*)?|\\u221e)\\s*[<#\\u2264]/,\n lookbehind: true,\n inside: {\n operator: /[<#\\u2264]/,\n number: /\\S+/\n }\n },\n rest: null // see below\n }\n },\n 'plural-style': {\n // https://unicode-org.github.io/icu-docs/apidoc/released/icu4j/com/ibm/icu/text/PluralFormat.html#:~:text=Patterns%20and%20Their%20Interpretation\n pattern:\n /^(\\s*,\\s*(?:plural|selectordinal)\\s*,\\s*)\\S(?:[\\s\\S]*\\S)?/,\n lookbehind: true,\n inside: {\n offset: /^offset:\\s*\\d+/,\n 'nested-message': nestedMessage,\n selector: {\n pattern: /=\\d+|[^{}:=,\\s]+/,\n inside: {\n keyword: /^(?:few|many|one|other|two|zero)$/\n }\n }\n }\n },\n 'select-style': {\n // https://unicode-org.github.io/icu-docs/apidoc/released/icu4j/com/ibm/icu/text/SelectFormat.html#:~:text=Patterns%20and%20Their%20Interpretation\n pattern: /^(\\s*,\\s*select\\s*,\\s*)\\S(?:[\\s\\S]*\\S)?/,\n lookbehind: true,\n inside: {\n 'nested-message': nestedMessage,\n selector: {\n pattern: /[^{}:=,\\s]+/,\n inside: {\n keyword: /^other$/\n }\n }\n }\n },\n keyword: /\\b(?:choice|plural|select|selectordinal)\\b/,\n 'arg-type': {\n pattern: /\\b(?:date|duration|number|ordinal|spellout|time)\\b/,\n alias: 'keyword'\n },\n 'arg-skeleton': {\n pattern: /(,\\s*)::[^{}:=,\\s]+/,\n lookbehind: true\n },\n 'arg-style': {\n pattern:\n /(,\\s*)(?:currency|full|integer|long|medium|percent|short)(?=\\s*$)/,\n lookbehind: true\n },\n 'arg-style-text': {\n pattern: RegExp(\n /(^\\s*,\\s*(?=\\S))/.source +\n nested(/(?:[^{}']|'[^']*'|\\{(?:<SELF>)?\\})+/.source, 8) +\n '$'\n ),\n lookbehind: true,\n alias: 'string'\n },\n punctuation: /,/\n }\n },\n 'argument-delimiter': {\n pattern: /./,\n alias: 'operator'\n }\n }\n },\n escape: escape,\n string: string\n }\n nestedMessage.inside.message.inside = Prism.languages['icu-message-format']\n Prism.languages['icu-message-format'].argument.inside.content.inside[\n 'choice-style'\n ].inside.rest = Prism.languages['icu-message-format']\n })(Prism)\n}\n","'use strict'\nvar refractorHaskell = require('./haskell.js')\nmodule.exports = idris\nidris.displayName = 'idris'\nidris.aliases = ['idr']\nfunction idris(Prism) {\n Prism.register(refractorHaskell)\n Prism.languages.idris = Prism.languages.extend('haskell', {\n comment: {\n pattern: /(?:(?:--|\\|\\|\\|).*$|\\{-[\\s\\S]*?-\\})/m\n },\n keyword:\n /\\b(?:Type|case|class|codata|constructor|corecord|data|do|dsl|else|export|if|implementation|implicit|import|impossible|in|infix|infixl|infixr|instance|interface|let|module|mutual|namespace|of|parameters|partial|postulate|private|proof|public|quoteGoal|record|rewrite|syntax|then|total|using|where|with)\\b/,\n builtin: undefined\n })\n Prism.languages.insertBefore('idris', 'keyword', {\n 'import-statement': {\n pattern: /(^\\s*import\\s+)(?:[A-Z][\\w']*)(?:\\.[A-Z][\\w']*)*/m,\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n }\n })\n Prism.languages.idr = Prism.languages.idris\n}\n","'use strict'\n\nmodule.exports = iecst\niecst.displayName = 'iecst'\niecst.aliases = []\nfunction iecst(Prism) {\n Prism.languages.iecst = {\n comment: [\n {\n pattern:\n /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?(?:\\*\\/|$)|\\(\\*[\\s\\S]*?(?:\\*\\)|$)|\\{[\\s\\S]*?(?:\\}|$))/,\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n keyword: [\n /\\b(?:END_)?(?:PROGRAM|CONFIGURATION|INTERFACE|FUNCTION_BLOCK|FUNCTION|ACTION|TRANSITION|TYPE|STRUCT|(?:INITIAL_)?STEP|NAMESPACE|LIBRARY|CHANNEL|FOLDER|RESOURCE|VAR_(?:ACCESS|CONFIG|EXTERNAL|GLOBAL|INPUT|IN_OUT|OUTPUT|TEMP)|VAR|METHOD|PROPERTY)\\b/i,\n /\\b(?:AT|BY|(?:END_)?(?:CASE|FOR|IF|REPEAT|WHILE)|CONSTANT|CONTINUE|DO|ELSE|ELSIF|EXIT|EXTENDS|FROM|GET|GOTO|IMPLEMENTS|JMP|NON_RETAIN|OF|PRIVATE|PROTECTED|PUBLIC|RETAIN|RETURN|SET|TASK|THEN|TO|UNTIL|USING|WITH|__CATCH|__ENDTRY|__FINALLY|__TRY)\\b/\n ],\n 'class-name':\n /\\b(?:ANY|ARRAY|BOOL|BYTE|U?(?:D|L|S)?INT|(?:D|L)?WORD|DATE(?:_AND_TIME)?|DT|L?REAL|POINTER|STRING|TIME(?:_OF_DAY)?|TOD)\\b/,\n address: {\n pattern: /%[IQM][XBWDL][\\d.]*|%[IQ][\\d.]*/,\n alias: 'symbol'\n },\n number:\n /\\b(?:16#[\\da-f]+|2#[01_]+|0x[\\da-f]+)\\b|\\b(?:D|DT|T|TOD)#[\\d_shmd:]*|\\b[A-Z]*#[\\d.,_]*|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n boolean: /\\b(?:FALSE|NULL|TRUE)\\b/,\n operator:\n /S?R?:?=>?|&&?|\\*\\*?|<[=>]?|>=?|[-:^/+#]|\\b(?:AND|EQ|EXPT|GE|GT|LE|LT|MOD|NE|NOT|OR|XOR)\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n punctuation: /[()[\\].,;]/\n }\n}\n","'use strict'\n\nmodule.exports = ignore\nignore.displayName = 'ignore'\nignore.aliases = ['gitignore', 'hgignore', 'npmignore']\nfunction ignore(Prism) {\n ;(function (Prism) {\n Prism.languages.ignore = {\n // https://git-scm.com/docs/gitignore\n comment: /^#.*/m,\n entry: {\n pattern: /\\S(?:.*(?:(?:\\\\ )|\\S))?/,\n alias: 'string',\n inside: {\n operator: /^!|\\*\\*?|\\?/,\n regex: {\n pattern: /(^|[^\\\\])\\[[^\\[\\]]*\\]/,\n lookbehind: true\n },\n punctuation: /\\//\n }\n }\n }\n Prism.languages.gitignore = Prism.languages.ignore\n Prism.languages.hgignore = Prism.languages.ignore\n Prism.languages.npmignore = Prism.languages.ignore\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = inform7\ninform7.displayName = 'inform7'\ninform7.aliases = []\nfunction inform7(Prism) {\n Prism.languages.inform7 = {\n string: {\n pattern: /\"[^\"]*\"/,\n inside: {\n substitution: {\n pattern: /\\[[^\\[\\]]+\\]/,\n inside: {\n delimiter: {\n pattern: /\\[|\\]/,\n alias: 'punctuation'\n } // See rest below\n }\n }\n }\n },\n comment: {\n pattern: /\\[[^\\[\\]]+\\]/,\n greedy: true\n },\n title: {\n pattern: /^[ \\t]*(?:book|chapter|part(?! of)|section|table|volume)\\b.+/im,\n alias: 'important'\n },\n number: {\n pattern:\n /(^|[^-])(?:\\b\\d+(?:\\.\\d+)?(?:\\^\\d+)?(?:(?!\\d)\\w+)?|\\b(?:eight|eleven|five|four|nine|one|seven|six|ten|three|twelve|two))\\b(?!-)/i,\n lookbehind: true\n },\n verb: {\n pattern:\n /(^|[^-])\\b(?:answering|applying to|are|asking|attacking|be(?:ing)?|burning|buying|called|carries|carry(?! out)|carrying|climbing|closing|conceal(?:ing|s)?|consulting|contain(?:ing|s)?|cutting|drinking|dropping|eating|enclos(?:es?|ing)|entering|examining|exiting|getting|giving|going|ha(?:s|ve|ving)|hold(?:ing|s)?|impl(?:ies|y)|incorporat(?:es?|ing)|inserting|is|jumping|kissing|listening|locking|looking|mean(?:ing|s)?|opening|provid(?:es?|ing)|pulling|pushing|putting|relat(?:es?|ing)|removing|searching|see(?:ing|s)?|setting|showing|singing|sleeping|smelling|squeezing|support(?:ing|s)?|swearing|switching|taking|tasting|telling|thinking|throwing|touching|turning|tying|unlock(?:ing|s)?|var(?:ies|y|ying)|waiting|waking|waving|wear(?:ing|s)?)\\b(?!-)/i,\n lookbehind: true,\n alias: 'operator'\n },\n keyword: {\n pattern:\n /(^|[^-])\\b(?:after|before|carry out|check|continue the action|definition(?= *:)|do nothing|else|end (?:if|the story|unless)|every turn|if|include|instead(?: of)?|let|move|no|now|otherwise|repeat|report|resume the story|rule for|running through|say(?:ing)?|stop the action|test|try(?:ing)?|understand|unless|use|when|while|yes)\\b(?!-)/i,\n lookbehind: true\n },\n property: {\n pattern:\n /(^|[^-])\\b(?:adjacent(?! to)|carried|closed|concealed|contained|dark|described|edible|empty|enclosed|enterable|even|female|fixed in place|full|handled|held|improper-named|incorporated|inedible|invisible|lighted|lit|lock(?:able|ed)|male|marked for listing|mentioned|negative|neuter|non-(?:empty|full|recurring)|odd|opaque|open(?:able)?|plural-named|portable|positive|privately-named|proper-named|provided|publically-named|pushable between rooms|recurring|related|rubbing|scenery|seen|singular-named|supported|swinging|switch(?:able|ed(?: off| on)?)|touch(?:able|ed)|transparent|unconcealed|undescribed|unlit|unlocked|unmarked for listing|unmentioned|unopenable|untouchable|unvisited|variable|visible|visited|wearable|worn)\\b(?!-)/i,\n lookbehind: true,\n alias: 'symbol'\n },\n position: {\n pattern:\n /(^|[^-])\\b(?:above|adjacent to|back side of|below|between|down|east|everywhere|front side|here|in|inside(?: from)?|north(?:east|west)?|nowhere|on(?: top of)?|other side|outside(?: from)?|parts? of|regionally in|south(?:east|west)?|through|up|west|within)\\b(?!-)/i,\n lookbehind: true,\n alias: 'keyword'\n },\n type: {\n pattern:\n /(^|[^-])\\b(?:actions?|activit(?:ies|y)|actors?|animals?|backdrops?|containers?|devices?|directions?|doors?|holders?|kinds?|lists?|m[ae]n|nobody|nothing|nouns?|numbers?|objects?|people|persons?|player(?:'s holdall)?|regions?|relations?|rooms?|rule(?:book)?s?|scenes?|someone|something|supporters?|tables?|texts?|things?|time|vehicles?|wom[ae]n)\\b(?!-)/i,\n lookbehind: true,\n alias: 'variable'\n },\n punctuation: /[.,:;(){}]/\n }\n Prism.languages.inform7['string'].inside['substitution'].inside.rest =\n Prism.languages.inform7 // We don't want the remaining text in the substitution to be highlighted as the string.\n Prism.languages.inform7['string'].inside['substitution'].inside.rest.text = {\n pattern: /\\S(?:\\s*\\S)*/,\n alias: 'comment'\n }\n}\n","'use strict'\n\nmodule.exports = ini\nini.displayName = 'ini'\nini.aliases = []\nfunction ini(Prism) {\n Prism.languages.ini = {\n /**\n * The component mimics the behavior of the Win32 API parser.\n *\n * @see {@link https://github.com/PrismJS/prism/issues/2775#issuecomment-787477723}\n */\n comment: {\n pattern: /(^[ \\f\\t\\v]*)[#;][^\\n\\r]*/m,\n lookbehind: true\n },\n section: {\n pattern: /(^[ \\f\\t\\v]*)\\[[^\\n\\r\\]]*\\]?/m,\n lookbehind: true,\n inside: {\n 'section-name': {\n pattern: /(^\\[[ \\f\\t\\v]*)[^ \\f\\t\\v\\]]+(?:[ \\f\\t\\v]+[^ \\f\\t\\v\\]]+)*/,\n lookbehind: true,\n alias: 'selector'\n },\n punctuation: /\\[|\\]/\n }\n },\n key: {\n pattern:\n /(^[ \\f\\t\\v]*)[^ \\f\\n\\r\\t\\v=]+(?:[ \\f\\t\\v]+[^ \\f\\n\\r\\t\\v=]+)*(?=[ \\f\\t\\v]*=)/m,\n lookbehind: true,\n alias: 'attr-name'\n },\n value: {\n pattern: /(=[ \\f\\t\\v]*)[^ \\f\\n\\r\\t\\v]+(?:[ \\f\\t\\v]+[^ \\f\\n\\r\\t\\v]+)*/,\n lookbehind: true,\n alias: 'attr-value',\n inside: {\n 'inner-value': {\n pattern: /^(\"|').+(?=\\1$)/,\n lookbehind: true\n }\n }\n },\n punctuation: /=/\n }\n}\n","'use strict'\n\nmodule.exports = io\nio.displayName = 'io'\nio.aliases = []\nfunction io(Prism) {\n Prism.languages.io = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?(?:\\*\\/|$)|\\/\\/.*|#.*)/,\n lookbehind: true,\n greedy: true\n },\n 'triple-quoted-string': {\n pattern: /\"\"\"(?:\\\\[\\s\\S]|(?!\"\"\")[^\\\\])*\"\"\"/,\n greedy: true,\n alias: 'string'\n },\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\\r\\n\"])*\"/,\n greedy: true\n },\n keyword:\n /\\b(?:activate|activeCoroCount|asString|block|break|call|catch|clone|collectGarbage|compileString|continue|do|doFile|doMessage|doString|else|elseif|exit|for|foreach|forward|getEnvironmentVariable|getSlot|hasSlot|if|ifFalse|ifNil|ifNilEval|ifTrue|isActive|isNil|isResumable|list|message|method|parent|pass|pause|perform|performWithArgList|print|println|proto|raise|raiseResumable|removeSlot|resend|resume|schedulerSleepSeconds|self|sender|setSchedulerSleepSeconds|setSlot|shallowCopy|slotNames|super|system|then|thisBlock|thisContext|try|type|uniqueId|updateSlot|wait|while|write|yield)\\b/,\n builtin:\n /\\b(?:Array|AudioDevice|AudioMixer|BigNum|Block|Box|Buffer|CFunction|CGI|Color|Curses|DBM|DNSResolver|DOConnection|DOProxy|DOServer|Date|Directory|Duration|DynLib|Error|Exception|FFT|File|Fnmatch|Font|Future|GL|GLE|GLScissor|GLU|GLUCylinder|GLUQuadric|GLUSphere|GLUT|Host|Image|Importer|LinkList|List|Lobby|Locals|MD5|MP3Decoder|MP3Encoder|Map|Message|Movie|Notification|Number|Object|OpenGL|Point|Protos|Random|Regex|SGML|SGMLElement|SGMLParser|SQLite|Sequence|Server|ShowMessage|SleepyCat|SleepyCatCursor|Socket|SocketManager|Sound|Soup|Store|String|Tree|UDPSender|UPDReceiver|URL|User|Warning|WeakLink)\\b/,\n boolean: /\\b(?:false|nil|true)\\b/,\n number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e-?\\d+)?/i,\n operator:\n /[=!*/%+\\-^&|]=|>>?=?|<<?=?|:?:?=|\\+\\+?|--?|\\*\\*?|\\/\\/?|%|\\|\\|?|&&?|\\b(?:and|not|or|return)\\b|@@?|\\?\\??|\\.\\./,\n punctuation: /[{}[\\];(),.:]/\n }\n}\n","'use strict'\n\nmodule.exports = j\nj.displayName = 'j'\nj.aliases = []\nfunction j(Prism) {\n Prism.languages.j = {\n comment: {\n pattern: /\\bNB\\..*/,\n greedy: true\n },\n string: {\n pattern: /'(?:''|[^'\\r\\n])*'/,\n greedy: true\n },\n keyword:\n /\\b(?:(?:CR|LF|adverb|conjunction|def|define|dyad|monad|noun|verb)\\b|(?:assert|break|case|catch[dt]?|continue|do|else|elseif|end|fcase|for|for_\\w+|goto_\\w+|if|label_\\w+|return|select|throw|try|while|whilst)\\.)/,\n verb: {\n // Negative look-ahead prevents bad highlighting\n // of ^: ;. =. =: !. !:\n pattern:\n /(?!\\^:|;\\.|[=!][.:])(?:\\{(?:\\.|::?)?|p(?:\\.\\.?|:)|[=!\\]]|[<>+*\\-%$|,#][.:]?|[?^]\\.?|[;\\[]:?|[~}\"i][.:]|[ACeEIjLor]\\.|(?:[_\\/\\\\qsux]|_?\\d):)/,\n alias: 'keyword'\n },\n number:\n /\\b_?(?:(?!\\d:)\\d+(?:\\.\\d+)?(?:(?:ad|ar|[ejpx])_?\\d+(?:\\.\\d+)?)*(?:b_?[\\da-z]+(?:\\.[\\da-z]+)?)?|_\\b(?!\\.))/,\n adverb: {\n pattern: /[~}]|[\\/\\\\]\\.?|[bfM]\\.|t[.:]/,\n alias: 'builtin'\n },\n operator: /[=a][.:]|_\\./,\n conjunction: {\n pattern: /&(?:\\.:?|:)?|[.:@][.:]?|[!D][.:]|[;dHT]\\.|`:?|[\\^LS]:|\"/,\n alias: 'variable'\n },\n punctuation: /[()]/\n }\n}\n","'use strict'\n\nmodule.exports = java\njava.displayName = 'java'\njava.aliases = []\nfunction java(Prism) {\n ;(function (Prism) {\n var keywords =\n /\\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\\b/ // full package (optional) + parent classes (optional)\n var classNamePrefix = /(^|[^\\w.])(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*/\n .source // based on the java naming conventions\n var className = {\n pattern: RegExp(classNamePrefix + /[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b/.source),\n lookbehind: true,\n inside: {\n namespace: {\n pattern: /^[a-z]\\w*(?:\\s*\\.\\s*[a-z]\\w*)*(?:\\s*\\.)?/,\n inside: {\n punctuation: /\\./\n }\n },\n punctuation: /\\./\n }\n }\n Prism.languages.java = Prism.languages.extend('clike', {\n string: {\n pattern: /(^|[^\\\\])\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n lookbehind: true,\n greedy: true\n },\n 'class-name': [\n className,\n {\n // variables and parameters\n // this to support class names (or generic parameters) which do not contain a lower case letter (also works for methods)\n pattern: RegExp(\n classNamePrefix + /[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()])/.source\n ),\n lookbehind: true,\n inside: className.inside\n }\n ],\n keyword: keywords,\n function: [\n Prism.languages.clike.function,\n {\n pattern: /(::\\s*)[a-z_]\\w*/,\n lookbehind: true\n }\n ],\n number:\n /\\b0b[01][01_]*L?\\b|\\b0x(?:\\.[\\da-f_p+-]+|[\\da-f_]+(?:\\.[\\da-f_p+-]+)?)\\b|(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfl]?/i,\n operator: {\n pattern:\n /(^|[^.])(?:<<=?|>>>?=?|->|--|\\+\\+|&&|\\|\\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,\n lookbehind: true\n }\n })\n Prism.languages.insertBefore('java', 'string', {\n 'triple-quoted-string': {\n // http://openjdk.java.net/jeps/355#Description\n pattern: /\"\"\"[ \\t]*[\\r\\n](?:(?:\"|\"\")?(?:\\\\.|[^\"\\\\]))*\"\"\"/,\n greedy: true,\n alias: 'string'\n },\n char: {\n pattern: /'(?:\\\\.|[^'\\\\\\r\\n]){1,6}'/,\n greedy: true\n }\n })\n Prism.languages.insertBefore('java', 'class-name', {\n annotation: {\n pattern: /(^|[^.])@\\w+(?:\\s*\\.\\s*\\w+)*/,\n lookbehind: true,\n alias: 'punctuation'\n },\n generics: {\n pattern:\n /<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&))*>)*>)*>)*>/,\n inside: {\n 'class-name': className,\n keyword: keywords,\n punctuation: /[<>(),.:]/,\n operator: /[?&|]/\n }\n },\n namespace: {\n pattern: RegExp(\n /(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?/.source.replace(\n /<keyword>/g,\n function () {\n return keywords.source\n }\n )\n ),\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n }\n })\n })(Prism)\n}\n","'use strict'\nvar refractorJava = require('./java.js')\nvar refractorJavadoclike = require('./javadoclike.js')\nmodule.exports = javadoc\njavadoc.displayName = 'javadoc'\njavadoc.aliases = []\nfunction javadoc(Prism) {\n Prism.register(refractorJava)\n Prism.register(refractorJavadoclike)\n ;(function (Prism) {\n var codeLinePattern = /(^(?:[\\t ]*(?:\\*\\s*)*))[^*\\s].*$/m\n var memberReference = /#\\s*\\w+(?:\\s*\\([^()]*\\))?/.source\n var reference =\n /(?:\\b[a-zA-Z]\\w+\\s*\\.\\s*)*\\b[A-Z]\\w*(?:\\s*<mem>)?|<mem>/.source.replace(\n /<mem>/g,\n function () {\n return memberReference\n }\n )\n Prism.languages.javadoc = Prism.languages.extend('javadoclike', {})\n Prism.languages.insertBefore('javadoc', 'keyword', {\n reference: {\n pattern: RegExp(\n /(@(?:exception|link|linkplain|see|throws|value)\\s+(?:\\*\\s*)?)/\n .source +\n '(?:' +\n reference +\n ')'\n ),\n lookbehind: true,\n inside: {\n function: {\n pattern: /(#\\s*)\\w+(?=\\s*\\()/,\n lookbehind: true\n },\n field: {\n pattern: /(#\\s*)\\w+/,\n lookbehind: true\n },\n namespace: {\n pattern: /\\b(?:[a-z]\\w*\\s*\\.\\s*)+/,\n inside: {\n punctuation: /\\./\n }\n },\n 'class-name': /\\b[A-Z]\\w*/,\n keyword: Prism.languages.java.keyword,\n punctuation: /[#()[\\],.]/\n }\n },\n 'class-name': {\n // @param <T> the first generic type parameter\n pattern: /(@param\\s+)<[A-Z]\\w*>/,\n lookbehind: true,\n inside: {\n punctuation: /[.<>]/\n }\n },\n 'code-section': [\n {\n pattern:\n /(\\{@code\\s+(?!\\s))(?:[^\\s{}]|\\s+(?![\\s}])|\\{(?:[^{}]|\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})*\\})*\\})+(?=\\s*\\})/,\n lookbehind: true,\n inside: {\n code: {\n // there can't be any HTML inside of {@code} tags\n pattern: codeLinePattern,\n lookbehind: true,\n inside: Prism.languages.java,\n alias: 'language-java'\n }\n }\n },\n {\n pattern:\n /(<(code|pre|tt)>(?!<code>)\\s*)\\S(?:\\S|\\s+\\S)*?(?=\\s*<\\/\\2>)/,\n lookbehind: true,\n inside: {\n line: {\n pattern: codeLinePattern,\n lookbehind: true,\n inside: {\n // highlight HTML tags and entities\n tag: Prism.languages.markup.tag,\n entity: Prism.languages.markup.entity,\n code: {\n // everything else is Java code\n pattern: /.+/,\n inside: Prism.languages.java,\n alias: 'language-java'\n }\n }\n }\n }\n }\n ],\n tag: Prism.languages.markup.tag,\n entity: Prism.languages.markup.entity\n })\n Prism.languages.javadoclike.addSupport('java', Prism.languages.javadoc)\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = javadoclike\njavadoclike.displayName = 'javadoclike'\njavadoclike.aliases = []\nfunction javadoclike(Prism) {\n ;(function (Prism) {\n var javaDocLike = (Prism.languages.javadoclike = {\n parameter: {\n pattern:\n /(^[\\t ]*(?:\\/{3}|\\*|\\/\\*\\*)\\s*@(?:arg|arguments|param)\\s+)\\w+/m,\n lookbehind: true\n },\n keyword: {\n // keywords are the first word in a line preceded be an `@` or surrounded by curly braces.\n // @word, {@word}\n pattern: /(^[\\t ]*(?:\\/{3}|\\*|\\/\\*\\*)\\s*|\\{)@[a-z][a-zA-Z-]+\\b/m,\n lookbehind: true\n },\n punctuation: /[{}]/\n })\n /**\n * Adds doc comment support to the given language and calls a given callback on each doc comment pattern.\n *\n * @param {string} lang the language add doc comment support to.\n * @param {(pattern: {inside: {rest: undefined}}) => void} callback the function called with each doc comment pattern as argument.\n */\n function docCommentSupport(lang, callback) {\n var tokenName = 'doc-comment'\n var grammar = Prism.languages[lang]\n if (!grammar) {\n return\n }\n var token = grammar[tokenName]\n if (!token) {\n // add doc comment: /** */\n var definition = {}\n definition[tokenName] = {\n pattern: /(^|[^\\\\])\\/\\*\\*[^/][\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true,\n alias: 'comment'\n }\n grammar = Prism.languages.insertBefore(lang, 'comment', definition)\n token = grammar[tokenName]\n }\n if (token instanceof RegExp) {\n // convert regex to object\n token = grammar[tokenName] = {\n pattern: token\n }\n }\n if (Array.isArray(token)) {\n for (var i = 0, l = token.length; i < l; i++) {\n if (token[i] instanceof RegExp) {\n token[i] = {\n pattern: token[i]\n }\n }\n callback(token[i])\n }\n } else {\n callback(token)\n }\n }\n /**\n * Adds doc-comment support to the given languages for the given documentation language.\n *\n * @param {string[]|string} languages\n * @param {Object} docLanguage\n */\n function addSupport(languages, docLanguage) {\n if (typeof languages === 'string') {\n languages = [languages]\n }\n languages.forEach(function (lang) {\n docCommentSupport(lang, function (pattern) {\n if (!pattern.inside) {\n pattern.inside = {}\n }\n pattern.inside.rest = docLanguage\n })\n })\n }\n Object.defineProperty(javaDocLike, 'addSupport', {\n value: addSupport\n })\n javaDocLike.addSupport(['java', 'javascript', 'php'], javaDocLike)\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = javascript\njavascript.displayName = 'javascript'\njavascript.aliases = ['js']\nfunction javascript(Prism) {\n Prism.languages.javascript = Prism.languages.extend('clike', {\n 'class-name': [\n Prism.languages.clike['class-name'],\n {\n pattern:\n /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n lookbehind: true\n }\n ],\n keyword: [\n {\n pattern: /((?:^|\\})\\s*)catch\\b/,\n lookbehind: true\n },\n {\n pattern:\n /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n lookbehind: true\n }\n ],\n // Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n function:\n /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n number: {\n pattern: RegExp(\n /(^|[^\\w$])/.source +\n '(?:' + // constant\n (/NaN|Infinity/.source +\n '|' + // binary integer\n /0[bB][01]+(?:_[01]+)*n?/.source +\n '|' + // octal integer\n /0[oO][0-7]+(?:_[0-7]+)*n?/.source +\n '|' + // hexadecimal integer\n /0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source +\n '|' + // decimal bigint\n /\\d+(?:_\\d+)*n/.source +\n '|' + // decimal number (integer or float) but no bigint\n /(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/\n .source) +\n ')' +\n /(?![\\w$])/.source\n ),\n lookbehind: true\n },\n operator:\n /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n })\n Prism.languages.javascript['class-name'][0].pattern =\n /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/\n Prism.languages.insertBefore('javascript', 'keyword', {\n regex: {\n // eslint-disable-next-line regexp/no-dupe-characters-character-class\n pattern:\n /((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)\\/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/,\n lookbehind: true,\n greedy: true,\n inside: {\n 'regex-source': {\n pattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n lookbehind: true,\n alias: 'language-regex',\n inside: Prism.languages.regex\n },\n 'regex-delimiter': /^\\/|\\/$/,\n 'regex-flags': /^[a-z]+$/\n }\n },\n // This must be declared before keyword because we use \"function\" inside the look-forward\n 'function-variable': {\n pattern:\n /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n alias: 'function'\n },\n parameter: [\n {\n pattern:\n /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n {\n pattern:\n /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n {\n pattern:\n /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n {\n pattern:\n /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,\n lookbehind: true,\n inside: Prism.languages.javascript\n }\n ],\n constant: /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n })\n Prism.languages.insertBefore('javascript', 'string', {\n hashbang: {\n pattern: /^#!.*/,\n greedy: true,\n alias: 'comment'\n },\n 'template-string': {\n pattern:\n /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n greedy: true,\n inside: {\n 'template-punctuation': {\n pattern: /^`|`$/,\n alias: 'string'\n },\n interpolation: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n lookbehind: true,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^\\$\\{|\\}$/,\n alias: 'punctuation'\n },\n rest: Prism.languages.javascript\n }\n },\n string: /[\\s\\S]+/\n }\n },\n 'string-property': {\n pattern:\n /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n lookbehind: true,\n greedy: true,\n alias: 'property'\n }\n })\n Prism.languages.insertBefore('javascript', 'operator', {\n 'literal-property': {\n pattern:\n /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n lookbehind: true,\n alias: 'property'\n }\n })\n if (Prism.languages.markup) {\n Prism.languages.markup.tag.addInlined('script', 'javascript') // add attribute support for all DOM events.\n // https://developer.mozilla.org/en-US/docs/Web/Events#Standard_events\n Prism.languages.markup.tag.addAttribute(\n /on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/\n .source,\n 'javascript'\n )\n }\n Prism.languages.js = Prism.languages.javascript\n}\n","'use strict'\n\nmodule.exports = javastacktrace\njavastacktrace.displayName = 'javastacktrace'\njavastacktrace.aliases = []\nfunction javastacktrace(Prism) {\n // Specification:\n // https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Throwable.html#printStackTrace()\n Prism.languages.javastacktrace = {\n // java.sql.SQLException: Violation of unique constraint MY_ENTITY_UK_1: duplicate value(s) for column(s) MY_COLUMN in statement [...]\n // Caused by: java.sql.SQLException: Violation of unique constraint MY_ENTITY_UK_1: duplicate value(s) for column(s) MY_COLUMN in statement [...]\n // Caused by: com.example.myproject.MyProjectServletException\n // Caused by: MidLevelException: LowLevelException\n // Suppressed: Resource$CloseFailException: Resource ID = 0\n summary: {\n pattern:\n /^([\\t ]*)(?:(?:Caused by:|Suppressed:|Exception in thread \"[^\"]*\")[\\t ]+)?[\\w$.]+(?::.*)?$/m,\n lookbehind: true,\n inside: {\n keyword: {\n pattern:\n /^([\\t ]*)(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m,\n lookbehind: true\n },\n // the current thread if the summary starts with 'Exception in thread'\n string: {\n pattern: /^(\\s*)\"[^\"]*\"/,\n lookbehind: true\n },\n exceptions: {\n pattern: /^(:?\\s*)[\\w$.]+(?=:|$)/,\n lookbehind: true,\n inside: {\n 'class-name': /[\\w$]+$/,\n namespace: /\\b[a-z]\\w*\\b/,\n punctuation: /\\./\n }\n },\n message: {\n pattern: /(:\\s*)\\S.*/,\n lookbehind: true,\n alias: 'string'\n },\n punctuation: /:/\n }\n },\n // at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)\n // at org.hsqldb.jdbc.Util.throwError(Unknown Source) here could be some notes\n // at java.base/java.lang.Class.forName0(Native Method)\n // at Util.<init>(Unknown Source)\n // at com.foo.loader/foo@9.0/com.foo.Main.run(Main.java:101)\n // at com.foo.loader//com.foo.bar.App.run(App.java:12)\n // at acme@2.1/org.acme.Lib.test(Lib.java:80)\n // at MyClass.mash(MyClass.java:9)\n //\n // More information:\n // https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/StackTraceElement.html#toString()\n //\n // A valid Java module name is defined as:\n // \"A module name consists of one or more Java identifiers (§3.8) separated by \".\" tokens.\"\n // https://docs.oracle.com/javase/specs/jls/se9/html/jls-6.html#jls-ModuleName\n //\n // A Java module version is defined by this class:\n // https://docs.oracle.com/javase/9/docs/api/java/lang/module/ModuleDescriptor.Version.html\n // This is the implementation of the `parse` method in JDK13:\n // https://github.com/matcdac/jdk/blob/2305df71d1b7710266ae0956d73927a225132c0f/src/java.base/share/classes/java/lang/module/ModuleDescriptor.java#L1108\n // However, to keep this simple, a version will be matched by the pattern /@[\\w$.+-]*/.\n 'stack-frame': {\n pattern: /^([\\t ]*)at (?:[\\w$./]|@[\\w$.+-]*\\/)+(?:<init>)?\\([^()]*\\)/m,\n lookbehind: true,\n inside: {\n keyword: {\n pattern: /^(\\s*)at(?= )/,\n lookbehind: true\n },\n source: [\n // (Main.java:15)\n // (Main.scala:15)\n {\n pattern: /(\\()\\w+\\.\\w+:\\d+(?=\\))/,\n lookbehind: true,\n inside: {\n file: /^\\w+\\.\\w+/,\n punctuation: /:/,\n 'line-number': {\n pattern: /\\b\\d+\\b/,\n alias: 'number'\n }\n }\n }, // (Unknown Source)\n // (Native Method)\n // (...something...)\n {\n pattern: /(\\()[^()]*(?=\\))/,\n lookbehind: true,\n inside: {\n keyword: /^(?:Native Method|Unknown Source)$/\n }\n }\n ],\n 'class-name': /[\\w$]+(?=\\.(?:<init>|[\\w$]+)\\()/,\n function: /(?:<init>|[\\w$]+)(?=\\()/,\n 'class-loader': {\n pattern: /(\\s)[a-z]\\w*(?:\\.[a-z]\\w*)*(?=\\/[\\w@$.]*\\/)/,\n lookbehind: true,\n alias: 'namespace',\n inside: {\n punctuation: /\\./\n }\n },\n module: {\n pattern: /([\\s/])[a-z]\\w*(?:\\.[a-z]\\w*)*(?:@[\\w$.+-]*)?(?=\\/)/,\n lookbehind: true,\n inside: {\n version: {\n pattern: /(@)[\\s\\S]+/,\n lookbehind: true,\n alias: 'number'\n },\n punctuation: /[@.]/\n }\n },\n namespace: {\n pattern: /(?:\\b[a-z]\\w*\\.)+/,\n inside: {\n punctuation: /\\./\n }\n },\n punctuation: /[()/.]/\n }\n },\n // ... 32 more\n // ... 32 common frames omitted\n more: {\n pattern: /^([\\t ]*)\\.{3} \\d+ [a-z]+(?: [a-z]+)*/m,\n lookbehind: true,\n inside: {\n punctuation: /\\.{3}/,\n number: /\\d+/,\n keyword: /\\b[a-z]+(?: [a-z]+)*\\b/\n }\n }\n }\n}\n","'use strict'\n\nmodule.exports = jexl\njexl.displayName = 'jexl'\njexl.aliases = []\nfunction jexl(Prism) {\n Prism.languages.jexl = {\n string: /([\"'])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n transform: {\n pattern:\n /(\\|\\s*)[a-zA-Zа-яА-Я_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u00FF$][\\wа-яА-Я\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u00FF$]*/,\n alias: 'function',\n lookbehind: true\n },\n function:\n /[a-zA-Zа-яА-Я_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u00FF$][\\wа-яА-Я\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u00FF$]*\\s*(?=\\()/,\n number: /\\b\\d+(?:\\.\\d+)?\\b|\\B\\.\\d+\\b/,\n operator: /[<>!]=?|-|\\+|&&|==|\\|\\|?|\\/\\/?|[?:*^%]/,\n boolean: /\\b(?:false|true)\\b/,\n keyword: /\\bin\\b/,\n punctuation: /[{}[\\](),.]/\n }\n}\n","'use strict'\n\nmodule.exports = jolie\njolie.displayName = 'jolie'\njolie.aliases = []\nfunction jolie(Prism) {\n Prism.languages.jolie = Prism.languages.extend('clike', {\n string: {\n pattern: /(^|[^\\\\])\"(?:\\\\[\\s\\S]|[^\"\\\\])*\"/,\n lookbehind: true,\n greedy: true\n },\n 'class-name': {\n pattern:\n /((?:\\b(?:as|courier|embed|in|inputPort|outputPort|service)\\b|@)[ \\t]*)\\w+/,\n lookbehind: true\n },\n keyword:\n /\\b(?:as|cH|comp|concurrent|constants|courier|cset|csets|default|define|else|embed|embedded|execution|exit|extender|for|foreach|forward|from|global|if|import|in|include|init|inputPort|install|instanceof|interface|is_defined|linkIn|linkOut|main|new|nullProcess|outputPort|over|private|provide|public|scope|sequential|service|single|spawn|synchronized|this|throw|throws|type|undef|until|while|with)\\b/,\n function: /\\b[a-z_]\\w*(?=[ \\t]*[@(])/i,\n number: /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?l?/i,\n operator: /-[-=>]?|\\+[+=]?|<[<=]?|[>=*!]=?|&&|\\|\\||[?\\/%^@|]/,\n punctuation: /[()[\\]{},;.:]/,\n builtin:\n /\\b(?:Byte|any|bool|char|double|enum|float|int|length|long|ranges|regex|string|undefined|void)\\b/\n })\n Prism.languages.insertBefore('jolie', 'keyword', {\n aggregates: {\n pattern:\n /(\\bAggregates\\s*:\\s*)(?:\\w+(?:\\s+with\\s+\\w+)?\\s*,\\s*)*\\w+(?:\\s+with\\s+\\w+)?/,\n lookbehind: true,\n inside: {\n keyword: /\\bwith\\b/,\n 'class-name': /\\w+/,\n punctuation: /,/\n }\n },\n redirects: {\n pattern:\n /(\\bRedirects\\s*:\\s*)(?:\\w+\\s*=>\\s*\\w+\\s*,\\s*)*(?:\\w+\\s*=>\\s*\\w+)/,\n lookbehind: true,\n inside: {\n punctuation: /,/,\n 'class-name': /\\w+/,\n operator: /=>/\n }\n },\n property: {\n pattern:\n /\\b(?:Aggregates|[Ii]nterfaces|Java|Javascript|Jolie|[Ll]ocation|OneWay|[Pp]rotocol|Redirects|RequestResponse)\\b(?=[ \\t]*:)/\n }\n })\n}\n","'use strict'\n\nmodule.exports = jq\njq.displayName = 'jq'\njq.aliases = []\nfunction jq(Prism) {\n ;(function (Prism) {\n var interpolation = /\\\\\\((?:[^()]|\\([^()]*\\))*\\)/.source\n var string = RegExp(\n /(^|[^\\\\])\"(?:[^\"\\r\\n\\\\]|\\\\[^\\r\\n(]|__)*\"/.source.replace(\n /__/g,\n function () {\n return interpolation\n }\n )\n )\n var stringInterpolation = {\n interpolation: {\n pattern: RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source + interpolation),\n lookbehind: true,\n inside: {\n content: {\n pattern: /^(\\\\\\()[\\s\\S]+(?=\\)$)/,\n lookbehind: true,\n inside: null // see below\n },\n punctuation: /^\\\\\\(|\\)$/\n }\n }\n }\n var jq = (Prism.languages.jq = {\n comment: /#.*/,\n property: {\n pattern: RegExp(string.source + /(?=\\s*:(?!:))/.source),\n lookbehind: true,\n greedy: true,\n inside: stringInterpolation\n },\n string: {\n pattern: string,\n lookbehind: true,\n greedy: true,\n inside: stringInterpolation\n },\n function: {\n pattern: /(\\bdef\\s+)[a-z_]\\w+/i,\n lookbehind: true\n },\n variable: /\\B\\$\\w+/,\n 'property-literal': {\n pattern: /\\b[a-z_]\\w*(?=\\s*:(?!:))/i,\n alias: 'property'\n },\n keyword:\n /\\b(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n number: /(?:\\b\\d+\\.|\\B\\.)?\\b\\d+(?:[eE][+-]?\\d+)?\\b/,\n operator: [\n {\n pattern: /\\|=?/,\n alias: 'pipe'\n },\n /\\.\\.|[!=<>]?=|\\?\\/\\/|\\/\\/=?|[-+*/%]=?|[<>?]|\\b(?:and|not|or)\\b/\n ],\n 'c-style-function': {\n pattern: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n alias: 'function'\n },\n punctuation: /::|[()\\[\\]{},:;]|\\.(?=\\s*[\\[\\w$])/,\n dot: {\n pattern: /\\./,\n alias: 'important'\n }\n })\n stringInterpolation.interpolation.inside.content.inside = jq\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = jsExtras\njsExtras.displayName = 'jsExtras'\njsExtras.aliases = []\nfunction jsExtras(Prism) {\n ;(function (Prism) {\n Prism.languages.insertBefore('javascript', 'function-variable', {\n 'method-variable': {\n pattern: RegExp(\n '(\\\\.\\\\s*)' +\n Prism.languages.javascript['function-variable'].pattern.source\n ),\n lookbehind: true,\n alias: ['function-variable', 'method', 'function', 'property-access']\n }\n })\n Prism.languages.insertBefore('javascript', 'function', {\n method: {\n pattern: RegExp(\n '(\\\\.\\\\s*)' + Prism.languages.javascript['function'].source\n ),\n lookbehind: true,\n alias: ['function', 'property-access']\n }\n })\n Prism.languages.insertBefore('javascript', 'constant', {\n 'known-class-name': [\n {\n // standard built-ins\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\n pattern:\n /\\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\\b/,\n alias: 'class-name'\n },\n {\n // errors\n pattern: /\\b(?:[A-Z]\\w*)Error\\b/,\n alias: 'class-name'\n }\n ]\n })\n /**\n * Replaces the `<ID>` placeholder in the given pattern with a pattern for general JS identifiers.\n *\n * @param {string} source\n * @param {string} [flags]\n * @returns {RegExp}\n */\n function withId(source, flags) {\n return RegExp(\n source.replace(/<ID>/g, function () {\n return /(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/.source\n }),\n flags\n )\n }\n Prism.languages.insertBefore('javascript', 'keyword', {\n imports: {\n // https://tc39.es/ecma262/#sec-imports\n pattern: withId(\n /(\\bimport\\b\\s*)(?:<ID>(?:\\s*,\\s*(?:\\*\\s*as\\s+<ID>|\\{[^{}]*\\}))?|\\*\\s*as\\s+<ID>|\\{[^{}]*\\})(?=\\s*\\bfrom\\b)/\n .source\n ),\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n exports: {\n // https://tc39.es/ecma262/#sec-exports\n pattern: withId(\n /(\\bexport\\b\\s*)(?:\\*(?:\\s*as\\s+<ID>)?(?=\\s*\\bfrom\\b)|\\{[^{}]*\\})/\n .source\n ),\n lookbehind: true,\n inside: Prism.languages.javascript\n }\n })\n Prism.languages.javascript['keyword'].unshift(\n {\n pattern: /\\b(?:as|default|export|from|import)\\b/,\n alias: 'module'\n },\n {\n pattern:\n /\\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\\b/,\n alias: 'control-flow'\n },\n {\n pattern: /\\bnull\\b/,\n alias: ['null', 'nil']\n },\n {\n pattern: /\\bundefined\\b/,\n alias: 'nil'\n }\n )\n Prism.languages.insertBefore('javascript', 'operator', {\n spread: {\n pattern: /\\.{3}/,\n alias: 'operator'\n },\n arrow: {\n pattern: /=>/,\n alias: 'operator'\n }\n })\n Prism.languages.insertBefore('javascript', 'punctuation', {\n 'property-access': {\n pattern: withId(/(\\.\\s*)#?<ID>/.source),\n lookbehind: true\n },\n 'maybe-class-name': {\n pattern: /(^|[^$\\w\\xA0-\\uFFFF])[A-Z][$\\w\\xA0-\\uFFFF]+/,\n lookbehind: true\n },\n dom: {\n // this contains only a few commonly used DOM variables\n pattern:\n /\\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\\b/,\n alias: 'variable'\n },\n console: {\n pattern: /\\bconsole(?=\\s*\\.)/,\n alias: 'class-name'\n }\n }) // add 'maybe-class-name' to tokens which might be a class name\n var maybeClassNameTokens = [\n 'function',\n 'function-variable',\n 'method',\n 'method-variable',\n 'property-access'\n ]\n for (var i = 0; i < maybeClassNameTokens.length; i++) {\n var token = maybeClassNameTokens[i]\n var value = Prism.languages.javascript[token] // convert regex to object\n if (Prism.util.type(value) === 'RegExp') {\n value = Prism.languages.javascript[token] = {\n pattern: value\n }\n } // keep in mind that we don't support arrays\n var inside = value.inside || {}\n value.inside = inside\n inside['maybe-class-name'] = /^[A-Z][\\s\\S]*/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = jsTemplates\njsTemplates.displayName = 'jsTemplates'\njsTemplates.aliases = []\nfunction jsTemplates(Prism) {\n ;(function (Prism) {\n var templateString = Prism.languages.javascript['template-string'] // see the pattern in prism-javascript.js\n var templateLiteralPattern = templateString.pattern.source\n var interpolationObject = templateString.inside['interpolation']\n var interpolationPunctuationObject =\n interpolationObject.inside['interpolation-punctuation']\n var interpolationPattern = interpolationObject.pattern.source\n /**\n * Creates a new pattern to match a template string with a special tag.\n *\n * This will return `undefined` if there is no grammar with the given language id.\n *\n * @param {string} language The language id of the embedded language. E.g. `markdown`.\n * @param {string} tag The regex pattern to match the tag.\n * @returns {object | undefined}\n * @example\n * createTemplate('css', /\\bcss/.source);\n */\n function createTemplate(language, tag) {\n if (!Prism.languages[language]) {\n return undefined\n }\n return {\n pattern: RegExp('((?:' + tag + ')\\\\s*)' + templateLiteralPattern),\n lookbehind: true,\n greedy: true,\n inside: {\n 'template-punctuation': {\n pattern: /^`|`$/,\n alias: 'string'\n },\n 'embedded-code': {\n pattern: /[\\s\\S]+/,\n alias: language\n }\n }\n }\n }\n Prism.languages.javascript['template-string'] = [\n // styled-jsx:\n // css`a { color: #25F; }`\n // styled-components:\n // styled.h1`color: red;`\n createTemplate(\n 'css',\n /\\b(?:styled(?:\\([^)]*\\))?(?:\\s*\\.\\s*\\w+(?:\\([^)]*\\))*)*|css(?:\\s*\\.\\s*(?:global|resolve))?|createGlobalStyle|keyframes)/\n .source\n ), // html`<p></p>`\n // div.innerHTML = `<p></p>`\n createTemplate('html', /\\bhtml|\\.\\s*(?:inner|outer)HTML\\s*\\+?=/.source), // svg`<path fill=\"#fff\" d=\"M55.37 ...\"/>`\n createTemplate('svg', /\\bsvg/.source), // md`# h1`, markdown`## h2`\n createTemplate('markdown', /\\b(?:markdown|md)/.source), // gql`...`, graphql`...`, graphql.experimental`...`\n createTemplate(\n 'graphql',\n /\\b(?:gql|graphql(?:\\s*\\.\\s*experimental)?)/.source\n ), // sql`...`\n createTemplate('sql', /\\bsql/.source), // vanilla template string\n templateString\n ].filter(Boolean)\n /**\n * Returns a specific placeholder literal for the given language.\n *\n * @param {number} counter\n * @param {string} language\n * @returns {string}\n */\n function getPlaceholder(counter, language) {\n return '___' + language.toUpperCase() + '_' + counter + '___'\n }\n /**\n * Returns the tokens of `Prism.tokenize` but also runs the `before-tokenize` and `after-tokenize` hooks.\n *\n * @param {string} code\n * @param {any} grammar\n * @param {string} language\n * @returns {(string|Token)[]}\n */\n function tokenizeWithHooks(code, grammar, language) {\n var env = {\n code: code,\n grammar: grammar,\n language: language\n }\n Prism.hooks.run('before-tokenize', env)\n env.tokens = Prism.tokenize(env.code, env.grammar)\n Prism.hooks.run('after-tokenize', env)\n return env.tokens\n }\n /**\n * Returns the token of the given JavaScript interpolation expression.\n *\n * @param {string} expression The code of the expression. E.g. `\"${42}\"`\n * @returns {Token}\n */\n function tokenizeInterpolationExpression(expression) {\n var tempGrammar = {}\n tempGrammar['interpolation-punctuation'] = interpolationPunctuationObject\n /** @type {Array} */\n var tokens = Prism.tokenize(expression, tempGrammar)\n if (tokens.length === 3) {\n /**\n * The token array will look like this\n * [\n * [\"interpolation-punctuation\", \"${\"]\n * \"...\" // JavaScript expression of the interpolation\n * [\"interpolation-punctuation\", \"}\"]\n * ]\n */\n var args = [1, 1]\n args.push.apply(\n args,\n tokenizeWithHooks(tokens[1], Prism.languages.javascript, 'javascript')\n )\n tokens.splice.apply(tokens, args)\n }\n return new Prism.Token(\n 'interpolation',\n tokens,\n interpolationObject.alias,\n expression\n )\n }\n /**\n * Tokenizes the given code with support for JavaScript interpolation expressions mixed in.\n *\n * This function has 3 phases:\n *\n * 1. Replace all JavaScript interpolation expression with a placeholder.\n * The placeholder will have the syntax of a identify of the target language.\n * 2. Tokenize the code with placeholders.\n * 3. Tokenize the interpolation expressions and re-insert them into the tokenize code.\n * The insertion only works if a placeholder hasn't been \"ripped apart\" meaning that the placeholder has been\n * tokenized as two tokens by the grammar of the embedded language.\n *\n * @param {string} code\n * @param {object} grammar\n * @param {string} language\n * @returns {Token}\n */\n function tokenizeEmbedded(code, grammar, language) {\n // 1. First filter out all interpolations\n // because they might be escaped, we need a lookbehind, so we use Prism\n /** @type {(Token|string)[]} */\n var _tokens = Prism.tokenize(code, {\n interpolation: {\n pattern: RegExp(interpolationPattern),\n lookbehind: true\n }\n }) // replace all interpolations with a placeholder which is not in the code already\n var placeholderCounter = 0\n /** @type {Object<string, string>} */\n var placeholderMap = {}\n var embeddedCode = _tokens\n .map(function (token) {\n if (typeof token === 'string') {\n return token\n } else {\n var interpolationExpression = token.content\n var placeholder\n while (\n code.indexOf(\n (placeholder = getPlaceholder(placeholderCounter++, language))\n ) !== -1\n ) {\n /* noop */\n }\n placeholderMap[placeholder] = interpolationExpression\n return placeholder\n }\n })\n .join('') // 2. Tokenize the embedded code\n var embeddedTokens = tokenizeWithHooks(embeddedCode, grammar, language) // 3. Re-insert the interpolation\n var placeholders = Object.keys(placeholderMap)\n placeholderCounter = 0\n /**\n *\n * @param {(Token|string)[]} tokens\n * @returns {void}\n */\n function walkTokens(tokens) {\n for (var i = 0; i < tokens.length; i++) {\n if (placeholderCounter >= placeholders.length) {\n return\n }\n var token = tokens[i]\n if (typeof token === 'string' || typeof token.content === 'string') {\n var placeholder = placeholders[placeholderCounter]\n var s =\n typeof token === 'string'\n ? token\n : /** @type {string} */\n token.content\n var index = s.indexOf(placeholder)\n if (index !== -1) {\n ++placeholderCounter\n var before = s.substring(0, index)\n var middle = tokenizeInterpolationExpression(\n placeholderMap[placeholder]\n )\n var after = s.substring(index + placeholder.length)\n var replacement = []\n if (before) {\n replacement.push(before)\n }\n replacement.push(middle)\n if (after) {\n var afterTokens = [after]\n walkTokens(afterTokens)\n replacement.push.apply(replacement, afterTokens)\n }\n if (typeof token === 'string') {\n tokens.splice.apply(tokens, [i, 1].concat(replacement))\n i += replacement.length - 1\n } else {\n token.content = replacement\n }\n }\n } else {\n var content = token.content\n if (Array.isArray(content)) {\n walkTokens(content)\n } else {\n walkTokens([content])\n }\n }\n }\n }\n walkTokens(embeddedTokens)\n return new Prism.Token(\n language,\n embeddedTokens,\n 'language-' + language,\n code\n )\n }\n /**\n * The languages for which JS templating will handle tagged template literals.\n *\n * JS templating isn't active for only JavaScript but also related languages like TypeScript, JSX, and TSX.\n */\n var supportedLanguages = {\n javascript: true,\n js: true,\n typescript: true,\n ts: true,\n jsx: true,\n tsx: true\n }\n Prism.hooks.add('after-tokenize', function (env) {\n if (!(env.language in supportedLanguages)) {\n return\n }\n /**\n * Finds and tokenizes all template strings with an embedded languages.\n *\n * @param {(Token | string)[]} tokens\n * @returns {void}\n */\n function findTemplateStrings(tokens) {\n for (var i = 0, l = tokens.length; i < l; i++) {\n var token = tokens[i]\n if (typeof token === 'string') {\n continue\n }\n var content = token.content\n if (!Array.isArray(content)) {\n if (typeof content !== 'string') {\n findTemplateStrings([content])\n }\n continue\n }\n if (token.type === 'template-string') {\n /**\n * A JavaScript template-string token will look like this:\n *\n * [\"template-string\", [\n * [\"template-punctuation\", \"`\"],\n * (\n * An array of \"string\" and \"interpolation\" tokens. This is the simple string case.\n * or\n * [\"embedded-code\", \"...\"] This is the token containing the embedded code.\n * It also has an alias which is the language of the embedded code.\n * ),\n * [\"template-punctuation\", \"`\"]\n * ]]\n */\n var embedded = content[1]\n if (\n content.length === 3 &&\n typeof embedded !== 'string' &&\n embedded.type === 'embedded-code'\n ) {\n // get string content\n var code = stringContent(embedded)\n var alias = embedded.alias\n var language = Array.isArray(alias) ? alias[0] : alias\n var grammar = Prism.languages[language]\n if (!grammar) {\n // the embedded language isn't registered.\n continue\n }\n content[1] = tokenizeEmbedded(code, grammar, language)\n }\n } else {\n findTemplateStrings(content)\n }\n }\n }\n findTemplateStrings(env.tokens)\n })\n /**\n * Returns the string content of a token or token stream.\n *\n * @param {string | Token | (string | Token)[]} value\n * @returns {string}\n */\n function stringContent(value) {\n if (typeof value === 'string') {\n return value\n } else if (Array.isArray(value)) {\n return value.map(stringContent).join('')\n } else {\n return stringContent(value.content)\n }\n }\n })(Prism)\n}\n","'use strict'\nvar refractorJavadoclike = require('./javadoclike.js')\nvar refractorTypescript = require('./typescript.js')\nmodule.exports = jsdoc\njsdoc.displayName = 'jsdoc'\njsdoc.aliases = []\nfunction jsdoc(Prism) {\n Prism.register(refractorJavadoclike)\n Prism.register(refractorTypescript)\n ;(function (Prism) {\n var javascript = Prism.languages.javascript\n var type = /\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})+\\}/.source\n var parameterPrefix =\n '(@(?:arg|argument|param|property)\\\\s+(?:' + type + '\\\\s+)?)'\n Prism.languages.jsdoc = Prism.languages.extend('javadoclike', {\n parameter: {\n // @param {string} foo - foo bar\n pattern: RegExp(\n parameterPrefix + /(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?=\\s|$)/.source\n ),\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n }\n })\n Prism.languages.insertBefore('jsdoc', 'keyword', {\n 'optional-parameter': {\n // @param {string} [baz.foo=\"bar\"] foo bar\n pattern: RegExp(\n parameterPrefix +\n /\\[(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?:=[^[\\]]+)?\\](?=\\s|$)/.source\n ),\n lookbehind: true,\n inside: {\n parameter: {\n pattern: /(^\\[)[$\\w\\xA0-\\uFFFF\\.]+/,\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n },\n code: {\n pattern: /(=)[\\s\\S]*(?=\\]$)/,\n lookbehind: true,\n inside: javascript,\n alias: 'language-javascript'\n },\n punctuation: /[=[\\]]/\n }\n },\n 'class-name': [\n {\n pattern: RegExp(\n /(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\\s+(?:<TYPE>\\s+)?)[A-Z]\\w*(?:\\.[A-Z]\\w*)*/.source.replace(\n /<TYPE>/g,\n function () {\n return type\n }\n )\n ),\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n },\n {\n pattern: RegExp('(@[a-z]+\\\\s+)' + type),\n lookbehind: true,\n inside: {\n string: javascript.string,\n number: javascript.number,\n boolean: javascript.boolean,\n keyword: Prism.languages.typescript.keyword,\n operator: /=>|\\.\\.\\.|[&|?:*]/,\n punctuation: /[.,;=<>{}()[\\]]/\n }\n }\n ],\n example: {\n pattern:\n /(@example\\s+(?!\\s))(?:[^@\\s]|\\s+(?!\\s))+?(?=\\s*(?:\\*\\s*)?(?:@\\w|\\*\\/))/,\n lookbehind: true,\n inside: {\n code: {\n pattern: /^([\\t ]*(?:\\*\\s*)?)\\S.*$/m,\n lookbehind: true,\n inside: javascript,\n alias: 'language-javascript'\n }\n }\n }\n })\n Prism.languages.javadoclike.addSupport('javascript', Prism.languages.jsdoc)\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = json\njson.displayName = 'json'\njson.aliases = ['webmanifest']\nfunction json(Prism) {\n // https://www.json.org/json-en.html\n Prism.languages.json = {\n property: {\n pattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/,\n lookbehind: true,\n greedy: true\n },\n string: {\n pattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?!\\s*:)/,\n lookbehind: true,\n greedy: true\n },\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n greedy: true\n },\n number: /-?\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\n punctuation: /[{}[\\],]/,\n operator: /:/,\n boolean: /\\b(?:false|true)\\b/,\n null: {\n pattern: /\\bnull\\b/,\n alias: 'keyword'\n }\n }\n Prism.languages.webmanifest = Prism.languages.json\n}\n","'use strict'\nvar refractorJson = require('./json.js')\nmodule.exports = json5\njson5.displayName = 'json5'\njson5.aliases = []\nfunction json5(Prism) {\n Prism.register(refractorJson)\n ;(function (Prism) {\n var string = /(\"|')(?:\\\\(?:\\r\\n?|\\n|.)|(?!\\1)[^\\\\\\r\\n])*\\1/\n Prism.languages.json5 = Prism.languages.extend('json', {\n property: [\n {\n pattern: RegExp(string.source + '(?=\\\\s*:)'),\n greedy: true\n },\n {\n pattern:\n /(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/,\n alias: 'unquoted'\n }\n ],\n string: {\n pattern: string,\n greedy: true\n },\n number:\n /[+-]?\\b(?:NaN|Infinity|0x[a-fA-F\\d]+)\\b|[+-]?(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[eE][+-]?\\d+\\b)?/\n })\n })(Prism)\n}\n","'use strict'\nvar refractorJson = require('./json.js')\nmodule.exports = jsonp\njsonp.displayName = 'jsonp'\njsonp.aliases = []\nfunction jsonp(Prism) {\n Prism.register(refractorJson)\n Prism.languages.jsonp = Prism.languages.extend('json', {\n punctuation: /[{}[\\]();,.]/\n })\n Prism.languages.insertBefore('jsonp', 'punctuation', {\n function: /(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*\\()/\n })\n}\n","'use strict'\n\nmodule.exports = jsstacktrace\njsstacktrace.displayName = 'jsstacktrace'\njsstacktrace.aliases = []\nfunction jsstacktrace(Prism) {\n Prism.languages.jsstacktrace = {\n 'error-message': {\n pattern: /^\\S.*/m,\n alias: 'string'\n },\n 'stack-frame': {\n pattern: /(^[ \\t]+)at[ \\t].*/m,\n lookbehind: true,\n inside: {\n 'not-my-code': {\n pattern:\n /^at[ \\t]+(?!\\s)(?:node\\.js|<unknown>|.*(?:node_modules|\\(<anonymous>\\)|\\(<unknown>|<anonymous>$|\\(internal\\/|\\(node\\.js)).*/m,\n alias: 'comment'\n },\n filename: {\n pattern: /(\\bat\\s+(?!\\s)|\\()(?:[a-zA-Z]:)?[^():]+(?=:)/,\n lookbehind: true,\n alias: 'url'\n },\n function: {\n pattern:\n /(\\bat\\s+(?:new\\s+)?)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF<][.$\\w\\xA0-\\uFFFF<>]*/,\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n },\n punctuation: /[()]/,\n keyword: /\\b(?:at|new)\\b/,\n alias: {\n pattern: /\\[(?:as\\s+)?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*\\]/,\n alias: 'variable'\n },\n 'line-number': {\n pattern: /:\\d+(?::\\d+)?\\b/,\n alias: 'number',\n inside: {\n punctuation: /:/\n }\n }\n }\n }\n }\n}\n","'use strict'\n\nmodule.exports = jsx\njsx.displayName = 'jsx'\njsx.aliases = []\nfunction jsx(Prism) {\n ;(function (Prism) {\n var javascript = Prism.util.clone(Prism.languages.javascript)\n var space = /(?:\\s|\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))\\*\\/)/.source\n var braces = /(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})/.source\n var spread = /(?:\\{<S>*\\.{3}(?:[^{}]|<BRACES>)*\\})/.source\n /**\n * @param {string} source\n * @param {string} [flags]\n */\n function re(source, flags) {\n source = source\n .replace(/<S>/g, function () {\n return space\n })\n .replace(/<BRACES>/g, function () {\n return braces\n })\n .replace(/<SPREAD>/g, function () {\n return spread\n })\n return RegExp(source, flags)\n }\n spread = re(spread).source\n Prism.languages.jsx = Prism.languages.extend('markup', javascript)\n Prism.languages.jsx.tag.pattern = re(\n /<\\/?(?:[\\w.:-]+(?:<S>+(?:[\\w.:$-]+(?:=(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s{'\"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\\/?)?>/\n .source\n )\n Prism.languages.jsx.tag.inside['tag'].pattern = /^<\\/?[^\\s>\\/]*/\n Prism.languages.jsx.tag.inside['attr-value'].pattern =\n /=(?!\\{)(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s'\">]+)/\n Prism.languages.jsx.tag.inside['tag'].inside['class-name'] =\n /^[A-Z]\\w*(?:\\.[A-Z]\\w*)*$/\n Prism.languages.jsx.tag.inside['comment'] = javascript['comment']\n Prism.languages.insertBefore(\n 'inside',\n 'attr-name',\n {\n spread: {\n pattern: re(/<SPREAD>/.source),\n inside: Prism.languages.jsx\n }\n },\n Prism.languages.jsx.tag\n )\n Prism.languages.insertBefore(\n 'inside',\n 'special-attr',\n {\n script: {\n // Allow for two levels of nesting\n pattern: re(/=<BRACES>/.source),\n alias: 'language-javascript',\n inside: {\n 'script-punctuation': {\n pattern: /^=(?=\\{)/,\n alias: 'punctuation'\n },\n rest: Prism.languages.jsx\n }\n }\n },\n Prism.languages.jsx.tag\n ) // The following will handle plain text inside tags\n var stringifyToken = function (token) {\n if (!token) {\n return ''\n }\n if (typeof token === 'string') {\n return token\n }\n if (typeof token.content === 'string') {\n return token.content\n }\n return token.content.map(stringifyToken).join('')\n }\n var walkTokens = function (tokens) {\n var openedTags = []\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n var notTagNorBrace = false\n if (typeof token !== 'string') {\n if (\n token.type === 'tag' &&\n token.content[0] &&\n token.content[0].type === 'tag'\n ) {\n // We found a tag, now find its kind\n if (token.content[0].content[0].content === '</') {\n // Closing tag\n if (\n openedTags.length > 0 &&\n openedTags[openedTags.length - 1].tagName ===\n stringifyToken(token.content[0].content[1])\n ) {\n // Pop matching opening tag\n openedTags.pop()\n }\n } else {\n if (token.content[token.content.length - 1].content === '/>') {\n // Autoclosed tag, ignore\n } else {\n // Opening tag\n openedTags.push({\n tagName: stringifyToken(token.content[0].content[1]),\n openedBraces: 0\n })\n }\n }\n } else if (\n openedTags.length > 0 &&\n token.type === 'punctuation' &&\n token.content === '{'\n ) {\n // Here we might have entered a JSX context inside a tag\n openedTags[openedTags.length - 1].openedBraces++\n } else if (\n openedTags.length > 0 &&\n openedTags[openedTags.length - 1].openedBraces > 0 &&\n token.type === 'punctuation' &&\n token.content === '}'\n ) {\n // Here we might have left a JSX context inside a tag\n openedTags[openedTags.length - 1].openedBraces--\n } else {\n notTagNorBrace = true\n }\n }\n if (notTagNorBrace || typeof token === 'string') {\n if (\n openedTags.length > 0 &&\n openedTags[openedTags.length - 1].openedBraces === 0\n ) {\n // Here we are inside a tag, and not inside a JSX context.\n // That's plain text: drop any tokens matched.\n var plainText = stringifyToken(token) // And merge text with adjacent text\n if (\n i < tokens.length - 1 &&\n (typeof tokens[i + 1] === 'string' ||\n tokens[i + 1].type === 'plain-text')\n ) {\n plainText += stringifyToken(tokens[i + 1])\n tokens.splice(i + 1, 1)\n }\n if (\n i > 0 &&\n (typeof tokens[i - 1] === 'string' ||\n tokens[i - 1].type === 'plain-text')\n ) {\n plainText = stringifyToken(tokens[i - 1]) + plainText\n tokens.splice(i - 1, 1)\n i--\n }\n tokens[i] = new Prism.Token(\n 'plain-text',\n plainText,\n null,\n plainText\n )\n }\n }\n if (token.content && typeof token.content !== 'string') {\n walkTokens(token.content)\n }\n }\n }\n Prism.hooks.add('after-tokenize', function (env) {\n if (env.language !== 'jsx' && env.language !== 'tsx') {\n return\n }\n walkTokens(env.tokens)\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = julia\njulia.displayName = 'julia'\njulia.aliases = []\nfunction julia(Prism) {\n Prism.languages.julia = {\n comment: {\n // support one level of nested comments\n // https://github.com/JuliaLang/julia/pull/6128\n pattern:\n /(^|[^\\\\])(?:#=(?:[^#=]|=(?!#)|#(?!=)|#=(?:[^#=]|=(?!#)|#(?!=))*=#)*=#|#.*)/,\n lookbehind: true\n },\n regex: {\n // https://docs.julialang.org/en/v1/manual/strings/#Regular-Expressions-1\n pattern: /r\"(?:\\\\.|[^\"\\\\\\r\\n])*\"[imsx]{0,4}/,\n greedy: true\n },\n string: {\n // https://docs.julialang.org/en/v1/manual/strings/#String-Basics-1\n // https://docs.julialang.org/en/v1/manual/strings/#non-standard-string-literals-1\n // https://docs.julialang.org/en/v1/manual/running-external-programs/#Running-External-Programs-1\n pattern:\n /\"\"\"[\\s\\S]+?\"\"\"|(?:\\b\\w+)?\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|`(?:[^\\\\`\\r\\n]|\\\\.)*`/,\n greedy: true\n },\n char: {\n // https://docs.julialang.org/en/v1/manual/strings/#man-characters-1\n pattern: /(^|[^\\w'])'(?:\\\\[^\\r\\n][^'\\r\\n]*|[^\\\\\\r\\n])'/,\n lookbehind: true,\n greedy: true\n },\n keyword:\n /\\b(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|in|let|local|macro|module|print|println|quote|return|struct|try|type|typealias|using|while)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n number:\n /(?:\\b(?=\\d)|\\B(?=\\.))(?:0[box])?(?:[\\da-f]+(?:_[\\da-f]+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[efp][+-]?\\d+(?:_\\d+)*)?j?/i,\n // https://docs.julialang.org/en/v1/manual/mathematical-operations/\n // https://docs.julialang.org/en/v1/manual/mathematical-operations/#Operator-Precedence-and-Associativity-1\n operator:\n /&&|\\|\\||[-+*^%÷⊻&$\\\\]=?|\\/[\\/=]?|!=?=?|\\|[=>]?|<(?:<=?|[=:|])?|>(?:=|>>?=?)?|==?=?|[~≠≤≥'√∛]/,\n punctuation: /::?|[{}[\\]();,.?]/,\n // https://docs.julialang.org/en/v1/base/numbers/#Base.im\n constant: /\\b(?:(?:Inf|NaN)(?:16|32|64)?|im|pi)\\b|[πℯ]/\n }\n}\n","'use strict'\n\nmodule.exports = keepalived\nkeepalived.displayName = 'keepalived'\nkeepalived.aliases = []\nfunction keepalived(Prism) {\n Prism.languages.keepalived = {\n comment: {\n pattern: /[#!].*/,\n greedy: true\n },\n string: {\n pattern:\n /(^|[^\\\\])(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/,\n lookbehind: true,\n greedy: true\n },\n // support IPv4, IPv6, subnet mask\n ip: {\n pattern: RegExp(\n /\\b(?:(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){5}:(?:[\\da-f]{1,4}:)?[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){4}:(?:[\\da-f]{1,4}:){0,2}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){3}:(?:[\\da-f]{1,4}:){0,3}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){2}:(?:[\\da-f]{1,4}:){0,4}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){6}<ipv4>|(?:[\\da-f]{1,4}:){0,5}:<ipv4>|::(?:[\\da-f]{1,4}:){0,5}<ipv4>|[\\da-f]{1,4}::(?:[\\da-f]{1,4}:){0,5}[\\da-f]{1,4}|::(?:[\\da-f]{1,4}:){0,6}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:)(?:\\/\\d{1,3})?|<ipv4>(?:\\/\\d{1,2})?)\\b/.source.replace(\n /<ipv4>/g,\n function () {\n return /(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))/\n .source\n }\n ),\n 'i'\n ),\n alias: 'number'\n },\n // support *nix / Windows, directory / file\n path: {\n pattern:\n /(\\s)\\/(?:[^\\/\\s]+\\/)*[^\\/\\s]*|\\b[a-zA-Z]:\\\\(?:[^\\\\\\s]+\\\\)*[^\\\\\\s]*/,\n lookbehind: true,\n alias: 'string'\n },\n variable: /\\$\\{?\\w+\\}?/,\n email: {\n pattern: /[\\w-]+@[\\w-]+(?:\\.[\\w-]{2,3}){1,2}/,\n alias: 'string'\n },\n 'conditional-configuration': {\n pattern: /@\\^?[\\w-]+/,\n alias: 'variable'\n },\n operator: /=/,\n property:\n /\\b(?:BFD_CHECK|DNS_CHECK|FILE_CHECK|HTTP_GET|MISC_CHECK|NAME|PING_CHECK|SCRIPTS|SMTP_CHECK|SSL|SSL_GET|TCP_CHECK|UDP_CHECK|accept|advert_int|alpha|auth_pass|auth_type|authentication|bfd_cpu_affinity|bfd_instance|bfd_no_swap|bfd_priority|bfd_process_name|bfd_rlimit_rttime|bfd_rt_priority|bind_if|bind_port|bindto|ca|certificate|check_unicast_src|checker|checker_cpu_affinity|checker_log_all_failures|checker_no_swap|checker_priority|checker_rlimit_rttime|checker_rt_priority|child_wait_time|connect_ip|connect_port|connect_timeout|dbus_service_name|debug|default_interface|delay|delay_before_retry|delay_loop|digest|dont_track_primary|dynamic|dynamic_interfaces|enable_(?:dbus|script_security|sni|snmp_checker|snmp_rfc|snmp_rfcv2|snmp_rfcv3|snmp_vrrp|traps)|end|fall|fast_recovery|file|flag-[123]|fork_delay|full_command|fwmark|garp_group|garp_interval|garp_lower_prio_delay|garp_lower_prio_repeat|garp_master_delay|garp_master_refresh|garp_master_refresh_repeat|garp_master_repeat|global_defs|global_tracking|gna_interval|group|ha_suspend|hashed|helo_name|higher_prio_send_advert|hoplimit|http_protocol|hysteresis|idle_tx|include|inhibit_on_failure|init_fail|init_file|instance|interface|interfaces|interval|ip_family|ipvs_process_name|keepalived.conf|kernel_rx_buf_size|key|linkbeat_interfaces|linkbeat_use_polling|log_all_failures|log_unknown_vrids|lower_prio_no_advert|lthreshold|lvs_flush|lvs_flush_onstop|lvs_method|lvs_netlink_cmd_rcv_bufs|lvs_netlink_cmd_rcv_bufs_force|lvs_netlink_monitor_rcv_bufs|lvs_netlink_monitor_rcv_bufs_force|lvs_notify_fifo|lvs_notify_fifo_script|lvs_sched|lvs_sync_daemon|max_auto_priority|max_hops|mcast_src_ip|mh-fallback|mh-port|min_auto_priority_delay|min_rx|min_tx|misc_dynamic|misc_path|misc_timeout|multiplier|name|namespace_with_ipsets|native_ipv6|neighbor_ip|net_namespace|net_namespace_ipvs|nftables|nftables_counters|nftables_ifindex|nftables_priority|no_accept|no_checker_emails|no_email_faults|nopreempt|notification_email|notification_email_from|notify|notify_backup|notify_deleted|notify_down|notify_fault|notify_fifo|notify_fifo_script|notify_master|notify_master_rx_lower_pri|notify_priority_changes|notify_stop|notify_up|old_unicast_checksum|omega|ops|param_match|passive|password|path|persistence_engine|persistence_granularity|persistence_timeout|preempt|preempt_delay|priority|process|process_monitor_rcv_bufs|process_monitor_rcv_bufs_force|process_name|process_names|promote_secondaries|protocol|proxy_arp|proxy_arp_pvlan|quorum|quorum_down|quorum_max|quorum_up|random_seed|real_server|regex|regex_max_offset|regex_min_offset|regex_no_match|regex_options|regex_stack|reload_repeat|reload_time_file|require_reply|retry|rise|router_id|rs_init_notifies|script|script_user|sh-fallback|sh-port|shutdown_script|shutdown_script_timeout|skip_check_adv_addr|smtp_alert|smtp_alert_checker|smtp_alert_vrrp|smtp_connect_timeout|smtp_helo_name|smtp_server|snmp_socket|sorry_server|sorry_server_inhibit|sorry_server_lvs_method|source_ip|start|startup_script|startup_script_timeout|state|static_ipaddress|static_routes|static_rules|status_code|step|strict_mode|sync_group_tracking_weight|terminate_delay|timeout|track_bfd|track_file|track_group|track_interface|track_process|track_script|track_src_ip|ttl|type|umask|unicast_peer|unicast_src_ip|unicast_ttl|url|use_ipvlan|use_pid_dir|use_vmac|user|uthreshold|val[123]|version|virtual_ipaddress|virtual_ipaddress_excluded|virtual_router_id|virtual_routes|virtual_rules|virtual_server|virtual_server_group|virtualhost|vmac_xmit_base|vrrp|vrrp_(?:check_unicast_src|cpu_affinity|garp_interval|garp_lower_prio_delay|garp_lower_prio_repeat|garp_master_delay|garp_master_refresh|garp_master_refresh_repeat|garp_master_repeat|gna_interval|higher_prio_send_advert|instance|ipsets|iptables|lower_prio_no_advert|mcast_group4|mcast_group6|min_garp|netlink_cmd_rcv_bufs|netlink_cmd_rcv_bufs_force|netlink_monitor_rcv_bufs|netlink_monitor_rcv_bufs_force|no_swap|notify_fifo|notify_fifo_script|notify_priority_changes|priority|process_name|rlimit_rttime|rt_priority|rx_bufs_multiplier|rx_bufs_policy|script|skip_check_adv_addr|startup_delay|strict|sync_group|track_process|version)|warmup|weight)\\b/,\n constant:\n /\\b(?:A|AAAA|AH|BACKUP|CNAME|DR|MASTER|MX|NAT|NS|PASS|SCTP|SOA|TCP|TUN|TXT|UDP|dh|fo|lblc|lblcr|lc|mh|nq|ovf|rr|sed|sh|wlc|wrr)\\b/,\n number: {\n pattern: /(^|[^\\w.-])-?\\d+(?:\\.\\d+)?/,\n lookbehind: true\n },\n boolean: /\\b(?:false|no|off|on|true|yes)\\b/,\n punctuation: /[\\{\\}]/\n }\n}\n","'use strict'\n\nmodule.exports = keyman\nkeyman.displayName = 'keyman'\nkeyman.aliases = []\nfunction keyman(Prism) {\n Prism.languages.keyman = {\n comment: {\n pattern: /\\bc .*/i,\n greedy: true\n },\n string: {\n pattern: /\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'/,\n greedy: true\n },\n 'virtual-key': {\n pattern:\n /\\[\\s*(?:(?:ALT|CAPS|CTRL|LALT|LCTRL|NCAPS|RALT|RCTRL|SHIFT)\\s+)*(?:[TKU]_[\\w?]+|[A-E]\\d\\d?|\"[^\"\\r\\n]*\"|'[^'\\r\\n]*')\\s*\\]/i,\n greedy: true,\n alias: 'function' // alias for styles\n },\n // https://help.keyman.com/developer/language/guide/headers\n 'header-keyword': {\n pattern: /&\\w+/,\n alias: 'bold' // alias for styles\n },\n 'header-statement': {\n pattern:\n /\\b(?:bitmap|bitmaps|caps always off|caps on only|copyright|hotkey|language|layout|message|name|shift frees caps|version)\\b/i,\n alias: 'bold' // alias for styles\n },\n 'rule-keyword': {\n pattern:\n /\\b(?:any|baselayout|beep|call|context|deadkey|dk|if|index|layer|notany|nul|outs|platform|reset|return|save|set|store|use)\\b/i,\n alias: 'keyword'\n },\n 'structural-keyword': {\n pattern: /\\b(?:ansi|begin|group|match|nomatch|unicode|using keys)\\b/i,\n alias: 'keyword'\n },\n 'compile-target': {\n pattern: /\\$(?:keyman|keymanonly|keymanweb|kmfl|weaver):/i,\n alias: 'property'\n },\n // U+####, x###, d### characters and numbers\n number: /\\b(?:U\\+[\\dA-F]+|d\\d+|x[\\da-f]+|\\d+)\\b/i,\n operator: /[+>\\\\$]|\\.\\./,\n punctuation: /[()=,]/\n }\n}\n","'use strict'\n\nmodule.exports = kotlin\nkotlin.displayName = 'kotlin'\nkotlin.aliases = ['kt', 'kts']\nfunction kotlin(Prism) {\n ;(function (Prism) {\n Prism.languages.kotlin = Prism.languages.extend('clike', {\n keyword: {\n // The lookbehind prevents wrong highlighting of e.g. kotlin.properties.get\n pattern:\n /(^|[^.])\\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\\b/,\n lookbehind: true\n },\n function: [\n {\n pattern: /(?:`[^\\r\\n`]+`|\\b\\w+)(?=\\s*\\()/,\n greedy: true\n },\n {\n pattern: /(\\.)(?:`[^\\r\\n`]+`|\\w+)(?=\\s*\\{)/,\n lookbehind: true,\n greedy: true\n }\n ],\n number:\n /\\b(?:0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?[fFL]?)\\b/,\n operator:\n /\\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\\/*%<>]=?|[?:]:?|\\.\\.|&&|\\|\\||\\b(?:and|inv|or|shl|shr|ushr|xor)\\b/\n })\n delete Prism.languages.kotlin['class-name']\n var interpolationInside = {\n 'interpolation-punctuation': {\n pattern: /^\\$\\{?|\\}$/,\n alias: 'punctuation'\n },\n expression: {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.kotlin\n }\n }\n Prism.languages.insertBefore('kotlin', 'string', {\n // https://kotlinlang.org/spec/expressions.html#string-interpolation-expressions\n 'string-literal': [\n {\n pattern: /\"\"\"(?:[^$]|\\$(?:(?!\\{)|\\{[^{}]*\\}))*?\"\"\"/,\n alias: 'multiline',\n inside: {\n interpolation: {\n pattern: /\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i,\n inside: interpolationInside\n },\n string: /[\\s\\S]+/\n }\n },\n {\n pattern: /\"(?:[^\"\\\\\\r\\n$]|\\\\.|\\$(?:(?!\\{)|\\{[^{}]*\\}))*\"/,\n alias: 'singleline',\n inside: {\n interpolation: {\n pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i,\n lookbehind: true,\n inside: interpolationInside\n },\n string: /[\\s\\S]+/\n }\n }\n ],\n char: {\n // https://kotlinlang.org/spec/expressions.html#character-literals\n pattern: /'(?:[^'\\\\\\r\\n]|\\\\(?:.|u[a-fA-F0-9]{0,4}))'/,\n greedy: true\n }\n })\n delete Prism.languages.kotlin['string']\n Prism.languages.insertBefore('kotlin', 'keyword', {\n annotation: {\n pattern: /\\B@(?:\\w+:)?(?:[A-Z]\\w*|\\[[^\\]]+\\])/,\n alias: 'builtin'\n }\n })\n Prism.languages.insertBefore('kotlin', 'function', {\n label: {\n pattern: /\\b\\w+@|@\\w+\\b/,\n alias: 'symbol'\n }\n })\n Prism.languages.kt = Prism.languages.kotlin\n Prism.languages.kts = Prism.languages.kotlin\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = kumir\nkumir.displayName = 'kumir'\nkumir.aliases = ['kum']\nfunction kumir(Prism) {\n /* eslint-disable regexp/no-dupe-characters-character-class */\n ;(function (Prism) {\n /**\n * Regular expression for characters that are not allowed in identifiers.\n *\n * @type {string}\n */\n var nonId = /\\s\\x00-\\x1f\\x22-\\x2f\\x3a-\\x3f\\x5b-\\x5e\\x60\\x7b-\\x7e/.source\n /**\n * Surround a regular expression for IDs with patterns for non-ID sequences.\n *\n * @param {string} pattern A regular expression for identifiers.\n * @param {string} [flags] The regular expression flags.\n * @returns {RegExp} A wrapped regular expression for identifiers.\n */\n function wrapId(pattern, flags) {\n return RegExp(pattern.replace(/<nonId>/g, nonId), flags)\n }\n Prism.languages.kumir = {\n comment: {\n pattern: /\\|.*/\n },\n prolog: {\n pattern: /#.*/,\n greedy: true\n },\n string: {\n pattern: /\"[^\\n\\r\"]*\"|'[^\\n\\r']*'/,\n greedy: true\n },\n boolean: {\n pattern: wrapId(/(^|[<nonId>])(?:да|нет)(?=[<nonId>]|$)/.source),\n lookbehind: true\n },\n 'operator-word': {\n pattern: wrapId(/(^|[<nonId>])(?:и|или|не)(?=[<nonId>]|$)/.source),\n lookbehind: true,\n alias: 'keyword'\n },\n 'system-variable': {\n pattern: wrapId(/(^|[<nonId>])знач(?=[<nonId>]|$)/.source),\n lookbehind: true,\n alias: 'keyword'\n },\n type: [\n {\n pattern: wrapId(\n /(^|[<nonId>])(?:вещ|лит|лог|сим|цел)(?:\\x20*таб)?(?=[<nonId>]|$)/\n .source\n ),\n lookbehind: true,\n alias: 'builtin'\n },\n {\n pattern: wrapId(\n /(^|[<nonId>])(?:компл|сканкод|файл|цвет)(?=[<nonId>]|$)/.source\n ),\n lookbehind: true,\n alias: 'important'\n }\n ],\n /**\n * Should be performed after searching for type names because of \"таб\".\n * \"таб\" is a reserved word, but never used without a preceding type name.\n * \"НАЗНАЧИТЬ\", \"Фввод\", and \"Фвывод\" are not reserved words.\n */\n keyword: {\n pattern: wrapId(\n /(^|[<nonId>])(?:алг|арг(?:\\x20*рез)?|ввод|ВКЛЮЧИТЬ|вс[её]|выбор|вывод|выход|дано|для|до|дс|если|иначе|исп|использовать|кон(?:(?:\\x20+|_)исп)?|кц(?:(?:\\x20+|_)при)?|надо|нач|нс|нц|от|пауза|пока|при|раза?|рез|стоп|таб|то|утв|шаг)(?=[<nonId>]|$)/\n .source\n ),\n lookbehind: true\n },\n /** Should be performed after searching for reserved words. */\n name: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: wrapId(\n /(^|[<nonId>])[^\\d<nonId>][^<nonId>]*(?:\\x20+[^<nonId>]+)*(?=[<nonId>]|$)/\n .source\n ),\n lookbehind: true\n },\n /** Should be performed after searching for names. */\n number: {\n pattern: wrapId(\n /(^|[<nonId>])(?:\\B\\$[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)(?=[<nonId>]|$)/\n .source,\n 'i'\n ),\n lookbehind: true\n },\n /** Should be performed after searching for words. */\n punctuation: /:=|[(),:;\\[\\]]/,\n /**\n * Should be performed after searching for\n * - numeric constants (because of \"+\" and \"-\");\n * - punctuation marks (because of \":=\" and \"=\").\n */\n 'operator-char': {\n pattern: /\\*\\*?|<[=>]?|>=?|[-+/=]/,\n alias: 'operator'\n }\n }\n Prism.languages.kum = Prism.languages.kumir\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = kusto\nkusto.displayName = 'kusto'\nkusto.aliases = []\nfunction kusto(Prism) {\n Prism.languages.kusto = {\n comment: {\n pattern: /\\/\\/.*/,\n greedy: true\n },\n string: {\n pattern:\n /```[\\s\\S]*?```|[hH]?(?:\"(?:[^\\r\\n\\\\\"]|\\\\.)*\"|'(?:[^\\r\\n\\\\']|\\\\.)*'|@(?:\"[^\\r\\n\"]*\"|'[^\\r\\n']*'))/,\n greedy: true\n },\n verb: {\n pattern: /(\\|\\s*)[a-z][\\w-]*/i,\n lookbehind: true,\n alias: 'keyword'\n },\n command: {\n pattern: /\\.[a-z][a-z\\d-]*\\b/,\n alias: 'keyword'\n },\n 'class-name':\n /\\b(?:bool|datetime|decimal|dynamic|guid|int|long|real|string|timespan)\\b/,\n keyword:\n /\\b(?:access|alias|and|anti|as|asc|auto|between|by|(?:contains|(?:ends|starts)with|has(?:perfix|suffix)?)(?:_cs)?|database|declare|desc|external|from|fullouter|has_all|in|ingestion|inline|inner|innerunique|into|(?:left|right)(?:anti(?:semi)?|inner|outer|semi)?|let|like|local|not|of|on|or|pattern|print|query_parameters|range|restrict|schema|set|step|table|tables|to|view|where|with|matches\\s+regex|nulls\\s+(?:first|last))(?![\\w-])/,\n boolean: /\\b(?:false|null|true)\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/,\n datetime: [\n {\n // RFC 822 + RFC 850\n pattern:\n /\\b(?:(?:Fri|Friday|Mon|Monday|Sat|Saturday|Sun|Sunday|Thu|Thursday|Tue|Tuesday|Wed|Wednesday)\\s*,\\s*)?\\d{1,2}(?:\\s+|-)(?:Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)(?:\\s+|-)\\d{2}\\s+\\d{2}:\\d{2}(?::\\d{2})?(?:\\s*(?:\\b(?:[A-Z]|(?:[ECMT][DS]|GM|U)T)|[+-]\\d{4}))?\\b/,\n alias: 'number'\n },\n {\n // ISO 8601\n pattern:\n /[+-]?\\b(?:\\d{4}-\\d{2}-\\d{2}(?:[ T]\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d+)?)?)?|\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d+)?)?)Z?/,\n alias: 'number'\n }\n ],\n number:\n /\\b(?:0x[0-9A-Fa-f]+|\\d+(?:\\.\\d+)?(?:[Ee][+-]?\\d+)?)(?:(?:min|sec|[mnµ]s|[dhms]|microsecond|tick)\\b)?|[+-]?\\binf\\b/,\n operator: /=>|[!=]~|[!=<>]=?|[-+*/%|]|\\.\\./,\n punctuation: /[()\\[\\]{},;.:]/\n }\n}\n","'use strict'\n\nmodule.exports = latex\nlatex.displayName = 'latex'\nlatex.aliases = ['tex', 'context']\nfunction latex(Prism) {\n ;(function (Prism) {\n var funcPattern = /\\\\(?:[^a-z()[\\]]|[a-z*]+)/i\n var insideEqu = {\n 'equation-command': {\n pattern: funcPattern,\n alias: 'regex'\n }\n }\n Prism.languages.latex = {\n comment: /%.*/,\n // the verbatim environment prints whitespace to the document\n cdata: {\n pattern:\n /(\\\\begin\\{((?:lstlisting|verbatim)\\*?)\\})[\\s\\S]*?(?=\\\\end\\{\\2\\})/,\n lookbehind: true\n },\n /*\n * equations can be between $$ $$ or $ $ or \\( \\) or \\[ \\]\n * (all are multiline)\n */\n equation: [\n {\n pattern:\n /\\$\\$(?:\\\\[\\s\\S]|[^\\\\$])+\\$\\$|\\$(?:\\\\[\\s\\S]|[^\\\\$])+\\$|\\\\\\([\\s\\S]*?\\\\\\)|\\\\\\[[\\s\\S]*?\\\\\\]/,\n inside: insideEqu,\n alias: 'string'\n },\n {\n pattern:\n /(\\\\begin\\{((?:align|eqnarray|equation|gather|math|multline)\\*?)\\})[\\s\\S]*?(?=\\\\end\\{\\2\\})/,\n lookbehind: true,\n inside: insideEqu,\n alias: 'string'\n }\n ],\n /*\n * arguments which are keywords or references are highlighted\n * as keywords\n */\n keyword: {\n pattern:\n /(\\\\(?:begin|cite|documentclass|end|label|ref|usepackage)(?:\\[[^\\]]+\\])?\\{)[^}]+(?=\\})/,\n lookbehind: true\n },\n url: {\n pattern: /(\\\\url\\{)[^}]+(?=\\})/,\n lookbehind: true\n },\n /*\n * section or chapter headlines are highlighted as bold so that\n * they stand out more\n */\n headline: {\n pattern:\n /(\\\\(?:chapter|frametitle|paragraph|part|section|subparagraph|subsection|subsubparagraph|subsubsection|subsubsubparagraph)\\*?(?:\\[[^\\]]+\\])?\\{)[^}]+(?=\\})/,\n lookbehind: true,\n alias: 'class-name'\n },\n function: {\n pattern: funcPattern,\n alias: 'selector'\n },\n punctuation: /[[\\]{}&]/\n }\n Prism.languages.tex = Prism.languages.latex\n Prism.languages.context = Prism.languages.latex\n })(Prism)\n}\n","'use strict'\nvar refractorMarkupTemplating = require('./markup-templating.js')\nvar refractorPhp = require('./php.js')\nmodule.exports = latte\nlatte.displayName = 'latte'\nlatte.aliases = []\nfunction latte(Prism) {\n Prism.register(refractorMarkupTemplating)\n Prism.register(refractorPhp)\n ;(function (Prism) {\n Prism.languages.latte = {\n comment: /^\\{\\*[\\s\\S]*/,\n 'latte-tag': {\n // https://latte.nette.org/en/tags\n pattern: /(^\\{(?:\\/(?=[a-z]))?)(?:[=_]|[a-z]\\w*\\b(?!\\())/i,\n lookbehind: true,\n alias: 'important'\n },\n delimiter: {\n pattern: /^\\{\\/?|\\}$/,\n alias: 'punctuation'\n },\n php: {\n pattern: /\\S(?:[\\s\\S]*\\S)?/,\n alias: 'language-php',\n inside: Prism.languages.php\n }\n }\n var markupLatte = Prism.languages.extend('markup', {})\n Prism.languages.insertBefore(\n 'inside',\n 'attr-value',\n {\n 'n-attr': {\n pattern: /n:[\\w-]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+))?/,\n inside: {\n 'attr-name': {\n pattern: /^[^\\s=]+/,\n alias: 'important'\n },\n 'attr-value': {\n pattern: /=[\\s\\S]+/,\n inside: {\n punctuation: [\n /^=/,\n {\n pattern: /^(\\s*)[\"']|[\"']$/,\n lookbehind: true\n }\n ],\n php: {\n pattern: /\\S(?:[\\s\\S]*\\S)?/,\n inside: Prism.languages.php\n }\n }\n }\n }\n }\n },\n markupLatte.tag\n )\n Prism.hooks.add('before-tokenize', function (env) {\n if (env.language !== 'latte') {\n return\n }\n var lattePattern =\n /\\{\\*[\\s\\S]*?\\*\\}|\\{[^'\"\\s{}*](?:[^\"'/{}]|\\/(?![*/])|(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\}/g\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'latte',\n lattePattern\n )\n env.grammar = markupLatte\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'latte')\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = less\nless.displayName = 'less'\nless.aliases = []\nfunction less(Prism) {\n /* FIXME :\n:extend() is not handled specifically : its highlighting is buggy.\nMixin usage must be inside a ruleset to be highlighted.\nAt-rules (e.g. import) containing interpolations are buggy.\nDetached rulesets are highlighted as at-rules.\nA comment before a mixin usage prevents the latter to be properly highlighted.\n*/\n Prism.languages.less = Prism.languages.extend('css', {\n comment: [\n /\\/\\*[\\s\\S]*?\\*\\//,\n {\n pattern: /(^|[^\\\\])\\/\\/.*/,\n lookbehind: true\n }\n ],\n atrule: {\n pattern:\n /@[\\w-](?:\\((?:[^(){}]|\\([^(){}]*\\))*\\)|[^(){};\\s]|\\s+(?!\\s))*?(?=\\s*\\{)/,\n inside: {\n punctuation: /[:()]/\n }\n },\n // selectors and mixins are considered the same\n selector: {\n pattern:\n /(?:@\\{[\\w-]+\\}|[^{};\\s@])(?:@\\{[\\w-]+\\}|\\((?:[^(){}]|\\([^(){}]*\\))*\\)|[^(){};@\\s]|\\s+(?!\\s))*?(?=\\s*\\{)/,\n inside: {\n // mixin parameters\n variable: /@+[\\w-]+/\n }\n },\n property: /(?:@\\{[\\w-]+\\}|[\\w-])+(?:\\+_?)?(?=\\s*:)/,\n operator: /[+\\-*\\/]/\n })\n Prism.languages.insertBefore('less', 'property', {\n variable: [\n // Variable declaration (the colon must be consumed!)\n {\n pattern: /@[\\w-]+\\s*:/,\n inside: {\n punctuation: /:/\n }\n }, // Variable usage\n /@@?[\\w-]+/\n ],\n 'mixin-usage': {\n pattern: /([{;]\\s*)[.#](?!\\d)[\\w-].*?(?=[(;])/,\n lookbehind: true,\n alias: 'function'\n }\n })\n}\n","'use strict'\nvar refractorScheme = require('./scheme.js')\nmodule.exports = lilypond\nlilypond.displayName = 'lilypond'\nlilypond.aliases = []\nfunction lilypond(Prism) {\n Prism.register(refractorScheme)\n ;(function (Prism) {\n var schemeExpression =\n /\\((?:[^();\"#\\\\]|\\\\[\\s\\S]|;.*(?!.)|\"(?:[^\"\\\\]|\\\\.)*\"|#(?:\\{(?:(?!#\\})[\\s\\S])*#\\}|[^{])|<expr>)*\\)/\n .source // allow for up to pow(2, recursivenessLog2) many levels of recursive brace expressions\n // For some reason, this can't be 4\n var recursivenessLog2 = 5\n for (var i = 0; i < recursivenessLog2; i++) {\n schemeExpression = schemeExpression.replace(/<expr>/g, function () {\n return schemeExpression\n })\n }\n schemeExpression = schemeExpression.replace(/<expr>/g, /[^\\s\\S]/.source)\n var lilypond = (Prism.languages.lilypond = {\n comment: /%(?:(?!\\{).*|\\{[\\s\\S]*?%\\})/,\n 'embedded-scheme': {\n pattern: RegExp(\n /(^|[=\\s])#(?:\"(?:[^\"\\\\]|\\\\.)*\"|[^\\s()\"]*(?:[^\\s()]|<expr>))/.source.replace(\n /<expr>/g,\n function () {\n return schemeExpression\n }\n ),\n 'm'\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n scheme: {\n pattern: /^(#)[\\s\\S]+$/,\n lookbehind: true,\n alias: 'language-scheme',\n inside: {\n 'embedded-lilypond': {\n pattern: /#\\{[\\s\\S]*?#\\}/,\n greedy: true,\n inside: {\n punctuation: /^#\\{|#\\}$/,\n lilypond: {\n pattern: /[\\s\\S]+/,\n alias: 'language-lilypond',\n inside: null // see below\n }\n }\n },\n rest: Prism.languages.scheme\n }\n },\n punctuation: /#/\n }\n },\n string: {\n pattern: /\"(?:[^\"\\\\]|\\\\.)*\"/,\n greedy: true\n },\n 'class-name': {\n pattern: /(\\\\new\\s+)[\\w-]+/,\n lookbehind: true\n },\n keyword: {\n pattern: /\\\\[a-z][-\\w]*/i,\n inside: {\n punctuation: /^\\\\/\n }\n },\n operator: /[=|]|<<|>>/,\n punctuation: {\n pattern:\n /(^|[a-z\\d])(?:'+|,+|[_^]?-[_^]?(?:[-+^!>._]|(?=\\d))|[_^]\\.?|[.!])|[{}()[\\]<>^~]|\\\\[()[\\]<>\\\\!]|--|__/,\n lookbehind: true\n },\n number: /\\b\\d+(?:\\/\\d+)?\\b/\n })\n lilypond['embedded-scheme'].inside['scheme'].inside[\n 'embedded-lilypond'\n ].inside['lilypond'].inside = lilypond\n Prism.languages.ly = lilypond\n })(Prism)\n}\n","'use strict'\nvar refractorMarkupTemplating = require('./markup-templating.js')\nmodule.exports = liquid\nliquid.displayName = 'liquid'\nliquid.aliases = []\nfunction liquid(Prism) {\n Prism.register(refractorMarkupTemplating)\n Prism.languages.liquid = {\n comment: {\n pattern: /(^\\{%\\s*comment\\s*%\\})[\\s\\S]+(?=\\{%\\s*endcomment\\s*%\\}$)/,\n lookbehind: true\n },\n delimiter: {\n pattern: /^\\{(?:\\{\\{|[%\\{])-?|-?(?:\\}\\}|[%\\}])\\}$/,\n alias: 'punctuation'\n },\n string: {\n pattern: /\"[^\"]*\"|'[^']*'/,\n greedy: true\n },\n keyword:\n /\\b(?:as|assign|break|(?:end)?(?:capture|case|comment|for|form|if|paginate|raw|style|tablerow|unless)|continue|cycle|decrement|echo|else|elsif|in|include|increment|limit|liquid|offset|range|render|reversed|section|when|with)\\b/,\n object:\n /\\b(?:address|all_country_option_tags|article|block|blog|cart|checkout|collection|color|country|country_option_tags|currency|current_page|current_tags|customer|customer_address|date|discount_allocation|discount_application|external_video|filter|filter_value|font|forloop|fulfillment|generic_file|gift_card|group|handle|image|line_item|link|linklist|localization|location|measurement|media|metafield|model|model_source|order|page|page_description|page_image|page_title|part|policy|product|product_option|recommendations|request|robots|routes|rule|script|search|selling_plan|selling_plan_allocation|selling_plan_group|shipping_method|shop|shop_locale|sitemap|store_availability|tax_line|template|theme|transaction|unit_price_measurement|user_agent|variant|video|video_source)\\b/,\n function: [\n {\n pattern: /(\\|\\s*)\\w+/,\n lookbehind: true,\n alias: 'filter'\n },\n {\n // array functions\n pattern: /(\\.\\s*)(?:first|last|size)/,\n lookbehind: true\n }\n ],\n boolean: /\\b(?:false|nil|true)\\b/,\n range: {\n pattern: /\\.\\./,\n alias: 'operator'\n },\n // https://github.com/Shopify/liquid/blob/698f5e0d967423e013f6169d9111bd969bd78337/lib/liquid/lexer.rb#L21\n number: /\\b\\d+(?:\\.\\d+)?\\b/,\n operator: /[!=]=|<>|[<>]=?|[|?:=-]|\\b(?:and|contains(?=\\s)|or)\\b/,\n punctuation: /[.,\\[\\]()]/,\n empty: {\n pattern: /\\bempty\\b/,\n alias: 'keyword'\n }\n }\n Prism.hooks.add('before-tokenize', function (env) {\n var liquidPattern =\n /\\{%\\s*comment\\s*%\\}[\\s\\S]*?\\{%\\s*endcomment\\s*%\\}|\\{(?:%[\\s\\S]*?%|\\{\\{[\\s\\S]*?\\}\\}|\\{[\\s\\S]*?\\})\\}/g\n var insideRaw = false\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'liquid',\n liquidPattern,\n function (match) {\n var tagMatch = /^\\{%-?\\s*(\\w+)/.exec(match)\n if (tagMatch) {\n var tag = tagMatch[1]\n if (tag === 'raw' && !insideRaw) {\n insideRaw = true\n return true\n } else if (tag === 'endraw') {\n insideRaw = false\n return true\n }\n }\n return !insideRaw\n }\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'liquid')\n })\n}\n","'use strict'\n\nmodule.exports = lisp\nlisp.displayName = 'lisp'\nlisp.aliases = []\nfunction lisp(Prism) {\n ;(function (Prism) {\n /**\n * Functions to construct regular expressions\n * e.g. (interactive ... or (interactive)\n *\n * @param {string} name\n * @returns {RegExp}\n */\n function simple_form(name) {\n return RegExp(/(\\()/.source + '(?:' + name + ')' + /(?=[\\s\\)])/.source)\n }\n /**\n * booleans and numbers\n *\n * @param {string} pattern\n * @returns {RegExp}\n */\n function primitive(pattern) {\n return RegExp(\n /([\\s([])/.source + '(?:' + pattern + ')' + /(?=[\\s)])/.source\n )\n } // Patterns in regular expressions\n // Symbol name. See https://www.gnu.org/software/emacs/manual/html_node/elisp/Symbol-Type.html\n // & and : are excluded as they are usually used for special purposes\n var symbol = /(?!\\d)[-+*/~!@$%^=<>{}\\w]+/.source // symbol starting with & used in function arguments\n var marker = '&' + symbol // Open parenthesis for look-behind\n var par = '(\\\\()'\n var endpar = '(?=\\\\))' // End the pattern with look-ahead space\n var space = '(?=\\\\s)'\n var nestedPar =\n /(?:[^()]|\\((?:[^()]|\\((?:[^()]|\\((?:[^()]|\\((?:[^()]|\\([^()]*\\))*\\))*\\))*\\))*\\))*/\n .source\n var language = {\n // Three or four semicolons are considered a heading.\n // See https://www.gnu.org/software/emacs/manual/html_node/elisp/Comment-Tips.html\n heading: {\n pattern: /;;;.*/,\n alias: ['comment', 'title']\n },\n comment: /;.*/,\n string: {\n pattern: /\"(?:[^\"\\\\]|\\\\.)*\"/,\n greedy: true,\n inside: {\n argument: /[-A-Z]+(?=[.,\\s])/,\n symbol: RegExp('`' + symbol + \"'\")\n }\n },\n 'quoted-symbol': {\n pattern: RegExp(\"#?'\" + symbol),\n alias: ['variable', 'symbol']\n },\n 'lisp-property': {\n pattern: RegExp(':' + symbol),\n alias: 'property'\n },\n splice: {\n pattern: RegExp(',@?' + symbol),\n alias: ['symbol', 'variable']\n },\n keyword: [\n {\n pattern: RegExp(\n par +\n '(?:and|(?:cl-)?letf|cl-loop|cond|cons|error|if|(?:lexical-)?let\\\\*?|message|not|null|or|provide|require|setq|unless|use-package|when|while)' +\n space\n ),\n lookbehind: true\n },\n {\n pattern: RegExp(\n par +\n '(?:append|by|collect|concat|do|finally|for|in|return)' +\n space\n ),\n lookbehind: true\n }\n ],\n declare: {\n pattern: simple_form(/declare/.source),\n lookbehind: true,\n alias: 'keyword'\n },\n interactive: {\n pattern: simple_form(/interactive/.source),\n lookbehind: true,\n alias: 'keyword'\n },\n boolean: {\n pattern: primitive(/nil|t/.source),\n lookbehind: true\n },\n number: {\n pattern: primitive(/[-+]?\\d+(?:\\.\\d*)?/.source),\n lookbehind: true\n },\n defvar: {\n pattern: RegExp(par + 'def(?:const|custom|group|var)\\\\s+' + symbol),\n lookbehind: true,\n inside: {\n keyword: /^def[a-z]+/,\n variable: RegExp(symbol)\n }\n },\n defun: {\n pattern: RegExp(\n par +\n /(?:cl-)?(?:defmacro|defun\\*?)\\s+/.source +\n symbol +\n /\\s+\\(/.source +\n nestedPar +\n /\\)/.source\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n keyword: /^(?:cl-)?def\\S+/,\n // See below, this property needs to be defined later so that it can\n // reference the language object.\n arguments: null,\n function: {\n pattern: RegExp('(^\\\\s)' + symbol),\n lookbehind: true\n },\n punctuation: /[()]/\n }\n },\n lambda: {\n pattern: RegExp(\n par +\n 'lambda\\\\s+\\\\(\\\\s*(?:&?' +\n symbol +\n '(?:\\\\s+&?' +\n symbol +\n ')*\\\\s*)?\\\\)'\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n keyword: /^lambda/,\n // See below, this property needs to be defined later so that it can\n // reference the language object.\n arguments: null,\n punctuation: /[()]/\n }\n },\n car: {\n pattern: RegExp(par + symbol),\n lookbehind: true\n },\n punctuation: [\n // open paren, brackets, and close paren\n /(?:['`,]?\\(|[)\\[\\]])/, // cons\n {\n pattern: /(\\s)\\.(?=\\s)/,\n lookbehind: true\n }\n ]\n }\n var arg = {\n 'lisp-marker': RegExp(marker),\n varform: {\n pattern: RegExp(\n /\\(/.source + symbol + /\\s+(?=\\S)/.source + nestedPar + /\\)/.source\n ),\n inside: language\n },\n argument: {\n pattern: RegExp(/(^|[\\s(])/.source + symbol),\n lookbehind: true,\n alias: 'variable'\n },\n rest: language\n }\n var forms = '\\\\S+(?:\\\\s+\\\\S+)*'\n var arglist = {\n pattern: RegExp(par + nestedPar + endpar),\n lookbehind: true,\n inside: {\n 'rest-vars': {\n pattern: RegExp('&(?:body|rest)\\\\s+' + forms),\n inside: arg\n },\n 'other-marker-vars': {\n pattern: RegExp('&(?:aux|optional)\\\\s+' + forms),\n inside: arg\n },\n keys: {\n pattern: RegExp('&key\\\\s+' + forms + '(?:\\\\s+&allow-other-keys)?'),\n inside: arg\n },\n argument: {\n pattern: RegExp(symbol),\n alias: 'variable'\n },\n punctuation: /[()]/\n }\n }\n language['lambda'].inside.arguments = arglist\n language['defun'].inside.arguments = Prism.util.clone(arglist)\n language['defun'].inside.arguments.inside.sublist = arglist\n Prism.languages.lisp = language\n Prism.languages.elisp = language\n Prism.languages.emacs = language\n Prism.languages['emacs-lisp'] = language\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = livescript\nlivescript.displayName = 'livescript'\nlivescript.aliases = []\nfunction livescript(Prism) {\n Prism.languages.livescript = {\n comment: [\n {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n lookbehind: true\n },\n {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: true\n }\n ],\n 'interpolated-string': {\n /* Look-behind and look-ahead prevents wrong behavior of the greedy pattern\n * forcing it to match \"\"\"-quoted string when it would otherwise match \"-quoted first. */\n pattern: /(^|[^\"])(\"\"\"|\")(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2(?!\")/,\n lookbehind: true,\n greedy: true,\n inside: {\n variable: {\n pattern: /(^|[^\\\\])#[a-z_](?:-?[a-z]|[\\d_])*/m,\n lookbehind: true\n },\n interpolation: {\n pattern: /(^|[^\\\\])#\\{[^}]+\\}/m,\n lookbehind: true,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^#\\{|\\}$/,\n alias: 'variable'\n } // See rest below\n }\n },\n string: /[\\s\\S]+/\n }\n },\n string: [\n {\n pattern: /('''|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n greedy: true\n },\n {\n pattern: /<\\[[\\s\\S]*?\\]>/,\n greedy: true\n },\n /\\\\[^\\s,;\\])}]+/\n ],\n regex: [\n {\n pattern: /\\/\\/(?:\\[[^\\r\\n\\]]*\\]|\\\\.|(?!\\/\\/)[^\\\\\\[])+\\/\\/[gimyu]{0,5}/,\n greedy: true,\n inside: {\n comment: {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: true\n }\n }\n },\n {\n pattern: /\\/(?:\\[[^\\r\\n\\]]*\\]|\\\\.|[^/\\\\\\r\\n\\[])+\\/[gimyu]{0,5}/,\n greedy: true\n }\n ],\n keyword: {\n pattern:\n /(^|(?!-).)\\b(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)\\b/m,\n lookbehind: true\n },\n 'keyword-operator': {\n pattern:\n /(^|[^-])\\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?: not|nt)?|not|of|or|til|to|typeof|with|xor)(?!-)\\b)/m,\n lookbehind: true,\n alias: 'operator'\n },\n boolean: {\n pattern: /(^|[^-])\\b(?:false|no|off|on|true|yes)(?!-)\\b/m,\n lookbehind: true\n },\n argument: {\n // Don't match .&. nor &&\n pattern: /(^|(?!\\.&\\.)[^&])&(?!&)\\d*/m,\n lookbehind: true,\n alias: 'variable'\n },\n number: /\\b(?:\\d+~[\\da-z]+|\\d[\\d_]*(?:\\.\\d[\\d_]*)?(?:[a-z]\\w*)?)/i,\n identifier: /[a-z_](?:-?[a-z]|[\\d_])*/i,\n operator: [\n // Spaced .\n {\n pattern: /( )\\.(?= )/,\n lookbehind: true\n }, // Full list, in order:\n // .= .~ .. ...\n // .&. .^. .<<. .>>. .>>>.\n // := :: ::=\n // &&\n // || |>\n // < << <<< <<<<\n // <- <-- <-! <--!\n // <~ <~~ <~! <~~!\n // <| <= <?\n // > >> >= >?\n // - -- -> -->\n // + ++\n // @ @@\n // % %%\n // * **\n // ! != !~=\n // !~> !~~>\n // !-> !-->\n // ~ ~> ~~> ~=\n // = ==\n // ^ ^^\n // / ?\n /\\.(?:[=~]|\\.\\.?)|\\.(?:[&|^]|<<|>>>?)\\.|:(?:=|:=?)|&&|\\|[|>]|<(?:<<?<?|--?!?|~~?!?|[|=?])?|>[>=?]?|-(?:->?|>)?|\\+\\+?|@@?|%%?|\\*\\*?|!(?:~?=|--?>|~?~>)?|~(?:~?>|=)?|==?|\\^\\^?|[\\/?]/\n ],\n punctuation: /[(){}\\[\\]|.,:;`]/\n }\n Prism.languages.livescript['interpolated-string'].inside[\n 'interpolation'\n ].inside.rest = Prism.languages.livescript\n}\n","'use strict'\n\nmodule.exports = llvm\nllvm.displayName = 'llvm'\nllvm.aliases = []\nfunction llvm(Prism) {\n ;(function (Prism) {\n Prism.languages.llvm = {\n comment: /;.*/,\n string: {\n pattern: /\"[^\"]*\"/,\n greedy: true\n },\n boolean: /\\b(?:false|true)\\b/,\n variable: /[%@!#](?:(?!\\d)(?:[-$.\\w]|\\\\[a-f\\d]{2})+|\\d+)/i,\n label: /(?!\\d)(?:[-$.\\w]|\\\\[a-f\\d]{2})+:/i,\n type: {\n pattern:\n /\\b(?:double|float|fp128|half|i[1-9]\\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)\\b/,\n alias: 'class-name'\n },\n keyword: /\\b[a-z_][a-z_0-9]*\\b/,\n number:\n /[+-]?\\b\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\b|\\b0x[\\dA-Fa-f]+\\b|\\b0xK[\\dA-Fa-f]{20}\\b|\\b0x[ML][\\dA-Fa-f]{32}\\b|\\b0xH[\\dA-Fa-f]{4}\\b/,\n punctuation: /[{}[\\];(),.!*=<>]/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = log\nlog.displayName = 'log'\nlog.aliases = []\nfunction log(Prism) {\n // This is a language definition for generic log files.\n // Since there is no one log format, this language definition has to support all formats to some degree.\n //\n // Based on https://github.com/MTDL9/vim-log-highlighting\n Prism.languages.log = {\n string: {\n // Single-quoted strings must not be confused with plain text. E.g. Can't isn't Susan's Chris' toy\n pattern: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?![st] | \\w)(?:[^'\\\\\\r\\n]|\\\\.)*'/,\n greedy: true\n },\n exception: {\n pattern:\n /(^|[^\\w.])[a-z][\\w.]*(?:Error|Exception):.*(?:(?:\\r\\n?|\\n)[ \\t]*(?:at[ \\t].+|\\.{3}.*|Caused by:.*))+(?:(?:\\r\\n?|\\n)[ \\t]*\\.\\.\\. .*)?/,\n lookbehind: true,\n greedy: true,\n alias: ['javastacktrace', 'language-javastacktrace'],\n inside: Prism.languages['javastacktrace'] || {\n keyword: /\\bat\\b/,\n function: /[a-z_][\\w$]*(?=\\()/,\n punctuation: /[.:()]/\n }\n },\n level: [\n {\n pattern:\n /\\b(?:ALERT|CRIT|CRITICAL|EMERG|EMERGENCY|ERR|ERROR|FAILURE|FATAL|SEVERE)\\b/,\n alias: ['error', 'important']\n },\n {\n pattern: /\\b(?:WARN|WARNING|WRN)\\b/,\n alias: ['warning', 'important']\n },\n {\n pattern: /\\b(?:DISPLAY|INF|INFO|NOTICE|STATUS)\\b/,\n alias: ['info', 'keyword']\n },\n {\n pattern: /\\b(?:DBG|DEBUG|FINE)\\b/,\n alias: ['debug', 'keyword']\n },\n {\n pattern: /\\b(?:FINER|FINEST|TRACE|TRC|VERBOSE|VRB)\\b/,\n alias: ['trace', 'comment']\n }\n ],\n property: {\n pattern:\n /((?:^|[\\]|])[ \\t]*)[a-z_](?:[\\w-]|\\b\\/\\b)*(?:[. ]\\(?\\w(?:[\\w-]|\\b\\/\\b)*\\)?)*:(?=\\s)/im,\n lookbehind: true\n },\n separator: {\n pattern: /(^|[^-+])-{3,}|={3,}|\\*{3,}|- - /m,\n lookbehind: true,\n alias: 'comment'\n },\n url: /\\b(?:file|ftp|https?):\\/\\/[^\\s|,;'\"]*[^\\s|,;'\">.]/,\n email: {\n pattern: /(^|\\s)[-\\w+.]+@[a-z][a-z0-9-]*(?:\\.[a-z][a-z0-9-]*)+(?=\\s)/,\n lookbehind: true,\n alias: 'url'\n },\n 'ip-address': {\n pattern: /\\b(?:\\d{1,3}(?:\\.\\d{1,3}){3})\\b/,\n alias: 'constant'\n },\n 'mac-address': {\n pattern: /\\b[a-f0-9]{2}(?::[a-f0-9]{2}){5}\\b/i,\n alias: 'constant'\n },\n domain: {\n pattern:\n /(^|\\s)[a-z][a-z0-9-]*(?:\\.[a-z][a-z0-9-]*)*\\.[a-z][a-z0-9-]+(?=\\s)/,\n lookbehind: true,\n alias: 'constant'\n },\n uuid: {\n pattern:\n /\\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\\b/i,\n alias: 'constant'\n },\n hash: {\n pattern: /\\b(?:[a-f0-9]{32}){1,2}\\b/i,\n alias: 'constant'\n },\n 'file-path': {\n pattern:\n /\\b[a-z]:[\\\\/][^\\s|,;:(){}\\[\\]\"']+|(^|[\\s:\\[\\](>|])\\.{0,2}\\/\\w[^\\s|,;:(){}\\[\\]\"']*/i,\n lookbehind: true,\n greedy: true,\n alias: 'string'\n },\n date: {\n pattern: RegExp(\n /\\b\\d{4}[-/]\\d{2}[-/]\\d{2}(?:T(?=\\d{1,2}:)|(?=\\s\\d{1,2}:))/.source +\n '|' +\n /\\b\\d{1,4}[-/ ](?:\\d{1,2}|Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)[-/ ]\\d{2,4}T?\\b/\n .source +\n '|' +\n /\\b(?:(?:Fri|Mon|Sat|Sun|Thu|Tue|Wed)(?:\\s{1,2}(?:Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep))?|Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)\\s{1,2}\\d{1,2}\\b/\n .source,\n 'i'\n ),\n alias: 'number'\n },\n time: {\n pattern:\n /\\b\\d{1,2}:\\d{1,2}:\\d{1,2}(?:[.,:]\\d+)?(?:\\s?[+-]\\d{2}:?\\d{2}|Z)?\\b/,\n alias: 'number'\n },\n boolean: /\\b(?:false|null|true)\\b/i,\n number: {\n pattern:\n /(^|[^.\\w])(?:0x[a-f0-9]+|0o[0-7]+|0b[01]+|v?\\d[\\da-f]*(?:\\.\\d+)*(?:e[+-]?\\d+)?[a-z]{0,3}\\b)\\b(?!\\.\\w)/i,\n lookbehind: true\n },\n operator: /[;:?<=>~/@!$%&+\\-|^(){}*#]/,\n punctuation: /[\\[\\].,]/\n }\n}\n","'use strict'\n\nmodule.exports = lolcode\nlolcode.displayName = 'lolcode'\nlolcode.aliases = []\nfunction lolcode(Prism) {\n Prism.languages.lolcode = {\n comment: [/\\bOBTW\\s[\\s\\S]*?\\sTLDR\\b/, /\\bBTW.+/],\n string: {\n pattern: /\"(?::.|[^\":])*\"/,\n inside: {\n variable: /:\\{[^}]+\\}/,\n symbol: [/:\\([a-f\\d]+\\)/i, /:\\[[^\\]]+\\]/, /:[)>o\":]/]\n },\n greedy: true\n },\n number: /(?:\\B-)?(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)/,\n symbol: {\n pattern: /(^|\\s)(?:A )?(?:BUKKIT|NOOB|NUMBAR|NUMBR|TROOF|YARN)(?=\\s|,|$)/,\n lookbehind: true,\n inside: {\n keyword: /A(?=\\s)/\n }\n },\n label: {\n pattern: /((?:^|\\s)(?:IM IN YR|IM OUTTA YR) )[a-zA-Z]\\w*/,\n lookbehind: true,\n alias: 'string'\n },\n function: {\n pattern: /((?:^|\\s)(?:HOW IZ I|I IZ|IZ) )[a-zA-Z]\\w*/,\n lookbehind: true\n },\n keyword: [\n {\n pattern:\n /(^|\\s)(?:AN|FOUND YR|GIMMEH|GTFO|HAI|HAS A|HOW IZ I|I HAS A|I IZ|IF U SAY SO|IM IN YR|IM OUTTA YR|IS NOW(?: A)?|ITZ(?: A)?|IZ|KTHX|KTHXBYE|LIEK(?: A)?|MAEK|MEBBE|MKAY|NERFIN|NO WAI|O HAI IM|O RLY\\?|OIC|OMG|OMGWTF|R|SMOOSH|SRS|TIL|UPPIN|VISIBLE|WILE|WTF\\?|YA RLY|YR)(?=\\s|,|$)/,\n lookbehind: true\n },\n /'Z(?=\\s|,|$)/\n ],\n boolean: {\n pattern: /(^|\\s)(?:FAIL|WIN)(?=\\s|,|$)/,\n lookbehind: true\n },\n variable: {\n pattern: /(^|\\s)IT(?=\\s|,|$)/,\n lookbehind: true\n },\n operator: {\n pattern:\n /(^|\\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:ALL|ANY|BIGGR|BOTH|DIFF|EITHER|MOD|PRODUKT|QUOSHUNT|SMALLR|SUM|WON) OF)(?=\\s|,|$)/,\n lookbehind: true\n },\n punctuation: /\\.{3}|…|,|!/\n }\n}\n","'use strict'\n\nmodule.exports = lua\nlua.displayName = 'lua'\nlua.aliases = []\nfunction lua(Prism) {\n Prism.languages.lua = {\n comment: /^#!.+|--(?:\\[(=*)\\[[\\s\\S]*?\\]\\1\\]|.*)/m,\n // \\z may be used to skip the following space\n string: {\n pattern:\n /([\"'])(?:(?!\\1)[^\\\\\\r\\n]|\\\\z(?:\\r\\n|\\s)|\\\\(?:\\r\\n|[^z]))*\\1|\\[(=*)\\[[\\s\\S]*?\\]\\2\\]/,\n greedy: true\n },\n number:\n /\\b0x[a-f\\d]+(?:\\.[a-f\\d]*)?(?:p[+-]?\\d+)?\\b|\\b\\d+(?:\\.\\B|(?:\\.\\d*)?(?:e[+-]?\\d+)?\\b)|\\B\\.\\d+(?:e[+-]?\\d+)?\\b/i,\n keyword:\n /\\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\\b/,\n function: /(?!\\d)\\w+(?=\\s*(?:[({]))/,\n operator: [\n /[-+*%^&|#]|\\/\\/?|<[<=]?|>[>=]?|[=~]=?/,\n {\n // Match \"..\" but don't break \"...\"\n pattern: /(^|[^.])\\.\\.(?!\\.)/,\n lookbehind: true\n }\n ],\n punctuation: /[\\[\\](){},;]|\\.+|:+/\n }\n}\n","'use strict'\n\nmodule.exports = magma\nmagma.displayName = 'magma'\nmagma.aliases = []\nfunction magma(Prism) {\n Prism.languages.magma = {\n output: {\n pattern:\n /^(>.*(?:\\r(?:\\n|(?!\\n))|\\n))(?!>)(?:.+|(?:\\r(?:\\n|(?!\\n))|\\n)(?!>).*)(?:(?:\\r(?:\\n|(?!\\n))|\\n)(?!>).*)*/m,\n lookbehind: true,\n greedy: true\n },\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n greedy: true\n },\n string: {\n pattern: /(^|[^\\\\\"])\"(?:[^\\r\\n\\\\\"]|\\\\.)*\"/,\n lookbehind: true,\n greedy: true\n },\n // http://magma.maths.usyd.edu.au/magma/handbook/text/82\n keyword:\n /\\b(?:_|adj|and|assert|assert2|assert3|assigned|break|by|case|cat|catch|clear|cmpeq|cmpne|continue|declare|default|delete|diff|div|do|elif|else|end|eq|error|eval|exists|exit|for|forall|forward|fprintf|freeze|function|ge|gt|if|iload|import|in|intrinsic|is|join|le|load|local|lt|meet|mod|ne|not|notadj|notin|notsubset|or|print|printf|procedure|quit|random|read|readi|repeat|require|requirege|requirerange|restore|return|save|sdiff|select|subset|then|time|to|try|until|vprint|vprintf|vtime|when|where|while|xor)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n generator: {\n pattern: /\\b[a-z_]\\w*(?=\\s*<)/i,\n alias: 'class-name'\n },\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n number: {\n pattern:\n /(^|[^\\w.]|\\.\\.)(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?(?:_[a-z]?)?(?=$|[^\\w.]|\\.\\.)/,\n lookbehind: true\n },\n operator: /->|[-+*/^~!|#=]|:=|\\.\\./,\n punctuation: /[()[\\]{}<>,;.:]/\n }\n}\n","'use strict'\n\nmodule.exports = makefile\nmakefile.displayName = 'makefile'\nmakefile.aliases = []\nfunction makefile(Prism) {\n Prism.languages.makefile = {\n comment: {\n pattern: /(^|[^\\\\])#(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n])*/,\n lookbehind: true\n },\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n 'builtin-target': {\n pattern: /\\.[A-Z][^:#=\\s]+(?=\\s*:(?!=))/,\n alias: 'builtin'\n },\n target: {\n pattern: /^(?:[^:=\\s]|[ \\t]+(?![\\s:]))+(?=\\s*:(?!=))/m,\n alias: 'symbol',\n inside: {\n variable: /\\$+(?:(?!\\$)[^(){}:#=\\s]+|(?=[({]))/\n }\n },\n variable: /\\$+(?:(?!\\$)[^(){}:#=\\s]+|\\([@*%<^+?][DF]\\)|(?=[({]))/,\n // Directives\n keyword:\n /-include\\b|\\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\\b/,\n function: {\n pattern:\n /(\\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \\t])/,\n lookbehind: true\n },\n operator: /(?:::|[?:+!])?=|[|@]/,\n punctuation: /[:;(){}]/\n }\n}\n","'use strict'\n\nmodule.exports = markdown\nmarkdown.displayName = 'markdown'\nmarkdown.aliases = ['md']\nfunction markdown(Prism) {\n ;(function (Prism) {\n // Allow only one line break\n var inner = /(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))/.source\n /**\n * This function is intended for the creation of the bold or italic pattern.\n *\n * This also adds a lookbehind group to the given pattern to ensure that the pattern is not backslash-escaped.\n *\n * _Note:_ Keep in mind that this adds a capturing group.\n *\n * @param {string} pattern\n * @returns {RegExp}\n */\n function createInline(pattern) {\n pattern = pattern.replace(/<inner>/g, function () {\n return inner\n })\n return RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source + '(?:' + pattern + ')')\n }\n var tableCell = /(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+/\n .source\n var tableRow =\n /\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))/.source.replace(\n /__/g,\n function () {\n return tableCell\n }\n )\n var tableLine =\n /\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)/\n .source\n Prism.languages.markdown = Prism.languages.extend('markup', {})\n Prism.languages.insertBefore('markdown', 'prolog', {\n 'front-matter-block': {\n pattern: /(^(?:\\s*[\\r\\n])?)---(?!.)[\\s\\S]*?[\\r\\n]---(?!.)/,\n lookbehind: true,\n greedy: true,\n inside: {\n punctuation: /^---|---$/,\n 'front-matter': {\n pattern: /\\S+(?:\\s+\\S+)*/,\n alias: ['yaml', 'language-yaml'],\n inside: Prism.languages.yaml\n }\n }\n },\n blockquote: {\n // > ...\n pattern: /^>(?:[\\t ]*>)*/m,\n alias: 'punctuation'\n },\n table: {\n pattern: RegExp(\n '^' + tableRow + tableLine + '(?:' + tableRow + ')*',\n 'm'\n ),\n inside: {\n 'table-data-rows': {\n pattern: RegExp(\n '^(' + tableRow + tableLine + ')(?:' + tableRow + ')*$'\n ),\n lookbehind: true,\n inside: {\n 'table-data': {\n pattern: RegExp(tableCell),\n inside: Prism.languages.markdown\n },\n punctuation: /\\|/\n }\n },\n 'table-line': {\n pattern: RegExp('^(' + tableRow + ')' + tableLine + '$'),\n lookbehind: true,\n inside: {\n punctuation: /\\||:?-{3,}:?/\n }\n },\n 'table-header-row': {\n pattern: RegExp('^' + tableRow + '$'),\n inside: {\n 'table-header': {\n pattern: RegExp(tableCell),\n alias: 'important',\n inside: Prism.languages.markdown\n },\n punctuation: /\\|/\n }\n }\n }\n },\n code: [\n {\n // Prefixed by 4 spaces or 1 tab and preceded by an empty line\n pattern:\n /((?:^|\\n)[ \\t]*\\n|(?:^|\\r\\n?)[ \\t]*\\r\\n?)(?: {4}|\\t).+(?:(?:\\n|\\r\\n?)(?: {4}|\\t).+)*/,\n lookbehind: true,\n alias: 'keyword'\n },\n {\n // ```optional language\n // code block\n // ```\n pattern: /^```[\\s\\S]*?^```$/m,\n greedy: true,\n inside: {\n 'code-block': {\n pattern: /^(```.*(?:\\n|\\r\\n?))[\\s\\S]+?(?=(?:\\n|\\r\\n?)^```$)/m,\n lookbehind: true\n },\n 'code-language': {\n pattern: /^(```).+/,\n lookbehind: true\n },\n punctuation: /```/\n }\n }\n ],\n title: [\n {\n // title 1\n // =======\n // title 2\n // -------\n pattern: /\\S.*(?:\\n|\\r\\n?)(?:==+|--+)(?=[ \\t]*$)/m,\n alias: 'important',\n inside: {\n punctuation: /==+$|--+$/\n }\n },\n {\n // # title 1\n // ###### title 6\n pattern: /(^\\s*)#.+/m,\n lookbehind: true,\n alias: 'important',\n inside: {\n punctuation: /^#+|#+$/\n }\n }\n ],\n hr: {\n // ***\n // ---\n // * * *\n // -----------\n pattern: /(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m,\n lookbehind: true,\n alias: 'punctuation'\n },\n list: {\n // * item\n // + item\n // - item\n // 1. item\n pattern: /(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m,\n lookbehind: true,\n alias: 'punctuation'\n },\n 'url-reference': {\n // [id]: http://example.com \"Optional title\"\n // [id]: http://example.com 'Optional title'\n // [id]: http://example.com (Optional title)\n // [id]: <http://example.com> \"Optional title\"\n pattern:\n /!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/,\n inside: {\n variable: {\n pattern: /^(!?\\[)[^\\]]+/,\n lookbehind: true\n },\n string:\n /(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/,\n punctuation: /^[\\[\\]!:]|[<>]/\n },\n alias: 'url'\n },\n bold: {\n // **strong**\n // __strong__\n // allow one nested instance of italic text using the same delimiter\n pattern: createInline(\n /\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*/\n .source\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n content: {\n pattern: /(^..)[\\s\\S]+(?=..$)/,\n lookbehind: true,\n inside: {} // see below\n },\n punctuation: /\\*\\*|__/\n }\n },\n italic: {\n // *em*\n // _em_\n // allow one nested instance of bold text using the same delimiter\n pattern: createInline(\n /\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*/\n .source\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n content: {\n pattern: /(^.)[\\s\\S]+(?=.$)/,\n lookbehind: true,\n inside: {} // see below\n },\n punctuation: /[*_]/\n }\n },\n strike: {\n // ~~strike through~~\n // ~strike~\n // eslint-disable-next-line regexp/strict\n pattern: createInline(/(~~?)(?:(?!~)<inner>)+\\2/.source),\n lookbehind: true,\n greedy: true,\n inside: {\n content: {\n pattern: /(^~~?)[\\s\\S]+(?=\\1$)/,\n lookbehind: true,\n inside: {} // see below\n },\n punctuation: /~~?/\n }\n },\n 'code-snippet': {\n // `code`\n // ``code``\n pattern:\n /(^|[^\\\\`])(?:``[^`\\r\\n]+(?:`[^`\\r\\n]+)*``(?!`)|`[^`\\r\\n]+`(?!`))/,\n lookbehind: true,\n greedy: true,\n alias: ['code', 'keyword']\n },\n url: {\n // [example](http://example.com \"Optional title\")\n // [example][id]\n // [example] [id]\n pattern: createInline(\n /!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])/\n .source\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n operator: /^!/,\n content: {\n pattern: /(^\\[)[^\\]]+(?=\\])/,\n lookbehind: true,\n inside: {} // see below\n },\n variable: {\n pattern: /(^\\][ \\t]?\\[)[^\\]]+(?=\\]$)/,\n lookbehind: true\n },\n url: {\n pattern: /(^\\]\\()[^\\s)]+/,\n lookbehind: true\n },\n string: {\n pattern: /(^[ \\t]+)\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/,\n lookbehind: true\n }\n }\n }\n })\n ;['url', 'bold', 'italic', 'strike'].forEach(function (token) {\n ;['url', 'bold', 'italic', 'strike', 'code-snippet'].forEach(function (\n inside\n ) {\n if (token !== inside) {\n Prism.languages.markdown[token].inside.content.inside[inside] =\n Prism.languages.markdown[inside]\n }\n })\n })\n Prism.hooks.add('after-tokenize', function (env) {\n if (env.language !== 'markdown' && env.language !== 'md') {\n return\n }\n function walkTokens(tokens) {\n if (!tokens || typeof tokens === 'string') {\n return\n }\n for (var i = 0, l = tokens.length; i < l; i++) {\n var token = tokens[i]\n if (token.type !== 'code') {\n walkTokens(token.content)\n continue\n }\n /*\n * Add the correct `language-xxxx` class to this code block. Keep in mind that the `code-language` token\n * is optional. But the grammar is defined so that there is only one case we have to handle:\n *\n * token.content = [\n * <span class=\"punctuation\">```</span>,\n * <span class=\"code-language\">xxxx</span>,\n * '\\n', // exactly one new lines (\\r or \\n or \\r\\n)\n * <span class=\"code-block\">...</span>,\n * '\\n', // exactly one new lines again\n * <span class=\"punctuation\">```</span>\n * ];\n */\n var codeLang = token.content[1]\n var codeBlock = token.content[3]\n if (\n codeLang &&\n codeBlock &&\n codeLang.type === 'code-language' &&\n codeBlock.type === 'code-block' &&\n typeof codeLang.content === 'string'\n ) {\n // this might be a language that Prism does not support\n // do some replacements to support C++, C#, and F#\n var lang = codeLang.content\n .replace(/\\b#/g, 'sharp')\n .replace(/\\b\\+\\+/g, 'pp') // only use the first word\n lang = (/[a-z][\\w-]*/i.exec(lang) || [''])[0].toLowerCase()\n var alias = 'language-' + lang // add alias\n if (!codeBlock.alias) {\n codeBlock.alias = [alias]\n } else if (typeof codeBlock.alias === 'string') {\n codeBlock.alias = [codeBlock.alias, alias]\n } else {\n codeBlock.alias.push(alias)\n }\n }\n }\n }\n walkTokens(env.tokens)\n })\n Prism.hooks.add('wrap', function (env) {\n if (env.type !== 'code-block') {\n return\n }\n var codeLang = ''\n for (var i = 0, l = env.classes.length; i < l; i++) {\n var cls = env.classes[i]\n var match = /language-(.+)/.exec(cls)\n if (match) {\n codeLang = match[1]\n break\n }\n }\n var grammar = Prism.languages[codeLang]\n if (!grammar) {\n if (codeLang && codeLang !== 'none' && Prism.plugins.autoloader) {\n var id =\n 'md-' +\n new Date().valueOf() +\n '-' +\n Math.floor(Math.random() * 1e16)\n env.attributes['id'] = id\n Prism.plugins.autoloader.loadLanguages(codeLang, function () {\n var ele = document.getElementById(id)\n if (ele) {\n ele.innerHTML = Prism.highlight(\n ele.textContent,\n Prism.languages[codeLang],\n codeLang\n )\n }\n })\n }\n } else {\n env.content = Prism.highlight(\n textContent(env.content.value),\n grammar,\n codeLang\n )\n }\n })\n var tagPattern = RegExp(Prism.languages.markup.tag.pattern.source, 'gi')\n /**\n * A list of known entity names.\n *\n * This will always be incomplete to save space. The current list is the one used by lowdash's unescape function.\n *\n * @see {@link https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/unescape.js#L2}\n */\n var KNOWN_ENTITY_NAMES = {\n amp: '&',\n lt: '<',\n gt: '>',\n quot: '\"'\n } // IE 11 doesn't support `String.fromCodePoint`\n var fromCodePoint = String.fromCodePoint || String.fromCharCode\n /**\n * Returns the text content of a given HTML source code string.\n *\n * @param {string} html\n * @returns {string}\n */\n function textContent(html) {\n // remove all tags\n var text = html.replace(tagPattern, '') // decode known entities\n text = text.replace(/&(\\w{1,8}|#x?[\\da-f]{1,8});/gi, function (m, code) {\n code = code.toLowerCase()\n if (code[0] === '#') {\n var value\n if (code[1] === 'x') {\n value = parseInt(code.slice(2), 16)\n } else {\n value = Number(code.slice(1))\n }\n return fromCodePoint(value)\n } else {\n var known = KNOWN_ENTITY_NAMES[code]\n if (known) {\n return known\n } // unable to decode\n return m\n }\n })\n return text\n }\n Prism.languages.md = Prism.languages.markdown\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = markupTemplating\nmarkupTemplating.displayName = 'markupTemplating'\nmarkupTemplating.aliases = []\nfunction markupTemplating(Prism) {\n ;(function (Prism) {\n /**\n * Returns the placeholder for the given language id and index.\n *\n * @param {string} language\n * @param {string|number} index\n * @returns {string}\n */\n function getPlaceholder(language, index) {\n return '___' + language.toUpperCase() + index + '___'\n }\n Object.defineProperties((Prism.languages['markup-templating'] = {}), {\n buildPlaceholders: {\n /**\n * Tokenize all inline templating expressions matching `placeholderPattern`.\n *\n * If `replaceFilter` is provided, only matches of `placeholderPattern` for which `replaceFilter` returns\n * `true` will be replaced.\n *\n * @param {object} env The environment of the `before-tokenize` hook.\n * @param {string} language The language id.\n * @param {RegExp} placeholderPattern The matches of this pattern will be replaced by placeholders.\n * @param {(match: string) => boolean} [replaceFilter]\n */\n value: function (env, language, placeholderPattern, replaceFilter) {\n if (env.language !== language) {\n return\n }\n var tokenStack = (env.tokenStack = [])\n env.code = env.code.replace(placeholderPattern, function (match) {\n if (typeof replaceFilter === 'function' && !replaceFilter(match)) {\n return match\n }\n var i = tokenStack.length\n var placeholder // Check for existing strings\n while (\n env.code.indexOf((placeholder = getPlaceholder(language, i))) !==\n -1\n ) {\n ++i\n } // Create a sparse array\n tokenStack[i] = match\n return placeholder\n }) // Switch the grammar to markup\n env.grammar = Prism.languages.markup\n }\n },\n tokenizePlaceholders: {\n /**\n * Replace placeholders with proper tokens after tokenizing.\n *\n * @param {object} env The environment of the `after-tokenize` hook.\n * @param {string} language The language id.\n */\n value: function (env, language) {\n if (env.language !== language || !env.tokenStack) {\n return\n } // Switch the grammar back\n env.grammar = Prism.languages[language]\n var j = 0\n var keys = Object.keys(env.tokenStack)\n function walkTokens(tokens) {\n for (var i = 0; i < tokens.length; i++) {\n // all placeholders are replaced already\n if (j >= keys.length) {\n break\n }\n var token = tokens[i]\n if (\n typeof token === 'string' ||\n (token.content && typeof token.content === 'string')\n ) {\n var k = keys[j]\n var t = env.tokenStack[k]\n var s = typeof token === 'string' ? token : token.content\n var placeholder = getPlaceholder(language, k)\n var index = s.indexOf(placeholder)\n if (index > -1) {\n ++j\n var before = s.substring(0, index)\n var middle = new Prism.Token(\n language,\n Prism.tokenize(t, env.grammar),\n 'language-' + language,\n t\n )\n var after = s.substring(index + placeholder.length)\n var replacement = []\n if (before) {\n replacement.push.apply(replacement, walkTokens([before]))\n }\n replacement.push(middle)\n if (after) {\n replacement.push.apply(replacement, walkTokens([after]))\n }\n if (typeof token === 'string') {\n tokens.splice.apply(tokens, [i, 1].concat(replacement))\n } else {\n token.content = replacement\n }\n }\n } else if (\n token.content\n /* && typeof token.content !== 'string' */\n ) {\n walkTokens(token.content)\n }\n }\n return tokens\n }\n walkTokens(env.tokens)\n }\n }\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = markup\nmarkup.displayName = 'markup'\nmarkup.aliases = ['html', 'mathml', 'svg', 'xml', 'ssml', 'atom', 'rss']\nfunction markup(Prism) {\n Prism.languages.markup = {\n comment: {\n pattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n greedy: true\n },\n prolog: {\n pattern: /<\\?[\\s\\S]+?\\?>/,\n greedy: true\n },\n doctype: {\n // https://www.w3.org/TR/xml/#NT-doctypedecl\n pattern:\n /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n greedy: true,\n inside: {\n 'internal-subset': {\n pattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n lookbehind: true,\n greedy: true,\n inside: null // see below\n },\n string: {\n pattern: /\"[^\"]*\"|'[^']*'/,\n greedy: true\n },\n punctuation: /^<!|>$|[[\\]]/,\n 'doctype-tag': /^DOCTYPE/i,\n name: /[^\\s<>'\"]+/\n }\n },\n cdata: {\n pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n greedy: true\n },\n tag: {\n pattern:\n /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n greedy: true,\n inside: {\n tag: {\n pattern: /^<\\/?[^\\s>\\/]+/,\n inside: {\n punctuation: /^<\\/?/,\n namespace: /^[^\\s>\\/:]+:/\n }\n },\n 'special-attr': [],\n 'attr-value': {\n pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n inside: {\n punctuation: [\n {\n pattern: /^=/,\n alias: 'attr-equals'\n },\n /\"|'/\n ]\n }\n },\n punctuation: /\\/?>/,\n 'attr-name': {\n pattern: /[^\\s>\\/]+/,\n inside: {\n namespace: /^[^\\s>\\/:]+:/\n }\n }\n }\n },\n entity: [\n {\n pattern: /&[\\da-z]{1,8};/i,\n alias: 'named-entity'\n },\n /&#x?[\\da-f]{1,8};/i\n ]\n }\n Prism.languages.markup['tag'].inside['attr-value'].inside['entity'] =\n Prism.languages.markup['entity']\n Prism.languages.markup['doctype'].inside['internal-subset'].inside =\n Prism.languages.markup // Plugin to make entity title show the real entity, idea by Roman Komarov\n Prism.hooks.add('wrap', function (env) {\n if (env.type === 'entity') {\n env.attributes['title'] = env.content.value.replace(/&/, '&')\n }\n })\n Object.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n /**\n * Adds an inlined language to markup.\n *\n * An example of an inlined language is CSS with `<style>` tags.\n *\n * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n * case insensitive.\n * @param {string} lang The language key.\n * @example\n * addInlined('style', 'css');\n */\n value: function addInlined(tagName, lang) {\n var includedCdataInside = {}\n includedCdataInside['language-' + lang] = {\n pattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n lookbehind: true,\n inside: Prism.languages[lang]\n }\n includedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i\n var inside = {\n 'included-cdata': {\n pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n inside: includedCdataInside\n }\n }\n inside['language-' + lang] = {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages[lang]\n }\n var def = {}\n def[tagName] = {\n pattern: RegExp(\n /(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(\n /__/g,\n function () {\n return tagName\n }\n ),\n 'i'\n ),\n lookbehind: true,\n greedy: true,\n inside: inside\n }\n Prism.languages.insertBefore('markup', 'cdata', def)\n }\n })\n Object.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n /**\n * Adds an pattern to highlight languages embedded in HTML attributes.\n *\n * An example of an inlined language is CSS with `style` attributes.\n *\n * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as\n * case insensitive.\n * @param {string} lang The language key.\n * @example\n * addAttribute('style', 'css');\n */\n value: function (attrName, lang) {\n Prism.languages.markup.tag.inside['special-attr'].push({\n pattern: RegExp(\n /(^|[\"'\\s])/.source +\n '(?:' +\n attrName +\n ')' +\n /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\n 'i'\n ),\n lookbehind: true,\n inside: {\n 'attr-name': /^[^\\s=]+/,\n 'attr-value': {\n pattern: /=[\\s\\S]+/,\n inside: {\n value: {\n pattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n lookbehind: true,\n alias: [lang, 'language-' + lang],\n inside: Prism.languages[lang]\n },\n punctuation: [\n {\n pattern: /^=/,\n alias: 'attr-equals'\n },\n /\"|'/\n ]\n }\n }\n }\n })\n }\n })\n Prism.languages.html = Prism.languages.markup\n Prism.languages.mathml = Prism.languages.markup\n Prism.languages.svg = Prism.languages.markup\n Prism.languages.xml = Prism.languages.extend('markup', {})\n Prism.languages.ssml = Prism.languages.xml\n Prism.languages.atom = Prism.languages.xml\n Prism.languages.rss = Prism.languages.xml\n}\n","'use strict'\n\nmodule.exports = matlab\nmatlab.displayName = 'matlab'\nmatlab.aliases = []\nfunction matlab(Prism) {\n Prism.languages.matlab = {\n comment: [/%\\{[\\s\\S]*?\\}%/, /%.+/],\n string: {\n pattern: /\\B'(?:''|[^'\\r\\n])*'/,\n greedy: true\n },\n // FIXME We could handle imaginary numbers as a whole\n number: /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?(?:[ij])?|\\b[ij]\\b/,\n keyword:\n /\\b(?:NaN|break|case|catch|continue|else|elseif|end|for|function|if|inf|otherwise|parfor|pause|pi|return|switch|try|while)\\b/,\n function: /\\b(?!\\d)\\w+(?=\\s*\\()/,\n operator: /\\.?[*^\\/\\\\']|[+\\-:@]|[<>=~]=?|&&?|\\|\\|?/,\n punctuation: /\\.{3}|[.,;\\[\\](){}!]/\n }\n}\n","'use strict'\n\nmodule.exports = maxscript\nmaxscript.displayName = 'maxscript'\nmaxscript.aliases = []\nfunction maxscript(Prism) {\n ;(function (Prism) {\n var keywords =\n /\\b(?:about|and|animate|as|at|attributes|by|case|catch|collect|continue|coordsys|do|else|exit|fn|for|from|function|global|if|in|local|macroscript|mapped|max|not|of|off|on|or|parameters|persistent|plugin|rcmenu|return|rollout|set|struct|then|throw|to|tool|try|undo|utility|when|where|while|with)\\b/i\n Prism.languages.maxscript = {\n comment: {\n pattern: /\\/\\*[\\s\\S]*?(?:\\*\\/|$)|--.*/,\n greedy: true\n },\n string: {\n pattern: /(^|[^\"\\\\@])(?:\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"|@\"[^\"]*\")/,\n lookbehind: true,\n greedy: true\n },\n path: {\n pattern: /\\$(?:[\\w/\\\\.*?]|'[^']*')*/,\n greedy: true,\n alias: 'string'\n },\n 'function-call': {\n pattern: RegExp(\n '((?:' + // start of line\n (/^/.source +\n '|' + // operators and other language constructs\n /[;=<>+\\-*/^({\\[]/.source +\n '|' + // keywords as part of statements\n /\\b(?:and|by|case|catch|collect|do|else|if|in|not|or|return|then|to|try|where|while|with)\\b/\n .source) +\n ')[ \\t]*)' +\n '(?!' +\n keywords.source +\n ')' +\n /[a-z_]\\w*\\b/.source +\n '(?=[ \\t]*(?:' + // variable\n ('(?!' +\n keywords.source +\n ')' +\n /[a-z_]/.source +\n '|' + // number\n /\\d|-\\.?\\d/.source +\n '|' + // other expressions or literals\n /[({'\"$@#?]/.source) +\n '))',\n 'im'\n ),\n lookbehind: true,\n greedy: true,\n alias: 'function'\n },\n 'function-definition': {\n pattern: /(\\b(?:fn|function)\\s+)\\w+\\b/i,\n lookbehind: true,\n alias: 'function'\n },\n argument: {\n pattern: /\\b[a-z_]\\w*(?=:)/i,\n alias: 'attr-name'\n },\n keyword: keywords,\n boolean: /\\b(?:false|true)\\b/,\n time: {\n pattern:\n /(^|[^\\w.])(?:(?:(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eEdD][+-]\\d+|[LP])?[msft])+|\\d+:\\d+(?:\\.\\d*)?)(?![\\w.:])/,\n lookbehind: true,\n alias: 'number'\n },\n number: [\n {\n pattern:\n /(^|[^\\w.])(?:(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eEdD][+-]\\d+|[LP])?|0x[a-fA-F0-9]+)(?![\\w.:])/,\n lookbehind: true\n },\n /\\b(?:e|pi)\\b/\n ],\n constant: /\\b(?:dontcollect|ok|silentValue|undefined|unsupplied)\\b/,\n color: {\n pattern: /\\b(?:black|blue|brown|gray|green|orange|red|white|yellow)\\b/i,\n alias: 'constant'\n },\n operator: /[-+*/<>=!]=?|[&^?]|#(?!\\()/,\n punctuation: /[()\\[\\]{}.:,;]|#(?=\\()|\\\\$/m\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = mel\nmel.displayName = 'mel'\nmel.aliases = []\nfunction mel(Prism) {\n Prism.languages.mel = {\n comment: /\\/\\/.*/,\n code: {\n pattern: /`(?:\\\\.|[^\\\\`\\r\\n])*`/,\n greedy: true,\n alias: 'italic',\n inside: {\n delimiter: {\n pattern: /^`|`$/,\n alias: 'punctuation'\n } // See rest below\n }\n },\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: true\n },\n variable: /\\$\\w+/,\n number: /\\b0x[\\da-fA-F]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+/,\n flag: {\n pattern: /-[^\\d\\W]\\w*/,\n alias: 'operator'\n },\n keyword:\n /\\b(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)\\b/,\n function:\n /\\b\\w+(?=\\()|\\b(?:CBG|HfAddAttractorToAS|HfAssignAS|HfBuildEqualMap|HfBuildFurFiles|HfBuildFurImages|HfCancelAFR|HfConnectASToHF|HfCreateAttractor|HfDeleteAS|HfEditAS|HfPerformCreateAS|HfRemoveAttractorFromAS|HfSelectAttached|HfSelectAttractors|HfUnAssignAS|Mayatomr|about|abs|addAttr|addAttributeEditorNodeHelp|addDynamic|addNewShelfTab|addPP|addPanelCategory|addPrefixToName|advanceToNextDrivenKey|affectedNet|affects|aimConstraint|air|alias|aliasAttr|align|alignCtx|alignCurve|alignSurface|allViewFit|ambientLight|angle|angleBetween|animCone|animCurveEditor|animDisplay|animView|annotate|appendStringArray|applicationName|applyAttrPreset|applyTake|arcLenDimContext|arcLengthDimension|arclen|arrayMapper|art3dPaintCtx|artAttrCtx|artAttrPaintVertexCtx|artAttrSkinPaintCtx|artAttrTool|artBuildPaintMenu|artFluidAttrCtx|artPuttyCtx|artSelectCtx|artSetPaintCtx|artUserPaintCtx|assignCommand|assignInputDevice|assignViewportFactories|attachCurve|attachDeviceAttr|attachSurface|attrColorSliderGrp|attrCompatibility|attrControlGrp|attrEnumOptionMenu|attrEnumOptionMenuGrp|attrFieldGrp|attrFieldSliderGrp|attrNavigationControlGrp|attrPresetEditWin|attributeExists|attributeInfo|attributeMenu|attributeQuery|autoKeyframe|autoPlace|bakeClip|bakeFluidShading|bakePartialHistory|bakeResults|bakeSimulation|basename|basenameEx|batchRender|bessel|bevel|bevelPlus|binMembership|bindSkin|blend2|blendShape|blendShapeEditor|blendShapePanel|blendTwoAttr|blindDataType|boneLattice|boundary|boxDollyCtx|boxZoomCtx|bufferCurve|buildBookmarkMenu|buildKeyframeMenu|button|buttonManip|cacheFile|cacheFileCombine|cacheFileMerge|cacheFileTrack|camera|cameraView|canCreateManip|canvas|capitalizeString|catch|catchQuiet|ceil|changeSubdivComponentDisplayLevel|changeSubdivRegion|channelBox|character|characterMap|characterOutlineEditor|characterize|chdir|checkBox|checkBoxGrp|checkDefaultRenderGlobals|choice|circle|circularFillet|clamp|clear|clearCache|clip|clipEditor|clipEditorCurrentTimeCtx|clipSchedule|clipSchedulerOutliner|clipTrimBefore|closeCurve|closeSurface|cluster|cmdFileOutput|cmdScrollFieldExecuter|cmdScrollFieldReporter|cmdShell|coarsenSubdivSelectionList|collision|color|colorAtPoint|colorEditor|colorIndex|colorIndexSliderGrp|colorSliderButtonGrp|colorSliderGrp|columnLayout|commandEcho|commandLine|commandPort|compactHairSystem|componentEditor|compositingInterop|computePolysetVolume|condition|cone|confirmDialog|connectAttr|connectControl|connectDynamic|connectJoint|connectionInfo|constrain|constrainValue|constructionHistory|container|containsMultibyte|contextInfo|control|convertFromOldLayers|convertIffToPsd|convertLightmap|convertSolidTx|convertTessellation|convertUnit|copyArray|copyFlexor|copyKey|copySkinWeights|cos|cpButton|cpCache|cpClothSet|cpCollision|cpConstraint|cpConvClothToMesh|cpForces|cpGetSolverAttr|cpPanel|cpProperty|cpRigidCollisionFilter|cpSeam|cpSetEdit|cpSetSolverAttr|cpSolver|cpSolverTypes|cpTool|cpUpdateClothUVs|createDisplayLayer|createDrawCtx|createEditor|createLayeredPsdFile|createMotionField|createNewShelf|createNode|createRenderLayer|createSubdivRegion|cross|crossProduct|ctxAbort|ctxCompletion|ctxEditMode|ctxTraverse|currentCtx|currentTime|currentTimeCtx|currentUnit|curve|curveAddPtCtx|curveCVCtx|curveEPCtx|curveEditorCtx|curveIntersect|curveMoveEPCtx|curveOnSurface|curveSketchCtx|cutKey|cycleCheck|cylinder|dagPose|date|defaultLightListCheckBox|defaultNavigation|defineDataServer|defineVirtualDevice|deformer|deg_to_rad|delete|deleteAttr|deleteShadingGroupsAndMaterials|deleteShelfTab|deleteUI|deleteUnusedBrushes|delrandstr|detachCurve|detachDeviceAttr|detachSurface|deviceEditor|devicePanel|dgInfo|dgdirty|dgeval|dgtimer|dimWhen|directKeyCtx|directionalLight|dirmap|dirname|disable|disconnectAttr|disconnectJoint|diskCache|displacementToPoly|displayAffected|displayColor|displayCull|displayLevelOfDetail|displayPref|displayRGBColor|displaySmoothness|displayStats|displayString|displaySurface|distanceDimContext|distanceDimension|doBlur|dolly|dollyCtx|dopeSheetEditor|dot|dotProduct|doubleProfileBirailSurface|drag|dragAttrContext|draggerContext|dropoffLocator|duplicate|duplicateCurve|duplicateSurface|dynCache|dynControl|dynExport|dynExpression|dynGlobals|dynPaintEditor|dynParticleCtx|dynPref|dynRelEdPanel|dynRelEditor|dynamicLoad|editAttrLimits|editDisplayLayerGlobals|editDisplayLayerMembers|editRenderLayerAdjustment|editRenderLayerGlobals|editRenderLayerMembers|editor|editorTemplate|effector|emit|emitter|enableDevice|encodeString|endString|endsWith|env|equivalent|equivalentTol|erf|error|eval|evalDeferred|evalEcho|event|exactWorldBoundingBox|exclusiveLightCheckBox|exec|executeForEachObject|exists|exp|expression|expressionEditorListen|extendCurve|extendSurface|extrude|fcheck|fclose|feof|fflush|fgetline|fgetword|file|fileBrowserDialog|fileDialog|fileExtension|fileInfo|filetest|filletCurve|filter|filterCurve|filterExpand|filterStudioImport|findAllIntersections|findAnimCurves|findKeyframe|findMenuItem|findRelatedSkinCluster|finder|firstParentOf|fitBspline|flexor|floatEq|floatField|floatFieldGrp|floatScrollBar|floatSlider|floatSlider2|floatSliderButtonGrp|floatSliderGrp|floor|flow|fluidCacheInfo|fluidEmitter|fluidVoxelInfo|flushUndo|fmod|fontDialog|fopen|formLayout|format|fprint|frameLayout|fread|freeFormFillet|frewind|fromNativePath|fwrite|gamma|gauss|geometryConstraint|getApplicationVersionAsFloat|getAttr|getClassification|getDefaultBrush|getFileList|getFluidAttr|getInputDeviceRange|getMayaPanelTypes|getModifiers|getPanel|getParticleAttr|getPluginResource|getenv|getpid|glRender|glRenderEditor|globalStitch|gmatch|goal|gotoBindPose|grabColor|gradientControl|gradientControlNoAttr|graphDollyCtx|graphSelectContext|graphTrackCtx|gravity|grid|gridLayout|group|groupObjectsByName|hardenPointCurve|hardware|hardwareRenderPanel|headsUpDisplay|headsUpMessage|help|helpLine|hermite|hide|hilite|hitTest|hotBox|hotkey|hotkeyCheck|hsv_to_rgb|hudButton|hudSlider|hudSliderButton|hwReflectionMap|hwRender|hwRenderLoad|hyperGraph|hyperPanel|hyperShade|hypot|iconTextButton|iconTextCheckBox|iconTextRadioButton|iconTextRadioCollection|iconTextScrollList|iconTextStaticLabel|ikHandle|ikHandleCtx|ikHandleDisplayScale|ikSolver|ikSplineHandleCtx|ikSystem|ikSystemInfo|ikfkDisplayMethod|illustratorCurves|image|imfPlugins|inheritTransform|insertJoint|insertJointCtx|insertKeyCtx|insertKnotCurve|insertKnotSurface|instance|instanceable|instancer|intField|intFieldGrp|intScrollBar|intSlider|intSliderGrp|interToUI|internalVar|intersect|iprEngine|isAnimCurve|isConnected|isDirty|isParentOf|isSameObject|isTrue|isValidObjectName|isValidString|isValidUiName|isolateSelect|itemFilter|itemFilterAttr|itemFilterRender|itemFilterType|joint|jointCluster|jointCtx|jointDisplayScale|jointLattice|keyTangent|keyframe|keyframeOutliner|keyframeRegionCurrentTimeCtx|keyframeRegionDirectKeyCtx|keyframeRegionDollyCtx|keyframeRegionInsertKeyCtx|keyframeRegionMoveKeyCtx|keyframeRegionScaleKeyCtx|keyframeRegionSelectKeyCtx|keyframeRegionSetKeyCtx|keyframeRegionTrackCtx|keyframeStats|lassoContext|lattice|latticeDeformKeyCtx|launch|launchImageEditor|layerButton|layeredShaderPort|layeredTexturePort|layout|layoutDialog|lightList|lightListEditor|lightListPanel|lightlink|lineIntersection|linearPrecision|linstep|listAnimatable|listAttr|listCameras|listConnections|listDeviceAttachments|listHistory|listInputDeviceAxes|listInputDeviceButtons|listInputDevices|listMenuAnnotation|listNodeTypes|listPanelCategories|listRelatives|listSets|listTransforms|listUnselected|listerEditor|loadFluid|loadNewShelf|loadPlugin|loadPluginLanguageResources|loadPrefObjects|localizedPanelLabel|lockNode|loft|log|longNameOf|lookThru|ls|lsThroughFilter|lsType|lsUI|mag|makeIdentity|makeLive|makePaintable|makeRoll|makeSingleSurface|makeTubeOn|makebot|manipMoveContext|manipMoveLimitsCtx|manipOptions|manipRotateContext|manipRotateLimitsCtx|manipScaleContext|manipScaleLimitsCtx|marker|match|max|memory|menu|menuBarLayout|menuEditor|menuItem|menuItemToShelf|menuSet|menuSetPref|messageLine|min|minimizeApp|mirrorJoint|modelCurrentTimeCtx|modelEditor|modelPanel|mouse|movIn|movOut|move|moveIKtoFK|moveKeyCtx|moveVertexAlongDirection|multiProfileBirailSurface|mute|nParticle|nameCommand|nameField|namespace|namespaceInfo|newPanelItems|newton|nodeCast|nodeIconButton|nodeOutliner|nodePreset|nodeType|noise|nonLinear|normalConstraint|normalize|nurbsBoolean|nurbsCopyUVSet|nurbsCube|nurbsEditUV|nurbsPlane|nurbsSelect|nurbsSquare|nurbsToPoly|nurbsToPolygonsPref|nurbsToSubdiv|nurbsToSubdivPref|nurbsUVSet|nurbsViewDirectionVector|objExists|objectCenter|objectLayer|objectType|objectTypeUI|obsoleteProc|oceanNurbsPreviewPlane|offsetCurve|offsetCurveOnSurface|offsetSurface|openGLExtension|openMayaPref|optionMenu|optionMenuGrp|optionVar|orbit|orbitCtx|orientConstraint|outlinerEditor|outlinerPanel|overrideModifier|paintEffectsDisplay|pairBlend|palettePort|paneLayout|panel|panelConfiguration|panelHistory|paramDimContext|paramDimension|paramLocator|parent|parentConstraint|particle|particleExists|particleInstancer|particleRenderInfo|partition|pasteKey|pathAnimation|pause|pclose|percent|performanceOptions|pfxstrokes|pickWalk|picture|pixelMove|planarSrf|plane|play|playbackOptions|playblast|plugAttr|plugNode|pluginInfo|pluginResourceUtil|pointConstraint|pointCurveConstraint|pointLight|pointMatrixMult|pointOnCurve|pointOnSurface|pointPosition|poleVectorConstraint|polyAppend|polyAppendFacetCtx|polyAppendVertex|polyAutoProjection|polyAverageNormal|polyAverageVertex|polyBevel|polyBlendColor|polyBlindData|polyBoolOp|polyBridgeEdge|polyCacheMonitor|polyCheck|polyChipOff|polyClipboard|polyCloseBorder|polyCollapseEdge|polyCollapseFacet|polyColorBlindData|polyColorDel|polyColorPerVertex|polyColorSet|polyCompare|polyCone|polyCopyUV|polyCrease|polyCreaseCtx|polyCreateFacet|polyCreateFacetCtx|polyCube|polyCut|polyCutCtx|polyCylinder|polyCylindricalProjection|polyDelEdge|polyDelFacet|polyDelVertex|polyDuplicateAndConnect|polyDuplicateEdge|polyEditUV|polyEditUVShell|polyEvaluate|polyExtrudeEdge|polyExtrudeFacet|polyExtrudeVertex|polyFlipEdge|polyFlipUV|polyForceUV|polyGeoSampler|polyHelix|polyInfo|polyInstallAction|polyLayoutUV|polyListComponentConversion|polyMapCut|polyMapDel|polyMapSew|polyMapSewMove|polyMergeEdge|polyMergeEdgeCtx|polyMergeFacet|polyMergeFacetCtx|polyMergeUV|polyMergeVertex|polyMirrorFace|polyMoveEdge|polyMoveFacet|polyMoveFacetUV|polyMoveUV|polyMoveVertex|polyNormal|polyNormalPerVertex|polyNormalizeUV|polyOptUvs|polyOptions|polyOutput|polyPipe|polyPlanarProjection|polyPlane|polyPlatonicSolid|polyPoke|polyPrimitive|polyPrism|polyProjection|polyPyramid|polyQuad|polyQueryBlindData|polyReduce|polySelect|polySelectConstraint|polySelectConstraintMonitor|polySelectCtx|polySelectEditCtx|polySeparate|polySetToFaceNormal|polySewEdge|polyShortestPathCtx|polySmooth|polySoftEdge|polySphere|polySphericalProjection|polySplit|polySplitCtx|polySplitEdge|polySplitRing|polySplitVertex|polyStraightenUVBorder|polySubdivideEdge|polySubdivideFacet|polyToSubdiv|polyTorus|polyTransfer|polyTriangulate|polyUVSet|polyUnite|polyWedgeFace|popen|popupMenu|pose|pow|preloadRefEd|print|progressBar|progressWindow|projFileViewer|projectCurve|projectTangent|projectionContext|projectionManip|promptDialog|propModCtx|propMove|psdChannelOutliner|psdEditTextureFile|psdExport|psdTextureFile|putenv|pwd|python|querySubdiv|quit|rad_to_deg|radial|radioButton|radioButtonGrp|radioCollection|radioMenuItemCollection|rampColorPort|rand|randomizeFollicles|randstate|rangeControl|readTake|rebuildCurve|rebuildSurface|recordAttr|recordDevice|redo|reference|referenceEdit|referenceQuery|refineSubdivSelectionList|refresh|refreshAE|registerPluginResource|rehash|reloadImage|removeJoint|removeMultiInstance|removePanelCategory|rename|renameAttr|renameSelectionList|renameUI|render|renderGlobalsNode|renderInfo|renderLayerButton|renderLayerParent|renderLayerPostProcess|renderLayerUnparent|renderManip|renderPartition|renderQualityNode|renderSettings|renderThumbnailUpdate|renderWindowEditor|renderWindowSelectContext|renderer|reorder|reorderDeformers|requires|reroot|resampleFluid|resetAE|resetPfxToPolyCamera|resetTool|resolutionNode|retarget|reverseCurve|reverseSurface|revolve|rgb_to_hsv|rigidBody|rigidSolver|roll|rollCtx|rootOf|rot|rotate|rotationInterpolation|roundConstantRadius|rowColumnLayout|rowLayout|runTimeCommand|runup|sampleImage|saveAllShelves|saveAttrPreset|saveFluid|saveImage|saveInitialState|saveMenu|savePrefObjects|savePrefs|saveShelf|saveToolSettings|scale|scaleBrushBrightness|scaleComponents|scaleConstraint|scaleKey|scaleKeyCtx|sceneEditor|sceneUIReplacement|scmh|scriptCtx|scriptEditorInfo|scriptJob|scriptNode|scriptTable|scriptToShelf|scriptedPanel|scriptedPanelType|scrollField|scrollLayout|sculpt|searchPathArray|seed|selLoadSettings|select|selectContext|selectCurveCV|selectKey|selectKeyCtx|selectKeyframeRegionCtx|selectMode|selectPref|selectPriority|selectType|selectedNodes|selectionConnection|separator|setAttr|setAttrEnumResource|setAttrMapping|setAttrNiceNameResource|setConstraintRestPosition|setDefaultShadingGroup|setDrivenKeyframe|setDynamic|setEditCtx|setEditor|setFluidAttr|setFocus|setInfinity|setInputDeviceMapping|setKeyCtx|setKeyPath|setKeyframe|setKeyframeBlendshapeTargetWts|setMenuMode|setNodeNiceNameResource|setNodeTypeFlag|setParent|setParticleAttr|setPfxToPolyCamera|setPluginResource|setProject|setStampDensity|setStartupMessage|setState|setToolTo|setUITemplate|setXformManip|sets|shadingConnection|shadingGeometryRelCtx|shadingLightRelCtx|shadingNetworkCompare|shadingNode|shapeCompare|shelfButton|shelfLayout|shelfTabLayout|shellField|shortNameOf|showHelp|showHidden|showManipCtx|showSelectionInTitle|showShadingGroupAttrEditor|showWindow|sign|simplify|sin|singleProfileBirailSurface|size|sizeBytes|skinCluster|skinPercent|smoothCurve|smoothTangentSurface|smoothstep|snap2to2|snapKey|snapMode|snapTogetherCtx|snapshot|soft|softMod|softModCtx|sort|sound|soundControl|source|spaceLocator|sphere|sphrand|spotLight|spotLightPreviewPort|spreadSheetEditor|spring|sqrt|squareSurface|srtContext|stackTrace|startString|startsWith|stitchAndExplodeShell|stitchSurface|stitchSurfacePoints|strcmp|stringArrayCatenate|stringArrayContains|stringArrayCount|stringArrayInsertAtIndex|stringArrayIntersector|stringArrayRemove|stringArrayRemoveAtIndex|stringArrayRemoveDuplicates|stringArrayRemoveExact|stringArrayToString|stringToStringArray|strip|stripPrefixFromName|stroke|subdAutoProjection|subdCleanTopology|subdCollapse|subdDuplicateAndConnect|subdEditUV|subdListComponentConversion|subdMapCut|subdMapSewMove|subdMatchTopology|subdMirror|subdToBlind|subdToPoly|subdTransferUVsToCache|subdiv|subdivCrease|subdivDisplaySmoothness|substitute|substituteAllString|substituteGeometry|substring|surface|surfaceSampler|surfaceShaderList|swatchDisplayPort|switchTable|symbolButton|symbolCheckBox|sysFile|system|tabLayout|tan|tangentConstraint|texLatticeDeformContext|texManipContext|texMoveContext|texMoveUVShellContext|texRotateContext|texScaleContext|texSelectContext|texSelectShortestPathCtx|texSmudgeUVContext|texWinToolCtx|text|textCurves|textField|textFieldButtonGrp|textFieldGrp|textManip|textScrollList|textToShelf|textureDisplacePlane|textureHairColor|texturePlacementContext|textureWindow|threadCount|threePointArcCtx|timeControl|timePort|timerX|toNativePath|toggle|toggleAxis|toggleWindowVisibility|tokenize|tokenizeList|tolerance|tolower|toolButton|toolCollection|toolDropped|toolHasOptions|toolPropertyWindow|torus|toupper|trace|track|trackCtx|transferAttributes|transformCompare|transformLimits|translator|trim|trunc|truncateFluidCache|truncateHairCache|tumble|tumbleCtx|turbulence|twoPointArcCtx|uiRes|uiTemplate|unassignInputDevice|undo|undoInfo|ungroup|uniform|unit|unloadPlugin|untangleUV|untitledFileName|untrim|upAxis|updateAE|userCtx|uvLink|uvSnapshot|validateShelfName|vectorize|view2dToolCtx|viewCamera|viewClipPlane|viewFit|viewHeadOn|viewLookAt|viewManip|viewPlace|viewSet|visor|volumeAxis|vortex|waitCursor|warning|webBrowser|webBrowserPrefs|whatIs|window|windowPref|wire|wireContext|workspace|wrinkle|wrinkleContext|writeTake|xbmLangPathList|xform)\\b/,\n operator: [\n /\\+[+=]?|-[-=]?|&&|\\|\\||[<>]=|[*\\/!=]=?|[%^]/,\n {\n // We don't want to match <<\n pattern: /(^|[^<])<(?!<)/,\n lookbehind: true\n },\n {\n // We don't want to match >>\n pattern: /(^|[^>])>(?!>)/,\n lookbehind: true\n }\n ],\n punctuation: /<<|>>|[.,:;?\\[\\](){}]/\n }\n Prism.languages.mel['code'].inside.rest = Prism.languages.mel\n}\n","'use strict'\n\nmodule.exports = mermaid\nmermaid.displayName = 'mermaid'\nmermaid.aliases = []\nfunction mermaid(Prism) {\n Prism.languages.mermaid = {\n comment: {\n pattern: /%%.*/,\n greedy: true\n },\n style: {\n pattern:\n /^([ \\t]*(?:classDef|linkStyle|style)[ \\t]+[\\w$-]+[ \\t]+)\\w.*[^\\s;]/m,\n lookbehind: true,\n inside: {\n property: /\\b\\w[\\w-]*(?=[ \\t]*:)/,\n operator: /:/,\n punctuation: /,/\n }\n },\n 'inter-arrow-label': {\n pattern:\n /([^<>ox.=-])(?:-[-.]|==)(?![<>ox.=-])[ \\t]*(?:\"[^\"\\r\\n]*\"|[^\\s\".=-](?:[^\\r\\n.=-]*[^\\s.=-])?)[ \\t]*(?:\\.+->?|--+[->]|==+[=>])(?![<>ox.=-])/,\n lookbehind: true,\n greedy: true,\n inside: {\n arrow: {\n pattern: /(?:\\.+->?|--+[->]|==+[=>])$/,\n alias: 'operator'\n },\n label: {\n pattern: /^([\\s\\S]{2}[ \\t]*)\\S(?:[\\s\\S]*\\S)?/,\n lookbehind: true,\n alias: 'property'\n },\n 'arrow-head': {\n pattern: /^\\S+/,\n alias: ['arrow', 'operator']\n }\n }\n },\n arrow: [\n // This might look complex but it really isn't.\n // There are many possible arrows (see tests) and it's impossible to fit all of them into one pattern. The\n // problem is that we only have one lookbehind per pattern. However, we cannot disallow too many arrow\n // characters in the one lookbehind because that would create too many false negatives. So we have to split the\n // arrows into different patterns.\n {\n // ER diagram\n pattern: /(^|[^{}|o.-])[|}][|o](?:--|\\.\\.)[|o][|{](?![{}|o.-])/,\n lookbehind: true,\n alias: 'operator'\n },\n {\n // flow chart\n // (?:==+|--+|-\\.*-)\n pattern:\n /(^|[^<>ox.=-])(?:[<ox](?:==+|--+|-\\.*-)[>ox]?|(?:==+|--+|-\\.*-)[>ox]|===+|---+|-\\.+-)(?![<>ox.=-])/,\n lookbehind: true,\n alias: 'operator'\n },\n {\n // sequence diagram\n pattern:\n /(^|[^<>()x-])(?:--?(?:>>|[x>)])(?![<>()x])|(?:<<|[x<(])--?(?!-))/,\n lookbehind: true,\n alias: 'operator'\n },\n {\n // class diagram\n pattern:\n /(^|[^<>|*o.-])(?:[*o]--|--[*o]|<\\|?(?:--|\\.\\.)|(?:--|\\.\\.)\\|?>|--|\\.\\.)(?![<>|*o.-])/,\n lookbehind: true,\n alias: 'operator'\n }\n ],\n label: {\n pattern: /(^|[^|<])\\|(?:[^\\r\\n\"|]|\"[^\"\\r\\n]*\")+\\|/,\n lookbehind: true,\n greedy: true,\n alias: 'property'\n },\n text: {\n pattern: /(?:[(\\[{]+|\\b>)(?:[^\\r\\n\"()\\[\\]{}]|\"[^\"\\r\\n]*\")+(?:[)\\]}]+|>)/,\n alias: 'string'\n },\n string: {\n pattern: /\"[^\"\\r\\n]*\"/,\n greedy: true\n },\n annotation: {\n pattern:\n /<<(?:abstract|choice|enumeration|fork|interface|join|service)>>|\\[\\[(?:choice|fork|join)\\]\\]/i,\n alias: 'important'\n },\n keyword: [\n // This language has both case-sensitive and case-insensitive keywords\n {\n pattern:\n /(^[ \\t]*)(?:action|callback|class|classDef|classDiagram|click|direction|erDiagram|flowchart|gantt|gitGraph|graph|journey|link|linkStyle|pie|requirementDiagram|sequenceDiagram|stateDiagram|stateDiagram-v2|style|subgraph)(?![\\w$-])/m,\n lookbehind: true,\n greedy: true\n },\n {\n pattern:\n /(^[ \\t]*)(?:activate|alt|and|as|autonumber|deactivate|else|end(?:[ \\t]+note)?|loop|opt|par|participant|rect|state|note[ \\t]+(?:over|(?:left|right)[ \\t]+of))(?![\\w$-])/im,\n lookbehind: true,\n greedy: true\n }\n ],\n entity: /#[a-z0-9]+;/,\n operator: {\n pattern: /(\\w[ \\t]*)&(?=[ \\t]*\\w)|:::|:/,\n lookbehind: true\n },\n punctuation: /[(){};]/\n }\n}\n","'use strict'\n\nmodule.exports = mizar\nmizar.displayName = 'mizar'\nmizar.aliases = []\nfunction mizar(Prism) {\n Prism.languages.mizar = {\n comment: /::.+/,\n keyword:\n /@proof\\b|\\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|end|environ|equals|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|iff?|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:ies|y)|when|where|with|wrt)\\b/,\n parameter: {\n pattern: /\\$(?:10|\\d)/,\n alias: 'variable'\n },\n variable: /\\b\\w+(?=:)/,\n number: /(?:\\b|-)\\d+\\b/,\n operator: /\\.\\.\\.|->|&|\\.?=/,\n punctuation: /\\(#|#\\)|[,:;\\[\\](){}]/\n }\n}\n","'use strict'\n\nmodule.exports = mongodb\nmongodb.displayName = 'mongodb'\nmongodb.aliases = []\nfunction mongodb(Prism) {\n ;(function (Prism) {\n var operators = [\n // query and projection\n '$eq',\n '$gt',\n '$gte',\n '$in',\n '$lt',\n '$lte',\n '$ne',\n '$nin',\n '$and',\n '$not',\n '$nor',\n '$or',\n '$exists',\n '$type',\n '$expr',\n '$jsonSchema',\n '$mod',\n '$regex',\n '$text',\n '$where',\n '$geoIntersects',\n '$geoWithin',\n '$near',\n '$nearSphere',\n '$all',\n '$elemMatch',\n '$size',\n '$bitsAllClear',\n '$bitsAllSet',\n '$bitsAnyClear',\n '$bitsAnySet',\n '$comment',\n '$elemMatch',\n '$meta',\n '$slice', // update\n '$currentDate',\n '$inc',\n '$min',\n '$max',\n '$mul',\n '$rename',\n '$set',\n '$setOnInsert',\n '$unset',\n '$addToSet',\n '$pop',\n '$pull',\n '$push',\n '$pullAll',\n '$each',\n '$position',\n '$slice',\n '$sort',\n '$bit', // aggregation pipeline stages\n '$addFields',\n '$bucket',\n '$bucketAuto',\n '$collStats',\n '$count',\n '$currentOp',\n '$facet',\n '$geoNear',\n '$graphLookup',\n '$group',\n '$indexStats',\n '$limit',\n '$listLocalSessions',\n '$listSessions',\n '$lookup',\n '$match',\n '$merge',\n '$out',\n '$planCacheStats',\n '$project',\n '$redact',\n '$replaceRoot',\n '$replaceWith',\n '$sample',\n '$set',\n '$skip',\n '$sort',\n '$sortByCount',\n '$unionWith',\n '$unset',\n '$unwind',\n '$setWindowFields', // aggregation pipeline operators\n '$abs',\n '$accumulator',\n '$acos',\n '$acosh',\n '$add',\n '$addToSet',\n '$allElementsTrue',\n '$and',\n '$anyElementTrue',\n '$arrayElemAt',\n '$arrayToObject',\n '$asin',\n '$asinh',\n '$atan',\n '$atan2',\n '$atanh',\n '$avg',\n '$binarySize',\n '$bsonSize',\n '$ceil',\n '$cmp',\n '$concat',\n '$concatArrays',\n '$cond',\n '$convert',\n '$cos',\n '$dateFromParts',\n '$dateToParts',\n '$dateFromString',\n '$dateToString',\n '$dayOfMonth',\n '$dayOfWeek',\n '$dayOfYear',\n '$degreesToRadians',\n '$divide',\n '$eq',\n '$exp',\n '$filter',\n '$first',\n '$floor',\n '$function',\n '$gt',\n '$gte',\n '$hour',\n '$ifNull',\n '$in',\n '$indexOfArray',\n '$indexOfBytes',\n '$indexOfCP',\n '$isArray',\n '$isNumber',\n '$isoDayOfWeek',\n '$isoWeek',\n '$isoWeekYear',\n '$last',\n '$last',\n '$let',\n '$literal',\n '$ln',\n '$log',\n '$log10',\n '$lt',\n '$lte',\n '$ltrim',\n '$map',\n '$max',\n '$mergeObjects',\n '$meta',\n '$min',\n '$millisecond',\n '$minute',\n '$mod',\n '$month',\n '$multiply',\n '$ne',\n '$not',\n '$objectToArray',\n '$or',\n '$pow',\n '$push',\n '$radiansToDegrees',\n '$range',\n '$reduce',\n '$regexFind',\n '$regexFindAll',\n '$regexMatch',\n '$replaceOne',\n '$replaceAll',\n '$reverseArray',\n '$round',\n '$rtrim',\n '$second',\n '$setDifference',\n '$setEquals',\n '$setIntersection',\n '$setIsSubset',\n '$setUnion',\n '$size',\n '$sin',\n '$slice',\n '$split',\n '$sqrt',\n '$stdDevPop',\n '$stdDevSamp',\n '$strcasecmp',\n '$strLenBytes',\n '$strLenCP',\n '$substr',\n '$substrBytes',\n '$substrCP',\n '$subtract',\n '$sum',\n '$switch',\n '$tan',\n '$toBool',\n '$toDate',\n '$toDecimal',\n '$toDouble',\n '$toInt',\n '$toLong',\n '$toObjectId',\n '$toString',\n '$toLower',\n '$toUpper',\n '$trim',\n '$trunc',\n '$type',\n '$week',\n '$year',\n '$zip',\n '$count',\n '$dateAdd',\n '$dateDiff',\n '$dateSubtract',\n '$dateTrunc',\n '$getField',\n '$rand',\n '$sampleRate',\n '$setField',\n '$unsetField', // aggregation pipeline query modifiers\n '$comment',\n '$explain',\n '$hint',\n '$max',\n '$maxTimeMS',\n '$min',\n '$orderby',\n '$query',\n '$returnKey',\n '$showDiskLoc',\n '$natural'\n ]\n var builtinFunctions = [\n 'ObjectId',\n 'Code',\n 'BinData',\n 'DBRef',\n 'Timestamp',\n 'NumberLong',\n 'NumberDecimal',\n 'MaxKey',\n 'MinKey',\n 'RegExp',\n 'ISODate',\n 'UUID'\n ]\n operators = operators.map(function (operator) {\n return operator.replace('$', '\\\\$')\n })\n var operatorsSource = '(?:' + operators.join('|') + ')\\\\b'\n Prism.languages.mongodb = Prism.languages.extend('javascript', {})\n Prism.languages.insertBefore('mongodb', 'string', {\n property: {\n pattern:\n /(?:([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)(?=\\s*:)/,\n greedy: true,\n inside: {\n keyword: RegExp('^([\\'\"])?' + operatorsSource + '(?:\\\\1)?$')\n }\n }\n })\n Prism.languages.mongodb.string.inside = {\n url: {\n // url pattern\n pattern:\n /https?:\\/\\/[-\\w@:%.+~#=]{1,256}\\.[a-z0-9()]{1,6}\\b[-\\w()@:%+.~#?&/=]*/i,\n greedy: true\n },\n entity: {\n // ipv4\n pattern:\n /\\b(?:(?:[01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.){3}(?:[01]?\\d\\d?|2[0-4]\\d|25[0-5])\\b/,\n greedy: true\n }\n }\n Prism.languages.insertBefore('mongodb', 'constant', {\n builtin: {\n pattern: RegExp('\\\\b(?:' + builtinFunctions.join('|') + ')\\\\b'),\n alias: 'keyword'\n }\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = monkey\nmonkey.displayName = 'monkey'\nmonkey.aliases = []\nfunction monkey(Prism) {\n Prism.languages.monkey = {\n comment: {\n pattern: /^#Rem\\s[\\s\\S]*?^#End|'.+/im,\n greedy: true\n },\n string: {\n pattern: /\"[^\"\\r\\n]*\"/,\n greedy: true\n },\n preprocessor: {\n pattern: /(^[ \\t]*)#.+/m,\n lookbehind: true,\n greedy: true,\n alias: 'property'\n },\n function: /\\b\\w+(?=\\()/,\n 'type-char': {\n pattern: /\\b[?%#$]/,\n alias: 'class-name'\n },\n number: {\n pattern:\n /((?:\\.\\.)?)(?:(?:\\b|\\B-\\.?|\\B\\.)\\d+(?:(?!\\.\\.)\\.\\d*)?|\\$[\\da-f]+)/i,\n lookbehind: true\n },\n keyword:\n /\\b(?:Abstract|Array|Bool|Case|Catch|Class|Const|Continue|Default|Eachin|Else|ElseIf|End|EndIf|Exit|Extends|Extern|False|Field|Final|Float|For|Forever|Function|Global|If|Implements|Import|Inline|Int|Interface|Local|Method|Module|New|Next|Null|Object|Private|Property|Public|Repeat|Return|Select|Self|Step|Strict|String|Super|Then|Throw|To|True|Try|Until|Void|Wend|While)\\b/i,\n operator:\n /\\.\\.|<[=>]?|>=?|:?=|(?:[+\\-*\\/&~|]|\\b(?:Mod|Shl|Shr)\\b)=?|\\b(?:And|Not|Or)\\b/i,\n punctuation: /[.,:;()\\[\\]]/\n }\n}\n","'use strict'\n\nmodule.exports = moonscript\nmoonscript.displayName = 'moonscript'\nmoonscript.aliases = ['moon']\nfunction moonscript(Prism) {\n Prism.languages.moonscript = {\n comment: /--.*/,\n string: [\n {\n pattern: /'[^']*'|\\[(=*)\\[[\\s\\S]*?\\]\\1\\]/,\n greedy: true\n },\n {\n pattern: /\"[^\"]*\"/,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /#\\{[^{}]*\\}/,\n inside: {\n moonscript: {\n pattern: /(^#\\{)[\\s\\S]+(?=\\})/,\n lookbehind: true,\n inside: null // see beow\n },\n 'interpolation-punctuation': {\n pattern: /#\\{|\\}/,\n alias: 'punctuation'\n }\n }\n }\n }\n }\n ],\n 'class-name': [\n {\n pattern: /(\\b(?:class|extends)[ \\t]+)\\w+/,\n lookbehind: true\n }, // class-like names start with a capital letter\n /\\b[A-Z]\\w*/\n ],\n keyword:\n /\\b(?:class|continue|do|else|elseif|export|extends|for|from|if|import|in|local|nil|return|self|super|switch|then|unless|using|when|while|with)\\b/,\n variable: /@@?\\w*/,\n property: {\n pattern: /\\b(?!\\d)\\w+(?=:)|(:)(?!\\d)\\w+/,\n lookbehind: true\n },\n function: {\n pattern:\n /\\b(?:_G|_VERSION|assert|collectgarbage|coroutine\\.(?:create|resume|running|status|wrap|yield)|debug\\.(?:debug|getfenv|gethook|getinfo|getlocal|getmetatable|getregistry|getupvalue|setfenv|sethook|setlocal|setmetatable|setupvalue|traceback)|dofile|error|getfenv|getmetatable|io\\.(?:close|flush|input|lines|open|output|popen|read|stderr|stdin|stdout|tmpfile|type|write)|ipairs|load|loadfile|loadstring|math\\.(?:abs|acos|asin|atan|atan2|ceil|cos|cosh|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|pi|pow|rad|random|randomseed|sin|sinh|sqrt|tan|tanh)|module|next|os\\.(?:clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\\.(?:cpath|loaded|loadlib|path|preload|seeall)|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|string\\.(?:byte|char|dump|find|format|gmatch|gsub|len|lower|match|rep|reverse|sub|upper)|table\\.(?:concat|insert|maxn|remove|sort)|tonumber|tostring|type|unpack|xpcall)\\b/,\n inside: {\n punctuation: /\\./\n }\n },\n boolean: /\\b(?:false|true)\\b/,\n number:\n /(?:\\B\\.\\d+|\\b\\d+\\.\\d+|\\b\\d+(?=[eE]))(?:[eE][-+]?\\d+)?\\b|\\b(?:0x[a-fA-F\\d]+|\\d+)(?:U?LL)?\\b/,\n operator:\n /\\.{3}|[-=]>|~=|(?:[-+*/%<>!=]|\\.\\.)=?|[:#^]|\\b(?:and|or)\\b=?|\\b(?:not)\\b/,\n punctuation: /[.,()[\\]{}\\\\]/\n }\n Prism.languages.moonscript.string[1].inside.interpolation.inside.moonscript.inside =\n Prism.languages.moonscript\n Prism.languages.moon = Prism.languages.moonscript\n}\n","'use strict'\n\nmodule.exports = n1ql\nn1ql.displayName = 'n1ql'\nn1ql.aliases = []\nfunction n1ql(Prism) {\n // https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/index.html\n Prism.languages.n1ql = {\n comment: {\n pattern: /\\/\\*[\\s\\S]*?(?:$|\\*\\/)|--.*/,\n greedy: true\n },\n string: {\n pattern: /([\"'])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\]|\\1\\1)*\\1/,\n greedy: true\n },\n identifier: {\n pattern: /`(?:\\\\[\\s\\S]|[^\\\\`]|``)*`/,\n greedy: true\n },\n parameter: /\\$[\\w.]+/,\n // https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/reservedwords.html#n1ql-reserved-words\n keyword:\n /\\b(?:ADVISE|ALL|ALTER|ANALYZE|AS|ASC|AT|BEGIN|BINARY|BOOLEAN|BREAK|BUCKET|BUILD|BY|CALL|CAST|CLUSTER|COLLATE|COLLECTION|COMMIT|COMMITTED|CONNECT|CONTINUE|CORRELATE|CORRELATED|COVER|CREATE|CURRENT|DATABASE|DATASET|DATASTORE|DECLARE|DECREMENT|DELETE|DERIVED|DESC|DESCRIBE|DISTINCT|DO|DROP|EACH|ELEMENT|EXCEPT|EXCLUDE|EXECUTE|EXPLAIN|FETCH|FILTER|FLATTEN|FLUSH|FOLLOWING|FOR|FORCE|FROM|FTS|FUNCTION|GOLANG|GRANT|GROUP|GROUPS|GSI|HASH|HAVING|IF|IGNORE|ILIKE|INCLUDE|INCREMENT|INDEX|INFER|INLINE|INNER|INSERT|INTERSECT|INTO|IS|ISOLATION|JAVASCRIPT|JOIN|KEY|KEYS|KEYSPACE|KNOWN|LANGUAGE|LAST|LEFT|LET|LETTING|LEVEL|LIMIT|LSM|MAP|MAPPING|MATCHED|MATERIALIZED|MERGE|MINUS|MISSING|NAMESPACE|NEST|NL|NO|NTH_VALUE|NULL|NULLS|NUMBER|OBJECT|OFFSET|ON|OPTION|OPTIONS|ORDER|OTHERS|OUTER|OVER|PARSE|PARTITION|PASSWORD|PATH|POOL|PRECEDING|PREPARE|PRIMARY|PRIVATE|PRIVILEGE|PROBE|PROCEDURE|PUBLIC|RANGE|RAW|REALM|REDUCE|RENAME|RESPECT|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLLBACK|ROW|ROWS|SATISFIES|SAVEPOINT|SCHEMA|SCOPE|SELECT|SELF|SEMI|SET|SHOW|SOME|START|STATISTICS|STRING|SYSTEM|TIES|TO|TRAN|TRANSACTION|TRIGGER|TRUNCATE|UNBOUNDED|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNSET|UPDATE|UPSERT|USE|USER|USING|VALIDATE|VALUE|VALUES|VIA|VIEW|WHERE|WHILE|WINDOW|WITH|WORK|XOR)\\b/i,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n boolean: /\\b(?:FALSE|TRUE)\\b/i,\n number: /(?:\\b\\d+\\.|\\B\\.)\\d+e[+\\-]?\\d+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i,\n operator:\n /[-+*\\/%]|!=|==?|\\|\\||<[>=]?|>=?|\\b(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY|EXISTS|FIRST|IN|LIKE|NOT|OR|THEN|VALUED|WHEN|WITHIN)\\b/i,\n punctuation: /[;[\\](),.{}:]/\n }\n}\n","'use strict'\n\nmodule.exports = n4js\nn4js.displayName = 'n4js'\nn4js.aliases = ['n4jsd']\nfunction n4js(Prism) {\n Prism.languages.n4js = Prism.languages.extend('javascript', {\n // Keywords from N4JS language spec: https://numberfour.github.io/n4js/spec/N4JSSpec.html\n keyword:\n /\\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\\b/\n })\n Prism.languages.insertBefore('n4js', 'constant', {\n // Annotations in N4JS spec: https://numberfour.github.io/n4js/spec/N4JSSpec.html#_annotations\n annotation: {\n pattern: /@+\\w+/,\n alias: 'operator'\n }\n })\n Prism.languages.n4jsd = Prism.languages.n4js\n}\n","'use strict'\n\nmodule.exports = nand2tetrisHdl\nnand2tetrisHdl.displayName = 'nand2tetrisHdl'\nnand2tetrisHdl.aliases = []\nfunction nand2tetrisHdl(Prism) {\n Prism.languages['nand2tetris-hdl'] = {\n comment: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n keyword: /\\b(?:BUILTIN|CHIP|CLOCKED|IN|OUT|PARTS)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n function: /\\b[A-Za-z][A-Za-z0-9]*(?=\\()/,\n number: /\\b\\d+\\b/,\n operator: /=|\\.\\./,\n punctuation: /[{}[\\];(),:]/\n }\n}\n","'use strict'\n\nmodule.exports = naniscript\nnaniscript.displayName = 'naniscript'\nnaniscript.aliases = []\nfunction naniscript(Prism) {\n ;(function (Prism) {\n var expressionDef = /\\{[^\\r\\n\\[\\]{}]*\\}/\n var params = {\n 'quoted-string': {\n pattern: /\"(?:[^\"\\\\]|\\\\.)*\"/,\n alias: 'operator'\n },\n 'command-param-id': {\n pattern: /(\\s)\\w+:/,\n lookbehind: true,\n alias: 'property'\n },\n 'command-param-value': [\n {\n pattern: expressionDef,\n alias: 'selector'\n },\n {\n pattern: /([\\t ])\\S+/,\n lookbehind: true,\n greedy: true,\n alias: 'operator'\n },\n {\n pattern: /\\S(?:.*\\S)?/,\n alias: 'operator'\n }\n ]\n }\n Prism.languages.naniscript = {\n // ; ...\n comment: {\n pattern: /^([\\t ]*);.*/m,\n lookbehind: true\n },\n // > ...\n // Define is a control line starting with '>' followed by a word, a space and a text.\n define: {\n pattern: /^>.+/m,\n alias: 'tag',\n inside: {\n value: {\n pattern: /(^>\\w+[\\t ]+)(?!\\s)[^{}\\r\\n]+/,\n lookbehind: true,\n alias: 'operator'\n },\n key: {\n pattern: /(^>)\\w+/,\n lookbehind: true\n }\n }\n },\n // # ...\n label: {\n pattern: /^([\\t ]*)#[\\t ]*\\w+[\\t ]*$/m,\n lookbehind: true,\n alias: 'regex'\n },\n command: {\n pattern: /^([\\t ]*)@\\w+(?=[\\t ]|$).*/m,\n lookbehind: true,\n alias: 'function',\n inside: {\n 'command-name': /^@\\w+/,\n expression: {\n pattern: expressionDef,\n greedy: true,\n alias: 'selector'\n },\n 'command-params': {\n pattern: /\\s*\\S[\\s\\S]*/,\n inside: params\n }\n }\n },\n // Generic is any line that doesn't start with operators: ;>#@\n 'generic-text': {\n pattern: /(^[ \\t]*)[^#@>;\\s].*/m,\n lookbehind: true,\n alias: 'punctuation',\n inside: {\n // \\{ ... \\} ... \\[ ... \\] ... \\\"\n 'escaped-char': /\\\\[{}\\[\\]\"]/,\n expression: {\n pattern: expressionDef,\n greedy: true,\n alias: 'selector'\n },\n 'inline-command': {\n pattern: /\\[[\\t ]*\\w[^\\r\\n\\[\\]]*\\]/,\n greedy: true,\n alias: 'function',\n inside: {\n 'command-params': {\n pattern: /(^\\[[\\t ]*\\w+\\b)[\\s\\S]+(?=\\]$)/,\n lookbehind: true,\n inside: params\n },\n 'command-param-name': {\n pattern: /^(\\[[\\t ]*)\\w+/,\n lookbehind: true,\n alias: 'name'\n },\n 'start-stop-char': /[\\[\\]]/\n }\n }\n }\n }\n }\n Prism.languages.nani = Prism.languages['naniscript']\n /** @typedef {InstanceType<import(\"./prism-core\")[\"Token\"]>} Token */\n /**\n * This hook is used to validate generic-text tokens for balanced brackets.\n * Mark token as bad-line when contains not balanced brackets: {},[]\n */\n Prism.hooks.add('after-tokenize', function (env) {\n /** @type {(Token | string)[]} */\n var tokens = env.tokens\n tokens.forEach(function (token) {\n if (typeof token !== 'string' && token.type === 'generic-text') {\n var content = getTextContent(token)\n if (!isBracketsBalanced(content)) {\n token.type = 'bad-line'\n token.content = content\n }\n }\n })\n })\n /**\n * @param {string} input\n * @returns {boolean}\n */\n function isBracketsBalanced(input) {\n var brackets = '[]{}'\n var stack = []\n for (var i = 0; i < input.length; i++) {\n var bracket = input[i]\n var bracketsIndex = brackets.indexOf(bracket)\n if (bracketsIndex !== -1) {\n if (bracketsIndex % 2 === 0) {\n stack.push(bracketsIndex + 1)\n } else if (stack.pop() !== bracketsIndex) {\n return false\n }\n }\n }\n return stack.length === 0\n }\n /**\n * @param {string | Token | (string | Token)[]} token\n * @returns {string}\n */\n function getTextContent(token) {\n if (typeof token === 'string') {\n return token\n } else if (Array.isArray(token)) {\n return token.map(getTextContent).join('')\n } else {\n return getTextContent(token.content)\n }\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = nasm\nnasm.displayName = 'nasm'\nnasm.aliases = []\nfunction nasm(Prism) {\n Prism.languages.nasm = {\n comment: /;.*$/m,\n string: /([\"'`])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n label: {\n pattern: /(^\\s*)[A-Za-z._?$][\\w.?$@~#]*:/m,\n lookbehind: true,\n alias: 'function'\n },\n keyword: [\n /\\[?BITS (?:16|32|64)\\]?/,\n {\n pattern: /(^\\s*)section\\s*[a-z.]+:?/im,\n lookbehind: true\n },\n /(?:extern|global)[^;\\r\\n]*/i,\n /(?:CPU|DEFAULT|FLOAT).*$/m\n ],\n register: {\n pattern:\n /\\b(?:st\\d|[xyz]mm\\d\\d?|[cdt]r\\d|r\\d\\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|di|si|sp)|[cdefgs]s)\\b/i,\n alias: 'variable'\n },\n number:\n /(?:\\b|(?=\\$))(?:0[hx](?:\\.[\\da-f]+|[\\da-f]+(?:\\.[\\da-f]+)?)(?:p[+-]?\\d+)?|\\d[\\da-f]+[hx]|\\$\\d[\\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\\d+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:\\.?e[+-]?\\d+)?[dt]?)\\b/i,\n operator: /[\\[\\]*+\\-\\/%<>=&|$!]/\n }\n}\n","'use strict'\n\nmodule.exports = neon\nneon.displayName = 'neon'\nneon.aliases = []\nfunction neon(Prism) {\n Prism.languages.neon = {\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n datetime: {\n pattern:\n /(^|[[{(=:,\\s])\\d\\d\\d\\d-\\d\\d?-\\d\\d?(?:(?:[Tt]| +)\\d\\d?:\\d\\d:\\d\\d(?:\\.\\d*)? *(?:Z|[-+]\\d\\d?(?::?\\d\\d)?)?)?(?=$|[\\]}),\\s])/,\n lookbehind: true,\n alias: 'number'\n },\n key: {\n pattern: /(^|[[{(,\\s])[^,:=[\\]{}()'\"\\s]+(?=\\s*:(?:$|[\\]}),\\s])|\\s*=)/,\n lookbehind: true,\n alias: 'atrule'\n },\n number: {\n pattern:\n /(^|[[{(=:,\\s])[+-]?(?:0x[\\da-fA-F]+|0o[0-7]+|0b[01]+|(?:\\d+(?:\\.\\d*)?|\\.?\\d+)(?:[eE][+-]?\\d+)?)(?=$|[\\]}),:=\\s])/,\n lookbehind: true\n },\n boolean: {\n pattern: /(^|[[{(=:,\\s])(?:false|no|true|yes)(?=$|[\\]}),:=\\s])/i,\n lookbehind: true\n },\n null: {\n pattern: /(^|[[{(=:,\\s])(?:null)(?=$|[\\]}),:=\\s])/i,\n lookbehind: true,\n alias: 'keyword'\n },\n string: {\n pattern:\n /(^|[[{(=:,\\s])(?:('''|\"\"\")\\r?\\n(?:(?:[^\\r\\n]|\\r?\\n(?![\\t ]*\\2))*\\r?\\n)?[\\t ]*\\2|'[^'\\r\\n]*'|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")/,\n lookbehind: true,\n greedy: true\n },\n literal: {\n pattern:\n /(^|[[{(=:,\\s])(?:[^#\"',:=[\\]{}()\\s`-]|[:-][^\"',=[\\]{}()\\s])(?:[^,:=\\]})(\\s]|:(?![\\s,\\]})]|$)|[ \\t]+[^#,:=\\]})(\\s])*/,\n lookbehind: true,\n alias: 'string'\n },\n punctuation: /[,:=[\\]{}()-]/\n }\n}\n","'use strict'\n\nmodule.exports = nevod\nnevod.displayName = 'nevod'\nnevod.aliases = []\nfunction nevod(Prism) {\n Prism.languages.nevod = {\n comment: /\\/\\/.*|(?:\\/\\*[\\s\\S]*?(?:\\*\\/|$))/,\n string: {\n pattern: /(?:\"(?:\"\"|[^\"])*\"(?!\")|'(?:''|[^'])*'(?!'))!?\\*?/,\n greedy: true,\n inside: {\n 'string-attrs': /!$|!\\*$|\\*$/\n }\n },\n namespace: {\n pattern: /(@namespace\\s+)[a-zA-Z0-9\\-.]+(?=\\s*\\{)/,\n lookbehind: true\n },\n pattern: {\n pattern:\n /(@pattern\\s+)?#?[a-zA-Z0-9\\-.]+(?:\\s*\\(\\s*(?:~\\s*)?[a-zA-Z0-9\\-.]+\\s*(?:,\\s*(?:~\\s*)?[a-zA-Z0-9\\-.]*)*\\))?(?=\\s*=)/,\n lookbehind: true,\n inside: {\n 'pattern-name': {\n pattern: /^#?[a-zA-Z0-9\\-.]+/,\n alias: 'class-name'\n },\n fields: {\n pattern: /\\(.*\\)/,\n inside: {\n 'field-name': {\n pattern: /[a-zA-Z0-9\\-.]+/,\n alias: 'variable'\n },\n punctuation: /[,()]/,\n operator: {\n pattern: /~/,\n alias: 'field-hidden-mark'\n }\n }\n }\n }\n },\n search: {\n pattern: /(@search\\s+|#)[a-zA-Z0-9\\-.]+(?:\\.\\*)?(?=\\s*;)/,\n alias: 'function',\n lookbehind: true\n },\n keyword:\n /@(?:having|inside|namespace|outside|pattern|require|search|where)\\b/,\n 'standard-pattern': {\n pattern:\n /\\b(?:Alpha|AlphaNum|Any|Blank|End|LineBreak|Num|NumAlpha|Punct|Space|Start|Symbol|Word|WordBreak)\\b(?:\\([a-zA-Z0-9\\-.,\\s+]*\\))?/,\n inside: {\n 'standard-pattern-name': {\n pattern: /^[a-zA-Z0-9\\-.]+/,\n alias: 'builtin'\n },\n quantifier: {\n pattern: /\\b\\d+(?:\\s*\\+|\\s*-\\s*\\d+)?(?!\\w)/,\n alias: 'number'\n },\n 'standard-pattern-attr': {\n pattern: /[a-zA-Z0-9\\-.]+/,\n alias: 'builtin'\n },\n punctuation: /[,()]/\n }\n },\n quantifier: {\n pattern: /\\b\\d+(?:\\s*\\+|\\s*-\\s*\\d+)?(?!\\w)/,\n alias: 'number'\n },\n operator: [\n {\n pattern: /=/,\n alias: 'pattern-def'\n },\n {\n pattern: /&/,\n alias: 'conjunction'\n },\n {\n pattern: /~/,\n alias: 'exception'\n },\n {\n pattern: /\\?/,\n alias: 'optionality'\n },\n {\n pattern: /[[\\]]/,\n alias: 'repetition'\n },\n {\n pattern: /[{}]/,\n alias: 'variation'\n },\n {\n pattern: /[+_]/,\n alias: 'sequence'\n },\n {\n pattern: /\\.{2,3}/,\n alias: 'span'\n }\n ],\n 'field-capture': [\n {\n pattern:\n /([a-zA-Z0-9\\-.]+\\s*\\()\\s*[a-zA-Z0-9\\-.]+\\s*:\\s*[a-zA-Z0-9\\-.]+(?:\\s*,\\s*[a-zA-Z0-9\\-.]+\\s*:\\s*[a-zA-Z0-9\\-.]+)*(?=\\s*\\))/,\n lookbehind: true,\n inside: {\n 'field-name': {\n pattern: /[a-zA-Z0-9\\-.]+/,\n alias: 'variable'\n },\n colon: /:/\n }\n },\n {\n pattern: /[a-zA-Z0-9\\-.]+\\s*:/,\n inside: {\n 'field-name': {\n pattern: /[a-zA-Z0-9\\-.]+/,\n alias: 'variable'\n },\n colon: /:/\n }\n }\n ],\n punctuation: /[:;,()]/,\n name: /[a-zA-Z0-9\\-.]+/\n }\n}\n","'use strict'\n\nmodule.exports = nginx\nnginx.displayName = 'nginx'\nnginx.aliases = []\nfunction nginx(Prism) {\n ;(function (Prism) {\n var variable =\n /\\$(?:\\w[a-z\\d]*(?:_[^\\x00-\\x1F\\s\"'\\\\()$]*)?|\\{[^}\\s\"'\\\\]+\\})/i\n Prism.languages.nginx = {\n comment: {\n pattern: /(^|[\\s{};])#.*/,\n lookbehind: true,\n greedy: true\n },\n directive: {\n pattern:\n /(^|\\s)\\w(?:[^;{}\"'\\\\\\s]|\\\\.|\"(?:[^\"\\\\]|\\\\.)*\"|'(?:[^'\\\\]|\\\\.)*'|\\s+(?:#.*(?!.)|(?![#\\s])))*?(?=\\s*[;{])/,\n lookbehind: true,\n greedy: true,\n inside: {\n string: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\\\\\)*)(?:\"(?:[^\"\\\\]|\\\\.)*\"|'(?:[^'\\\\]|\\\\.)*')/,\n lookbehind: true,\n greedy: true,\n inside: {\n escape: {\n pattern: /\\\\[\"'\\\\nrt]/,\n alias: 'entity'\n },\n variable: variable\n }\n },\n comment: {\n pattern: /(\\s)#.*/,\n lookbehind: true,\n greedy: true\n },\n keyword: {\n pattern: /^\\S+/,\n greedy: true\n },\n // other patterns\n boolean: {\n pattern: /(\\s)(?:off|on)(?!\\S)/,\n lookbehind: true\n },\n number: {\n pattern: /(\\s)\\d+[a-z]*(?!\\S)/i,\n lookbehind: true\n },\n variable: variable\n }\n },\n punctuation: /[{};]/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = nim\nnim.displayName = 'nim'\nnim.aliases = []\nfunction nim(Prism) {\n Prism.languages.nim = {\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n string: {\n // Double-quoted strings can be prefixed by an identifier (Generalized raw string literals)\n pattern:\n /(?:\\b(?!\\d)(?:\\w|\\\\x[89a-fA-F][0-9a-fA-F])+)?(?:\"\"\"[\\s\\S]*?\"\"\"(?!\")|\"(?:\\\\[\\s\\S]|\"\"|[^\"\\\\])*\")/,\n greedy: true\n },\n char: {\n // Character literals are handled specifically to prevent issues with numeric type suffixes\n pattern: /'(?:\\\\(?:\\d+|x[\\da-fA-F]{0,2}|.)|[^'])'/,\n greedy: true\n },\n function: {\n pattern:\n /(?:(?!\\d)(?:\\w|\\\\x[89a-fA-F][0-9a-fA-F])+|`[^`\\r\\n]+`)\\*?(?:\\[[^\\]]+\\])?(?=\\s*\\()/,\n greedy: true,\n inside: {\n operator: /\\*$/\n }\n },\n // We don't want to highlight operators (and anything really) inside backticks\n identifier: {\n pattern: /`[^`\\r\\n]+`/,\n greedy: true,\n inside: {\n punctuation: /`/\n }\n },\n // The negative look ahead prevents wrong highlighting of the .. operator\n number:\n /\\b(?:0[xXoObB][\\da-fA-F_]+|\\d[\\d_]*(?:(?!\\.\\.)\\.[\\d_]*)?(?:[eE][+-]?\\d[\\d_]*)?)(?:'?[iuf]\\d*)?/,\n keyword:\n /\\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\\b/,\n operator: {\n // Look behind and look ahead prevent wrong highlighting of punctuations [. .] {. .} (. .)\n // but allow the slice operator .. to take precedence over them\n // One can define his own operators in Nim so all combination of operators might be an operator.\n pattern:\n /(^|[({\\[](?=\\.\\.)|(?![({\\[]\\.).)(?:(?:[=+\\-*\\/<>@$~&%|!?^:\\\\]|\\.\\.|\\.(?![)}\\]]))+|\\b(?:and|div|in|is|isnot|mod|not|notin|of|or|shl|shr|xor)\\b)/m,\n lookbehind: true\n },\n punctuation: /[({\\[]\\.|\\.[)}\\]]|[`(){}\\[\\],:]/\n }\n}\n","'use strict'\n\nmodule.exports = nix\nnix.displayName = 'nix'\nnix.aliases = []\nfunction nix(Prism) {\n Prism.languages.nix = {\n comment: {\n pattern: /\\/\\*[\\s\\S]*?\\*\\/|#.*/,\n greedy: true\n },\n string: {\n pattern: /\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"|''(?:(?!'')[\\s\\S]|''(?:'|\\\\|\\$\\{))*''/,\n greedy: true,\n inside: {\n interpolation: {\n // The lookbehind ensures the ${} is not preceded by \\ or ''\n pattern: /(^|(?:^|(?!'').)[^\\\\])\\$\\{(?:[^{}]|\\{[^}]*\\})*\\}/,\n lookbehind: true,\n inside: null // see below\n }\n }\n },\n url: [\n /\\b(?:[a-z]{3,7}:\\/\\/)[\\w\\-+%~\\/.:#=?&]+/,\n {\n pattern:\n /([^\\/])(?:[\\w\\-+%~.:#=?&]*(?!\\/\\/)[\\w\\-+%~\\/.:#=?&])?(?!\\/\\/)\\/[\\w\\-+%~\\/.:#=?&]*/,\n lookbehind: true\n }\n ],\n antiquotation: {\n pattern: /\\$(?=\\{)/,\n alias: 'important'\n },\n number: /\\b\\d+\\b/,\n keyword: /\\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\\b/,\n function:\n /\\b(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:Tarball|url)|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf)\\b|\\bfoldl'\\B/,\n boolean: /\\b(?:false|true)\\b/,\n operator: /[=!<>]=?|\\+\\+?|\\|\\||&&|\\/\\/|->?|[?@]/,\n punctuation: /[{}()[\\].,:;]/\n }\n Prism.languages.nix.string.inside.interpolation.inside = Prism.languages.nix\n}\n","'use strict'\n\nmodule.exports = nsis\nnsis.displayName = 'nsis'\nnsis.aliases = []\nfunction nsis(Prism) {\n /**\n * Original by Jan T. Sott (http://github.com/idleberg)\n *\n * Includes all commands and plug-ins shipped with NSIS 3.08\n */\n Prism.languages.nsis = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|[#;].*)/,\n lookbehind: true,\n greedy: true\n },\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n keyword: {\n pattern:\n /(^[\\t ]*)(?:Abort|Add(?:BrandingImage|Size)|AdvSplash|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|BG(?:Font|Gradient|Image)|Banner|BrandingText|BringToFront|CRCCheck|Call(?:InstDLL)?|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|Create(?:Directory|Font|ShortCut)|Delete(?:INISec|INIStr|RegKey|RegValue)?|Detail(?:Print|sButtonText)|Dialer|Dir(?:Text|Var|Verify)|EnableWindow|Enum(?:RegKey|RegValue)|Exch|Exec(?:Shell(?:Wait)?|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read|ReadByte|ReadUTF16LE|ReadWord|Seek|Write|WriteByte|WriteUTF16LE|WriteWord)?|Find(?:Close|First|Next|Window)|FlushINI|Get(?:CurInstType|CurrentAddress|DLLVersion(?:Local)?|DlgItem|ErrorLevel|FileTime(?:Local)?|FullPathName|Function(?:Address|End)?|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|InstProgressFlags|Inst(?:Type(?:GetText|SetText)?)|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|Int(?:64|Ptr)?CmpU?|Int(?:64)?Fmt|Int(?:Ptr)?Op|IsWindow|Lang(?:DLL|String)|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|Manifest(?:DPIAware|SupportedOS)|Math|MessageBox|MiscButtonText|NSISdl|Name|Nop|OutFile|PE(?:DllCharacteristics|SubsysVer)|Page(?:Callbacks)?|Pop|Push|Quit|RMDir|Read(?:EnvStr|INIStr|RegDWORD|RegStr)|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|SearchPath|Section(?:End|GetFlags|GetInstTypes|GetSize|GetText|Group|In|SetFlags|SetInstTypes|SetSize|SetText)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress|Compressor(?:DictSize)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|ErrorLevel|Errors|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|RegView|ShellVarContext|Silent)|Show(?:InstDetails|UninstDetails|Window)|Silent(?:Install|UnInstall)|Sleep|SpaceTexts|Splash|StartMenu|Str(?:CmpS?|Cpy|Len)|SubCaption|System|UnRegDLL|Unicode|UninstPage|Uninstall(?:ButtonText|Caption|Icon|SubCaption|Text)|UserInfo|VI(?:AddVersionKey|FileVersion|ProductVersion)|VPatch|Var|WindowIcon|Write(?:INIStr|Reg(?:Bin|DWORD|ExpandStr|MultiStr|None|Str)|Uninstaller)|XPStyle|ns(?:Dialogs|Exec))\\b/m,\n lookbehind: true\n },\n property:\n /\\b(?:ARCHIVE|FILE_(?:ATTRIBUTE_ARCHIVE|ATTRIBUTE_NORMAL|ATTRIBUTE_OFFLINE|ATTRIBUTE_READONLY|ATTRIBUTE_SYSTEM|ATTRIBUTE_TEMPORARY)|HK(?:(?:CR|CU|LM)(?:32|64)?|DD|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_CONFIG|CURRENT_USER|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON1|DEFBUTTON2|DEFBUTTON3|DEFBUTTON4|ICONEXCLAMATION|ICONINFORMATION|ICONQUESTION|ICONSTOP|OK|OKCANCEL|RETRYCANCEL|RIGHT|RTLREADING|SETFOREGROUND|TOPMOST|USERICON|YESNO)|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY|admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user)\\b/,\n constant: /\\$\\{[!\\w\\.:\\^-]+\\}|\\$\\([!\\w\\.:\\^-]+\\)/,\n variable: /\\$\\w[\\w\\.]*/,\n number: /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,\n operator: /--?|\\+\\+?|<=?|>=?|==?=?|&&?|\\|\\|?|[?*\\/~^%]/,\n punctuation: /[{}[\\];(),.:]/,\n important: {\n pattern:\n /(^[\\t ]*)!(?:addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversion|gettlbversion|if|ifdef|ifmacrodef|ifmacrondef|ifndef|include|insertmacro|macro|macroend|makensis|packhdr|pragma|searchparse|searchreplace|system|tempfile|undef|verbose|warning)\\b/im,\n lookbehind: true\n }\n }\n}\n","'use strict'\nvar refractorC = require('./c.js')\nmodule.exports = objectivec\nobjectivec.displayName = 'objectivec'\nobjectivec.aliases = ['objc']\nfunction objectivec(Prism) {\n Prism.register(refractorC)\n Prism.languages.objectivec = Prism.languages.extend('c', {\n string: {\n pattern: /@?\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n greedy: true\n },\n keyword:\n /\\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/,\n operator: /-[->]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/\n })\n delete Prism.languages.objectivec['class-name']\n Prism.languages.objc = Prism.languages.objectivec\n}\n","'use strict'\n\nmodule.exports = ocaml\nocaml.displayName = 'ocaml'\nocaml.aliases = []\nfunction ocaml(Prism) {\n // https://ocaml.org/manual/lex.html\n Prism.languages.ocaml = {\n comment: {\n pattern: /\\(\\*[\\s\\S]*?\\*\\)/,\n greedy: true\n },\n char: {\n pattern: /'(?:[^\\\\\\r\\n']|\\\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,\n greedy: true\n },\n string: [\n {\n pattern: /\"(?:\\\\(?:[\\s\\S]|\\r\\n)|[^\\\\\\r\\n\"])*\"/,\n greedy: true\n },\n {\n pattern: /\\{([a-z_]*)\\|[\\s\\S]*?\\|\\1\\}/,\n greedy: true\n }\n ],\n number: [\n // binary and octal\n /\\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\\b/i, // hexadecimal\n /\\b0x[a-f0-9][a-f0-9_]*(?:\\.[a-f0-9_]*)?(?:p[+-]?\\d[\\d_]*)?(?!\\w)/i, // decimal\n /\\b\\d[\\d_]*(?:\\.[\\d_]*)?(?:e[+-]?\\d[\\d_]*)?(?!\\w)/i\n ],\n directive: {\n pattern: /\\B#\\w+/,\n alias: 'property'\n },\n label: {\n pattern: /\\B~\\w+/,\n alias: 'property'\n },\n 'type-variable': {\n pattern: /\\B'\\w+/,\n alias: 'function'\n },\n variant: {\n pattern: /`\\w+/,\n alias: 'symbol'\n },\n // For the list of keywords and operators,\n // see: http://caml.inria.fr/pub/docs/manual-ocaml/lex.html#sec84\n keyword:\n /\\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n 'operator-like-punctuation': {\n pattern: /\\[[<>|]|[>|]\\]|\\{<|>\\}/,\n alias: 'punctuation'\n },\n // Custom operators are allowed\n operator:\n /\\.[.~]|:[=>]|[=<>@^|&+\\-*\\/$%!?~][!$%&*+\\-.\\/:<=>?@^|~]*|\\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\\b/,\n punctuation: /;;|::|[(){}\\[\\].,:;#]|\\b_\\b/\n }\n}\n","'use strict'\nvar refractorC = require('./c.js')\nmodule.exports = opencl\nopencl.displayName = 'opencl'\nopencl.aliases = []\nfunction opencl(Prism) {\n Prism.register(refractorC)\n ;(function (Prism) {\n /* OpenCL kernel language */\n Prism.languages.opencl = Prism.languages.extend('c', {\n // Extracted from the official specs (2.0) and http://streamcomputing.eu/downloads/?opencl.lang (opencl-keywords, opencl-types) and http://sourceforge.net/tracker/?func=detail&aid=2957794&group_id=95717&atid=612384 (Words2, partly Words3)\n keyword:\n /\\b(?:(?:__)?(?:constant|global|kernel|local|private|read_only|read_write|write_only)|__attribute__|auto|(?:bool|u?(?:char|int|long|short)|half|quad)(?:2|3|4|8|16)?|break|case|complex|const|continue|(?:double|float)(?:16(?:x(?:1|2|4|8|16))?|1x(?:1|2|4|8|16)|2(?:x(?:1|2|4|8|16))?|3|4(?:x(?:1|2|4|8|16))?|8(?:x(?:1|2|4|8|16))?)?|default|do|else|enum|extern|for|goto|if|imaginary|inline|packed|pipe|register|restrict|return|signed|sizeof|static|struct|switch|typedef|uniform|union|unsigned|void|volatile|while)\\b/,\n // Extracted from http://streamcomputing.eu/downloads/?opencl.lang (opencl-const)\n // Math Constants: https://www.khronos.org/registry/OpenCL/sdk/2.1/docs/man/xhtml/mathConstants.html\n // Macros and Limits: https://www.khronos.org/registry/OpenCL/sdk/2.1/docs/man/xhtml/macroLimits.html\n number:\n /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[fuhl]{0,4}/i,\n boolean: /\\b(?:false|true)\\b/,\n 'constant-opencl-kernel': {\n pattern:\n /\\b(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FILTER_(?:LINEAR|NEAREST)|(?:GLOBAL|LOCAL)_MEM_FENCE|NORMALIZED_COORDS_(?:FALSE|TRUE))|CL_(?:BGRA|(?:HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?[Ax]?|(?:(?:UN)?SIGNED|[US]NORM)_(?:INT(?:8|16|32))|UNORM_(?:INT_101010|SHORT_(?:555|565)))|(?:DBL|FLT|HALF)_(?:DIG|EPSILON|(?:MAX|MIN)(?:(?:_10)?_EXP)?|MANT_DIG)|FLT_RADIX|HUGE_VALF?|(?:INT|LONG|SCHAR|SHRT)_(?:MAX|MIN)|INFINITY|MAXFLOAT|M_(?:[12]_PI|2_SQRTPI|E|LN(?:2|10)|LOG(?:2|10)E?|PI(?:_[24])?|SQRT(?:1_2|2))(?:_F|_H)?|NAN|(?:UCHAR|UINT|ULONG|USHRT)_MAX)\\b/,\n alias: 'constant'\n }\n })\n Prism.languages.insertBefore('opencl', 'class-name', {\n // https://www.khronos.org/registry/OpenCL/sdk/2.1/docs/man/xhtml/scalarDataTypes.html\n // https://www.khronos.org/registry/OpenCL/sdk/2.1/docs/man/xhtml/otherDataTypes.html\n 'builtin-type': {\n pattern:\n /\\b(?:_cl_(?:command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|cl_(?:image_format|mem_fence_flags)|clk_event_t|event_t|image(?:1d_(?:array_|buffer_)?t|2d_(?:array_(?:depth_|msaa_depth_|msaa_)?|depth_|msaa_depth_|msaa_)?t|3d_t)|intptr_t|ndrange_t|ptrdiff_t|queue_t|reserve_id_t|sampler_t|size_t|uintptr_t)\\b/,\n alias: 'keyword'\n }\n })\n var attributes = {\n // Extracted from http://streamcomputing.eu/downloads/?opencl_host.lang (opencl-types and opencl-host)\n 'type-opencl-host': {\n pattern:\n /\\b(?:cl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(?:order|type)|(?:u?(?:char|int|long|short)|double|float)(?:2|3|4|8|16)?|command_(?:queue(?:_info|_properties)?|type)|context(?:_info|_properties)?|device_(?:exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(?:event|sampler)(?:_info)?|filter_mode|half|image_info|kernel(?:_info|_work_group_info)?|map_flags|mem(?:_flags|_info|_object_type)?|platform_(?:id|info)|profiling_info|program(?:_build_info|_info)?))\\b/,\n alias: 'keyword'\n },\n 'boolean-opencl-host': {\n pattern: /\\bCL_(?:FALSE|TRUE)\\b/,\n alias: 'boolean'\n },\n // Extracted from cl.h (2.0) and http://streamcomputing.eu/downloads/?opencl_host.lang (opencl-const)\n 'constant-opencl-host': {\n pattern:\n /\\bCL_(?:A|ABGR|ADDRESS_(?:CLAMP(?:_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(?:ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(?:ACQUIRE_GL_OBJECTS|BARRIER|COPY_(?:BUFFER(?:_RECT|_TO_IMAGE)?|IMAGE(?:_TO_BUFFER)?)|FILL_(?:BUFFER|IMAGE)|MAP(?:_BUFFER|_IMAGE)|MARKER|MIGRATE(?:_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(?:BUFFER(?:_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(?:FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(?:BUFFER(?:_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(?:DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(?:_STENCIL)?|DEVICE_(?:ADDRESS_BITS|AFFINITY_DOMAIN_(?:L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(?:MEM_(?:CACHELINE_SIZE|CACHE_SIZE|CACHE_TYPE|SIZE)|VARIABLE_PREFERRED_TOTAL_SIZE)|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(?:2D_MAX_(?:HEIGHT|WIDTH)|3D_MAX_(?:DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(?:CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(?:EVENTS|QUEUES)|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(?:AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(?:AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(?:ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(?:GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(?:ON_(?:DEVICE_(?:MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(?:ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(?:_ACCELERATOR|_ALL|_CPU|_CUSTOM|_DEFAULT|_GPU)?|VENDOR(?:_ID)?|VERSION)|DRIVER_VERSION|EVENT_(?:COMMAND_(?:EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(?:KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(?:LINEAR|NEAREST)|FLOAT|FP_(?:CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(?:ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(?:ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(?:ARG_(?:ACCESS_(?:NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(?:CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(?:CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(?:FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(?:ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(?:ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(?:CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(?:HOST_MEMORY|RESOURCES)|PIPE_(?:MAX_PACKETS|PACKET_SIZE)|PLATFORM_(?:EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(?:COMMAND_(?:COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(?:BINARIES|BINARY_SIZES|BINARY_TYPE(?:_COMPILED_OBJECT|_EXECUTABLE|_LIBRARY|_NONE)?|BUILD_(?:GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(?:CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(?:ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(?:ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(?:UN)?SIGNED_INT(?:8|16|32)|SNORM_INT(?:8|16)|SUBMITTED|SUCCESS|UNORM_INT(?:8|16|24|_101010|_101010_2)|UNORM_SHORT_(?:555|565)|VERSION_(?:1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)\\b/,\n alias: 'constant'\n },\n // Extracted from cl.h (2.0) and http://streamcomputing.eu/downloads/?opencl_host.lang (opencl-host)\n 'function-opencl-host': {\n pattern:\n /\\bcl(?:BuildProgram|CloneKernel|CompileProgram|Create(?:Buffer|CommandQueue(?:WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(?:Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue(?:(?:Barrier|Marker)(?:WithWaitList)?|Copy(?:Buffer(?:Rect|ToImage)?|Image(?:ToBuffer)?)|(?:Fill|Map)(?:Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(?:Read|Write)(?:Buffer(?:Rect)?|Image)|SVM(?:Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(?:CommandQueueInfo|ContextInfo|Device(?:AndHostTimer|IDs|Info)|Event(?:Profiling)?Info|ExtensionFunctionAddress(?:ForPlatform)?|HostTimer|ImageInfo|Kernel(?:ArgInfo|Info|SubGroupInfo|WorkGroupInfo)|MemObjectInfo|PipeInfo|Platform(?:IDs|Info)|Program(?:Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|(?:Release|Retain)(?:CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(?:Alloc|Free)|Set(?:CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel|Kernel(?:Arg(?:SVMPointer)?|ExecInfo)|MemObjectDestructorCallback|UserEventStatus)|Unload(?:Platform)?Compiler|WaitForEvents)\\b/,\n alias: 'function'\n }\n }\n /* OpenCL host API */\n Prism.languages.insertBefore('c', 'keyword', attributes) // C++ includes everything from the OpenCL C host API plus the classes defined in cl2.h\n if (Prism.languages.cpp) {\n // Extracted from doxygen class list http://github.khronos.org/OpenCL-CLHPP/annotated.html\n attributes['type-opencl-host-cpp'] = {\n pattern:\n /\\b(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|Sampler|UserEvent)\\b/,\n alias: 'keyword'\n }\n Prism.languages.insertBefore('cpp', 'keyword', attributes)\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = openqasm\nopenqasm.displayName = 'openqasm'\nopenqasm.aliases = ['qasm']\nfunction openqasm(Prism) {\n // https://qiskit.github.io/openqasm/grammar/index.html\n Prism.languages.openqasm = {\n comment: /\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*/,\n string: {\n pattern: /\"[^\"\\r\\n\\t]*\"|'[^'\\r\\n\\t]*'/,\n greedy: true\n },\n keyword:\n /\\b(?:CX|OPENQASM|U|barrier|boxas|boxto|break|const|continue|ctrl|def|defcal|defcalgrammar|delay|else|end|for|gate|gphase|if|in|include|inv|kernel|lengthof|let|measure|pow|reset|return|rotary|stretchinf|while)\\b|#pragma\\b/,\n 'class-name':\n /\\b(?:angle|bit|bool|creg|fixed|float|int|length|qreg|qubit|stretch|uint)\\b/,\n function: /\\b(?:cos|exp|ln|popcount|rotl|rotr|sin|sqrt|tan)\\b(?=\\s*\\()/,\n constant: /\\b(?:euler|pi|tau)\\b|π|𝜏|ℇ/,\n number: {\n pattern:\n /(^|[^.\\w$])(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?(?:dt|ns|us|µs|ms|s)?/i,\n lookbehind: true\n },\n operator: /->|>>=?|<<=?|&&|\\|\\||\\+\\+|--|[!=<>&|~^+\\-*/%]=?|@/,\n punctuation: /[(){}\\[\\];,:.]/\n }\n Prism.languages.qasm = Prism.languages.openqasm\n}\n","'use strict'\n\nmodule.exports = oz\noz.displayName = 'oz'\noz.aliases = []\nfunction oz(Prism) {\n Prism.languages.oz = {\n comment: {\n pattern: /\\/\\*[\\s\\S]*?\\*\\/|%.*/,\n greedy: true\n },\n string: {\n pattern: /\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"/,\n greedy: true\n },\n atom: {\n pattern: /'(?:[^'\\\\]|\\\\[\\s\\S])*'/,\n greedy: true,\n alias: 'builtin'\n },\n keyword:\n /\\$|\\[\\]|\\b(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\\b/,\n function: [\n /\\b[a-z][A-Za-z\\d]*(?=\\()/,\n {\n pattern: /(\\{)[A-Z][A-Za-z\\d]*\\b/,\n lookbehind: true\n }\n ],\n number:\n /\\b(?:0[bx][\\da-f]+|\\d+(?:\\.\\d*)?(?:e~?\\d+)?)\\b|&(?:[^\\\\]|\\\\(?:\\d{3}|.))/i,\n variable: /`(?:[^`\\\\]|\\\\.)+`/,\n 'attr-name': /\\b\\w+(?=[ \\t]*:(?![:=]))/,\n operator:\n /:(?:=|::?)|<[-:=]?|=(?:=|<?:?)|>=?:?|\\\\=:?|!!?|[|#+\\-*\\/,~^@]|\\b(?:andthen|div|mod|orelse)\\b/,\n punctuation: /[\\[\\](){}.:;?]/\n }\n}\n","'use strict'\n\nmodule.exports = parigp\nparigp.displayName = 'parigp'\nparigp.aliases = []\nfunction parigp(Prism) {\n Prism.languages.parigp = {\n comment: /\\/\\*[\\s\\S]*?\\*\\/|\\\\\\\\.*/,\n string: {\n pattern: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"/,\n greedy: true\n },\n // PARI/GP does not care about white spaces at all\n // so let's process the keywords to build an appropriate regexp\n // (e.g. \"b *r *e *a *k\", etc.)\n keyword: (function () {\n var keywords = [\n 'breakpoint',\n 'break',\n 'dbg_down',\n 'dbg_err',\n 'dbg_up',\n 'dbg_x',\n 'forcomposite',\n 'fordiv',\n 'forell',\n 'forpart',\n 'forprime',\n 'forstep',\n 'forsubgroup',\n 'forvec',\n 'for',\n 'iferr',\n 'if',\n 'local',\n 'my',\n 'next',\n 'return',\n 'until',\n 'while'\n ]\n keywords = keywords\n .map(function (keyword) {\n return keyword.split('').join(' *')\n })\n .join('|')\n return RegExp('\\\\b(?:' + keywords + ')\\\\b')\n })(),\n function: /\\b\\w(?:[\\w ]*\\w)?(?= *\\()/,\n number: {\n // The lookbehind and the negative lookahead prevent from breaking the .. operator\n pattern:\n /((?:\\. *\\. *)?)(?:\\b\\d(?: *\\d)*(?: *(?!\\. *\\.)\\.(?: *\\d)*)?|\\. *\\d(?: *\\d)*)(?: *e *(?:[+-] *)?\\d(?: *\\d)*)?/i,\n lookbehind: true\n },\n operator:\n /\\. *\\.|[*\\/!](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\\+(?: *[+=])?|-(?: *[-=>])?|<(?: *>|(?: *<)?(?: *=)?)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\\\(?: *\\/)?(?: *=)?|&(?: *&)?|\\| *\\||['#~^]/,\n punctuation: /[\\[\\]{}().,:;|]/\n }\n}\n","'use strict'\n\nmodule.exports = parser\nparser.displayName = 'parser'\nparser.aliases = []\nfunction parser(Prism) {\n ;(function (Prism) {\n var parser = (Prism.languages.parser = Prism.languages.extend('markup', {\n keyword: {\n pattern:\n /(^|[^^])(?:\\^(?:case|eval|for|if|switch|throw)\\b|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)\\b)/,\n lookbehind: true\n },\n variable: {\n pattern: /(^|[^^])\\B\\$(?:\\w+|(?=[.{]))(?:(?:\\.|::?)\\w+)*(?:\\.|::?)?/,\n lookbehind: true,\n inside: {\n punctuation: /\\.|:+/\n }\n },\n function: {\n pattern: /(^|[^^])\\B[@^]\\w+(?:(?:\\.|::?)\\w+)*(?:\\.|::?)?/,\n lookbehind: true,\n inside: {\n keyword: {\n pattern: /(^@)(?:GET_|SET_)/,\n lookbehind: true\n },\n punctuation: /\\.|:+/\n }\n },\n escape: {\n pattern: /\\^(?:[$^;@()\\[\\]{}\"':]|#[a-f\\d]*)/i,\n alias: 'builtin'\n },\n punctuation: /[\\[\\](){};]/\n }))\n parser = Prism.languages.insertBefore('parser', 'keyword', {\n 'parser-comment': {\n pattern: /(\\s)#.*/,\n lookbehind: true,\n alias: 'comment'\n },\n expression: {\n // Allow for 3 levels of depth\n pattern: /(^|[^^])\\((?:[^()]|\\((?:[^()]|\\((?:[^()])*\\))*\\))*\\)/,\n greedy: true,\n lookbehind: true,\n inside: {\n string: {\n pattern: /(^|[^^])([\"'])(?:(?!\\2)[^^]|\\^[\\s\\S])*\\2/,\n lookbehind: true\n },\n keyword: parser.keyword,\n variable: parser.variable,\n function: parser.function,\n boolean: /\\b(?:false|true)\\b/,\n number: /\\b(?:0x[a-f\\d]+|\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?)\\b/i,\n escape: parser.escape,\n operator:\n /[~+*\\/\\\\%]|!(?:\\|\\|?|=)?|&&?|\\|\\|?|==|<[<=]?|>[>=]?|-[fd]?|\\b(?:def|eq|ge|gt|in|is|le|lt|ne)\\b/,\n punctuation: parser.punctuation\n }\n }\n })\n Prism.languages.insertBefore(\n 'inside',\n 'punctuation',\n {\n expression: parser.expression,\n keyword: parser.keyword,\n variable: parser.variable,\n function: parser.function,\n escape: parser.escape,\n 'parser-punctuation': {\n pattern: parser.punctuation,\n alias: 'punctuation'\n }\n },\n parser['tag'].inside['attr-value']\n )\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = pascal\npascal.displayName = 'pascal'\npascal.aliases = ['objectpascal']\nfunction pascal(Prism) {\n // Based on Free Pascal\n /* TODO\nSupport inline asm ?\n*/\n Prism.languages.pascal = {\n directive: {\n pattern: /\\{\\$[\\s\\S]*?\\}/,\n greedy: true,\n alias: ['marco', 'property']\n },\n comment: {\n pattern: /\\(\\*[\\s\\S]*?\\*\\)|\\{[\\s\\S]*?\\}|\\/\\/.*/,\n greedy: true\n },\n string: {\n pattern: /(?:'(?:''|[^'\\r\\n])*'(?!')|#[&$%]?[a-f\\d]+)+|\\^[a-z]/i,\n greedy: true\n },\n asm: {\n pattern: /(\\basm\\b)[\\s\\S]+?(?=\\bend\\s*[;[])/i,\n lookbehind: true,\n greedy: true,\n inside: null // see below\n },\n keyword: [\n {\n // Turbo Pascal\n pattern:\n /(^|[^&])\\b(?:absolute|array|asm|begin|case|const|constructor|destructor|do|downto|else|end|file|for|function|goto|if|implementation|inherited|inline|interface|label|nil|object|of|operator|packed|procedure|program|record|reintroduce|repeat|self|set|string|then|to|type|unit|until|uses|var|while|with)\\b/i,\n lookbehind: true\n },\n {\n // Free Pascal\n pattern: /(^|[^&])\\b(?:dispose|exit|false|new|true)\\b/i,\n lookbehind: true\n },\n {\n // Object Pascal\n pattern:\n /(^|[^&])\\b(?:class|dispinterface|except|exports|finalization|finally|initialization|inline|library|on|out|packed|property|raise|resourcestring|threadvar|try)\\b/i,\n lookbehind: true\n },\n {\n // Modifiers\n pattern:\n /(^|[^&])\\b(?:absolute|abstract|alias|assembler|bitpacked|break|cdecl|continue|cppdecl|cvar|default|deprecated|dynamic|enumerator|experimental|export|external|far|far16|forward|generic|helper|implements|index|interrupt|iochecks|local|message|name|near|nodefault|noreturn|nostackframe|oldfpccall|otherwise|overload|override|pascal|platform|private|protected|public|published|read|register|reintroduce|result|safecall|saveregisters|softfloat|specialize|static|stdcall|stored|strict|unaligned|unimplemented|varargs|virtual|write)\\b/i,\n lookbehind: true\n }\n ],\n number: [\n // Hexadecimal, octal and binary\n /(?:[&%]\\d+|\\$[a-f\\d]+)/i, // Decimal\n /\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?/i\n ],\n operator: [\n /\\.\\.|\\*\\*|:=|<[<=>]?|>[>=]?|[+\\-*\\/]=?|[@^=]/,\n {\n pattern:\n /(^|[^&])\\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\\b/,\n lookbehind: true\n }\n ],\n punctuation: /\\(\\.|\\.\\)|[()\\[\\]:;,.]/\n }\n Prism.languages.pascal.asm.inside = Prism.languages.extend('pascal', {\n asm: undefined,\n keyword: undefined,\n operator: undefined\n })\n Prism.languages.objectpascal = Prism.languages.pascal\n}\n","'use strict'\n\nmodule.exports = pascaligo\npascaligo.displayName = 'pascaligo'\npascaligo.aliases = []\nfunction pascaligo(Prism) {\n ;(function (Prism) {\n // Pascaligo is a layer 2 smart contract language for the tezos blockchain\n var braces = /\\((?:[^()]|\\((?:[^()]|\\([^()]*\\))*\\))*\\)/.source\n var type = /(?:\\b\\w+(?:<braces>)?|<braces>)/.source.replace(\n /<braces>/g,\n function () {\n return braces\n }\n )\n var pascaligo = (Prism.languages.pascaligo = {\n comment: /\\(\\*[\\s\\S]+?\\*\\)|\\/\\/.*/,\n string: {\n pattern: /([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|\\^[a-z]/i,\n greedy: true\n },\n 'class-name': [\n {\n pattern: RegExp(\n /(\\btype\\s+\\w+\\s+is\\s+)<type>/.source.replace(\n /<type>/g,\n function () {\n return type\n }\n ),\n 'i'\n ),\n lookbehind: true,\n inside: null // see below\n },\n {\n pattern: RegExp(\n /<type>(?=\\s+is\\b)/.source.replace(/<type>/g, function () {\n return type\n }),\n 'i'\n ),\n inside: null // see below\n },\n {\n pattern: RegExp(\n /(:\\s*)<type>/.source.replace(/<type>/g, function () {\n return type\n })\n ),\n lookbehind: true,\n inside: null // see below\n }\n ],\n keyword: {\n pattern:\n /(^|[^&])\\b(?:begin|block|case|const|else|end|fail|for|from|function|if|is|nil|of|remove|return|skip|then|type|var|while|with)\\b/i,\n lookbehind: true\n },\n boolean: {\n pattern: /(^|[^&])\\b(?:False|True)\\b/i,\n lookbehind: true\n },\n builtin: {\n pattern: /(^|[^&])\\b(?:bool|int|list|map|nat|record|string|unit)\\b/i,\n lookbehind: true\n },\n function: /\\b\\w+(?=\\s*\\()/,\n number: [\n // Hexadecimal, octal and binary\n /%[01]+|&[0-7]+|\\$[a-f\\d]+/i, // Decimal\n /\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?(?:mtz|n)?/i\n ],\n operator:\n /->|=\\/=|\\.\\.|\\*\\*|:=|<[<=>]?|>[>=]?|[+\\-*\\/]=?|[@^=|]|\\b(?:and|mod|or)\\b/,\n punctuation: /\\(\\.|\\.\\)|[()\\[\\]:;,.{}]/\n })\n var classNameInside = [\n 'comment',\n 'keyword',\n 'builtin',\n 'operator',\n 'punctuation'\n ].reduce(function (accum, key) {\n accum[key] = pascaligo[key]\n return accum\n }, {})\n pascaligo['class-name'].forEach(function (p) {\n p.inside = classNameInside\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = pcaxis\npcaxis.displayName = 'pcaxis'\npcaxis.aliases = ['px']\nfunction pcaxis(Prism) {\n Prism.languages.pcaxis = {\n string: /\"[^\"]*\"/,\n keyword: {\n pattern:\n /((?:^|;)\\s*)[-A-Z\\d]+(?:\\s*\\[[-\\w]+\\])?(?:\\s*\\(\"[^\"]*\"(?:,\\s*\"[^\"]*\")*\\))?(?=\\s*=)/,\n lookbehind: true,\n greedy: true,\n inside: {\n keyword: /^[-A-Z\\d]+/,\n language: {\n pattern: /^(\\s*)\\[[-\\w]+\\]/,\n lookbehind: true,\n inside: {\n punctuation: /^\\[|\\]$/,\n property: /[-\\w]+/\n }\n },\n 'sub-key': {\n pattern: /^(\\s*)\\S[\\s\\S]*/,\n lookbehind: true,\n inside: {\n parameter: {\n pattern: /\"[^\"]*\"/,\n alias: 'property'\n },\n punctuation: /^\\(|\\)$|,/\n }\n }\n }\n },\n operator: /=/,\n tlist: {\n pattern:\n /TLIST\\s*\\(\\s*\\w+(?:(?:\\s*,\\s*\"[^\"]*\")+|\\s*,\\s*\"[^\"]*\"-\"[^\"]*\")?\\s*\\)/,\n greedy: true,\n inside: {\n function: /^TLIST/,\n property: {\n pattern: /^(\\s*\\(\\s*)\\w+/,\n lookbehind: true\n },\n string: /\"[^\"]*\"/,\n punctuation: /[(),]/,\n operator: /-/\n }\n },\n punctuation: /[;,]/,\n number: {\n pattern: /(^|\\s)\\d+(?:\\.\\d+)?(?!\\S)/,\n lookbehind: true\n },\n boolean: /NO|YES/\n }\n Prism.languages.px = Prism.languages.pcaxis\n}\n","'use strict'\n\nmodule.exports = peoplecode\npeoplecode.displayName = 'peoplecode'\npeoplecode.aliases = ['pcode']\nfunction peoplecode(Prism) {\n Prism.languages.peoplecode = {\n comment: RegExp(\n [\n // C-style multiline comments\n /\\/\\*[\\s\\S]*?\\*\\//.source, // REM comments\n /\\bREM[^;]*;/.source, // Nested <* *> comments\n /<\\*(?:[^<*]|\\*(?!>)|<(?!\\*)|<\\*(?:(?!\\*>)[\\s\\S])*\\*>)*\\*>/.source, // /+ +/ comments\n /\\/\\+[\\s\\S]*?\\+\\//.source\n ].join('|')\n ),\n string: {\n pattern: /'(?:''|[^'\\r\\n])*'(?!')|\"(?:\"\"|[^\"\\r\\n])*\"(?!\")/,\n greedy: true\n },\n variable: /%\\w+/,\n 'function-definition': {\n pattern: /((?:^|[^\\w-])(?:function|method)\\s+)\\w+/i,\n lookbehind: true,\n alias: 'function'\n },\n 'class-name': {\n pattern:\n /((?:^|[^-\\w])(?:as|catch|class|component|create|extends|global|implements|instance|local|of|property|returns)\\s+)\\w+(?::\\w+)*/i,\n lookbehind: true,\n inside: {\n punctuation: /:/\n }\n },\n keyword:\n /\\b(?:abstract|alias|as|catch|class|component|constant|create|declare|else|end-(?:class|evaluate|for|function|get|if|method|set|try|while)|evaluate|extends|for|function|get|global|if|implements|import|instance|library|local|method|null|of|out|peopleCode|private|program|property|protected|readonly|ref|repeat|returns?|set|step|then|throw|to|try|until|value|when(?:-other)?|while)\\b/i,\n 'operator-keyword': {\n pattern: /\\b(?:and|not|or)\\b/i,\n alias: 'operator'\n },\n function: /[_a-z]\\w*(?=\\s*\\()/i,\n boolean: /\\b(?:false|true)\\b/i,\n number: /\\b\\d+(?:\\.\\d+)?\\b/,\n operator: /<>|[<>]=?|!=|\\*\\*|[-+*/|=@]/,\n punctuation: /[:.;,()[\\]]/\n }\n Prism.languages.pcode = Prism.languages.peoplecode\n}\n","'use strict'\n\nmodule.exports = perl\nperl.displayName = 'perl'\nperl.aliases = []\nfunction perl(Prism) {\n ;(function (Prism) {\n var brackets =\n /(?:\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}|\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)/\n .source\n Prism.languages.perl = {\n comment: [\n {\n // POD\n pattern: /(^\\s*)=\\w[\\s\\S]*?=cut.*/m,\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\$])#.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n // TODO Could be nice to handle Heredoc too.\n string: [\n {\n pattern: RegExp(\n /\\b(?:q|qq|qw|qx)(?![a-zA-Z0-9])\\s*/.source +\n '(?:' +\n [\n // q/.../\n /([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/.source, // q a...a\n // eslint-disable-next-line regexp/strict\n /([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2/.source, // q(...)\n // q{...}\n // q[...]\n // q<...>\n brackets\n ].join('|') +\n ')'\n ),\n greedy: true\n }, // \"...\", `...`\n {\n pattern: /(\"|`)(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n greedy: true\n }, // '...'\n // FIXME Multi-line single-quoted strings are not supported as they would break variables containing '\n {\n pattern: /'(?:[^'\\\\\\r\\n]|\\\\.)*'/,\n greedy: true\n }\n ],\n regex: [\n {\n pattern: RegExp(\n /\\b(?:m|qr)(?![a-zA-Z0-9])\\s*/.source +\n '(?:' +\n [\n // m/.../\n /([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/.source, // m a...a\n // eslint-disable-next-line regexp/strict\n /([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2/.source, // m(...)\n // m{...}\n // m[...]\n // m<...>\n brackets\n ].join('|') +\n ')' +\n /[msixpodualngc]*/.source\n ),\n greedy: true\n }, // The lookbehinds prevent -s from breaking\n {\n pattern: RegExp(\n /(^|[^-])\\b(?:s|tr|y)(?![a-zA-Z0-9])\\s*/.source +\n '(?:' +\n [\n // s/.../.../\n // eslint-disable-next-line regexp/strict\n /([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2/\n .source, // s a...a...a\n // eslint-disable-next-line regexp/strict\n /([a-zA-Z0-9])(?:(?!\\3)[^\\\\]|\\\\[\\s\\S])*\\3(?:(?!\\3)[^\\\\]|\\\\[\\s\\S])*\\3/\n .source, // s(...)(...)\n // s{...}{...}\n // s[...][...]\n // s<...><...>\n // s(...)[...]\n brackets + /\\s*/.source + brackets\n ].join('|') +\n ')' +\n /[msixpodualngcer]*/.source\n ),\n lookbehind: true,\n greedy: true\n }, // /.../\n // The look-ahead tries to prevent two divisions on\n // the same line from being highlighted as regex.\n // This does not support multi-line regex.\n {\n pattern:\n /\\/(?:[^\\/\\\\\\r\\n]|\\\\.)*\\/[msixpodualngc]*(?=\\s*(?:$|[\\r\\n,.;})&|\\-+*~<>!?^]|(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|x|xor)\\b))/,\n greedy: true\n }\n ],\n // FIXME Not sure about the handling of ::, ', and #\n variable: [\n // ${^POSTMATCH}\n /[&*$@%]\\{\\^[A-Z]+\\}/, // $^V\n /[&*$@%]\\^[A-Z_]/, // ${...}\n /[&*$@%]#?(?=\\{)/, // $foo\n /[&*$@%]#?(?:(?:::)*'?(?!\\d)[\\w$]+(?![\\w$]))+(?:::)*/, // $1\n /[&*$@%]\\d+/, // $_, @_, %!\n // The negative lookahead prevents from breaking the %= operator\n /(?!%=)[$@%][!\"#$%&'()*+,\\-.\\/:;<=>?@[\\\\\\]^_`{|}~]/\n ],\n filehandle: {\n // <>, <FOO>, _\n pattern: /<(?![<=])\\S*?>|\\b_\\b/,\n alias: 'symbol'\n },\n 'v-string': {\n // v1.2, 1.2.3\n pattern: /v\\d+(?:\\.\\d+)*|\\d+(?:\\.\\d+){2,}/,\n alias: 'string'\n },\n function: {\n pattern: /(\\bsub[ \\t]+)\\w+/,\n lookbehind: true\n },\n keyword:\n /\\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\\b/,\n number:\n /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)\\b/,\n operator:\n /-[rwxoRWXOezsfdlpSbctugkTBMAC]\\b|\\+[+=]?|-[-=>]?|\\*\\*?=?|\\/\\/?=?|=[=~>]?|~[~=]?|\\|\\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\\.(?:=|\\.\\.?)?|[\\\\?]|\\bx(?:=|\\b)|\\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)\\b/,\n punctuation: /[{}[\\];(),:]/\n }\n })(Prism)\n}\n","'use strict'\nvar refractorPhp = require('./php.js')\nmodule.exports = phpExtras\nphpExtras.displayName = 'phpExtras'\nphpExtras.aliases = []\nfunction phpExtras(Prism) {\n Prism.register(refractorPhp)\n Prism.languages.insertBefore('php', 'variable', {\n this: {\n pattern: /\\$this\\b/,\n alias: 'keyword'\n },\n global:\n /\\$(?:GLOBALS|HTTP_RAW_POST_DATA|_(?:COOKIE|ENV|FILES|GET|POST|REQUEST|SERVER|SESSION)|argc|argv|http_response_header|php_errormsg)\\b/,\n scope: {\n pattern: /\\b[\\w\\\\]+::/,\n inside: {\n keyword: /\\b(?:parent|self|static)\\b/,\n punctuation: /::|\\\\/\n }\n }\n })\n}\n","'use strict'\nvar refractorMarkupTemplating = require('./markup-templating.js')\nmodule.exports = php\nphp.displayName = 'php'\nphp.aliases = []\nfunction php(Prism) {\n Prism.register(refractorMarkupTemplating)\n /**\n * Original by Aaron Harun: http://aahacreative.com/2012/07/31/php-syntax-highlighting-prism/\n * Modified by Miles Johnson: http://milesj.me\n * Rewritten by Tom Pavelec\n *\n * Supports PHP 5.3 - 8.0\n */\n ;(function (Prism) {\n var comment = /\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*|#(?!\\[).*/\n var constant = [\n {\n pattern: /\\b(?:false|true)\\b/i,\n alias: 'boolean'\n },\n {\n pattern: /(::\\s*)\\b[a-z_]\\w*\\b(?!\\s*\\()/i,\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /(\\b(?:case|const)\\s+)\\b[a-z_]\\w*(?=\\s*[;=])/i,\n greedy: true,\n lookbehind: true\n },\n /\\b(?:null)\\b/i,\n /\\b[A-Z_][A-Z0-9_]*\\b(?!\\s*\\()/\n ]\n var number =\n /\\b0b[01]+(?:_[01]+)*\\b|\\b0o[0-7]+(?:_[0-7]+)*\\b|\\b0x[\\da-f]+(?:_[\\da-f]+)*\\b|(?:\\b\\d+(?:_\\d+)*\\.?(?:\\d+(?:_\\d+)*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i\n var operator =\n /<?=>|\\?\\?=?|\\.{3}|\\??->|[!=]=?=?|::|\\*\\*=?|--|\\+\\+|&&|\\|\\||<<|>>|[?~]|[/^|%*&<>.+-]=?/\n var punctuation = /[{}\\[\\](),:;]/\n Prism.languages.php = {\n delimiter: {\n pattern: /\\?>$|^<\\?(?:php(?=\\s)|=)?/i,\n alias: 'important'\n },\n comment: comment,\n variable: /\\$+(?:\\w+\\b|(?=\\{))/,\n package: {\n pattern:\n /(namespace\\s+|use\\s+(?:function\\s+)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n 'class-name-definition': {\n pattern: /(\\b(?:class|enum|interface|trait)\\s+)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n lookbehind: true,\n alias: 'class-name'\n },\n 'function-definition': {\n pattern: /(\\bfunction\\s+)[a-z_]\\w*(?=\\s*\\()/i,\n lookbehind: true,\n alias: 'function'\n },\n keyword: [\n {\n pattern:\n /(\\(\\s*)\\b(?:array|bool|boolean|float|int|integer|object|string)\\b(?=\\s*\\))/i,\n alias: 'type-casting',\n greedy: true,\n lookbehind: true\n },\n {\n pattern:\n /([(,?]\\s*)\\b(?:array(?!\\s*\\()|bool|callable|(?:false|null)(?=\\s*\\|)|float|int|iterable|mixed|object|self|static|string)\\b(?=\\s*\\$)/i,\n alias: 'type-hint',\n greedy: true,\n lookbehind: true\n },\n {\n pattern:\n /(\\)\\s*:\\s*(?:\\?\\s*)?)\\b(?:array(?!\\s*\\()|bool|callable|(?:false|null)(?=\\s*\\|)|float|int|iterable|mixed|object|self|static|string|void)\\b/i,\n alias: 'return-type',\n greedy: true,\n lookbehind: true\n },\n {\n pattern:\n /\\b(?:array(?!\\s*\\()|bool|float|int|iterable|mixed|object|string|void)\\b/i,\n alias: 'type-declaration',\n greedy: true\n },\n {\n pattern: /(\\|\\s*)(?:false|null)\\b|\\b(?:false|null)(?=\\s*\\|)/i,\n alias: 'type-declaration',\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /\\b(?:parent|self|static)(?=\\s*::)/i,\n alias: 'static-context',\n greedy: true\n },\n {\n // yield from\n pattern: /(\\byield\\s+)from\\b/i,\n lookbehind: true\n }, // `class` is always a keyword unlike other keywords\n /\\bclass\\b/i,\n {\n // https://www.php.net/manual/en/reserved.keywords.php\n //\n // keywords cannot be preceded by \"->\"\n // the complex lookbehind means `(?<!(?:->|::)\\s*)`\n pattern:\n /((?:^|[^\\s>:]|(?:^|[^-])>|(?:^|[^:]):)\\s*)\\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\\b/i,\n lookbehind: true\n }\n ],\n 'argument-name': {\n pattern: /([(,]\\s+)\\b[a-z_]\\w*(?=\\s*:(?!:))/i,\n lookbehind: true\n },\n 'class-name': [\n {\n pattern:\n /(\\b(?:extends|implements|instanceof|new(?!\\s+self|\\s+static))\\s+|\\bcatch\\s*\\()\\b[a-z_]\\w*(?!\\\\)\\b/i,\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /(\\|\\s*)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /\\b[a-z_]\\w*(?!\\\\)\\b(?=\\s*\\|)/i,\n greedy: true\n },\n {\n pattern: /(\\|\\s*)(?:\\\\?\\b[a-z_]\\w*)+\\b/i,\n alias: 'class-name-fully-qualified',\n greedy: true,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n {\n pattern: /(?:\\\\?\\b[a-z_]\\w*)+\\b(?=\\s*\\|)/i,\n alias: 'class-name-fully-qualified',\n greedy: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n {\n pattern:\n /(\\b(?:extends|implements|instanceof|new(?!\\s+self\\b|\\s+static\\b))\\s+|\\bcatch\\s*\\()(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n alias: 'class-name-fully-qualified',\n greedy: true,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n {\n pattern: /\\b[a-z_]\\w*(?=\\s*\\$)/i,\n alias: 'type-declaration',\n greedy: true\n },\n {\n pattern: /(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,\n alias: ['class-name-fully-qualified', 'type-declaration'],\n greedy: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n {\n pattern: /\\b[a-z_]\\w*(?=\\s*::)/i,\n alias: 'static-context',\n greedy: true\n },\n {\n pattern: /(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*::)/i,\n alias: ['class-name-fully-qualified', 'static-context'],\n greedy: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n {\n pattern: /([(,?]\\s*)[a-z_]\\w*(?=\\s*\\$)/i,\n alias: 'type-hint',\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /([(,?]\\s*)(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,\n alias: ['class-name-fully-qualified', 'type-hint'],\n greedy: true,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n {\n pattern: /(\\)\\s*:\\s*(?:\\?\\s*)?)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n alias: 'return-type',\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /(\\)\\s*:\\s*(?:\\?\\s*)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n alias: ['class-name-fully-qualified', 'return-type'],\n greedy: true,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n }\n ],\n constant: constant,\n function: {\n pattern: /(^|[^\\\\\\w])\\\\?[a-z_](?:[\\w\\\\]*\\w)?(?=\\s*\\()/i,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n property: {\n pattern: /(->\\s*)\\w+/,\n lookbehind: true\n },\n number: number,\n operator: operator,\n punctuation: punctuation\n }\n var string_interpolation = {\n pattern:\n /\\{\\$(?:\\{(?:\\{[^{}]+\\}|[^{}]+)\\}|[^{}])+\\}|(^|[^\\\\{])\\$+(?:\\w+(?:\\[[^\\r\\n\\[\\]]+\\]|->\\w+)?)/,\n lookbehind: true,\n inside: Prism.languages.php\n }\n var string = [\n {\n pattern: /<<<'([^']+)'[\\r\\n](?:.*[\\r\\n])*?\\1;/,\n alias: 'nowdoc-string',\n greedy: true,\n inside: {\n delimiter: {\n pattern: /^<<<'[^']+'|[a-z_]\\w*;$/i,\n alias: 'symbol',\n inside: {\n punctuation: /^<<<'?|[';]$/\n }\n }\n }\n },\n {\n pattern:\n /<<<(?:\"([^\"]+)\"[\\r\\n](?:.*[\\r\\n])*?\\1;|([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?\\2;)/i,\n alias: 'heredoc-string',\n greedy: true,\n inside: {\n delimiter: {\n pattern: /^<<<(?:\"[^\"]+\"|[a-z_]\\w*)|[a-z_]\\w*;$/i,\n alias: 'symbol',\n inside: {\n punctuation: /^<<<\"?|[\";]$/\n }\n },\n interpolation: string_interpolation\n }\n },\n {\n pattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/,\n alias: 'backtick-quoted-string',\n greedy: true\n },\n {\n pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/,\n alias: 'single-quoted-string',\n greedy: true\n },\n {\n pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n alias: 'double-quoted-string',\n greedy: true,\n inside: {\n interpolation: string_interpolation\n }\n }\n ]\n Prism.languages.insertBefore('php', 'variable', {\n string: string,\n attribute: {\n pattern:\n /#\\[(?:[^\"'\\/#]|\\/(?![*/])|\\/\\/.*$|#(?!\\[).*$|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*')+\\](?=\\s*[a-z$#])/im,\n greedy: true,\n inside: {\n 'attribute-content': {\n pattern: /^(#\\[)[\\s\\S]+(?=\\]$)/,\n lookbehind: true,\n // inside can appear subset of php\n inside: {\n comment: comment,\n string: string,\n 'attribute-class-name': [\n {\n pattern: /([^:]|^)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n alias: 'class-name',\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /([^:]|^)(?:\\\\?\\b[a-z_]\\w*)+/i,\n alias: ['class-name', 'class-name-fully-qualified'],\n greedy: true,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n }\n ],\n constant: constant,\n number: number,\n operator: operator,\n punctuation: punctuation\n }\n },\n delimiter: {\n pattern: /^#\\[|\\]$/,\n alias: 'punctuation'\n }\n }\n }\n })\n Prism.hooks.add('before-tokenize', function (env) {\n if (!/<\\?/.test(env.code)) {\n return\n }\n var phpPattern =\n /<\\?(?:[^\"'/#]|\\/(?![*/])|(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|(?:\\/\\/|#(?!\\[))(?:[^?\\n\\r]|\\?(?!>))*(?=$|\\?>|[\\r\\n])|#\\[|\\/\\*(?:[^*]|\\*(?!\\/))*(?:\\*\\/|$))*?(?:\\?>|$)/g\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'php',\n phpPattern\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'php')\n })\n })(Prism)\n}\n","'use strict'\nvar refractorPhp = require('./php.js')\nvar refractorJavadoclike = require('./javadoclike.js')\nmodule.exports = phpdoc\nphpdoc.displayName = 'phpdoc'\nphpdoc.aliases = []\nfunction phpdoc(Prism) {\n Prism.register(refractorPhp)\n Prism.register(refractorJavadoclike)\n ;(function (Prism) {\n var typeExpression = /(?:\\b[a-zA-Z]\\w*|[|\\\\[\\]])+/.source\n Prism.languages.phpdoc = Prism.languages.extend('javadoclike', {\n parameter: {\n pattern: RegExp(\n '(@(?:global|param|property(?:-read|-write)?|var)\\\\s+(?:' +\n typeExpression +\n '\\\\s+)?)\\\\$\\\\w+'\n ),\n lookbehind: true\n }\n })\n Prism.languages.insertBefore('phpdoc', 'keyword', {\n 'class-name': [\n {\n pattern: RegExp(\n '(@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\\\\s+)' +\n typeExpression\n ),\n lookbehind: true,\n inside: {\n keyword:\n /\\b(?:array|bool|boolean|callback|double|false|float|int|integer|mixed|null|object|resource|self|string|true|void)\\b/,\n punctuation: /[|\\\\[\\]()]/\n }\n }\n ]\n })\n Prism.languages.javadoclike.addSupport('php', Prism.languages.phpdoc)\n })(Prism)\n}\n","'use strict'\nvar refractorSql = require('./sql.js')\nmodule.exports = plsql\nplsql.displayName = 'plsql'\nplsql.aliases = []\nfunction plsql(Prism) {\n Prism.register(refractorSql)\n Prism.languages.plsql = Prism.languages.extend('sql', {\n comment: {\n pattern: /\\/\\*[\\s\\S]*?\\*\\/|--.*/,\n greedy: true\n },\n // https://docs.oracle.com/en/database/oracle/oracle-database/21/lnpls/plsql-reserved-words-keywords.html\n keyword:\n /\\b(?:A|ACCESSIBLE|ADD|AGENT|AGGREGATE|ALL|ALTER|AND|ANY|ARRAY|AS|ASC|AT|ATTRIBUTE|AUTHID|AVG|BEGIN|BETWEEN|BFILE_BASE|BINARY|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BULK|BY|BYTE|C|CALL|CALLING|CASCADE|CASE|CHAR|CHARACTER|CHARSET|CHARSETFORM|CHARSETID|CHAR_BASE|CHECK|CLOB_BASE|CLONE|CLOSE|CLUSTER|CLUSTERS|COLAUTH|COLLECT|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPILED|COMPRESS|CONNECT|CONSTANT|CONSTRUCTOR|CONTEXT|CONTINUE|CONVERT|COUNT|CRASH|CREATE|CREDENTIAL|CURRENT|CURSOR|CUSTOMDATUM|DANGLING|DATA|DATE|DATE_BASE|DAY|DECLARE|DEFAULT|DEFINE|DELETE|DESC|DETERMINISTIC|DIRECTORY|DISTINCT|DOUBLE|DROP|DURATION|ELEMENT|ELSE|ELSIF|EMPTY|END|ESCAPE|EXCEPT|EXCEPTION|EXCEPTIONS|EXCLUSIVE|EXECUTE|EXISTS|EXIT|EXTERNAL|FETCH|FINAL|FIRST|FIXED|FLOAT|FOR|FORALL|FORCE|FROM|FUNCTION|GENERAL|GOTO|GRANT|GROUP|HASH|HAVING|HEAP|HIDDEN|HOUR|IDENTIFIED|IF|IMMEDIATE|IMMUTABLE|IN|INCLUDING|INDEX|INDEXES|INDICATOR|INDICES|INFINITE|INSERT|INSTANTIABLE|INT|INTERFACE|INTERSECT|INTERVAL|INTO|INVALIDATE|IS|ISOLATION|JAVA|LANGUAGE|LARGE|LEADING|LENGTH|LEVEL|LIBRARY|LIKE|LIKE2|LIKE4|LIKEC|LIMIT|LIMITED|LOCAL|LOCK|LONG|LOOP|MAP|MAX|MAXLEN|MEMBER|MERGE|MIN|MINUS|MINUTE|MOD|MODE|MODIFY|MONTH|MULTISET|MUTABLE|NAME|NAN|NATIONAL|NATIVE|NCHAR|NEW|NOCOMPRESS|NOCOPY|NOT|NOWAIT|NULL|NUMBER_BASE|OBJECT|OCICOLL|OCIDATE|OCIDATETIME|OCIDURATION|OCIINTERVAL|OCILOBLOCATOR|OCINUMBER|OCIRAW|OCIREF|OCIREFCURSOR|OCIROWID|OCISTRING|OCITYPE|OF|OLD|ON|ONLY|OPAQUE|OPEN|OPERATOR|OPTION|OR|ORACLE|ORADATA|ORDER|ORGANIZATION|ORLANY|ORLVARY|OTHERS|OUT|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETER|PARAMETERS|PARENT|PARTITION|PASCAL|PERSISTABLE|PIPE|PIPELINED|PLUGGABLE|POLYMORPHIC|PRAGMA|PRECISION|PRIOR|PRIVATE|PROCEDURE|PUBLIC|RAISE|RANGE|RAW|READ|RECORD|REF|REFERENCE|RELIES_ON|REM|REMAINDER|RENAME|RESOURCE|RESULT|RESULT_CACHE|RETURN|RETURNING|REVERSE|REVOKE|ROLLBACK|ROW|SAMPLE|SAVE|SAVEPOINT|SB1|SB2|SB4|SECOND|SEGMENT|SELECT|SELF|SEPARATE|SEQUENCE|SERIALIZABLE|SET|SHARE|SHORT|SIZE|SIZE_T|SOME|SPARSE|SQL|SQLCODE|SQLDATA|SQLNAME|SQLSTATE|STANDARD|START|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUM|SYNONYM|TABAUTH|TABLE|TDO|THE|THEN|TIME|TIMESTAMP|TIMEZONE_ABBR|TIMEZONE_HOUR|TIMEZONE_MINUTE|TIMEZONE_REGION|TO|TRAILING|TRANSACTION|TRANSACTIONAL|TRUSTED|TYPE|UB1|UB2|UB4|UNDER|UNION|UNIQUE|UNPLUG|UNSIGNED|UNTRUSTED|UPDATE|USE|USING|VALIST|VALUE|VALUES|VARIABLE|VARIANCE|VARRAY|VARYING|VIEW|VIEWS|VOID|WHEN|WHERE|WHILE|WITH|WORK|WRAPPED|WRITE|YEAR|ZONE)\\b/i,\n // https://docs.oracle.com/en/database/oracle/oracle-database/21/lnpls/plsql-language-fundamentals.html#GUID-96A42F7C-7A71-4B90-8255-CA9C8BD9722E\n operator: /:=?|=>|[<>^~!]=|\\.\\.|\\|\\||\\*\\*|[-+*/%<>=@]/\n })\n Prism.languages.insertBefore('plsql', 'operator', {\n label: {\n pattern: /<<\\s*\\w+\\s*>>/,\n alias: 'symbol'\n }\n })\n}\n","'use strict'\n\nmodule.exports = powerquery\npowerquery.displayName = 'powerquery'\npowerquery.aliases = []\nfunction powerquery(Prism) {\n // https://docs.microsoft.com/en-us/powerquery-m/power-query-m-language-specification\n Prism.languages.powerquery = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: true,\n greedy: true\n },\n 'quoted-identifier': {\n pattern: /#\"(?:[^\"\\r\\n]|\"\")*\"(?!\")/,\n greedy: true\n },\n string: {\n pattern: /(?:#!)?\"(?:[^\"\\r\\n]|\"\")*\"(?!\")/,\n greedy: true\n },\n constant: [\n /\\bDay\\.(?:Friday|Monday|Saturday|Sunday|Thursday|Tuesday|Wednesday)\\b/,\n /\\bTraceLevel\\.(?:Critical|Error|Information|Verbose|Warning)\\b/,\n /\\bOccurrence\\.(?:All|First|Last)\\b/,\n /\\bOrder\\.(?:Ascending|Descending)\\b/,\n /\\bRoundingMode\\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)\\b/,\n /\\bMissingField\\.(?:Error|Ignore|UseNull)\\b/,\n /\\bQuoteStyle\\.(?:Csv|None)\\b/,\n /\\bJoinKind\\.(?:FullOuter|Inner|LeftAnti|LeftOuter|RightAnti|RightOuter)\\b/,\n /\\bGroupKind\\.(?:Global|Local)\\b/,\n /\\bExtraValues\\.(?:Error|Ignore|List)\\b/,\n /\\bJoinAlgorithm\\.(?:Dynamic|LeftHash|LeftIndex|PairwiseHash|RightHash|RightIndex|SortMerge)\\b/,\n /\\bJoinSide\\.(?:Left|Right)\\b/,\n /\\bPrecision\\.(?:Decimal|Double)\\b/,\n /\\bRelativePosition\\.From(?:End|Start)\\b/,\n /\\bTextEncoding\\.(?:Ascii|BigEndianUnicode|Unicode|Utf16|Utf8|Windows)\\b/,\n /\\b(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Function|Int16|Int32|Int64|Int8|List|Logical|None|Number|Record|Table|Text|Time)\\.Type\\b/,\n /\\bnull\\b/\n ],\n boolean: /\\b(?:false|true)\\b/,\n keyword:\n /\\b(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwise|section|shared|then|try|type)\\b|#(?:binary|date|datetime|datetimezone|duration|infinity|nan|sections|shared|table|time)\\b/,\n function: {\n pattern: /(^|[^#\\w.])[a-z_][\\w.]*(?=\\s*\\()/i,\n lookbehind: true\n },\n 'data-type': {\n pattern:\n /\\b(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time)\\b/,\n alias: 'class-name'\n },\n number: {\n pattern:\n /\\b0x[\\da-f]+\\b|(?:[+-]?(?:\\b\\d+\\.)?\\b\\d+|[+-]\\.\\d+|(^|[^.])\\B\\.\\d+)(?:e[+-]?\\d+)?\\b/i,\n lookbehind: true\n },\n operator: /[-+*\\/&?@^]|<(?:=>?|>)?|>=?|=>?|\\.\\.\\.?/,\n punctuation: /[,;\\[\\](){}]/\n }\n Prism.languages.pq = Prism.languages['powerquery']\n Prism.languages.mscript = Prism.languages['powerquery']\n}\n","'use strict'\n\nmodule.exports = powershell\npowershell.displayName = 'powershell'\npowershell.aliases = []\nfunction powershell(Prism) {\n ;(function (Prism) {\n var powershell = (Prism.languages.powershell = {\n comment: [\n {\n pattern: /(^|[^`])<#[\\s\\S]*?#>/,\n lookbehind: true\n },\n {\n pattern: /(^|[^`])#.*/,\n lookbehind: true\n }\n ],\n string: [\n {\n pattern: /\"(?:`[\\s\\S]|[^`\"])*\"/,\n greedy: true,\n inside: null // see below\n },\n {\n pattern: /'(?:[^']|'')*'/,\n greedy: true\n }\n ],\n // Matches name spaces as well as casts, attribute decorators. Force starting with letter to avoid matching array indices\n // Supports two levels of nested brackets (e.g. `[OutputType([System.Collections.Generic.List[int]])]`)\n namespace: /\\[[a-z](?:\\[(?:\\[[^\\]]*\\]|[^\\[\\]])*\\]|[^\\[\\]])*\\]/i,\n boolean: /\\$(?:false|true)\\b/i,\n variable: /\\$\\w+\\b/,\n // Cmdlets and aliases. Aliases should come last, otherwise \"write\" gets preferred over \"write-host\" for example\n // Get-Command | ?{ $_.ModuleName -match \"Microsoft.PowerShell.(Util|Core|Management)\" }\n // Get-Alias | ?{ $_.ReferencedCommand.Module.Name -match \"Microsoft.PowerShell.(Util|Core|Management)\" }\n function: [\n /\\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\\b/i,\n /\\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\\b/i\n ],\n // per http://technet.microsoft.com/en-us/library/hh847744.aspx\n keyword:\n /\\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\\b/i,\n operator: {\n pattern:\n /(^|\\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\\b|-[-=]?|\\+[+=]?|[*\\/%]=?)/i,\n lookbehind: true\n },\n punctuation: /[|{}[\\];(),.]/\n }) // Variable interpolation inside strings, and nested expressions\n powershell.string[0].inside = {\n function: {\n // Allow for one level of nesting\n pattern: /(^|[^`])\\$\\((?:\\$\\([^\\r\\n()]*\\)|(?!\\$\\()[^\\r\\n)])*\\)/,\n lookbehind: true,\n inside: powershell\n },\n boolean: powershell.boolean,\n variable: powershell.variable\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = processing\nprocessing.displayName = 'processing'\nprocessing.aliases = []\nfunction processing(Prism) {\n Prism.languages.processing = Prism.languages.extend('clike', {\n keyword:\n /\\b(?:break|case|catch|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\\b/,\n // Spaces are allowed between function name and parenthesis\n function: /\\b\\w+(?=\\s*\\()/,\n operator: /<[<=]?|>[>=]?|&&?|\\|\\|?|[%?]|[!=+\\-*\\/]=?/\n })\n Prism.languages.insertBefore('processing', 'number', {\n // Special case: XML is a type\n constant: /\\b(?!XML\\b)[A-Z][A-Z\\d_]+\\b/,\n type: {\n pattern: /\\b(?:boolean|byte|char|color|double|float|int|[A-Z]\\w*)\\b/,\n alias: 'class-name'\n }\n })\n}\n","'use strict'\n\nmodule.exports = prolog\nprolog.displayName = 'prolog'\nprolog.aliases = []\nfunction prolog(Prism) {\n Prism.languages.prolog = {\n // Syntax depends on the implementation\n comment: {\n pattern: /\\/\\*[\\s\\S]*?\\*\\/|%.*/,\n greedy: true\n },\n // Depending on the implementation, strings may allow escaped newlines and quote-escape\n string: {\n pattern: /([\"'])(?:\\1\\1|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1(?!\\1)/,\n greedy: true\n },\n builtin: /\\b(?:fx|fy|xf[xy]?|yfx?)\\b/,\n // FIXME: Should we list all null-ary predicates (not followed by a parenthesis) like halt, trace, etc.?\n function: /\\b[a-z]\\w*(?:(?=\\()|\\/\\d+)/,\n number: /\\b\\d+(?:\\.\\d*)?/,\n // Custom operators are allowed\n operator: /[:\\\\=><\\-?*@\\/;+^|!$.]+|\\b(?:is|mod|not|xor)\\b/,\n punctuation: /[(){}\\[\\],]/\n }\n}\n","'use strict'\n\nmodule.exports = promql\npromql.displayName = 'promql'\npromql.aliases = []\nfunction promql(Prism) {\n // Thanks to: https://github.com/prometheus-community/monaco-promql/blob/master/src/promql/promql.ts\n // As well as: https://kausal.co/blog/slate-prism-add-new-syntax-promql/\n ;(function (Prism) {\n // PromQL Aggregation Operators\n // (https://prometheus.io/docs/prometheus/latest/querying/operators/#aggregation-operators)\n var aggregations = [\n 'sum',\n 'min',\n 'max',\n 'avg',\n 'group',\n 'stddev',\n 'stdvar',\n 'count',\n 'count_values',\n 'bottomk',\n 'topk',\n 'quantile'\n ] // PromQL vector matching + the by and without clauses\n // (https://prometheus.io/docs/prometheus/latest/querying/operators/#vector-matching)\n var vectorMatching = [\n 'on',\n 'ignoring',\n 'group_right',\n 'group_left',\n 'by',\n 'without'\n ] // PromQL offset modifier\n // (https://prometheus.io/docs/prometheus/latest/querying/basics/#offset-modifier)\n var offsetModifier = ['offset']\n var keywords = aggregations.concat(vectorMatching, offsetModifier)\n Prism.languages.promql = {\n comment: {\n pattern: /(^[ \\t]*)#.*/m,\n lookbehind: true\n },\n 'vector-match': {\n // Match the comma-separated label lists inside vector matching:\n pattern: new RegExp(\n '((?:' + vectorMatching.join('|') + ')\\\\s*)\\\\([^)]*\\\\)'\n ),\n lookbehind: true,\n inside: {\n 'label-key': {\n pattern: /\\b[^,]+\\b/,\n alias: 'attr-name'\n },\n punctuation: /[(),]/\n }\n },\n 'context-labels': {\n pattern: /\\{[^{}]*\\}/,\n inside: {\n 'label-key': {\n pattern: /\\b[a-z_]\\w*(?=\\s*(?:=|![=~]))/,\n alias: 'attr-name'\n },\n 'label-value': {\n pattern: /([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n greedy: true,\n alias: 'attr-value'\n },\n punctuation: /\\{|\\}|=~?|![=~]|,/\n }\n },\n 'context-range': [\n {\n pattern: /\\[[\\w\\s:]+\\]/,\n // [1m]\n inside: {\n punctuation: /\\[|\\]|:/,\n 'range-duration': {\n pattern: /\\b(?:\\d+(?:[smhdwy]|ms))+\\b/i,\n alias: 'number'\n }\n }\n },\n {\n pattern: /(\\boffset\\s+)\\w+/,\n // offset 1m\n lookbehind: true,\n inside: {\n 'range-duration': {\n pattern: /\\b(?:\\d+(?:[smhdwy]|ms))+\\b/i,\n alias: 'number'\n }\n }\n }\n ],\n keyword: new RegExp('\\\\b(?:' + keywords.join('|') + ')\\\\b', 'i'),\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n number:\n /[-+]?(?:(?:\\b\\d+(?:\\.\\d+)?|\\B\\.\\d+)(?:e[-+]?\\d+)?\\b|\\b(?:0x[0-9a-f]+|nan|inf)\\b)/i,\n operator: /[\\^*/%+-]|==|!=|<=|<|>=|>|\\b(?:and|or|unless)\\b/i,\n punctuation: /[{};()`,.[\\]]/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = properties\nproperties.displayName = 'properties'\nproperties.aliases = []\nfunction properties(Prism) {\n Prism.languages.properties = {\n comment: /^[ \\t]*[#!].*$/m,\n 'attr-value': {\n pattern:\n /(^[ \\t]*(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\s:=])+(?: *[=:] *(?! )| ))(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n])+/m,\n lookbehind: true\n },\n 'attr-name': /^[ \\t]*(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\s:=])+(?= *[=:]| )/m,\n punctuation: /[=:]/\n }\n}\n","'use strict'\n\nmodule.exports = protobuf\nprotobuf.displayName = 'protobuf'\nprotobuf.aliases = []\nfunction protobuf(Prism) {\n ;(function (Prism) {\n var builtinTypes =\n /\\b(?:bool|bytes|double|s?fixed(?:32|64)|float|[su]?int(?:32|64)|string)\\b/\n Prism.languages.protobuf = Prism.languages.extend('clike', {\n 'class-name': [\n {\n pattern:\n /(\\b(?:enum|extend|message|service)\\s+)[A-Za-z_]\\w*(?=\\s*\\{)/,\n lookbehind: true\n },\n {\n pattern:\n /(\\b(?:rpc\\s+\\w+|returns)\\s*\\(\\s*(?:stream\\s+)?)\\.?[A-Za-z_]\\w*(?:\\.[A-Za-z_]\\w*)*(?=\\s*\\))/,\n lookbehind: true\n }\n ],\n keyword:\n /\\b(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\\s+\\w)|service|stream|syntax|to)\\b(?!\\s*=\\s*\\d)/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i\n })\n Prism.languages.insertBefore('protobuf', 'operator', {\n map: {\n pattern: /\\bmap<\\s*[\\w.]+\\s*,\\s*[\\w.]+\\s*>(?=\\s+[a-z_]\\w*\\s*[=;])/i,\n alias: 'class-name',\n inside: {\n punctuation: /[<>.,]/,\n builtin: builtinTypes\n }\n },\n builtin: builtinTypes,\n 'positional-class-name': {\n pattern: /(?:\\b|\\B\\.)[a-z_]\\w*(?:\\.[a-z_]\\w*)*(?=\\s+[a-z_]\\w*\\s*[=;])/i,\n alias: 'class-name',\n inside: {\n punctuation: /\\./\n }\n },\n annotation: {\n pattern: /(\\[\\s*)[a-z_]\\w*(?=\\s*=)/i,\n lookbehind: true\n }\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = psl\npsl.displayName = 'psl'\npsl.aliases = []\nfunction psl(Prism) {\n Prism.languages.psl = {\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"])*\"/,\n greedy: true,\n inside: {\n symbol: /\\\\[ntrbA-Z\"\\\\]/\n }\n },\n 'heredoc-string': {\n pattern: /<<<([a-zA-Z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?\\1\\b/,\n alias: 'string',\n greedy: true\n },\n keyword:\n /\\b(?:__multi|__single|case|default|do|else|elsif|exit|export|for|foreach|function|if|last|line|local|next|requires|return|switch|until|while|word)\\b/,\n constant:\n /\\b(?:ALARM|CHART_ADD_GRAPH|CHART_DELETE_GRAPH|CHART_DESTROY|CHART_LOAD|CHART_PRINT|EOF|OFFLINE|OK|PSL_PROF_LOG|R_CHECK_HORIZ|R_CHECK_VERT|R_CLICKER|R_COLUMN|R_FRAME|R_ICON|R_LABEL|R_LABEL_CENTER|R_LIST_MULTIPLE|R_LIST_MULTIPLE_ND|R_LIST_SINGLE|R_LIST_SINGLE_ND|R_MENU|R_POPUP|R_POPUP_SCROLLED|R_RADIO_HORIZ|R_RADIO_VERT|R_ROW|R_SCALE_HORIZ|R_SCALE_VERT|R_SEP_HORIZ|R_SEP_VERT|R_SPINNER|R_TEXT_FIELD|R_TEXT_FIELD_LABEL|R_TOGGLE|TRIM_LEADING|TRIM_LEADING_AND_TRAILING|TRIM_REDUNDANT|TRIM_TRAILING|VOID|WARN)\\b/,\n boolean: /\\b(?:FALSE|False|NO|No|TRUE|True|YES|Yes|false|no|true|yes)\\b/,\n variable: /\\b(?:PslDebug|errno|exit_status)\\b/,\n builtin: {\n pattern:\n /\\b(?:PslExecute|PslFunctionCall|PslFunctionExists|PslSetOptions|_snmp_debug|acos|add_diary|annotate|annotate_get|ascii_to_ebcdic|asctime|asin|atan|atexit|batch_set|blackout|cat|ceil|chan_exists|change_state|close|code_cvt|cond_signal|cond_wait|console_type|convert_base|convert_date|convert_locale_date|cos|cosh|create|date|dcget_text|destroy|destroy_lock|dget_text|difference|dump_hist|ebcdic_to_ascii|encrypt|event_archive|event_catalog_get|event_check|event_query|event_range_manage|event_range_query|event_report|event_schedule|event_trigger|event_trigger2|execute|exists|exp|fabs|file|floor|fmod|fopen|fseek|ftell|full_discovery|get|get_chan_info|get_ranges|get_text|get_vars|getenv|gethostinfo|getpid|getpname|grep|history|history_get_retention|in_transition|index|int|internal|intersection|is_var|isnumber|join|kill|length|lines|lock|lock_info|log|log10|loge|matchline|msg_check|msg_get_format|msg_get_severity|msg_printf|msg_sprintf|ntharg|nthargf|nthline|nthlinef|num_bytes|num_consoles|pconfig|popen|poplines|pow|print|printf|proc_exists|process|random|read|readln|refresh_parameters|remote_check|remote_close|remote_event_query|remote_event_trigger|remote_file_send|remote_open|remove|replace|rindex|sec_check_priv|sec_store_get|sec_store_set|set|set_alarm_ranges|set_locale|share|sin|sinh|sleep|snmp_agent_config|snmp_agent_start|snmp_agent_stop|snmp_close|snmp_config|snmp_get|snmp_get_next|snmp_h_get|snmp_h_get_next|snmp_h_set|snmp_open|snmp_set|snmp_trap_ignore|snmp_trap_listen|snmp_trap_raise_std_trap|snmp_trap_receive|snmp_trap_register_im|snmp_trap_send|snmp_walk|sopen|sort|splitline|sprintf|sqrt|srandom|str_repeat|strcasecmp|subset|substr|system|tail|tan|tanh|text_domain|time|tmpnam|tolower|toupper|trace_psl_process|trim|union|unique|unlock|unset|va_arg|va_start|write)\\b/,\n alias: 'builtin-function'\n },\n 'foreach-variable': {\n pattern:\n /(\\bforeach\\s+(?:(?:\\w+\\b|\"(?:\\\\.|[^\\\\\"])*\")\\s+){0,2})[_a-zA-Z]\\w*(?=\\s*\\()/,\n lookbehind: true,\n greedy: true\n },\n function: /\\b[_a-z]\\w*\\b(?=\\s*\\()/i,\n number: /\\b(?:0x[0-9a-f]+|\\d+(?:\\.\\d+)?)\\b/i,\n operator: /--|\\+\\+|&&=?|\\|\\|=?|<<=?|>>=?|[=!]~|[-+*/%&|^!=<>]=?|\\.|[:?]/,\n punctuation: /[(){}\\[\\];,]/\n }\n}\n","'use strict'\n\nmodule.exports = pug\npug.displayName = 'pug'\npug.aliases = []\nfunction pug(Prism) {\n ;(function (Prism) {\n // TODO:\n // - Add CSS highlighting inside <style> tags\n // - Add support for multi-line code blocks\n // - Add support for interpolation #{} and !{}\n // - Add support for tag interpolation #[]\n // - Add explicit support for plain text using |\n // - Add support for markup embedded in plain text\n Prism.languages.pug = {\n // Multiline stuff should appear before the rest\n // This handles both single-line and multi-line comments\n comment: {\n pattern: /(^([\\t ]*))\\/\\/.*(?:(?:\\r?\\n|\\r)\\2[\\t ].+)*/m,\n lookbehind: true\n },\n // All the tag-related part is in lookbehind\n // so that it can be highlighted by the \"tag\" pattern\n 'multiline-script': {\n pattern:\n /(^([\\t ]*)script\\b.*\\.[\\t ]*)(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+/m,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n // See at the end of the file for known filters\n filter: {\n pattern:\n /(^([\\t ]*)):.+(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+/m,\n lookbehind: true,\n inside: {\n 'filter-name': {\n pattern: /^:[\\w-]+/,\n alias: 'variable'\n },\n text: /\\S[\\s\\S]*/\n }\n },\n 'multiline-plain-text': {\n pattern:\n /(^([\\t ]*)[\\w\\-#.]+\\.[\\t ]*)(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+/m,\n lookbehind: true\n },\n markup: {\n pattern: /(^[\\t ]*)<.+/m,\n lookbehind: true,\n inside: Prism.languages.markup\n },\n doctype: {\n pattern: /((?:^|\\n)[\\t ]*)doctype(?: .+)?/,\n lookbehind: true\n },\n // This handle all conditional and loop keywords\n 'flow-control': {\n pattern:\n /(^[\\t ]*)(?:case|default|each|else|if|unless|when|while)\\b(?: .+)?/m,\n lookbehind: true,\n inside: {\n each: {\n pattern: /^each .+? in\\b/,\n inside: {\n keyword: /\\b(?:each|in)\\b/,\n punctuation: /,/\n }\n },\n branch: {\n pattern: /^(?:case|default|else|if|unless|when|while)\\b/,\n alias: 'keyword'\n },\n rest: Prism.languages.javascript\n }\n },\n keyword: {\n pattern: /(^[\\t ]*)(?:append|block|extends|include|prepend)\\b.+/m,\n lookbehind: true\n },\n mixin: [\n // Declaration\n {\n pattern: /(^[\\t ]*)mixin .+/m,\n lookbehind: true,\n inside: {\n keyword: /^mixin/,\n function: /\\w+(?=\\s*\\(|\\s*$)/,\n punctuation: /[(),.]/\n }\n }, // Usage\n {\n pattern: /(^[\\t ]*)\\+.+/m,\n lookbehind: true,\n inside: {\n name: {\n pattern: /^\\+\\w+/,\n alias: 'function'\n },\n rest: Prism.languages.javascript\n }\n }\n ],\n script: {\n pattern: /(^[\\t ]*script(?:(?:&[^(]+)?\\([^)]+\\))*[\\t ]).+/m,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n 'plain-text': {\n pattern:\n /(^[\\t ]*(?!-)[\\w\\-#.]*[\\w\\-](?:(?:&[^(]+)?\\([^)]+\\))*\\/?[\\t ]).+/m,\n lookbehind: true\n },\n tag: {\n pattern: /(^[\\t ]*)(?!-)[\\w\\-#.]*[\\w\\-](?:(?:&[^(]+)?\\([^)]+\\))*\\/?:?/m,\n lookbehind: true,\n inside: {\n attributes: [\n {\n pattern: /&[^(]+\\([^)]+\\)/,\n inside: Prism.languages.javascript\n },\n {\n pattern: /\\([^)]+\\)/,\n inside: {\n 'attr-value': {\n pattern: /(=\\s*(?!\\s))(?:\\{[^}]*\\}|[^,)\\r\\n]+)/,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n 'attr-name': /[\\w-]+(?=\\s*!?=|\\s*[,)])/,\n punctuation: /[!=(),]+/\n }\n }\n ],\n punctuation: /:/,\n 'attr-id': /#[\\w\\-]+/,\n 'attr-class': /\\.[\\w\\-]+/\n }\n },\n code: [\n {\n pattern: /(^[\\t ]*(?:-|!?=)).+/m,\n lookbehind: true,\n inside: Prism.languages.javascript\n }\n ],\n punctuation: /[.\\-!=|]+/\n }\n var filter_pattern =\n /(^([\\t ]*)):<filter_name>(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+/\n .source // Non exhaustive list of available filters and associated languages\n var filters = [\n {\n filter: 'atpl',\n language: 'twig'\n },\n {\n filter: 'coffee',\n language: 'coffeescript'\n },\n 'ejs',\n 'handlebars',\n 'less',\n 'livescript',\n 'markdown',\n {\n filter: 'sass',\n language: 'scss'\n },\n 'stylus'\n ]\n var all_filters = {}\n for (var i = 0, l = filters.length; i < l; i++) {\n var filter = filters[i]\n filter =\n typeof filter === 'string'\n ? {\n filter: filter,\n language: filter\n }\n : filter\n if (Prism.languages[filter.language]) {\n all_filters['filter-' + filter.filter] = {\n pattern: RegExp(\n filter_pattern.replace('<filter_name>', function () {\n return filter.filter\n }),\n 'm'\n ),\n lookbehind: true,\n inside: {\n 'filter-name': {\n pattern: /^:[\\w-]+/,\n alias: 'variable'\n },\n text: {\n pattern: /\\S[\\s\\S]*/,\n alias: [filter.language, 'language-' + filter.language],\n inside: Prism.languages[filter.language]\n }\n }\n }\n }\n }\n Prism.languages.insertBefore('pug', 'filter', all_filters)\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = puppet\npuppet.displayName = 'puppet'\npuppet.aliases = []\nfunction puppet(Prism) {\n ;(function (Prism) {\n Prism.languages.puppet = {\n heredoc: [\n // Matches the content of a quoted heredoc string (subject to interpolation)\n {\n pattern:\n /(@\\(\"([^\"\\r\\n\\/):]+)\"(?:\\/[nrts$uL]*)?\\).*(?:\\r?\\n|\\r))(?:.*(?:\\r?\\n|\\r(?!\\n)))*?[ \\t]*(?:\\|[ \\t]*)?(?:-[ \\t]*)?\\2/,\n lookbehind: true,\n alias: 'string',\n inside: {\n // Matches the end tag\n punctuation: /(?=\\S).*\\S(?= *$)/ // See interpolation below\n }\n }, // Matches the content of an unquoted heredoc string (no interpolation)\n {\n pattern:\n /(@\\(([^\"\\r\\n\\/):]+)(?:\\/[nrts$uL]*)?\\).*(?:\\r?\\n|\\r))(?:.*(?:\\r?\\n|\\r(?!\\n)))*?[ \\t]*(?:\\|[ \\t]*)?(?:-[ \\t]*)?\\2/,\n lookbehind: true,\n greedy: true,\n alias: 'string',\n inside: {\n // Matches the end tag\n punctuation: /(?=\\S).*\\S(?= *$)/\n }\n }, // Matches the start tag of heredoc strings\n {\n pattern: /@\\(\"?(?:[^\"\\r\\n\\/):]+)\"?(?:\\/[nrts$uL]*)?\\)/,\n alias: 'string',\n inside: {\n punctuation: {\n pattern: /(\\().+?(?=\\))/,\n lookbehind: true\n }\n }\n }\n ],\n 'multiline-comment': {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n lookbehind: true,\n greedy: true,\n alias: 'comment'\n },\n regex: {\n // Must be prefixed with the keyword \"node\" or a non-word char\n pattern:\n /((?:\\bnode\\s+|[~=\\(\\[\\{,]\\s*|[=+]>\\s*|^\\s*))\\/(?:[^\\/\\\\]|\\\\[\\s\\S])+\\/(?:[imx]+\\b|\\B)/,\n lookbehind: true,\n greedy: true,\n inside: {\n // Extended regexes must have the x flag. They can contain single-line comments.\n 'extended-regex': {\n pattern: /^\\/(?:[^\\/\\\\]|\\\\[\\s\\S])+\\/[im]*x[im]*$/,\n inside: {\n comment: /#.*/\n }\n }\n }\n },\n comment: {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: true,\n greedy: true\n },\n string: {\n // Allow for one nested level of double quotes inside interpolation\n pattern:\n /([\"'])(?:\\$\\{(?:[^'\"}]|([\"'])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2)+\\}|\\$(?!\\{)|(?!\\1)[^\\\\$]|\\\\[\\s\\S])*\\1/,\n greedy: true,\n inside: {\n 'double-quoted': {\n pattern: /^\"[\\s\\S]*\"$/,\n inside: {\n // See interpolation below\n }\n }\n }\n },\n variable: {\n pattern: /\\$(?:::)?\\w+(?:::\\w+)*/,\n inside: {\n punctuation: /::/\n }\n },\n 'attr-name': /(?:\\b\\w+|\\*)(?=\\s*=>)/,\n function: [\n {\n pattern: /(\\.)(?!\\d)\\w+/,\n lookbehind: true\n },\n /\\b(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\\b|\\b(?!\\d)\\w+(?=\\()/\n ],\n number: /\\b(?:0x[a-f\\d]+|\\d+(?:\\.\\d+)?(?:e-?\\d+)?)\\b/i,\n boolean: /\\b(?:false|true)\\b/,\n // Includes words reserved for future use\n keyword:\n /\\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\\b/,\n datatype: {\n pattern:\n /\\b(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)\\b/,\n alias: 'symbol'\n },\n operator:\n /=[=~>]?|![=~]?|<(?:<\\|?|[=~|-])?|>[>=]?|->?|~>|\\|>?>?|[*\\/%+?]|\\b(?:and|in|or)\\b/,\n punctuation: /[\\[\\]{}().,;]|:+/\n }\n var interpolation = [\n {\n // Allow for one nested level of braces inside interpolation\n pattern:\n /(^|[^\\\\])\\$\\{(?:[^'\"{}]|\\{[^}]*\\}|([\"'])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2)+\\}/,\n lookbehind: true,\n inside: {\n 'short-variable': {\n // Negative look-ahead prevent wrong highlighting of functions\n pattern: /(^\\$\\{)(?!\\w+\\()(?:::)?\\w+(?:::\\w+)*/,\n lookbehind: true,\n alias: 'variable',\n inside: {\n punctuation: /::/\n }\n },\n delimiter: {\n pattern: /^\\$/,\n alias: 'variable'\n },\n rest: Prism.languages.puppet\n }\n },\n {\n pattern: /(^|[^\\\\])\\$(?:::)?\\w+(?:::\\w+)*/,\n lookbehind: true,\n alias: 'variable',\n inside: {\n punctuation: /::/\n }\n }\n ]\n Prism.languages.puppet['heredoc'][0].inside.interpolation = interpolation\n Prism.languages.puppet['string'].inside[\n 'double-quoted'\n ].inside.interpolation = interpolation\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = pure\npure.displayName = 'pure'\npure.aliases = []\nfunction pure(Prism) {\n ;(function (Prism) {\n // https://agraef.github.io/pure-docs/pure.html#lexical-matters\n Prism.languages.pure = {\n comment: [\n {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n lookbehind: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true\n },\n /#!.+/\n ],\n 'inline-lang': {\n pattern: /%<[\\s\\S]+?%>/,\n greedy: true,\n inside: {\n lang: {\n pattern: /(^%< *)-\\*-.+?-\\*-/,\n lookbehind: true,\n alias: 'comment'\n },\n delimiter: {\n pattern: /^%<.*|%>$/,\n alias: 'punctuation'\n }\n }\n },\n string: {\n pattern: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n greedy: true\n },\n number: {\n // The look-behind prevents wrong highlighting of the .. operator\n pattern:\n /((?:\\.\\.)?)(?:\\b(?:inf|nan)\\b|\\b0x[\\da-f]+|(?:\\b(?:0b)?\\d+(?:\\.\\d+)?|\\B\\.\\d+)(?:e[+-]?\\d+)?L?)/i,\n lookbehind: true\n },\n keyword:\n /\\b(?:NULL|ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)\\b/,\n function:\n /\\b(?:abs|add_(?:addr|constdef|(?:fundef|interface|macdef|typedef)(?:_at)?|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_c?string(?:_pointer)?|byte_(?:matrix|pointer)|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float(?:_matrix|_pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|sentry|short|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)\\b/,\n special: {\n pattern: /\\b__[a-z]+__\\b/i,\n alias: 'builtin'\n },\n // Any combination of operator chars can be an operator\n // eslint-disable-next-line no-misleading-character-class\n operator:\n /(?:[!\"#$%&'*+,\\-.\\/:<=>?@\\\\^`|~\\u00a1-\\u00bf\\u00d7-\\u00f7\\u20d0-\\u2bff]|\\b_+\\b)+|\\b(?:and|div|mod|not|or)\\b/,\n // FIXME: How can we prevent | and , to be highlighted as operator when they are used alone?\n punctuation: /[(){}\\[\\];,|]/\n }\n var inlineLanguages = [\n 'c',\n {\n lang: 'c++',\n alias: 'cpp'\n },\n 'fortran'\n ]\n var inlineLanguageRe = /%< *-\\*- *<lang>\\d* *-\\*-[\\s\\S]+?%>/.source\n inlineLanguages.forEach(function (lang) {\n var alias = lang\n if (typeof lang !== 'string') {\n alias = lang.alias\n lang = lang.lang\n }\n if (Prism.languages[alias]) {\n var o = {}\n o['inline-lang-' + alias] = {\n pattern: RegExp(\n inlineLanguageRe.replace(\n '<lang>',\n lang.replace(/([.+*?\\/\\\\(){}\\[\\]])/g, '\\\\$1')\n ),\n 'i'\n ),\n inside: Prism.util.clone(Prism.languages.pure['inline-lang'].inside)\n }\n o['inline-lang-' + alias].inside.rest = Prism.util.clone(\n Prism.languages[alias]\n )\n Prism.languages.insertBefore('pure', 'inline-lang', o)\n }\n }) // C is the default inline language\n if (Prism.languages.c) {\n Prism.languages.pure['inline-lang'].inside.rest = Prism.util.clone(\n Prism.languages.c\n )\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = purebasic\npurebasic.displayName = 'purebasic'\npurebasic.aliases = []\nfunction purebasic(Prism) {\n /*\nOriginal Code by Bas Groothedde\n!!MANY THANKS!! I never would have made this, regex and me will never be best friends ;)\n==> https://codepen.io/ImagineProgramming/details/JYydBy/\nslightly changed to pass all tests\n*/\n // PureBasic support, steal stuff from ansi-c\n Prism.languages.purebasic = Prism.languages.extend('clike', {\n comment: /;.*/,\n keyword:\n /\\b(?:align|and|as|break|calldebugger|case|compilercase|compilerdefault|compilerelse|compilerelseif|compilerendif|compilerendselect|compilererror|compilerif|compilerselect|continue|data|datasection|debug|debuglevel|declare|declarec|declarecdll|declaredll|declaremodule|default|define|dim|disableasm|disabledebugger|disableexplicit|else|elseif|enableasm|enabledebugger|enableexplicit|end|enddatasection|enddeclaremodule|endenumeration|endif|endimport|endinterface|endmacro|endmodule|endprocedure|endselect|endstructure|endstructureunion|endwith|enumeration|extends|fakereturn|for|foreach|forever|global|gosub|goto|if|import|importc|includebinary|includefile|includepath|interface|macro|module|newlist|newmap|next|not|or|procedure|procedurec|procedurecdll|proceduredll|procedurereturn|protected|prototype|prototypec|read|redim|repeat|restore|return|runtime|select|shared|static|step|structure|structureunion|swap|threaded|to|until|wend|while|with|xincludefile|xor)\\b/i,\n function: /\\b\\w+(?:\\.\\w+)?\\s*(?=\\()/,\n number: /(?:\\$[\\da-f]+|\\b-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:e[+-]?\\d+)?)\\b/i,\n operator:\n /(?:@\\*?|\\?|\\*)\\w+|-[>-]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|?\\||[~^%?*/@]/\n })\n Prism.languages.insertBefore('purebasic', 'keyword', {\n tag: /#\\w+\\$?/,\n asm: {\n pattern: /(^[\\t ]*)!.*/m,\n lookbehind: true,\n alias: 'tag',\n inside: {\n comment: /;.*/,\n string: {\n pattern: /([\"'`])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n // Anonymous label references, i.e.: jmp @b\n 'label-reference-anonymous': {\n pattern: /(!\\s*j[a-z]+\\s+)@[fb]/i,\n lookbehind: true,\n alias: 'fasm-label'\n },\n // Named label reference, i.e.: jne label1\n 'label-reference-addressed': {\n pattern: /(!\\s*j[a-z]+\\s+)[A-Z._?$@][\\w.?$@~#]*/i,\n lookbehind: true,\n alias: 'fasm-label'\n },\n keyword: [\n /\\b(?:extern|global)\\b[^;\\r\\n]*/i,\n /\\b(?:CPU|DEFAULT|FLOAT)\\b.*/\n ],\n function: {\n pattern: /^([\\t ]*!\\s*)[\\da-z]+(?=\\s|$)/im,\n lookbehind: true\n },\n 'function-inline': {\n pattern: /(:\\s*)[\\da-z]+(?=\\s)/i,\n lookbehind: true,\n alias: 'function'\n },\n label: {\n pattern: /^([\\t ]*!\\s*)[A-Za-z._?$@][\\w.?$@~#]*(?=:)/m,\n lookbehind: true,\n alias: 'fasm-label'\n },\n register:\n /\\b(?:st\\d|[xyz]mm\\d\\d?|[cdt]r\\d|r\\d\\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|di|si|sp)|[cdefgs]s|mm\\d+)\\b/i,\n number:\n /(?:\\b|-|(?=\\$))(?:0[hx](?:[\\da-f]*\\.)?[\\da-f]+(?:p[+-]?\\d+)?|\\d[\\da-f]+[hx]|\\$\\d[\\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\\d+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:\\.?e[+-]?\\d+)?[dt]?)\\b/i,\n operator: /[\\[\\]*+\\-/%<>=&|$!,.:]/\n }\n }\n })\n delete Prism.languages.purebasic['class-name']\n delete Prism.languages.purebasic['boolean']\n Prism.languages.pbfasm = Prism.languages['purebasic']\n}\n","'use strict'\nvar refractorHaskell = require('./haskell.js')\nmodule.exports = purescript\npurescript.displayName = 'purescript'\npurescript.aliases = ['purs']\nfunction purescript(Prism) {\n Prism.register(refractorHaskell)\n Prism.languages.purescript = Prism.languages.extend('haskell', {\n keyword:\n /\\b(?:ado|case|class|data|derive|do|else|forall|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\\b|∀/,\n 'import-statement': {\n // The imported or hidden names are not included in this import\n // statement. This is because we want to highlight those exactly like\n // we do for the names in the program.\n pattern:\n /(^[\\t ]*)import\\s+[A-Z][\\w']*(?:\\.[A-Z][\\w']*)*(?:\\s+as\\s+[A-Z][\\w']*(?:\\.[A-Z][\\w']*)*)?(?:\\s+hiding\\b)?/m,\n lookbehind: true,\n inside: {\n keyword: /\\b(?:as|hiding|import)\\b/,\n punctuation: /\\./\n }\n },\n // These are builtin functions only. Constructors are highlighted later as a constant.\n builtin:\n /\\b(?:absurd|add|ap|append|apply|between|bind|bottom|clamp|compare|comparing|compose|conj|const|degree|discard|disj|div|eq|flap|flip|gcd|identity|ifM|join|lcm|liftA1|liftM1|map|max|mempty|min|mod|mul|negate|not|notEq|one|otherwise|recip|show|sub|top|unit|unless|unlessM|void|when|whenM|zero)\\b/,\n operator: [\n // Infix operators\n Prism.languages.haskell.operator[0], // ASCII operators\n Prism.languages.haskell.operator[2], // All UTF16 Unicode operator symbols\n // This regex is equivalent to /(?=[\\x80-\\uFFFF])[\\p{gc=Math_Symbol}\\p{gc=Currency_Symbol}\\p{Modifier_Symbol}\\p{Other_Symbol}]/u\n // See https://github.com/PrismJS/prism/issues/3006 for more details.\n /[\\xa2-\\xa6\\xa8\\xa9\\xac\\xae-\\xb1\\xb4\\xb8\\xd7\\xf7\\u02c2-\\u02c5\\u02d2-\\u02df\\u02e5-\\u02eb\\u02ed\\u02ef-\\u02ff\\u0375\\u0384\\u0385\\u03f6\\u0482\\u058d-\\u058f\\u0606-\\u0608\\u060b\\u060e\\u060f\\u06de\\u06e9\\u06fd\\u06fe\\u07f6\\u07fe\\u07ff\\u09f2\\u09f3\\u09fa\\u09fb\\u0af1\\u0b70\\u0bf3-\\u0bfa\\u0c7f\\u0d4f\\u0d79\\u0e3f\\u0f01-\\u0f03\\u0f13\\u0f15-\\u0f17\\u0f1a-\\u0f1f\\u0f34\\u0f36\\u0f38\\u0fbe-\\u0fc5\\u0fc7-\\u0fcc\\u0fce\\u0fcf\\u0fd5-\\u0fd8\\u109e\\u109f\\u1390-\\u1399\\u166d\\u17db\\u1940\\u19de-\\u19ff\\u1b61-\\u1b6a\\u1b74-\\u1b7c\\u1fbd\\u1fbf-\\u1fc1\\u1fcd-\\u1fcf\\u1fdd-\\u1fdf\\u1fed-\\u1fef\\u1ffd\\u1ffe\\u2044\\u2052\\u207a-\\u207c\\u208a-\\u208c\\u20a0-\\u20bf\\u2100\\u2101\\u2103-\\u2106\\u2108\\u2109\\u2114\\u2116-\\u2118\\u211e-\\u2123\\u2125\\u2127\\u2129\\u212e\\u213a\\u213b\\u2140-\\u2144\\u214a-\\u214d\\u214f\\u218a\\u218b\\u2190-\\u2307\\u230c-\\u2328\\u232b-\\u2426\\u2440-\\u244a\\u249c-\\u24e9\\u2500-\\u2767\\u2794-\\u27c4\\u27c7-\\u27e5\\u27f0-\\u2982\\u2999-\\u29d7\\u29dc-\\u29fb\\u29fe-\\u2b73\\u2b76-\\u2b95\\u2b97-\\u2bff\\u2ce5-\\u2cea\\u2e50\\u2e51\\u2e80-\\u2e99\\u2e9b-\\u2ef3\\u2f00-\\u2fd5\\u2ff0-\\u2ffb\\u3004\\u3012\\u3013\\u3020\\u3036\\u3037\\u303e\\u303f\\u309b\\u309c\\u3190\\u3191\\u3196-\\u319f\\u31c0-\\u31e3\\u3200-\\u321e\\u322a-\\u3247\\u3250\\u3260-\\u327f\\u328a-\\u32b0\\u32c0-\\u33ff\\u4dc0-\\u4dff\\ua490-\\ua4c6\\ua700-\\ua716\\ua720\\ua721\\ua789\\ua78a\\ua828-\\ua82b\\ua836-\\ua839\\uaa77-\\uaa79\\uab5b\\uab6a\\uab6b\\ufb29\\ufbb2-\\ufbc1\\ufdfc\\ufdfd\\ufe62\\ufe64-\\ufe66\\ufe69\\uff04\\uff0b\\uff1c-\\uff1e\\uff3e\\uff40\\uff5c\\uff5e\\uffe0-\\uffe6\\uffe8-\\uffee\\ufffc\\ufffd]/\n ]\n })\n Prism.languages.purs = Prism.languages.purescript\n}\n","'use strict'\n\nmodule.exports = python\npython.displayName = 'python'\npython.aliases = ['py']\nfunction python(Prism) {\n Prism.languages.python = {\n comment: {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: true,\n greedy: true\n },\n 'string-interpolation': {\n pattern:\n /(?:f|fr|rf)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,\n greedy: true,\n inside: {\n interpolation: {\n // \"{\" <expression> <optional \"!s\", \"!r\", or \"!a\"> <optional \":\" format specifier> \"}\"\n pattern:\n /((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/,\n lookbehind: true,\n inside: {\n 'format-spec': {\n pattern: /(:)[^:(){}]+(?=\\}$)/,\n lookbehind: true\n },\n 'conversion-option': {\n pattern: /![sra](?=[:}]$)/,\n alias: 'punctuation'\n },\n rest: null\n }\n },\n string: /[\\s\\S]+/\n }\n },\n 'triple-quoted-string': {\n pattern: /(?:[rub]|br|rb)?(\"\"\"|''')[\\s\\S]*?\\1/i,\n greedy: true,\n alias: 'string'\n },\n string: {\n pattern: /(?:[rub]|br|rb)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,\n greedy: true\n },\n function: {\n pattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,\n lookbehind: true\n },\n 'class-name': {\n pattern: /(\\bclass\\s+)\\w+/i,\n lookbehind: true\n },\n decorator: {\n pattern: /(^[\\t ]*)@\\w+(?:\\.\\w+)*/m,\n lookbehind: true,\n alias: ['annotation', 'punctuation'],\n inside: {\n punctuation: /\\./\n }\n },\n keyword:\n /\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,\n builtin:\n /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,\n boolean: /\\b(?:False|None|True)\\b/,\n number:\n /\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i,\n operator: /[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n punctuation: /[{}[\\];(),.:]/\n }\n Prism.languages.python['string-interpolation'].inside[\n 'interpolation'\n ].inside.rest = Prism.languages.python\n Prism.languages.py = Prism.languages.python\n}\n","'use strict'\n\nmodule.exports = q\nq.displayName = 'q'\nq.aliases = []\nfunction q(Prism) {\n Prism.languages.q = {\n string: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n comment: [\n // From http://code.kx.com/wiki/Reference/Slash:\n // When / is following a space (or a right parenthesis, bracket, or brace), it is ignored with the rest of the line.\n {\n pattern: /([\\t )\\]}])\\/.*/,\n lookbehind: true,\n greedy: true\n }, // From http://code.kx.com/wiki/Reference/Slash:\n // A line which has / as its first character and contains at least one other non-whitespace character is a whole-line comment and is ignored entirely.\n // A / on a line by itself begins a multiline comment which is terminated by the next \\ on a line by itself.\n // If a / is not matched by a \\, the multiline comment is unterminated and continues to end of file.\n // The / and \\ must be the first char on the line, but may be followed by any amount of whitespace.\n {\n pattern:\n /(^|\\r?\\n|\\r)\\/[\\t ]*(?:(?:\\r?\\n|\\r)(?:.*(?:\\r?\\n|\\r(?!\\n)))*?(?:\\\\(?=[\\t ]*(?:\\r?\\n|\\r))|$)|\\S.*)/,\n lookbehind: true,\n greedy: true\n }, // From http://code.kx.com/wiki/Reference/Slash:\n // A \\ on a line by itself with no preceding matching / will comment to end of file.\n {\n pattern: /^\\\\[\\t ]*(?:\\r?\\n|\\r)[\\s\\S]+/m,\n greedy: true\n },\n {\n pattern: /^#!.+/m,\n greedy: true\n }\n ],\n symbol: /`(?::\\S+|[\\w.]*)/,\n datetime: {\n pattern:\n /0N[mdzuvt]|0W[dtz]|\\d{4}\\.\\d\\d(?:m|\\.\\d\\d(?:T(?:\\d\\d(?::\\d\\d(?::\\d\\d(?:[.:]\\d\\d\\d)?)?)?)?)?[dz]?)|\\d\\d:\\d\\d(?::\\d\\d(?:[.:]\\d\\d\\d)?)?[uvt]?/,\n alias: 'number'\n },\n // The negative look-ahead prevents bad highlighting\n // of verbs 0: and 1:\n number:\n /\\b(?![01]:)(?:0N[hje]?|0W[hj]?|0[wn]|0x[\\da-fA-F]+|\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?[hjfeb]?)/,\n keyword:\n /\\\\\\w+\\b|\\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\\b/,\n adverb: {\n pattern: /['\\/\\\\]:?|\\beach\\b/,\n alias: 'function'\n },\n verb: {\n pattern: /(?:\\B\\.\\B|\\b[01]:|<[=>]?|>=?|[:+\\-*%,!?~=|$&#@^]):?|\\b_\\b:?/,\n alias: 'operator'\n },\n punctuation: /[(){}\\[\\];.]/\n }\n}\n","'use strict'\n\nmodule.exports = qml\nqml.displayName = 'qml'\nqml.aliases = []\nfunction qml(Prism) {\n ;(function (Prism) {\n var jsString = /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|'(?:\\\\.|[^\\\\'\\r\\n])*'/.source\n var jsComment = /\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\//.source\n var jsExpr =\n /(?:[^\\\\()[\\]{}\"'/]|<string>|\\/(?![*/])|<comment>|\\(<expr>*\\)|\\[<expr>*\\]|\\{<expr>*\\}|\\\\[\\s\\S])/.source\n .replace(/<string>/g, function () {\n return jsString\n })\n .replace(/<comment>/g, function () {\n return jsComment\n }) // the pattern will blow up, so only a few iterations\n for (var i = 0; i < 2; i++) {\n jsExpr = jsExpr.replace(/<expr>/g, function () {\n return jsExpr\n })\n }\n jsExpr = jsExpr.replace(/<expr>/g, '[^\\\\s\\\\S]')\n Prism.languages.qml = {\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n greedy: true\n },\n 'javascript-function': {\n pattern: RegExp(\n /((?:^|;)[ \\t]*)function\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*\\(<js>*\\)\\s*\\{<js>*\\}/.source.replace(\n /<js>/g,\n function () {\n return jsExpr\n }\n ),\n 'm'\n ),\n lookbehind: true,\n greedy: true,\n alias: 'language-javascript',\n inside: Prism.languages.javascript\n },\n 'class-name': {\n pattern: /((?:^|[:;])[ \\t]*)(?!\\d)\\w+(?=[ \\t]*\\{|[ \\t]+on\\b)/m,\n lookbehind: true\n },\n property: [\n {\n pattern: /((?:^|[;{])[ \\t]*)(?!\\d)\\w+(?:\\.\\w+)*(?=[ \\t]*:)/m,\n lookbehind: true\n },\n {\n pattern:\n /((?:^|[;{])[ \\t]*)property[ \\t]+(?!\\d)\\w+(?:\\.\\w+)*[ \\t]+(?!\\d)\\w+(?:\\.\\w+)*(?=[ \\t]*:)/m,\n lookbehind: true,\n inside: {\n keyword: /^property/,\n property: /\\w+(?:\\.\\w+)*/\n }\n }\n ],\n 'javascript-expression': {\n pattern: RegExp(\n /(:[ \\t]*)(?![\\s;}[])(?:(?!$|[;}])<js>)+/.source.replace(\n /<js>/g,\n function () {\n return jsExpr\n }\n ),\n 'm'\n ),\n lookbehind: true,\n greedy: true,\n alias: 'language-javascript',\n inside: Prism.languages.javascript\n },\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: true\n },\n keyword: /\\b(?:as|import|on)\\b/,\n punctuation: /[{}[\\]:;,]/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = qore\nqore.displayName = 'qore'\nqore.aliases = []\nfunction qore(Prism) {\n Prism.languages.qore = Prism.languages.extend('clike', {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:\\/\\/|#).*)/,\n lookbehind: true\n },\n // Overridden to allow unescaped multi-line strings\n string: {\n pattern: /(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n greedy: true\n },\n keyword:\n /\\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:bool|date|float|int|list|number|string)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\\b/,\n boolean: /\\b(?:false|true)\\b/i,\n function: /\\$?\\b(?!\\d)\\w+(?=\\()/,\n number:\n /\\b(?:0b[01]+|0x(?:[\\da-f]*\\.)?[\\da-fp\\-]+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:e\\d+)?[df]|(?:\\d+(?:\\.\\d+)?|\\.\\d+))\\b/i,\n operator: {\n pattern:\n /(^|[^.])(?:\\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\\|[|=]?|[*\\/%^]=?|[~?])/,\n lookbehind: true\n },\n variable: /\\$(?!\\d)\\w+\\b/\n })\n}\n","'use strict'\n\nmodule.exports = qsharp\nqsharp.displayName = 'qsharp'\nqsharp.aliases = ['qs']\nfunction qsharp(Prism) {\n ;(function (Prism) {\n /**\n * Replaces all placeholders \"<<n>>\" of given pattern with the n-th replacement (zero based).\n *\n * Note: This is a simple text based replacement. Be careful when using backreferences!\n *\n * @param {string} pattern the given pattern.\n * @param {string[]} replacements a list of replacement which can be inserted into the given pattern.\n * @returns {string} the pattern with all placeholders replaced with their corresponding replacements.\n * @example replace(/a<<0>>a/.source, [/b+/.source]) === /a(?:b+)a/.source\n */\n function replace(pattern, replacements) {\n return pattern.replace(/<<(\\d+)>>/g, function (m, index) {\n return '(?:' + replacements[+index] + ')'\n })\n }\n /**\n * @param {string} pattern\n * @param {string[]} replacements\n * @param {string} [flags]\n * @returns {RegExp}\n */\n function re(pattern, replacements, flags) {\n return RegExp(replace(pattern, replacements), flags || '')\n }\n /**\n * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.\n *\n * @param {string} pattern\n * @param {number} depthLog2\n * @returns {string}\n */\n function nested(pattern, depthLog2) {\n for (var i = 0; i < depthLog2; i++) {\n pattern = pattern.replace(/<<self>>/g, function () {\n return '(?:' + pattern + ')'\n })\n }\n return pattern.replace(/<<self>>/g, '[^\\\\s\\\\S]')\n } // https://docs.microsoft.com/en-us/azure/quantum/user-guide/language/typesystem/\n // https://github.com/microsoft/qsharp-language/tree/main/Specifications/Language/5_Grammar\n var keywordKinds = {\n // keywords which represent a return or variable type\n type: 'Adj BigInt Bool Ctl Double false Int One Pauli PauliI PauliX PauliY PauliZ Qubit Range Result String true Unit Zero',\n // all other keywords\n other:\n 'Adjoint adjoint apply as auto body borrow borrowing Controlled controlled distribute elif else fail fixup for function if in internal intrinsic invert is let mutable namespace new newtype open operation repeat return self set until use using while within'\n } // keywords\n function keywordsToPattern(words) {\n return '\\\\b(?:' + words.trim().replace(/ /g, '|') + ')\\\\b'\n }\n var keywords = RegExp(\n keywordsToPattern(keywordKinds.type + ' ' + keywordKinds.other)\n ) // types\n var identifier = /\\b[A-Za-z_]\\w*\\b/.source\n var qualifiedName = replace(/<<0>>(?:\\s*\\.\\s*<<0>>)*/.source, [identifier])\n var typeInside = {\n keyword: keywords,\n punctuation: /[<>()?,.:[\\]]/\n } // strings\n var regularString = /\"(?:\\\\.|[^\\\\\"])*\"/.source\n Prism.languages.qsharp = Prism.languages.extend('clike', {\n comment: /\\/\\/.*/,\n string: [\n {\n pattern: re(/(^|[^$\\\\])<<0>>/.source, [regularString]),\n lookbehind: true,\n greedy: true\n }\n ],\n 'class-name': [\n {\n // open Microsoft.Quantum.Canon;\n // open Microsoft.Quantum.Canon as CN;\n pattern: re(/(\\b(?:as|open)\\s+)<<0>>(?=\\s*(?:;|as\\b))/.source, [\n qualifiedName\n ]),\n lookbehind: true,\n inside: typeInside\n },\n {\n // namespace Quantum.App1;\n pattern: re(/(\\bnamespace\\s+)<<0>>(?=\\s*\\{)/.source, [qualifiedName]),\n lookbehind: true,\n inside: typeInside\n }\n ],\n keyword: keywords,\n number:\n /(?:\\b0(?:x[\\da-f]+|b[01]+|o[0-7]+)|(?:\\B\\.\\d+|\\b\\d+(?:\\.\\d*)?)(?:e[-+]?\\d+)?)l?\\b/i,\n operator:\n /\\band=|\\bor=|\\band\\b|\\bnot\\b|\\bor\\b|<[-=]|[-=]>|>>>=?|<<<=?|\\^\\^\\^=?|\\|\\|\\|=?|&&&=?|w\\/=?|~~~|[*\\/+\\-^=!%]=?/,\n punctuation: /::|[{}[\\];(),.:]/\n })\n Prism.languages.insertBefore('qsharp', 'number', {\n range: {\n pattern: /\\.\\./,\n alias: 'operator'\n }\n }) // single line\n var interpolationExpr = nested(\n replace(/\\{(?:[^\"{}]|<<0>>|<<self>>)*\\}/.source, [regularString]),\n 2\n )\n Prism.languages.insertBefore('qsharp', 'string', {\n 'interpolation-string': {\n pattern: re(/\\$\"(?:\\\\.|<<0>>|[^\\\\\"{])*\"/.source, [interpolationExpr]),\n greedy: true,\n inside: {\n interpolation: {\n pattern: re(/((?:^|[^\\\\])(?:\\\\\\\\)*)<<0>>/.source, [\n interpolationExpr\n ]),\n lookbehind: true,\n inside: {\n punctuation: /^\\{|\\}$/,\n expression: {\n pattern: /[\\s\\S]+/,\n alias: 'language-qsharp',\n inside: Prism.languages.qsharp\n }\n }\n },\n string: /[\\s\\S]+/\n }\n }\n })\n })(Prism)\n Prism.languages.qs = Prism.languages.qsharp\n}\n","'use strict'\n\nmodule.exports = r\nr.displayName = 'r'\nr.aliases = []\nfunction r(Prism) {\n Prism.languages.r = {\n comment: /#.*/,\n string: {\n pattern: /(['\"])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n 'percent-operator': {\n // Includes user-defined operators\n // and %%, %*%, %/%, %in%, %o%, %x%\n pattern: /%[^%\\s]*%/,\n alias: 'operator'\n },\n boolean: /\\b(?:FALSE|TRUE)\\b/,\n ellipsis: /\\.\\.(?:\\.|\\d+)/,\n number: [\n /\\b(?:Inf|NaN)\\b/,\n /(?:\\b0x[\\dA-Fa-f]+(?:\\.\\d*)?|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[EePp][+-]?\\d+)?[iL]?/\n ],\n keyword:\n /\\b(?:NA|NA_character_|NA_complex_|NA_integer_|NA_real_|NULL|break|else|for|function|if|in|next|repeat|while)\\b/,\n operator: /->?>?|<(?:=|<?-)?|[>=!]=?|::?|&&?|\\|\\|?|[+*\\/^$@~]/,\n punctuation: /[(){}\\[\\],;]/\n }\n}\n","'use strict'\nvar refractorScheme = require('./scheme.js')\nmodule.exports = racket\nracket.displayName = 'racket'\nracket.aliases = ['rkt']\nfunction racket(Prism) {\n Prism.register(refractorScheme)\n Prism.languages.racket = Prism.languages.extend('scheme', {\n 'lambda-parameter': {\n // the racket lambda syntax is a lot more complex, so we won't even attempt to capture it.\n // this will just prevent false positives of the `function` pattern\n pattern: /([(\\[]lambda\\s+[(\\[])[^()\\[\\]'\\s]+/,\n lookbehind: true\n }\n })\n Prism.languages.insertBefore('racket', 'string', {\n lang: {\n pattern: /^#lang.+/m,\n greedy: true,\n alias: 'keyword'\n }\n })\n Prism.languages.rkt = Prism.languages.racket\n}\n","'use strict'\n\nmodule.exports = reason\nreason.displayName = 'reason'\nreason.aliases = []\nfunction reason(Prism) {\n Prism.languages.reason = Prism.languages.extend('clike', {\n string: {\n pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n\"])*\"/,\n greedy: true\n },\n // 'class-name' must be matched *after* 'constructor' defined below\n 'class-name': /\\b[A-Z]\\w*/,\n keyword:\n /\\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\\b/,\n operator:\n /\\.{3}|:[:=]|\\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\\-*\\/]\\.?|\\b(?:asr|land|lor|lsl|lsr|lxor|mod)\\b/\n })\n Prism.languages.insertBefore('reason', 'class-name', {\n char: {\n pattern: /'(?:\\\\x[\\da-f]{2}|\\\\o[0-3][0-7][0-7]|\\\\\\d{3}|\\\\.|[^'\\\\\\r\\n])'/,\n greedy: true\n },\n // Negative look-ahead prevents from matching things like String.capitalize\n constructor: /\\b[A-Z]\\w*\\b(?!\\s*\\.)/,\n label: {\n pattern: /\\b[a-z]\\w*(?=::)/,\n alias: 'symbol'\n }\n }) // We can't match functions property, so let's not even try.\n delete Prism.languages.reason.function\n}\n","'use strict'\n\nmodule.exports = regex\nregex.displayName = 'regex'\nregex.aliases = []\nfunction regex(Prism) {\n ;(function (Prism) {\n var specialEscape = {\n pattern: /\\\\[\\\\(){}[\\]^$+*?|.]/,\n alias: 'escape'\n }\n var escape =\n /\\\\(?:x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u\\{[\\da-fA-F]+\\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/\n var charSet = {\n pattern: /\\.|\\\\[wsd]|\\\\p\\{[^{}]+\\}/i,\n alias: 'class-name'\n }\n var charSetWithoutDot = {\n pattern: /\\\\[wsd]|\\\\p\\{[^{}]+\\}/i,\n alias: 'class-name'\n }\n var rangeChar = '(?:[^\\\\\\\\-]|' + escape.source + ')'\n var range = RegExp(rangeChar + '-' + rangeChar) // the name of a capturing group\n var groupName = {\n pattern: /(<|')[^<>']+(?=[>']$)/,\n lookbehind: true,\n alias: 'variable'\n }\n Prism.languages.regex = {\n 'char-class': {\n pattern: /((?:^|[^\\\\])(?:\\\\\\\\)*)\\[(?:[^\\\\\\]]|\\\\[\\s\\S])*\\]/,\n lookbehind: true,\n inside: {\n 'char-class-negation': {\n pattern: /(^\\[)\\^/,\n lookbehind: true,\n alias: 'operator'\n },\n 'char-class-punctuation': {\n pattern: /^\\[|\\]$/,\n alias: 'punctuation'\n },\n range: {\n pattern: range,\n inside: {\n escape: escape,\n 'range-punctuation': {\n pattern: /-/,\n alias: 'operator'\n }\n }\n },\n 'special-escape': specialEscape,\n 'char-set': charSetWithoutDot,\n escape: escape\n }\n },\n 'special-escape': specialEscape,\n 'char-set': charSet,\n backreference: [\n {\n // a backreference which is not an octal escape\n pattern: /\\\\(?![123][0-7]{2})[1-9]/,\n alias: 'keyword'\n },\n {\n pattern: /\\\\k<[^<>']+>/,\n alias: 'keyword',\n inside: {\n 'group-name': groupName\n }\n }\n ],\n anchor: {\n pattern: /[$^]|\\\\[ABbGZz]/,\n alias: 'function'\n },\n escape: escape,\n group: [\n {\n // https://docs.oracle.com/javase/10/docs/api/java/util/regex/Pattern.html\n // https://docs.microsoft.com/en-us/dotnet/standard/base-types/regular-expression-language-quick-reference?view=netframework-4.7.2#grouping-constructs\n // (), (?<name>), (?'name'), (?>), (?:), (?=), (?!), (?<=), (?<!), (?is-m), (?i-m:)\n pattern:\n /\\((?:\\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,\n alias: 'punctuation',\n inside: {\n 'group-name': groupName\n }\n },\n {\n pattern: /\\)/,\n alias: 'punctuation'\n }\n ],\n quantifier: {\n pattern: /(?:[+*?]|\\{\\d+(?:,\\d*)?\\})[?+]?/,\n alias: 'number'\n },\n alternation: {\n pattern: /\\|/,\n alias: 'keyword'\n }\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = rego\nrego.displayName = 'rego'\nrego.aliases = []\nfunction rego(Prism) {\n // https://www.openpolicyagent.org/docs/latest/policy-reference/\n Prism.languages.rego = {\n comment: /#.*/,\n property: {\n pattern:\n /(^|[^\\\\.])(?:\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|`[^`]*`|\\b[a-z_]\\w*\\b)(?=\\s*:(?!=))/i,\n lookbehind: true,\n greedy: true\n },\n string: {\n pattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|`[^`]*`/,\n lookbehind: true,\n greedy: true\n },\n keyword:\n /\\b(?:as|default|else|import|not|null|package|set(?=\\s*\\()|some|with)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n function: {\n pattern: /\\b[a-z_]\\w*\\b(?:\\s*\\.\\s*\\b[a-z_]\\w*\\b)*(?=\\s*\\()/i,\n inside: {\n namespace: /\\b\\w+\\b(?=\\s*\\.)/,\n punctuation: /\\./\n }\n },\n number: /-?\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\n operator: /[-+*/%|&]|[<>:=]=?|!=|\\b_\\b/,\n punctuation: /[,;.\\[\\]{}()]/\n }\n}\n","'use strict'\n\nmodule.exports = renpy\nrenpy.displayName = 'renpy'\nrenpy.aliases = ['rpy']\nfunction renpy(Prism) {\n Prism.languages.renpy = {\n comment: {\n pattern: /(^|[^\\\\])#.+/,\n lookbehind: true\n },\n string: {\n pattern:\n /(\"\"\"|''')[\\s\\S]+?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\])*\\2|(?:^#?(?:(?:[0-9a-fA-F]){3}|[0-9a-fA-F]{6})$)/m,\n greedy: true\n },\n function: /\\b[a-z_]\\w*(?=\\()/i,\n property:\n /\\b(?:Update|UpdateVersion|action|activate_sound|adv_nvl_transition|after_load_transition|align|alpha|alt|anchor|antialias|area|auto|background|bar_invert|bar_resizing|bar_vertical|black_color|bold|bottom_bar|bottom_gutter|bottom_margin|bottom_padding|box_reverse|box_wrap|can_update|caret|child|color|crop|default_afm_enable|default_afm_time|default_fullscreen|default_text_cps|developer|directory_name|drag_handle|drag_joined|drag_name|drag_raise|draggable|dragged|drop_shadow|drop_shadow_color|droppable|dropped|easein|easeout|edgescroll|end_game_transition|end_splash_transition|enter_replay_transition|enter_sound|enter_transition|enter_yesno_transition|executable_name|exit_replay_transition|exit_sound|exit_transition|exit_yesno_transition|fadein|fadeout|first_indent|first_spacing|fit_first|focus|focus_mask|font|foreground|game_main_transition|get_installed_packages|google_play_key|google_play_salt|ground|has_music|has_sound|has_voice|height|help|hinting|hover|hover_background|hover_color|hover_sound|hovered|hyperlink_functions|idle|idle_color|image_style|include_update|insensitive|insensitive_background|insensitive_color|inside|intra_transition|italic|justify|kerning|keyboard_focus|language|layer_clipping|layers|layout|left_bar|left_gutter|left_margin|left_padding|length|line_leading|line_overlap_split|line_spacing|linear|main_game_transition|main_menu_music|maximum|min_width|minimum|minwidth|modal|mouse|mousewheel|name|narrator_menu|newline_indent|nvl_adv_transition|offset|order_reverse|outlines|overlay_functions|pos|position|prefix|radius|range|rest_indent|right_bar|right_gutter|right_margin|right_padding|rotate|rotate_pad|ruby_style|sample_sound|save_directory|say_attribute_transition|screen_height|screen_width|scrollbars|selected_hover|selected_hover_color|selected_idle|selected_idle_color|selected_insensitive|show_side_image|show_two_window|side_spacing|side_xpos|side_ypos|size|size_group|slow_cps|slow_cps_multiplier|spacing|strikethrough|subpixel|text_align|text_style|text_xpos|text_y_fudge|text_ypos|thumb|thumb_offset|thumb_shadow|thumbnail_height|thumbnail_width|time|top_bar|top_gutter|top_margin|top_padding|translations|underline|unscrollable|update|value|version|version_name|version_tuple|vertical|width|window_hide_transition|window_icon|window_left_padding|window_show_transition|window_title|windows_icon|xadjustment|xalign|xanchor|xanchoraround|xaround|xcenter|xfill|xinitial|xmargin|xmaximum|xminimum|xoffset|xofsset|xpadding|xpos|xsize|xzoom|yadjustment|yalign|yanchor|yanchoraround|yaround|ycenter|yfill|yinitial|ymargin|ymaximum|yminimum|yoffset|ypadding|ypos|ysize|ysizexysize|yzoom|zoom|zorder)\\b/,\n tag: /\\b(?:bar|block|button|buttoscreenn|drag|draggroup|fixed|frame|grid|[hv]box|hotbar|hotspot|image|imagebutton|imagemap|input|key|label|menu|mm_menu_frame|mousearea|nvl|parallel|screen|self|side|tag|text|textbutton|timer|vbar|viewport|window)\\b|\\$/,\n keyword:\n /\\b(?:None|add|adjustment|alignaround|allow|angle|animation|around|as|assert|behind|box_layout|break|build|cache|call|center|changed|child_size|choice|circles|class|clear|clicked|clipping|clockwise|config|contains|continue|corner1|corner2|counterclockwise|def|default|define|del|delay|disabled|disabled_text|dissolve|elif|else|event|except|exclude|exec|expression|fade|finally|for|from|function|global|gm_root|has|hide|id|if|import|in|init|is|jump|knot|lambda|left|less_rounded|mm_root|movie|music|null|on|onlayer|pass|pause|persistent|play|print|python|queue|raise|random|renpy|repeat|return|right|rounded_window|scene|scope|set|show|slow|slow_abortable|slow_done|sound|stop|store|style|style_group|substitute|suffix|theme|transform|transform_anchor|transpose|try|ui|unhovered|updater|use|voice|while|widget|widget_hover|widget_selected|widget_text|yield)\\b/,\n boolean: /\\b(?:[Ff]alse|[Tt]rue)\\b/,\n number:\n /(?:\\b(?:0[bo])?(?:(?:\\d|0x[\\da-f])[\\da-f]*(?:\\.\\d*)?)|\\B\\.\\d+)(?:e[+-]?\\d+)?j?/i,\n operator:\n /[-+%=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]|\\b(?:and|at|not|or|with)\\b/,\n punctuation: /[{}[\\];(),.:]/\n }\n Prism.languages.rpy = Prism.languages.renpy\n}\n","'use strict'\n\nmodule.exports = rest\nrest.displayName = 'rest'\nrest.aliases = []\nfunction rest(Prism) {\n Prism.languages.rest = {\n table: [\n {\n pattern:\n /(^[\\t ]*)(?:\\+[=-]+)+\\+(?:\\r?\\n|\\r)(?:\\1[+|].+[+|](?:\\r?\\n|\\r))+\\1(?:\\+[=-]+)+\\+/m,\n lookbehind: true,\n inside: {\n punctuation: /\\||(?:\\+[=-]+)+\\+/\n }\n },\n {\n pattern:\n /(^[\\t ]*)=+ [ =]*=(?:(?:\\r?\\n|\\r)\\1.+)+(?:\\r?\\n|\\r)\\1=+ [ =]*=(?=(?:\\r?\\n|\\r){2}|\\s*$)/m,\n lookbehind: true,\n inside: {\n punctuation: /[=-]+/\n }\n }\n ],\n // Directive-like patterns\n 'substitution-def': {\n pattern: /(^[\\t ]*\\.\\. )\\|(?:[^|\\s](?:[^|]*[^|\\s])?)\\| [^:]+::/m,\n lookbehind: true,\n inside: {\n substitution: {\n pattern: /^\\|(?:[^|\\s]|[^|\\s][^|]*[^|\\s])\\|/,\n alias: 'attr-value',\n inside: {\n punctuation: /^\\||\\|$/\n }\n },\n directive: {\n pattern: /( )(?! )[^:]+::/,\n lookbehind: true,\n alias: 'function',\n inside: {\n punctuation: /::$/\n }\n }\n }\n },\n 'link-target': [\n {\n pattern: /(^[\\t ]*\\.\\. )\\[[^\\]]+\\]/m,\n lookbehind: true,\n alias: 'string',\n inside: {\n punctuation: /^\\[|\\]$/\n }\n },\n {\n pattern: /(^[\\t ]*\\.\\. )_(?:`[^`]+`|(?:[^:\\\\]|\\\\.)+):/m,\n lookbehind: true,\n alias: 'string',\n inside: {\n punctuation: /^_|:$/\n }\n }\n ],\n directive: {\n pattern: /(^[\\t ]*\\.\\. )[^:]+::/m,\n lookbehind: true,\n alias: 'function',\n inside: {\n punctuation: /::$/\n }\n },\n comment: {\n // The two alternatives try to prevent highlighting of blank comments\n pattern:\n /(^[\\t ]*\\.\\.)(?:(?: .+)?(?:(?:\\r?\\n|\\r).+)+| .+)(?=(?:\\r?\\n|\\r){2}|$)/m,\n lookbehind: true\n },\n title: [\n // Overlined and underlined\n {\n pattern:\n /^(([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~])\\2+)(?:\\r?\\n|\\r).+(?:\\r?\\n|\\r)\\1$/m,\n inside: {\n punctuation:\n /^[!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~]+|[!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~]+$/,\n important: /.+/\n }\n }, // Underlined only\n {\n pattern:\n /(^|(?:\\r?\\n|\\r){2}).+(?:\\r?\\n|\\r)([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~])\\2+(?=\\r?\\n|\\r|$)/,\n lookbehind: true,\n inside: {\n punctuation: /[!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~]+$/,\n important: /.+/\n }\n }\n ],\n hr: {\n pattern:\n /((?:\\r?\\n|\\r){2})([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~])\\2{3,}(?=(?:\\r?\\n|\\r){2})/,\n lookbehind: true,\n alias: 'punctuation'\n },\n field: {\n pattern: /(^[\\t ]*):[^:\\r\\n]+:(?= )/m,\n lookbehind: true,\n alias: 'attr-name'\n },\n 'command-line-option': {\n pattern:\n /(^[\\t ]*)(?:[+-][a-z\\d]|(?:--|\\/)[a-z\\d-]+)(?:[ =](?:[a-z][\\w-]*|<[^<>]+>))?(?:, (?:[+-][a-z\\d]|(?:--|\\/)[a-z\\d-]+)(?:[ =](?:[a-z][\\w-]*|<[^<>]+>))?)*(?=(?:\\r?\\n|\\r)? {2,}\\S)/im,\n lookbehind: true,\n alias: 'symbol'\n },\n 'literal-block': {\n pattern: /::(?:\\r?\\n|\\r){2}([ \\t]+)(?![ \\t]).+(?:(?:\\r?\\n|\\r)\\1.+)*/,\n inside: {\n 'literal-block-punctuation': {\n pattern: /^::/,\n alias: 'punctuation'\n }\n }\n },\n 'quoted-literal-block': {\n pattern:\n /::(?:\\r?\\n|\\r){2}([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~]).*(?:(?:\\r?\\n|\\r)\\1.*)*/,\n inside: {\n 'literal-block-punctuation': {\n pattern: /^(?:::|([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~])\\1*)/m,\n alias: 'punctuation'\n }\n }\n },\n 'list-bullet': {\n pattern:\n /(^[\\t ]*)(?:[*+\\-•‣⁃]|\\(?(?:\\d+|[a-z]|[ivxdclm]+)\\)|(?:\\d+|[a-z]|[ivxdclm]+)\\.)(?= )/im,\n lookbehind: true,\n alias: 'punctuation'\n },\n 'doctest-block': {\n pattern: /(^[\\t ]*)>>> .+(?:(?:\\r?\\n|\\r).+)*/m,\n lookbehind: true,\n inside: {\n punctuation: /^>>>/\n }\n },\n inline: [\n {\n pattern:\n /(^|[\\s\\-:\\/'\"<(\\[{])(?::[^:]+:`.*?`|`.*?`:[^:]+:|(\\*\\*?|``?|\\|)(?!\\s)(?:(?!\\2).)*\\S\\2(?=[\\s\\-.,:;!?\\\\\\/'\")\\]}]|$))/m,\n lookbehind: true,\n inside: {\n bold: {\n pattern: /(^\\*\\*).+(?=\\*\\*$)/,\n lookbehind: true\n },\n italic: {\n pattern: /(^\\*).+(?=\\*$)/,\n lookbehind: true\n },\n 'inline-literal': {\n pattern: /(^``).+(?=``$)/,\n lookbehind: true,\n alias: 'symbol'\n },\n role: {\n pattern: /^:[^:]+:|:[^:]+:$/,\n alias: 'function',\n inside: {\n punctuation: /^:|:$/\n }\n },\n 'interpreted-text': {\n pattern: /(^`).+(?=`$)/,\n lookbehind: true,\n alias: 'attr-value'\n },\n substitution: {\n pattern: /(^\\|).+(?=\\|$)/,\n lookbehind: true,\n alias: 'attr-value'\n },\n punctuation: /\\*\\*?|``?|\\|/\n }\n }\n ],\n link: [\n {\n pattern: /\\[[^\\[\\]]+\\]_(?=[\\s\\-.,:;!?\\\\\\/'\")\\]}]|$)/,\n alias: 'string',\n inside: {\n punctuation: /^\\[|\\]_$/\n }\n },\n {\n pattern:\n /(?:\\b[a-z\\d]+(?:[_.:+][a-z\\d]+)*_?_|`[^`]+`_?_|_`[^`]+`)(?=[\\s\\-.,:;!?\\\\\\/'\")\\]}]|$)/i,\n alias: 'string',\n inside: {\n punctuation: /^_?`|`$|`?_?_$/\n }\n }\n ],\n // Line block start,\n // quote attribution,\n // explicit markup start,\n // and anonymous hyperlink target shortcut (__)\n punctuation: {\n pattern: /(^[\\t ]*)(?:\\|(?= |$)|(?:---?|—|\\.\\.|__)(?= )|\\.\\.$)/m,\n lookbehind: true\n }\n }\n}\n","'use strict'\n\nmodule.exports = rip\nrip.displayName = 'rip'\nrip.aliases = []\nfunction rip(Prism) {\n Prism.languages.rip = {\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n char: {\n pattern: /\\B`[^\\s`'\",.:;#\\/\\\\()<>\\[\\]{}]\\b/,\n greedy: true\n },\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n regex: {\n pattern:\n /(^|[^/])\\/(?!\\/)(?:\\[[^\\n\\r\\]]*\\]|\\\\.|[^/\\\\\\r\\n\\[])+\\/(?=\\s*(?:$|[\\r\\n,.;})]))/,\n lookbehind: true,\n greedy: true\n },\n keyword:\n /(?:=>|->)|\\b(?:case|catch|class|else|exit|finally|if|raise|return|switch|try)\\b/,\n builtin: /@|\\bSystem\\b/,\n boolean: /\\b(?:false|true)\\b/,\n date: /\\b\\d{4}-\\d{2}-\\d{2}\\b/,\n time: /\\b\\d{2}:\\d{2}:\\d{2}\\b/,\n datetime: /\\b\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\b/,\n symbol: /:[^\\d\\s`'\",.:;#\\/\\\\()<>\\[\\]{}][^\\s`'\",.:;#\\/\\\\()<>\\[\\]{}]*/,\n number: /[+-]?\\b(?:\\d+\\.\\d+|\\d+)\\b/,\n punctuation: /(?:\\.{2,3})|[`,.:;=\\/\\\\()<>\\[\\]{}]/,\n reference: /[^\\d\\s`'\",.:;#\\/\\\\()<>\\[\\]{}][^\\s`'\",.:;#\\/\\\\()<>\\[\\]{}]*/\n }\n}\n","'use strict'\n\nmodule.exports = roboconf\nroboconf.displayName = 'roboconf'\nroboconf.aliases = []\nfunction roboconf(Prism) {\n Prism.languages.roboconf = {\n comment: /#.*/,\n keyword: {\n pattern:\n /(^|\\s)(?:(?:external|import)\\b|(?:facet|instance of)(?=[ \\t]+[\\w-]+[ \\t]*\\{))/,\n lookbehind: true\n },\n component: {\n pattern: /[\\w-]+(?=[ \\t]*\\{)/,\n alias: 'variable'\n },\n property: /[\\w.-]+(?=[ \\t]*:)/,\n value: {\n pattern: /(=[ \\t]*(?![ \\t]))[^,;]+/,\n lookbehind: true,\n alias: 'attr-value'\n },\n optional: {\n pattern: /\\(optional\\)/,\n alias: 'builtin'\n },\n wildcard: {\n pattern: /(\\.)\\*/,\n lookbehind: true,\n alias: 'operator'\n },\n punctuation: /[{},.;:=]/\n }\n}\n","'use strict'\n\nmodule.exports = robotframework\nrobotframework.displayName = 'robotframework'\nrobotframework.aliases = []\nfunction robotframework(Prism) {\n ;(function (Prism) {\n var comment = {\n pattern: /(^[ \\t]*| {2}|\\t)#.*/m,\n lookbehind: true,\n greedy: true\n }\n var variable = {\n pattern: /((?:^|[^\\\\])(?:\\\\{2})*)[$@&%]\\{(?:[^{}\\r\\n]|\\{[^{}\\r\\n]*\\})*\\}/,\n lookbehind: true,\n inside: {\n punctuation: /^[$@&%]\\{|\\}$/\n }\n }\n function createSection(name, inside) {\n var extendecInside = {}\n extendecInside['section-header'] = {\n pattern: /^ ?\\*{3}.+?\\*{3}/,\n alias: 'keyword'\n } // copy inside tokens\n for (var token in inside) {\n extendecInside[token] = inside[token]\n }\n extendecInside['tag'] = {\n pattern: /([\\r\\n](?: {2}|\\t)[ \\t]*)\\[[-\\w]+\\]/,\n lookbehind: true,\n inside: {\n punctuation: /\\[|\\]/\n }\n }\n extendecInside['variable'] = variable\n extendecInside['comment'] = comment\n return {\n pattern: RegExp(\n /^ ?\\*{3}[ \\t]*<name>[ \\t]*\\*{3}(?:.|[\\r\\n](?!\\*{3}))*/.source.replace(\n /<name>/g,\n function () {\n return name\n }\n ),\n 'im'\n ),\n alias: 'section',\n inside: extendecInside\n }\n }\n var docTag = {\n pattern:\n /(\\[Documentation\\](?: {2}|\\t)[ \\t]*)(?![ \\t]|#)(?:.|(?:\\r\\n?|\\n)[ \\t]*\\.{3})+/,\n lookbehind: true,\n alias: 'string'\n }\n var testNameLike = {\n pattern: /([\\r\\n] ?)(?!#)(?:\\S(?:[ \\t]\\S)*)+/,\n lookbehind: true,\n alias: 'function',\n inside: {\n variable: variable\n }\n }\n var testPropertyLike = {\n pattern: /([\\r\\n](?: {2}|\\t)[ \\t]*)(?!\\[|\\.{3}|#)(?:\\S(?:[ \\t]\\S)*)+/,\n lookbehind: true,\n inside: {\n variable: variable\n }\n }\n Prism.languages['robotframework'] = {\n settings: createSection('Settings', {\n documentation: {\n pattern:\n /([\\r\\n] ?Documentation(?: {2}|\\t)[ \\t]*)(?![ \\t]|#)(?:.|(?:\\r\\n?|\\n)[ \\t]*\\.{3})+/,\n lookbehind: true,\n alias: 'string'\n },\n property: {\n pattern: /([\\r\\n] ?)(?!\\.{3}|#)(?:\\S(?:[ \\t]\\S)*)+/,\n lookbehind: true\n }\n }),\n variables: createSection('Variables'),\n 'test-cases': createSection('Test Cases', {\n 'test-name': testNameLike,\n documentation: docTag,\n property: testPropertyLike\n }),\n keywords: createSection('Keywords', {\n 'keyword-name': testNameLike,\n documentation: docTag,\n property: testPropertyLike\n }),\n tasks: createSection('Tasks', {\n 'task-name': testNameLike,\n documentation: docTag,\n property: testPropertyLike\n }),\n comment: comment\n }\n Prism.languages.robot = Prism.languages['robotframework']\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = ruby\nruby.displayName = 'ruby'\nruby.aliases = ['rb']\nfunction ruby(Prism) {\n /**\n * Original by Samuel Flores\n *\n * Adds the following new token classes:\n * constant, builtin, variable, symbol, regex\n */\n ;(function (Prism) {\n Prism.languages.ruby = Prism.languages.extend('clike', {\n comment: {\n pattern: /#.*|^=begin\\s[\\s\\S]*?^=end/m,\n greedy: true\n },\n 'class-name': {\n pattern:\n /(\\b(?:class|module)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+|\\b[A-Z_]\\w*(?=\\s*\\.\\s*new\\b)/,\n lookbehind: true,\n inside: {\n punctuation: /[.\\\\]/\n }\n },\n keyword:\n /\\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\\b/,\n operator:\n /\\.{2,3}|&\\.|===|<?=>|[!=]?~|(?:&&|\\|\\||<<|>>|\\*\\*|[+\\-*/%<>!^&|=])=?|[?:]/,\n punctuation: /[(){}[\\].,;]/\n })\n Prism.languages.insertBefore('ruby', 'operator', {\n 'double-colon': {\n pattern: /::/,\n alias: 'punctuation'\n }\n })\n var interpolation = {\n pattern: /((?:^|[^\\\\])(?:\\\\{2})*)#\\{(?:[^{}]|\\{[^{}]*\\})*\\}/,\n lookbehind: true,\n inside: {\n content: {\n pattern: /^(#\\{)[\\s\\S]+(?=\\}$)/,\n lookbehind: true,\n inside: Prism.languages.ruby\n },\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: 'punctuation'\n }\n }\n }\n delete Prism.languages.ruby.function\n var percentExpression =\n '(?:' +\n [\n /([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/.source,\n /\\((?:[^()\\\\]|\\\\[\\s\\S]|\\((?:[^()\\\\]|\\\\[\\s\\S])*\\))*\\)/.source,\n /\\{(?:[^{}\\\\]|\\\\[\\s\\S]|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\})*\\}/.source,\n /\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S]|\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\])*\\]/.source,\n /<(?:[^<>\\\\]|\\\\[\\s\\S]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)*>/.source\n ].join('|') +\n ')'\n var symbolName =\n /(?:\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|(?:\\b[a-zA-Z_]\\w*|[^\\s\\0-\\x7F]+)[?!]?|\\$.)/\n .source\n Prism.languages.insertBefore('ruby', 'keyword', {\n 'regex-literal': [\n {\n pattern: RegExp(\n /%r/.source + percentExpression + /[egimnosux]{0,6}/.source\n ),\n greedy: true,\n inside: {\n interpolation: interpolation,\n regex: /[\\s\\S]+/\n }\n },\n {\n pattern:\n /(^|[^/])\\/(?!\\/)(?:\\[[^\\r\\n\\]]+\\]|\\\\.|[^[/\\\\\\r\\n])+\\/[egimnosux]{0,6}(?=\\s*(?:$|[\\r\\n,.;})#]))/,\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: interpolation,\n regex: /[\\s\\S]+/\n }\n }\n ],\n variable: /[@$]+[a-zA-Z_]\\w*(?:[?!]|\\b)/,\n symbol: [\n {\n pattern: RegExp(/(^|[^:]):/.source + symbolName),\n lookbehind: true,\n greedy: true\n },\n {\n pattern: RegExp(\n /([\\r\\n{(,][ \\t]*)/.source + symbolName + /(?=:(?!:))/.source\n ),\n lookbehind: true,\n greedy: true\n }\n ],\n 'method-definition': {\n pattern: /(\\bdef\\s+)\\w+(?:\\s*\\.\\s*\\w+)?/,\n lookbehind: true,\n inside: {\n function: /\\b\\w+$/,\n keyword: /^self\\b/,\n 'class-name': /^\\w+/,\n punctuation: /\\./\n }\n }\n })\n Prism.languages.insertBefore('ruby', 'string', {\n 'string-literal': [\n {\n pattern: RegExp(/%[qQiIwWs]?/.source + percentExpression),\n greedy: true,\n inside: {\n interpolation: interpolation,\n string: /[\\s\\S]+/\n }\n },\n {\n pattern:\n /(\"|')(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\#\\r\\n])*\\1/,\n greedy: true,\n inside: {\n interpolation: interpolation,\n string: /[\\s\\S]+/\n }\n },\n {\n pattern: /<<[-~]?([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?[\\t ]*\\1/i,\n alias: 'heredoc-string',\n greedy: true,\n inside: {\n delimiter: {\n pattern: /^<<[-~]?[a-z_]\\w*|\\b[a-z_]\\w*$/i,\n inside: {\n symbol: /\\b\\w+/,\n punctuation: /^<<[-~]?/\n }\n },\n interpolation: interpolation,\n string: /[\\s\\S]+/\n }\n },\n {\n pattern: /<<[-~]?'([a-z_]\\w*)'[\\r\\n](?:.*[\\r\\n])*?[\\t ]*\\1/i,\n alias: 'heredoc-string',\n greedy: true,\n inside: {\n delimiter: {\n pattern: /^<<[-~]?'[a-z_]\\w*'|\\b[a-z_]\\w*$/i,\n inside: {\n symbol: /\\b\\w+/,\n punctuation: /^<<[-~]?'|'$/\n }\n },\n string: /[\\s\\S]+/\n }\n }\n ],\n 'command-literal': [\n {\n pattern: RegExp(/%x/.source + percentExpression),\n greedy: true,\n inside: {\n interpolation: interpolation,\n command: {\n pattern: /[\\s\\S]+/,\n alias: 'string'\n }\n }\n },\n {\n pattern: /`(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|[^\\\\`#\\r\\n])*`/,\n greedy: true,\n inside: {\n interpolation: interpolation,\n command: {\n pattern: /[\\s\\S]+/,\n alias: 'string'\n }\n }\n }\n ]\n })\n delete Prism.languages.ruby.string\n Prism.languages.insertBefore('ruby', 'number', {\n builtin:\n /\\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\\b/,\n constant: /\\b[A-Z][A-Z0-9_]*(?:[?!]|\\b)/\n })\n Prism.languages.rb = Prism.languages.ruby\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = rust\nrust.displayName = 'rust'\nrust.aliases = []\nfunction rust(Prism) {\n ;(function (Prism) {\n var multilineComment = /\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\//.source\n for (var i = 0; i < 2; i++) {\n // support 4 levels of nested comments\n multilineComment = multilineComment.replace(/<self>/g, function () {\n return multilineComment\n })\n }\n multilineComment = multilineComment.replace(/<self>/g, function () {\n return /[^\\s\\S]/.source\n })\n Prism.languages.rust = {\n comment: [\n {\n pattern: RegExp(/(^|[^\\\\])/.source + multilineComment),\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n string: {\n pattern: /b?\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|b?r(#*)\"(?:[^\"]|\"(?!\\1))*\"\\1/,\n greedy: true\n },\n char: {\n pattern:\n /b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u\\{(?:[\\da-fA-F]_*){1,6}\\}|.)|[^\\\\\\r\\n\\t'])'/,\n greedy: true\n },\n attribute: {\n pattern: /#!?\\[(?:[^\\[\\]\"]|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")*\\]/,\n greedy: true,\n alias: 'attr-name',\n inside: {\n string: null // see below\n }\n },\n // Closure params should not be confused with bitwise OR |\n 'closure-params': {\n pattern: /([=(,:]\\s*|\\bmove\\s*)\\|[^|]*\\||\\|[^|]*\\|(?=\\s*(?:\\{|->))/,\n lookbehind: true,\n greedy: true,\n inside: {\n 'closure-punctuation': {\n pattern: /^\\||\\|$/,\n alias: 'punctuation'\n },\n rest: null // see below\n }\n },\n 'lifetime-annotation': {\n pattern: /'\\w+/,\n alias: 'symbol'\n },\n 'fragment-specifier': {\n pattern: /(\\$\\w+:)[a-z]+/,\n lookbehind: true,\n alias: 'punctuation'\n },\n variable: /\\$\\w+/,\n 'function-definition': {\n pattern: /(\\bfn\\s+)\\w+/,\n lookbehind: true,\n alias: 'function'\n },\n 'type-definition': {\n pattern: /(\\b(?:enum|struct|trait|type|union)\\s+)\\w+/,\n lookbehind: true,\n alias: 'class-name'\n },\n 'module-declaration': [\n {\n pattern: /(\\b(?:crate|mod)\\s+)[a-z][a-z_\\d]*/,\n lookbehind: true,\n alias: 'namespace'\n },\n {\n pattern:\n /(\\b(?:crate|self|super)\\s*)::\\s*[a-z][a-z_\\d]*\\b(?:\\s*::(?:\\s*[a-z][a-z_\\d]*\\s*::)*)?/,\n lookbehind: true,\n alias: 'namespace',\n inside: {\n punctuation: /::/\n }\n }\n ],\n keyword: [\n // https://github.com/rust-lang/reference/blob/master/src/keywords.md\n /\\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/, // primitives and str\n // https://doc.rust-lang.org/stable/rust-by-example/primitives.html\n /\\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\\b/\n ],\n // functions can technically start with an upper-case letter, but this will introduce a lot of false positives\n // and Rust's naming conventions recommend snake_case anyway.\n // https://doc.rust-lang.org/1.0.0/style/style/naming/README.html\n function: /\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())/,\n macro: {\n pattern: /\\b\\w+!/,\n alias: 'property'\n },\n constant: /\\b[A-Z_][A-Z_\\d]+\\b/,\n 'class-name': /\\b[A-Z]\\w*\\b/,\n namespace: {\n pattern: /(?:\\b[a-z][a-z_\\d]*\\s*::\\s*)*\\b[a-z][a-z_\\d]*\\s*::(?!\\s*<)/,\n inside: {\n punctuation: /::/\n }\n },\n // Hex, oct, bin, dec numbers with visual separators and type suffix\n number:\n /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\\b/,\n boolean: /\\b(?:false|true)\\b/,\n punctuation: /->|\\.\\.=|\\.{1,3}|::|[{}[\\];(),:]/,\n operator: /[-+*\\/%!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?=?|[@?]/\n }\n Prism.languages.rust['closure-params'].inside.rest = Prism.languages.rust\n Prism.languages.rust['attribute'].inside['string'] =\n Prism.languages.rust['string']\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = sas\nsas.displayName = 'sas'\nsas.aliases = []\nfunction sas(Prism) {\n ;(function (Prism) {\n var stringPattern = /(?:\"(?:\"\"|[^\"])*\"(?!\")|'(?:''|[^'])*'(?!'))/.source\n var number = /\\b(?:\\d[\\da-f]*x|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b/i\n var numericConstant = {\n pattern: RegExp(stringPattern + '[bx]'),\n alias: 'number'\n }\n var macroVariable = {\n pattern: /&[a-z_]\\w*/i\n }\n var macroKeyword = {\n pattern:\n /((?:^|\\s|=|\\())%(?:ABORT|BY|CMS|COPY|DISPLAY|DO|ELSE|END|EVAL|GLOBAL|GO|GOTO|IF|INC|INCLUDE|INDEX|INPUT|KTRIM|LENGTH|LET|LIST|LOCAL|PUT|QKTRIM|QSCAN|QSUBSTR|QSYSFUNC|QUPCASE|RETURN|RUN|SCAN|SUBSTR|SUPERQ|SYMDEL|SYMEXIST|SYMGLOBL|SYMLOCAL|SYSCALL|SYSEVALF|SYSEXEC|SYSFUNC|SYSGET|SYSRPUT|THEN|TO|TSO|UNQUOTE|UNTIL|UPCASE|WHILE|WINDOW)\\b/i,\n lookbehind: true,\n alias: 'keyword'\n }\n var step = {\n pattern: /(^|\\s)(?:proc\\s+\\w+|data(?!=)|quit|run)\\b/i,\n alias: 'keyword',\n lookbehind: true\n }\n var comment = [\n /\\/\\*[\\s\\S]*?\\*\\//,\n {\n pattern: /(^[ \\t]*|;\\s*)\\*[^;]*;/m,\n lookbehind: true\n }\n ]\n var string = {\n pattern: RegExp(stringPattern),\n greedy: true\n }\n var punctuation = /[$%@.(){}\\[\\];,\\\\]/\n var func = {\n pattern: /%?\\b\\w+(?=\\()/,\n alias: 'keyword'\n }\n var args = {\n function: func,\n 'arg-value': {\n pattern: /(=\\s*)[A-Z\\.]+/i,\n lookbehind: true\n },\n operator: /=/,\n 'macro-variable': macroVariable,\n arg: {\n pattern: /[A-Z]+/i,\n alias: 'keyword'\n },\n number: number,\n 'numeric-constant': numericConstant,\n punctuation: punctuation,\n string: string\n }\n var format = {\n pattern: /\\b(?:format|put)\\b=?[\\w'$.]+/i,\n inside: {\n keyword: /^(?:format|put)(?==)/i,\n equals: /=/,\n format: {\n pattern: /(?:\\w|\\$\\d)+\\.\\d?/,\n alias: 'number'\n }\n }\n }\n var altformat = {\n pattern: /\\b(?:format|put)\\s+[\\w']+(?:\\s+[$.\\w]+)+(?=;)/i,\n inside: {\n keyword: /^(?:format|put)/i,\n format: {\n pattern: /[\\w$]+\\.\\d?/,\n alias: 'number'\n }\n }\n }\n var globalStatements = {\n pattern:\n /((?:^|\\s)=?)(?:catname|checkpoint execute_always|dm|endsas|filename|footnote|%include|libname|%list|lock|missing|options|page|resetline|%run|sasfile|skip|sysecho|title\\d?)\\b/i,\n lookbehind: true,\n alias: 'keyword'\n }\n var submitStatement = {\n pattern: /(^|\\s)(?:submit(?:\\s+(?:load|norun|parseonly))?|endsubmit)\\b/i,\n lookbehind: true,\n alias: 'keyword'\n }\n var actionSets =\n /aStore|accessControl|aggregation|audio|autotune|bayesianNetClassifier|bioMedImage|boolRule|builtins|cardinality|cdm|clustering|conditionalRandomFields|configuration|copula|countreg|dataDiscovery|dataPreprocess|dataSciencePilot|dataStep|decisionTree|deduplication|deepLearn|deepNeural|deepRnn|ds2|ecm|entityRes|espCluster|explainModel|factmac|fastKnn|fcmpact|fedSql|freqTab|gVarCluster|gam|gleam|graphSemiSupLearn|hiddenMarkovModel|hyperGroup|ica|image|iml|kernalPca|langModel|ldaTopic|loadStreams|mbc|mixed|mlTools|modelPublishing|network|neuralNet|nmf|nonParametricBayes|nonlinear|optNetwork|optimization|panel|pca|percentile|phreg|pls|qkb|qlim|quantreg|recommend|regression|reinforcementLearn|robustPca|ruleMining|sampling|sandwich|sccasl|search(?:Analytics)?|sentimentAnalysis|sequence|session(?:Prop)?|severity|simSystem|simple|smartData|sparkEmbeddedProcess|sparseML|spatialreg|spc|stabilityMonitoring|svDataDescription|svm|table|text(?:Filters|Frequency|Mining|Parse|Rule(?:Develop|Score)|Topic|Util)|timeData|transpose|tsInfo|tsReconcile|uniTimeSeries|varReduce/\n .source\n var casActions = {\n pattern: RegExp(\n /(^|\\s)(?:action\\s+)?(?:<act>)\\.[a-z]+\\b[^;]+/.source.replace(\n /<act>/g,\n function () {\n return actionSets\n }\n ),\n 'i'\n ),\n lookbehind: true,\n inside: {\n keyword: RegExp(\n /(?:<act>)\\.[a-z]+\\b/.source.replace(/<act>/g, function () {\n return actionSets\n }),\n 'i'\n ),\n action: {\n pattern: /(?:action)/i,\n alias: 'keyword'\n },\n comment: comment,\n function: func,\n 'arg-value': args['arg-value'],\n operator: args.operator,\n argument: args.arg,\n number: number,\n 'numeric-constant': numericConstant,\n punctuation: punctuation,\n string: string\n }\n }\n var keywords = {\n pattern:\n /((?:^|\\s)=?)(?:after|analysis|and|array|barchart|barwidth|begingraph|by|call|cas|cbarline|cfill|class(?:lev)?|close|column|computed?|contains|continue|data(?==)|define|delete|describe|document|do\\s+over|do|dol|drop|dul|else|end(?:comp|source)?|entryTitle|eval(?:uate)?|exec(?:ute)?|exit|file(?:name)?|fill(?:attrs)?|flist|fnc|function(?:list)?|global|goto|group(?:by)?|headline|headskip|histogram|if|infile|keep|keylabel|keyword|label|layout|leave|legendlabel|length|libname|loadactionset|merge|midpoints|_?null_|name|noobs|nowd|ods|options|or|otherwise|out(?:put)?|over(?:lay)?|plot|print|put|raise|ranexp|rannor|rbreak|retain|return|select|session|sessref|set|source|statgraph|sum|summarize|table|temp|terminate|then\\s+do|then|title\\d?|to|var|when|where|xaxisopts|y2axisopts|yaxisopts)\\b/i,\n lookbehind: true\n }\n Prism.languages.sas = {\n datalines: {\n pattern: /^([ \\t]*)(?:cards|(?:data)?lines);[\\s\\S]+?^[ \\t]*;/im,\n lookbehind: true,\n alias: 'string',\n inside: {\n keyword: {\n pattern: /^(?:cards|(?:data)?lines)/i\n },\n punctuation: /;/\n }\n },\n 'proc-sql': {\n pattern:\n /(^proc\\s+(?:fed)?sql(?:\\s+[\\w|=]+)?;)[\\s\\S]+?(?=^(?:proc\\s+\\w+|data|quit|run);|(?![\\s\\S]))/im,\n lookbehind: true,\n inside: {\n sql: {\n pattern: RegExp(\n /^[ \\t]*(?:select|alter\\s+table|(?:create|describe|drop)\\s+(?:index|table(?:\\s+constraints)?|view)|create\\s+unique\\s+index|insert\\s+into|update)(?:<str>|[^;\"'])+;/.source.replace(\n /<str>/g,\n function () {\n return stringPattern\n }\n ),\n 'im'\n ),\n alias: 'language-sql',\n inside: Prism.languages.sql\n },\n 'global-statements': globalStatements,\n 'sql-statements': {\n pattern:\n /(^|\\s)(?:disconnect\\s+from|begin|commit|exec(?:ute)?|reset|rollback|validate)\\b/i,\n lookbehind: true,\n alias: 'keyword'\n },\n number: number,\n 'numeric-constant': numericConstant,\n punctuation: punctuation,\n string: string\n }\n },\n 'proc-groovy': {\n pattern:\n /(^proc\\s+groovy(?:\\s+[\\w|=]+)?;)[\\s\\S]+?(?=^(?:proc\\s+\\w+|data|quit|run);|(?![\\s\\S]))/im,\n lookbehind: true,\n inside: {\n comment: comment,\n groovy: {\n pattern: RegExp(\n /(^[ \\t]*submit(?:\\s+(?:load|norun|parseonly))?)(?:<str>|[^\"'])+?(?=endsubmit;)/.source.replace(\n /<str>/g,\n function () {\n return stringPattern\n }\n ),\n 'im'\n ),\n lookbehind: true,\n alias: 'language-groovy',\n inside: Prism.languages.groovy\n },\n keyword: keywords,\n 'submit-statement': submitStatement,\n 'global-statements': globalStatements,\n number: number,\n 'numeric-constant': numericConstant,\n punctuation: punctuation,\n string: string\n }\n },\n 'proc-lua': {\n pattern:\n /(^proc\\s+lua(?:\\s+[\\w|=]+)?;)[\\s\\S]+?(?=^(?:proc\\s+\\w+|data|quit|run);|(?![\\s\\S]))/im,\n lookbehind: true,\n inside: {\n comment: comment,\n lua: {\n pattern: RegExp(\n /(^[ \\t]*submit(?:\\s+(?:load|norun|parseonly))?)(?:<str>|[^\"'])+?(?=endsubmit;)/.source.replace(\n /<str>/g,\n function () {\n return stringPattern\n }\n ),\n 'im'\n ),\n lookbehind: true,\n alias: 'language-lua',\n inside: Prism.languages.lua\n },\n keyword: keywords,\n 'submit-statement': submitStatement,\n 'global-statements': globalStatements,\n number: number,\n 'numeric-constant': numericConstant,\n punctuation: punctuation,\n string: string\n }\n },\n 'proc-cas': {\n pattern:\n /(^proc\\s+cas(?:\\s+[\\w|=]+)?;)[\\s\\S]+?(?=^(?:proc\\s+\\w+|quit|data);|(?![\\s\\S]))/im,\n lookbehind: true,\n inside: {\n comment: comment,\n 'statement-var': {\n pattern: /((?:^|\\s)=?)saveresult\\s[^;]+/im,\n lookbehind: true,\n inside: {\n statement: {\n pattern: /^saveresult\\s+\\S+/i,\n inside: {\n keyword: /^(?:saveresult)/i\n }\n },\n rest: args\n }\n },\n 'cas-actions': casActions,\n statement: {\n pattern:\n /((?:^|\\s)=?)(?:default|(?:un)?set|on|output|upload)[^;]+/im,\n lookbehind: true,\n inside: args\n },\n step: step,\n keyword: keywords,\n function: func,\n format: format,\n altformat: altformat,\n 'global-statements': globalStatements,\n number: number,\n 'numeric-constant': numericConstant,\n punctuation: punctuation,\n string: string\n }\n },\n 'proc-args': {\n pattern: RegExp(\n /(^proc\\s+\\w+\\s+)(?!\\s)(?:[^;\"']|<str>)+;/.source.replace(\n /<str>/g,\n function () {\n return stringPattern\n }\n ),\n 'im'\n ),\n lookbehind: true,\n inside: args\n },\n /*Special keywords within macros*/\n 'macro-keyword': macroKeyword,\n 'macro-variable': macroVariable,\n 'macro-string-functions': {\n pattern:\n /((?:^|\\s|=))%(?:BQUOTE|NRBQUOTE|NRQUOTE|NRSTR|QUOTE|STR)\\(.*?(?:[^%]\\))/i,\n lookbehind: true,\n inside: {\n function: {\n pattern: /%(?:BQUOTE|NRBQUOTE|NRQUOTE|NRSTR|QUOTE|STR)/i,\n alias: 'keyword'\n },\n 'macro-keyword': macroKeyword,\n 'macro-variable': macroVariable,\n 'escaped-char': {\n pattern: /%['\"()<>=¬^~;,#]/\n },\n punctuation: punctuation\n }\n },\n 'macro-declaration': {\n pattern: /^%macro[^;]+(?=;)/im,\n inside: {\n keyword: /%macro/i\n }\n },\n 'macro-end': {\n pattern: /^%mend[^;]+(?=;)/im,\n inside: {\n keyword: /%mend/i\n }\n },\n /*%_zscore(headcir, _lhc, _mhc, _shc, headcz, headcpct, _Fheadcz); */\n macro: {\n pattern: /%_\\w+(?=\\()/,\n alias: 'keyword'\n },\n input: {\n pattern: /\\binput\\s[-\\w\\s/*.$&]+;/i,\n inside: {\n input: {\n alias: 'keyword',\n pattern: /^input/i\n },\n comment: comment,\n number: number,\n 'numeric-constant': numericConstant\n }\n },\n 'options-args': {\n pattern: /(^options)[-'\"|/\\\\<>*+=:()\\w\\s]*(?=;)/im,\n lookbehind: true,\n inside: args\n },\n 'cas-actions': casActions,\n comment: comment,\n function: func,\n format: format,\n altformat: altformat,\n 'numeric-constant': numericConstant,\n datetime: {\n // '1jan2013'd, '9:25:19pm't, '18jan2003:9:27:05am'dt\n pattern: RegExp(stringPattern + '(?:dt?|t)'),\n alias: 'number'\n },\n string: string,\n step: step,\n keyword: keywords,\n // In SAS Studio syntax highlighting, these operators are styled like keywords\n 'operator-keyword': {\n pattern: /\\b(?:eq|ge|gt|in|le|lt|ne|not)\\b/i,\n alias: 'operator'\n },\n // Decimal (1.2e23), hexadecimal (0c1x)\n number: number,\n operator: /\\*\\*?|\\|\\|?|!!?|¦¦?|<[>=]?|>[<=]?|[-+\\/=&]|[~¬^]=?/,\n punctuation: punctuation\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = sass\nsass.displayName = 'sass'\nsass.aliases = []\nfunction sass(Prism) {\n ;(function (Prism) {\n Prism.languages.sass = Prism.languages.extend('css', {\n // Sass comments don't need to be closed, only indented\n comment: {\n pattern: /^([ \\t]*)\\/[\\/*].*(?:(?:\\r?\\n|\\r)\\1[ \\t].+)*/m,\n lookbehind: true,\n greedy: true\n }\n })\n Prism.languages.insertBefore('sass', 'atrule', {\n // We want to consume the whole line\n 'atrule-line': {\n // Includes support for = and + shortcuts\n pattern: /^(?:[ \\t]*)[@+=].+/m,\n greedy: true,\n inside: {\n atrule: /(?:@[\\w-]+|[+=])/\n }\n }\n })\n delete Prism.languages.sass.atrule\n var variable = /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n var operator = [\n /[+*\\/%]|[=!]=|<=?|>=?|\\b(?:and|not|or)\\b/,\n {\n pattern: /(\\s)-(?=\\s)/,\n lookbehind: true\n }\n ]\n Prism.languages.insertBefore('sass', 'property', {\n // We want to consume the whole line\n 'variable-line': {\n pattern: /^[ \\t]*\\$.+/m,\n greedy: true,\n inside: {\n punctuation: /:/,\n variable: variable,\n operator: operator\n }\n },\n // We want to consume the whole line\n 'property-line': {\n pattern: /^[ \\t]*(?:[^:\\s]+ *:.*|:[^:\\s].*)/m,\n greedy: true,\n inside: {\n property: [\n /[^:\\s]+(?=\\s*:)/,\n {\n pattern: /(:)[^:\\s]+/,\n lookbehind: true\n }\n ],\n punctuation: /:/,\n variable: variable,\n operator: operator,\n important: Prism.languages.sass.important\n }\n }\n })\n delete Prism.languages.sass.property\n delete Prism.languages.sass.important // Now that whole lines for other patterns are consumed,\n // what's left should be selectors\n Prism.languages.insertBefore('sass', 'punctuation', {\n selector: {\n pattern:\n /^([ \\t]*)\\S(?:,[^,\\r\\n]+|[^,\\r\\n]*)(?:,[^,\\r\\n]+)*(?:,(?:\\r?\\n|\\r)\\1[ \\t]+\\S(?:,[^,\\r\\n]+|[^,\\r\\n]*)(?:,[^,\\r\\n]+)*)*/m,\n lookbehind: true,\n greedy: true\n }\n })\n })(Prism)\n}\n","'use strict'\nvar refractorJava = require('./java.js')\nmodule.exports = scala\nscala.displayName = 'scala'\nscala.aliases = []\nfunction scala(Prism) {\n Prism.register(refractorJava)\n Prism.languages.scala = Prism.languages.extend('java', {\n 'triple-quoted-string': {\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: true,\n alias: 'string'\n },\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n keyword:\n /<-|=>|\\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\\b/,\n number:\n /\\b0x(?:[\\da-f]*\\.)?[\\da-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e\\d+)?[dfl]?/i,\n builtin:\n /\\b(?:Any|AnyRef|AnyVal|Boolean|Byte|Char|Double|Float|Int|Long|Nothing|Short|String|Unit)\\b/,\n symbol: /'[^\\d\\s\\\\]\\w*/\n })\n Prism.languages.insertBefore('scala', 'triple-quoted-string', {\n 'string-interpolation': {\n pattern:\n /\\b[a-z]\\w*(?:\"\"\"(?:[^$]|\\$(?:[^{]|\\{(?:[^{}]|\\{[^{}]*\\})*\\}))*?\"\"\"|\"(?:[^$\"\\r\\n]|\\$(?:[^{]|\\{(?:[^{}]|\\{[^{}]*\\})*\\}))*\")/i,\n greedy: true,\n inside: {\n id: {\n pattern: /^\\w+/,\n greedy: true,\n alias: 'function'\n },\n escape: {\n pattern: /\\\\\\$\"|\\$[$\"]/,\n greedy: true,\n alias: 'symbol'\n },\n interpolation: {\n pattern: /\\$(?:\\w+|\\{(?:[^{}]|\\{[^{}]*\\})*\\})/,\n greedy: true,\n inside: {\n punctuation: /^\\$\\{?|\\}$/,\n expression: {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.scala\n }\n }\n },\n string: /[\\s\\S]+/\n }\n }\n })\n delete Prism.languages.scala['class-name']\n delete Prism.languages.scala['function']\n}\n","'use strict'\n\nmodule.exports = scheme\nscheme.displayName = 'scheme'\nscheme.aliases = []\nfunction scheme(Prism) {\n ;(function (Prism) {\n Prism.languages.scheme = {\n // this supports \"normal\" single-line comments:\n // ; comment\n // and (potentially nested) multiline comments:\n // #| comment #| nested |# still comment |#\n // (only 1 level of nesting is supported)\n comment:\n /;.*|#;\\s*(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\[(?:[^\\[\\]]|\\[[^\\[\\]]*\\])*\\])|#\\|(?:[^#|]|#(?!\\|)|\\|(?!#)|#\\|(?:[^#|]|#(?!\\|)|\\|(?!#))*\\|#)*\\|#/,\n string: {\n pattern: /\"(?:[^\"\\\\]|\\\\.)*\"/,\n greedy: true\n },\n symbol: {\n pattern: /'[^()\\[\\]#'\\s]+/,\n greedy: true\n },\n char: {\n pattern:\n /#\\\\(?:[ux][a-fA-F\\d]+\\b|[-a-zA-Z]+\\b|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|\\S)/,\n greedy: true\n },\n 'lambda-parameter': [\n // https://www.cs.cmu.edu/Groups/AI/html/r4rs/r4rs_6.html#SEC30\n {\n pattern:\n /((?:^|[^'`#])[(\\[]lambda\\s+)(?:[^|()\\[\\]'\\s]+|\\|(?:[^\\\\|]|\\\\.)*\\|)/,\n lookbehind: true\n },\n {\n pattern: /((?:^|[^'`#])[(\\[]lambda\\s+[(\\[])[^()\\[\\]']+/,\n lookbehind: true\n }\n ],\n keyword: {\n pattern:\n /((?:^|[^'`#])[(\\[])(?:begin|case(?:-lambda)?|cond(?:-expand)?|define(?:-library|-macro|-record-type|-syntax|-values)?|defmacro|delay(?:-force)?|do|else|except|export|guard|if|import|include(?:-ci|-library-declarations)?|lambda|let(?:rec)?(?:-syntax|-values|\\*)?|let\\*-values|only|parameterize|prefix|(?:quasi-?)?quote|rename|set!|syntax-(?:case|rules)|unless|unquote(?:-splicing)?|when)(?=[()\\[\\]\\s]|$)/,\n lookbehind: true\n },\n builtin: {\n // all functions of the base library of R7RS plus some of built-ins of R5Rs\n pattern:\n /((?:^|[^'`#])[(\\[])(?:abs|and|append|apply|assoc|ass[qv]|binary-port\\?|boolean=?\\?|bytevector(?:-append|-copy|-copy!|-length|-u8-ref|-u8-set!|\\?)?|caar|cadr|call-with-(?:current-continuation|port|values)|call\\/cc|car|cdar|cddr|cdr|ceiling|char(?:->integer|-ready\\?|\\?|<\\?|<=\\?|=\\?|>\\?|>=\\?)|close-(?:input-port|output-port|port)|complex\\?|cons|current-(?:error|input|output)-port|denominator|dynamic-wind|eof-object\\??|eq\\?|equal\\?|eqv\\?|error|error-object(?:-irritants|-message|\\?)|eval|even\\?|exact(?:-integer-sqrt|-integer\\?|\\?)?|expt|features|file-error\\?|floor(?:-quotient|-remainder|\\/)?|flush-output-port|for-each|gcd|get-output-(?:bytevector|string)|inexact\\??|input-port(?:-open\\?|\\?)|integer(?:->char|\\?)|lcm|length|list(?:->string|->vector|-copy|-ref|-set!|-tail|\\?)?|make-(?:bytevector|list|parameter|string|vector)|map|max|member|memq|memv|min|modulo|negative\\?|newline|not|null\\?|number(?:->string|\\?)|numerator|odd\\?|open-(?:input|output)-(?:bytevector|string)|or|output-port(?:-open\\?|\\?)|pair\\?|peek-char|peek-u8|port\\?|positive\\?|procedure\\?|quotient|raise|raise-continuable|rational\\?|rationalize|read-(?:bytevector|bytevector!|char|error\\?|line|string|u8)|real\\?|remainder|reverse|round|set-c[ad]r!|square|string(?:->list|->number|->symbol|->utf8|->vector|-append|-copy|-copy!|-fill!|-for-each|-length|-map|-ref|-set!|\\?|<\\?|<=\\?|=\\?|>\\?|>=\\?)?|substring|symbol(?:->string|\\?|=\\?)|syntax-error|textual-port\\?|truncate(?:-quotient|-remainder|\\/)?|u8-ready\\?|utf8->string|values|vector(?:->list|->string|-append|-copy|-copy!|-fill!|-for-each|-length|-map|-ref|-set!|\\?)?|with-exception-handler|write-(?:bytevector|char|string|u8)|zero\\?)(?=[()\\[\\]\\s]|$)/,\n lookbehind: true\n },\n operator: {\n pattern: /((?:^|[^'`#])[(\\[])(?:[-+*%/]|[<>]=?|=>?)(?=[()\\[\\]\\s]|$)/,\n lookbehind: true\n },\n number: {\n // The number pattern from [the R7RS spec](https://small.r7rs.org/attachment/r7rs.pdf).\n //\n // <number> := <num 2>|<num 8>|<num 10>|<num 16>\n // <num R> := <prefix R><complex R>\n // <complex R> := <real R>(?:@<real R>|<imaginary R>)?|<imaginary R>\n // <imaginary R> := [+-](?:<ureal R>|(?:inf|nan)\\.0)?i\n // <real R> := [+-]?<ureal R>|[+-](?:inf|nan)\\.0\n // <ureal R> := <uint R>(?:\\/<uint R>)?\n // | <decimal R>\n //\n // <decimal 10> := (?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?\n // <uint R> := <digit R>+\n // <prefix R> := <radix R>(?:#[ei])?|(?:#[ei])?<radix R>\n // <radix 2> := #b\n // <radix 8> := #o\n // <radix 10> := (?:#d)?\n // <radix 16> := #x\n // <digit 2> := [01]\n // <digit 8> := [0-7]\n // <digit 10> := \\d\n // <digit 16> := [0-9a-f]\n //\n // The problem with this grammar is that the resulting regex is way to complex, so we simplify by grouping all\n // non-decimal bases together. This results in a decimal (dec) and combined binary, octal, and hexadecimal (box)\n // pattern:\n pattern: RegExp(\n SortedBNF({\n '<ureal dec>':\n /\\d+(?:\\/\\d+)|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[esfdl][+-]?\\d+)?/.source,\n '<real dec>': /[+-]?<ureal dec>|[+-](?:inf|nan)\\.0/.source,\n '<imaginary dec>': /[+-](?:<ureal dec>|(?:inf|nan)\\.0)?i/.source,\n '<complex dec>':\n /<real dec>(?:@<real dec>|<imaginary dec>)?|<imaginary dec>/\n .source,\n '<num dec>': /(?:#d(?:#[ei])?|#[ei](?:#d)?)?<complex dec>/.source,\n '<ureal box>': /[0-9a-f]+(?:\\/[0-9a-f]+)?/.source,\n '<real box>': /[+-]?<ureal box>|[+-](?:inf|nan)\\.0/.source,\n '<imaginary box>': /[+-](?:<ureal box>|(?:inf|nan)\\.0)?i/.source,\n '<complex box>':\n /<real box>(?:@<real box>|<imaginary box>)?|<imaginary box>/\n .source,\n '<num box>': /#[box](?:#[ei])?|(?:#[ei])?#[box]<complex box>/\n .source,\n '<number>': /(^|[()\\[\\]\\s])(?:<num dec>|<num box>)(?=[()\\[\\]\\s]|$)/\n .source\n }),\n 'i'\n ),\n lookbehind: true\n },\n boolean: {\n pattern: /(^|[()\\[\\]\\s])#(?:[ft]|false|true)(?=[()\\[\\]\\s]|$)/,\n lookbehind: true\n },\n function: {\n pattern:\n /((?:^|[^'`#])[(\\[])(?:[^|()\\[\\]'\\s]+|\\|(?:[^\\\\|]|\\\\.)*\\|)(?=[()\\[\\]\\s]|$)/,\n lookbehind: true\n },\n identifier: {\n pattern: /(^|[()\\[\\]\\s])\\|(?:[^\\\\|]|\\\\.)*\\|(?=[()\\[\\]\\s]|$)/,\n lookbehind: true,\n greedy: true\n },\n punctuation: /[()\\[\\]']/\n }\n /**\n * Given a topologically sorted BNF grammar, this will return the RegExp source of last rule of the grammar.\n *\n * @param {Record<string, string>} grammar\n * @returns {string}\n */\n function SortedBNF(grammar) {\n for (var key in grammar) {\n grammar[key] = grammar[key].replace(/<[\\w\\s]+>/g, function (key) {\n return '(?:' + grammar[key].trim() + ')'\n })\n } // return the last item\n return grammar[key]\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = scss\nscss.displayName = 'scss'\nscss.aliases = []\nfunction scss(Prism) {\n Prism.languages.scss = Prism.languages.extend('css', {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: true\n },\n atrule: {\n pattern: /@[\\w-](?:\\([^()]+\\)|[^()\\s]|\\s+(?!\\s))*?(?=\\s+[{;])/,\n inside: {\n rule: /@[\\w-]+/ // See rest below\n }\n },\n // url, compassified\n url: /(?:[-a-z]+-)?url(?=\\()/i,\n // CSS selector regex is not appropriate for Sass\n // since there can be lot more things (var, @ directive, nesting..)\n // a selector must start at the end of a property or after a brace (end of other rules or nesting)\n // it can contain some characters that aren't used for defining rules or end of selector, & (parent selector), or interpolated variable\n // the end of a selector is found when there is no rules in it ( {} or {\\s}) or if there is a property (because an interpolated var\n // can \"pass\" as a selector- e.g: proper#{$erty})\n // this one was hard to do, so please be careful if you edit this one :)\n selector: {\n // Initial look-ahead is used to prevent matching of blank selectors\n pattern:\n /(?=\\S)[^@;{}()]?(?:[^@;{}()\\s]|\\s+(?!\\s)|#\\{\\$[-\\w]+\\})+(?=\\s*\\{(?:\\}|\\s|[^}][^:{}]*[:{][^}]))/,\n inside: {\n parent: {\n pattern: /&/,\n alias: 'important'\n },\n placeholder: /%[-\\w]+/,\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n }\n },\n property: {\n pattern: /(?:[-\\w]|\\$[-\\w]|#\\{\\$[-\\w]+\\})+(?=\\s*:)/,\n inside: {\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n }\n }\n })\n Prism.languages.insertBefore('scss', 'atrule', {\n keyword: [\n /@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\\b/i,\n {\n pattern: /( )(?:from|through)(?= )/,\n lookbehind: true\n }\n ]\n })\n Prism.languages.insertBefore('scss', 'important', {\n // var and interpolated vars\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n })\n Prism.languages.insertBefore('scss', 'function', {\n 'module-modifier': {\n pattern: /\\b(?:as|hide|show|with)\\b/i,\n alias: 'keyword'\n },\n placeholder: {\n pattern: /%[-\\w]+/,\n alias: 'selector'\n },\n statement: {\n pattern: /\\B!(?:default|optional)\\b/i,\n alias: 'keyword'\n },\n boolean: /\\b(?:false|true)\\b/,\n null: {\n pattern: /\\bnull\\b/,\n alias: 'keyword'\n },\n operator: {\n pattern: /(\\s)(?:[-+*\\/%]|[=!]=|<=?|>=?|and|not|or)(?=\\s)/,\n lookbehind: true\n }\n })\n Prism.languages.scss['atrule'].inside.rest = Prism.languages.scss\n}\n","'use strict'\nvar refractorBash = require('./bash.js')\nmodule.exports = shellSession\nshellSession.displayName = 'shellSession'\nshellSession.aliases = []\nfunction shellSession(Prism) {\n Prism.register(refractorBash)\n ;(function (Prism) {\n // CAREFUL!\n // The following patterns are concatenated, so the group referenced by a back reference is non-obvious!\n var strings = [\n // normal string\n /\"(?:\\\\[\\s\\S]|\\$\\([^)]+\\)|\\$(?!\\()|`[^`]+`|[^\"\\\\`$])*\"/.source,\n /'[^']*'/.source,\n /\\$'(?:[^'\\\\]|\\\\[\\s\\S])*'/.source, // here doc\n // 2 capturing groups\n /<<-?\\s*([\"']?)(\\w+)\\1\\s[\\s\\S]*?[\\r\\n]\\2/.source\n ].join('|')\n Prism.languages['shell-session'] = {\n command: {\n pattern: RegExp(\n // user info\n /^/.source +\n '(?:' + // <user> \":\" ( <path> )?\n (/[^\\s@:$#%*!/\\\\]+@[^\\r\\n@:$#%*!/\\\\]+(?::[^\\0-\\x1F$#%*?\"<>:;|]+)?/\n .source +\n '|' + // <path>\n // Since the path pattern is quite general, we will require it to start with a special character to\n // prevent false positives.\n /[/~.][^\\0-\\x1F$#%*?\"<>@:;|]*/.source) +\n ')?' + // shell symbol\n /[$#%](?=\\s)/.source + // bash command\n /(?:[^\\\\\\r\\n \\t'\"<$]|[ \\t](?:(?!#)|#.*$)|\\\\(?:[^\\r]|\\r\\n?)|\\$(?!')|<(?!<)|<<str>>)+/.source.replace(\n /<<str>>/g,\n function () {\n return strings\n }\n ),\n 'm'\n ),\n greedy: true,\n inside: {\n info: {\n // foo@bar:~/files$ exit\n // foo@bar$ exit\n // ~/files$ exit\n pattern: /^[^#$%]+/,\n alias: 'punctuation',\n inside: {\n user: /^[^\\s@:$#%*!/\\\\]+@[^\\r\\n@:$#%*!/\\\\]+/,\n punctuation: /:/,\n path: /[\\s\\S]+/\n }\n },\n bash: {\n pattern: /(^[$#%]\\s*)\\S[\\s\\S]*/,\n lookbehind: true,\n alias: 'language-bash',\n inside: Prism.languages.bash\n },\n 'shell-symbol': {\n pattern: /^[$#%]/,\n alias: 'important'\n }\n }\n },\n output: /.(?:.*(?:[\\r\\n]|.$))*/\n }\n Prism.languages['sh-session'] = Prism.languages['shellsession'] =\n Prism.languages['shell-session']\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = smali\nsmali.displayName = 'smali'\nsmali.aliases = []\nfunction smali(Prism) {\n // Test files for the parser itself:\n // https://github.com/JesusFreke/smali/tree/master/smali/src/test/resources/LexerTest\n Prism.languages.smali = {\n comment: /#.*/,\n string: {\n pattern: /\"(?:[^\\r\\n\\\\\"]|\\\\.)*\"|'(?:[^\\r\\n\\\\']|\\\\(?:.|u[\\da-fA-F]{4}))'/,\n greedy: true\n },\n 'class-name': {\n pattern:\n /(^|[^L])L(?:(?:\\w+|`[^`\\r\\n]*`)\\/)*(?:[\\w$]+|`[^`\\r\\n]*`)(?=\\s*;)/,\n lookbehind: true,\n inside: {\n 'class-name': {\n pattern: /(^L|\\/)(?:[\\w$]+|`[^`\\r\\n]*`)$/,\n lookbehind: true\n },\n namespace: {\n pattern: /^(L)(?:(?:\\w+|`[^`\\r\\n]*`)\\/)+/,\n lookbehind: true,\n inside: {\n punctuation: /\\//\n }\n },\n builtin: /^L/\n }\n },\n builtin: [\n {\n // Reference: https://github.com/JesusFreke/smali/wiki/TypesMethodsAndFields#types\n pattern: /([();\\[])[BCDFIJSVZ]+/,\n lookbehind: true\n },\n {\n // e.g. .field mWifiOnUid:I\n pattern: /([\\w$>]:)[BCDFIJSVZ]/,\n lookbehind: true\n }\n ],\n keyword: [\n {\n pattern: /(\\.end\\s+)[\\w-]+/,\n lookbehind: true\n },\n {\n pattern: /(^|[^\\w.-])\\.(?!\\d)[\\w-]+/,\n lookbehind: true\n },\n {\n pattern:\n /(^|[^\\w.-])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\\w.-])/,\n lookbehind: true\n }\n ],\n function: {\n pattern: /(^|[^\\w.-])(?:\\w+|<[\\w$-]+>)(?=\\()/,\n lookbehind: true\n },\n field: {\n pattern: /[\\w$]+(?=:)/,\n alias: 'variable'\n },\n register: {\n pattern: /(^|[^\\w.-])[vp]\\d(?![\\w.-])/,\n lookbehind: true,\n alias: 'variable'\n },\n boolean: {\n pattern: /(^|[^\\w.-])(?:false|true)(?![\\w.-])/,\n lookbehind: true\n },\n number: {\n pattern:\n /(^|[^/\\w.-])-?(?:NAN|INFINITY|0x(?:[\\dA-F]+(?:\\.[\\dA-F]*)?|\\.[\\dA-F]+)(?:p[+-]?[\\dA-F]+)?|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?)[dflst]?(?![\\w.-])/i,\n lookbehind: true\n },\n label: {\n pattern: /(:)\\w+/,\n lookbehind: true,\n alias: 'property'\n },\n operator: /->|\\.\\.|[\\[=]/,\n punctuation: /[{}(),;:]/\n }\n}\n","'use strict'\n\nmodule.exports = smalltalk\nsmalltalk.displayName = 'smalltalk'\nsmalltalk.aliases = []\nfunction smalltalk(Prism) {\n Prism.languages.smalltalk = {\n comment: {\n pattern: /\"(?:\"\"|[^\"])*\"/,\n greedy: true\n },\n char: {\n pattern: /\\$./,\n greedy: true\n },\n string: {\n pattern: /'(?:''|[^'])*'/,\n greedy: true\n },\n symbol: /#[\\da-z]+|#(?:-|([+\\/\\\\*~<>=@%|&?!])\\1?)|#(?=\\()/i,\n 'block-arguments': {\n pattern: /(\\[\\s*):[^\\[|]*\\|/,\n lookbehind: true,\n inside: {\n variable: /:[\\da-z]+/i,\n punctuation: /\\|/\n }\n },\n 'temporary-variables': {\n pattern: /\\|[^|]+\\|/,\n inside: {\n variable: /[\\da-z]+/i,\n punctuation: /\\|/\n }\n },\n keyword: /\\b(?:new|nil|self|super)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n number: [\n /\\d+r-?[\\dA-Z]+(?:\\.[\\dA-Z]+)?(?:e-?\\d+)?/,\n /\\b\\d+(?:\\.\\d+)?(?:e-?\\d+)?/\n ],\n operator: /[<=]=?|:=|~[~=]|\\/\\/?|\\\\\\\\|>[>=]?|[!^+\\-*&|,@]/,\n punctuation: /[.;:?\\[\\](){}]/\n }\n}\n","'use strict'\nvar refractorMarkupTemplating = require('./markup-templating.js')\nmodule.exports = smarty\nsmarty.displayName = 'smarty'\nsmarty.aliases = []\nfunction smarty(Prism) {\n Prism.register(refractorMarkupTemplating)\n ;(function (Prism) {\n Prism.languages.smarty = {\n comment: {\n pattern: /^\\{\\*[\\s\\S]*?\\*\\}/,\n greedy: true\n },\n 'embedded-php': {\n pattern: /^\\{php\\}[\\s\\S]*?\\{\\/php\\}/,\n greedy: true,\n inside: {\n smarty: {\n pattern: /^\\{php\\}|\\{\\/php\\}$/,\n inside: null // see below\n },\n php: {\n pattern: /[\\s\\S]+/,\n alias: 'language-php',\n inside: Prism.languages.php\n }\n }\n },\n string: [\n {\n pattern: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /\\{[^{}]*\\}|`[^`]*`/,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^[{`]|[`}]$/,\n alias: 'punctuation'\n },\n expression: {\n pattern: /[\\s\\S]+/,\n inside: null // see below\n }\n }\n },\n variable: /\\$\\w+/\n }\n },\n {\n pattern: /'(?:\\\\.|[^'\\\\\\r\\n])*'/,\n greedy: true\n }\n ],\n keyword: {\n pattern: /(^\\{\\/?)[a-z_]\\w*\\b(?!\\()/i,\n lookbehind: true,\n greedy: true\n },\n delimiter: {\n pattern: /^\\{\\/?|\\}$/,\n greedy: true,\n alias: 'punctuation'\n },\n number: /\\b0x[\\dA-Fa-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee][-+]?\\d+)?/,\n variable: [\n /\\$(?!\\d)\\w+/,\n /#(?!\\d)\\w+#/,\n {\n pattern: /(\\.|->|\\w\\s*=)(?!\\d)\\w+\\b(?!\\()/,\n lookbehind: true\n },\n {\n pattern: /(\\[)(?!\\d)\\w+(?=\\])/,\n lookbehind: true\n }\n ],\n function: {\n pattern: /(\\|\\s*)@?[a-z_]\\w*|\\b[a-z_]\\w*(?=\\()/i,\n lookbehind: true\n },\n 'attr-name': /\\b[a-z_]\\w*(?=\\s*=)/i,\n boolean: /\\b(?:false|no|off|on|true|yes)\\b/,\n punctuation: /[\\[\\](){}.,:`]|->/,\n operator: [\n /[+\\-*\\/%]|==?=?|[!<>]=?|&&|\\|\\|?/,\n /\\bis\\s+(?:not\\s+)?(?:div|even|odd)(?:\\s+by)?\\b/,\n /\\b(?:and|eq|gt?e|gt|lt?e|lt|mod|neq?|not|or)\\b/\n ]\n }\n Prism.languages.smarty['embedded-php'].inside.smarty.inside =\n Prism.languages.smarty\n Prism.languages.smarty.string[0].inside.interpolation.inside.expression.inside =\n Prism.languages.smarty\n var string = /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|'(?:\\\\.|[^'\\\\\\r\\n])*'/\n var smartyPattern = RegExp(\n // comments\n /\\{\\*[\\s\\S]*?\\*\\}/.source +\n '|' + // php tags\n /\\{php\\}[\\s\\S]*?\\{\\/php\\}/.source +\n '|' + // smarty blocks\n /\\{(?:[^{}\"']|<str>|\\{(?:[^{}\"']|<str>|\\{(?:[^{}\"']|<str>)*\\})*\\})*\\}/.source.replace(\n /<str>/g,\n function () {\n return string.source\n }\n ),\n 'g'\n ) // Tokenize all inline Smarty expressions\n Prism.hooks.add('before-tokenize', function (env) {\n var smartyLiteralStart = '{literal}'\n var smartyLiteralEnd = '{/literal}'\n var smartyLiteralMode = false\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'smarty',\n smartyPattern,\n function (match) {\n // Smarty tags inside {literal} block are ignored\n if (match === smartyLiteralEnd) {\n smartyLiteralMode = false\n }\n if (!smartyLiteralMode) {\n if (match === smartyLiteralStart) {\n smartyLiteralMode = true\n }\n return true\n }\n return false\n }\n )\n }) // Re-insert the tokens after tokenizing\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'smarty')\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = sml\nsml.displayName = 'sml'\nsml.aliases = ['smlnj']\nfunction sml(Prism) {\n // https://smlfamily.github.io/sml97-defn.pdf\n // https://people.mpi-sws.org/~rossberg/sml.html\n ;(function (Prism) {\n var keywords =\n /\\b(?:abstype|and|andalso|as|case|datatype|do|else|end|eqtype|exception|fn|fun|functor|handle|if|in|include|infix|infixr|let|local|nonfix|of|op|open|orelse|raise|rec|sharing|sig|signature|struct|structure|then|type|val|where|while|with|withtype)\\b/i\n Prism.languages.sml = {\n // allow one level of nesting\n comment:\n /\\(\\*(?:[^*(]|\\*(?!\\))|\\((?!\\*)|\\(\\*(?:[^*(]|\\*(?!\\))|\\((?!\\*))*\\*\\))*\\*\\)/,\n string: {\n pattern: /#?\"(?:[^\"\\\\]|\\\\.)*\"/,\n greedy: true\n },\n 'class-name': [\n {\n // This is only an approximation since the real grammar is context-free\n //\n // Why the main loop so complex?\n // The main loop is approximately the same as /(?:\\s*(?:[*,]|->)\\s*<TERMINAL>)*/ which is, obviously, a lot\n // simpler. The difference is that if a comma is the last iteration of the loop, then the terminal must be\n // followed by a long identifier.\n pattern: RegExp(\n /((?:^|[^:]):\\s*)<TERMINAL>(?:\\s*(?:(?:\\*|->)\\s*<TERMINAL>|,\\s*<TERMINAL>(?:(?=<NOT-LAST>)|(?!<NOT-LAST>)\\s+<LONG-ID>)))*/.source\n .replace(/<NOT-LAST>/g, function () {\n return /\\s*(?:[*,]|->)/.source\n })\n .replace(/<TERMINAL>/g, function () {\n return /(?:'[\\w']*|<LONG-ID>|\\((?:[^()]|\\([^()]*\\))*\\)|\\{(?:[^{}]|\\{[^{}]*\\})*\\})(?:\\s+<LONG-ID>)*/\n .source\n })\n .replace(/<LONG-ID>/g, function () {\n return /(?!<KEYWORD>)[a-z\\d_][\\w'.]*/.source\n })\n .replace(/<KEYWORD>/g, function () {\n return keywords.source\n }),\n 'i'\n ),\n lookbehind: true,\n greedy: true,\n inside: null // see below\n },\n {\n pattern:\n /((?:^|[^\\w'])(?:datatype|exception|functor|signature|structure|type)\\s+)[a-z_][\\w'.]*/i,\n lookbehind: true\n }\n ],\n function: {\n pattern: /((?:^|[^\\w'])fun\\s+)[a-z_][\\w'.]*/i,\n lookbehind: true\n },\n keyword: keywords,\n variable: {\n pattern: /(^|[^\\w'])'[\\w']*/,\n lookbehind: true\n },\n number: /~?\\b(?:\\d+(?:\\.\\d+)?(?:e~?\\d+)?|0x[\\da-f]+)\\b/i,\n word: {\n pattern: /\\b0w(?:\\d+|x[\\da-f]+)\\b/i,\n alias: 'constant'\n },\n boolean: /\\b(?:false|true)\\b/i,\n operator: /\\.\\.\\.|:[>=:]|=>?|->|[<>]=?|[!+\\-*/^#|@~]/,\n punctuation: /[(){}\\[\\].:,;]/\n }\n Prism.languages.sml['class-name'][0].inside = Prism.languages.sml\n Prism.languages.smlnj = Prism.languages.sml\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = solidity\nsolidity.displayName = 'solidity'\nsolidity.aliases = ['sol']\nfunction solidity(Prism) {\n Prism.languages.solidity = Prism.languages.extend('clike', {\n 'class-name': {\n pattern:\n /(\\b(?:contract|enum|interface|library|new|struct|using)\\s+)(?!\\d)[\\w$]+/,\n lookbehind: true\n },\n keyword:\n /\\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\\b/,\n operator: /=>|->|:=|=:|\\*\\*|\\+\\+|--|\\|\\||&&|<<=?|>>=?|[-+*/%^&|<>!=]=?|[~?]/\n })\n Prism.languages.insertBefore('solidity', 'keyword', {\n builtin:\n /\\b(?:address|bool|byte|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|string|bytes(?:[1-9]|[12]\\d|3[0-2])?)\\b/\n })\n Prism.languages.insertBefore('solidity', 'number', {\n version: {\n pattern: /([<>]=?|\\^)\\d+\\.\\d+\\.\\d+\\b/,\n lookbehind: true,\n alias: 'number'\n }\n })\n Prism.languages.sol = Prism.languages.solidity\n}\n","'use strict'\n\nmodule.exports = solutionFile\nsolutionFile.displayName = 'solutionFile'\nsolutionFile.aliases = []\nfunction solutionFile(Prism) {\n ;(function (Prism) {\n var guid = {\n // https://en.wikipedia.org/wiki/Universally_unique_identifier#Format\n pattern: /\\{[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}\\}/i,\n alias: 'constant',\n inside: {\n punctuation: /[{}]/\n }\n }\n Prism.languages['solution-file'] = {\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n string: {\n pattern: /\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'/,\n greedy: true,\n inside: {\n guid: guid\n }\n },\n object: {\n // Foo\n // Bar(\"abs\") = 9\n // EndBar\n // Prop = TRUE\n // EndFoo\n pattern:\n /^([ \\t]*)(?:([A-Z]\\w*)\\b(?=.*(?:\\r\\n?|\\n)(?:\\1[ \\t].*(?:\\r\\n?|\\n))*\\1End\\2(?=[ \\t]*$))|End[A-Z]\\w*(?=[ \\t]*$))/m,\n lookbehind: true,\n greedy: true,\n alias: 'keyword'\n },\n property: {\n pattern: /^([ \\t]*)(?!\\s)[^\\r\\n\"#=()]*[^\\s\"#=()](?=\\s*=)/m,\n lookbehind: true,\n inside: {\n guid: guid\n }\n },\n guid: guid,\n number: /\\b\\d+(?:\\.\\d+)*\\b/,\n boolean: /\\b(?:FALSE|TRUE)\\b/,\n operator: /=/,\n punctuation: /[(),]/\n }\n Prism.languages['sln'] = Prism.languages['solution-file']\n })(Prism)\n}\n","'use strict'\nvar refractorMarkupTemplating = require('./markup-templating.js')\nmodule.exports = soy\nsoy.displayName = 'soy'\nsoy.aliases = []\nfunction soy(Prism) {\n Prism.register(refractorMarkupTemplating)\n ;(function (Prism) {\n var stringPattern = /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/\n var numberPattern = /\\b\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\b|\\b0x[\\dA-F]+\\b/\n Prism.languages.soy = {\n comment: [\n /\\/\\*[\\s\\S]*?\\*\\//,\n {\n pattern: /(\\s)\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n 'command-arg': {\n pattern:\n /(\\{+\\/?\\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\\s+)\\.?[\\w.]+/,\n lookbehind: true,\n alias: 'string',\n inside: {\n punctuation: /\\./\n }\n },\n parameter: {\n pattern: /(\\{+\\/?\\s*@?param\\??\\s+)\\.?[\\w.]+/,\n lookbehind: true,\n alias: 'variable'\n },\n keyword: [\n {\n pattern:\n /(\\{+\\/?[^\\S\\r\\n]*)(?:\\\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\\??|rb|sp|switch|template|xid)/,\n lookbehind: true\n },\n /\\b(?:any|as|attributes|bool|css|float|html|in|int|js|list|map|null|number|string|uri)\\b/\n ],\n delimiter: {\n pattern: /^\\{+\\/?|\\/?\\}+$/,\n alias: 'punctuation'\n },\n property: /\\w+(?==)/,\n variable: {\n pattern: /\\$[^\\W\\d]\\w*(?:\\??(?:\\.\\w+|\\[[^\\]]+\\]))*/,\n inside: {\n string: {\n pattern: stringPattern,\n greedy: true\n },\n number: numberPattern,\n punctuation: /[\\[\\].?]/\n }\n },\n string: {\n pattern: stringPattern,\n greedy: true\n },\n function: [\n /\\w+(?=\\()/,\n {\n pattern: /(\\|[^\\S\\r\\n]*)\\w+/,\n lookbehind: true\n }\n ],\n boolean: /\\b(?:false|true)\\b/,\n number: numberPattern,\n operator: /\\?:?|<=?|>=?|==?|!=|[+*/%-]|\\b(?:and|not|or)\\b/,\n punctuation: /[{}()\\[\\]|.,:]/\n } // Tokenize all inline Soy expressions\n Prism.hooks.add('before-tokenize', function (env) {\n var soyPattern = /\\{\\{.+?\\}\\}|\\{.+?\\}|\\s\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//g\n var soyLitteralStart = '{literal}'\n var soyLitteralEnd = '{/literal}'\n var soyLitteralMode = false\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'soy',\n soyPattern,\n function (match) {\n // Soy tags inside {literal} block are ignored\n if (match === soyLitteralEnd) {\n soyLitteralMode = false\n }\n if (!soyLitteralMode) {\n if (match === soyLitteralStart) {\n soyLitteralMode = true\n }\n return true\n }\n return false\n }\n )\n }) // Re-insert the tokens after tokenizing\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'soy')\n })\n })(Prism)\n}\n","'use strict'\nvar refractorTurtle = require('./turtle.js')\nmodule.exports = sparql\nsparql.displayName = 'sparql'\nsparql.aliases = ['rq']\nfunction sparql(Prism) {\n Prism.register(refractorTurtle)\n Prism.languages.sparql = Prism.languages.extend('turtle', {\n boolean: /\\b(?:false|true)\\b/i,\n variable: {\n pattern: /[?$]\\w+/,\n greedy: true\n }\n })\n Prism.languages.insertBefore('sparql', 'punctuation', {\n keyword: [\n /\\b(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DELETE|DESC|DESCRIBE|DISTINCT|DROP|EXISTS|FILTER|FROM|GROUP|HAVING|INSERT|INTO|LIMIT|LOAD|MINUS|MOVE|NAMED|NOT|NOW|OFFSET|OPTIONAL|ORDER|RAND|REDUCED|SELECT|SEPARATOR|SERVICE|SILENT|STRUUID|UNION|USING|UUID|VALUES|WHERE)\\b/i,\n /\\b(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE_FOR_URI|FLOOR|GROUP_CONCAT|HOURS|IF|IRI|isBLANK|isIRI|isLITERAL|isNUMERIC|isURI|LANG|LANGMATCHES|LCASE|MAX|MD5|MIN|MINUTES|MONTH|REGEX|REPLACE|ROUND|sameTerm|SAMPLE|SECONDS|SHA1|SHA256|SHA384|SHA512|STR|STRAFTER|STRBEFORE|STRDT|STRENDS|STRLANG|STRLEN|STRSTARTS|SUBSTR|SUM|TIMEZONE|TZ|UCASE|URI|YEAR)\\b(?=\\s*\\()/i,\n /\\b(?:BASE|GRAPH|PREFIX)\\b/i\n ]\n })\n Prism.languages.rq = Prism.languages.sparql\n}\n","'use strict'\n\nmodule.exports = splunkSpl\nsplunkSpl.displayName = 'splunkSpl'\nsplunkSpl.aliases = []\nfunction splunkSpl(Prism) {\n Prism.languages['splunk-spl'] = {\n comment: /`comment\\(\"(?:\\\\.|[^\\\\\"])*\"\\)`/,\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"])*\"/,\n greedy: true\n },\n // https://docs.splunk.com/Documentation/Splunk/7.3.0/SearchReference/ListOfSearchCommands\n keyword:\n /\\b(?:abstract|accum|addcoltotals|addinfo|addtotals|analyzefields|anomalies|anomalousvalue|anomalydetection|append|appendcols|appendcsv|appendlookup|appendpipe|arules|associate|audit|autoregress|bin|bucket|bucketdir|chart|cluster|cofilter|collect|concurrency|contingency|convert|correlate|datamodel|dbinspect|dedup|delete|delta|diff|erex|eval|eventcount|eventstats|extract|fieldformat|fields|fieldsummary|filldown|fillnull|findtypes|folderize|foreach|format|from|gauge|gentimes|geom|geomfilter|geostats|head|highlight|history|iconify|input|inputcsv|inputlookup|iplocation|join|kmeans|kv|kvform|loadjob|localize|localop|lookup|makecontinuous|makemv|makeresults|map|mcollect|metadata|metasearch|meventcollect|mstats|multikv|multisearch|mvcombine|mvexpand|nomv|outlier|outputcsv|outputlookup|outputtext|overlap|pivot|predict|rangemap|rare|regex|relevancy|reltime|rename|replace|rest|return|reverse|rex|rtorder|run|savedsearch|script|scrub|search|searchtxn|selfjoin|sendemail|set|setfields|sichart|sirare|sistats|sitimechart|sitop|sort|spath|stats|strcat|streamstats|table|tags|tail|timechart|timewrap|top|transaction|transpose|trendline|tscollect|tstats|typeahead|typelearner|typer|union|uniq|untable|where|x11|xmlkv|xmlunescape|xpath|xyseries)\\b/i,\n 'operator-word': {\n pattern: /\\b(?:and|as|by|not|or|xor)\\b/i,\n alias: 'operator'\n },\n function: /\\b\\w+(?=\\s*\\()/,\n property: /\\b\\w+(?=\\s*=(?!=))/,\n date: {\n // MM/DD/YYYY(:HH:MM:SS)?\n pattern: /\\b\\d{1,2}\\/\\d{1,2}\\/\\d{1,4}(?:(?::\\d{1,2}){3})?\\b/,\n alias: 'number'\n },\n number: /\\b\\d+(?:\\.\\d+)?\\b/,\n boolean: /\\b(?:f|false|t|true)\\b/i,\n operator: /[<>=]=?|[-+*/%|]/,\n punctuation: /[()[\\],]/\n }\n}\n","'use strict'\n\nmodule.exports = sqf\nsqf.displayName = 'sqf'\nsqf.aliases = []\nfunction sqf(Prism) {\n Prism.languages.sqf = Prism.languages.extend('clike', {\n string: {\n pattern: /\"(?:(?:\"\")?[^\"])*\"(?!\")|'(?:[^'])*'/,\n greedy: true\n },\n keyword:\n /\\b(?:breakOut|breakTo|call|case|catch|default|do|echo|else|execFSM|execVM|exitWith|for|forEach|forEachMember|forEachMemberAgent|forEachMemberTeam|from|goto|if|nil|preprocessFile|preprocessFileLineNumbers|private|scopeName|spawn|step|switch|then|throw|to|try|while|with)\\b/i,\n boolean: /\\b(?:false|true)\\b/i,\n function:\n /\\b(?:abs|accTime|acos|action|actionIDs|actionKeys|actionKeysImages|actionKeysNames|actionKeysNamesArray|actionName|actionParams|activateAddons|activatedAddons|activateKey|add3DENConnection|add3DENEventHandler|add3DENLayer|addAction|addBackpack|addBackpackCargo|addBackpackCargoGlobal|addBackpackGlobal|addCamShake|addCuratorAddons|addCuratorCameraArea|addCuratorEditableObjects|addCuratorEditingArea|addCuratorPoints|addEditorObject|addEventHandler|addForce|addForceGeneratorRTD|addGoggles|addGroupIcon|addHandgunItem|addHeadgear|addItem|addItemCargo|addItemCargoGlobal|addItemPool|addItemToBackpack|addItemToUniform|addItemToVest|addLiveStats|addMagazine|addMagazineAmmoCargo|addMagazineCargo|addMagazineCargoGlobal|addMagazineGlobal|addMagazinePool|addMagazines|addMagazineTurret|addMenu|addMenuItem|addMissionEventHandler|addMPEventHandler|addMusicEventHandler|addOwnedMine|addPlayerScores|addPrimaryWeaponItem|addPublicVariableEventHandler|addRating|addResources|addScore|addScoreSide|addSecondaryWeaponItem|addSwitchableUnit|addTeamMember|addToRemainsCollector|addTorque|addUniform|addVehicle|addVest|addWaypoint|addWeapon|addWeaponCargo|addWeaponCargoGlobal|addWeaponGlobal|addWeaponItem|addWeaponPool|addWeaponTurret|admin|agent|agents|AGLToASL|aimedAtTarget|aimPos|airDensityCurveRTD|airDensityRTD|airplaneThrottle|airportSide|AISFinishHeal|alive|all3DENEntities|allAirports|allControls|allCurators|allCutLayers|allDead|allDeadMen|allDisplays|allGroups|allMapMarkers|allMines|allMissionObjects|allow3DMode|allowCrewInImmobile|allowCuratorLogicIgnoreAreas|allowDamage|allowDammage|allowFileOperations|allowFleeing|allowGetIn|allowSprint|allPlayers|allSimpleObjects|allSites|allTurrets|allUnits|allUnitsUAV|allVariables|ammo|ammoOnPylon|animate|animateBay|animateDoor|animatePylon|animateSource|animationNames|animationPhase|animationSourcePhase|animationState|append|apply|armoryPoints|arrayIntersect|asin|ASLToAGL|ASLToATL|assert|assignAsCargo|assignAsCargoIndex|assignAsCommander|assignAsDriver|assignAsGunner|assignAsTurret|assignCurator|assignedCargo|assignedCommander|assignedDriver|assignedGunner|assignedItems|assignedTarget|assignedTeam|assignedVehicle|assignedVehicleRole|assignItem|assignTeam|assignToAirport|atan|atan2|atg|ATLToASL|attachedObject|attachedObjects|attachedTo|attachObject|attachTo|attackEnabled|backpack|backpackCargo|backpackContainer|backpackItems|backpackMagazines|backpackSpaceFor|behaviour|benchmark|binocular|blufor|boundingBox|boundingBoxReal|boundingCenter|briefingName|buildingExit|buildingPos|buldozer_EnableRoadDiag|buldozer_IsEnabledRoadDiag|buldozer_LoadNewRoads|buldozer_reloadOperMap|buttonAction|buttonSetAction|cadetMode|callExtension|camCommand|camCommit|camCommitPrepared|camCommitted|camConstuctionSetParams|camCreate|camDestroy|cameraEffect|cameraEffectEnableHUD|cameraInterest|cameraOn|cameraView|campaignConfigFile|camPreload|camPreloaded|camPrepareBank|camPrepareDir|camPrepareDive|camPrepareFocus|camPrepareFov|camPrepareFovRange|camPreparePos|camPrepareRelPos|camPrepareTarget|camSetBank|camSetDir|camSetDive|camSetFocus|camSetFov|camSetFovRange|camSetPos|camSetRelPos|camSetTarget|camTarget|camUseNVG|canAdd|canAddItemToBackpack|canAddItemToUniform|canAddItemToVest|cancelSimpleTaskDestination|canFire|canMove|canSlingLoad|canStand|canSuspend|canTriggerDynamicSimulation|canUnloadInCombat|canVehicleCargo|captive|captiveNum|cbChecked|cbSetChecked|ceil|channelEnabled|cheatsEnabled|checkAIFeature|checkVisibility|civilian|className|clear3DENAttribute|clear3DENInventory|clearAllItemsFromBackpack|clearBackpackCargo|clearBackpackCargoGlobal|clearForcesRTD|clearGroupIcons|clearItemCargo|clearItemCargoGlobal|clearItemPool|clearMagazineCargo|clearMagazineCargoGlobal|clearMagazinePool|clearOverlay|clearRadio|clearVehicleInit|clearWeaponCargo|clearWeaponCargoGlobal|clearWeaponPool|clientOwner|closeDialog|closeDisplay|closeOverlay|collapseObjectTree|collect3DENHistory|collectiveRTD|combatMode|commandArtilleryFire|commandChat|commander|commandFire|commandFollow|commandFSM|commandGetOut|commandingMenu|commandMove|commandRadio|commandStop|commandSuppressiveFire|commandTarget|commandWatch|comment|commitOverlay|compile|compileFinal|completedFSM|composeText|configClasses|configFile|configHierarchy|configName|configNull|configProperties|configSourceAddonList|configSourceMod|configSourceModList|confirmSensorTarget|connectTerminalToUAV|controlNull|controlsGroupCtrl|copyFromClipboard|copyToClipboard|copyWaypoints|cos|count|countEnemy|countFriendly|countSide|countType|countUnknown|create3DENComposition|create3DENEntity|createAgent|createCenter|createDialog|createDiaryLink|createDiaryRecord|createDiarySubject|createDisplay|createGearDialog|createGroup|createGuardedPoint|createLocation|createMarker|createMarkerLocal|createMenu|createMine|createMissionDisplay|createMPCampaignDisplay|createSimpleObject|createSimpleTask|createSite|createSoundSource|createTask|createTeam|createTrigger|createUnit|createVehicle|createVehicleCrew|createVehicleLocal|crew|ctAddHeader|ctAddRow|ctClear|ctCurSel|ctData|ctFindHeaderRows|ctFindRowHeader|ctHeaderControls|ctHeaderCount|ctRemoveHeaders|ctRemoveRows|ctrlActivate|ctrlAddEventHandler|ctrlAngle|ctrlAutoScrollDelay|ctrlAutoScrollRewind|ctrlAutoScrollSpeed|ctrlChecked|ctrlClassName|ctrlCommit|ctrlCommitted|ctrlCreate|ctrlDelete|ctrlEnable|ctrlEnabled|ctrlFade|ctrlHTMLLoaded|ctrlIDC|ctrlIDD|ctrlMapAnimAdd|ctrlMapAnimClear|ctrlMapAnimCommit|ctrlMapAnimDone|ctrlMapCursor|ctrlMapMouseOver|ctrlMapScale|ctrlMapScreenToWorld|ctrlMapWorldToScreen|ctrlModel|ctrlModelDirAndUp|ctrlModelScale|ctrlParent|ctrlParentControlsGroup|ctrlPosition|ctrlRemoveAllEventHandlers|ctrlRemoveEventHandler|ctrlScale|ctrlSetActiveColor|ctrlSetAngle|ctrlSetAutoScrollDelay|ctrlSetAutoScrollRewind|ctrlSetAutoScrollSpeed|ctrlSetBackgroundColor|ctrlSetChecked|ctrlSetDisabledColor|ctrlSetEventHandler|ctrlSetFade|ctrlSetFocus|ctrlSetFont|ctrlSetFontH1|ctrlSetFontH1B|ctrlSetFontH2|ctrlSetFontH2B|ctrlSetFontH3|ctrlSetFontH3B|ctrlSetFontH4|ctrlSetFontH4B|ctrlSetFontH5|ctrlSetFontH5B|ctrlSetFontH6|ctrlSetFontH6B|ctrlSetFontHeight|ctrlSetFontHeightH1|ctrlSetFontHeightH2|ctrlSetFontHeightH3|ctrlSetFontHeightH4|ctrlSetFontHeightH5|ctrlSetFontHeightH6|ctrlSetFontHeightSecondary|ctrlSetFontP|ctrlSetFontPB|ctrlSetFontSecondary|ctrlSetForegroundColor|ctrlSetModel|ctrlSetModelDirAndUp|ctrlSetModelScale|ctrlSetPixelPrecision|ctrlSetPosition|ctrlSetScale|ctrlSetStructuredText|ctrlSetText|ctrlSetTextColor|ctrlSetTextColorSecondary|ctrlSetTextSecondary|ctrlSetTooltip|ctrlSetTooltipColorBox|ctrlSetTooltipColorShade|ctrlSetTooltipColorText|ctrlShow|ctrlShown|ctrlText|ctrlTextHeight|ctrlTextSecondary|ctrlTextWidth|ctrlType|ctrlVisible|ctRowControls|ctRowCount|ctSetCurSel|ctSetData|ctSetHeaderTemplate|ctSetRowTemplate|ctSetValue|ctValue|curatorAddons|curatorCamera|curatorCameraArea|curatorCameraAreaCeiling|curatorCoef|curatorEditableObjects|curatorEditingArea|curatorEditingAreaType|curatorMouseOver|curatorPoints|curatorRegisteredObjects|curatorSelected|curatorWaypointCost|current3DENOperation|currentChannel|currentCommand|currentMagazine|currentMagazineDetail|currentMagazineDetailTurret|currentMagazineTurret|currentMuzzle|currentNamespace|currentTask|currentTasks|currentThrowable|currentVisionMode|currentWaypoint|currentWeapon|currentWeaponMode|currentWeaponTurret|currentZeroing|cursorObject|cursorTarget|customChat|customRadio|cutFadeOut|cutObj|cutRsc|cutText|damage|date|dateToNumber|daytime|deActivateKey|debriefingText|debugFSM|debugLog|deg|delete3DENEntities|deleteAt|deleteCenter|deleteCollection|deleteEditorObject|deleteGroup|deleteGroupWhenEmpty|deleteIdentity|deleteLocation|deleteMarker|deleteMarkerLocal|deleteRange|deleteResources|deleteSite|deleteStatus|deleteTeam|deleteVehicle|deleteVehicleCrew|deleteWaypoint|detach|detectedMines|diag_activeMissionFSMs|diag_activeScripts|diag_activeSQFScripts|diag_activeSQSScripts|diag_captureFrame|diag_captureFrameToFile|diag_captureSlowFrame|diag_codePerformance|diag_drawMode|diag_dynamicSimulationEnd|diag_enable|diag_enabled|diag_fps|diag_fpsMin|diag_frameNo|diag_lightNewLoad|diag_list|diag_log|diag_logSlowFrame|diag_mergeConfigFile|diag_recordTurretLimits|diag_setLightNew|diag_tickTime|diag_toggle|dialog|diarySubjectExists|didJIP|didJIPOwner|difficulty|difficultyEnabled|difficultyEnabledRTD|difficultyOption|direction|directSay|disableAI|disableCollisionWith|disableConversation|disableDebriefingStats|disableMapIndicators|disableNVGEquipment|disableRemoteSensors|disableSerialization|disableTIEquipment|disableUAVConnectability|disableUserInput|displayAddEventHandler|displayCtrl|displayNull|displayParent|displayRemoveAllEventHandlers|displayRemoveEventHandler|displaySetEventHandler|dissolveTeam|distance|distance2D|distanceSqr|distributionRegion|do3DENAction|doArtilleryFire|doFire|doFollow|doFSM|doGetOut|doMove|doorPhase|doStop|doSuppressiveFire|doTarget|doWatch|drawArrow|drawEllipse|drawIcon|drawIcon3D|drawLine|drawLine3D|drawLink|drawLocation|drawPolygon|drawRectangle|drawTriangle|driver|drop|dynamicSimulationDistance|dynamicSimulationDistanceCoef|dynamicSimulationEnabled|dynamicSimulationSystemEnabled|east|edit3DENMissionAttributes|editObject|editorSetEventHandler|effectiveCommander|emptyPositions|enableAI|enableAIFeature|enableAimPrecision|enableAttack|enableAudioFeature|enableAutoStartUpRTD|enableAutoTrimRTD|enableCamShake|enableCaustics|enableChannel|enableCollisionWith|enableCopilot|enableDebriefingStats|enableDiagLegend|enableDynamicSimulation|enableDynamicSimulationSystem|enableEndDialog|enableEngineArtillery|enableEnvironment|enableFatigue|enableGunLights|enableInfoPanelComponent|enableIRLasers|enableMimics|enablePersonTurret|enableRadio|enableReload|enableRopeAttach|enableSatNormalOnDetail|enableSaving|enableSentences|enableSimulation|enableSimulationGlobal|enableStamina|enableStressDamage|enableTeamSwitch|enableTraffic|enableUAVConnectability|enableUAVWaypoints|enableVehicleCargo|enableVehicleSensor|enableWeaponDisassembly|endl|endLoadingScreen|endMission|engineOn|enginesIsOnRTD|enginesPowerRTD|enginesRpmRTD|enginesTorqueRTD|entities|environmentEnabled|estimatedEndServerTime|estimatedTimeLeft|evalObjectArgument|everyBackpack|everyContainer|exec|execEditorScript|exp|expectedDestination|exportJIPMessages|eyeDirection|eyePos|face|faction|fadeMusic|fadeRadio|fadeSound|fadeSpeech|failMission|fillWeaponsFromPool|find|findCover|findDisplay|findEditorObject|findEmptyPosition|findEmptyPositionReady|findIf|findNearestEnemy|finishMissionInit|finite|fire|fireAtTarget|firstBackpack|flag|flagAnimationPhase|flagOwner|flagSide|flagTexture|fleeing|floor|flyInHeight|flyInHeightASL|fog|fogForecast|fogParams|forceAddUniform|forceAtPositionRTD|forcedMap|forceEnd|forceFlagTexture|forceFollowRoad|forceGeneratorRTD|forceMap|forceRespawn|forceSpeed|forceWalk|forceWeaponFire|forceWeatherChange|forgetTarget|format|formation|formationDirection|formationLeader|formationMembers|formationPosition|formationTask|formatText|formLeader|freeLook|fromEditor|fuel|fullCrew|gearIDCAmmoCount|gearSlotAmmoCount|gearSlotData|get3DENActionState|get3DENAttribute|get3DENCamera|get3DENConnections|get3DENEntity|get3DENEntityID|get3DENGrid|get3DENIconsVisible|get3DENLayerEntities|get3DENLinesVisible|get3DENMissionAttribute|get3DENMouseOver|get3DENSelected|getAimingCoef|getAllEnvSoundControllers|getAllHitPointsDamage|getAllOwnedMines|getAllSoundControllers|getAmmoCargo|getAnimAimPrecision|getAnimSpeedCoef|getArray|getArtilleryAmmo|getArtilleryComputerSettings|getArtilleryETA|getAssignedCuratorLogic|getAssignedCuratorUnit|getBackpackCargo|getBleedingRemaining|getBurningValue|getCameraViewDirection|getCargoIndex|getCenterOfMass|getClientState|getClientStateNumber|getCompatiblePylonMagazines|getConnectedUAV|getContainerMaxLoad|getCursorObjectParams|getCustomAimCoef|getDammage|getDescription|getDir|getDirVisual|getDLCAssetsUsage|getDLCAssetsUsageByName|getDLCs|getDLCUsageTime|getEditorCamera|getEditorMode|getEditorObjectScope|getElevationOffset|getEngineTargetRpmRTD|getEnvSoundController|getFatigue|getFieldManualStartPage|getForcedFlagTexture|getFriend|getFSMVariable|getFuelCargo|getGroupIcon|getGroupIconParams|getGroupIcons|getHideFrom|getHit|getHitIndex|getHitPointDamage|getItemCargo|getMagazineCargo|getMarkerColor|getMarkerPos|getMarkerSize|getMarkerType|getMass|getMissionConfig|getMissionConfigValue|getMissionDLCs|getMissionLayerEntities|getMissionLayers|getModelInfo|getMousePosition|getMusicPlayedTime|getNumber|getObjectArgument|getObjectChildren|getObjectDLC|getObjectMaterials|getObjectProxy|getObjectTextures|getObjectType|getObjectViewDistance|getOxygenRemaining|getPersonUsedDLCs|getPilotCameraDirection|getPilotCameraPosition|getPilotCameraRotation|getPilotCameraTarget|getPlateNumber|getPlayerChannel|getPlayerScores|getPlayerUID|getPlayerUIDOld|getPos|getPosASL|getPosASLVisual|getPosASLW|getPosATL|getPosATLVisual|getPosVisual|getPosWorld|getPylonMagazines|getRelDir|getRelPos|getRemoteSensorsDisabled|getRepairCargo|getResolution|getRotorBrakeRTD|getShadowDistance|getShotParents|getSlingLoad|getSoundController|getSoundControllerResult|getSpeed|getStamina|getStatValue|getSuppression|getTerrainGrid|getTerrainHeightASL|getText|getTotalDLCUsageTime|getTrimOffsetRTD|getUnitLoadout|getUnitTrait|getUserMFDText|getUserMFDValue|getVariable|getVehicleCargo|getWeaponCargo|getWeaponSway|getWingsOrientationRTD|getWingsPositionRTD|getWPPos|glanceAt|globalChat|globalRadio|goggles|group|groupChat|groupFromNetId|groupIconSelectable|groupIconsVisible|groupId|groupOwner|groupRadio|groupSelectedUnits|groupSelectUnit|grpNull|gunner|gusts|halt|handgunItems|handgunMagazine|handgunWeapon|handsHit|hasInterface|hasPilotCamera|hasWeapon|hcAllGroups|hcGroupParams|hcLeader|hcRemoveAllGroups|hcRemoveGroup|hcSelected|hcSelectGroup|hcSetGroup|hcShowBar|hcShownBar|headgear|hideBody|hideObject|hideObjectGlobal|hideSelection|hint|hintC|hintCadet|hintSilent|hmd|hostMission|htmlLoad|HUDMovementLevels|humidity|image|importAllGroups|importance|in|inArea|inAreaArray|incapacitatedState|independent|inflame|inflamed|infoPanel|infoPanelComponentEnabled|infoPanelComponents|infoPanels|inGameUISetEventHandler|inheritsFrom|initAmbientLife|inPolygon|inputAction|inRangeOfArtillery|insertEditorObject|intersect|is3DEN|is3DENMultiplayer|isAbleToBreathe|isAgent|isAimPrecisionEnabled|isArray|isAutoHoverOn|isAutonomous|isAutoStartUpEnabledRTD|isAutotest|isAutoTrimOnRTD|isBleeding|isBurning|isClass|isCollisionLightOn|isCopilotEnabled|isDamageAllowed|isDedicated|isDLCAvailable|isEngineOn|isEqualTo|isEqualType|isEqualTypeAll|isEqualTypeAny|isEqualTypeArray|isEqualTypeParams|isFilePatchingEnabled|isFlashlightOn|isFlatEmpty|isForcedWalk|isFormationLeader|isGroupDeletedWhenEmpty|isHidden|isInRemainsCollector|isInstructorFigureEnabled|isIRLaserOn|isKeyActive|isKindOf|isLaserOn|isLightOn|isLocalized|isManualFire|isMarkedForCollection|isMultiplayer|isMultiplayerSolo|isNil|isNull|isNumber|isObjectHidden|isObjectRTD|isOnRoad|isPipEnabled|isPlayer|isRealTime|isRemoteExecuted|isRemoteExecutedJIP|isServer|isShowing3DIcons|isSimpleObject|isSprintAllowed|isStaminaEnabled|isSteamMission|isStreamFriendlyUIEnabled|isStressDamageEnabled|isText|isTouchingGround|isTurnedOut|isTutHintsEnabled|isUAVConnectable|isUAVConnected|isUIContext|isUniformAllowed|isVehicleCargo|isVehicleRadarOn|isVehicleSensorEnabled|isWalking|isWeaponDeployed|isWeaponRested|itemCargo|items|itemsWithMagazines|join|joinAs|joinAsSilent|joinSilent|joinString|kbAddDatabase|kbAddDatabaseTargets|kbAddTopic|kbHasTopic|kbReact|kbRemoveTopic|kbTell|kbWasSaid|keyImage|keyName|knowsAbout|land|landAt|landResult|language|laserTarget|lbAdd|lbClear|lbColor|lbColorRight|lbCurSel|lbData|lbDelete|lbIsSelected|lbPicture|lbPictureRight|lbSelection|lbSetColor|lbSetColorRight|lbSetCurSel|lbSetData|lbSetPicture|lbSetPictureColor|lbSetPictureColorDisabled|lbSetPictureColorSelected|lbSetPictureRight|lbSetPictureRightColor|lbSetPictureRightColorDisabled|lbSetPictureRightColorSelected|lbSetSelectColor|lbSetSelectColorRight|lbSetSelected|lbSetText|lbSetTextRight|lbSetTooltip|lbSetValue|lbSize|lbSort|lbSortByValue|lbText|lbTextRight|lbValue|leader|leaderboardDeInit|leaderboardGetRows|leaderboardInit|leaderboardRequestRowsFriends|leaderboardRequestRowsGlobal|leaderboardRequestRowsGlobalAroundUser|leaderboardsRequestUploadScore|leaderboardsRequestUploadScoreKeepBest|leaderboardState|leaveVehicle|libraryCredits|libraryDisclaimers|lifeState|lightAttachObject|lightDetachObject|lightIsOn|lightnings|limitSpeed|linearConversion|lineBreak|lineIntersects|lineIntersectsObjs|lineIntersectsSurfaces|lineIntersectsWith|linkItem|list|listObjects|listRemoteTargets|listVehicleSensors|ln|lnbAddArray|lnbAddColumn|lnbAddRow|lnbClear|lnbColor|lnbColorRight|lnbCurSelRow|lnbData|lnbDeleteColumn|lnbDeleteRow|lnbGetColumnsPosition|lnbPicture|lnbPictureRight|lnbSetColor|lnbSetColorRight|lnbSetColumnsPos|lnbSetCurSelRow|lnbSetData|lnbSetPicture|lnbSetPictureColor|lnbSetPictureColorRight|lnbSetPictureColorSelected|lnbSetPictureColorSelectedRight|lnbSetPictureRight|lnbSetText|lnbSetTextRight|lnbSetValue|lnbSize|lnbSort|lnbSortByValue|lnbText|lnbTextRight|lnbValue|load|loadAbs|loadBackpack|loadFile|loadGame|loadIdentity|loadMagazine|loadOverlay|loadStatus|loadUniform|loadVest|local|localize|locationNull|locationPosition|lock|lockCameraTo|lockCargo|lockDriver|locked|lockedCargo|lockedDriver|lockedTurret|lockIdentity|lockTurret|lockWP|log|logEntities|logNetwork|logNetworkTerminate|lookAt|lookAtPos|magazineCargo|magazines|magazinesAllTurrets|magazinesAmmo|magazinesAmmoCargo|magazinesAmmoFull|magazinesDetail|magazinesDetailBackpack|magazinesDetailUniform|magazinesDetailVest|magazinesTurret|magazineTurretAmmo|mapAnimAdd|mapAnimClear|mapAnimCommit|mapAnimDone|mapCenterOnCamera|mapGridPosition|markAsFinishedOnSteam|markerAlpha|markerBrush|markerColor|markerDir|markerPos|markerShape|markerSize|markerText|markerType|max|members|menuAction|menuAdd|menuChecked|menuClear|menuCollapse|menuData|menuDelete|menuEnable|menuEnabled|menuExpand|menuHover|menuPicture|menuSetAction|menuSetCheck|menuSetData|menuSetPicture|menuSetValue|menuShortcut|menuShortcutText|menuSize|menuSort|menuText|menuURL|menuValue|min|mineActive|mineDetectedBy|missionConfigFile|missionDifficulty|missionName|missionNamespace|missionStart|missionVersion|modelToWorld|modelToWorldVisual|modelToWorldVisualWorld|modelToWorldWorld|modParams|moonIntensity|moonPhase|morale|move|move3DENCamera|moveInAny|moveInCargo|moveInCommander|moveInDriver|moveInGunner|moveInTurret|moveObjectToEnd|moveOut|moveTime|moveTo|moveToCompleted|moveToFailed|musicVolume|name|nameSound|nearEntities|nearestBuilding|nearestLocation|nearestLocations|nearestLocationWithDubbing|nearestObject|nearestObjects|nearestTerrainObjects|nearObjects|nearObjectsReady|nearRoads|nearSupplies|nearTargets|needReload|netId|netObjNull|newOverlay|nextMenuItemIndex|nextWeatherChange|nMenuItems|numberOfEnginesRTD|numberToDate|objectCurators|objectFromNetId|objectParent|objNull|objStatus|onBriefingGear|onBriefingGroup|onBriefingNotes|onBriefingPlan|onBriefingTeamSwitch|onCommandModeChanged|onDoubleClick|onEachFrame|onGroupIconClick|onGroupIconOverEnter|onGroupIconOverLeave|onHCGroupSelectionChanged|onMapSingleClick|onPlayerConnected|onPlayerDisconnected|onPreloadFinished|onPreloadStarted|onShowNewObject|onTeamSwitch|openCuratorInterface|openDLCPage|openDSInterface|openMap|openSteamApp|openYoutubeVideo|opfor|orderGetIn|overcast|overcastForecast|owner|param|params|parseNumber|parseSimpleArray|parseText|parsingNamespace|particlesQuality|pi|pickWeaponPool|pitch|pixelGrid|pixelGridBase|pixelGridNoUIScale|pixelH|pixelW|playableSlotsNumber|playableUnits|playAction|playActionNow|player|playerRespawnTime|playerSide|playersNumber|playGesture|playMission|playMove|playMoveNow|playMusic|playScriptedMission|playSound|playSound3D|position|positionCameraToWorld|posScreenToWorld|posWorldToScreen|ppEffectAdjust|ppEffectCommit|ppEffectCommitted|ppEffectCreate|ppEffectDestroy|ppEffectEnable|ppEffectEnabled|ppEffectForceInNVG|precision|preloadCamera|preloadObject|preloadSound|preloadTitleObj|preloadTitleRsc|primaryWeapon|primaryWeaponItems|primaryWeaponMagazine|priority|processDiaryLink|processInitCommands|productVersion|profileName|profileNamespace|profileNameSteam|progressLoadingScreen|progressPosition|progressSetPosition|publicVariable|publicVariableClient|publicVariableServer|pushBack|pushBackUnique|putWeaponPool|queryItemsPool|queryMagazinePool|queryWeaponPool|rad|radioChannelAdd|radioChannelCreate|radioChannelRemove|radioChannelSetCallSign|radioChannelSetLabel|radioVolume|rain|rainbow|random|rank|rankId|rating|rectangular|registeredTasks|registerTask|reload|reloadEnabled|remoteControl|remoteExec|remoteExecCall|remoteExecutedOwner|remove3DENConnection|remove3DENEventHandler|remove3DENLayer|removeAction|removeAll3DENEventHandlers|removeAllActions|removeAllAssignedItems|removeAllContainers|removeAllCuratorAddons|removeAllCuratorCameraAreas|removeAllCuratorEditingAreas|removeAllEventHandlers|removeAllHandgunItems|removeAllItems|removeAllItemsWithMagazines|removeAllMissionEventHandlers|removeAllMPEventHandlers|removeAllMusicEventHandlers|removeAllOwnedMines|removeAllPrimaryWeaponItems|removeAllWeapons|removeBackpack|removeBackpackGlobal|removeCuratorAddons|removeCuratorCameraArea|removeCuratorEditableObjects|removeCuratorEditingArea|removeDrawIcon|removeDrawLinks|removeEventHandler|removeFromRemainsCollector|removeGoggles|removeGroupIcon|removeHandgunItem|removeHeadgear|removeItem|removeItemFromBackpack|removeItemFromUniform|removeItemFromVest|removeItems|removeMagazine|removeMagazineGlobal|removeMagazines|removeMagazinesTurret|removeMagazineTurret|removeMenuItem|removeMissionEventHandler|removeMPEventHandler|removeMusicEventHandler|removeOwnedMine|removePrimaryWeaponItem|removeSecondaryWeaponItem|removeSimpleTask|removeSwitchableUnit|removeTeamMember|removeUniform|removeVest|removeWeapon|removeWeaponAttachmentCargo|removeWeaponCargo|removeWeaponGlobal|removeWeaponTurret|reportRemoteTarget|requiredVersion|resetCamShake|resetSubgroupDirection|resistance|resize|resources|respawnVehicle|restartEditorCamera|reveal|revealMine|reverse|reversedMouseY|roadAt|roadsConnectedTo|roleDescription|ropeAttachedObjects|ropeAttachedTo|ropeAttachEnabled|ropeAttachTo|ropeCreate|ropeCut|ropeDestroy|ropeDetach|ropeEndPosition|ropeLength|ropes|ropeUnwind|ropeUnwound|rotorsForcesRTD|rotorsRpmRTD|round|runInitScript|safeZoneH|safeZoneW|safeZoneWAbs|safeZoneX|safeZoneXAbs|safeZoneY|save3DENInventory|saveGame|saveIdentity|saveJoysticks|saveOverlay|saveProfileNamespace|saveStatus|saveVar|savingEnabled|say|say2D|say3D|score|scoreSide|screenshot|screenToWorld|scriptDone|scriptName|scriptNull|scudState|secondaryWeapon|secondaryWeaponItems|secondaryWeaponMagazine|select|selectBestPlaces|selectDiarySubject|selectedEditorObjects|selectEditorObject|selectionNames|selectionPosition|selectLeader|selectMax|selectMin|selectNoPlayer|selectPlayer|selectRandom|selectRandomWeighted|selectWeapon|selectWeaponTurret|sendAUMessage|sendSimpleCommand|sendTask|sendTaskResult|sendUDPMessage|serverCommand|serverCommandAvailable|serverCommandExecutable|serverName|serverTime|set|set3DENAttribute|set3DENAttributes|set3DENGrid|set3DENIconsVisible|set3DENLayer|set3DENLinesVisible|set3DENLogicType|set3DENMissionAttribute|set3DENMissionAttributes|set3DENModelsVisible|set3DENObjectType|set3DENSelected|setAccTime|setActualCollectiveRTD|setAirplaneThrottle|setAirportSide|setAmmo|setAmmoCargo|setAmmoOnPylon|setAnimSpeedCoef|setAperture|setApertureNew|setArmoryPoints|setAttributes|setAutonomous|setBehaviour|setBleedingRemaining|setBrakesRTD|setCameraInterest|setCamShakeDefParams|setCamShakeParams|setCamUseTI|setCaptive|setCenterOfMass|setCollisionLight|setCombatMode|setCompassOscillation|setConvoySeparation|setCuratorCameraAreaCeiling|setCuratorCoef|setCuratorEditingAreaType|setCuratorWaypointCost|setCurrentChannel|setCurrentTask|setCurrentWaypoint|setCustomAimCoef|setCustomWeightRTD|setDamage|setDammage|setDate|setDebriefingText|setDefaultCamera|setDestination|setDetailMapBlendPars|setDir|setDirection|setDrawIcon|setDriveOnPath|setDropInterval|setDynamicSimulationDistance|setDynamicSimulationDistanceCoef|setEditorMode|setEditorObjectScope|setEffectCondition|setEngineRpmRTD|setFace|setFaceAnimation|setFatigue|setFeatureType|setFlagAnimationPhase|setFlagOwner|setFlagSide|setFlagTexture|setFog|setForceGeneratorRTD|setFormation|setFormationTask|setFormDir|setFriend|setFromEditor|setFSMVariable|setFuel|setFuelCargo|setGroupIcon|setGroupIconParams|setGroupIconsSelectable|setGroupIconsVisible|setGroupId|setGroupIdGlobal|setGroupOwner|setGusts|setHideBehind|setHit|setHitIndex|setHitPointDamage|setHorizonParallaxCoef|setHUDMovementLevels|setIdentity|setImportance|setInfoPanel|setLeader|setLightAmbient|setLightAttenuation|setLightBrightness|setLightColor|setLightDayLight|setLightFlareMaxDistance|setLightFlareSize|setLightIntensity|setLightnings|setLightUseFlare|setLocalWindParams|setMagazineTurretAmmo|setMarkerAlpha|setMarkerAlphaLocal|setMarkerBrush|setMarkerBrushLocal|setMarkerColor|setMarkerColorLocal|setMarkerDir|setMarkerDirLocal|setMarkerPos|setMarkerPosLocal|setMarkerShape|setMarkerShapeLocal|setMarkerSize|setMarkerSizeLocal|setMarkerText|setMarkerTextLocal|setMarkerType|setMarkerTypeLocal|setMass|setMimic|setMousePosition|setMusicEffect|setMusicEventHandler|setName|setNameSound|setObjectArguments|setObjectMaterial|setObjectMaterialGlobal|setObjectProxy|setObjectTexture|setObjectTextureGlobal|setObjectViewDistance|setOvercast|setOwner|setOxygenRemaining|setParticleCircle|setParticleClass|setParticleFire|setParticleParams|setParticleRandom|setPilotCameraDirection|setPilotCameraRotation|setPilotCameraTarget|setPilotLight|setPiPEffect|setPitch|setPlateNumber|setPlayable|setPlayerRespawnTime|setPos|setPosASL|setPosASL2|setPosASLW|setPosATL|setPosition|setPosWorld|setPylonLoadOut|setPylonsPriority|setRadioMsg|setRain|setRainbow|setRandomLip|setRank|setRectangular|setRepairCargo|setRotorBrakeRTD|setShadowDistance|setShotParents|setSide|setSimpleTaskAlwaysVisible|setSimpleTaskCustomData|setSimpleTaskDescription|setSimpleTaskDestination|setSimpleTaskTarget|setSimpleTaskType|setSimulWeatherLayers|setSize|setSkill|setSlingLoad|setSoundEffect|setSpeaker|setSpeech|setSpeedMode|setStamina|setStaminaScheme|setStatValue|setSuppression|setSystemOfUnits|setTargetAge|setTaskMarkerOffset|setTaskResult|setTaskState|setTerrainGrid|setText|setTimeMultiplier|setTitleEffect|setToneMapping|setToneMappingParams|setTrafficDensity|setTrafficDistance|setTrafficGap|setTrafficSpeed|setTriggerActivation|setTriggerArea|setTriggerStatements|setTriggerText|setTriggerTimeout|setTriggerType|setType|setUnconscious|setUnitAbility|setUnitLoadout|setUnitPos|setUnitPosWeak|setUnitRank|setUnitRecoilCoefficient|setUnitTrait|setUnloadInCombat|setUserActionText|setUserMFDText|setUserMFDValue|setVariable|setVectorDir|setVectorDirAndUp|setVectorUp|setVehicleAmmo|setVehicleAmmoDef|setVehicleArmor|setVehicleCargo|setVehicleId|setVehicleInit|setVehicleLock|setVehiclePosition|setVehicleRadar|setVehicleReceiveRemoteTargets|setVehicleReportOwnPosition|setVehicleReportRemoteTargets|setVehicleTIPars|setVehicleVarName|setVelocity|setVelocityModelSpace|setVelocityTransformation|setViewDistance|setVisibleIfTreeCollapsed|setWantedRpmRTD|setWaves|setWaypointBehaviour|setWaypointCombatMode|setWaypointCompletionRadius|setWaypointDescription|setWaypointForceBehaviour|setWaypointFormation|setWaypointHousePosition|setWaypointLoiterRadius|setWaypointLoiterType|setWaypointName|setWaypointPosition|setWaypointScript|setWaypointSpeed|setWaypointStatements|setWaypointTimeout|setWaypointType|setWaypointVisible|setWeaponReloadingTime|setWind|setWindDir|setWindForce|setWindStr|setWingForceScaleRTD|setWPPos|show3DIcons|showChat|showCinemaBorder|showCommandingMenu|showCompass|showCuratorCompass|showGPS|showHUD|showLegend|showMap|shownArtilleryComputer|shownChat|shownCompass|shownCuratorCompass|showNewEditorObject|shownGPS|shownHUD|shownMap|shownPad|shownRadio|shownScoretable|shownUAVFeed|shownWarrant|shownWatch|showPad|showRadio|showScoretable|showSubtitles|showUAVFeed|showWarrant|showWatch|showWaypoint|showWaypoints|side|sideAmbientLife|sideChat|sideEmpty|sideEnemy|sideFriendly|sideLogic|sideRadio|sideUnknown|simpleTasks|simulationEnabled|simulCloudDensity|simulCloudOcclusion|simulInClouds|simulWeatherSync|sin|size|sizeOf|skill|skillFinal|skipTime|sleep|sliderPosition|sliderRange|sliderSetPosition|sliderSetRange|sliderSetSpeed|sliderSpeed|slingLoadAssistantShown|soldierMagazines|someAmmo|sort|soundVolume|speaker|speed|speedMode|splitString|sqrt|squadParams|stance|startLoadingScreen|stop|stopEngineRTD|stopped|str|sunOrMoon|supportInfo|suppressFor|surfaceIsWater|surfaceNormal|surfaceType|swimInDepth|switchableUnits|switchAction|switchCamera|switchGesture|switchLight|switchMove|synchronizedObjects|synchronizedTriggers|synchronizedWaypoints|synchronizeObjectsAdd|synchronizeObjectsRemove|synchronizeTrigger|synchronizeWaypoint|systemChat|systemOfUnits|tan|targetKnowledge|targets|targetsAggregate|targetsQuery|taskAlwaysVisible|taskChildren|taskCompleted|taskCustomData|taskDescription|taskDestination|taskHint|taskMarkerOffset|taskNull|taskParent|taskResult|taskState|taskType|teamMember|teamMemberNull|teamName|teams|teamSwitch|teamSwitchEnabled|teamType|terminate|terrainIntersect|terrainIntersectASL|terrainIntersectAtASL|text|textLog|textLogFormat|tg|time|timeMultiplier|titleCut|titleFadeOut|titleObj|titleRsc|titleText|toArray|toFixed|toLower|toString|toUpper|triggerActivated|triggerActivation|triggerArea|triggerAttachedVehicle|triggerAttachObject|triggerAttachVehicle|triggerDynamicSimulation|triggerStatements|triggerText|triggerTimeout|triggerTimeoutCurrent|triggerType|turretLocal|turretOwner|turretUnit|tvAdd|tvClear|tvCollapse|tvCollapseAll|tvCount|tvCurSel|tvData|tvDelete|tvExpand|tvExpandAll|tvPicture|tvPictureRight|tvSetColor|tvSetCurSel|tvSetData|tvSetPicture|tvSetPictureColor|tvSetPictureColorDisabled|tvSetPictureColorSelected|tvSetPictureRight|tvSetPictureRightColor|tvSetPictureRightColorDisabled|tvSetPictureRightColorSelected|tvSetSelectColor|tvSetText|tvSetTooltip|tvSetValue|tvSort|tvSortByValue|tvText|tvTooltip|tvValue|type|typeName|typeOf|UAVControl|uiNamespace|uiSleep|unassignCurator|unassignItem|unassignTeam|unassignVehicle|underwater|uniform|uniformContainer|uniformItems|uniformMagazines|unitAddons|unitAimPosition|unitAimPositionVisual|unitBackpack|unitIsUAV|unitPos|unitReady|unitRecoilCoefficient|units|unitsBelowHeight|unlinkItem|unlockAchievement|unregisterTask|updateDrawIcon|updateMenuItem|updateObjectTree|useAIOperMapObstructionTest|useAISteeringComponent|useAudioTimeForMoves|userInputDisabled|vectorAdd|vectorCos|vectorCrossProduct|vectorDiff|vectorDir|vectorDirVisual|vectorDistance|vectorDistanceSqr|vectorDotProduct|vectorFromTo|vectorMagnitude|vectorMagnitudeSqr|vectorModelToWorld|vectorModelToWorldVisual|vectorMultiply|vectorNormalized|vectorUp|vectorUpVisual|vectorWorldToModel|vectorWorldToModelVisual|vehicle|vehicleCargoEnabled|vehicleChat|vehicleRadio|vehicleReceiveRemoteTargets|vehicleReportOwnPosition|vehicleReportRemoteTargets|vehicles|vehicleVarName|velocity|velocityModelSpace|verifySignature|vest|vestContainer|vestItems|vestMagazines|viewDistance|visibleCompass|visibleGPS|visibleMap|visiblePosition|visiblePositionASL|visibleScoretable|visibleWatch|waitUntil|waves|waypointAttachedObject|waypointAttachedVehicle|waypointAttachObject|waypointAttachVehicle|waypointBehaviour|waypointCombatMode|waypointCompletionRadius|waypointDescription|waypointForceBehaviour|waypointFormation|waypointHousePosition|waypointLoiterRadius|waypointLoiterType|waypointName|waypointPosition|waypoints|waypointScript|waypointsEnabledUAV|waypointShow|waypointSpeed|waypointStatements|waypointTimeout|waypointTimeoutCurrent|waypointType|waypointVisible|weaponAccessories|weaponAccessoriesCargo|weaponCargo|weaponDirection|weaponInertia|weaponLowered|weapons|weaponsItems|weaponsItemsCargo|weaponState|weaponsTurret|weightRTD|west|WFSideText|wind|windDir|windRTD|windStr|wingsForcesRTD|worldName|worldSize|worldToModel|worldToModelVisual|worldToScreen)\\b/i,\n number:\n /(?:\\$|\\b0x)[\\da-f]+\\b|(?:\\B\\.\\d+|\\b\\d+(?:\\.\\d+)?)(?:e[+-]?\\d+)?\\b/i,\n operator: /##|>>|&&|\\|\\||[!=<>]=?|[-+*/%#^]|\\b(?:and|mod|not|or)\\b/i,\n 'magic-variable': {\n pattern:\n /\\b(?:this|thisList|thisTrigger|_exception|_fnc_scriptName|_fnc_scriptNameParent|_forEachIndex|_this|_thisEventHandler|_thisFSM|_thisScript|_x)\\b/i,\n alias: 'keyword'\n },\n constant: /\\bDIK(?:_[a-z\\d]+)+\\b/i\n })\n Prism.languages.insertBefore('sqf', 'string', {\n macro: {\n pattern: /(^[ \\t]*)#[a-z](?:[^\\r\\n\\\\]|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n lookbehind: true,\n greedy: true,\n alias: 'property',\n inside: {\n directive: {\n pattern: /#[a-z]+\\b/i,\n alias: 'keyword'\n },\n comment: Prism.languages.sqf.comment\n }\n }\n })\n delete Prism.languages.sqf['class-name']\n}\n","'use strict'\n\nmodule.exports = sql\nsql.displayName = 'sql'\nsql.aliases = []\nfunction sql(Prism) {\n Prism.languages.sql = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,\n lookbehind: true\n },\n variable: [\n {\n pattern: /@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/,\n greedy: true\n },\n /@[\\w.$]+/\n ],\n string: {\n pattern: /(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/,\n greedy: true,\n lookbehind: true\n },\n identifier: {\n pattern: /(^|[^@\\\\])`(?:\\\\[\\s\\S]|[^`\\\\]|``)*`/,\n greedy: true,\n lookbehind: true,\n inside: {\n punctuation: /^`|`$/\n }\n },\n function:\n /\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i,\n // Should we highlight user defined functions too?\n keyword:\n /\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i,\n boolean: /\\b(?:FALSE|NULL|TRUE)\\b/i,\n number: /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i,\n operator:\n /[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i,\n punctuation: /[;[\\]()`,.]/\n }\n}\n","'use strict'\n\nmodule.exports = squirrel\nsquirrel.displayName = 'squirrel'\nsquirrel.aliases = []\nfunction squirrel(Prism) {\n Prism.languages.squirrel = Prism.languages.extend('clike', {\n comment: [\n Prism.languages.clike['comment'][0],\n {\n pattern: /(^|[^\\\\:])(?:\\/\\/|#).*/,\n lookbehind: true,\n greedy: true\n }\n ],\n string: {\n pattern: /(^|[^\\\\\"'@])(?:@\"(?:[^\"]|\"\")*\"(?!\")|\"(?:[^\\\\\\r\\n\"]|\\\\.)*\")/,\n lookbehind: true,\n greedy: true\n },\n 'class-name': {\n pattern: /(\\b(?:class|enum|extends|instanceof)\\s+)\\w+(?:\\.\\w+)*/,\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n },\n keyword:\n /\\b(?:__FILE__|__LINE__|base|break|case|catch|class|clone|const|constructor|continue|default|delete|else|enum|extends|for|foreach|function|if|in|instanceof|local|null|resume|return|static|switch|this|throw|try|typeof|while|yield)\\b/,\n number: /\\b(?:0x[0-9a-fA-F]+|\\d+(?:\\.(?:\\d+|[eE][+-]?\\d+))?)\\b/,\n operator: /\\+\\+|--|<=>|<[-<]|>>>?|&&?|\\|\\|?|[-+*/%!=<>]=?|[~^]|::?/,\n punctuation: /[(){}\\[\\],;.]/\n })\n Prism.languages.insertBefore('squirrel', 'string', {\n char: {\n pattern: /(^|[^\\\\\"'])'(?:[^\\\\']|\\\\(?:[xuU][0-9a-fA-F]{0,8}|[\\s\\S]))'/,\n lookbehind: true,\n greedy: true\n }\n })\n Prism.languages.insertBefore('squirrel', 'operator', {\n 'attribute-punctuation': {\n pattern: /<\\/|\\/>/,\n alias: 'important'\n },\n lambda: {\n pattern: /@(?=\\()/,\n alias: 'operator'\n }\n })\n}\n","'use strict'\n\nmodule.exports = stan\nstan.displayName = 'stan'\nstan.aliases = []\nfunction stan(Prism) {\n ;(function (Prism) {\n // https://mc-stan.org/docs/2_28/reference-manual/bnf-grammars.html\n var higherOrderFunctions =\n /\\b(?:algebra_solver|algebra_solver_newton|integrate_1d|integrate_ode|integrate_ode_bdf|integrate_ode_rk45|map_rect|ode_(?:adams|bdf|ckrk|rk45)(?:_tol)?|ode_adjoint_tol_ctl|reduce_sum|reduce_sum_static)\\b/\n Prism.languages.stan = {\n comment: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\/|#(?!include).*/,\n string: {\n // String literals can contain spaces and any printable ASCII characters except for \" and \\\n // https://mc-stan.org/docs/2_24/reference-manual/print-statements-section.html#string-literals\n pattern: /\"[\\x20\\x21\\x23-\\x5B\\x5D-\\x7E]*\"/,\n greedy: true\n },\n directive: {\n pattern: /^([ \\t]*)#include\\b.*/m,\n lookbehind: true,\n alias: 'property'\n },\n 'function-arg': {\n pattern: RegExp(\n '(' +\n higherOrderFunctions.source +\n /\\s*\\(\\s*/.source +\n ')' +\n /[a-zA-Z]\\w*/.source\n ),\n lookbehind: true,\n alias: 'function'\n },\n constraint: {\n pattern: /(\\b(?:int|matrix|real|row_vector|vector)\\s*)<[^<>]*>/,\n lookbehind: true,\n inside: {\n expression: {\n pattern: /(=\\s*)\\S(?:\\S|\\s+(?!\\s))*?(?=\\s*(?:>$|,\\s*\\w+\\s*=))/,\n lookbehind: true,\n inside: null // see below\n },\n property: /\\b[a-z]\\w*(?=\\s*=)/i,\n operator: /=/,\n punctuation: /^<|>$|,/\n }\n },\n keyword: [\n {\n pattern:\n /\\bdata(?=\\s*\\{)|\\b(?:functions|generated|model|parameters|quantities|transformed)\\b/,\n alias: 'program-block'\n },\n /\\b(?:array|break|cholesky_factor_corr|cholesky_factor_cov|complex|continue|corr_matrix|cov_matrix|data|else|for|if|in|increment_log_prob|int|matrix|ordered|positive_ordered|print|real|reject|return|row_vector|simplex|target|unit_vector|vector|void|while)\\b/, // these are functions that are known to take another function as their first argument.\n higherOrderFunctions\n ],\n function: /\\b[a-z]\\w*(?=\\s*\\()/i,\n number:\n /(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:E[+-]?\\d+(?:_\\d+)*)?i?(?!\\w)/i,\n boolean: /\\b(?:false|true)\\b/,\n operator: /<-|\\.[*/]=?|\\|\\|?|&&|[!=<>+\\-*/]=?|['^%~?:]/,\n punctuation: /[()\\[\\]{},;]/\n }\n Prism.languages.stan.constraint.inside.expression.inside =\n Prism.languages.stan\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = stylus\nstylus.displayName = 'stylus'\nstylus.aliases = []\nfunction stylus(Prism) {\n ;(function (Prism) {\n var unit = {\n pattern: /(\\b\\d+)(?:%|[a-z]+)/,\n lookbehind: true\n } // 123 -123 .123 -.123 12.3 -12.3\n var number = {\n pattern: /(^|[^\\w.-])-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/,\n lookbehind: true\n }\n var inside = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: true\n },\n url: {\n pattern: /\\burl\\(([\"']?).*?\\1\\)/i,\n greedy: true\n },\n string: {\n pattern: /(\"|')(?:(?!\\1)[^\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\\1/,\n greedy: true\n },\n interpolation: null,\n // See below\n func: null,\n // See below\n important: /\\B!(?:important|optional)\\b/i,\n keyword: {\n pattern: /(^|\\s+)(?:(?:else|for|if|return|unless)(?=\\s|$)|@[\\w-]+)/,\n lookbehind: true\n },\n hexcode: /#[\\da-f]{3,6}/i,\n color: [\n /\\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\\b/i,\n {\n pattern:\n /\\b(?:hsl|rgb)\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*\\)\\B|\\b(?:hsl|rgb)a\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*,\\s*(?:0|0?\\.\\d+|1)\\s*\\)\\B/i,\n inside: {\n unit: unit,\n number: number,\n function: /[\\w-]+(?=\\()/,\n punctuation: /[(),]/\n }\n }\n ],\n entity: /\\\\[\\da-f]{1,8}/i,\n unit: unit,\n boolean: /\\b(?:false|true)\\b/,\n operator: [\n // We want non-word chars around \"-\" because it is\n // accepted in property names.\n /~|[+!\\/%<>?=]=?|[-:]=|\\*[*=]?|\\.{2,3}|&&|\\|\\||\\B-\\B|\\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\\b/\n ],\n number: number,\n punctuation: /[{}()\\[\\];:,]/\n }\n inside['interpolation'] = {\n pattern: /\\{[^\\r\\n}:]+\\}/,\n alias: 'variable',\n inside: {\n delimiter: {\n pattern: /^\\{|\\}$/,\n alias: 'punctuation'\n },\n rest: inside\n }\n }\n inside['func'] = {\n pattern: /[\\w-]+\\([^)]*\\).*/,\n inside: {\n function: /^[^(]+/,\n rest: inside\n }\n }\n Prism.languages.stylus = {\n 'atrule-declaration': {\n pattern: /(^[ \\t]*)@.+/m,\n lookbehind: true,\n inside: {\n atrule: /^@[\\w-]+/,\n rest: inside\n }\n },\n 'variable-declaration': {\n pattern: /(^[ \\t]*)[\\w$-]+\\s*.?=[ \\t]*(?:\\{[^{}]*\\}|\\S.*|$)/m,\n lookbehind: true,\n inside: {\n variable: /^\\S+/,\n rest: inside\n }\n },\n statement: {\n pattern: /(^[ \\t]*)(?:else|for|if|return|unless)[ \\t].+/m,\n lookbehind: true,\n inside: {\n keyword: /^\\S+/,\n rest: inside\n }\n },\n // A property/value pair cannot end with a comma or a brace\n // It cannot have indented content unless it ended with a semicolon\n 'property-declaration': {\n pattern:\n /((?:^|\\{)([ \\t]*))(?:[\\w-]|\\{[^}\\r\\n]+\\})+(?:\\s*:\\s*|[ \\t]+)(?!\\s)[^{\\r\\n]*(?:;|[^{\\r\\n,]$(?!(?:\\r?\\n|\\r)(?:\\{|\\2[ \\t])))/m,\n lookbehind: true,\n inside: {\n property: {\n pattern: /^[^\\s:]+/,\n inside: {\n interpolation: inside.interpolation\n }\n },\n rest: inside\n }\n },\n // A selector can contain parentheses only as part of a pseudo-element\n // It can span multiple lines.\n // It must end with a comma or an accolade or have indented content.\n selector: {\n pattern:\n /(^[ \\t]*)(?:(?=\\S)(?:[^{}\\r\\n:()]|::?[\\w-]+(?:\\([^)\\r\\n]*\\)|(?![\\w-]))|\\{[^}\\r\\n]+\\})+)(?:(?:\\r?\\n|\\r)(?:\\1(?:(?=\\S)(?:[^{}\\r\\n:()]|::?[\\w-]+(?:\\([^)\\r\\n]*\\)|(?![\\w-]))|\\{[^}\\r\\n]+\\})+)))*(?:,$|\\{|(?=(?:\\r?\\n|\\r)(?:\\{|\\1[ \\t])))/m,\n lookbehind: true,\n inside: {\n interpolation: inside.interpolation,\n comment: inside.comment,\n punctuation: /[{},]/\n }\n },\n func: inside.func,\n string: inside.string,\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: true,\n greedy: true\n },\n interpolation: inside.interpolation,\n punctuation: /[{}()\\[\\];:.]/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = swift\nswift.displayName = 'swift'\nswift.aliases = []\nfunction swift(Prism) {\n Prism.languages.swift = {\n comment: {\n // Nested comments are supported up to 2 levels\n pattern:\n /(^|[^\\\\:])(?:\\/\\/.*|\\/\\*(?:[^/*]|\\/(?!\\*)|\\*(?!\\/)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\/)/,\n lookbehind: true,\n greedy: true\n },\n 'string-literal': [\n // https://docs.swift.org/swift-book/LanguageGuide/StringsAndCharacters.html\n {\n pattern: RegExp(\n /(^|[^\"#])/.source +\n '(?:' + // single-line string\n /\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n\"])*\"/\n .source +\n '|' + // multi-line string\n /\"\"\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\\"]|\"(?!\"\"))*\"\"\"/\n .source +\n ')' +\n /(?![\"#])/.source\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /(\\\\\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,\n lookbehind: true,\n inside: null // see below\n },\n 'interpolation-punctuation': {\n pattern: /^\\)|\\\\\\($/,\n alias: 'punctuation'\n },\n punctuation: /\\\\(?=[\\r\\n])/,\n string: /[\\s\\S]+/\n }\n },\n {\n pattern: RegExp(\n /(^|[^\"#])(#+)/.source +\n '(?:' + // single-line string\n /\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?\"/\n .source +\n '|' + // multi-line string\n /\"\"\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?\"\"\"/.source +\n ')' +\n '\\\\2'\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /(\\\\#+\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,\n lookbehind: true,\n inside: null // see below\n },\n 'interpolation-punctuation': {\n pattern: /^\\)|\\\\#+\\($/,\n alias: 'punctuation'\n },\n string: /[\\s\\S]+/\n }\n }\n ],\n directive: {\n // directives with conditions\n pattern: RegExp(\n /#/.source +\n '(?:' +\n (/(?:elseif|if)\\b/.source +\n '(?:[ \\t]*' + // This regex is a little complex. It's equivalent to this:\n // (?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*<round>)?|<round>)(?:[ \\t]*(?:&&|\\|\\|))?\n // where <round> is a general parentheses expression.\n /(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?/\n .source +\n ')+') +\n '|' +\n /(?:else|endif)\\b/.source +\n ')'\n ),\n alias: 'property',\n inside: {\n 'directive-name': /^#\\w+/,\n boolean: /\\b(?:false|true)\\b/,\n number: /\\b\\d+(?:\\.\\d+)*\\b/,\n operator: /!|&&|\\|\\||[<>]=?/,\n punctuation: /[(),]/\n }\n },\n literal: {\n pattern:\n /#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\\b/,\n alias: 'constant'\n },\n 'other-directive': {\n pattern: /#\\w+\\b/,\n alias: 'property'\n },\n attribute: {\n pattern: /@\\w+/,\n alias: 'atrule'\n },\n 'function-definition': {\n pattern: /(\\bfunc\\s+)\\w+/,\n lookbehind: true,\n alias: 'function'\n },\n label: {\n // https://docs.swift.org/swift-book/LanguageGuide/ControlFlow.html#ID141\n pattern:\n /\\b(break|continue)\\s+\\w+|\\b[a-zA-Z_]\\w*(?=\\s*:\\s*(?:for|repeat|while)\\b)/,\n lookbehind: true,\n alias: 'important'\n },\n keyword:\n /\\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n nil: {\n pattern: /\\bnil\\b/,\n alias: 'constant'\n },\n 'short-argument': /\\$\\d+\\b/,\n omit: {\n pattern: /\\b_\\b/,\n alias: 'keyword'\n },\n number:\n /\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i,\n // A class name must start with an upper-case letter and be either 1 letter long or contain a lower-case letter.\n 'class-name': /\\b[A-Z](?:[A-Z_\\d]*[a-z]\\w*)?\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n constant: /\\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/,\n // Operators are generic in Swift. Developers can even create new operators (e.g. +++).\n // https://docs.swift.org/swift-book/ReferenceManual/zzSummaryOfTheGrammar.html#ID481\n // This regex only supports ASCII operators.\n operator: /[-+*/%=!<>&|^~?]+|\\.[.\\-+*/%=!<>&|^~?]+/,\n punctuation: /[{}[\\]();,.:\\\\]/\n }\n Prism.languages.swift['string-literal'].forEach(function (rule) {\n rule.inside['interpolation'].inside = Prism.languages.swift\n })\n}\n","'use strict'\n\nmodule.exports = systemd\nsystemd.displayName = 'systemd'\nsystemd.aliases = []\nfunction systemd(Prism) {\n // https://www.freedesktop.org/software/systemd/man/systemd.syntax.html\n ;(function (Prism) {\n var comment = {\n pattern: /^[;#].*/m,\n greedy: true\n }\n var quotesSource = /\"(?:[^\\r\\n\"\\\\]|\\\\(?:[^\\r]|\\r\\n?))*\"(?!\\S)/.source\n Prism.languages.systemd = {\n comment: comment,\n section: {\n pattern: /^\\[[^\\n\\r\\[\\]]*\\](?=[ \\t]*$)/m,\n greedy: true,\n inside: {\n punctuation: /^\\[|\\]$/,\n 'section-name': {\n pattern: /[\\s\\S]+/,\n alias: 'selector'\n }\n }\n },\n key: {\n pattern: /^[^\\s=]+(?=[ \\t]*=)/m,\n greedy: true,\n alias: 'attr-name'\n },\n value: {\n // This pattern is quite complex because of two properties:\n // 1) Quotes (strings) must be preceded by a space. Since we can't use lookbehinds, we have to \"resolve\"\n // the lookbehind. You will see this in the main loop where spaces are handled separately.\n // 2) Line continuations.\n // After line continuations, empty lines and comments are ignored so we have to consume them.\n pattern: RegExp(\n /(=[ \\t]*(?!\\s))/.source + // the value either starts with quotes or not\n '(?:' +\n quotesSource +\n '|(?=[^\"\\r\\n]))' + // main loop\n '(?:' +\n (/[^\\s\\\\]/.source + // handle spaces separately because of quotes\n '|' +\n '[ \\t]+(?:(?![ \\t\"])|' +\n quotesSource +\n ')' + // line continuation\n '|' +\n /\\\\[\\r\\n]+(?:[#;].*[\\r\\n]+)*(?![#;])/.source) +\n ')*'\n ),\n lookbehind: true,\n greedy: true,\n alias: 'attr-value',\n inside: {\n comment: comment,\n quoted: {\n pattern: RegExp(/(^|\\s)/.source + quotesSource),\n lookbehind: true,\n greedy: true\n },\n punctuation: /\\\\$/m,\n boolean: {\n pattern: /^(?:false|no|off|on|true|yes)$/,\n greedy: true\n }\n }\n },\n punctuation: /=/\n }\n })(Prism)\n}\n","'use strict'\nvar refractorT4Templating = require('./t4-templating.js')\nvar refractorCsharp = require('./csharp.js')\nmodule.exports = t4Cs\nt4Cs.displayName = 't4Cs'\nt4Cs.aliases = []\nfunction t4Cs(Prism) {\n Prism.register(refractorT4Templating)\n Prism.register(refractorCsharp)\n Prism.languages.t4 = Prism.languages['t4-cs'] =\n Prism.languages['t4-templating'].createT4('csharp')\n}\n","'use strict'\n\nmodule.exports = t4Templating\nt4Templating.displayName = 't4Templating'\nt4Templating.aliases = []\nfunction t4Templating(Prism) {\n ;(function (Prism) {\n function createBlock(prefix, inside, contentAlias) {\n return {\n pattern: RegExp('<#' + prefix + '[\\\\s\\\\S]*?#>'),\n alias: 'block',\n inside: {\n delimiter: {\n pattern: RegExp('^<#' + prefix + '|#>$'),\n alias: 'important'\n },\n content: {\n pattern: /[\\s\\S]+/,\n inside: inside,\n alias: contentAlias\n }\n }\n }\n }\n function createT4(insideLang) {\n var grammar = Prism.languages[insideLang]\n var className = 'language-' + insideLang\n return {\n block: {\n pattern: /<#[\\s\\S]+?#>/,\n inside: {\n directive: createBlock('@', {\n 'attr-value': {\n pattern: /=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+)/,\n inside: {\n punctuation: /^=|^[\"']|[\"']$/\n }\n },\n keyword: /\\b\\w+(?=\\s)/,\n 'attr-name': /\\b\\w+/\n }),\n expression: createBlock('=', grammar, className),\n 'class-feature': createBlock('\\\\+', grammar, className),\n standard: createBlock('', grammar, className)\n }\n }\n }\n }\n Prism.languages['t4-templating'] = Object.defineProperty({}, 'createT4', {\n value: createT4\n })\n })(Prism)\n}\n","'use strict'\nvar refractorT4Templating = require('./t4-templating.js')\nvar refractorVbnet = require('./vbnet.js')\nmodule.exports = t4Vb\nt4Vb.displayName = 't4Vb'\nt4Vb.aliases = []\nfunction t4Vb(Prism) {\n Prism.register(refractorT4Templating)\n Prism.register(refractorVbnet)\n Prism.languages['t4-vb'] = Prism.languages['t4-templating'].createT4('vbnet')\n}\n","'use strict'\nvar refractorYaml = require('./yaml.js')\nmodule.exports = tap\ntap.displayName = 'tap'\ntap.aliases = []\nfunction tap(Prism) {\n Prism.register(refractorYaml)\n // https://en.wikipedia.org/wiki/Test_Anything_Protocol\n Prism.languages.tap = {\n fail: /not ok[^#{\\n\\r]*/,\n pass: /ok[^#{\\n\\r]*/,\n pragma: /pragma [+-][a-z]+/,\n bailout: /bail out!.*/i,\n version: /TAP version \\d+/i,\n plan: /\\b\\d+\\.\\.\\d+(?: +#.*)?/,\n subtest: {\n pattern: /# Subtest(?:: .*)?/,\n greedy: true\n },\n punctuation: /[{}]/,\n directive: /#.*/,\n yamlish: {\n pattern: /(^[ \\t]*)---[\\s\\S]*?[\\r\\n][ \\t]*\\.\\.\\.$/m,\n lookbehind: true,\n inside: Prism.languages.yaml,\n alias: 'language-yaml'\n }\n }\n}\n","'use strict'\n\nmodule.exports = tcl\ntcl.displayName = 'tcl'\ntcl.aliases = []\nfunction tcl(Prism) {\n Prism.languages.tcl = {\n comment: {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: true\n },\n string: {\n pattern: /\"(?:[^\"\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\"/,\n greedy: true\n },\n variable: [\n {\n pattern: /(\\$)(?:::)?(?:[a-zA-Z0-9]+::)*\\w+/,\n lookbehind: true\n },\n {\n pattern: /(\\$)\\{[^}]+\\}/,\n lookbehind: true\n },\n {\n pattern: /(^[\\t ]*set[ \\t]+)(?:::)?(?:[a-zA-Z0-9]+::)*\\w+/m,\n lookbehind: true\n }\n ],\n function: {\n pattern: /(^[\\t ]*proc[ \\t]+)\\S+/m,\n lookbehind: true\n },\n builtin: [\n {\n pattern:\n /(^[\\t ]*)(?:break|class|continue|error|eval|exit|for|foreach|if|proc|return|switch|while)\\b/m,\n lookbehind: true\n },\n /\\b(?:else|elseif)\\b/\n ],\n scope: {\n pattern: /(^[\\t ]*)(?:global|upvar|variable)\\b/m,\n lookbehind: true,\n alias: 'constant'\n },\n keyword: {\n pattern:\n /(^[\\t ]*|\\[)(?:Safe_Base|Tcl|after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|scan|seek|set|socket|source|split|string|subst|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|test|vars|wordBreak(?:After|Before))|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)\\b/m,\n lookbehind: true\n },\n operator:\n /!=?|\\*\\*?|==|&&?|\\|\\|?|<[=<]?|>[=>]?|[-+~\\/%?^]|\\b(?:eq|in|ne|ni)\\b/,\n punctuation: /[{}()\\[\\]]/\n }\n}\n","'use strict'\n\nmodule.exports = textile\ntextile.displayName = 'textile'\ntextile.aliases = []\nfunction textile(Prism) {\n ;(function (Prism) {\n // We don't allow for pipes inside parentheses\n // to not break table pattern |(. foo |). bar |\n var modifierRegex = /\\([^|()\\n]+\\)|\\[[^\\]\\n]+\\]|\\{[^}\\n]+\\}/.source // Opening and closing parentheses which are not a modifier\n // This pattern is necessary to prevent exponential backtracking\n var parenthesesRegex = /\\)|\\((?![^|()\\n]+\\))/.source\n /**\n * @param {string} source\n * @param {string} [flags]\n */\n function withModifier(source, flags) {\n return RegExp(\n source\n .replace(/<MOD>/g, function () {\n return '(?:' + modifierRegex + ')'\n })\n .replace(/<PAR>/g, function () {\n return '(?:' + parenthesesRegex + ')'\n }),\n flags || ''\n )\n }\n var modifierTokens = {\n css: {\n pattern: /\\{[^{}]+\\}/,\n inside: {\n rest: Prism.languages.css\n }\n },\n 'class-id': {\n pattern: /(\\()[^()]+(?=\\))/,\n lookbehind: true,\n alias: 'attr-value'\n },\n lang: {\n pattern: /(\\[)[^\\[\\]]+(?=\\])/,\n lookbehind: true,\n alias: 'attr-value'\n },\n // Anything else is punctuation (the first pattern is for row/col spans inside tables)\n punctuation: /[\\\\\\/]\\d+|\\S/\n }\n var textile = (Prism.languages.textile = Prism.languages.extend('markup', {\n phrase: {\n pattern: /(^|\\r|\\n)\\S[\\s\\S]*?(?=$|\\r?\\n\\r?\\n|\\r\\r)/,\n lookbehind: true,\n inside: {\n // h1. Header 1\n 'block-tag': {\n pattern: withModifier(/^[a-z]\\w*(?:<MOD>|<PAR>|[<>=])*\\./.source),\n inside: {\n modifier: {\n pattern: withModifier(\n /(^[a-z]\\w*)(?:<MOD>|<PAR>|[<>=])+(?=\\.)/.source\n ),\n lookbehind: true,\n inside: modifierTokens\n },\n tag: /^[a-z]\\w*/,\n punctuation: /\\.$/\n }\n },\n // # List item\n // * List item\n list: {\n pattern: withModifier(/^[*#]+<MOD>*\\s+\\S.*/.source, 'm'),\n inside: {\n modifier: {\n pattern: withModifier(/(^[*#]+)<MOD>+/.source),\n lookbehind: true,\n inside: modifierTokens\n },\n punctuation: /^[*#]+/\n }\n },\n // | cell | cell | cell |\n table: {\n // Modifiers can be applied to the row: {color:red}.|1|2|3|\n // or the cell: |{color:red}.1|2|3|\n pattern: withModifier(\n /^(?:(?:<MOD>|<PAR>|[<>=^~])+\\.\\s*)?(?:\\|(?:(?:<MOD>|<PAR>|[<>=^~_]|[\\\\/]\\d+)+\\.|(?!(?:<MOD>|<PAR>|[<>=^~_]|[\\\\/]\\d+)+\\.))[^|]*)+\\|/\n .source,\n 'm'\n ),\n inside: {\n modifier: {\n // Modifiers for rows after the first one are\n // preceded by a pipe and a line feed\n pattern: withModifier(\n /(^|\\|(?:\\r?\\n|\\r)?)(?:<MOD>|<PAR>|[<>=^~_]|[\\\\/]\\d+)+(?=\\.)/\n .source\n ),\n lookbehind: true,\n inside: modifierTokens\n },\n punctuation: /\\||^\\./\n }\n },\n inline: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(\n /(^|[^a-zA-Z\\d])(\\*\\*|__|\\?\\?|[*_%@+\\-^~])<MOD>*.+?\\2(?![a-zA-Z\\d])/\n .source\n ),\n lookbehind: true,\n inside: {\n // Note: superscripts and subscripts are not handled specifically\n // *bold*, **bold**\n bold: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(/(^(\\*\\*?)<MOD>*).+?(?=\\2)/.source),\n lookbehind: true\n },\n // _italic_, __italic__\n italic: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(/(^(__?)<MOD>*).+?(?=\\2)/.source),\n lookbehind: true\n },\n // ??cite??\n cite: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(/(^\\?\\?<MOD>*).+?(?=\\?\\?)/.source),\n lookbehind: true,\n alias: 'string'\n },\n // @code@\n code: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(/(^@<MOD>*).+?(?=@)/.source),\n lookbehind: true,\n alias: 'keyword'\n },\n // +inserted+\n inserted: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(/(^\\+<MOD>*).+?(?=\\+)/.source),\n lookbehind: true\n },\n // -deleted-\n deleted: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(/(^-<MOD>*).+?(?=-)/.source),\n lookbehind: true\n },\n // %span%\n span: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(/(^%<MOD>*).+?(?=%)/.source),\n lookbehind: true\n },\n modifier: {\n pattern: withModifier(\n /(^\\*\\*|__|\\?\\?|[*_%@+\\-^~])<MOD>+/.source\n ),\n lookbehind: true,\n inside: modifierTokens\n },\n punctuation: /[*_%?@+\\-^~]+/\n }\n },\n // [alias]http://example.com\n 'link-ref': {\n pattern: /^\\[[^\\]]+\\]\\S+$/m,\n inside: {\n string: {\n pattern: /(^\\[)[^\\]]+(?=\\])/,\n lookbehind: true\n },\n url: {\n pattern: /(^\\])\\S+$/,\n lookbehind: true\n },\n punctuation: /[\\[\\]]/\n }\n },\n // \"text\":http://example.com\n // \"text\":link-ref\n link: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(\n /\"<MOD>*[^\"]+\":.+?(?=[^\\w/]?(?:\\s|$))/.source\n ),\n inside: {\n text: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(/(^\"<MOD>*)[^\"]+(?=\")/.source),\n lookbehind: true\n },\n modifier: {\n pattern: withModifier(/(^\")<MOD>+/.source),\n lookbehind: true,\n inside: modifierTokens\n },\n url: {\n pattern: /(:).+/,\n lookbehind: true\n },\n punctuation: /[\":]/\n }\n },\n // !image.jpg!\n // !image.jpg(Title)!:http://example.com\n image: {\n pattern: withModifier(\n /!(?:<MOD>|<PAR>|[<>=])*(?![<>=])[^!\\s()]+(?:\\([^)]+\\))?!(?::.+?(?=[^\\w/]?(?:\\s|$)))?/\n .source\n ),\n inside: {\n source: {\n pattern: withModifier(\n /(^!(?:<MOD>|<PAR>|[<>=])*)(?![<>=])[^!\\s()]+(?:\\([^)]+\\))?(?=!)/\n .source\n ),\n lookbehind: true,\n alias: 'url'\n },\n modifier: {\n pattern: withModifier(/(^!)(?:<MOD>|<PAR>|[<>=])+/.source),\n lookbehind: true,\n inside: modifierTokens\n },\n url: {\n pattern: /(:).+/,\n lookbehind: true\n },\n punctuation: /[!:]/\n }\n },\n // Footnote[1]\n footnote: {\n pattern: /\\b\\[\\d+\\]/,\n alias: 'comment',\n inside: {\n punctuation: /\\[|\\]/\n }\n },\n // CSS(Cascading Style Sheet)\n acronym: {\n pattern: /\\b[A-Z\\d]+\\([^)]+\\)/,\n inside: {\n comment: {\n pattern: /(\\()[^()]+(?=\\))/,\n lookbehind: true\n },\n punctuation: /[()]/\n }\n },\n // Prism(C)\n mark: {\n pattern: /\\b\\((?:C|R|TM)\\)/,\n alias: 'comment',\n inside: {\n punctuation: /[()]/\n }\n }\n }\n }\n }))\n var phraseInside = textile['phrase'].inside\n var nestedPatterns = {\n inline: phraseInside['inline'],\n link: phraseInside['link'],\n image: phraseInside['image'],\n footnote: phraseInside['footnote'],\n acronym: phraseInside['acronym'],\n mark: phraseInside['mark']\n } // Only allow alpha-numeric HTML tags, not XML tags\n textile.tag.pattern =\n /<\\/?(?!\\d)[a-z0-9]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/i // Allow some nesting\n var phraseInlineInside = phraseInside['inline'].inside\n phraseInlineInside['bold'].inside = nestedPatterns\n phraseInlineInside['italic'].inside = nestedPatterns\n phraseInlineInside['inserted'].inside = nestedPatterns\n phraseInlineInside['deleted'].inside = nestedPatterns\n phraseInlineInside['span'].inside = nestedPatterns // Allow some styles inside table cells\n var phraseTableInside = phraseInside['table'].inside\n phraseTableInside['inline'] = nestedPatterns['inline']\n phraseTableInside['link'] = nestedPatterns['link']\n phraseTableInside['image'] = nestedPatterns['image']\n phraseTableInside['footnote'] = nestedPatterns['footnote']\n phraseTableInside['acronym'] = nestedPatterns['acronym']\n phraseTableInside['mark'] = nestedPatterns['mark']\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = toml\ntoml.displayName = 'toml'\ntoml.aliases = []\nfunction toml(Prism) {\n ;(function (Prism) {\n var key = /(?:[\\w-]+|'[^'\\n\\r]*'|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")/.source\n /**\n * @param {string} pattern\n */\n function insertKey(pattern) {\n return pattern.replace(/__/g, function () {\n return key\n })\n }\n Prism.languages.toml = {\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n table: {\n pattern: RegExp(\n insertKey(\n /(^[\\t ]*\\[\\s*(?:\\[\\s*)?)__(?:\\s*\\.\\s*__)*(?=\\s*\\])/.source\n ),\n 'm'\n ),\n lookbehind: true,\n greedy: true,\n alias: 'class-name'\n },\n key: {\n pattern: RegExp(\n insertKey(/(^[\\t ]*|[{,]\\s*)__(?:\\s*\\.\\s*__)*(?=\\s*=)/.source),\n 'm'\n ),\n lookbehind: true,\n greedy: true,\n alias: 'property'\n },\n string: {\n pattern:\n /\"\"\"(?:\\\\[\\s\\S]|[^\\\\])*?\"\"\"|'''[\\s\\S]*?'''|'[^'\\n\\r]*'|\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: true\n },\n date: [\n {\n // Offset Date-Time, Local Date-Time, Local Date\n pattern:\n /\\b\\d{4}-\\d{2}-\\d{2}(?:[T\\s]\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})?)?\\b/i,\n alias: 'number'\n },\n {\n // Local Time\n pattern: /\\b\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?\\b/,\n alias: 'number'\n }\n ],\n number:\n /(?:\\b0(?:x[\\da-zA-Z]+(?:_[\\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\\b|[-+]?\\b\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?\\b|[-+]?\\b(?:inf|nan)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n punctuation: /[.,=[\\]{}]/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = tremor\ntremor.displayName = 'tremor'\ntremor.aliases = []\nfunction tremor(Prism) {\n ;(function (Prism) {\n Prism.languages.tremor = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,\n lookbehind: true\n },\n 'interpolated-string': null,\n // see below\n extractor: {\n pattern: /\\b[a-z_]\\w*\\|(?:[^\\r\\n\\\\|]|\\\\(?:\\r\\n|[\\s\\S]))*\\|/i,\n greedy: true,\n inside: {\n regex: {\n pattern: /(^re)\\|[\\s\\S]+/,\n lookbehind: true\n },\n function: /^\\w+/,\n value: /\\|[\\s\\S]+/\n }\n },\n identifier: {\n pattern: /`[^`]*`/,\n greedy: true\n },\n function: /\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())\\b/,\n keyword:\n /\\b(?:args|as|by|case|config|connect|connector|const|copy|create|default|define|deploy|drop|each|emit|end|erase|event|flow|fn|for|from|group|having|insert|into|intrinsic|let|links|match|merge|mod|move|of|operator|patch|pipeline|recur|script|select|set|sliding|state|stream|to|tumbling|update|use|when|where|window|with)\\b/,\n boolean: /\\b(?:false|null|true)\\b/i,\n number:\n /\\b(?:0b[01_]*|0x[0-9a-fA-F_]*|\\d[\\d_]*(?:\\.\\d[\\d_]*)?(?:[Ee][+-]?[\\d_]+)?)\\b/,\n 'pattern-punctuation': {\n pattern: /%(?=[({[])/,\n alias: 'punctuation'\n },\n operator:\n /[-+*\\/%~!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?>?=?|(?:absent|and|not|or|present|xor)\\b/,\n punctuation: /::|[;\\[\\]()\\{\\},.:]/\n }\n var interpolationPattern =\n /#\\{(?:[^\"{}]|\\{[^{}]*\\}|\"(?:[^\"\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\")*\\}/.source\n Prism.languages.tremor['interpolated-string'] = {\n pattern: RegExp(\n /(^|[^\\\\])/.source +\n '(?:' +\n '\"\"\"(?:' +\n /[^\"\\\\#]|\\\\[\\s\\S]|\"(?!\"\")|#(?!\\{)/.source +\n '|' +\n interpolationPattern +\n ')*\"\"\"' +\n '|' +\n '\"(?:' +\n /[^\"\\\\\\r\\n#]|\\\\(?:\\r\\n|[\\s\\S])|#(?!\\{)/.source +\n '|' +\n interpolationPattern +\n ')*\"' +\n ')'\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: {\n pattern: RegExp(interpolationPattern),\n inside: {\n punctuation: /^#\\{|\\}$/,\n expression: {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.tremor\n }\n }\n },\n string: /[\\s\\S]+/\n }\n }\n Prism.languages.troy = Prism.languages['tremor']\n Prism.languages.trickle = Prism.languages['tremor']\n })(Prism)\n}\n","'use strict'\nvar refractorJsx = require('./jsx.js')\nvar refractorTypescript = require('./typescript.js')\nmodule.exports = tsx\ntsx.displayName = 'tsx'\ntsx.aliases = []\nfunction tsx(Prism) {\n Prism.register(refractorJsx)\n Prism.register(refractorTypescript)\n ;(function (Prism) {\n var typescript = Prism.util.clone(Prism.languages.typescript)\n Prism.languages.tsx = Prism.languages.extend('jsx', typescript) // doesn't work with TS because TS is too complex\n delete Prism.languages.tsx['parameter']\n delete Prism.languages.tsx['literal-property'] // This will prevent collisions between TSX tags and TS generic types.\n // Idea by https://github.com/karlhorky\n // Discussion: https://github.com/PrismJS/prism/issues/2594#issuecomment-710666928\n var tag = Prism.languages.tsx.tag\n tag.pattern = RegExp(\n /(^|[^\\w$]|(?=<\\/))/.source + '(?:' + tag.pattern.source + ')',\n tag.pattern.flags\n )\n tag.lookbehind = true\n })(Prism)\n}\n","'use strict'\nvar refractorMarkupTemplating = require('./markup-templating.js')\nmodule.exports = tt2\ntt2.displayName = 'tt2'\ntt2.aliases = []\nfunction tt2(Prism) {\n Prism.register(refractorMarkupTemplating)\n ;(function (Prism) {\n Prism.languages.tt2 = Prism.languages.extend('clike', {\n comment: /#.*|\\[%#[\\s\\S]*?%\\]/,\n keyword:\n /\\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|SWITCH|TAGS|THROW|TRY|UNLESS|USE|WHILE|WRAPPER)\\b/,\n punctuation: /[[\\]{},()]/\n })\n Prism.languages.insertBefore('tt2', 'number', {\n operator: /=[>=]?|!=?|<=?|>=?|&&|\\|\\|?|\\b(?:and|not|or)\\b/,\n variable: {\n pattern: /\\b[a-z]\\w*(?:\\s*\\.\\s*(?:\\d+|\\$?[a-z]\\w*))*\\b/i\n }\n })\n Prism.languages.insertBefore('tt2', 'keyword', {\n delimiter: {\n pattern: /^(?:\\[%|%%)-?|-?%\\]$/,\n alias: 'punctuation'\n }\n })\n Prism.languages.insertBefore('tt2', 'string', {\n 'single-quoted-string': {\n pattern: /'[^\\\\']*(?:\\\\[\\s\\S][^\\\\']*)*'/,\n greedy: true,\n alias: 'string'\n },\n 'double-quoted-string': {\n pattern: /\"[^\\\\\"]*(?:\\\\[\\s\\S][^\\\\\"]*)*\"/,\n greedy: true,\n alias: 'string',\n inside: {\n variable: {\n pattern: /\\$(?:[a-z]\\w*(?:\\.(?:\\d+|\\$?[a-z]\\w*))*)/i\n }\n }\n }\n }) // The different types of TT2 strings \"replace\" the C-like standard string\n delete Prism.languages.tt2.string\n Prism.hooks.add('before-tokenize', function (env) {\n var tt2Pattern = /\\[%[\\s\\S]+?%\\]/g\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'tt2',\n tt2Pattern\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'tt2')\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = turtle\nturtle.displayName = 'turtle'\nturtle.aliases = []\nfunction turtle(Prism) {\n Prism.languages.turtle = {\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n 'multiline-string': {\n pattern:\n /\"\"\"(?:(?:\"\"?)?(?:[^\"\\\\]|\\\\.))*\"\"\"|'''(?:(?:''?)?(?:[^'\\\\]|\\\\.))*'''/,\n greedy: true,\n alias: 'string',\n inside: {\n comment: /#.*/\n }\n },\n string: {\n pattern: /\"(?:[^\\\\\"\\r\\n]|\\\\.)*\"|'(?:[^\\\\'\\r\\n]|\\\\.)*'/,\n greedy: true\n },\n url: {\n pattern:\n /<(?:[^\\x00-\\x20<>\"{}|^`\\\\]|\\\\(?:u[\\da-fA-F]{4}|U[\\da-fA-F]{8}))*>/,\n greedy: true,\n inside: {\n punctuation: /[<>]/\n }\n },\n function: {\n pattern:\n /(?:(?![-.\\d\\xB7])[-.\\w\\xB7\\xC0-\\uFFFD]+)?:(?:(?![-.])(?:[-.:\\w\\xC0-\\uFFFD]|%[\\da-f]{2}|\\\\.)+)?/i,\n inside: {\n 'local-name': {\n pattern: /([^:]*:)[\\s\\S]+/,\n lookbehind: true\n },\n prefix: {\n pattern: /[\\s\\S]+/,\n inside: {\n punctuation: /:/\n }\n }\n }\n },\n number: /[+-]?\\b\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?/i,\n punctuation: /[{}.,;()[\\]]|\\^\\^/,\n boolean: /\\b(?:false|true)\\b/,\n keyword: [/(?:\\ba|@prefix|@base)\\b|=/, /\\b(?:base|graph|prefix)\\b/i],\n tag: {\n pattern: /@[a-z]+(?:-[a-z\\d]+)*/i,\n inside: {\n punctuation: /@/\n }\n }\n }\n Prism.languages.trig = Prism.languages['turtle']\n}\n","'use strict'\nvar refractorMarkupTemplating = require('./markup-templating.js')\nmodule.exports = twig\ntwig.displayName = 'twig'\ntwig.aliases = []\nfunction twig(Prism) {\n Prism.register(refractorMarkupTemplating)\n Prism.languages.twig = {\n comment: /^\\{#[\\s\\S]*?#\\}$/,\n 'tag-name': {\n pattern: /(^\\{%-?\\s*)\\w+/,\n lookbehind: true,\n alias: 'keyword'\n },\n delimiter: {\n pattern: /^\\{[{%]-?|-?[%}]\\}$/,\n alias: 'punctuation'\n },\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n inside: {\n punctuation: /^['\"]|['\"]$/\n }\n },\n keyword: /\\b(?:even|if|odd)\\b/,\n boolean: /\\b(?:false|null|true)\\b/,\n number: /\\b0x[\\dA-Fa-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee][-+]?\\d+)?/,\n operator: [\n {\n pattern:\n /(\\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\\s)/,\n lookbehind: true\n },\n /[=<>]=?|!=|\\*\\*?|\\/\\/?|\\?:?|[-+~%|]/\n ],\n punctuation: /[()\\[\\]{}:.,]/\n }\n Prism.hooks.add('before-tokenize', function (env) {\n if (env.language !== 'twig') {\n return\n }\n var pattern = /\\{(?:#[\\s\\S]*?#|%[\\s\\S]*?%|\\{[\\s\\S]*?\\})\\}/g\n Prism.languages['markup-templating'].buildPlaceholders(env, 'twig', pattern)\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'twig')\n })\n}\n","'use strict'\n\nmodule.exports = typescript\ntypescript.displayName = 'typescript'\ntypescript.aliases = ['ts']\nfunction typescript(Prism) {\n ;(function (Prism) {\n Prism.languages.typescript = Prism.languages.extend('javascript', {\n 'class-name': {\n pattern:\n /(\\b(?:class|extends|implements|instanceof|interface|new|type)\\s+)(?!keyof\\b)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?:\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,\n lookbehind: true,\n greedy: true,\n inside: null // see below\n },\n builtin:\n /\\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\\b/\n }) // The keywords TypeScript adds to JavaScript\n Prism.languages.typescript.keyword.push(\n /\\b(?:abstract|declare|is|keyof|readonly|require)\\b/, // keywords that have to be followed by an identifier\n /\\b(?:asserts|infer|interface|module|namespace|type)\\b(?=\\s*(?:[{_$a-zA-Z\\xA0-\\uFFFF]|$))/, // This is for `import type *, {}`\n /\\btype\\b(?=\\s*(?:[\\{*]|$))/\n ) // doesn't work with TS because TS is too complex\n delete Prism.languages.typescript['parameter']\n delete Prism.languages.typescript['literal-property'] // a version of typescript specifically for highlighting types\n var typeInside = Prism.languages.extend('typescript', {})\n delete typeInside['class-name']\n Prism.languages.typescript['class-name'].inside = typeInside\n Prism.languages.insertBefore('typescript', 'function', {\n decorator: {\n pattern: /@[$\\w\\xA0-\\uFFFF]+/,\n inside: {\n at: {\n pattern: /^@/,\n alias: 'operator'\n },\n function: /^[\\s\\S]+/\n }\n },\n 'generic-function': {\n // e.g. foo<T extends \"bar\" | \"baz\">( ...\n pattern:\n /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\\s*\\()/,\n greedy: true,\n inside: {\n function: /^#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/,\n generic: {\n pattern: /<[\\s\\S]+/,\n // everything after the first <\n alias: 'class-name',\n inside: typeInside\n }\n }\n }\n })\n Prism.languages.ts = Prism.languages.typescript\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = typoscript\ntyposcript.displayName = 'typoscript'\ntyposcript.aliases = ['tsconfig']\nfunction typoscript(Prism) {\n ;(function (Prism) {\n var keywords =\n /\\b(?:ACT|ACTIFSUB|CARRAY|CASE|CLEARGIF|COA|COA_INT|CONSTANTS|CONTENT|CUR|EDITPANEL|EFFECT|EXT|FILE|FLUIDTEMPLATE|FORM|FRAME|FRAMESET|GIFBUILDER|GMENU|GMENU_FOLDOUT|GMENU_LAYERS|GP|HMENU|HRULER|HTML|IENV|IFSUB|IMAGE|IMGMENU|IMGMENUITEM|IMGTEXT|IMG_RESOURCE|INCLUDE_TYPOSCRIPT|JSMENU|JSMENUITEM|LLL|LOAD_REGISTER|NO|PAGE|RECORDS|RESTORE_REGISTER|TEMPLATE|TEXT|TMENU|TMENUITEM|TMENU_LAYERS|USER|USER_INT|_GIFBUILDER|global|globalString|globalVar)\\b/\n Prism.languages.typoscript = {\n comment: [\n {\n // multiline comments /* */\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true\n },\n {\n // double-slash comments - ignored when backslashes or colon is found in front\n // also ignored whenever directly after an equal-sign, because it would probably be an url without protocol\n pattern: /(^|[^\\\\:= \\t]|(?:^|[^= \\t])[ \\t]+)\\/\\/.*/,\n lookbehind: true,\n greedy: true\n },\n {\n // hash comments - ignored when leading quote is found for hex colors in strings\n pattern: /(^|[^\"'])#.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n function: [\n {\n // old include style\n pattern:\n /<INCLUDE_TYPOSCRIPT:\\s*source\\s*=\\s*(?:\"[^\"\\r\\n]*\"|'[^'\\r\\n]*')\\s*>/,\n inside: {\n string: {\n pattern: /\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'/,\n inside: {\n keyword: keywords\n }\n },\n keyword: {\n pattern: /INCLUDE_TYPOSCRIPT/\n }\n }\n },\n {\n // new include style\n pattern: /@import\\s*(?:\"[^\"\\r\\n]*\"|'[^'\\r\\n]*')/,\n inside: {\n string: /\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'/\n }\n }\n ],\n string: {\n pattern: /^([^=]*=[< ]?)(?:(?!\\]\\n).)*/,\n lookbehind: true,\n inside: {\n function: /\\{\\$.*\\}/,\n // constants include\n keyword: keywords,\n number: /^\\d+$/,\n punctuation: /[,|:]/\n }\n },\n keyword: keywords,\n number: {\n // special highlighting for indexes of arrays in tags\n pattern: /\\b\\d+\\s*[.{=]/,\n inside: {\n operator: /[.{=]/\n }\n },\n tag: {\n pattern: /\\.?[-\\w\\\\]+\\.?/,\n inside: {\n punctuation: /\\./\n }\n },\n punctuation: /[{}[\\];(),.:|]/,\n operator: /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/\n }\n Prism.languages.tsconfig = Prism.languages.typoscript\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = unrealscript\nunrealscript.displayName = 'unrealscript'\nunrealscript.aliases = ['uc', 'uscript']\nfunction unrealscript(Prism) {\n Prism.languages.unrealscript = {\n comment: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n category: {\n pattern:\n /(\\b(?:(?:autoexpand|hide|show)categories|var)\\s*\\()[^()]+(?=\\))/,\n lookbehind: true,\n greedy: true,\n alias: 'property'\n },\n metadata: {\n pattern: /(\\w\\s*)<\\s*\\w+\\s*=[^<>|=\\r\\n]+(?:\\|\\s*\\w+\\s*=[^<>|=\\r\\n]+)*>/,\n lookbehind: true,\n greedy: true,\n inside: {\n property: /\\b\\w+(?=\\s*=)/,\n operator: /=/,\n punctuation: /[<>|]/\n }\n },\n macro: {\n pattern: /`\\w+/,\n alias: 'property'\n },\n 'class-name': {\n pattern:\n /(\\b(?:class|enum|extends|interface|state(?:\\(\\))?|struct|within)\\s+)\\w+/,\n lookbehind: true\n },\n keyword:\n /\\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n boolean: /\\b(?:false|true)\\b/,\n number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n // https://docs.unrealengine.com/udk/Three/UnrealScriptExpressions.html\n operator:\n />>|<<|--|\\+\\+|\\*\\*|[-+*/~!=<>$@]=?|&&?|\\|\\|?|\\^\\^?|[?:%]|\\b(?:ClockwiseFrom|Cross|Dot)\\b/,\n punctuation: /[()[\\]{};,.]/\n }\n Prism.languages.uc = Prism.languages.uscript = Prism.languages.unrealscript\n}\n","'use strict'\n\nmodule.exports = uorazor\nuorazor.displayName = 'uorazor'\nuorazor.aliases = []\nfunction uorazor(Prism) {\n Prism.languages.uorazor = {\n 'comment-hash': {\n pattern: /#.*/,\n alias: 'comment',\n greedy: true\n },\n 'comment-slash': {\n pattern: /\\/\\/.*/,\n alias: 'comment',\n greedy: true\n },\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n inside: {\n punctuation: /^['\"]|['\"]$/\n },\n greedy: true\n },\n 'source-layers': {\n pattern:\n /\\b(?:arms|backpack|blue|bracelet|cancel|clear|cloak|criminal|earrings|enemy|facialhair|friend|friendly|gloves|gray|grey|ground|hair|head|innerlegs|innertorso|innocent|lefthand|middletorso|murderer|neck|nonfriendly|onehandedsecondary|outerlegs|outertorso|pants|red|righthand|ring|self|shirt|shoes|talisman|waist)\\b/i,\n alias: 'function'\n },\n 'source-commands': {\n pattern:\n /\\b(?:alliance|attack|cast|clearall|clearignore|clearjournal|clearlist|clearsysmsg|createlist|createtimer|dclick|dclicktype|dclickvar|dress|dressconfig|drop|droprelloc|emote|getlabel|guild|gumpclose|gumpresponse|hotkey|ignore|lasttarget|lift|lifttype|menu|menuresponse|msg|org|organize|organizer|overhead|pause|poplist|potion|promptresponse|pushlist|removelist|removetimer|rename|restock|say|scav|scavenger|script|setability|setlasttarget|setskill|settimer|setvar|sysmsg|target|targetloc|targetrelloc|targettype|undress|unignore|unsetvar|useobject|useonce|useskill|usetype|virtue|wait|waitforgump|waitformenu|waitforprompt|waitforstat|waitforsysmsg|waitfortarget|walk|wfsysmsg|wft|whisper|yell)\\b/,\n alias: 'function'\n },\n 'tag-name': {\n pattern: /(^\\{%-?\\s*)\\w+/,\n lookbehind: true,\n alias: 'keyword'\n },\n delimiter: {\n pattern: /^\\{[{%]-?|-?[%}]\\}$/,\n alias: 'punctuation'\n },\n function:\n /\\b(?:atlist|close|closest|count|counter|counttype|dead|dex|diffhits|diffmana|diffstam|diffweight|find|findbuff|finddebuff|findlayer|findtype|findtypelist|followers|gumpexists|hidden|hits|hp|hue|human|humanoid|ingump|inlist|insysmessage|insysmsg|int|invul|lhandempty|list|listexists|mana|maxhits|maxhp|maxmana|maxstam|maxweight|monster|mounted|name|next|noto|paralyzed|poisoned|position|prev|previous|queued|rand|random|rhandempty|skill|stam|str|targetexists|timer|timerexists|varexist|warmode|weight)\\b/,\n keyword:\n /\\b(?:and|as|break|continue|else|elseif|endfor|endif|endwhile|for|if|loop|not|or|replay|stop|while)\\b/,\n boolean: /\\b(?:false|null|true)\\b/,\n number: /\\b0x[\\dA-Fa-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee][-+]?\\d+)?/,\n operator: [\n {\n pattern:\n /(\\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\\s)/,\n lookbehind: true\n },\n /[=<>]=?|!=|\\*\\*?|\\/\\/?|\\?:?|[-+~%|]/\n ],\n punctuation: /[()\\[\\]{}:.,]/\n }\n}\n","'use strict'\n\nmodule.exports = uri\nuri.displayName = 'uri'\nuri.aliases = ['url']\nfunction uri(Prism) {\n // https://tools.ietf.org/html/rfc3986#appendix-A\n Prism.languages.uri = {\n scheme: {\n pattern: /^[a-z][a-z0-9+.-]*:/im,\n greedy: true,\n inside: {\n 'scheme-delimiter': /:$/\n }\n },\n fragment: {\n pattern: /#[\\w\\-.~!$&'()*+,;=%:@/?]*/,\n inside: {\n 'fragment-delimiter': /^#/\n }\n },\n query: {\n pattern: /\\?[\\w\\-.~!$&'()*+,;=%:@/?]*/,\n inside: {\n 'query-delimiter': {\n pattern: /^\\?/,\n greedy: true\n },\n 'pair-delimiter': /[&;]/,\n pair: {\n pattern: /^[^=][\\s\\S]*/,\n inside: {\n key: /^[^=]+/,\n value: {\n pattern: /(^=)[\\s\\S]+/,\n lookbehind: true\n }\n }\n }\n }\n },\n authority: {\n pattern: RegExp(\n /^\\/\\//.source + // [ userinfo \"@\" ]\n /(?:[\\w\\-.~!$&'()*+,;=%:]*@)?/.source + // host\n ('(?:' + // IP-literal\n /\\[(?:[0-9a-fA-F:.]{2,48}|v[0-9a-fA-F]+\\.[\\w\\-.~!$&'()*+,;=]+)\\]/\n .source +\n '|' + // IPv4address or registered name\n /[\\w\\-.~!$&'()*+,;=%]*/.source +\n ')') + // [ \":\" port ]\n /(?::\\d*)?/.source,\n 'm'\n ),\n inside: {\n 'authority-delimiter': /^\\/\\//,\n 'user-info-segment': {\n pattern: /^[\\w\\-.~!$&'()*+,;=%:]*@/,\n inside: {\n 'user-info-delimiter': /@$/,\n 'user-info': /^[\\w\\-.~!$&'()*+,;=%:]+/\n }\n },\n 'port-segment': {\n pattern: /:\\d*$/,\n inside: {\n 'port-delimiter': /^:/,\n port: /^\\d+/\n }\n },\n host: {\n pattern: /[\\s\\S]+/,\n inside: {\n 'ip-literal': {\n pattern: /^\\[[\\s\\S]+\\]$/,\n inside: {\n 'ip-literal-delimiter': /^\\[|\\]$/,\n 'ipv-future': /^v[\\s\\S]+/,\n 'ipv6-address': /^[\\s\\S]+/\n }\n },\n 'ipv4-address':\n /^(?:(?:[03-9]\\d?|[12]\\d{0,2})\\.){3}(?:[03-9]\\d?|[12]\\d{0,2})$/\n }\n }\n }\n },\n path: {\n pattern: /^[\\w\\-.~!$&'()*+,;=%:@/]+/m,\n inside: {\n 'path-separator': /\\//\n }\n }\n }\n Prism.languages.url = Prism.languages.uri\n}\n","'use strict'\n\nmodule.exports = v\nv.displayName = 'v'\nv.aliases = []\nfunction v(Prism) {\n ;(function (Prism) {\n var interpolationExpr = {\n pattern: /[\\s\\S]+/,\n inside: null\n }\n Prism.languages.v = Prism.languages.extend('clike', {\n string: {\n pattern: /r?([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n alias: 'quoted-string',\n greedy: true,\n inside: {\n interpolation: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:\\{[^{}]*\\}|\\w+(?:\\.\\w+(?:\\([^\\(\\)]*\\))?|\\[[^\\[\\]]+\\])*)/,\n lookbehind: true,\n inside: {\n 'interpolation-variable': {\n pattern: /^\\$\\w[\\s\\S]*$/,\n alias: 'variable'\n },\n 'interpolation-punctuation': {\n pattern: /^\\$\\{|\\}$/,\n alias: 'punctuation'\n },\n 'interpolation-expression': interpolationExpr\n }\n }\n }\n },\n 'class-name': {\n pattern: /(\\b(?:enum|interface|struct|type)\\s+)(?:C\\.)?\\w+/,\n lookbehind: true\n },\n keyword:\n /(?:\\b(?:__global|as|asm|assert|atomic|break|chan|const|continue|defer|else|embed|enum|fn|for|go(?:to)?|if|import|in|interface|is|lock|match|module|mut|none|or|pub|return|rlock|select|shared|sizeof|static|struct|type(?:of)?|union|unsafe)|\\$(?:else|for|if)|#(?:flag|include))\\b/,\n number:\n /\\b(?:0x[a-f\\d]+(?:_[a-f\\d]+)*|0b[01]+(?:_[01]+)*|0o[0-7]+(?:_[0-7]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?)\\b/i,\n operator:\n /~|\\?|[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\.?/,\n builtin:\n /\\b(?:any(?:_float|_int)?|bool|byte(?:ptr)?|charptr|f(?:32|64)|i(?:8|16|64|128|nt)|rune|size_t|string|u(?:16|32|64|128)|voidptr)\\b/\n })\n interpolationExpr.inside = Prism.languages.v\n Prism.languages.insertBefore('v', 'string', {\n char: {\n pattern: /`(?:\\\\`|\\\\?[^`]{1,2})`/,\n // using {1,2} instead of `u` flag for compatibility\n alias: 'rune'\n }\n })\n Prism.languages.insertBefore('v', 'operator', {\n attribute: {\n pattern:\n /(^[\\t ]*)\\[(?:deprecated|direct_array_access|flag|inline|live|ref_only|typedef|unsafe_fn|windows_stdcall)\\]/m,\n lookbehind: true,\n alias: 'annotation',\n inside: {\n punctuation: /[\\[\\]]/,\n keyword: /\\w+/\n }\n },\n generic: {\n pattern: /<\\w+>(?=\\s*[\\)\\{])/,\n inside: {\n punctuation: /[<>]/,\n 'class-name': /\\w+/\n }\n }\n })\n Prism.languages.insertBefore('v', 'function', {\n 'generic-function': {\n // e.g. foo<T>( ...\n pattern: /\\b\\w+\\s*<\\w+>(?=\\()/,\n inside: {\n function: /^\\w+/,\n generic: {\n pattern: /<\\w+>/,\n inside: Prism.languages.v.generic.inside\n }\n }\n }\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = vala\nvala.displayName = 'vala'\nvala.aliases = []\nfunction vala(Prism) {\n Prism.languages.vala = Prism.languages.extend('clike', {\n // Classes copied from prism-csharp\n 'class-name': [\n {\n // (Foo bar, Bar baz)\n pattern: /\\b[A-Z]\\w*(?:\\.\\w+)*\\b(?=(?:\\?\\s+|\\*?\\s+\\*?)\\w)/,\n inside: {\n punctuation: /\\./\n }\n },\n {\n // [Foo]\n pattern: /(\\[)[A-Z]\\w*(?:\\.\\w+)*\\b/,\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n },\n {\n // class Foo : Bar\n pattern:\n /(\\b(?:class|interface)\\s+[A-Z]\\w*(?:\\.\\w+)*\\s*:\\s*)[A-Z]\\w*(?:\\.\\w+)*\\b/,\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n },\n {\n // class Foo\n pattern:\n /((?:\\b(?:class|enum|interface|new|struct)\\s+)|(?:catch\\s+\\())[A-Z]\\w*(?:\\.\\w+)*\\b/,\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n }\n ],\n keyword:\n /\\b(?:abstract|as|assert|async|base|bool|break|case|catch|char|class|const|construct|continue|default|delegate|delete|do|double|dynamic|else|ensures|enum|errordomain|extern|finally|float|for|foreach|get|if|in|inline|int|int16|int32|int64|int8|interface|internal|is|lock|long|namespace|new|null|out|override|owned|params|private|protected|public|ref|requires|return|set|short|signal|sizeof|size_t|ssize_t|static|string|struct|switch|this|throw|throws|try|typeof|uchar|uint|uint16|uint32|uint64|uint8|ulong|unichar|unowned|ushort|using|value|var|virtual|void|volatile|weak|while|yield)\\b/i,\n function: /\\b\\w+(?=\\s*\\()/,\n number:\n /(?:\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)(?:f|u?l?)?/i,\n operator:\n /\\+\\+|--|&&|\\|\\||<<=?|>>=?|=>|->|~|[+\\-*\\/%&^|=!<>]=?|\\?\\??|\\.\\.\\./,\n punctuation: /[{}[\\];(),.:]/,\n constant: /\\b[A-Z0-9_]+\\b/\n })\n Prism.languages.insertBefore('vala', 'string', {\n 'raw-string': {\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: true,\n alias: 'string'\n },\n 'template-string': {\n pattern: /@\"[\\s\\S]*?\"/,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /\\$(?:\\([^)]*\\)|[a-zA-Z]\\w*)/,\n inside: {\n delimiter: {\n pattern: /^\\$\\(?|\\)$/,\n alias: 'punctuation'\n },\n rest: Prism.languages.vala\n }\n },\n string: /[\\s\\S]+/\n }\n }\n })\n Prism.languages.insertBefore('vala', 'keyword', {\n regex: {\n pattern:\n /\\/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[imsx]{0,4}(?=\\s*(?:$|[\\r\\n,.;})\\]]))/,\n greedy: true,\n inside: {\n 'regex-source': {\n pattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n lookbehind: true,\n alias: 'language-regex',\n inside: Prism.languages.regex\n },\n 'regex-delimiter': /^\\//,\n 'regex-flags': /^[a-z]+$/\n }\n }\n })\n}\n","'use strict'\nvar refractorBasic = require('./basic.js')\nmodule.exports = vbnet\nvbnet.displayName = 'vbnet'\nvbnet.aliases = []\nfunction vbnet(Prism) {\n Prism.register(refractorBasic)\n Prism.languages.vbnet = Prism.languages.extend('basic', {\n comment: [\n {\n pattern: /(?:!|REM\\b).+/i,\n inside: {\n keyword: /^REM/i\n }\n },\n {\n pattern: /(^|[^\\\\:])'.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n string: {\n pattern: /(^|[^\"])\"(?:\"\"|[^\"])*\"(?!\")/,\n lookbehind: true,\n greedy: true\n },\n keyword:\n /(?:\\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDBL|CDEC|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LET|LIB|LIKE|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPERATOR|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHELL|SHORT|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SWAP|SYNCLOCK|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\\$|\\b)/i,\n punctuation: /[,;:(){}]/\n })\n}\n","'use strict'\n\nmodule.exports = velocity\nvelocity.displayName = 'velocity'\nvelocity.aliases = []\nfunction velocity(Prism) {\n ;(function (Prism) {\n Prism.languages.velocity = Prism.languages.extend('markup', {})\n var velocity = {\n variable: {\n pattern:\n /(^|[^\\\\](?:\\\\\\\\)*)\\$!?(?:[a-z][\\w-]*(?:\\([^)]*\\))?(?:\\.[a-z][\\w-]*(?:\\([^)]*\\))?|\\[[^\\]]+\\])*|\\{[^}]+\\})/i,\n lookbehind: true,\n inside: {} // See below\n },\n string: {\n pattern: /\"[^\"]*\"|'[^']*'/,\n greedy: true\n },\n number: /\\b\\d+\\b/,\n boolean: /\\b(?:false|true)\\b/,\n operator:\n /[=!<>]=?|[+*/%-]|&&|\\|\\||\\.\\.|\\b(?:eq|g[et]|l[et]|n(?:e|ot))\\b/,\n punctuation: /[(){}[\\]:,.]/\n }\n velocity.variable.inside = {\n string: velocity['string'],\n function: {\n pattern: /([^\\w-])[a-z][\\w-]*(?=\\()/,\n lookbehind: true\n },\n number: velocity['number'],\n boolean: velocity['boolean'],\n punctuation: velocity['punctuation']\n }\n Prism.languages.insertBefore('velocity', 'comment', {\n unparsed: {\n pattern: /(^|[^\\\\])#\\[\\[[\\s\\S]*?\\]\\]#/,\n lookbehind: true,\n greedy: true,\n inside: {\n punctuation: /^#\\[\\[|\\]\\]#$/\n }\n },\n 'velocity-comment': [\n {\n pattern: /(^|[^\\\\])#\\*[\\s\\S]*?\\*#/,\n lookbehind: true,\n greedy: true,\n alias: 'comment'\n },\n {\n pattern: /(^|[^\\\\])##.*/,\n lookbehind: true,\n greedy: true,\n alias: 'comment'\n }\n ],\n directive: {\n pattern:\n /(^|[^\\\\](?:\\\\\\\\)*)#@?(?:[a-z][\\w-]*|\\{[a-z][\\w-]*\\})(?:\\s*\\((?:[^()]|\\([^()]*\\))*\\))?/i,\n lookbehind: true,\n inside: {\n keyword: {\n pattern: /^#@?(?:[a-z][\\w-]*|\\{[a-z][\\w-]*\\})|\\bin\\b/,\n inside: {\n punctuation: /[{}]/\n }\n },\n rest: velocity\n }\n },\n variable: velocity['variable']\n })\n Prism.languages.velocity['tag'].inside['attr-value'].inside.rest =\n Prism.languages.velocity\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = verilog\nverilog.displayName = 'verilog'\nverilog.aliases = []\nfunction verilog(Prism) {\n Prism.languages.verilog = {\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n greedy: true\n },\n string: {\n pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n greedy: true\n },\n 'kernel-function': {\n // support for any kernel function (ex: $display())\n pattern: /\\B\\$\\w+\\b/,\n alias: 'property'\n },\n // support for user defined constants (ex: `define)\n constant: /\\B`\\w+\\b/,\n function: /\\b\\w+(?=\\()/,\n // support for verilog and system verilog keywords\n keyword:\n /\\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|case|casex|casez|cell|chandle|class|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endsequence|endspecify|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_ondetect|pulsestyle_onevent|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\\b/,\n // bold highlighting for all verilog and system verilog logic blocks\n important: /\\b(?:always|always_comb|always_ff|always_latch)\\b(?: *@)?/,\n // support for time ticks, vectors, and real numbers\n number:\n /\\B##?\\d+|(?:\\b\\d+)?'[odbh] ?[\\da-fzx_?]+|\\b(?:\\d*[._])?\\d+(?:e[-+]?\\d+)?/i,\n operator: /[-+{}^~%*\\/?=!<>&|]+/,\n punctuation: /[[\\];(),.:]/\n }\n}\n","'use strict'\n\nmodule.exports = vhdl\nvhdl.displayName = 'vhdl'\nvhdl.aliases = []\nfunction vhdl(Prism) {\n Prism.languages.vhdl = {\n comment: /--.+/,\n // support for all logic vectors\n 'vhdl-vectors': {\n pattern: /\\b[oxb]\"[\\da-f_]+\"|\"[01uxzwlh-]+\"/i,\n alias: 'number'\n },\n // support for operator overloading included\n 'quoted-function': {\n pattern: /\"\\S+?\"(?=\\()/,\n alias: 'function'\n },\n string: /\"(?:[^\\\\\"\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\"/,\n constant: /\\b(?:library|use)\\b/i,\n // support for predefined attributes included\n keyword:\n /\\b(?:'active|'ascending|'base|'delayed|'driving|'driving_value|'event|'high|'image|'instance_name|'last_active|'last_event|'last_value|'left|'leftof|'length|'low|'path_name|'pos|'pred|'quiet|'range|'reverse_range|'right|'rightof|'simple_name|'stable|'succ|'transaction|'val|'value|access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with)\\b/i,\n boolean: /\\b(?:false|true)\\b/i,\n function: /\\w+(?=\\()/,\n // decimal, based, physical, and exponential numbers supported\n number: /'[01uxzwlh-]'|\\b(?:\\d+#[\\da-f_.]+#|\\d[\\d_.]*)(?:e[-+]?\\d+)?/i,\n operator:\n /[<>]=?|:=|[-+*/&=]|\\b(?:abs|and|mod|nand|nor|not|or|rem|rol|ror|sla|sll|sra|srl|xnor|xor)\\b/i,\n punctuation: /[{}[\\];(),.:]/\n }\n}\n","'use strict'\n\nmodule.exports = vim\nvim.displayName = 'vim'\nvim.aliases = []\nfunction vim(Prism) {\n Prism.languages.vim = {\n string: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\r\\n]|'')*'/,\n comment: /\".*/,\n function: /\\b\\w+(?=\\()/,\n keyword:\n /\\b(?:N|Next|P|Print|X|XMLent|XMLns|ab|abbreviate|abc|abclear|abo|aboveleft|al|all|ar|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|args|argu|argument|as|ascii|b|bN|bNext|ba|bad|badd|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bo|botright|bp|bprevious|br|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|brewind|bro|browse|bufdo|buffer|buffers|bun|bunload|bw|bwipeout|c|cN|cNext|cNfcNfile|ca|cabbrev|cabc|cabclear|cad|caddb|caddbuffer|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cg|cgetb|cgetbuffer|cgete|cgetexpr|cgetfile|change|changes|chd|chdir|che|checkpath|checkt|checktime|cl|cla|clast|clist|clo|close|cmapc|cmapclear|cn|cnew|cnewer|cnext|cnf|cnfile|cnorea|cnoreabbrev|co|col|colder|colo|colorscheme|comc|comclear|comp|compiler|con|conf|confirm|continue|cope|copen|copy|cp|cpf|cpfile|cprevious|cq|cquit|cr|crewind|cu|cuna|cunabbrev|cunmap|cw|cwindow|d|debugg|debuggreedy|delc|delcommand|delete|delf|delfunction|delm|delmarks|di|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|e|earlier|echoe|echoerr|echom|echomsg|echon|edit|el|else|elsei|elseif|em|emenu|en|endf|endfo|endfor|endfun|endfunction|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fin|fina|finally|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|foldd|folddoc|folddoclosed|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|h|ha|hardcopy|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iu|iuna|iunabbrev|iunmap|j|join|ju|jumps|k|kee|keepalt|keepj|keepjumps|keepmarks|l|lN|lNext|lNf|lNfile|la|lad|laddb|laddbuffer|laddexpr|laddf|laddfile|lan|language|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|left|lefta|leftabove|let|lex|lexpr|lf|lfile|lfir|lfirst|lg|lgetb|lgetbuffer|lgete|lgetexpr|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|list|ll|lla|llast|lli|llist|lm|lmak|lmake|lmap|lmapc|lmapclear|ln|lne|lnew|lnewer|lnext|lnf|lnfile|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lp|lpf|lpfile|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|m|ma|mak|make|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkv|mkvie|mkview|mkvimrc|mod|mode|move|mz|mzf|mzfile|mzscheme|n|nbkey|new|next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|o|omapc|omapclear|on|only|open|opt|options|ou|ounmap|p|pc|pclose|pe|ped|pedit|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|print|prof|profd|profdel|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|ptN|ptNext|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|py|pyf|pyfile|python|q|qa|qall|quit|quita|quitall|r|read|rec|recover|red|redi|redir|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|ru|rub|ruby|rubyd|rubydo|rubyf|rubyfile|runtime|rv|rviminfo|sN|sNext|sa|sal|sall|san|sandbox|sargument|sav|saveas|sb|sbN|sbNext|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbp|sbprevious|sbr|sbrewind|sbuffer|scrip|scripte|scriptencoding|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sl|sla|slast|sleep|sm|smagic|smap|smapc|smapclear|sme|smenu|sn|snext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|so|sor|sort|source|sp|spe|spelld|spelldump|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|split|spr|sprevious|sre|srewind|st|sta|stag|star|startg|startgreplace|startinsert|startr|startreplace|stj|stjump|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tN|tNext|ta|tab|tabN|tabNext|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabn|tabnew|tabnext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tmenu|tn|tnext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tunmenu|u|una|unabbreviate|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|ve|verb|verbose|version|vert|vertical|vi|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|w|wN|wNext|wa|wall|wh|while|win|winc|wincmd|windo|winp|winpos|winsize|wn|wnext|wp|wprevious|wq|wqa|wqall|write|ws|wsverb|wv|wviminfo|x|xa|xall|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\\b/,\n builtin:\n /\\b(?:acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autocmd|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|t_AB|t_AF|t_AL|t_CS|t_CV|t_Ce|t_Co|t_Cs|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_IE|t_IS|t_K1|t_K3|t_K4|t_K5|t_K6|t_K7|t_K8|t_K9|t_KA|t_KB|t_KC|t_KD|t_KE|t_KF|t_KG|t_KH|t_KI|t_KJ|t_KK|t_KL|t_RI|t_RV|t_SI|t_Sb|t_Sf|t_WP|t_WS|t_ZH|t_ZR|t_al|t_bc|t_cd|t_ce|t_cl|t_cm|t_cs|t_da|t_db|t_dl|t_fs|t_k1|t_k2|t_k3|t_k4|t_k5|t_k6|t_k7|t_k8|t_k9|t_kB|t_kD|t_kI|t_kN|t_kP|t_kb|t_kd|t_ke|t_kh|t_kl|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_se|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_xs|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww)\\b/,\n number: /\\b(?:0x[\\da-f]+|\\d+(?:\\.\\d+)?)\\b/i,\n operator:\n /\\|\\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\\/%?]|\\b(?:is(?:not)?)\\b/,\n punctuation: /[{}[\\](),;:]/\n }\n}\n","'use strict'\n\nmodule.exports = visualBasic\nvisualBasic.displayName = 'visualBasic'\nvisualBasic.aliases = []\nfunction visualBasic(Prism) {\n Prism.languages['visual-basic'] = {\n comment: {\n pattern: /(?:['‘’]|REM\\b)(?:[^\\r\\n_]|_(?:\\r\\n?|\\n)?)*/i,\n inside: {\n keyword: /^REM/i\n }\n },\n directive: {\n pattern:\n /#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:\\b_[ \\t]*(?:\\r\\n?|\\n)|.)+/i,\n alias: 'property',\n greedy: true\n },\n string: {\n pattern: /\\$?[\"“”](?:[\"“”]{2}|[^\"“”])*[\"“”]C?/i,\n greedy: true\n },\n date: {\n pattern:\n /#[ \\t]*(?:\\d+([/-])\\d+\\1\\d+(?:[ \\t]+(?:\\d+[ \\t]*(?:AM|PM)|\\d+:\\d+(?::\\d+)?(?:[ \\t]*(?:AM|PM))?))?|\\d+[ \\t]*(?:AM|PM)|\\d+:\\d+(?::\\d+)?(?:[ \\t]*(?:AM|PM))?)[ \\t]*#/i,\n alias: 'number'\n },\n number:\n /(?:(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)(?:E[+-]?\\d+)?|&[HO][\\dA-F]+)(?:[FRD]|U?[ILS])?/i,\n boolean: /\\b(?:False|Nothing|True)\\b/i,\n keyword:\n /\\b(?:AddHandler|AddressOf|Alias|And(?:Also)?|As|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|C(?:Bool|Byte|Char|Date|Dbl|Dec|Int|Lng|Obj|SByte|Short|Sng|Str|Type|UInt|ULng|UShort)|Char|Class|Const|Continue|Currency|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else(?:If)?|End(?:If)?|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get(?:Type|XMLNamespace)?|Global|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|IsNot|Let|Lib|Like|Long|Loop|Me|Mod|Module|Must(?:Inherit|Override)|My(?:Base|Class)|Namespace|Narrowing|New|Next|Not(?:Inheritable|Overridable)?|Object|Of|On|Operator|Option(?:al)?|Or(?:Else)?|Out|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|SByte|Select|Set|Shadows|Shared|short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TryCast|Type|TypeOf|U(?:Integer|Long|Short)|Until|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Xor)\\b/i,\n operator: /[+\\-*/\\\\^<=>&#@$%!]|\\b_(?=[ \\t]*[\\r\\n])/,\n punctuation: /[{}().,:?]/\n }\n Prism.languages.vb = Prism.languages['visual-basic']\n Prism.languages.vba = Prism.languages['visual-basic']\n}\n","'use strict'\n\nmodule.exports = warpscript\nwarpscript.displayName = 'warpscript'\nwarpscript.aliases = []\nfunction warpscript(Prism) {\n Prism.languages.warpscript = {\n comment: /#.*|\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n string: {\n pattern:\n /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'|<'(?:[^\\\\']|'(?!>)|\\\\.)*'>/,\n greedy: true\n },\n variable: /\\$\\S+/,\n macro: {\n pattern: /@\\S+/,\n alias: 'property'\n },\n // WarpScript doesn't have any keywords, these are all functions under the control category\n // https://www.warp10.io/tags/control\n keyword:\n /\\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\\b/,\n number:\n /[+-]?\\b(?:NaN|Infinity|\\d+(?:\\.\\d*)?(?:[Ee][+-]?\\d+)?|0x[\\da-fA-F]+|0b[01]+)\\b/,\n boolean: /\\b(?:F|T|false|true)\\b/,\n punctuation: /<%|%>|[{}[\\]()]/,\n // Some operators from the \"operators\" category\n // https://www.warp10.io/tags/operators\n operator:\n /==|&&?|\\|\\|?|\\*\\*?|>>>?|<<|[<>!~]=?|[-/%^]|\\+!?|\\b(?:AND|NOT|OR)\\b/\n }\n}\n","'use strict'\n\nmodule.exports = wasm\nwasm.displayName = 'wasm'\nwasm.aliases = []\nfunction wasm(Prism) {\n Prism.languages.wasm = {\n comment: [\n /\\(;[\\s\\S]*?;\\)/,\n {\n pattern: /;;.*/,\n greedy: true\n }\n ],\n string: {\n pattern: /\"(?:\\\\[\\s\\S]|[^\"\\\\])*\"/,\n greedy: true\n },\n keyword: [\n {\n pattern: /\\b(?:align|offset)=/,\n inside: {\n operator: /=/\n }\n },\n {\n pattern:\n /\\b(?:(?:f32|f64|i32|i64)(?:\\.(?:abs|add|and|ceil|clz|const|convert_[su]\\/i(?:32|64)|copysign|ctz|demote\\/f64|div(?:_[su])?|eqz?|extend_[su]\\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\\/f32|reinterpret\\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\\/f(?:32|64))?|wrap\\/i64|xor))?|memory\\.(?:grow|size))\\b/,\n inside: {\n punctuation: /\\./\n }\n },\n /\\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\\b/\n ],\n variable: /\\$[\\w!#$%&'*+\\-./:<=>?@\\\\^`|~]+/,\n number:\n /[+-]?\\b(?:\\d(?:_?\\d)*(?:\\.\\d(?:_?\\d)*)?(?:[eE][+-]?\\d(?:_?\\d)*)?|0x[\\da-fA-F](?:_?[\\da-fA-F])*(?:\\.[\\da-fA-F](?:_?[\\da-fA-D])*)?(?:[pP][+-]?\\d(?:_?\\d)*)?)\\b|\\binf\\b|\\bnan(?::0x[\\da-fA-F](?:_?[\\da-fA-D])*)?\\b/,\n punctuation: /[()]/\n }\n}\n","'use strict'\n\nmodule.exports = webIdl\nwebIdl.displayName = 'webIdl'\nwebIdl.aliases = []\nfunction webIdl(Prism) {\n ;(function (Prism) {\n var id = /(?:\\B-|\\b_|\\b)[A-Za-z][\\w-]*(?![\\w-])/.source\n var type =\n '(?:' +\n /\\b(?:unsigned\\s+)?long\\s+long(?![\\w-])/.source +\n '|' +\n /\\b(?:unrestricted|unsigned)\\s+[a-z]+(?![\\w-])/.source +\n '|' +\n /(?!(?:unrestricted|unsigned)\\b)/.source +\n id +\n /(?:\\s*<(?:[^<>]|<[^<>]*>)*>)?/.source +\n ')' +\n /(?:\\s*\\?)?/.source\n var typeInside = {}\n Prism.languages['web-idl'] = {\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n greedy: true\n },\n string: {\n pattern: /\"[^\"]*\"/,\n greedy: true\n },\n namespace: {\n pattern: RegExp(/(\\bnamespace\\s+)/.source + id),\n lookbehind: true\n },\n 'class-name': [\n {\n pattern:\n /(^|[^\\w-])(?:iterable|maplike|setlike)\\s*<(?:[^<>]|<[^<>]*>)*>/,\n lookbehind: true,\n inside: typeInside\n },\n {\n pattern: RegExp(\n /(\\b(?:attribute|const|deleter|getter|optional|setter)\\s+)/.source +\n type\n ),\n lookbehind: true,\n inside: typeInside\n },\n {\n // callback return type\n pattern: RegExp(\n '(' + /\\bcallback\\s+/.source + id + /\\s*=\\s*/.source + ')' + type\n ),\n lookbehind: true,\n inside: typeInside\n },\n {\n // typedef\n pattern: RegExp(/(\\btypedef\\b\\s*)/.source + type),\n lookbehind: true,\n inside: typeInside\n },\n {\n pattern: RegExp(\n /(\\b(?:callback|dictionary|enum|interface(?:\\s+mixin)?)\\s+)(?!(?:interface|mixin)\\b)/\n .source + id\n ),\n lookbehind: true\n },\n {\n // inheritance\n pattern: RegExp(/(:\\s*)/.source + id),\n lookbehind: true\n }, // includes and implements\n RegExp(id + /(?=\\s+(?:implements|includes)\\b)/.source),\n {\n pattern: RegExp(/(\\b(?:implements|includes)\\s+)/.source + id),\n lookbehind: true\n },\n {\n // function return type, parameter types, and dictionary members\n pattern: RegExp(\n type +\n '(?=' +\n /\\s*(?:\\.{3}\\s*)?/.source +\n id +\n /\\s*[(),;=]/.source +\n ')'\n ),\n inside: typeInside\n }\n ],\n builtin:\n /\\b(?:ArrayBuffer|BigInt64Array|BigUint64Array|ByteString|DOMString|DataView|Float32Array|Float64Array|FrozenArray|Int16Array|Int32Array|Int8Array|ObservableArray|Promise|USVString|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray)\\b/,\n keyword: [\n /\\b(?:async|attribute|callback|const|constructor|deleter|dictionary|enum|getter|implements|includes|inherit|interface|mixin|namespace|null|optional|or|partial|readonly|required|setter|static|stringifier|typedef|unrestricted)\\b/, // type keywords\n /\\b(?:any|bigint|boolean|byte|double|float|iterable|long|maplike|object|octet|record|sequence|setlike|short|symbol|undefined|unsigned|void)\\b/\n ],\n boolean: /\\b(?:false|true)\\b/,\n number: {\n pattern:\n /(^|[^\\w-])-?(?:0x[0-9a-f]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|NaN|Infinity)(?![\\w-])/i,\n lookbehind: true\n },\n operator: /\\.{3}|[=:?<>-]/,\n punctuation: /[(){}[\\].,;]/\n }\n for (var key in Prism.languages['web-idl']) {\n if (key !== 'class-name') {\n typeInside[key] = Prism.languages['web-idl'][key]\n }\n }\n Prism.languages['webidl'] = Prism.languages['web-idl']\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = wiki\nwiki.displayName = 'wiki'\nwiki.aliases = []\nfunction wiki(Prism) {\n Prism.languages.wiki = Prism.languages.extend('markup', {\n 'block-comment': {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n lookbehind: true,\n alias: 'comment'\n },\n heading: {\n pattern: /^(=+)[^=\\r\\n].*?\\1/m,\n inside: {\n punctuation: /^=+|=+$/,\n important: /.+/\n }\n },\n emphasis: {\n // TODO Multi-line\n pattern: /('{2,5}).+?\\1/,\n inside: {\n 'bold-italic': {\n pattern: /(''''').+?(?=\\1)/,\n lookbehind: true,\n alias: ['bold', 'italic']\n },\n bold: {\n pattern: /(''')[^'](?:.*?[^'])?(?=\\1)/,\n lookbehind: true\n },\n italic: {\n pattern: /('')[^'](?:.*?[^'])?(?=\\1)/,\n lookbehind: true\n },\n punctuation: /^''+|''+$/\n }\n },\n hr: {\n pattern: /^-{4,}/m,\n alias: 'punctuation'\n },\n url: [\n /ISBN +(?:97[89][ -]?)?(?:\\d[ -]?){9}[\\dx]\\b|(?:PMID|RFC) +\\d+/i,\n /\\[\\[.+?\\]\\]|\\[.+?\\]/\n ],\n variable: [\n /__[A-Z]+__/, // FIXME Nested structures should be handled\n // {{formatnum:{{#expr:{{{3}}}}}}}\n /\\{{3}.+?\\}{3}/,\n /\\{\\{.+?\\}\\}/\n ],\n symbol: [/^#redirect/im, /~{3,5}/],\n // Handle table attrs:\n // {|\n // ! style=\"text-align:left;\"| Item\n // |}\n 'table-tag': {\n pattern: /((?:^|[|!])[|!])[^|\\r\\n]+\\|(?!\\|)/m,\n lookbehind: true,\n inside: {\n 'table-bar': {\n pattern: /\\|$/,\n alias: 'punctuation'\n },\n rest: Prism.languages.markup['tag'].inside\n }\n },\n punctuation: /^(?:\\{\\||\\|\\}|\\|-|[*#:;!|])|\\|\\||!!/m\n })\n Prism.languages.insertBefore('wiki', 'tag', {\n // Prevent highlighting inside <nowiki>, <source> and <pre> tags\n nowiki: {\n pattern: /<(nowiki|pre|source)\\b[^>]*>[\\s\\S]*?<\\/\\1>/i,\n inside: {\n tag: {\n pattern: /<(?:nowiki|pre|source)\\b[^>]*>|<\\/(?:nowiki|pre|source)>/i,\n inside: Prism.languages.markup['tag'].inside\n }\n }\n }\n })\n}\n","'use strict'\n\nmodule.exports = wolfram\nwolfram.displayName = 'wolfram'\nwolfram.aliases = ['mathematica', 'wl', 'nb']\nfunction wolfram(Prism) {\n Prism.languages.wolfram = {\n // Allow one level of nesting - note: regex taken from applescipt\n comment: /\\(\\*(?:\\(\\*(?:[^*]|\\*(?!\\)))*\\*\\)|(?!\\(\\*)[\\s\\S])*?\\*\\)/,\n string: {\n pattern: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n greedy: true\n },\n keyword:\n /\\b(?:Abs|AbsArg|Accuracy|Block|Do|For|Function|If|Manipulate|Module|Nest|NestList|None|Return|Switch|Table|Which|While)\\b/,\n context: {\n pattern: /\\b\\w+`+\\w*/,\n alias: 'class-name'\n },\n blank: {\n pattern: /\\b\\w+_\\b/,\n alias: 'regex'\n },\n 'global-variable': {\n pattern: /\\$\\w+/,\n alias: 'variable'\n },\n boolean: /\\b(?:False|True)\\b/,\n number:\n /(?:\\b(?=\\d)|\\B(?=\\.))(?:0[bo])?(?:(?:\\d|0x[\\da-f])[\\da-f]*(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?j?\\b/i,\n operator:\n /\\/\\.|;|=\\.|\\^=|\\^:=|:=|<<|>>|<\\||\\|>|:>|\\|->|->|<-|@@@|@@|@|\\/@|=!=|===|==|=|\\+|-|\\^|\\[\\/-+%=\\]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n punctuation: /[{}[\\];(),.:]/\n }\n Prism.languages.mathematica = Prism.languages.wolfram\n Prism.languages.wl = Prism.languages.wolfram\n Prism.languages.nb = Prism.languages.wolfram\n}\n","'use strict'\n\nmodule.exports = wren\nwren.displayName = 'wren'\nwren.aliases = []\nfunction wren(Prism) {\n // https://wren.io/\n Prism.languages.wren = {\n // Multiline comments in Wren can have nested multiline comments\n // Comments: // and /* */\n comment: [\n {\n // support 3 levels of nesting\n // regex: \\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\/\n pattern:\n /\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*))*\\*\\/)*\\*\\/)*\\*\\//,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n // Triple quoted strings are multiline but cannot have interpolation (raw strings)\n // Based on prism-python.js\n 'triple-quoted-string': {\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: true,\n alias: 'string'\n },\n // see below\n 'string-literal': null,\n // #!/usr/bin/env wren on the first line\n hashbang: {\n pattern: /^#!\\/.+/,\n greedy: true,\n alias: 'comment'\n },\n // Attributes are special keywords to add meta data to classes\n attribute: {\n // #! attributes are stored in class properties\n // #!myvar = true\n // #attributes are not stored and dismissed at compilation\n pattern: /#!?[ \\t\\u3000]*\\w+/,\n alias: 'keyword'\n },\n 'class-name': [\n {\n // class definition\n // class Meta {}\n pattern: /(\\bclass\\s+)\\w+/,\n lookbehind: true\n }, // A class must always start with an uppercase.\n // File.read\n /\\b[A-Z][a-z\\d_]*\\b/\n ],\n // A constant can be a variable, class, property or method. Just named in all uppercase letters\n constant: /\\b[A-Z][A-Z\\d_]*\\b/,\n null: {\n pattern: /\\bnull\\b/,\n alias: 'keyword'\n },\n keyword:\n /\\b(?:as|break|class|construct|continue|else|for|foreign|if|import|in|is|return|static|super|this|var|while)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n number: /\\b(?:0x[\\da-f]+|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b/i,\n // Functions can be Class.method()\n function: /\\b[a-z_]\\w*(?=\\s*[({])/i,\n operator: /<<|>>|[=!<>]=?|&&|\\|\\||[-+*/%~^&|?:]|\\.{2,3}/,\n punctuation: /[\\[\\](){}.,;]/\n }\n Prism.languages.wren['string-literal'] = {\n // A single quote string is multiline and can have interpolation (similar to JS backticks ``)\n pattern:\n /(^|[^\\\\\"])\"(?:[^\\\\\"%]|\\\\[\\s\\S]|%(?!\\()|%\\((?:[^()]|\\((?:[^()]|\\([^)]*\\))*\\))*\\))*\"/,\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: {\n // \"%(interpolation)\"\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)%\\((?:[^()]|\\((?:[^()]|\\([^)]*\\))*\\))*\\)/,\n lookbehind: true,\n inside: {\n expression: {\n pattern: /^(%\\()[\\s\\S]+(?=\\)$)/,\n lookbehind: true,\n inside: Prism.languages.wren\n },\n 'interpolation-punctuation': {\n pattern: /^%\\(|\\)$/,\n alias: 'punctuation'\n }\n }\n },\n string: /[\\s\\S]+/\n }\n }\n}\n","'use strict'\n\nmodule.exports = xeora\nxeora.displayName = 'xeora'\nxeora.aliases = ['xeoracube']\nfunction xeora(Prism) {\n ;(function (Prism) {\n Prism.languages.xeora = Prism.languages.extend('markup', {\n constant: {\n pattern: /\\$(?:DomainContents|PageRenderDuration)\\$/,\n inside: {\n punctuation: {\n pattern: /\\$/\n }\n }\n },\n variable: {\n pattern: /\\$@?(?:#+|[-+*~=^])?[\\w.]+\\$/,\n inside: {\n punctuation: {\n pattern: /[$.]/\n },\n operator: {\n pattern: /#+|[-+*~=^@]/\n }\n }\n },\n 'function-inline': {\n pattern:\n /\\$F:[-\\w.]+\\?[-\\w.]+(?:,(?:(?:@[-#]*\\w+\\.[\\w+.]\\.*)*\\|)*(?:(?:[\\w+]|[-#*.~^]+[\\w+]|=\\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\\w+\\.[\\w+.]\\.*)+(?:(?:[\\w+]|[-#*~^][-#*.~^]*[\\w+]|=\\S)(?:[^$=]|=+[^=])*=*)?)?)?\\$/,\n inside: {\n variable: {\n pattern: /(?:[,|])@?(?:#+|[-+*~=^])?[\\w.]+/,\n inside: {\n punctuation: {\n pattern: /[,.|]/\n },\n operator: {\n pattern: /#+|[-+*~=^@]/\n }\n }\n },\n punctuation: {\n pattern: /\\$\\w:|[$:?.,|]/\n }\n },\n alias: 'function'\n },\n 'function-block': {\n pattern:\n /\\$XF:\\{[-\\w.]+\\?[-\\w.]+(?:,(?:(?:@[-#]*\\w+\\.[\\w+.]\\.*)*\\|)*(?:(?:[\\w+]|[-#*.~^]+[\\w+]|=\\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\\w+\\.[\\w+.]\\.*)+(?:(?:[\\w+]|[-#*~^][-#*.~^]*[\\w+]|=\\S)(?:[^$=]|=+[^=])*=*)?)?)?\\}:XF\\$/,\n inside: {\n punctuation: {\n pattern: /[$:{}?.,|]/\n }\n },\n alias: 'function'\n },\n 'directive-inline': {\n pattern: /\\$\\w(?:#\\d+\\+?)?(?:\\[[-\\w.]+\\])?:[-\\/\\w.]+\\$/,\n inside: {\n punctuation: {\n pattern: /\\$(?:\\w:|C(?:\\[|#\\d))?|[:{[\\]]/,\n inside: {\n tag: {\n pattern: /#\\d/\n }\n }\n }\n },\n alias: 'function'\n },\n 'directive-block-open': {\n pattern:\n /\\$\\w+:\\{|\\$\\w(?:#\\d+\\+?)?(?:\\[[-\\w.]+\\])?:[-\\w.]+:\\{(?:![A-Z]+)?/,\n inside: {\n punctuation: {\n pattern: /\\$(?:\\w:|C(?:\\[|#\\d))?|[:{[\\]]/,\n inside: {\n tag: {\n pattern: /#\\d/\n }\n }\n },\n attribute: {\n pattern: /![A-Z]+$/,\n inside: {\n punctuation: {\n pattern: /!/\n }\n },\n alias: 'keyword'\n }\n },\n alias: 'function'\n },\n 'directive-block-separator': {\n pattern: /\\}:[-\\w.]+:\\{/,\n inside: {\n punctuation: {\n pattern: /[:{}]/\n }\n },\n alias: 'function'\n },\n 'directive-block-close': {\n pattern: /\\}:[-\\w.]+\\$/,\n inside: {\n punctuation: {\n pattern: /[:{}$]/\n }\n },\n alias: 'function'\n }\n })\n Prism.languages.insertBefore(\n 'inside',\n 'punctuation',\n {\n variable: Prism.languages.xeora['function-inline'].inside['variable']\n },\n Prism.languages.xeora['function-block']\n )\n Prism.languages.xeoracube = Prism.languages.xeora\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = xmlDoc\nxmlDoc.displayName = 'xmlDoc'\nxmlDoc.aliases = []\nfunction xmlDoc(Prism) {\n ;(function (Prism) {\n /**\n * If the given language is present, it will insert the given doc comment grammar token into it.\n *\n * @param {string} lang\n * @param {any} docComment\n */\n function insertDocComment(lang, docComment) {\n if (Prism.languages[lang]) {\n Prism.languages.insertBefore(lang, 'comment', {\n 'doc-comment': docComment\n })\n }\n }\n var tag = Prism.languages.markup.tag\n var slashDocComment = {\n pattern: /\\/\\/\\/.*/,\n greedy: true,\n alias: 'comment',\n inside: {\n tag: tag\n }\n }\n var tickDocComment = {\n pattern: /'''.*/,\n greedy: true,\n alias: 'comment',\n inside: {\n tag: tag\n }\n }\n insertDocComment('csharp', slashDocComment)\n insertDocComment('fsharp', slashDocComment)\n insertDocComment('vbnet', tickDocComment)\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = xojo\nxojo.displayName = 'xojo'\nxojo.aliases = []\nfunction xojo(Prism) {\n Prism.languages.xojo = {\n comment: {\n pattern: /(?:'|\\/\\/|Rem\\b).+/i,\n greedy: true\n },\n string: {\n pattern: /\"(?:\"\"|[^\"])*\"/,\n greedy: true\n },\n number: [/(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:E[+-]?\\d+)?/i, /&[bchou][a-z\\d]+/i],\n directive: {\n pattern: /#(?:Else|ElseIf|Endif|If|Pragma)\\b/i,\n alias: 'property'\n },\n keyword:\n /\\b(?:AddHandler|App|Array|As(?:signs)?|Auto|Boolean|Break|By(?:Ref|Val)|Byte|Call|Case|Catch|CFStringRef|CGFloat|Class|Color|Const|Continue|CString|Currency|CurrentMethodName|Declare|Delegate|Dim|Do(?:uble|wnTo)?|Each|Else(?:If)?|End|Enumeration|Event|Exception|Exit|Extends|False|Finally|For|Function|Get|GetTypeInfo|Global|GOTO|If|Implements|In|Inherits|Int(?:8|16|32|64|eger|erface)?|Lib|Loop|Me|Module|Next|Nil|Object|Optional|OSType|ParamArray|Private|Property|Protected|PString|Ptr|Raise(?:Event)?|ReDim|RemoveHandler|Return|Select(?:or)?|Self|Set|Shared|Short|Single|Soft|Static|Step|String|Sub|Super|Text|Then|To|True|Try|Ubound|UInt(?:8|16|32|64|eger)?|Until|Using|Var(?:iant)?|Wend|While|WindowPtr|WString)\\b/i,\n operator:\n /<[=>]?|>=?|[+\\-*\\/\\\\^=]|\\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|WeakAddressOf|Xor)\\b/i,\n punctuation: /[.,;:()]/\n }\n}\n","'use strict'\n\nmodule.exports = xquery\nxquery.displayName = 'xquery'\nxquery.aliases = []\nfunction xquery(Prism) {\n ;(function (Prism) {\n Prism.languages.xquery = Prism.languages.extend('markup', {\n 'xquery-comment': {\n pattern: /\\(:[\\s\\S]*?:\\)/,\n greedy: true,\n alias: 'comment'\n },\n string: {\n pattern: /([\"'])(?:\\1\\1|(?!\\1)[\\s\\S])*\\1/,\n greedy: true\n },\n extension: {\n pattern: /\\(#.+?#\\)/,\n alias: 'symbol'\n },\n variable: /\\$[-\\w:]+/,\n axis: {\n pattern:\n /(^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/,\n lookbehind: true,\n alias: 'operator'\n },\n 'keyword-operator': {\n pattern:\n /(^|[^:-])\\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\\b(?=$|[^:-])/,\n lookbehind: true,\n alias: 'operator'\n },\n keyword: {\n pattern:\n /(^|[^:-])\\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\\b(?=$|[^:-])/,\n lookbehind: true\n },\n function: /[\\w-]+(?::[\\w-]+)*(?=\\s*\\()/,\n 'xquery-element': {\n pattern: /(element\\s+)[\\w-]+(?::[\\w-]+)*/,\n lookbehind: true,\n alias: 'tag'\n },\n 'xquery-attribute': {\n pattern: /(attribute\\s+)[\\w-]+(?::[\\w-]+)*/,\n lookbehind: true,\n alias: 'attr-name'\n },\n builtin: {\n pattern:\n /(^|[^:-])\\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:ENTITIES|ENTITY|ID|IDREFS?|NCName|NMTOKENS?|NOTATION|Name|QName|anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|int|integer|language|long|negativeInteger|nonNegativeInteger|nonPositiveInteger|normalizedString|positiveInteger|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\\b(?=$|[^:-])/,\n lookbehind: true\n },\n number: /\\b\\d+(?:\\.\\d+)?(?:E[+-]?\\d+)?/,\n operator: [\n /[+*=?|@]|\\.\\.?|:=|!=|<[=<]?|>[=>]?/,\n {\n pattern: /(\\s)-(?=\\s)/,\n lookbehind: true\n }\n ],\n punctuation: /[[\\](){},;:/]/\n })\n Prism.languages.xquery.tag.pattern =\n /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|\\{(?!\\{)(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])+\\}|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/\n Prism.languages.xquery['tag'].inside['attr-value'].pattern =\n /=(?:(\"|')(?:\\\\[\\s\\S]|\\{(?!\\{)(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])+\\}|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+)/\n Prism.languages.xquery['tag'].inside['attr-value'].inside['punctuation'] =\n /^=\"|\"$/\n Prism.languages.xquery['tag'].inside['attr-value'].inside['expression'] = {\n // Allow for two levels of nesting\n pattern: /\\{(?!\\{)(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])+\\}/,\n inside: Prism.languages.xquery,\n alias: 'language-xquery'\n } // The following will handle plain text inside tags\n var stringifyToken = function (token) {\n if (typeof token === 'string') {\n return token\n }\n if (typeof token.content === 'string') {\n return token.content\n }\n return token.content.map(stringifyToken).join('')\n }\n var walkTokens = function (tokens) {\n var openedTags = []\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n var notTagNorBrace = false\n if (typeof token !== 'string') {\n if (\n token.type === 'tag' &&\n token.content[0] &&\n token.content[0].type === 'tag'\n ) {\n // We found a tag, now find its kind\n if (token.content[0].content[0].content === '</') {\n // Closing tag\n if (\n openedTags.length > 0 &&\n openedTags[openedTags.length - 1].tagName ===\n stringifyToken(token.content[0].content[1])\n ) {\n // Pop matching opening tag\n openedTags.pop()\n }\n } else {\n if (token.content[token.content.length - 1].content === '/>') {\n // Autoclosed tag, ignore\n } else {\n // Opening tag\n openedTags.push({\n tagName: stringifyToken(token.content[0].content[1]),\n openedBraces: 0\n })\n }\n }\n } else if (\n openedTags.length > 0 &&\n token.type === 'punctuation' &&\n token.content === '{' && // Ignore `{{`\n (!tokens[i + 1] ||\n tokens[i + 1].type !== 'punctuation' ||\n tokens[i + 1].content !== '{') &&\n (!tokens[i - 1] ||\n tokens[i - 1].type !== 'plain-text' ||\n tokens[i - 1].content !== '{')\n ) {\n // Here we might have entered an XQuery expression inside a tag\n openedTags[openedTags.length - 1].openedBraces++\n } else if (\n openedTags.length > 0 &&\n openedTags[openedTags.length - 1].openedBraces > 0 &&\n token.type === 'punctuation' &&\n token.content === '}'\n ) {\n // Here we might have left an XQuery expression inside a tag\n openedTags[openedTags.length - 1].openedBraces--\n } else if (token.type !== 'comment') {\n notTagNorBrace = true\n }\n }\n if (notTagNorBrace || typeof token === 'string') {\n if (\n openedTags.length > 0 &&\n openedTags[openedTags.length - 1].openedBraces === 0\n ) {\n // Here we are inside a tag, and not inside an XQuery expression.\n // That's plain text: drop any tokens matched.\n var plainText = stringifyToken(token) // And merge text with adjacent text\n if (\n i < tokens.length - 1 &&\n (typeof tokens[i + 1] === 'string' ||\n tokens[i + 1].type === 'plain-text')\n ) {\n plainText += stringifyToken(tokens[i + 1])\n tokens.splice(i + 1, 1)\n }\n if (\n i > 0 &&\n (typeof tokens[i - 1] === 'string' ||\n tokens[i - 1].type === 'plain-text')\n ) {\n plainText = stringifyToken(tokens[i - 1]) + plainText\n tokens.splice(i - 1, 1)\n i--\n }\n if (/^\\s+$/.test(plainText)) {\n tokens[i] = plainText\n } else {\n tokens[i] = new Prism.Token(\n 'plain-text',\n plainText,\n null,\n plainText\n )\n }\n }\n }\n if (token.content && typeof token.content !== 'string') {\n walkTokens(token.content)\n }\n }\n }\n Prism.hooks.add('after-tokenize', function (env) {\n if (env.language !== 'xquery') {\n return\n }\n walkTokens(env.tokens)\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = yaml\nyaml.displayName = 'yaml'\nyaml.aliases = ['yml']\nfunction yaml(Prism) {\n ;(function (Prism) {\n // https://yaml.org/spec/1.2/spec.html#c-ns-anchor-property\n // https://yaml.org/spec/1.2/spec.html#c-ns-alias-node\n var anchorOrAlias = /[*&][^\\s[\\]{},]+/ // https://yaml.org/spec/1.2/spec.html#c-ns-tag-property\n var tag =\n /!(?:<[\\w\\-%#;/?:@&=+$,.!~*'()[\\]]+>|(?:[a-zA-Z\\d-]*!)?[\\w\\-%#;/?:@&=+$.~*'()]+)?/ // https://yaml.org/spec/1.2/spec.html#c-ns-properties(n,c)\n var properties =\n '(?:' +\n tag.source +\n '(?:[ \\t]+' +\n anchorOrAlias.source +\n ')?|' +\n anchorOrAlias.source +\n '(?:[ \\t]+' +\n tag.source +\n ')?)' // https://yaml.org/spec/1.2/spec.html#ns-plain(n,c)\n // This is a simplified version that doesn't support \"#\" and multiline keys\n // All these long scarry character classes are simplified versions of YAML's characters\n var plainKey =\n /(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(\n /<PLAIN>/g,\n function () {\n return /[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]/\n .source\n }\n )\n var string = /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'/.source\n /**\n *\n * @param {string} value\n * @param {string} [flags]\n * @returns {RegExp}\n */\n function createValuePattern(value, flags) {\n flags = (flags || '').replace(/m/g, '') + 'm' // add m flag\n var pattern =\n /([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))/.source\n .replace(/<<prop>>/g, function () {\n return properties\n })\n .replace(/<<value>>/g, function () {\n return value\n })\n return RegExp(pattern, flags)\n }\n Prism.languages.yaml = {\n scalar: {\n pattern: RegExp(\n /([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)/.source.replace(\n /<<prop>>/g,\n function () {\n return properties\n }\n )\n ),\n lookbehind: true,\n alias: 'string'\n },\n comment: /#.*/,\n key: {\n pattern: RegExp(\n /((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)/.source\n .replace(/<<prop>>/g, function () {\n return properties\n })\n .replace(/<<key>>/g, function () {\n return '(?:' + plainKey + '|' + string + ')'\n })\n ),\n lookbehind: true,\n greedy: true,\n alias: 'atrule'\n },\n directive: {\n pattern: /(^[ \\t]*)%.+/m,\n lookbehind: true,\n alias: 'important'\n },\n datetime: {\n pattern: createValuePattern(\n /\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?/\n .source\n ),\n lookbehind: true,\n alias: 'number'\n },\n boolean: {\n pattern: createValuePattern(/false|true/.source, 'i'),\n lookbehind: true,\n alias: 'important'\n },\n null: {\n pattern: createValuePattern(/null|~/.source, 'i'),\n lookbehind: true,\n alias: 'important'\n },\n string: {\n pattern: createValuePattern(string),\n lookbehind: true,\n greedy: true\n },\n number: {\n pattern: createValuePattern(\n /[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)/\n .source,\n 'i'\n ),\n lookbehind: true\n },\n tag: tag,\n important: anchorOrAlias,\n punctuation: /---|[:[\\]{}\\-,|>?]|\\.\\.\\./\n }\n Prism.languages.yml = Prism.languages.yaml\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = yang\nyang.displayName = 'yang'\nyang.aliases = []\nfunction yang(Prism) {\n Prism.languages.yang = {\n // https://tools.ietf.org/html/rfc6020#page-34\n // http://www.yang-central.org/twiki/bin/view/Main/YangExamples\n comment: /\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*/,\n string: {\n pattern: /\"(?:[^\\\\\"]|\\\\.)*\"|'[^']*'/,\n greedy: true\n },\n keyword: {\n pattern: /(^|[{};\\r\\n][ \\t]*)[a-z_][\\w.-]*/i,\n lookbehind: true\n },\n namespace: {\n pattern: /(\\s)[a-z_][\\w.-]*(?=:)/i,\n lookbehind: true\n },\n boolean: /\\b(?:false|true)\\b/,\n operator: /\\+/,\n punctuation: /[{};:]/\n }\n}\n","'use strict'\n\nmodule.exports = zig\nzig.displayName = 'zig'\nzig.aliases = []\nfunction zig(Prism) {\n ;(function (Prism) {\n function literal(str) {\n return function () {\n return str\n }\n }\n var keyword =\n /\\b(?:align|allowzero|and|anyframe|anytype|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|nosuspend|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\\b/\n var IDENTIFIER = '\\\\b(?!' + keyword.source + ')(?!\\\\d)\\\\w+\\\\b'\n var ALIGN = /align\\s*\\((?:[^()]|\\([^()]*\\))*\\)/.source\n var PREFIX_TYPE_OP =\n /(?:\\?|\\bpromise->|(?:\\[[^[\\]]*\\]|\\*(?!\\*)|\\*\\*)(?:\\s*<ALIGN>|\\s*const\\b|\\s*volatile\\b|\\s*allowzero\\b)*)/.source.replace(\n /<ALIGN>/g,\n literal(ALIGN)\n )\n var SUFFIX_EXPR =\n /(?:\\bpromise\\b|(?:\\berror\\.)?<ID>(?:\\.<ID>)*(?!\\s+<ID>))/.source.replace(\n /<ID>/g,\n literal(IDENTIFIER)\n )\n var TYPE =\n '(?!\\\\s)(?:!?\\\\s*(?:' + PREFIX_TYPE_OP + '\\\\s*)*' + SUFFIX_EXPR + ')+'\n /*\n * A simplified grammar for Zig compile time type literals:\n *\n * TypeExpr = ( \"!\"? PREFIX_TYPE_OP* SUFFIX_EXPR )+\n *\n * SUFFIX_EXPR = ( \\b \"promise\" \\b | ( \\b \"error\" \".\" )? IDENTIFIER ( \".\" IDENTIFIER )* (?! \\s+ IDENTIFIER ) )\n *\n * PREFIX_TYPE_OP = \"?\"\n * | \\b \"promise\" \"->\"\n * | ( \"[\" [^\\[\\]]* \"]\" | \"*\" | \"**\" ) ( ALIGN | \"const\" \\b | \"volatile\" \\b | \"allowzero\" \\b )*\n *\n * ALIGN = \"align\" \"(\" ( [^()] | \"(\" [^()]* \")\" )* \")\"\n *\n * IDENTIFIER = \\b (?! KEYWORD ) [a-zA-Z_] \\w* \\b\n *\n */\n Prism.languages.zig = {\n comment: [\n {\n pattern: /\\/\\/[/!].*/,\n alias: 'doc-comment'\n },\n /\\/{2}.*/\n ],\n string: [\n {\n // \"string\" and c\"string\"\n pattern: /(^|[^\\\\@])c?\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"/,\n lookbehind: true,\n greedy: true\n },\n {\n // multiline strings and c-strings\n pattern: /([\\r\\n])([ \\t]+c?\\\\{2}).*(?:(?:\\r\\n?|\\n)\\2.*)*/,\n lookbehind: true,\n greedy: true\n }\n ],\n char: {\n // characters 'a', '\\n', '\\xFF', '\\u{10FFFF}'\n pattern:\n /(^|[^\\\\])'(?:[^'\\\\\\r\\n]|[\\uD800-\\uDFFF]{2}|\\\\(?:.|x[a-fA-F\\d]{2}|u\\{[a-fA-F\\d]{1,6}\\}))'/,\n lookbehind: true,\n greedy: true\n },\n builtin: /\\B@(?!\\d)\\w+(?=\\s*\\()/,\n label: {\n pattern:\n /(\\b(?:break|continue)\\s*:\\s*)\\w+\\b|\\b(?!\\d)\\w+\\b(?=\\s*:\\s*(?:\\{|while\\b))/,\n lookbehind: true\n },\n 'class-name': [\n // const Foo = struct {};\n /\\b(?!\\d)\\w+(?=\\s*=\\s*(?:(?:extern|packed)\\s+)?(?:enum|struct|union)\\s*[({])/,\n {\n // const x: i32 = 9;\n // var x: Bar;\n // fn foo(x: bool, y: f32) void {}\n pattern: RegExp(\n /(:\\s*)<TYPE>(?=\\s*(?:<ALIGN>\\s*)?[=;,)])|<TYPE>(?=\\s*(?:<ALIGN>\\s*)?\\{)/.source\n .replace(/<TYPE>/g, literal(TYPE))\n .replace(/<ALIGN>/g, literal(ALIGN))\n ),\n lookbehind: true,\n inside: null // see below\n },\n {\n // extern fn foo(x: f64) f64; (optional alignment)\n pattern: RegExp(\n /(\\)\\s*)<TYPE>(?=\\s*(?:<ALIGN>\\s*)?;)/.source\n .replace(/<TYPE>/g, literal(TYPE))\n .replace(/<ALIGN>/g, literal(ALIGN))\n ),\n lookbehind: true,\n inside: null // see below\n }\n ],\n 'builtin-type': {\n pattern:\n /\\b(?:anyerror|bool|c_u?(?:int|long|longlong|short)|c_longdouble|c_void|comptime_(?:float|int)|f(?:16|32|64|128)|[iu](?:8|16|32|64|128|size)|noreturn|type|void)\\b/,\n alias: 'keyword'\n },\n keyword: keyword,\n function: /\\b(?!\\d)\\w+(?=\\s*\\()/,\n number:\n /\\b(?:0b[01]+|0o[0-7]+|0x[a-fA-F\\d]+(?:\\.[a-fA-F\\d]*)?(?:[pP][+-]?[a-fA-F\\d]+)?|\\d+(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n operator:\n /\\.[*?]|\\.{2,3}|[-=]>|\\*\\*|\\+\\+|\\|\\||(?:<<|>>|[-+*]%|[-+*/%^&|<>!=])=?|[?~]/,\n punctuation: /[.:,;(){}[\\]]/\n }\n Prism.languages.zig['class-name'].forEach(function (obj) {\n if (obj.inside === null) {\n obj.inside = Prism.languages.zig\n }\n })\n })(Prism)\n}\n","/// <reference lib=\"WebWorker\"/>\n\nvar _self = (typeof window !== 'undefined')\n\t? window // if in browser\n\t: (\n\t\t(typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)\n\t\t\t? self // if in worker\n\t\t\t: {} // if in node js\n\t);\n\n/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT <https://opensource.org/licenses/MIT>\n * @author Lea Verou <https://lea.verou.me>\n * @namespace\n * @public\n */\nvar Prism = (function (_self) {\n\n\t// Private helper vars\n\tvar lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n\tvar uniqueId = 0;\n\n\t// The grammar object for plaintext\n\tvar plainTextGrammar = {};\n\n\n\tvar _ = {\n\t\t/**\n\t\t * By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the\n\t\t * current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load\n\t\t * additional languages or plugins yourself.\n\t\t *\n\t\t * By setting this value to `true`, Prism will not automatically highlight all code elements on the page.\n\t\t *\n\t\t * You obviously have to change this value before the automatic highlighting started. To do this, you can add an\n\t\t * empty Prism object into the global scope before loading the Prism script like this:\n\t\t *\n\t\t * ```js\n\t\t * window.Prism = window.Prism || {};\n\t\t * Prism.manual = true;\n\t\t * // add a new <script> to load Prism's script\n\t\t * ```\n\t\t *\n\t\t * @default false\n\t\t * @type {boolean}\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tmanual: _self.Prism && _self.Prism.manual,\n\t\t/**\n\t\t * By default, if Prism is in a web worker, it assumes that it is in a worker it created itself, so it uses\n\t\t * `addEventListener` to communicate with its parent instance. However, if you're using Prism manually in your\n\t\t * own worker, you don't want it to do this.\n\t\t *\n\t\t * By setting this value to `true`, Prism will not add its own listeners to the worker.\n\t\t *\n\t\t * You obviously have to change this value before Prism executes. To do this, you can add an\n\t\t * empty Prism object into the global scope before loading the Prism script like this:\n\t\t *\n\t\t * ```js\n\t\t * window.Prism = window.Prism || {};\n\t\t * Prism.disableWorkerMessageHandler = true;\n\t\t * // Load Prism's script\n\t\t * ```\n\t\t *\n\t\t * @default false\n\t\t * @type {boolean}\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tdisableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n\n\t\t/**\n\t\t * A namespace for utility methods.\n\t\t *\n\t\t * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n\t\t * change or disappear at any time.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t */\n\t\tutil: {\n\t\t\tencode: function encode(tokens) {\n\t\t\t\tif (tokens instanceof Token) {\n\t\t\t\t\treturn new Token(tokens.type, encode(tokens.content), tokens.alias);\n\t\t\t\t} else if (Array.isArray(tokens)) {\n\t\t\t\t\treturn tokens.map(encode);\n\t\t\t\t} else {\n\t\t\t\t\treturn tokens.replace(/&/g, '&').replace(/</g, '<').replace(/\\u00a0/g, ' ');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the name of the type of the given value.\n\t\t\t *\n\t\t\t * @param {any} o\n\t\t\t * @returns {string}\n\t\t\t * @example\n\t\t\t * type(null) === 'Null'\n\t\t\t * type(undefined) === 'Undefined'\n\t\t\t * type(123) === 'Number'\n\t\t\t * type('foo') === 'String'\n\t\t\t * type(true) === 'Boolean'\n\t\t\t * type([1, 2]) === 'Array'\n\t\t\t * type({}) === 'Object'\n\t\t\t * type(String) === 'Function'\n\t\t\t * type(/abc+/) === 'RegExp'\n\t\t\t */\n\t\t\ttype: function (o) {\n\t\t\t\treturn Object.prototype.toString.call(o).slice(8, -1);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns a unique number for the given object. Later calls will still return the same number.\n\t\t\t *\n\t\t\t * @param {Object} obj\n\t\t\t * @returns {number}\n\t\t\t */\n\t\t\tobjId: function (obj) {\n\t\t\t\tif (!obj['__id']) {\n\t\t\t\t\tObject.defineProperty(obj, '__id', { value: ++uniqueId });\n\t\t\t\t}\n\t\t\t\treturn obj['__id'];\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Creates a deep clone of the given object.\n\t\t\t *\n\t\t\t * The main intended use of this function is to clone language definitions.\n\t\t\t *\n\t\t\t * @param {T} o\n\t\t\t * @param {Record<number, any>} [visited]\n\t\t\t * @returns {T}\n\t\t\t * @template T\n\t\t\t */\n\t\t\tclone: function deepClone(o, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar clone; var id;\n\t\t\t\tswitch (_.util.type(o)) {\n\t\t\t\t\tcase 'Object':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = /** @type {Record<string, any>} */ ({});\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\tfor (var key in o) {\n\t\t\t\t\t\t\tif (o.hasOwnProperty(key)) {\n\t\t\t\t\t\t\t\tclone[key] = deepClone(o[key], visited);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tcase 'Array':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\t(/** @type {Array} */(/** @type {any} */(o))).forEach(function (v, i) {\n\t\t\t\t\t\t\tclone[i] = deepClone(v, visited);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn o;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n\t\t\t *\n\t\t\t * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @returns {string}\n\t\t\t */\n\t\t\tgetLanguage: function (element) {\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar m = lang.exec(element.className);\n\t\t\t\t\tif (m) {\n\t\t\t\t\t\treturn m[1].toLowerCase();\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn 'none';\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Sets the Prism `language-xxxx` class of the given element.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} language\n\t\t\t * @returns {void}\n\t\t\t */\n\t\t\tsetLanguage: function (element, language) {\n\t\t\t\t// remove all `language-xxxx` classes\n\t\t\t\t// (this might leave behind a leading space)\n\t\t\t\telement.className = element.className.replace(RegExp(lang, 'gi'), '');\n\n\t\t\t\t// add the new `language-xxxx` class\n\t\t\t\t// (using `classList` will automatically clean up spaces for us)\n\t\t\t\telement.classList.add('language-' + language);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the script element that is currently executing.\n\t\t\t *\n\t\t\t * This does __not__ work for line script element.\n\t\t\t *\n\t\t\t * @returns {HTMLScriptElement | null}\n\t\t\t */\n\t\t\tcurrentScript: function () {\n\t\t\t\tif (typeof document === 'undefined') {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tif ('currentScript' in document && 1 < 2 /* hack to trip TS' flow analysis */) {\n\t\t\t\t\treturn /** @type {any} */ (document.currentScript);\n\t\t\t\t}\n\n\t\t\t\t// IE11 workaround\n\t\t\t\t// we'll get the src of the current script by parsing IE11's error stack trace\n\t\t\t\t// this will not work for inline scripts\n\n\t\t\t\ttry {\n\t\t\t\t\tthrow new Error();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// Get file src url from stack. Specifically works with the format of stack traces in IE.\n\t\t\t\t\t// A stack will look like this:\n\t\t\t\t\t//\n\t\t\t\t\t// Error\n\t\t\t\t\t// at _.util.currentScript (http://localhost/components/prism-core.js:119:5)\n\t\t\t\t\t// at Global code (http://localhost/components/prism-core.js:606:1)\n\n\t\t\t\t\tvar src = (/at [^(\\r\\n]*\\((.*):[^:]+:[^:]+\\)$/i.exec(err.stack) || [])[1];\n\t\t\t\t\tif (src) {\n\t\t\t\t\t\tvar scripts = document.getElementsByTagName('script');\n\t\t\t\t\t\tfor (var i in scripts) {\n\t\t\t\t\t\t\tif (scripts[i].src == src) {\n\t\t\t\t\t\t\t\treturn scripts[i];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns whether a given class is active for `element`.\n\t\t\t *\n\t\t\t * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n\t\t\t * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n\t\t\t * given class is just the given class with a `no-` prefix.\n\t\t\t *\n\t\t\t * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n\t\t\t * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n\t\t\t * ancestors have the given class or the negated version of it, then the default activation will be returned.\n\t\t\t *\n\t\t\t * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n\t\t\t * version of it, the class is considered active.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} className\n\t\t\t * @param {boolean} [defaultActivation=false]\n\t\t\t * @returns {boolean}\n\t\t\t */\n\t\t\tisActive: function (element, className, defaultActivation) {\n\t\t\t\tvar no = 'no-' + className;\n\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar classList = element.classList;\n\t\t\t\t\tif (classList.contains(className)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tif (classList.contains(no)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn !!defaultActivation;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tlanguages: {\n\t\t\t/**\n\t\t\t * The grammar for plain, unformatted text.\n\t\t\t */\n\t\t\tplain: plainTextGrammar,\n\t\t\tplaintext: plainTextGrammar,\n\t\t\ttext: plainTextGrammar,\n\t\t\ttxt: plainTextGrammar,\n\n\t\t\t/**\n\t\t\t * Creates a deep copy of the language with the given id and appends the given tokens.\n\t\t\t *\n\t\t\t * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n\t\t\t * will be overwritten at its original position.\n\t\t\t *\n\t\t\t * ## Best practices\n\t\t\t *\n\t\t\t * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n\t\t\t * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n\t\t\t * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n\t\t\t *\n\t\t\t * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n\t\t\t * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n\t\t\t *\n\t\t\t * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n\t\t\t * @param {Grammar} redef The new tokens to append.\n\t\t\t * @returns {Grammar} The new language created.\n\t\t\t * @public\n\t\t\t * @example\n\t\t\t * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n\t\t\t * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n\t\t\t * // at its original position\n\t\t\t * 'comment': { ... },\n\t\t\t * // CSS doesn't have a 'color' token, so this token will be appended\n\t\t\t * 'color': /\\b(?:red|green|blue)\\b/\n\t\t\t * });\n\t\t\t */\n\t\t\textend: function (id, redef) {\n\t\t\t\tvar lang = _.util.clone(_.languages[id]);\n\n\t\t\t\tfor (var key in redef) {\n\t\t\t\t\tlang[key] = redef[key];\n\t\t\t\t}\n\n\t\t\t\treturn lang;\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Inserts tokens _before_ another token in a language definition or any other grammar.\n\t\t\t *\n\t\t\t * ## Usage\n\t\t\t *\n\t\t\t * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n\t\t\t * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n\t\t\t * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the\n\t\t\t * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do\n\t\t\t * this:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.markup.style = {\n\t\t\t * // token\n\t\t\t * };\n\t\t\t * ```\n\t\t\t *\n\t\t\t * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens\n\t\t\t * before existing tokens. For the CSS example above, you would use it like this:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.insertBefore('markup', 'cdata', {\n\t\t\t * 'style': {\n\t\t\t * // token\n\t\t\t * }\n\t\t\t * });\n\t\t\t * ```\n\t\t\t *\n\t\t\t * ## Special cases\n\t\t\t *\n\t\t\t * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar\n\t\t\t * will be ignored.\n\t\t\t *\n\t\t\t * This behavior can be used to insert tokens after `before`:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.insertBefore('markup', 'comment', {\n\t\t\t * 'comment': Prism.languages.markup.comment,\n\t\t\t * // tokens after 'comment'\n\t\t\t * });\n\t\t\t * ```\n\t\t\t *\n\t\t\t * ## Limitations\n\t\t\t *\n\t\t\t * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object\n\t\t\t * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave\n\t\t\t * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily\n\t\t\t * deleting properties which is necessary to insert at arbitrary positions.\n\t\t\t *\n\t\t\t * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.\n\t\t\t * Instead, it will create a new object and replace all references to the target object with the new one. This\n\t\t\t * can be done without temporarily deleting properties, so the iteration order is well-defined.\n\t\t\t *\n\t\t\t * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if\n\t\t\t * you hold the target object in a variable, then the value of the variable will not change.\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * var oldMarkup = Prism.languages.markup;\n\t\t\t * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });\n\t\t\t *\n\t\t\t * assert(oldMarkup !== Prism.languages.markup);\n\t\t\t * assert(newMarkup === Prism.languages.markup);\n\t\t\t * ```\n\t\t\t *\n\t\t\t * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the\n\t\t\t * object to be modified.\n\t\t\t * @param {string} before The key to insert before.\n\t\t\t * @param {Grammar} insert An object containing the key-value pairs to be inserted.\n\t\t\t * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the\n\t\t\t * object to be modified.\n\t\t\t *\n\t\t\t * Defaults to `Prism.languages`.\n\t\t\t * @returns {Grammar} The new grammar object.\n\t\t\t * @public\n\t\t\t */\n\t\t\tinsertBefore: function (inside, before, insert, root) {\n\t\t\t\troot = root || /** @type {any} */ (_.languages);\n\t\t\t\tvar grammar = root[inside];\n\t\t\t\t/** @type {Grammar} */\n\t\t\t\tvar ret = {};\n\n\t\t\t\tfor (var token in grammar) {\n\t\t\t\t\tif (grammar.hasOwnProperty(token)) {\n\n\t\t\t\t\t\tif (token == before) {\n\t\t\t\t\t\t\tfor (var newToken in insert) {\n\t\t\t\t\t\t\t\tif (insert.hasOwnProperty(newToken)) {\n\t\t\t\t\t\t\t\t\tret[newToken] = insert[newToken];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Do not insert token which also occur in insert. See #1525\n\t\t\t\t\t\tif (!insert.hasOwnProperty(token)) {\n\t\t\t\t\t\t\tret[token] = grammar[token];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tvar old = root[inside];\n\t\t\t\troot[inside] = ret;\n\n\t\t\t\t// Update references in other language definitions\n\t\t\t\t_.languages.DFS(_.languages, function (key, value) {\n\t\t\t\t\tif (value === old && key != inside) {\n\t\t\t\t\t\tthis[key] = ret;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn ret;\n\t\t\t},\n\n\t\t\t// Traverse a language definition with Depth First Search\n\t\t\tDFS: function DFS(o, callback, type, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar objId = _.util.objId;\n\n\t\t\t\tfor (var i in o) {\n\t\t\t\t\tif (o.hasOwnProperty(i)) {\n\t\t\t\t\t\tcallback.call(o, i, o[i], type || i);\n\n\t\t\t\t\t\tvar property = o[i];\n\t\t\t\t\t\tvar propertyType = _.util.type(property);\n\n\t\t\t\t\t\tif (propertyType === 'Object' && !visited[objId(property)]) {\n\t\t\t\t\t\t\tvisited[objId(property)] = true;\n\t\t\t\t\t\t\tDFS(property, callback, null, visited);\n\t\t\t\t\t\t} else if (propertyType === 'Array' && !visited[objId(property)]) {\n\t\t\t\t\t\t\tvisited[objId(property)] = true;\n\t\t\t\t\t\t\tDFS(property, callback, i, visited);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tplugins: {},\n\n\t\t/**\n\t\t * This is the most high-level function in Prism’s API.\n\t\t * It fetches all the elements that have a `.language-xxxx` class and then calls {@link Prism.highlightElement} on\n\t\t * each one of them.\n\t\t *\n\t\t * This is equivalent to `Prism.highlightAllUnder(document, async, callback)`.\n\t\t *\n\t\t * @param {boolean} [async=false] Same as in {@link Prism.highlightAllUnder}.\n\t\t * @param {HighlightCallback} [callback] Same as in {@link Prism.highlightAllUnder}.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightAll: function (async, callback) {\n\t\t\t_.highlightAllUnder(document, async, callback);\n\t\t},\n\n\t\t/**\n\t\t * Fetches all the descendants of `container` that have a `.language-xxxx` class and then calls\n\t\t * {@link Prism.highlightElement} on each one of them.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-highlightall`\n\t\t * 2. `before-all-elements-highlight`\n\t\t * 3. All hooks of {@link Prism.highlightElement} for each element.\n\t\t *\n\t\t * @param {ParentNode} container The root element, whose descendants that have a `.language-xxxx` class will be highlighted.\n\t\t * @param {boolean} [async=false] Whether each element is to be highlighted asynchronously using Web Workers.\n\t\t * @param {HighlightCallback} [callback] An optional callback to be invoked on each element after its highlighting is done.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightAllUnder: function (container, async, callback) {\n\t\t\tvar env = {\n\t\t\t\tcallback: callback,\n\t\t\t\tcontainer: container,\n\t\t\t\tselector: 'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'\n\t\t\t};\n\n\t\t\t_.hooks.run('before-highlightall', env);\n\n\t\t\tenv.elements = Array.prototype.slice.apply(env.container.querySelectorAll(env.selector));\n\n\t\t\t_.hooks.run('before-all-elements-highlight', env);\n\n\t\t\tfor (var i = 0, element; (element = env.elements[i++]);) {\n\t\t\t\t_.highlightElement(element, async === true, env.callback);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Highlights the code inside a single element.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-sanity-check`\n\t\t * 2. `before-highlight`\n\t\t * 3. All hooks of {@link Prism.highlight}. These hooks will be run by an asynchronous worker if `async` is `true`.\n\t\t * 4. `before-insert`\n\t\t * 5. `after-highlight`\n\t\t * 6. `complete`\n\t\t *\n\t\t * Some the above hooks will be skipped if the element doesn't contain any text or there is no grammar loaded for\n\t\t * the element's language.\n\t\t *\n\t\t * @param {Element} element The element containing the code.\n\t\t * It must have a class of `language-xxxx` to be processed, where `xxxx` is a valid language identifier.\n\t\t * @param {boolean} [async=false] Whether the element is to be highlighted asynchronously using Web Workers\n\t\t * to improve performance and avoid blocking the UI when highlighting very large chunks of code. This option is\n\t\t * [disabled by default](https://prismjs.com/faq.html#why-is-asynchronous-highlighting-disabled-by-default).\n\t\t *\n\t\t * Note: All language definitions required to highlight the code must be included in the main `prism.js` file for\n\t\t * asynchronous highlighting to work. You can build your own bundle on the\n\t\t * [Download page](https://prismjs.com/download.html).\n\t\t * @param {HighlightCallback} [callback] An optional callback to be invoked after the highlighting is done.\n\t\t * Mostly useful when `async` is `true`, since in that case, the highlighting is done asynchronously.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightElement: function (element, async, callback) {\n\t\t\t// Find language\n\t\t\tvar language = _.util.getLanguage(element);\n\t\t\tvar grammar = _.languages[language];\n\n\t\t\t// Set language on the element, if not present\n\t\t\t_.util.setLanguage(element, language);\n\n\t\t\t// Set language on the parent, for styling\n\t\t\tvar parent = element.parentElement;\n\t\t\tif (parent && parent.nodeName.toLowerCase() === 'pre') {\n\t\t\t\t_.util.setLanguage(parent, language);\n\t\t\t}\n\n\t\t\tvar code = element.textContent;\n\n\t\t\tvar env = {\n\t\t\t\telement: element,\n\t\t\t\tlanguage: language,\n\t\t\t\tgrammar: grammar,\n\t\t\t\tcode: code\n\t\t\t};\n\n\t\t\tfunction insertHighlightedCode(highlightedCode) {\n\t\t\t\tenv.highlightedCode = highlightedCode;\n\n\t\t\t\t_.hooks.run('before-insert', env);\n\n\t\t\t\tenv.element.innerHTML = env.highlightedCode;\n\n\t\t\t\t_.hooks.run('after-highlight', env);\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t}\n\n\t\t\t_.hooks.run('before-sanity-check', env);\n\n\t\t\t// plugins may change/add the parent/element\n\t\t\tparent = env.element.parentElement;\n\t\t\tif (parent && parent.nodeName.toLowerCase() === 'pre' && !parent.hasAttribute('tabindex')) {\n\t\t\t\tparent.setAttribute('tabindex', '0');\n\t\t\t}\n\n\t\t\tif (!env.code) {\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t_.hooks.run('before-highlight', env);\n\n\t\t\tif (!env.grammar) {\n\t\t\t\tinsertHighlightedCode(_.util.encode(env.code));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (async && _self.Worker) {\n\t\t\t\tvar worker = new Worker(_.filename);\n\n\t\t\t\tworker.onmessage = function (evt) {\n\t\t\t\t\tinsertHighlightedCode(evt.data);\n\t\t\t\t};\n\n\t\t\t\tworker.postMessage(JSON.stringify({\n\t\t\t\t\tlanguage: env.language,\n\t\t\t\t\tcode: env.code,\n\t\t\t\t\timmediateClose: true\n\t\t\t\t}));\n\t\t\t} else {\n\t\t\t\tinsertHighlightedCode(_.highlight(env.code, env.grammar, env.language));\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Low-level function, only use if you know what you’re doing. It accepts a string of text as input\n\t\t * and the language definitions to use, and returns a string with the HTML produced.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-tokenize`\n\t\t * 2. `after-tokenize`\n\t\t * 3. `wrap`: On each {@link Token}.\n\t\t *\n\t\t * @param {string} text A string with the code to be highlighted.\n\t\t * @param {Grammar} grammar An object containing the tokens to use.\n\t\t *\n\t\t * Usually a language definition like `Prism.languages.markup`.\n\t\t * @param {string} language The name of the language definition passed to `grammar`.\n\t\t * @returns {string} The highlighted HTML.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t * @example\n\t\t * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');\n\t\t */\n\t\thighlight: function (text, grammar, language) {\n\t\t\tvar env = {\n\t\t\t\tcode: text,\n\t\t\t\tgrammar: grammar,\n\t\t\t\tlanguage: language\n\t\t\t};\n\t\t\t_.hooks.run('before-tokenize', env);\n\t\t\tif (!env.grammar) {\n\t\t\t\tthrow new Error('The language \"' + env.language + '\" has no grammar.');\n\t\t\t}\n\t\t\tenv.tokens = _.tokenize(env.code, env.grammar);\n\t\t\t_.hooks.run('after-tokenize', env);\n\t\t\treturn Token.stringify(_.util.encode(env.tokens), env.language);\n\t\t},\n\n\t\t/**\n\t\t * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input\n\t\t * and the language definitions to use, and returns an array with the tokenized code.\n\t\t *\n\t\t * When the language definition includes nested tokens, the function is called recursively on each of these tokens.\n\t\t *\n\t\t * This method could be useful in other contexts as well, as a very crude parser.\n\t\t *\n\t\t * @param {string} text A string with the code to be highlighted.\n\t\t * @param {Grammar} grammar An object containing the tokens to use.\n\t\t *\n\t\t * Usually a language definition like `Prism.languages.markup`.\n\t\t * @returns {TokenStream} An array of strings and tokens, a token stream.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t * @example\n\t\t * let code = `var foo = 0;`;\n\t\t * let tokens = Prism.tokenize(code, Prism.languages.javascript);\n\t\t * tokens.forEach(token => {\n\t\t * if (token instanceof Prism.Token && token.type === 'number') {\n\t\t * console.log(`Found numeric literal: ${token.content}`);\n\t\t * }\n\t\t * });\n\t\t */\n\t\ttokenize: function (text, grammar) {\n\t\t\tvar rest = grammar.rest;\n\t\t\tif (rest) {\n\t\t\t\tfor (var token in rest) {\n\t\t\t\t\tgrammar[token] = rest[token];\n\t\t\t\t}\n\n\t\t\t\tdelete grammar.rest;\n\t\t\t}\n\n\t\t\tvar tokenList = new LinkedList();\n\t\t\taddAfter(tokenList, tokenList.head, text);\n\n\t\t\tmatchGrammar(text, tokenList, grammar, tokenList.head, 0);\n\n\t\t\treturn toArray(tokenList);\n\t\t},\n\n\t\t/**\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thooks: {\n\t\t\tall: {},\n\n\t\t\t/**\n\t\t\t * Adds the given callback to the list of callbacks for the given hook.\n\t\t\t *\n\t\t\t * The callback will be invoked when the hook it is registered for is run.\n\t\t\t * Hooks are usually directly run by a highlight function but you can also run hooks yourself.\n\t\t\t *\n\t\t\t * One callback function can be registered to multiple hooks and the same hook multiple times.\n\t\t\t *\n\t\t\t * @param {string} name The name of the hook.\n\t\t\t * @param {HookCallback} callback The callback function which is given environment variables.\n\t\t\t * @public\n\t\t\t */\n\t\t\tadd: function (name, callback) {\n\t\t\t\tvar hooks = _.hooks.all;\n\n\t\t\t\thooks[name] = hooks[name] || [];\n\n\t\t\t\thooks[name].push(callback);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Runs a hook invoking all registered callbacks with the given environment variables.\n\t\t\t *\n\t\t\t * Callbacks will be invoked synchronously and in the order in which they were registered.\n\t\t\t *\n\t\t\t * @param {string} name The name of the hook.\n\t\t\t * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.\n\t\t\t * @public\n\t\t\t */\n\t\t\trun: function (name, env) {\n\t\t\t\tvar callbacks = _.hooks.all[name];\n\n\t\t\t\tif (!callbacks || !callbacks.length) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfor (var i = 0, callback; (callback = callbacks[i++]);) {\n\t\t\t\t\tcallback(env);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tToken: Token\n\t};\n\t_self.Prism = _;\n\n\n\t// Typescript note:\n\t// The following can be used to import the Token type in JSDoc:\n\t//\n\t// @typedef {InstanceType<import(\"./prism-core\")[\"Token\"]>} Token\n\n\t/**\n\t * Creates a new token.\n\t *\n\t * @param {string} type See {@link Token#type type}\n\t * @param {string | TokenStream} content See {@link Token#content content}\n\t * @param {string|string[]} [alias] The alias(es) of the token.\n\t * @param {string} [matchedStr=\"\"] A copy of the full string this token was created from.\n\t * @class\n\t * @global\n\t * @public\n\t */\n\tfunction Token(type, content, alias, matchedStr) {\n\t\t/**\n\t\t * The type of the token.\n\t\t *\n\t\t * This is usually the key of a pattern in a {@link Grammar}.\n\t\t *\n\t\t * @type {string}\n\t\t * @see GrammarToken\n\t\t * @public\n\t\t */\n\t\tthis.type = type;\n\t\t/**\n\t\t * The strings or tokens contained by this token.\n\t\t *\n\t\t * This will be a token stream if the pattern matched also defined an `inside` grammar.\n\t\t *\n\t\t * @type {string | TokenStream}\n\t\t * @public\n\t\t */\n\t\tthis.content = content;\n\t\t/**\n\t\t * The alias(es) of the token.\n\t\t *\n\t\t * @type {string|string[]}\n\t\t * @see GrammarToken\n\t\t * @public\n\t\t */\n\t\tthis.alias = alias;\n\t\t// Copy of the full string this token was created from\n\t\tthis.length = (matchedStr || '').length | 0;\n\t}\n\n\t/**\n\t * A token stream is an array of strings and {@link Token Token} objects.\n\t *\n\t * Token streams have to fulfill a few properties that are assumed by most functions (mostly internal ones) that process\n\t * them.\n\t *\n\t * 1. No adjacent strings.\n\t * 2. No empty strings.\n\t *\n\t * The only exception here is the token stream that only contains the empty string and nothing else.\n\t *\n\t * @typedef {Array<string | Token>} TokenStream\n\t * @global\n\t * @public\n\t */\n\n\t/**\n\t * Converts the given token or token stream to an HTML representation.\n\t *\n\t * The following hooks will be run:\n\t * 1. `wrap`: On each {@link Token}.\n\t *\n\t * @param {string | Token | TokenStream} o The token or token stream to be converted.\n\t * @param {string} language The name of current language.\n\t * @returns {string} The HTML representation of the token or token stream.\n\t * @memberof Token\n\t * @static\n\t */\n\tToken.stringify = function stringify(o, language) {\n\t\tif (typeof o == 'string') {\n\t\t\treturn o;\n\t\t}\n\t\tif (Array.isArray(o)) {\n\t\t\tvar s = '';\n\t\t\to.forEach(function (e) {\n\t\t\t\ts += stringify(e, language);\n\t\t\t});\n\t\t\treturn s;\n\t\t}\n\n\t\tvar env = {\n\t\t\ttype: o.type,\n\t\t\tcontent: stringify(o.content, language),\n\t\t\ttag: 'span',\n\t\t\tclasses: ['token', o.type],\n\t\t\tattributes: {},\n\t\t\tlanguage: language\n\t\t};\n\n\t\tvar aliases = o.alias;\n\t\tif (aliases) {\n\t\t\tif (Array.isArray(aliases)) {\n\t\t\t\tArray.prototype.push.apply(env.classes, aliases);\n\t\t\t} else {\n\t\t\t\tenv.classes.push(aliases);\n\t\t\t}\n\t\t}\n\n\t\t_.hooks.run('wrap', env);\n\n\t\tvar attributes = '';\n\t\tfor (var name in env.attributes) {\n\t\t\tattributes += ' ' + name + '=\"' + (env.attributes[name] || '').replace(/\"/g, '"') + '\"';\n\t\t}\n\n\t\treturn '<' + env.tag + ' class=\"' + env.classes.join(' ') + '\"' + attributes + '>' + env.content + '</' + env.tag + '>';\n\t};\n\n\t/**\n\t * @param {RegExp} pattern\n\t * @param {number} pos\n\t * @param {string} text\n\t * @param {boolean} lookbehind\n\t * @returns {RegExpExecArray | null}\n\t */\n\tfunction matchPattern(pattern, pos, text, lookbehind) {\n\t\tpattern.lastIndex = pos;\n\t\tvar match = pattern.exec(text);\n\t\tif (match && lookbehind && match[1]) {\n\t\t\t// change the match to remove the text matched by the Prism lookbehind group\n\t\t\tvar lookbehindLength = match[1].length;\n\t\t\tmatch.index += lookbehindLength;\n\t\t\tmatch[0] = match[0].slice(lookbehindLength);\n\t\t}\n\t\treturn match;\n\t}\n\n\t/**\n\t * @param {string} text\n\t * @param {LinkedList<string | Token>} tokenList\n\t * @param {any} grammar\n\t * @param {LinkedListNode<string | Token>} startNode\n\t * @param {number} startPos\n\t * @param {RematchOptions} [rematch]\n\t * @returns {void}\n\t * @private\n\t *\n\t * @typedef RematchOptions\n\t * @property {string} cause\n\t * @property {number} reach\n\t */\n\tfunction matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {\n\t\tfor (var token in grammar) {\n\t\t\tif (!grammar.hasOwnProperty(token) || !grammar[token]) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tvar patterns = grammar[token];\n\t\t\tpatterns = Array.isArray(patterns) ? patterns : [patterns];\n\n\t\t\tfor (var j = 0; j < patterns.length; ++j) {\n\t\t\t\tif (rematch && rematch.cause == token + ',' + j) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar patternObj = patterns[j];\n\t\t\t\tvar inside = patternObj.inside;\n\t\t\t\tvar lookbehind = !!patternObj.lookbehind;\n\t\t\t\tvar greedy = !!patternObj.greedy;\n\t\t\t\tvar alias = patternObj.alias;\n\n\t\t\t\tif (greedy && !patternObj.pattern.global) {\n\t\t\t\t\t// Without the global flag, lastIndex won't work\n\t\t\t\t\tvar flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];\n\t\t\t\t\tpatternObj.pattern = RegExp(patternObj.pattern.source, flags + 'g');\n\t\t\t\t}\n\n\t\t\t\t/** @type {RegExp} */\n\t\t\t\tvar pattern = patternObj.pattern || patternObj;\n\n\t\t\t\tfor ( // iterate the token list and keep track of the current token/string position\n\t\t\t\t\tvar currentNode = startNode.next, pos = startPos;\n\t\t\t\t\tcurrentNode !== tokenList.tail;\n\t\t\t\t\tpos += currentNode.value.length, currentNode = currentNode.next\n\t\t\t\t) {\n\n\t\t\t\t\tif (rematch && pos >= rematch.reach) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar str = currentNode.value;\n\n\t\t\t\t\tif (tokenList.length > text.length) {\n\t\t\t\t\t\t// Something went terribly wrong, ABORT, ABORT!\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (str instanceof Token) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar removeCount = 1; // this is the to parameter of removeBetween\n\t\t\t\t\tvar match;\n\n\t\t\t\t\tif (greedy) {\n\t\t\t\t\t\tmatch = matchPattern(pattern, pos, text, lookbehind);\n\t\t\t\t\t\tif (!match || match.index >= text.length) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvar from = match.index;\n\t\t\t\t\t\tvar to = match.index + match[0].length;\n\t\t\t\t\t\tvar p = pos;\n\n\t\t\t\t\t\t// find the node that contains the match\n\t\t\t\t\t\tp += currentNode.value.length;\n\t\t\t\t\t\twhile (from >= p) {\n\t\t\t\t\t\t\tcurrentNode = currentNode.next;\n\t\t\t\t\t\t\tp += currentNode.value.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// adjust pos (and p)\n\t\t\t\t\t\tp -= currentNode.value.length;\n\t\t\t\t\t\tpos = p;\n\n\t\t\t\t\t\t// the current node is a Token, then the match starts inside another Token, which is invalid\n\t\t\t\t\t\tif (currentNode.value instanceof Token) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// find the last node which is affected by this match\n\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\tvar k = currentNode;\n\t\t\t\t\t\t\tk !== tokenList.tail && (p < to || typeof k.value === 'string');\n\t\t\t\t\t\t\tk = k.next\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveCount++;\n\t\t\t\t\t\t\tp += k.value.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tremoveCount--;\n\n\t\t\t\t\t\t// replace with the new match\n\t\t\t\t\t\tstr = text.slice(pos, p);\n\t\t\t\t\t\tmatch.index -= pos;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmatch = matchPattern(pattern, 0, str, lookbehind);\n\t\t\t\t\t\tif (!match) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// eslint-disable-next-line no-redeclare\n\t\t\t\t\tvar from = match.index;\n\t\t\t\t\tvar matchStr = match[0];\n\t\t\t\t\tvar before = str.slice(0, from);\n\t\t\t\t\tvar after = str.slice(from + matchStr.length);\n\n\t\t\t\t\tvar reach = pos + str.length;\n\t\t\t\t\tif (rematch && reach > rematch.reach) {\n\t\t\t\t\t\trematch.reach = reach;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar removeFrom = currentNode.prev;\n\n\t\t\t\t\tif (before) {\n\t\t\t\t\t\tremoveFrom = addAfter(tokenList, removeFrom, before);\n\t\t\t\t\t\tpos += before.length;\n\t\t\t\t\t}\n\n\t\t\t\t\tremoveRange(tokenList, removeFrom, removeCount);\n\n\t\t\t\t\tvar wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr);\n\t\t\t\t\tcurrentNode = addAfter(tokenList, removeFrom, wrapped);\n\n\t\t\t\t\tif (after) {\n\t\t\t\t\t\taddAfter(tokenList, currentNode, after);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (removeCount > 1) {\n\t\t\t\t\t\t// at least one Token object was removed, so we have to do some rematching\n\t\t\t\t\t\t// this can only happen if the current pattern is greedy\n\n\t\t\t\t\t\t/** @type {RematchOptions} */\n\t\t\t\t\t\tvar nestedRematch = {\n\t\t\t\t\t\t\tcause: token + ',' + j,\n\t\t\t\t\t\t\treach: reach\n\t\t\t\t\t\t};\n\t\t\t\t\t\tmatchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch);\n\n\t\t\t\t\t\t// the reach might have been extended because of the rematching\n\t\t\t\t\t\tif (rematch && nestedRematch.reach > rematch.reach) {\n\t\t\t\t\t\t\trematch.reach = nestedRematch.reach;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @typedef LinkedListNode\n\t * @property {T} value\n\t * @property {LinkedListNode<T> | null} prev The previous node.\n\t * @property {LinkedListNode<T> | null} next The next node.\n\t * @template T\n\t * @private\n\t */\n\n\t/**\n\t * @template T\n\t * @private\n\t */\n\tfunction LinkedList() {\n\t\t/** @type {LinkedListNode<T>} */\n\t\tvar head = { value: null, prev: null, next: null };\n\t\t/** @type {LinkedListNode<T>} */\n\t\tvar tail = { value: null, prev: head, next: null };\n\t\thead.next = tail;\n\n\t\t/** @type {LinkedListNode<T>} */\n\t\tthis.head = head;\n\t\t/** @type {LinkedListNode<T>} */\n\t\tthis.tail = tail;\n\t\tthis.length = 0;\n\t}\n\n\t/**\n\t * Adds a new node with the given value to the list.\n\t *\n\t * @param {LinkedList<T>} list\n\t * @param {LinkedListNode<T>} node\n\t * @param {T} value\n\t * @returns {LinkedListNode<T>} The added node.\n\t * @template T\n\t */\n\tfunction addAfter(list, node, value) {\n\t\t// assumes that node != list.tail && values.length >= 0\n\t\tvar next = node.next;\n\n\t\tvar newNode = { value: value, prev: node, next: next };\n\t\tnode.next = newNode;\n\t\tnext.prev = newNode;\n\t\tlist.length++;\n\n\t\treturn newNode;\n\t}\n\t/**\n\t * Removes `count` nodes after the given node. The given node will not be removed.\n\t *\n\t * @param {LinkedList<T>} list\n\t * @param {LinkedListNode<T>} node\n\t * @param {number} count\n\t * @template T\n\t */\n\tfunction removeRange(list, node, count) {\n\t\tvar next = node.next;\n\t\tfor (var i = 0; i < count && next !== list.tail; i++) {\n\t\t\tnext = next.next;\n\t\t}\n\t\tnode.next = next;\n\t\tnext.prev = node;\n\t\tlist.length -= i;\n\t}\n\t/**\n\t * @param {LinkedList<T>} list\n\t * @returns {T[]}\n\t * @template T\n\t */\n\tfunction toArray(list) {\n\t\tvar array = [];\n\t\tvar node = list.head.next;\n\t\twhile (node !== list.tail) {\n\t\t\tarray.push(node.value);\n\t\t\tnode = node.next;\n\t\t}\n\t\treturn array;\n\t}\n\n\n\tif (!_self.document) {\n\t\tif (!_self.addEventListener) {\n\t\t\t// in Node.js\n\t\t\treturn _;\n\t\t}\n\n\t\tif (!_.disableWorkerMessageHandler) {\n\t\t\t// In worker\n\t\t\t_self.addEventListener('message', function (evt) {\n\t\t\t\tvar message = JSON.parse(evt.data);\n\t\t\t\tvar lang = message.language;\n\t\t\t\tvar code = message.code;\n\t\t\t\tvar immediateClose = message.immediateClose;\n\n\t\t\t\t_self.postMessage(_.highlight(code, _.languages[lang], lang));\n\t\t\t\tif (immediateClose) {\n\t\t\t\t\t_self.close();\n\t\t\t\t}\n\t\t\t}, false);\n\t\t}\n\n\t\treturn _;\n\t}\n\n\t// Get current script and highlight\n\tvar script = _.util.currentScript();\n\n\tif (script) {\n\t\t_.filename = script.src;\n\n\t\tif (script.hasAttribute('data-manual')) {\n\t\t\t_.manual = true;\n\t\t}\n\t}\n\n\tfunction highlightAutomaticallyCallback() {\n\t\tif (!_.manual) {\n\t\t\t_.highlightAll();\n\t\t}\n\t}\n\n\tif (!_.manual) {\n\t\t// If the document state is \"loading\", then we'll use DOMContentLoaded.\n\t\t// If the document state is \"interactive\" and the prism.js script is deferred, then we'll also use the\n\t\t// DOMContentLoaded event because there might be some plugins or languages which have also been deferred and they\n\t\t// might take longer one animation frame to execute which can create a race condition where only some plugins have\n\t\t// been loaded when Prism.highlightAll() is executed, depending on how fast resources are loaded.\n\t\t// See https://github.com/PrismJS/prism/issues/2102\n\t\tvar readyState = document.readyState;\n\t\tif (readyState === 'loading' || readyState === 'interactive' && script && script.defer) {\n\t\t\tdocument.addEventListener('DOMContentLoaded', highlightAutomaticallyCallback);\n\t\t} else {\n\t\t\tif (window.requestAnimationFrame) {\n\t\t\t\twindow.requestAnimationFrame(highlightAutomaticallyCallback);\n\t\t\t} else {\n\t\t\t\twindow.setTimeout(highlightAutomaticallyCallback, 16);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn _;\n\n}(_self));\n\nif (typeof module !== 'undefined' && module.exports) {\n\tmodule.exports = Prism;\n}\n\n// hack for components to work correctly in node.js\nif (typeof global !== 'undefined') {\n\tglobal.Prism = Prism;\n}\n\n// some additional documentation/types\n\n/**\n * The expansion of a simple `RegExp` literal to support additional properties.\n *\n * @typedef GrammarToken\n * @property {RegExp} pattern The regular expression of the token.\n * @property {boolean} [lookbehind=false] If `true`, then the first capturing group of `pattern` will (effectively)\n * behave as a lookbehind group meaning that the captured text will not be part of the matched text of the new token.\n * @property {boolean} [greedy=false] Whether the token is greedy.\n * @property {string|string[]} [alias] An optional alias or list of aliases.\n * @property {Grammar} [inside] The nested grammar of this token.\n *\n * The `inside` grammar will be used to tokenize the text value of each token of this kind.\n *\n * This can be used to make nested and even recursive language definitions.\n *\n * Note: This can cause infinite recursion. Be careful when you embed different languages or even the same language into\n * each another.\n * @global\n * @public\n */\n\n/**\n * @typedef Grammar\n * @type {Object<string, RegExp | GrammarToken | Array<RegExp | GrammarToken>>}\n * @property {Grammar} [rest] An optional grammar object that will be appended to this grammar.\n * @global\n * @public\n */\n\n/**\n * A function which will invoked after an element was successfully highlighted.\n *\n * @callback HighlightCallback\n * @param {Element} element The element successfully highlighted.\n * @returns {void}\n * @global\n * @public\n */\n\n/**\n * @callback HookCallback\n * @param {Object<string, any>} env The environment variables of the hook.\n * @returns {void}\n * @global\n * @public\n */\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","var parse = require('inline-style-parser');\n\n/**\n * Parses inline style to object.\n *\n * @example\n * // returns { 'line-height': '42' }\n * StyleToObject('line-height: 42;');\n *\n * @param {String} style - The inline style.\n * @param {Function} [iterator] - The iterator function.\n * @return {null|Object}\n */\nfunction StyleToObject(style, iterator) {\n var output = null;\n if (!style || typeof style !== 'string') {\n return output;\n }\n\n var declaration;\n var declarations = parse(style);\n var hasIterator = typeof iterator === 'function';\n var property;\n var value;\n\n for (var i = 0, len = declarations.length; i < len; i++) {\n declaration = declarations[i];\n property = declaration.property;\n value = declaration.value;\n\n if (hasIterator) {\n iterator(property, value, declaration);\n } else if (value) {\n output || (output = {});\n output[property] = value;\n }\n }\n\n return output;\n}\n\nmodule.exports = StyleToObject;\n","module.exports = extend\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction extend() {\n var target = {}\n\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n\n return target\n}\n","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\nvar possibleConstructorReturn = require(\"./possibleConstructorReturn.js\");\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return possibleConstructorReturn(this, result);\n };\n}\nmodule.exports = _createSuper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var superPropBase = require(\"./superPropBase.js\");\nfunction _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n module.exports = _get = Reflect.get.bind(), module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n } else {\n module.exports = _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n return desc.value;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n }\n return _get.apply(this, arguments);\n}\nmodule.exports = _get, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n}\nmodule.exports = _superPropBase, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n}","\nconst data = {\n \"categories\": [\n {\n \"title\": \"Proxmox Tools\",\n }, {\n \"title\": \"Home Assistant\",\n }, {\n \"title\": \"Automation\",\n }, {\n \"title\": \"MQTT\",\n }, {\n \"title\": \"Database\",\n }, {\n \"title\": \"Zigbee - Zwave\",\n }, {\n \"title\": \"Monitoring - Analytics\",\n }, {\n \"title\": \"Docker - Kubernetes\",\n }, {\n \"title\": \"Operating System\",\n }, {\n \"title\": \"Server - Networking\",\n }, {\n \"title\": \"Media - Photo\",\n }, {\n \"title\": \"Ad Blocker - DNS\",\n }, {\n \"title\": \"Document - Notes\",\n }, {\n \"title\": \"Dashboards\",\n }, {\n \"title\": \"File - Code\",\n }, {\n \"title\": \"Miscellaneous\",\n }],\n \"items\": [\n {\n \"category\": \"Proxmox Tools\",\n \"title\": \"Proxmox VE 7 Post Install\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/home-assistant/brands/blob/master/core_integrations/proxmoxve/icon.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Proxmox VE 7 Post Install </h1>\n \n The script will give options to Disable the Enterprise Repo, Add/Correct PVE7 Sources, Enable the No-Subscription Repo, Add Test/Beta Repo, Disable Subscription Nag, Update Proxmox VE and Reboot PVE.\n \n Run the command below in the <b>Proxmox Shell</b>. ⚠️ **PVE7 ONLY**\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/post-pve-install.sh)\"\n ~~~\n \n <p>It's recommended to answer <code class=\"highlighter-rouge\">y</code> to all options.</p>`\n },\n {\n \"category\": \"Proxmox Tools\",\n\n \"title\": \"Proxmox Kernel Clean\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/home-assistant/brands/blob/master/core_integrations/proxmoxve/icon.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\">Proxmox Kernel Clean </h1>\n Cleaning unused kernel images is not only good because of a reduced grub menu, but also gains some disk space.\n \n Run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/kernel-clean.sh)\"\n ~~~`\n },\n {\n \"category\": \"Proxmox Tools\",\n\n \"title\": \"Proxmox Edge Kernel Tool\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/home-assistant/brands/blob/master/core_integrations/proxmoxve/icon.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\">Proxmox Edge Kernel Tool </h1>\n\n PVE [Edge Kernels](https://github.com/fabianishere/pve-edge-kernel) are custom Linux Kernels for Proxmox VE 7. Keeping up with new Kernel releases instead of LTS\n \n Run the command below in the Proxmox Shell.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/edge-kernel.sh)\"\n ~~~`\n },\n {\n \"category\": \"Proxmox Tools\",\n\n \"title\": \"Proxmox CPU Scaling Governor\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/tteck/Proxmox/blob/main/misc/images/cpu.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\">Proxmox CPU Scaling Governor </h1>\n\n CPU Scaling Governor enables the operating system to scale the CPU frequency up or down in order to save power or improve performance. [Generic Scaling Governors](https://www.kernel.org/doc/html/latest/admin-guide/pm/cpufreq.html?#generic-scaling-governors)\n \n Run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/scaling-governor.sh)\"\n ~~~`\n },\n {\n \"category\": \"Proxmox Tools\",\n\n \"title\": \"Proxmox LXC Updater\",\n \"content\": `<p align=\"center\"><img src=\"https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Felpuig.xeill.net%2FMembers%2Fvcarceler%2Farticulos%2Fcontenedores-con-lxd-lxc%2Fcontainers.png&f=1&nofb=1\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\">Proxmox LXC Updater </h1>\n Update All LXC's Fast & Easy (Ubuntu, Debian, Devuan, Alpine Linux, CentOS-Rocky-Alma, Fedora, ArchLinux)\n \n Run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/update-lxcs.sh)\"\n ~~~`\n },\n {\n \"category\": \"Proxmox Tools\",\n\n \"title\": \"Proxmox Dark Theme\",\n \"content\": `<p align=\"center\"><img src=\"https://camo.githubusercontent.com/f6f33a09f8c1207dfb3dc1cbd754c2f3393562c11b1c999751ad9a91a656834a/68747470733a2f2f692e696d6775722e636f6d2f536e6c437948462e706e67\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Proxmox Discord Dark Theme </h1>\n \n A dark theme for the Proxmox Web UI by [Weilbyte](https://github.com/Weilbyte/PVEDiscordDark)\n \n Run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash <(curl -s https://raw.githubusercontent.com/Weilbyte/PVEDiscordDark/master/PVEDiscordDark.sh ) install\n ~~~\n \n To uninstall the theme, simply run the script with the <code class=\"highlighter-rouge\">uninstall</code> command.`\n },\n {\n \"category\": \"Proxmox Tools\",\n\n \"title\": \"Proxmox Backup Server Post Install\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/home-assistant/brands/blob/master/core_integrations/proxmoxve/icon.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Proxmox Backup Server Post Install </h1>\n The script will give options to Disable the Enterprise Repo, Add/Correct PBS Sources, Enable the No-Subscription Repo, Add Test Repo, Disable Subscription Nag, Update Proxmox Backup Server and Reboot PBS.\n \n Run the command below in the <b>Proxmox Shell</b>. ⚠️ **Proxmox Backup Server ONLY**\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/post-pbs-install.sh)\"\n ~~~\n \n It's recommended to answer <code class=\"highlighter-rouge\">y</code> to all options.`\n },\n {\n \"category\": \"Home Assistant\",\n\n \"title\": \"Home Assistant OS VM\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/tteck/Proxmox/blob/main/misc/images/haos.png?raw=true\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Home Assistant OS VM </h1>\n <h3 align=\"center\"> Option to create VM using Stable, Beta, Dev or Latest Image </h3>\n \n The script automates the manual process of finding, downloading and extracting the Official KVM (qcow2) disk image provided by the Home Assistant Team, creating a VM with user defined settings, importing and attaching the disk, setting the boot order and starting the VM. No hidden (kpartx, unzip, ect...) installs of any kind. Supports lvmthin, zfspool, nfs, dir and btrfs storage types.\n \n To create a new Proxmox Home Assistant OS VM, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/vm/haos-vm-v4.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 4GB RAM - 32GB Storage - 2vCPU - Stable Image ⚡</h3>\n \n After the script completes, click on the VM, then on the **_Summary_** tab to find the VM IP.\n \n **Home Assistant Interface: IP:8123**`\n },\n {\n \"category\": \"Home Assistant\",\n\n \"title\": \"PiMox HAOS VM\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/tteck/Proxmox/blob/main/misc/images/pimox.png?raw=true\" width=\"100\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\"> PiMox HAOS VM </h1>\n \n <h3 align=\"center\"> Option to create VM using Stable, Beta or Dev Image </h3>\n \n The script automates the manual process of finding, downloading and extracting the aarch64 (qcow2) disk image provided by the Home Assistant Team, creating a VM with user defined settings, importing and attaching the disk, setting the boot order and starting the VM.\n \n To create a new PiMox HAOS VM, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/vm/pimox-haos-vm-v4.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 4GB RAM - 32GB Storage - 2vCPU - Stable Image ⚡</h3>\n \n After the script completes, click on the VM, then on the **_Console_** tab to find the VM IP.\n \n **Home Assistant Interface: IP:8123**`\n },\n {\n \"category\": \"Home Assistant\",\n\n \"title\": \"Home Assistant Container LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/docker/docs/main/assets/images/docker-icon.svg\" height=\"100\"/>\n <img src=\"https://avatars.githubusercontent.com/u/13844975?s=200&v=4\" width=\"100\" height=\"100\"/><img src=\"https://avatars1.githubusercontent.com/u/22225832?s=400&v=4\" alt=\"GitHub - portainer/portainer-docs: Portainer documentation\" width=\"100\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Home Assistant Container LXC </h1>\n <h3 align=\"center\"> Option to Use Fuse Overlayfs (Advanced)</h3> \n\n 🛈 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n\n A standalone container-based installation of Home Assistant Core\n \n To create a new Proxmox Home Assistant Container LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update ALL Containers, Remove Unused Images or Install HACS, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/homeassistant-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 16GB Storage - 2vCPU ⚡</h3>\n \n **Home Assistant Interface: IP:8123**\n \n **Portainer Interface: IP:9000**\n \n ⚙️ **Path to HA /config**\n ~~~bash\n /var/lib/docker/volumes/hass_config/_data\n ~~~`\n \n },\n {\n \"category\": \"Home Assistant\",\n\n \"title\": \"Home Assistant Core LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://avatars.githubusercontent.com/u/13844975?s=200&v=4\" width=\"100\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Home Assistant Core LXC </h1>\n \n A standalone installation of Home Assistant Core\n \n 🛈 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n \n To create a new Proxmox Home Assistant Core LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update, Install HACS or Filebrowser, run the command below in the <b>LXC Console</b>. <br>\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/homeassistant-core-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n\n **Home Assistant Interface: IP:8123**\n \n ⚙️ **Path to HA /config**\n ~~~bash\n /root/.homeassistant\n ~~~`\n \n },\n {\n \"category\": \"Home Assistant\",\n\n \"title\": \"Podman Home Assistant Container LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/podman.svg\" height=\"100\"/>\n <img src=\"https://avatars.githubusercontent.com/u/13844975?s=200&v=4\" height=\"100\"/><img/></p>\n <h1 align=\"center\" id=\"heading\">Podman Home Assistant Container LXC</h1>\n \n A standalone container-based installation of Home Assistant Core\n \n 🛈 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n\n To create a new Proxmox Podman Home Assistant Container LXC, run the command below in the <b>Proxmox Shell</b>. <br> \n To Update Podman, Install HACS or FileBrowser, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/podman-homeassistant-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 16GB Storage - 2vCPU ⚡</h3>\n \n **Home Assistant Interface: IP:8123**\n \n ⚙️ **Path to HA /config**\n ~~~bash\n /var/lib/containers/storage/volumes/hass_config/_data\n ~~~`\n\n },\n {\n \"category\": \"Automation\",\n\n \"title\": \"ioBroker LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/ioBroker/ioBroker/blob/master/img/logos/ioBroker_Logo_256px.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> ioBroker LXC </h1>\n \n [ioBroker](https://www.iobroker.net/#en/intro) is an open source automation platform.\n \n To create a new Proxmox ioBroker LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/iobroker-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **ioBroker Interface: IP:8081**`\n \n },\n {\n \"category\": \"Automation\",\n\n \"title\": \"openHAB LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://www.openhab.org/openhab-logo-square.png?raw=true\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\">openHAB LXC</h1>\n\n [openHAB](https://www.openhab.org/), a vendor and technology agnostic open source automation software for your home.\n \n To create a new Proxmox openHAB LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/openhab-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **openHAB Interface: IP:8080**`\n \n },\n {\n \"category\": \"Automation\",\n\n \"title\": \"Homebridge LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fwww.dingz.ch%2Fadmin%2Fdata%2Ffiles%2Fintegration%2Flogo%2F20%2F200514-em-logo-homebridge_logo.png%3Flm%3D1589459081&f=1&nofb=1\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\">Homebridge LXC</h1>\n\n [Homebridge](https://homebridge.io/) allows you to integrate with smart home devices that do not natively support HomeKit\n \n To create a new Proxmox Homebridge LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/homebridge-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 1vCPU ⚡</h3>\n \n **Homebridge Interface: IP:8581**\n \n ⚙️ **Initial Login**\n \n **username** <code class=\"highlighter-rouge\">admin</code>\n \n **password** <code class=\"highlighter-rouge\">admin</code>`\n \n },\n {\n \"category\": \"Automation\",\n\n \"title\": \"ESPHome LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/home-assistant/brands/blob/master/core_integrations/esphome/dark_icon@2x.png?raw=true\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\">ESPHome LXC</h1>\n \n [ESPHome](https://esphome.io/) is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.\n \n To create a new Proxmox ESPHome LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update ESPHome, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/esphome-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **ESPHome Interface: IP:6052**`\n \n },\n {\n \"category\": \"Automation\",\n\n \"title\": \"Node-Red LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/home-assistant/brands/blob/master/custom_integrations/nodered/icon.png?raw=true\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\">Node-Red LXC</h1>\n\n [Node-RED](https://nodered.org/) is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.\n \n To create a new Proxmox Node-RED LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Node-Red or Install Themes run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/node-red-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 1vCPU ⚡</h3>\n \n **Node-Red Interface: IP:1880**`\n \n },\n {\n \"category\": \"Automation\",\n\n \"title\": \"n8n LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://docs.n8n.io/_images/n8n-docs-icon.svg\" height=\"70\"/></p>\n <h1 align=\"center\" id=\"heading\">n8n LXC</h1>\n \n [n8n](https://n8n.io/) is an extendable workflow automation tool which enables you to connect anything to everything.\n \n To create a new Proxmox n8n LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update n8n, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/n8n-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 3GB Storage - 2vCPU ⚡</h3>\n \n **n8n Interface: IP:5678**`\n \n },\n {\n \"category\": \"Automation\",\n\n \"title\": \"Scrypted LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://www.scrypted.app/images/web_hi_res_512.png?raw=true\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\">Scrypted LXC</h1>\n\n <h3 align=\"center\"> Option to add Coral Edge TPU support </h3> \n \n [Scrypted](https://www.scrypted.app/) is a home automation platform primarily focusing on making camera experiences seamless.\n\n 🛈 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n \n To create a new Proxmox Scrypted LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/scrypted-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **Scrypted Interface: (https)IP:10443**`\n \n },\n {\n \"category\": \"MQTT\",\n\n \"title\": \"MQTT LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/eclipsemosquitto.svg\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\">MQTT LXC</h1>\n \n [Eclipse Mosquitto](https://mosquitto.org/) is an open source message broker that implements the MQTT protocol\n \n To create a new Proxmox MQTT LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/mqtt-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n Mosquitto comes with a password file generating utility called mosquitto_passwd.\n ~~~bash\n sudo mosquitto_passwd -c /etc/mosquitto/passwd <usr>\n ~~~\n Password: < password >\n \n Create a configuration file for Mosquitto pointing to the password file we have just created.\n ~~~bash\n sudo nano /etc/mosquitto/conf.d/default.conf\n ~~~\n This will open an empty file. Paste the command below into it.\n ~~~bash\n allow_anonymous false\n persistence true\n password_file /etc/mosquitto/passwd\n listener 1883\n ~~~\n Save and exit the text editor with \"Ctrl+O\", \"Enter\" and \"Ctrl+X\".\n \n Now restart Mosquitto server.\n ~~~bash\n sudo systemctl restart mosquitto\n ~~~`\n \n },\n {\n \"category\": \"MQTT\",\n\n \"title\": \"EMQX LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/hassio-addons/repository/blob/master/emqx/icon.png?raw=true\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\">EMQX LXC</h1>\n\n[EMQX](https://www.emqx.io/) is an Open-source MQTT broker with a high-performance real-time message processing engine, powering event streaming for IoT devices at massive scale.\n \n To create a new Proxmox EMQX LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/emqx-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n \n **EMQX Interface: IP:18083** \n \n ⚙️ **Initial Login**\n \n **username** <code class=\"highlighter-rouge\">admin</code>\n\n **password** <code class=\"highlighter-rouge\">public</code>\n\n ⚙️ **Setup**\n \n Access Control ➡ Authentication ➡ Create ➡ Next ➡ Next ➡ Create ➡ Users ➡ Add ➡ Username / Password (to authenicate with MQTT) ➡ Save. You're now ready to enjoy a high-performance MQTT Broker.`\n \n },\n {\n \"category\": \"Database\",\n\n \"title\": \"Mariadb LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/mariadb.svg\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\">Mariadb LXC</h1>\n\n <h3 align=\"center\"> Option to Install Adminer</h3>\n \n [MariaDB](https://mariadb.org/) is a community-developed, commercially supported fork of the MySQL relational database management system.\n \n To create a new Proxmox Mariadb LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/mariadb-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 1vCPU ⚡</h3>\n \n To enable MariaDB to listen to remote connections, you need to edit your defaults file. To do this, open the console in your MariaDB lxc:\n ~~~bash\n nano /etc/mysql/my.cnf\n ~~~\n Un-comment <code class=\"highlighter-rouge\">port =3306</code>\n Save and exit the editor with \"Ctrl+O\", \"Enter\" and \"Ctrl+X\".\n \n ~~~bash\n nano /etc/mysql/mariadb.conf.d/50-server.cnf\n ~~~\n Comment <code class=\"highlighter-rouge\">bind-address = 127.0.0.1</code>\n Save and exit the editor with \"Ctrl+O\", \"Enter\" and \"Ctrl+X\".\n \n For new MariaDB installations, the next step is to run the included security script. This script changes some of the less secure default options. We will use it to block remote root logins and to remove unused database users.\n \n Run the security script:\n ~~~bash\n sudo mysql_secure_installation\n ~~~\n Enter current password for root (enter for none): <code class=\"highlighter-rouge\">enter</code>\n \n Switch to unix_socket authentication [Y/n] <code class=\"highlighter-rouge\">y</code> \n \n Change the root password? [Y/n] <code class=\"highlighter-rouge\">n</code> \n \n Remove anonymous users? [Y/n] <code class=\"highlighter-rouge\">y</code> \n \n Disallow root login remotely? [Y/n] <code class=\"highlighter-rouge\">y</code> \n \n Remove test database and access to it? [Y/n] <code class=\"highlighter-rouge\">y</code> \n \n Reload privilege tables now? [Y/n] <code class=\"highlighter-rouge\">y</code> \n \n We will create a new account called admin with the same capabilities as the root account, but configured for password authentication. \n ~~~bash\n sudo mysql\n ~~~ \n Prompt will change to <code class=\"highlighter-rouge\">MariaDB [(none)]></code>\n \n Create a new local admin (Change the username and password to match your preferences)\n ~~~sql\n CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';\n ~~~\n Give local admin root privileges (Change the username and password to match above)\n ~~~sql\n GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;\n ~~~\n \n Now, we'll give the user admin root privileges and password-based access that can connect from anywhere on your local area network (LAN), which has addresses in the subnet 192.168.100.0/24. This is an improvement because opening a MariaDB server up to the Internet and granting access to all hosts is bad practice.. Change the **_username_**, **_password_** and **_subnet_** to match your preferences:\n ~~~sql\n GRANT ALL ON *.* TO 'admin'@'192.168.100.%' IDENTIFIED BY 'password' WITH GRANT OPTION;\n ~~~\n Flush the privileges to ensure that they are saved and available in the current session:\n ~~~sql\n FLUSH PRIVILEGES;\n ~~~\n command below this, exit the MariaDB shell:\n ~~~bash\n exit\n ~~~\n Log in as the new database user you just created:\n ~~~bash\n mysql -u admin -p\n ~~~\n Create a new database:\n ~~~sql\n CREATE DATABASE homeassistant;\n ~~~\n command below this, exit the MariaDB shell:\n ~~~bash\n exit\n ~~~\n ⚠️ Reboot the lxc \n \n Checking status.\n ~~~bash\n sudo systemctl status mariadb\n ~~~ \n Change the recorder: <code class=\"highlighter-rouge\">db_url:</code> in your HA configuration.yaml\n \n Example:\n ~~~bash\n recorder:\n db_url: mysql://admin:password@192.168.100.26:3306/homeassistant?charset=utf8mb4\n ~~~\n \n ⚙️ [**Adminer**](https://www.adminer.org/) is a full-featured database management tool\n \n **Adminer Interface: IP/adminer/**`\n },\n {\n \"category\": \"Database\",\n\n \"title\": \"PostgreSQL LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/postgresql.svg\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\">PostgreSQL LXC</h1>\n <h3 align=\"center\"> Option to Install Adminer</h3>\n \n [PostgreSQL](https://www.postgresql.org/), also known as Postgres, is a free and open-source relational database management system emphasizing extensibility and SQL compliance.\n \n To create a new Proxmox PostgreSQL LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/postgresql-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 1vCPU ⚡</h3>\n \n To make sure our PostgreSQL is secured with a strong password, set a password for its system user and then change the default database admin user account\n \n Change user password\n ~~~bash\n passwd postgres\n ~~~\n Login using Postgres system account\n \n ~~~bash\n su - postgres\n ~~~\n Now, change the Admin database password \n ~~~bash\n psql -c \"ALTER USER postgres WITH PASSWORD 'your-password';\"\n ~~~\n Create a new user.\n ~~~bash\n psql\n ~~~\n ~~~sql\n CREATE USER admin WITH PASSWORD 'your-password';\n ~~~\n Create a new database:\n ~~~sql\n CREATE DATABASE homeassistant;\n ~~~\n Grant all rights or privileges on created database to the user\n ~~~sql\n GRANT ALL ON DATABASE homeassistant TO admin;\n ~~~\n To exit psql\n ~~~bash\n \\\\q\n ~~~ \n Then type exit to get back to root\n \n Change the recorder: <code class=\"highlighter-rouge\">db_url:</code> in your HA configuration.yaml\n \n Example:\n ~~~bash\n recorder:\n db_url: postgresql://admin:your-password@192.168.100.20:5432/homeassistant?client_encoding=utf8\n ~~~\n\n ⚙️ [**Adminer**](https://www.adminer.org/) is a full-featured database management tool\n \n **Adminer Interface: IP/adminer/**`\n },\n {\n \"category\": \"Database\",\n\n \"title\": \"InfluxDB LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/influx.svg\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\">InfluxDB LXC</h1>\n <h3 align=\"center\"> Options to Install InfluxDB v1 or v2 and Telegraf</h3>\n \n [InfluxDB](https://www.influxdata.com/) is an open-source time series database developed by the company InfluxData.\n \n [Telegraf](https://www.influxdata.com/time-series-platform/telegraf/) is an open source plugin-driven server agent for collecting and reporting metrics.\n \n To create a new Proxmox InfluxDB LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/influxdb-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n ⚙️ **InfluxDB Configuration**\n \n ~~~yaml\n nano /etc/influxdb/influxdb.conf\n ~~~\n \n ⚙️ **Telegraf Configuration**\n \n ~~~yaml\n nano /etc/telegraf/telegraf.conf\n ~~~`\n \n },\n {\n \"category\": \"Zigbee - Zwave\",\n\n \"title\": \"Zigbee2MQTT LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/Koenkk/zigbee2mqtt/blob/master/images/logo_bee_only.png?raw=true\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\">Zigbee2MQTT LXC</h1>\n\n <h3 align=\"center\"> Option to switch to Edge/dev branch</h3>\n \n [Zigbee2MQTT](https://www.zigbee2mqtt.io/) is a standalone nodejs application that connects a zigbee network to MQTT\n \n 🛈 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n\n To create a new Proxmox Zigbee2MQTT LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Zigbee2MQTT, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/zigbee2mqtt-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n ⚙️ **Determine the location of your adapter**\n \n ~~~bash\n ls -l /dev/serial/by-id\n ~~~\n Example Output: <code class=\"highlighter-rouge\">lrwxrwxrwx 1 root root 13 Jun 19 17:30 usb-1a86_USB_Serial-if00-port0 -> ../../ttyUSB0</code>\n \n \n ⚙️ ⚠️ **Before you start Zigbee2MQTT you need to edit the [configuration.yaml](https://www.zigbee2mqtt.io/guide/configuration/)**\n \n ~~~bash\n nano /opt/zigbee2mqtt/data/configuration.yaml\n ~~~\n \n Save and exit the editor with “Ctrl+O”, “Enter” and “Ctrl+X”\n \n Example:\n ~~~yaml\n frontend:\n port: 9442\n homeassistant: true\n permit_join: false\n mqtt:\n base_topic: zigbee2mqtt\n server: 'mqtt://192.168.86.224:1883'\n user: usr\n password: pwd\n keepalive: 60\n reject_unauthorized: true\n version: 4\n serial:\n port: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0\n #adapter: deconz\t\t#(uncomment for ConBee II)\n advanced:\n pan_id: GENERATE\n network_key: GENERATE\n channel: 20\n ~~~\n ⚙️ **Zigbee2MQTT can be started after completing the configuration**\n \n ~~~bash\n cd /opt/zigbee2mqtt && npm start\n ~~~`\n\n },\n {\n \"category\": \"Zigbee - Zwave\",\n\n \"title\": \"deCONZ LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://phoscon.de/img/phoscon-logo128x.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> deCONZ LXC </h1>\n \n [deCONZ](https://www.phoscon.de/en/conbee2/software#deconz) is used to configure, control and display Zigbee networks.\n \n 🛈 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n\n To create a new Proxmox deCONZ LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/deconz-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **deCONZ Interface: IP:80**`\n \n },\n {\n \"category\": \"Zigbee - Zwave\",\n\n \"title\": \"Z-Wave JS UI LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/zwave-js/zwave-js-ui/blob/master/docs/_images/app_logo.svg?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Z-Wave JS UI LXC </h1>\n \n [Z-Wave JS UI](https://github.com/zwave-js/zwave-js-ui#) is a fully configurable Z-Wave to MQTT Gateway and Control Panel.\n \n 🛈 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n \n To create a new Proxmox Z-Wave JS UI LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Z-Wave JS UI, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/zwave-js-ui-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **Z-Wave JS UI Interface: IP:8091**`\n \n },\n {\n \"category\": \"Monitoring - Analytics\",\n\n \"title\": \"Uptime Kuma LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/louislam/uptime-kuma/blob/master/public/icon.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Uptime Kuma LXC </h1>\n \n Uptime Kuma is a self-hosted, open source, fancy uptime monitoring and alerting system. It can monitor HTTP(s) / TCP / HTTP(s) Keyword / Ping / DNS Record / Push / Steam Game Server.\n \n To create a new Proxmox Uptime Kuma LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Uptime Kuma, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/uptimekuma-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n **Uptime Kuma Interface: IP:3001**`\n \n },\n {\n \"category\": \"Monitoring - Analytics\",\n \n \"title\": \"Change Detection LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/dgtlmoon/changedetection.io/blob/master/changedetectionio/static/images/avatar-256x256.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Change Detection LXC </h1>\n \n To create a new Proxmox Change Detection LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Change Detection, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/changedetection-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n **Change Detection Interface: IP:5000**`\n \n \n },\n {\n \"category\": \"Monitoring - Analytics\",\n\n \"title\": \"Prometheus LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/prometheus.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Prometheus LXC </h1>\n \n [Prometheus](https://prometheus.io/) is an open-source systems monitoring and alerting toolkit\n \n To create a new Proxmox Prometheus LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/prometheus-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 4GB Storage - 1vCPU ⚡</h3>\n \n **Prometheus Interface: IP:9090**`\n \n },\n {\n \"category\": \"Monitoring - Analytics\",\n\n \"title\": \"Grafana LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fdocs.checkmk.com%2Flatest%2Fimages%2Fgrafana_logo.png&f=1&nofb=1\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Grafana LXC </h1>\n \n [Grafana](https://grafana.com/) is a multi-platform open source analytics and interactive visualization web application.\n \n To create a new Proxmox Grafana LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/grafana-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n **Grafana Interface: IP:3000**\n \n ⚙️ **Initial Login**\n \n **username** <code class=\"highlighter-rouge\">admin</code>\n \n **password** <code class=\"highlighter-rouge\">admin</code>`\n \n },\n {\n \"category\": \"Docker - Kubernetes\",\n\n \"title\": \"Docker LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/docker.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Docker LXC </h1>\n <h3 align=\"center\"> Options to Install Portainer and/or Docker Compose V2 (Fuse Overlayfs is in \"Advanced\")</h3>\n \n 🛈 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n\n [Docker](https://www.docker.com/) is an open-source project for automating the deployment of applications as portable, self-sufficient containers.\n \n To create a new Proxmox Docker LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/docker-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **⚠ Run Compose V2 by replacing the hyphen (-) with a space, using docker compose, instead of docker-compose.**\n \n **Portainer Interface: IP:9000**`\n\n },\n {\n \"category\": \"Docker - Kubernetes\",\n\n \"title\": \"Umbrel LXC\",\n \n \"content\": `<p align=\"center\"><img src=\"https://uploads-ssl.webflow.com/62966b49981ba146f4842f45/62966b49981ba15b44842fe4_umbrel-logo-compact-purple.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Umbrel LXC </h1>\n\n 🛈 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n \n [Umbrel](https://umbrel.com/) is a beautiful personal server OS for self-hosting.\n \n \n To create a new Proxmox Umbrel LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/umbrel-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **Umbrel Interface: IP** (a reboot is required before app installs)`\n \n },\n {\n \"category\": \"Docker - Kubernetes\",\n\n \"title\": \"CasaOS LXC\",\n \n \"content\": `<p align=\"center\"><img src=\"https://www.casaos.io/images/casa_9c491a0f.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> CasaOS LXC </h1>\n\n 🛈 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n \n [CasaOS](https://www.casaos.io/) is a community-based open source software focused on delivering simple home cloud experience around Docker ecosystem.\n \n \n To create a new Proxmox CasaOS LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/casaos-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **CasaOS Interface: IP**`\n \n },\n {\n \"category\": \"Docker - Kubernetes\",\n\n \"title\": \"k0s Kubernetes LXC\",\n \n \"content\": `<p align=\"center\"><img src=\"https://k0sproject.io/images/k0s-logo.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> k0s Kubernetes LXC </h1>\n <h3 align=\"center\"> Option to Install Helm Package Manager</h3>\n \n [k0s](https://k0sproject.io/) is the Simple, Solid & Certified Kubernetes Distribution.\n \n \n To create a new Proxmox k0s Kubernetes LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/k0s-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n\n ⚙️ **Config Path**\n\n ~~~yaml\n /etc/k0s/k0s.yaml\n ~~~`\n \n },\n {\n \"category\": \"Docker - Kubernetes\",\n\n \"title\": \"Podman LXC\",\n \n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/podman.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Podman LXC </h1>\n \n [Podman](https://podman.io/) is a daemonless container engine for developing, managing, and running OCI Containers on your Linux System.\n \n \n To create a new Proxmox Podman LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/podman-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 4GB Storage - 2vCPU ⚡</h3>`\n \n },\n {\n \"category\": \"Operating System\",\n\n \"title\": \"Debian LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://www.debian.org/Pics/debian-logo-1024x576.png\" alt=\"Debian\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Debian LXC </h1>\n Debian Linux is a distribution that emphasizes free software. It supports many hardware platforms.\n\n To create a new Proxmox Debian LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/debian-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>`\n \n },\n {\n \"category\": \"Operating System\",\n\n \"title\": \"Ubuntu LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://assets.ubuntu.com/v1/29985a98-ubuntu-logo32.png\" alt=\"Ubuntu\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Ubuntu LXC </h1>\n <h3 align=\"center\" id=\"heading\"> Option to select version 18.04, 20.04, 21.10 or 22.04</h3>\n Ubuntu is a distribution based on Debian, designed to have regular releases and a consistent user experience.\n \n To create a new Proxmox Ubuntu LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/ubuntu-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU - 22.04 ⚡</h3>`\n \n },\n {\n \"category\": \"Operating System\",\n\n \"title\": \"Alpine LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/alpinelinux.svg\" alt=\"Alpine\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Alpine LXC </h1>\n A security-oriented, lightweight Linux distribution based on musl and BusyBox.\n\n To create a new Proxmox Alpine LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/alpine-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 100MiB Storage - 1vCPU ⚡</h3>\n\n ⚙️ **Default Password** <code class=\"highlighter-rouge\">alpine</code>\n\n ⚙️ **To Update Alpine**\n \n ~~~bash\n apk update && apk upgrade\n ~~~`\n },\n {\n \"category\": \"Operating System\",\n\n \"title\": \"Arch LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://gitlab.archlinux.org/uploads/-/system/appearance/header_logo/1/lol2.png\n \" alt=\"Arch\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Arch Linux LXC </h1>\n Arch Linux is an independently developed, x86-64 general-purpose Linux distribution that strives to provide the latest stable versions of most software by command below a rolling-release model. The default installation is a minimal base system, configured by the user to only add what is purposely required.\n \n To create a new Proxmox Arch Linux LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/archlinux-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 1GB Storage - 1vCPU ⚡</h3>\n\n\n ⚙️ **Default Password** <code class=\"highlighter-rouge\">archlinux</code>\n \n ⚙️ **To get updated:**\n\n <code class=\"highlighter-rouge\">pacman-key --init</code>\n\n <code class=\"highlighter-rouge\">pacman-key --populate archlinux</code>\n\n <code class=\"highlighter-rouge\">pacman -Sy archlinux-keyring && pacman -Su</code>`\n },\n {\n \"category\": \"Server - Networking\",\n\n \"title\": \"Nginx Proxy Manager LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/nginxproxymanager.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Nginx Proxy Manager LXC </h1>\n \n [Nginx Proxy Manager](https://nginxproxymanager.com/) Expose your services easily and securely\n \n To create a new Proxmox Nginx Proxy Manager LXC Container, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Nginx Proxy Manager, run the command below in the <b>LXC Console</b>.\n ~~~yaml\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/nginxproxymanager-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 3GB Storage - 1vCPU ⚡</h3>\n \n Forward port <code class=\"highlighter-rouge\">80</code> and <code class=\"highlighter-rouge\">443</code> from your router to your Nginx Proxy Manager LXC IP.\n \n Add the command below to your <code class=\"highlighter-rouge\">configuration.yaml</code> in Home Assistant.\n ~~~yaml\n http:\n use_x_forwarded_for: true\n trusted_proxies:\n - 192.168.100.27 ###(Nginx Proxy Manager LXC IP)###\n ~~~\n \n **Nginx Proxy Manager Interface: IP:81**\n \n ⚙️ **Initial Login**\n \n **username** <code class=\"highlighter-rouge\">admin@example.com</code>\n \n **password** <code class=\"highlighter-rouge\">changeme</code>`\n\n },\n {\n \"category\": \"Server - Networking\",\n\n \"title\": \"YunoHost LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://yunohost.org/_images/ynh_logo_white_300dpi.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> YunoHost LXC </h1>\n \n YunoHost is an operating system aiming for the simplest administration of a server, and therefore democratize self-hosting, while making sure it stays reliable, secure, ethical and lightweight. \n \n To create a new Proxmox YunoHost LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/yunohost-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 20GB Storage - 2vCPU ⚡</h3>\n \n **YunoHost Interface: IP/**`\n \n },\n {\n \"category\": \"Server - Networking\",\n\n \"title\": \"UniFi Network Application LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fblog.ui.com%2Fwp-content%2Fuploads%2F2016%2F10%2Funifi-app-logo-300x108.png&f=1&nofb=1\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> UniFi Network Application LXC </h1>\n \n <h3 align=\"center\"> With Local Controller Option </h3>\n \n An application designed to optimize UniFi home and business networks with ease.\n \n To create a new Proxmox UniFi Network Application LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Unifi Network Application, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/unifi-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **UniFi Interface: (https)IP:8443**`\n \n },\n {\n \"category\": \"Server - Networking\",\n\n \"title\": \"Omada Controller LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://www.enterpriseitpro.net/wp-content/uploads/2020/12/logo-omada.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Omada Controller LXC </h1>\n \n Omada Controller is software which is used to manage the EAP\n \n To create a new Proxmox Omada Controller LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/omada-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **Omada Interface: (https)IP:8043**`\n \n },\n {\n \"category\": \"Server - Networking\",\n\n \"title\": \"WireGuard LXC\",\n \n \"content\": `<p align=\"center\"><img src=\"https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fcdn.icon-icons.com%2Ficons2%2F2699%2FPNG%2F512%2Fwireguard_logo_icon_168760.png&f=1&nofb=1\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> WireGuard LXC </h1>\n \n To create a new Proxmox WireGuard LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update WireGuard or Install a Dashboard, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/wireguard-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n ⚙️ **Host Configuration**\n \n ~~~yaml\n nano /etc/pivpn/wireguard/setupVars.conf\n ~~~\n ⚙️ **Add Clients** \n \n ~~~yaml\n pivpn add\n ~~~`\n\n },\n {\n \"category\": \"Server - Networking\",\n\n \"title\": \"Cronicle Primary LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/jhuckaby/Cronicle/blob/master/htdocs/images/logo-128.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Cronicle Primary LXC </h1>\n \n [Cronicle](https://github.com/jhuckaby/Cronicle) is a multi-server task scheduler and runner, with a web based front-end UI. It handles both scheduled, repeating and on-demand jobs, targeting any number of worker servers, with real-time stats and live log viewer. \n\n To create a new Proxmox Cronicle Primary LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Cronicle or Install Cronicle Worker, run the command below in a <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/cronicle-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n **Cronicle Primary Interface: IP:3012**\n\n ⚙️ Config Path\n ~~~bash\n /opt/cronicle/conf/config.json\n ~~~\n\n Primary and Worker Private Keys Must Match.`\n \n },\n {\n \"category\": \"Server - Networking\",\n\n \"title\": \"MeshCentral LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/Ylianst/MeshCentral/blob/master/public/favicon-303x303.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> MeshCentral LXC </h1>\n \n [MeshCentral](https://meshcentral.com/info/) is a full computer management web site. With MeshCentral, you can run your own web server to remotely manage and control computers on a local network or anywhere on the internet.\n \n To create a new Proxmox MeshCentral LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/meshcentral-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n **MeshCentral Interface: IP**`\n \n },\n {\n \"category\": \"Server - Networking\",\n\n \"title\": \"Tailscale\",\n \"content\": `<p align=\"center\"><img src=\"https://avatars.githubusercontent.com/u/48932923?v=4&s=100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Tailscale</h1>\n \n [Tailscale](https://tailscale.com/) Creates a secure network between your servers, computers, and cloud instances. Even when separated by firewalls or subnets, Tailscale just works.\n \n To Install Talescale on an existing LXC, run the command below in the <b>Proxmox Shell</b> (replace <code class=\"highlighter-rouge\">106</code> with your LXC ID).\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/add-tailscale-lxc.sh)\" -s 106\n ~~~\n After the script finishes, reboot the LXC then run <code class=\"highlighter-rouge\">tailscale up</code> in the LXC console\n \n [**Tailscale Login**](https://login.tailscale.com/start)`\n \n },\n {\n \"category\": \"Server - Networking\",\n\n \"title\": \"CrowdSec\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/crowdsecurity/crowdsec-docs/main/crowdsec-docs/static/img/crowdsec_no_txt.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> CrowdSec</h1>\n\n [CrowdSec](https://crowdsec.net/) is a free, open-source and collaborative IPS. Analyze behaviors, respond to attacks & share signals across the community.\n \n To Install CrowdSec, ⚠️ run the command below in the <b>LXC console</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/crowdsec.sh)\"\n ~~~\n \n [**Control center for your CrowdSec machines.**](https://app.crowdsec.net/product-tour)`\n },\n {\n \"category\": \"Server - Networking\",\n\n \"title\": \"Keycloak LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://www.keycloak.org/resources/images/keycloak_icon_512px.svg?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Keycloak LXC</h1>\n\n [Keycloak](https://www.keycloak.org/) is an Open Source Identity and Access Management solution for modern Applications and Services.\n \n To create a new Proxmox Keycloak LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/keycloak-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 4GB Storage - 2CPU ⚡</h3>\n\n **Keycloak Interface: IP:8080** (First start can take a few minutes)\n \n ⚙️ **Initial Login**\n \n The initial admin user can be added manually using the web frontend when accessed from localhost or automatically using environment variables.\n \n To add the initial admin user using environment variables, set <code class=\"highlighter-rouge\">KEYCLOAK_ADMIN</code> for the initial admin username and <code class=\"highlighter-rouge\">KEYCLOAK_ADMIN_PASSWORD</code> for the initial admin password.\n \n First, stop Keycloak\n ~~~bash\n systemctl stop keycloak.service\n ~~~\n then start Keycloak by coping & pasting the command below (only needed once)\n ~~~bash\n cd /opt/keycloak\n export KEYCLOAK_ADMIN=admin\n export KEYCLOAK_ADMIN_PASSWORD=changeme\n bin/kc.sh start-dev \n ~~~`\n },\n {\n \"category\": \"Server - Networking\",\n\n \"title\": \"Mikrotik RouterOS VM\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/mikrotik.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Mikrotik RouterOS VM </h1>\n \n [Mikrotik RouterOS](https://wiki.mikrotik.com/wiki/Manual:TOC) can be installed on a PC and will turn it into a router with all the necessary features - routing, firewall, bandwidth management, wireless access point, backhaul link, hotspot gateway, VPN server and more. \n \n To create a new Proxmox Mikrotik RouterOS VM, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/vm/mikrotik-routeros-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 2GB Storage - 1CPU ⚡</h3>\n\n Setup is done via VM console.\n\n ⚙️ **Initial Login**\n\n **username** <code class=\"highlighter-rouge\">admin</code>\n \n **password** <code class=\"highlighter-rouge\">no password</code>`\n },\n {\n \"category\": \"Media - Photo\",\n\n \"title\": \"Plex Media Server LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/plex-white.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Plex Media Server LXC </h1>\n <h3 align=\"center\" id=\"heading\"> With Hardware Acceleration Support </h3> \n \n To create a new Proxmox Plex Media Server LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Plex Media Server, run the command below in the <b>LXC Console</b>.\n\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/plex-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **Plex Media Server Interface: IP:32400/web**`\n \n },\n {\n \"category\": \"Media - Photo\",\n\n \"title\": \"Emby Media Server LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/home-assistant/brands/blob/master/core_integrations/emby/icon.png?raw=true\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\"> Emby Media Server LXC </h1>\n \n [Emby](https://emby.media/) brings together your personal videos, music, photos, and live television.\n \n To create a new Proxmox Emby Media Server LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Emby, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/emby-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **Emby Media Server Interface: IP:8096**`\n \n },\n {\n \"category\": \"Media - Photo\",\n\n \"title\": \"Jellyfin Media Server LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/home-assistant/brands/blob/master/core_integrations/jellyfin/icon.png?raw=true\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\"> Jellyfin Media Server LXC </h1>\n \n [TurnKey has a LXC CT for Jellyfin](https://www.turnkeylinux.org/mediaserver)\n \n To create a new Proxmox Jellyfin Media Server LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/jellyfin-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **Jellyfin Media Server Interface: IP:8096**\n \n FFmpeg path: <code class=\"highlighter-rouge\">/usr/lib/jellyfin-ffmpeg/ffmpeg</code>`\n \n },\n {\n \"category\": \"Media - Photo\",\n\n \n \"title\": \"NextCloudPi LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/nextcloud/nextcloudpi/blob/master/ncp-app/img/app.svg?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\">NextCloudPi LXC </h1>\n \n [NextCloudPi LXC](https://github.com/nextcloud/nextcloudpi#features) is the most popular self-hosted collaboration solution.\n \n To create a new Proxmox NextCloudPi LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/nextcloudpi-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **NextCloudPi Interface: (https)IP/**`\n },\n {\n \"category\": \"Media - Photo\",\n\n \"title\": \"OpenMediaVault LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/openmediavault.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> OpenMediaVault LXC </h1>\n \n [OpenMediaVault](https://www.openmediavault.org/) is the next generation network attached storage (NAS) solution based on Debian Linux.\n \n To create a new Proxmox OpenMediaVault LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/omv-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **OpenMediaVault Interface: IP**\n \n ⚙️ **Initial Login**\n \n **username** <code class=\"highlighter-rouge\">admin</code>\n \n **password** <code class=\"highlighter-rouge\">openmediavault</code>`\n },\n {\n \"category\": \"Media - Photo\",\n\n \"title\": \"Navidrome LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/navidrome/navidrome/master/resources/logo-192x192.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Navidrome LXC </h1>\n \n [Navidrome](https://www.navidrome.org/) allows you to enjoy your music collection from anywhere, by making it available through a modern Web UI and through a wide range of third-party compatible mobile apps, for both iOS and Android devices. \n \n To create a new Proxmox Navidrome LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Navidrome, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/navidrome-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n To change Navidrome music folder path, edit: <code class=\"highlighter-rouge\">/var/lib/navidrome/navidrome.toml</code>\n \n **Navidrome Interface: IP:4533**`\n \n },\n {\n \"category\": \"Media - Photo\",\n\n \"title\": \"PhotoPrism LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/tteck/Proxmox/blob/main/misc/images/photoprism.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> PhotoPrism LXC </h1>\n \n [PhotoPrism](https://photoprism.app/) is an AI-powered app for browsing, organizing & sharing your photo collection. \n \n To create a new Proxmox PhotoPrism LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update PhotoPrism, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/photoprism-v5.sh)\"\n ~~~\n The script builds from source, which takes time and resources. After the build, the script will automatically set resources to Normal Settings.\n <h3 align=\"center\" id=\"heading\">⚡ Build Settings: 4GB RAM - 8GB Storage - 4vCPU ⚡</h3>\n <h3 align=\"center\" id=\"heading\">⚡ Normal Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **PhotoPrism Interface: IP:2342**\n \n ⚙️ **Initial Login**\n \n **username** <code class=\"highlighter-rouge\">admin</code>\n \n **password** <code class=\"highlighter-rouge\">changeme</code>\n \n [PhotoSync](https://www.photosync-app.com/home.html)`\n \n },\n {\n \"category\": \"Media - Photo\",\n\n \n \"title\": \"Lidarr LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/Lidarr/Lidarr/develop/Logo/256.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\">Lidarr LXC </h1>\n \n [Lidarr](https://lidarr.audio/) is a music collection manager for Usenet and BitTorrent users.\n \n To create a new Proxmox Lidarr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/lidarr-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **Lidarr Interface: IP:8686**`\n },\n {\n \"category\": \"Media - Photo\",\n\n \n \"title\": \"Prowlarr LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/Prowlarr/Prowlarr/develop/Logo/256.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\">Prowlarr LXC </h1>\n \n [Prowlarr](https://github.com/Prowlarr/Prowlarr) is an indexer manager/proxy built on the popular *arr .net/reactjs base stack to integrate with your various PVR apps.\n \n To create a new Proxmox Prowlarr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/prowlarr-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **Prowlarr Interface: IP:9696**`\n },\n {\n \"category\": \"Media - Photo\",\n\n \n \"title\": \"Radarr LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/Radarr/Radarr/develop/Logo/256.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\">Radarr LXC </h1>\n \n [Radarr](https://radarr.video/) is a movie collection manager for Usenet and BitTorrent users.\n \n To create a new Proxmox Radarr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/radarr-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **Radarr Interface: IP:7878**`\n },\n {\n \"category\": \"Media - Photo\",\n\n \n \"title\": \"Readarr LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/Readarr/Readarr/develop/Logo/256.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\">Readarr LXC </h1>\n \n [Readarr](https://readarr.com/) is an eBook and audiobook collection manager for Usenet and BitTorrent users.\n \n To create a new Proxmox Radarr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/readarr-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **Readarr Interface: IP:8787**`\n },\n {\n \"category\": \"Media - Photo\",\n\n \n \"title\": \"Sonarr LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/Sonarr/Sonarr/develop/Logo/256.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\">Sonarr LXC </h1>\n \n [Sonarr](https://sonarr.tv/) is a PVR for Usenet and BitTorrent users.\n \n To create a new Proxmox Sonarr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/sonarr-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **Sonarr Interface: IP:8989**`\n },\n {\n \"category\": \"Media - Photo\",\n\n \n \"title\": \"Tdarr LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://tdarr.io/static/media/logo3.02a3f4a3.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\">Tdarr LXC </h1>\n \n [Tdarr](https://tdarr.io/) is a conditional based transcoding application for automating media library transcode/remux management.\n \n To create a new Proxmox Tdarr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/tdarr-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **Tdarr Interface: IP:8265**`\n },\n {\n \"category\": \"Media - Photo\",\n\n \n \"title\": \"Whisparr LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/Whisparr/Whisparr/develop/Logo/256.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\">Whisparr LXC </h1>\n \n [Whisparr](https://github.com/Whisparr/Whisparr) is an adult movie collection manager for Usenet and BitTorrent users.\n \n To create a new Proxmox Whisparr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/whisparr-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **Whisparr Interface: IP:6969**`\n },\n {\n \"category\": \"Ad Blocker - DNS\",\n\n \"title\": \"Pi-hole LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/home-assistant/brands/blob/master/core_integrations/pi_hole/icon.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Pi-hole LXC </h1>\n \n [Pi-hole](https://pi-hole.net/) is a Linux network-level advertisement and Internet tracker blocking application which acts as a DNS sinkhole and optionally a DHCP server.\n \n To create a new Proxmox Pi-hole LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/pihole-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n ⚠️ **Reboot Pi-hole LXC after install**\n \n **Pi-hole Interface: IP/admin**\n \n ⚙️ **To set your password:**\n \n ~~~yaml\n pihole -a -p\n ~~~`\n },\n {\n \"category\": \"Ad Blocker - DNS\",\n\n \"title\": \"Technitium DNS LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://avatars.githubusercontent.com/u/12230362?s=100&v=4\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Technitium DNS LXC </h1>\n An open source authoritative as well as recursive DNS server\n \n To create a new Proxmox Technitium DNS LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Technitium DNS, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/technitiumdns-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n **Technitium DNS Interface: IP:5380**`\n \n },\n {\n \"category\": \"Ad Blocker - DNS\",\n\n \"title\": \"AdGuard Home LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/home-assistant/brands/blob/master/core_integrations/adguard/icon.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> AdGuard Home LXC </h1>\n \n To create a new Proxmox AdGuard Home LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Manually Update AdGuard Home, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/adguard-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n **AdGuard Home Setup Interface: IP:3000 (After Setup use only IP)**\n \n <sub>(For the Home Assistant Integration, use port <code class=\"highlighter-rouge\">80</code> not <code class=\"highlighter-rouge\">3000</code>)</sub>`\n \n },\n {\n \"category\": \"Ad Blocker - DNS\",\n\n \"title\": \"Blocky LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/0xERR0R/blocky/blob/master/docs/blocky.svg?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Blocky LXC </h1>\n \n [Blocky](https://0xerr0r.github.io/blocky/) is a DNS proxy and ad-blocker for the local network written in Go. 🚨 For Advanced Users. No UI.\n \n To create a new Proxmox Blocky LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/blocky-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n \n ⚙️ **Blocky Config Path**\n \n ~~~yaml\n /opt/blocky/config.yml\n ~~~`\n },\n {\n \"category\": \"Document - Notes\",\n\n \"title\": \"Paperless-ngx LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/paperless-ngx/paperless-ngx/blob/main/resources/logo/web/svg/square.svg?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Paperless-ngx LXC </h1>\n \n [Paperless-ngx](https://paperless-ngx.readthedocs.io/en/latest/#) is a document management system that transforms your physical documents into a searchable online archive so you can keep, well, less paper.\n \n To create a new Proxmox Paperless-ngx LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Paperless-ngx or Show Paperless-ngx Credentials, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/paperless-ngx-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2048MiB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **Paperless-ngx Interface: IP:8000**`\n \n },\n {\n \"category\": \"Document - Notes\",\n\n \"title\": \"Trilium LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/zadam/trilium/master/images/app-icons/png/128x128.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Trilium LXC </h1>\n \n [Trilium](https://github.com/zadam/trilium#trilium-notes) is a hierarchical note taking application with focus on building large personal knowledge bases.\n \n To create a new Proxmox Trilium LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Trilium, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/trilium-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n **Trilium Interface: IP:8080**`\n \n },\n {\n \"category\": \"Document - Notes\",\n\n \"title\": \"Wiki.js LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://static.requarks.io/logo/wikijs-butterfly.svg?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Wiki.js LXC </h1>\n \n [Wiki.js](https://js.wiki/) is a modern, lightweight and powerful wiki app built on NodeJS. \n \n To create a new Proxmox Wiki.js LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Wiki.js, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/wikijs-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n **Wiki.js Interface: IP:3000**`\n },\n {\n \"category\": \"Document - Notes\",\n\n \n \"title\": \"NocoDB LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/tteck/Proxmox/blob/main/misc/images/nocodb.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> NocoDB LXC </h1>\n \n [NocoDB](https://www.nocodb.com/) is an open source #NoCode platform that turns any database into a smart spreadsheet. Airtable Alternative.\n \n To create a new Proxmox NocoDB LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update NocoDB, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/nocodb-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 1vCPU ⚡</h3>\n \n **NocoDB Interface: IP:8080/dashboard**`\n \n },\n {\n \"category\": \"Document - Notes\",\n \n \"title\": \"Kavita LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/Kareadita/Kavita/develop/Logo/kavita.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"Kavita\"> Kavita LXC </h1>\n \n [Kavita](https://www.kavitareader.com/) is a fast, feature rich, cross platform reading server. Built with a focus for manga, and the goal of being a full solution for all your reading needs.\n \n To create a new Proxmox Kavita LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/kavita-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **Kavita Interface: IP:5000**`\n \n },\n {\n \"category\": \"Dashboards\",\n\n \"title\": \"Heimdall Dashboard LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/tteck/Proxmox/blob/main/misc/images/heimdall.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Heimdall Dashboard LXC </h1>\n \n [Heimdall Application Dashboard](https://camo.githubusercontent.com/bcfd4f74c93b25bea7b14eacbafd649206bf754a3d4b596329968f0ee569cf3c/68747470733a2f2f692e696d6775722e636f6d2f4d72433451704e2e676966) is a dashboard for all your web applications. It doesn't need to be limited to applications though, you can add links to anything you like.\n \n To create a new Proxmox Heimdall Dashboard LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Heimdall Dashboard, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/heimdalldashboard-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n **Heimdall Dashboard Interface: IP:7990**`\n \n },\n {\n \"category\": \"Dashboards\",\n\n \"title\": \"Homepage LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/benphelps/homepage/raw/main/images/banner_light%402x.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Homepage LXC </h1>\n \n [Homepage](https://github.com/benphelps/homepage) is a self-hosted dashboard.\n \n To create a new Proxmox Homepage LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Homepage, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/homepage-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 3GB Storage - 2vCPU ⚡</h3>\n \n [Configuration](https://github.com/benphelps/homepage/wiki) (bookmarks.yaml, services.yaml, widgets.yaml) path: <code class=\"highlighter-rouge\">/opt/homepage/config/</code>\n \n **Homepage Interface: IP:3000**`\n \n },\n {\n \"category\": \"Dashboards\",\n\n \"title\": \"Homer LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/bastienwirtz/homer/main/public/assets/icons/logo.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Homer LXC </h1>\n \n [Homer](https://github.com/bastienwirtz/homer#---------homer) A dead simple static HOMepage for your servER to keep your services on hand, from a simple yaml configuration file.\n \n To create a new Proxmox Homer LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Homer, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/homer-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n\n **Homer Interface: IP:8010**\n \n ⚙️ **Config Path**\n \n ~~~yaml\n /opt/homer/assets/config.yml\n ~~~`\n \n },\n {\n \"category\": \"Dashboards\",\n\n \"title\": \"Dashy LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/Lissy93/dashy/raw/master/public/web-icons/dashy-logo.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Dashy LXC </h1>\n \n Dashy helps you organize your self-hosted services by making them accessible from a single place\n \n To create a new Proxmox Dashy LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Dashy, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/dashy-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 3GB Storage - 2vCPU ⚡</h3>\n \n **Dashy Interface: IP:4000**\n \n After getting everything setup the way you want in interactive mode and saved to disk, you have to go into update configuration and rebuild application.`\n \n },\n {\n \"category\": \"File - Code\",\n\n \"title\": \"File Browser\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/tteck/Proxmox/blob/main/misc/images/filebrowser.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> File Browser </h1>\n\n [File Browser](https://filebrowser.org/features) is a create-your-own-cloud-kind of software where you can install it on a server, direct it to a path and then access your files through a nice web interface. Many available features!\n \n To Install File Browser, ⚠️ run the command below in the LXC console.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/filebrowser.sh)\"\n ~~~\n \n **File Browser Interface: IP:8080**\n \n ⚙️ **Initial Login**\n \n **username** <code class=\"highlighter-rouge\">admin</code>\n\n **password** <code class=\"highlighter-rouge\">changeme</code>\n \n ⚙️ **To Update File Browser**\n \n ~~~yaml\n curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash\n ~~~`\n },\n {\n \"category\": \"File - Code\",\n\n \"title\": \"VS Code Server\",\n \"content\": `<p align=\"center\"><img src=\"https://user-images.githubusercontent.com/674621/71187801-14e60a80-2280-11ea-94c9-e56576f76baf.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> VS Code Server </h1>\n\n [VS Code Server](https://code.visualstudio.com/docs/remote/vscode-server) is a service you can run on a remote development machine, like your desktop PC or a virtual machine (VM). It allows you to securely connect to that remote machine from anywhere through a vscode.dev URL, without the requirement of SSH.\n \n To Install VS Code Server, ⚠️ run the command below in the <b>LXC console</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/code-server.sh)\"\n ~~~\n \n **VS Code Server Interface: IP:8680**`\n },\n {\n \"category\": \"File - Code\",\n\n \"title\": \"Deluge LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://dev.deluge-torrent.org/chrome/common/deluge_logo.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Deluge LXC </h1>\n\n [Deluge](https://www.deluge-torrent.org/) is a lightweight, Free Software, cross-platform BitTorrent client.\n \n To create a new Proxmox Deluge LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/deluge-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n\n ⚙️ **Initial Login**\n\n **password** <code class=\"highlighter-rouge\">deluge</code>\n\n **Deluge Interface: IP:8112**`\n },\n {\n \"category\": \"File - Code\",\n\n \"title\": \"Autobrr LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/autobrr/autobrr/master/.github/images/logo.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Autobrr LXC </h1>\n\n [Autobrr](https://autobrr.com/) is the modern download automation tool for torrents.\n \n To create a new Proxmox Autobrr LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Autobrr, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/autobrr-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n\n **Autobrr Interface: IP:7474**`\n },\n {\n \"category\": \"File - Code\",\n\n \"title\": \"SABnzbd LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/sabnzbd/sabnzbd/develop/icons/logo-arrow.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> SABnzbd LXC </h1>\n\n [SABnzbd](https://sabnzbd.org/) is a free and easy binary newsreader.\n \n To create a new Proxmox SABnzbd LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/sabnzbd-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n\n **SABnzbd Interface: IP:7777**`\n },\n {\n \"category\": \"File - Code\",\n\n \"title\": \"Webmin System Administration\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/webmin/webmin/blob/master/images/webmin-blue.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Webmin System Administration </h1>\n\n If you prefer to manage all aspects of your Proxmox LXC from a graphical interface instead of the command line interface, Webmin might be right for you.\n Benefits include automatic daily security updates, backup and restore, file manager with editor, web control panel, and preconfigured system monitoring with optional email alerts.\n \n To Install Webmin System Administration, ⚠️ run the command below in the <b>LXC console</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/webmin.sh)\"\n ~~~\n \n **Webmin Interface: (https)IP:10000**\n \n ⚙️ **Initial Login**\n \n **username** <code class=\"highlighter-rouge\">root</code>\n \n **password** <code class=\"highlighter-rouge\">root</code>\n \n ⚙️ **To Update Webmin**\n \n <code class=\"highlighter-rouge\">Update from the Webmin UI</code>\n \n ⚙️ **To Uninstall Webmin**\n \n ~~~yaml\n bash /etc/webmin/uninstall.sh\n ~~~`\n },\n {\n \"category\": \"File - Code\",\n\n \"title\": \"Syncthing LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/syncthing/syncthing/6afaa9f20c8eb9c7af5abbe2f2d90fa2571aa7ad/assets/logo-only.svg?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Syncthing LXC </h1>\n \n [Syncthing](https://syncthing.net/) is a continuous file synchronization program. It synchronizes files between two or more computers.\n \n To create a new Proxmox Syncthing LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/syncthing-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **Syncthing Interface: IP:8384**`\n \n },\n {\n \"category\": \"File - Code\",\n\n \"title\": \"Daemon Sync Server LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fimg.informer.com%2Ficons_mac%2Fpng%2F128%2F350%2F350335.png&f=1&nofb=1\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Daemon Sync Server LXC </h1>\n \n Sync files from app to server, share photos & videos, back up your data and stay secure inside local network.\n \n To create a new Proxmox Daemon Sync Server LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/daemonsync-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 8GB Storage - 1vCPU ⚡</h3>\n \n **Daemon Sync Server Interface: IP:8084**\n \n Search: <code class=\"highlighter-rouge\">DAEMON Sync</code> in your favorite app store`\n },\n {\n \"category\": \"Miscellaneous\",\n\n \"title\": \"Vaultwarden LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/dani-garcia/vaultwarden/main/resources/vaultwarden-icon-white.svg\" width=\"100\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Vaultwarden LXC </h1>\n \n Alternative implementation of the Bitwarden server API written in Rust and compatible with upstream [Bitwarden clients](https://bitwarden.com/download/), perfect for self-hosted deployment where running the official resource-heavy service might not be ideal.\n \n To create a new Proxmox Vaultwarden LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Vaultwarden, Web-Vault or Show Admin Token, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/vaultwarden-v5.sh)\"\n ~~~\n ⚠️ Vaultwarden needs to be behind a proxy (Nginx Proxy Manager) to obtain HTTPS and to allow clients to connect.\n \n The script builds from source, which takes time and resources. After the build, the script will automatically set resources to Normal Settings. \n \n <h3 align=\"center\" id=\"heading\">⚡ Build Settings: 4GB RAM - 6GB Storage - 4vCPU ⚡</h3>\n <h3 align=\"center\" id=\"heading\">⚡ Normal Settings: 512Mib RAM - 6GB Storage - 1vCPU ⚡</h3>\n \n **Vaultwarden Interface: IP:8000**\n \n **Vaultwarden Admin Interface: IP:8000/admin**`\n \n },\n {\n \"category\": \"Miscellaneous\",\n\n \"title\": \"grocy LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://grocy.info/img/grocy_logo.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> grocy LXC </h1>\n \n [grocy](https://grocy.info/) is a web-based self-hosted groceries & household management solution for your home.\n \n To create a new Proxmox grocy LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update grocy, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/grocy-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n **grocy Interface: IP**\n \n ⚙️ **Initial Login**\n \n **username** <code class=\"highlighter-rouge\">admin</code>\n \n **password** <code class=\"highlighter-rouge\">admin</code>`\n \n },\n {\n \"category\": \"Miscellaneous\",\n\n \"title\": \"MagicMirror Server LXC\",\n \n \"content\": `<p align=\"center\"><img src=\"https://github.com/MichMich/MagicMirror/raw/master/.github/header.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> MagicMirror Server LXC </h1>\n \n [MagicMirror²](https://docs.magicmirror.builders/) is an open source modular smart mirror platform.\n \n To create a new MagicMirror Server LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update MagicMirror, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/magicmirror-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 3GB Storage - 1vCPU ⚡</h3>\n \n **MagicMirror Interface: IP:8080**\n \n ⚙️ **[Configuration](https://docs.magicmirror.builders/configuration/introduction.html#configuring-your-magicmirror)**\n ~~~yaml\n /opt/magicmirror/config/config.js\n ~~~`\n\n },\n {\n \"category\": \"Miscellaneous\",\n\n \"title\": \"Whoogle LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/tteck/Proxmox/blob/main/misc/images/whoogle.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Whoogle LXC </h1>\n \n Get Google search results, but without any ads, javascript, AMP links, cookies, or IP address tracking.\n \n To create a new Proxmox Whoogle LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Whoogle, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/whoogle-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n **Whoogle Interface: IP:5000**`\n \n },\n {\n \"category\": \"Miscellaneous\",\n\n \"title\": \"Shinobi NVR LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://gitlab.com/uploads/-/system/project/avatar/6947723/mstile-150x150.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Shinobi NVR LXC </h1>\n \n To create a new Proxmox Shinobi NVR LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Shinobi, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/shinobi-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **Shinobi Interface: IP:8080**\n\n **Shinobi Admin Interface: IP:8080/super**\n \n ⚙️ **Initial Admin Login**\n \n **username** <code class=\"highlighter-rouge\">admin@shinobi.video</code>\n \n **password** <code class=\"highlighter-rouge\">admin</code>`\n \n},\n{\n \"category\": \"Miscellaneous\",\n\n \"title\": \"MotionEye NVR LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/home-assistant/brands/blob/master/core_integrations/motioneye/icon.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> MotionEye NVR LXC </h1>\n \n To create a new Proxmox MotionEye NVR LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update MotionEye, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/motioneye-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **MotionEye Interface: IP:8765**\n \n ⚙️ **Initial Login**\n \n **username** <code class=\"highlighter-rouge\">admin</code>\n \n **password** <code class=\"highlighter-rouge\"> </code>`\n \n},\n{\n \"category\": \"Miscellaneous\",\n\n \"title\": \"Hyperion LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/hyperion-project/hyperion.ng/raw/master/doc/logo_dark.png?raw=true\" height=\"100\"/></p>\n\n<h1 align=\"center\" id=\"heading\"> Hyperion LXC </h1>\n\nHyperion is an opensource Ambient Lighting implementation. It supports many LED devices and video grabbers.\n\nTo create a new Proxmox Hyperion LXC, run the command below in the <b>Proxmox Shell</b>.\n\n~~~bash\nbash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/hyperion-v5.sh)\"\n~~~\n\n<h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n\n**Hyperion Interface: IP:8090**`\n\n}\n ]\n}\n \nexport default data;","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return possibleConstructorReturn(this, result);\n };\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","/**\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Position} Position\n * @typedef {object & {type: string, position?: Position|undefined}} NodeLike\n */\n\n/**\n * Stringify one point, a position (start and end points), or a node’s\n * positional information.\n *\n * @param {Node|NodeLike|Position|Point|null} [value]\n * @returns {string}\n */\nexport function stringifyPosition(value) {\n // Nothing.\n if (!value || typeof value !== 'object') {\n return ''\n }\n\n // Node.\n if ('position' in value || 'type' in value) {\n return position(value.position)\n }\n\n // Position.\n if ('start' in value || 'end' in value) {\n return position(value)\n }\n\n // Point.\n if ('line' in value || 'column' in value) {\n return point(value)\n }\n\n // ?\n return ''\n}\n\n/**\n * @param {Point|undefined} point\n * @returns {string}\n */\nfunction point(point) {\n return index(point && point.line) + ':' + index(point && point.column)\n}\n\n/**\n * @param {Position|undefined} pos\n * @returns {string}\n */\nfunction position(pos) {\n return point(pos && pos.start) + '-' + point(pos && pos.end)\n}\n\n/**\n * @param {number|undefined} value\n * @returns {number}\n */\nfunction index(value) {\n return value && typeof value === 'number' ? value : 1\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n * @typedef {object & {type: string, position?: Position|undefined}} NodeLike\n */\n\nimport {stringifyPosition} from 'unist-util-stringify-position'\n\nexport class VFileMessage extends Error {\n /**\n * Constructor of a message for `reason` at `place` from `origin`.\n * When an error is passed in as `reason`, copies the `stack`.\n *\n * @param {string|Error} reason Reason for message (`string` or `Error`). Uses the stack and message of the error if given.\n * @param {Node|NodeLike|Position|Point} [place] Place at which the message occurred in a file (`Node`, `Position`, or `Point`, optional).\n * @param {string} [origin] Place in code the message originates from (`string`, optional).\n */\n constructor(reason, place, origin) {\n /** @type {[string|null, string|null]} */\n const parts = [null, null]\n /** @type {Position} */\n let position = {\n // @ts-expect-error: we always follows the structure of `position`.\n start: {line: null, column: null},\n // @ts-expect-error: \"\n end: {line: null, column: null}\n }\n\n super()\n\n if (typeof place === 'string') {\n origin = place\n place = undefined\n }\n\n if (typeof origin === 'string') {\n const index = origin.indexOf(':')\n\n if (index === -1) {\n parts[1] = origin\n } else {\n parts[0] = origin.slice(0, index)\n parts[1] = origin.slice(index + 1)\n }\n }\n\n if (place) {\n // Node.\n if ('type' in place || 'position' in place) {\n if (place.position) {\n position = place.position\n }\n }\n // Position.\n else if ('start' in place || 'end' in place) {\n position = place\n }\n // Point.\n else if ('line' in place || 'column' in place) {\n position.start = place\n }\n }\n\n // Fields from `Error`\n this.name = stringifyPosition(place) || '1:1'\n this.message = typeof reason === 'object' ? reason.message : reason\n this.stack = typeof reason === 'object' ? reason.stack : ''\n\n /**\n * Reason for message.\n * @type {string}\n */\n this.reason = this.message\n /**\n * If true, marks associated file as no longer processable.\n * @type {boolean?}\n */\n // eslint-disable-next-line no-unused-expressions\n this.fatal\n /**\n * Starting line of error.\n * @type {number?}\n */\n this.line = position.start.line\n /**\n * Starting column of error.\n * @type {number?}\n */\n this.column = position.start.column\n /**\n * Namespace of warning.\n * @type {string?}\n */\n this.source = parts[0]\n /**\n * Category of message.\n * @type {string?}\n */\n this.ruleId = parts[1]\n /**\n * Full range information, when available.\n * Has start and end properties, both set to an object with line and column, set to number?.\n * @type {Position?}\n */\n this.position = position\n\n // The following fields are “well known”.\n // Not standard.\n // Feel free to add other non-standard fields to your messages.\n\n /* eslint-disable no-unused-expressions */\n /**\n * You can use this to specify the source value that’s being reported, which\n * is deemed incorrect.\n * @type {string?}\n */\n this.actual\n /**\n * You can use this to suggest values that should be used instead of\n * `actual`, one or more values that are deemed as acceptable.\n * @type {Array<string>?}\n */\n this.expected\n /**\n * You may add a file property with a path of a file (used throughout the VFile ecosystem).\n * @type {string?}\n */\n this.file\n /**\n * You may add a url property with a link to documentation for the message.\n * @type {string?}\n */\n this.url\n /**\n * You may add a note property with a long form description of the message (supported by vfile-reporter).\n * @type {string?}\n */\n this.note\n /* eslint-enable no-unused-expressions */\n }\n}\n\nVFileMessage.prototype.file = ''\nVFileMessage.prototype.name = ''\nVFileMessage.prototype.reason = ''\nVFileMessage.prototype.message = ''\nVFileMessage.prototype.stack = ''\nVFileMessage.prototype.fatal = null\nVFileMessage.prototype.column = null\nVFileMessage.prototype.line = null\nVFileMessage.prototype.source = null\nVFileMessage.prototype.ruleId = null\nVFileMessage.prototype.position = null\n","// A derivative work based on:\n// <https://github.com/browserify/path-browserify>.\n// Which is licensed:\n//\n// MIT License\n//\n// Copyright (c) 2013 James Halliday\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy of\n// this software and associated documentation files (the \"Software\"), to deal in\n// the Software without restriction, including without limitation the rights to\n// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n// the Software, and to permit persons to whom the Software is furnished to do so,\n// subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A derivative work based on:\n//\n// Parts of that are extracted from Node’s internal `path` module:\n// <https://github.com/nodejs/node/blob/master/lib/path.js>.\n// Which is licensed:\n//\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nexport const path = {basename, dirname, extname, join, sep: '/'}\n\n/* eslint-disable max-depth, complexity */\n\n/**\n * @param {string} path\n * @param {string} [ext]\n * @returns {string}\n */\nfunction basename(path, ext) {\n if (ext !== undefined && typeof ext !== 'string') {\n throw new TypeError('\"ext\" argument must be a string')\n }\n\n assertPath(path)\n let start = 0\n let end = -1\n let index = path.length\n /** @type {boolean|undefined} */\n let seenNonSlash\n\n if (ext === undefined || ext.length === 0 || ext.length > path.length) {\n while (index--) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // path component.\n seenNonSlash = true\n end = index + 1\n }\n }\n\n return end < 0 ? '' : path.slice(start, end)\n }\n\n if (ext === path) {\n return ''\n }\n\n let firstNonSlashEnd = -1\n let extIndex = ext.length - 1\n\n while (index--) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else {\n if (firstNonSlashEnd < 0) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching.\n seenNonSlash = true\n firstNonSlashEnd = index + 1\n }\n\n if (extIndex > -1) {\n // Try to match the explicit extension.\n if (path.charCodeAt(index) === ext.charCodeAt(extIndex--)) {\n if (extIndex < 0) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = index\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extIndex = -1\n end = firstNonSlashEnd\n }\n }\n }\n }\n\n if (start === end) {\n end = firstNonSlashEnd\n } else if (end < 0) {\n end = path.length\n }\n\n return path.slice(start, end)\n}\n\n/**\n * @param {string} path\n * @returns {string}\n */\nfunction dirname(path) {\n assertPath(path)\n\n if (path.length === 0) {\n return '.'\n }\n\n let end = -1\n let index = path.length\n /** @type {boolean|undefined} */\n let unmatchedSlash\n\n // Prefix `--` is important to not run on `0`.\n while (--index) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n if (unmatchedSlash) {\n end = index\n break\n }\n } else if (!unmatchedSlash) {\n // We saw the first non-path separator\n unmatchedSlash = true\n }\n }\n\n return end < 0\n ? path.charCodeAt(0) === 47 /* `/` */\n ? '/'\n : '.'\n : end === 1 && path.charCodeAt(0) === 47 /* `/` */\n ? '//'\n : path.slice(0, end)\n}\n\n/**\n * @param {string} path\n * @returns {string}\n */\nfunction extname(path) {\n assertPath(path)\n\n let index = path.length\n\n let end = -1\n let startPart = 0\n let startDot = -1\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find.\n let preDotState = 0\n /** @type {boolean|undefined} */\n let unmatchedSlash\n\n while (index--) {\n const code = path.charCodeAt(index)\n\n if (code === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (unmatchedSlash) {\n startPart = index + 1\n break\n }\n\n continue\n }\n\n if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // extension.\n unmatchedSlash = true\n end = index + 1\n }\n\n if (code === 46 /* `.` */) {\n // If this is our first dot, mark it as the start of our extension.\n if (startDot < 0) {\n startDot = index\n } else if (preDotState !== 1) {\n preDotState = 1\n }\n } else if (startDot > -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension.\n preDotState = -1\n }\n }\n\n if (\n startDot < 0 ||\n end < 0 ||\n // We saw a non-dot character immediately before the dot.\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly `..`.\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n return ''\n }\n\n return path.slice(startDot, end)\n}\n\n/**\n * @param {Array<string>} segments\n * @returns {string}\n */\nfunction join(...segments) {\n let index = -1\n /** @type {string|undefined} */\n let joined\n\n while (++index < segments.length) {\n assertPath(segments[index])\n\n if (segments[index]) {\n joined =\n joined === undefined ? segments[index] : joined + '/' + segments[index]\n }\n }\n\n return joined === undefined ? '.' : normalize(joined)\n}\n\n/**\n * Note: `normalize` is not exposed as `path.normalize`, so some code is\n * manually removed from it.\n *\n * @param {string} path\n * @returns {string}\n */\nfunction normalize(path) {\n assertPath(path)\n\n const absolute = path.charCodeAt(0) === 47 /* `/` */\n\n // Normalize the path according to POSIX rules.\n let value = normalizeString(path, !absolute)\n\n if (value.length === 0 && !absolute) {\n value = '.'\n }\n\n if (value.length > 0 && path.charCodeAt(path.length - 1) === 47 /* / */) {\n value += '/'\n }\n\n return absolute ? '/' + value : value\n}\n\n/**\n * Resolve `.` and `..` elements in a path with directory names.\n *\n * @param {string} path\n * @param {boolean} allowAboveRoot\n * @returns {string}\n */\nfunction normalizeString(path, allowAboveRoot) {\n let result = ''\n let lastSegmentLength = 0\n let lastSlash = -1\n let dots = 0\n let index = -1\n /** @type {number|undefined} */\n let code\n /** @type {number} */\n let lastSlashIndex\n\n while (++index <= path.length) {\n if (index < path.length) {\n code = path.charCodeAt(index)\n } else if (code === 47 /* `/` */) {\n break\n } else {\n code = 47 /* `/` */\n }\n\n if (code === 47 /* `/` */) {\n if (lastSlash === index - 1 || dots === 1) {\n // Empty.\n } else if (lastSlash !== index - 1 && dots === 2) {\n if (\n result.length < 2 ||\n lastSegmentLength !== 2 ||\n result.charCodeAt(result.length - 1) !== 46 /* `.` */ ||\n result.charCodeAt(result.length - 2) !== 46 /* `.` */\n ) {\n if (result.length > 2) {\n lastSlashIndex = result.lastIndexOf('/')\n\n if (lastSlashIndex !== result.length - 1) {\n if (lastSlashIndex < 0) {\n result = ''\n lastSegmentLength = 0\n } else {\n result = result.slice(0, lastSlashIndex)\n lastSegmentLength = result.length - 1 - result.lastIndexOf('/')\n }\n\n lastSlash = index\n dots = 0\n continue\n }\n } else if (result.length > 0) {\n result = ''\n lastSegmentLength = 0\n lastSlash = index\n dots = 0\n continue\n }\n }\n\n if (allowAboveRoot) {\n result = result.length > 0 ? result + '/..' : '..'\n lastSegmentLength = 2\n }\n } else {\n if (result.length > 0) {\n result += '/' + path.slice(lastSlash + 1, index)\n } else {\n result = path.slice(lastSlash + 1, index)\n }\n\n lastSegmentLength = index - lastSlash - 1\n }\n\n lastSlash = index\n dots = 0\n } else if (code === 46 /* `.` */ && dots > -1) {\n dots++\n } else {\n dots = -1\n }\n }\n\n return result\n}\n\n/**\n * @param {string} path\n */\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError(\n 'Path must be a string. Received ' + JSON.stringify(path)\n )\n }\n}\n\n/* eslint-enable max-depth, complexity */\n","// Somewhat based on:\n// <https://github.com/defunctzombie/node-process/blob/master/browser.js>.\n// But I don’t think one tiny line of code can be copyrighted. 😅\nexport const proc = {cwd}\n\nfunction cwd() {\n return '/'\n}\n","/**\n * @typedef URL\n * @property {string} hash\n * @property {string} host\n * @property {string} hostname\n * @property {string} href\n * @property {string} origin\n * @property {string} password\n * @property {string} pathname\n * @property {string} port\n * @property {string} protocol\n * @property {string} search\n * @property {any} searchParams\n * @property {string} username\n * @property {() => string} toString\n * @property {() => string} toJSON\n */\n\n/**\n * @param {unknown} fileURLOrPath\n * @returns {fileURLOrPath is URL}\n */\n// From: <https://github.com/nodejs/node/blob/fcf8ba4/lib/internal/url.js#L1501>\nexport function isUrl(fileURLOrPath) {\n return (\n fileURLOrPath !== null &&\n typeof fileURLOrPath === 'object' &&\n // @ts-expect-error: indexable.\n fileURLOrPath.href &&\n // @ts-expect-error: indexable.\n fileURLOrPath.origin\n )\n}\n","/// <reference lib=\"dom\" />\n\nimport {isUrl} from './minurl.shared.js'\n\n// See: <https://github.com/nodejs/node/blob/fcf8ba4/lib/internal/url.js>\n\n/**\n * @param {string|URL} path\n */\nexport function urlToPath(path) {\n if (typeof path === 'string') {\n path = new URL(path)\n } else if (!isUrl(path)) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'The \"path\" argument must be of type string or an instance of URL. Received `' +\n path +\n '`'\n )\n error.code = 'ERR_INVALID_ARG_TYPE'\n throw error\n }\n\n if (path.protocol !== 'file:') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError('The URL must be of scheme file')\n error.code = 'ERR_INVALID_URL_SCHEME'\n throw error\n }\n\n return getPathFromURLPosix(path)\n}\n\n/**\n * @param {URL} url\n */\nfunction getPathFromURLPosix(url) {\n if (url.hostname !== '') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL host must be \"localhost\" or empty on darwin'\n )\n error.code = 'ERR_INVALID_FILE_URL_HOST'\n throw error\n }\n\n const pathname = url.pathname\n let index = -1\n\n while (++index < pathname.length) {\n if (\n pathname.charCodeAt(index) === 37 /* `%` */ &&\n pathname.charCodeAt(index + 1) === 50 /* `2` */\n ) {\n const third = pathname.charCodeAt(index + 2)\n if (third === 70 /* `F` */ || third === 102 /* `f` */) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL path must not include encoded / characters'\n )\n error.code = 'ERR_INVALID_FILE_URL_PATH'\n throw error\n }\n }\n }\n\n return decodeURIComponent(pathname)\n}\n\nexport {isUrl} from './minurl.shared.js'\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n * @typedef {Record<string, unknown> & {type: string, position?: Position|undefined}} NodeLike\n * @typedef {import('./minurl.shared.js').URL} URL\n * @typedef {import('../index.js').Data} Data\n * @typedef {import('../index.js').Value} Value\n *\n * @typedef {'ascii'|'utf8'|'utf-8'|'utf16le'|'ucs2'|'ucs-2'|'base64'|'base64url'|'latin1'|'binary'|'hex'} BufferEncoding\n * Encodings supported by the buffer class.\n * This is a copy of the typing from Node, copied to prevent Node globals from\n * being needed.\n * Copied from: <https://github.com/DefinitelyTyped/DefinitelyTyped/blob/90a4ec8/types/node/buffer.d.ts#L170>\n *\n * @typedef {Value|Options|VFile|URL} Compatible\n * Things that can be passed to the constructor.\n *\n * @typedef VFileCoreOptions\n * @property {Value} [value]\n * @property {string} [cwd]\n * @property {Array<string>} [history]\n * @property {string|URL} [path]\n * @property {string} [basename]\n * @property {string} [stem]\n * @property {string} [extname]\n * @property {string} [dirname]\n * @property {Data} [data]\n *\n * @typedef Map\n * Raw source map, see:\n * <https://github.com/mozilla/source-map/blob/58819f0/source-map.d.ts#L15-L23>.\n * @property {number} version\n * @property {Array<string>} sources\n * @property {Array<string>} names\n * @property {string|undefined} [sourceRoot]\n * @property {Array<string>|undefined} [sourcesContent]\n * @property {string} mappings\n * @property {string} file\n *\n * @typedef {{[key: string]: unknown} & VFileCoreOptions} Options\n * Configuration: a bunch of keys that will be shallow copied over to the new\n * file.\n *\n * @typedef {Record<string, unknown>} ReporterSettings\n * @typedef {<T = ReporterSettings>(files: Array<VFile>, options: T) => string} Reporter\n */\n\nimport buffer from 'is-buffer'\nimport {VFileMessage} from 'vfile-message'\nimport {path} from './minpath.js'\nimport {proc} from './minproc.js'\nimport {urlToPath, isUrl} from './minurl.js'\n\n// Order of setting (least specific to most), we need this because otherwise\n// `{stem: 'a', path: '~/b.js'}` would throw, as a path is needed before a\n// stem can be set.\nconst order = ['history', 'path', 'basename', 'stem', 'extname', 'dirname']\n\nexport class VFile {\n /**\n * Create a new virtual file.\n *\n * If `options` is `string` or `Buffer`, it’s treated as `{value: options}`.\n * If `options` is a `URL`, it’s treated as `{path: options}`.\n * If `options` is a `VFile`, shallow copies its data over to the new file.\n * All fields in `options` are set on the newly created `VFile`.\n *\n * Path related fields are set in the following order (least specific to\n * most specific): `history`, `path`, `basename`, `stem`, `extname`,\n * `dirname`.\n *\n * It’s not possible to set either `dirname` or `extname` without setting\n * either `history`, `path`, `basename`, or `stem` as well.\n *\n * @param {Compatible} [value]\n */\n constructor(value) {\n /** @type {Options} */\n let options\n\n if (!value) {\n options = {}\n } else if (typeof value === 'string' || buffer(value)) {\n // @ts-expect-error Looks like a buffer.\n options = {value}\n } else if (isUrl(value)) {\n options = {path: value}\n } else {\n // @ts-expect-error Looks like file or options.\n options = value\n }\n\n /**\n * Place to store custom information (default: `{}`).\n * It’s OK to store custom data directly on the file but moving it to\n * `data` is recommended.\n * @type {Data}\n */\n this.data = {}\n\n /**\n * List of messages associated with the file.\n * @type {Array<VFileMessage>}\n */\n this.messages = []\n\n /**\n * List of filepaths the file moved between.\n * The first is the original path and the last is the current path.\n * @type {Array<string>}\n */\n this.history = []\n\n /**\n * Base of `path` (default: `process.cwd()` or `'/'` in browsers).\n * @type {string}\n */\n this.cwd = proc.cwd()\n\n /* eslint-disable no-unused-expressions */\n /**\n * Raw value.\n * @type {Value}\n */\n this.value\n\n // The below are non-standard, they are “well-known”.\n // As in, used in several tools.\n\n /**\n * Whether a file was saved to disk.\n * This is used by vfile reporters.\n * @type {boolean}\n */\n this.stored\n\n /**\n * Sometimes files have a non-string, compiled, representation.\n * This can be stored in the `result` field.\n * One example is when turning markdown into React nodes.\n * This is used by unified to store non-string results.\n * @type {unknown}\n */\n this.result\n\n /**\n * Sometimes files have a source map associated with them.\n * This can be stored in the `map` field.\n * This should be a `Map` type, which is equivalent to the `RawSourceMap`\n * type from the `source-map` module.\n * @type {Map|undefined}\n */\n this.map\n /* eslint-enable no-unused-expressions */\n\n // Set path related properties in the correct order.\n let index = -1\n\n while (++index < order.length) {\n const prop = order[index]\n\n // Note: we specifically use `in` instead of `hasOwnProperty` to accept\n // `vfile`s too.\n if (prop in options && options[prop] !== undefined) {\n // @ts-expect-error: TS is confused by the different types for `history`.\n this[prop] = prop === 'history' ? [...options[prop]] : options[prop]\n }\n }\n\n /** @type {string} */\n let prop\n\n // Set non-path related properties.\n for (prop in options) {\n // @ts-expect-error: fine to set other things.\n if (!order.includes(prop)) this[prop] = options[prop]\n }\n }\n\n /**\n * Get the full path (example: `'~/index.min.js'`).\n * @returns {string}\n */\n get path() {\n return this.history[this.history.length - 1]\n }\n\n /**\n * Set the full path (example: `'~/index.min.js'`).\n * Cannot be nullified.\n * You can set a file URL (a `URL` object with a `file:` protocol) which will\n * be turned into a path with `url.fileURLToPath`.\n * @param {string|URL} path\n */\n set path(path) {\n if (isUrl(path)) {\n path = urlToPath(path)\n }\n\n assertNonEmpty(path, 'path')\n\n if (this.path !== path) {\n this.history.push(path)\n }\n }\n\n /**\n * Get the parent path (example: `'~'`).\n */\n get dirname() {\n return typeof this.path === 'string' ? path.dirname(this.path) : undefined\n }\n\n /**\n * Set the parent path (example: `'~'`).\n * Cannot be set if there’s no `path` yet.\n */\n set dirname(dirname) {\n assertPath(this.basename, 'dirname')\n this.path = path.join(dirname || '', this.basename)\n }\n\n /**\n * Get the basename (including extname) (example: `'index.min.js'`).\n */\n get basename() {\n return typeof this.path === 'string' ? path.basename(this.path) : undefined\n }\n\n /**\n * Set basename (including extname) (`'index.min.js'`).\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n */\n set basename(basename) {\n assertNonEmpty(basename, 'basename')\n assertPart(basename, 'basename')\n this.path = path.join(this.dirname || '', basename)\n }\n\n /**\n * Get the extname (including dot) (example: `'.js'`).\n */\n get extname() {\n return typeof this.path === 'string' ? path.extname(this.path) : undefined\n }\n\n /**\n * Set the extname (including dot) (example: `'.js'`).\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be set if there’s no `path` yet.\n */\n set extname(extname) {\n assertPart(extname, 'extname')\n assertPath(this.dirname, 'extname')\n\n if (extname) {\n if (extname.charCodeAt(0) !== 46 /* `.` */) {\n throw new Error('`extname` must start with `.`')\n }\n\n if (extname.includes('.', 1)) {\n throw new Error('`extname` cannot contain multiple dots')\n }\n }\n\n this.path = path.join(this.dirname, this.stem + (extname || ''))\n }\n\n /**\n * Get the stem (basename w/o extname) (example: `'index.min'`).\n */\n get stem() {\n return typeof this.path === 'string'\n ? path.basename(this.path, this.extname)\n : undefined\n }\n\n /**\n * Set the stem (basename w/o extname) (example: `'index.min'`).\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n */\n set stem(stem) {\n assertNonEmpty(stem, 'stem')\n assertPart(stem, 'stem')\n this.path = path.join(this.dirname || '', stem + (this.extname || ''))\n }\n\n /**\n * Serialize the file.\n *\n * @param {BufferEncoding} [encoding='utf8']\n * When `value` is a `Buffer`, `encoding` is a character encoding to\n * understand it as (default: `'utf8'`).\n * @returns {string}\n * Serialized file.\n */\n toString(encoding) {\n return (this.value || '').toString(encoding)\n }\n\n /**\n * Constructs a new `VFileMessage`, where `fatal` is set to `false`, and\n * associates it with the file by adding it to `vfile.messages` and setting\n * `message.file` to the current filepath.\n *\n * @param {string|Error} reason\n * Human readable reason for the message, uses the stack and message of the error if given.\n * @param {Node|NodeLike|Position|Point} [place]\n * Place where the message occurred in the file.\n * @param {string} [origin]\n * Computer readable reason for the message\n * @returns {VFileMessage}\n * Message.\n */\n message(reason, place, origin) {\n const message = new VFileMessage(reason, place, origin)\n\n if (this.path) {\n message.name = this.path + ':' + message.name\n message.file = this.path\n }\n\n message.fatal = false\n\n this.messages.push(message)\n\n return message\n }\n\n /**\n * Like `VFile#message()`, but associates an informational message where\n * `fatal` is set to `null`.\n *\n * @param {string|Error} reason\n * Human readable reason for the message, uses the stack and message of the error if given.\n * @param {Node|NodeLike|Position|Point} [place]\n * Place where the message occurred in the file.\n * @param {string} [origin]\n * Computer readable reason for the message\n * @returns {VFileMessage}\n * Message.\n */\n info(reason, place, origin) {\n const message = this.message(reason, place, origin)\n\n message.fatal = null\n\n return message\n }\n\n /**\n * Like `VFile#message()`, but associates a fatal message where `fatal` is\n * set to `true`, and then immediately throws it.\n *\n * > 👉 **Note**: a fatal error means that a file is no longer processable.\n *\n * @param {string|Error} reason\n * Human readable reason for the message, uses the stack and message of the error if given.\n * @param {Node|NodeLike|Position|Point} [place]\n * Place where the message occurred in the file.\n * @param {string} [origin]\n * Computer readable reason for the message\n * @returns {never}\n * Message.\n */\n fail(reason, place, origin) {\n const message = this.message(reason, place, origin)\n\n message.fatal = true\n\n throw message\n }\n}\n\n/**\n * Assert that `part` is not a path (as in, does not contain `path.sep`).\n *\n * @param {string|undefined} part\n * @param {string} name\n * @returns {void}\n */\nfunction assertPart(part, name) {\n if (part && part.includes(path.sep)) {\n throw new Error(\n '`' + name + '` cannot be a path: did not expect `' + path.sep + '`'\n )\n }\n}\n\n/**\n * Assert that `part` is not empty.\n *\n * @param {string|undefined} part\n * @param {string} name\n * @returns {asserts part is string}\n */\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty')\n }\n}\n\n/**\n * Assert `path` exists.\n *\n * @param {string|undefined} path\n * @param {string} name\n * @returns {asserts path is string}\n */\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too')\n }\n}\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","/**\n * Throw a given error.\n *\n * @param {Error|null|undefined} [error]\n * Maybe error.\n * @returns {asserts error is null|undefined}\n */\nexport function bail(error) {\n if (error) {\n throw error\n }\n}\n","export default function isPlainObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\n\tconst prototype = Object.getPrototypeOf(value);\n\treturn (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);\n}\n","/**\n * @typedef {(error?: Error|null|undefined, ...output: Array<any>) => void} Callback\n * @typedef {(...input: Array<any>) => any} Middleware\n *\n * @typedef {(...input: Array<any>) => void} Run\n * Call all middleware.\n * @typedef {(fn: Middleware) => Pipeline} Use\n * Add `fn` (middleware) to the list.\n * @typedef {{run: Run, use: Use}} Pipeline\n * Middleware.\n */\n\n/**\n * Create new middleware.\n *\n * @returns {Pipeline}\n */\nexport function trough() {\n /** @type {Array<Middleware>} */\n const fns = []\n /** @type {Pipeline} */\n const pipeline = {run, use}\n\n return pipeline\n\n /** @type {Run} */\n function run(...values) {\n let middlewareIndex = -1\n /** @type {Callback} */\n const callback = values.pop()\n\n if (typeof callback !== 'function') {\n throw new TypeError('Expected function as last argument, not ' + callback)\n }\n\n next(null, ...values)\n\n /**\n * Run the next `fn`, or we’re done.\n *\n * @param {Error|null|undefined} error\n * @param {Array<any>} output\n */\n function next(error, ...output) {\n const fn = fns[++middlewareIndex]\n let index = -1\n\n if (error) {\n callback(error)\n return\n }\n\n // Copy non-nullish input into values.\n while (++index < values.length) {\n if (output[index] === null || output[index] === undefined) {\n output[index] = values[index]\n }\n }\n\n // Save the newly created `output` for the next call.\n values = output\n\n // Next or done.\n if (fn) {\n wrap(fn, next)(...output)\n } else {\n callback(null, ...output)\n }\n }\n }\n\n /** @type {Use} */\n function use(middelware) {\n if (typeof middelware !== 'function') {\n throw new TypeError(\n 'Expected `middelware` to be a function, not ' + middelware\n )\n }\n\n fns.push(middelware)\n return pipeline\n }\n}\n\n/**\n * Wrap `middleware`.\n * Can be sync or async; return a promise, receive a callback, or return new\n * values and errors.\n *\n * @param {Middleware} middleware\n * @param {Callback} callback\n */\nexport function wrap(middleware, callback) {\n /** @type {boolean} */\n let called\n\n return wrapped\n\n /**\n * Call `middleware`.\n * @this {any}\n * @param {Array<any>} parameters\n * @returns {void}\n */\n function wrapped(...parameters) {\n const fnExpectsCallback = middleware.length > parameters.length\n /** @type {any} */\n let result\n\n if (fnExpectsCallback) {\n parameters.push(done)\n }\n\n try {\n result = middleware.apply(this, parameters)\n } catch (error) {\n const exception = /** @type {Error} */ (error)\n\n // Well, this is quite the pickle.\n // `middleware` received a callback and called it synchronously, but that\n // threw an error.\n // The only thing left to do is to throw the thing instead.\n if (fnExpectsCallback && called) {\n throw exception\n }\n\n return done(exception)\n }\n\n if (!fnExpectsCallback) {\n if (result instanceof Promise) {\n result.then(then, done)\n } else if (result instanceof Error) {\n done(result)\n } else {\n then(result)\n }\n }\n }\n\n /**\n * Call `callback`, only once.\n * @type {Callback}\n */\n function done(error, ...output) {\n if (!called) {\n called = true\n callback(error, ...output)\n }\n }\n\n /**\n * Call `done` with one value.\n *\n * @param {any} [value]\n */\n function then(value) {\n done(null, value)\n }\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('vfile').VFileCompatible} VFileCompatible\n * @typedef {import('vfile').VFileValue} VFileValue\n * @typedef {import('..').Processor} Processor\n * @typedef {import('..').Plugin} Plugin\n * @typedef {import('..').Preset} Preset\n * @typedef {import('..').Pluggable} Pluggable\n * @typedef {import('..').PluggableList} PluggableList\n * @typedef {import('..').Transformer} Transformer\n * @typedef {import('..').Parser} Parser\n * @typedef {import('..').Compiler} Compiler\n * @typedef {import('..').RunCallback} RunCallback\n * @typedef {import('..').ProcessCallback} ProcessCallback\n *\n * @typedef Context\n * @property {Node} tree\n * @property {VFile} file\n */\n\nimport {bail} from 'bail'\nimport isBuffer from 'is-buffer'\nimport extend from 'extend'\nimport isPlainObj from 'is-plain-obj'\nimport {trough} from 'trough'\nimport {VFile} from 'vfile'\n\n// Expose a frozen processor.\nexport const unified = base().freeze()\n\nconst own = {}.hasOwnProperty\n\n// Function to create the first processor.\n/**\n * @returns {Processor}\n */\nfunction base() {\n const transformers = trough()\n /** @type {Processor['attachers']} */\n const attachers = []\n /** @type {Record<string, unknown>} */\n let namespace = {}\n /** @type {boolean|undefined} */\n let frozen\n let freezeIndex = -1\n\n // Data management.\n // @ts-expect-error: overloads are handled.\n processor.data = data\n processor.Parser = undefined\n processor.Compiler = undefined\n\n // Lock.\n processor.freeze = freeze\n\n // Plugins.\n processor.attachers = attachers\n // @ts-expect-error: overloads are handled.\n processor.use = use\n\n // API.\n processor.parse = parse\n processor.stringify = stringify\n // @ts-expect-error: overloads are handled.\n processor.run = run\n processor.runSync = runSync\n // @ts-expect-error: overloads are handled.\n processor.process = process\n processor.processSync = processSync\n\n // Expose.\n return processor\n\n // Create a new processor based on the processor in the current scope.\n /** @type {Processor} */\n function processor() {\n const destination = base()\n let index = -1\n\n while (++index < attachers.length) {\n destination.use(...attachers[index])\n }\n\n destination.data(extend(true, {}, namespace))\n\n return destination\n }\n\n /**\n * @param {string|Record<string, unknown>} [key]\n * @param {unknown} [value]\n * @returns {unknown}\n */\n function data(key, value) {\n if (typeof key === 'string') {\n // Set `key`.\n if (arguments.length === 2) {\n assertUnfrozen('data', frozen)\n namespace[key] = value\n return processor\n }\n\n // Get `key`.\n return (own.call(namespace, key) && namespace[key]) || null\n }\n\n // Set space.\n if (key) {\n assertUnfrozen('data', frozen)\n namespace = key\n return processor\n }\n\n // Get space.\n return namespace\n }\n\n /** @type {Processor['freeze']} */\n function freeze() {\n if (frozen) {\n return processor\n }\n\n while (++freezeIndex < attachers.length) {\n const [attacher, ...options] = attachers[freezeIndex]\n\n if (options[0] === false) {\n continue\n }\n\n if (options[0] === true) {\n options[0] = undefined\n }\n\n /** @type {Transformer|void} */\n const transformer = attacher.call(processor, ...options)\n\n if (typeof transformer === 'function') {\n transformers.use(transformer)\n }\n }\n\n frozen = true\n freezeIndex = Number.POSITIVE_INFINITY\n\n return processor\n }\n\n /**\n * @param {Pluggable|null|undefined} [value]\n * @param {...unknown} options\n * @returns {Processor}\n */\n function use(value, ...options) {\n /** @type {Record<string, unknown>|undefined} */\n let settings\n\n assertUnfrozen('use', frozen)\n\n if (value === null || value === undefined) {\n // Empty.\n } else if (typeof value === 'function') {\n addPlugin(value, ...options)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n addList(value)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n\n if (settings) {\n namespace.settings = Object.assign(namespace.settings || {}, settings)\n }\n\n return processor\n\n /**\n * @param {import('..').Pluggable<unknown[]>} value\n * @returns {void}\n */\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n const [plugin, ...options] = value\n addPlugin(plugin, ...options)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n }\n\n /**\n * @param {Preset} result\n * @returns {void}\n */\n function addPreset(result) {\n addList(result.plugins)\n\n if (result.settings) {\n settings = Object.assign(settings || {}, result.settings)\n }\n }\n\n /**\n * @param {PluggableList|null|undefined} [plugins]\n * @returns {void}\n */\n function addList(plugins) {\n let index = -1\n\n if (plugins === null || plugins === undefined) {\n // Empty.\n } else if (Array.isArray(plugins)) {\n while (++index < plugins.length) {\n const thing = plugins[index]\n add(thing)\n }\n } else {\n throw new TypeError('Expected a list of plugins, not `' + plugins + '`')\n }\n }\n\n /**\n * @param {Plugin} plugin\n * @param {...unknown} [value]\n * @returns {void}\n */\n function addPlugin(plugin, value) {\n let index = -1\n /** @type {Processor['attachers'][number]|undefined} */\n let entry\n\n while (++index < attachers.length) {\n if (attachers[index][0] === plugin) {\n entry = attachers[index]\n break\n }\n }\n\n if (entry) {\n if (isPlainObj(entry[1]) && isPlainObj(value)) {\n value = extend(true, entry[1], value)\n }\n\n entry[1] = value\n } else {\n // @ts-expect-error: fine.\n attachers.push([...arguments])\n }\n }\n }\n\n /** @type {Processor['parse']} */\n function parse(doc) {\n processor.freeze()\n const file = vfile(doc)\n const Parser = processor.Parser\n assertParser('parse', Parser)\n\n if (newable(Parser, 'parse')) {\n // @ts-expect-error: `newable` checks this.\n return new Parser(String(file), file).parse()\n }\n\n // @ts-expect-error: `newable` checks this.\n return Parser(String(file), file) // eslint-disable-line new-cap\n }\n\n /** @type {Processor['stringify']} */\n function stringify(node, doc) {\n processor.freeze()\n const file = vfile(doc)\n const Compiler = processor.Compiler\n assertCompiler('stringify', Compiler)\n assertNode(node)\n\n if (newable(Compiler, 'compile')) {\n // @ts-expect-error: `newable` checks this.\n return new Compiler(node, file).compile()\n }\n\n // @ts-expect-error: `newable` checks this.\n return Compiler(node, file) // eslint-disable-line new-cap\n }\n\n /**\n * @param {Node} node\n * @param {VFileCompatible|RunCallback} [doc]\n * @param {RunCallback} [callback]\n * @returns {Promise<Node>|void}\n */\n function run(node, doc, callback) {\n assertNode(node)\n processor.freeze()\n\n if (!callback && typeof doc === 'function') {\n callback = doc\n doc = undefined\n }\n\n if (!callback) {\n return new Promise(executor)\n }\n\n executor(null, callback)\n\n /**\n * @param {null|((node: Node) => void)} resolve\n * @param {(error: Error) => void} reject\n * @returns {void}\n */\n function executor(resolve, reject) {\n // @ts-expect-error: `doc` can’t be a callback anymore, we checked.\n transformers.run(node, vfile(doc), done)\n\n /**\n * @param {Error|null} error\n * @param {Node} tree\n * @param {VFile} file\n * @returns {void}\n */\n function done(error, tree, file) {\n tree = tree || node\n if (error) {\n reject(error)\n } else if (resolve) {\n resolve(tree)\n } else {\n // @ts-expect-error: `callback` is defined if `resolve` is not.\n callback(null, tree, file)\n }\n }\n }\n }\n\n /** @type {Processor['runSync']} */\n function runSync(node, file) {\n /** @type {Node|undefined} */\n let result\n /** @type {boolean|undefined} */\n let complete\n\n processor.run(node, file, done)\n\n assertDone('runSync', 'run', complete)\n\n // @ts-expect-error: we either bailed on an error or have a tree.\n return result\n\n /**\n * @param {Error|null} [error]\n * @param {Node} [tree]\n * @returns {void}\n */\n function done(error, tree) {\n bail(error)\n result = tree\n complete = true\n }\n }\n\n /**\n * @param {VFileCompatible} doc\n * @param {ProcessCallback} [callback]\n * @returns {Promise<VFile>|undefined}\n */\n function process(doc, callback) {\n processor.freeze()\n assertParser('process', processor.Parser)\n assertCompiler('process', processor.Compiler)\n\n if (!callback) {\n return new Promise(executor)\n }\n\n executor(null, callback)\n\n /**\n * @param {null|((file: VFile) => void)} resolve\n * @param {(error?: Error|null|undefined) => void} reject\n * @returns {void}\n */\n function executor(resolve, reject) {\n const file = vfile(doc)\n\n processor.run(processor.parse(file), file, (error, tree, file) => {\n if (error || !tree || !file) {\n done(error)\n } else {\n /** @type {unknown} */\n const result = processor.stringify(tree, file)\n\n if (result === undefined || result === null) {\n // Empty.\n } else if (looksLikeAVFileValue(result)) {\n file.value = result\n } else {\n file.result = result\n }\n\n done(error, file)\n }\n })\n\n /**\n * @param {Error|null|undefined} [error]\n * @param {VFile|undefined} [file]\n * @returns {void}\n */\n function done(error, file) {\n if (error || !file) {\n reject(error)\n } else if (resolve) {\n resolve(file)\n } else {\n // @ts-expect-error: `callback` is defined if `resolve` is not.\n callback(null, file)\n }\n }\n }\n }\n\n /** @type {Processor['processSync']} */\n function processSync(doc) {\n /** @type {boolean|undefined} */\n let complete\n\n processor.freeze()\n assertParser('processSync', processor.Parser)\n assertCompiler('processSync', processor.Compiler)\n\n const file = vfile(doc)\n\n processor.process(file, done)\n\n assertDone('processSync', 'process', complete)\n\n return file\n\n /**\n * @param {Error|null|undefined} [error]\n * @returns {void}\n */\n function done(error) {\n complete = true\n bail(error)\n }\n }\n}\n\n/**\n * Check if `value` is a constructor.\n *\n * @param {unknown} value\n * @param {string} name\n * @returns {boolean}\n */\nfunction newable(value, name) {\n return (\n typeof value === 'function' &&\n // Prototypes do exist.\n // type-coverage:ignore-next-line\n value.prototype &&\n // A function with keys in its prototype is probably a constructor.\n // Classes’ prototype methods are not enumerable, so we check if some value\n // exists in the prototype.\n // type-coverage:ignore-next-line\n (keys(value.prototype) || name in value.prototype)\n )\n}\n\n/**\n * Check if `value` is an object with keys.\n *\n * @param {Record<string, unknown>} value\n * @returns {boolean}\n */\nfunction keys(value) {\n /** @type {string} */\n let key\n\n for (key in value) {\n if (own.call(value, key)) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * Assert a parser is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Parser}\n */\nfunction assertParser(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `Parser`')\n }\n}\n\n/**\n * Assert a compiler is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Compiler}\n */\nfunction assertCompiler(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `Compiler`')\n }\n}\n\n/**\n * Assert the processor is not frozen.\n *\n * @param {string} name\n * @param {unknown} frozen\n * @returns {asserts frozen is false}\n */\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n 'Cannot call `' +\n name +\n '` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.'\n )\n }\n}\n\n/**\n * Assert `node` is a unist node.\n *\n * @param {unknown} node\n * @returns {asserts node is Node}\n */\nfunction assertNode(node) {\n // `isPlainObj` unfortunately uses `any` instead of `unknown`.\n // type-coverage:ignore-next-line\n if (!isPlainObj(node) || typeof node.type !== 'string') {\n throw new TypeError('Expected node, got `' + node + '`')\n // Fine.\n }\n}\n\n/**\n * Assert that `complete` is `true`.\n *\n * @param {string} name\n * @param {string} asyncName\n * @param {unknown} complete\n * @returns {asserts complete is true}\n */\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n '`' + name + '` finished async. Use `' + asyncName + '` instead'\n )\n }\n}\n\n/**\n * @param {VFileCompatible} [value]\n * @returns {VFile}\n */\nfunction vfile(value) {\n return looksLikeAVFile(value) ? value : new VFile(value)\n}\n\n/**\n * @param {VFileCompatible} [value]\n * @returns {value is VFile}\n */\nfunction looksLikeAVFile(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'message' in value &&\n 'messages' in value\n )\n}\n\n/**\n * @param {unknown} [value]\n * @returns {value is VFileValue}\n */\nfunction looksLikeAVFileValue(value) {\n return typeof value === 'string' || isBuffer(value)\n}\n","/**\n * @typedef Options\n * @property {boolean} [includeImageAlt=true]\n */\n\n/**\n * Get the text content of a node.\n * Prefer the node’s plain-text fields, otherwise serialize its children,\n * and if the given value is an array, serialize the nodes in it.\n *\n * @param {unknown} node\n * @param {Options} [options]\n * @returns {string}\n */\nexport function toString(node, options) {\n var {includeImageAlt = true} = options || {}\n return one(node, includeImageAlt)\n}\n\n/**\n * @param {unknown} node\n * @param {boolean} includeImageAlt\n * @returns {string}\n */\nfunction one(node, includeImageAlt) {\n return (\n (node &&\n typeof node === 'object' &&\n // @ts-ignore looks like a literal.\n (node.value ||\n // @ts-ignore looks like an image.\n (includeImageAlt ? node.alt : '') ||\n // @ts-ignore looks like a parent.\n ('children' in node && all(node.children, includeImageAlt)) ||\n (Array.isArray(node) && all(node, includeImageAlt)))) ||\n ''\n )\n}\n\n/**\n * @param {Array.<unknown>} values\n * @param {boolean} includeImageAlt\n * @returns {string}\n */\nfunction all(values, includeImageAlt) {\n /** @type {Array.<string>} */\n var result = []\n var index = -1\n\n while (++index < values.length) {\n result[index] = one(values[index], includeImageAlt)\n }\n\n return result.join('')\n}\n","/**\n * Like `Array#splice`, but smarter for giant arrays.\n *\n * `Array#splice` takes all items to be inserted as individual argument which\n * causes a stack overflow in V8 when trying to insert 100k items for instance.\n *\n * Otherwise, this does not return the removed items, and takes `items` as an\n * array instead of rest parameters.\n *\n * @template {unknown} T\n * @param {T[]} list\n * @param {number} start\n * @param {number} remove\n * @param {T[]} items\n * @returns {void}\n */\nexport function splice(list, start, remove, items) {\n const end = list.length\n let chunkStart = 0\n /** @type {unknown[]} */\n\n let parameters // Make start between zero and `end` (included).\n\n if (start < 0) {\n start = -start > end ? 0 : end + start\n } else {\n start = start > end ? end : start\n }\n\n remove = remove > 0 ? remove : 0 // No need to chunk the items if there’s only a couple (10k) items.\n\n if (items.length < 10000) {\n parameters = Array.from(items)\n parameters.unshift(start, remove) // @ts-expect-error Hush, it’s fine.\n ;[].splice.apply(list, parameters)\n } else {\n // Delete `remove` items starting from `start`\n if (remove) [].splice.apply(list, [start, remove]) // Insert the items in chunks to not cause stack overflows.\n\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 10000)\n parameters.unshift(start, 0) // @ts-expect-error Hush, it’s fine.\n ;[].splice.apply(list, parameters)\n chunkStart += 10000\n start += 10000\n }\n }\n}\n/**\n * Append `items` (an array) at the end of `list` (another array).\n * When `list` was empty, returns `items` instead.\n *\n * This prevents a potentially expensive operation when `list` is empty,\n * and adds items in batches to prevent V8 from hanging.\n *\n * @template {unknown} T\n * @param {T[]} list\n * @param {T[]} items\n * @returns {T[]}\n */\n\nexport function push(list, items) {\n if (list.length > 0) {\n splice(list, list.length, 0, items)\n return list\n }\n\n return items\n}\n","/**\n * @typedef {import('micromark-util-types').NormalizedExtension} NormalizedExtension\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension\n */\n\nimport {splice} from 'micromark-util-chunked'\n\nconst hasOwnProperty = {}.hasOwnProperty\n\n/**\n * Combine several syntax extensions into one.\n *\n * @param {Extension[]} extensions List of syntax extensions.\n * @returns {NormalizedExtension} A single combined extension.\n */\nexport function combineExtensions(extensions) {\n /** @type {NormalizedExtension} */\n const all = {}\n let index = -1\n\n while (++index < extensions.length) {\n syntaxExtension(all, extensions[index])\n }\n\n return all\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {NormalizedExtension} all Extension to merge into.\n * @param {Extension} extension Extension to merge.\n * @returns {void}\n */\nfunction syntaxExtension(all, extension) {\n /** @type {string} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n const left = maybe || (all[hook] = {})\n const right = extension[hook]\n /** @type {string} */\n let code\n\n for (code in right) {\n if (!hasOwnProperty.call(left, code)) left[code] = []\n const value = right[code]\n constructs(\n // @ts-expect-error Looks like a list.\n left[code],\n Array.isArray(value) ? value : value ? [value] : []\n )\n }\n }\n}\n\n/**\n * Merge `list` into `existing` (both lists of constructs).\n * Mutates `existing`.\n *\n * @param {unknown[]} existing\n * @param {unknown[]} list\n * @returns {void}\n */\nfunction constructs(existing, list) {\n let index = -1\n /** @type {unknown[]} */\n const before = []\n\n while (++index < list.length) {\n // @ts-expect-error Looks like an object.\n ;(list[index].add === 'after' ? existing : before).push(list[index])\n }\n\n splice(existing, 0, 0, before)\n}\n\n/**\n * Combine several HTML extensions into one.\n *\n * @param {HtmlExtension[]} htmlExtensions List of HTML extensions.\n * @returns {HtmlExtension} A single combined extension.\n */\nexport function combineHtmlExtensions(htmlExtensions) {\n /** @type {HtmlExtension} */\n const handlers = {}\n let index = -1\n\n while (++index < htmlExtensions.length) {\n htmlExtension(handlers, htmlExtensions[index])\n }\n\n return handlers\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {HtmlExtension} all Extension to merge into.\n * @param {HtmlExtension} extension Extension to merge.\n * @returns {void}\n */\nfunction htmlExtension(all, extension) {\n /** @type {string} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n const left = maybe || (all[hook] = {})\n const right = extension[hook]\n /** @type {string} */\n let type\n\n if (right) {\n for (type in right) {\n left[type] = right[type]\n }\n }\n }\n}\n","// This module is generated by `script/`.\n//\n// CommonMark handles attention (emphasis, strong) markers based on what comes\n// before or after them.\n// One such difference is if those characters are Unicode punctuation.\n// This script is generated from the Unicode data.\nexport const unicodePunctuationRegex =\n /[!-/:-@[-`{-~\\u00A1\\u00A7\\u00AB\\u00B6\\u00B7\\u00BB\\u00BF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C77\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4F\\u2E52\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]/\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {unicodePunctuationRegex} from './lib/unicode-punctuation-regex.js'\n/**\n * Check whether the character code represents an ASCII alpha (`a` through `z`,\n * case insensitive).\n *\n * An **ASCII alpha** is an ASCII upper alpha or ASCII lower alpha.\n *\n * An **ASCII upper alpha** is a character in the inclusive range U+0041 (`A`)\n * to U+005A (`Z`).\n *\n * An **ASCII lower alpha** is a character in the inclusive range U+0061 (`a`)\n * to U+007A (`z`).\n */\n\nexport const asciiAlpha = regexCheck(/[A-Za-z]/)\n/**\n * Check whether the character code represents an ASCII digit (`0` through `9`).\n *\n * An **ASCII digit** is a character in the inclusive range U+0030 (`0`) to\n * U+0039 (`9`).\n */\n\nexport const asciiDigit = regexCheck(/\\d/)\n/**\n * Check whether the character code represents an ASCII hex digit (`a` through\n * `f`, case insensitive, or `0` through `9`).\n *\n * An **ASCII hex digit** is an ASCII digit (see `asciiDigit`), ASCII upper hex\n * digit, or an ASCII lower hex digit.\n *\n * An **ASCII upper hex digit** is a character in the inclusive range U+0041\n * (`A`) to U+0046 (`F`).\n *\n * An **ASCII lower hex digit** is a character in the inclusive range U+0061\n * (`a`) to U+0066 (`f`).\n */\n\nexport const asciiHexDigit = regexCheck(/[\\dA-Fa-f]/)\n/**\n * Check whether the character code represents an ASCII alphanumeric (`a`\n * through `z`, case insensitive, or `0` through `9`).\n *\n * An **ASCII alphanumeric** is an ASCII digit (see `asciiDigit`) or ASCII alpha\n * (see `asciiAlpha`).\n */\n\nexport const asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/)\n/**\n * Check whether the character code represents ASCII punctuation.\n *\n * An **ASCII punctuation** is a character in the inclusive ranges U+0021\n * EXCLAMATION MARK (`!`) to U+002F SLASH (`/`), U+003A COLON (`:`) to U+0040 AT\n * SIGN (`@`), U+005B LEFT SQUARE BRACKET (`[`) to U+0060 GRAVE ACCENT\n * (`` ` ``), or U+007B LEFT CURLY BRACE (`{`) to U+007E TILDE (`~`).\n */\n\nexport const asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/)\n/**\n * Check whether the character code represents an ASCII atext.\n *\n * atext is an ASCII alphanumeric (see `asciiAlphanumeric`), or a character in\n * the inclusive ranges U+0023 NUMBER SIGN (`#`) to U+0027 APOSTROPHE (`'`),\n * U+002A ASTERISK (`*`), U+002B PLUS SIGN (`+`), U+002D DASH (`-`), U+002F\n * SLASH (`/`), U+003D EQUALS TO (`=`), U+003F QUESTION MARK (`?`), U+005E\n * CARET (`^`) to U+0060 GRAVE ACCENT (`` ` ``), or U+007B LEFT CURLY BRACE\n * (`{`) to U+007E TILDE (`~`).\n *\n * See:\n * **\\[RFC5322]**:\n * [Internet Message Format](https://tools.ietf.org/html/rfc5322).\n * P. Resnick.\n * IETF.\n */\n\nexport const asciiAtext = regexCheck(/[#-'*+\\--9=?A-Z^-~]/)\n/**\n * Check whether a character code is an ASCII control character.\n *\n * An **ASCII control** is a character in the inclusive range U+0000 NULL (NUL)\n * to U+001F (US), or U+007F (DEL).\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function asciiControl(code) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code !== null && (code < 32 || code === 127)\n )\n}\n/**\n * Check whether a character code is a markdown line ending (see\n * `markdownLineEnding`) or markdown space (see `markdownSpace`).\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function markdownLineEndingOrSpace(code) {\n return code !== null && (code < 0 || code === 32)\n}\n/**\n * Check whether a character code is a markdown line ending.\n *\n * A **markdown line ending** is the virtual characters M-0003 CARRIAGE RETURN\n * LINE FEED (CRLF), M-0004 LINE FEED (LF) and M-0005 CARRIAGE RETURN (CR).\n *\n * In micromark, the actual character U+000A LINE FEED (LF) and U+000D CARRIAGE\n * RETURN (CR) are replaced by these virtual characters depending on whether\n * they occurred together.\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function markdownLineEnding(code) {\n return code !== null && code < -2\n}\n/**\n * Check whether a character code is a markdown space.\n *\n * A **markdown space** is the concrete character U+0020 SPACE (SP) and the\n * virtual characters M-0001 VIRTUAL SPACE (VS) and M-0002 HORIZONTAL TAB (HT).\n *\n * In micromark, the actual character U+0009 CHARACTER TABULATION (HT) is\n * replaced by one M-0002 HORIZONTAL TAB (HT) and between 0 and 3 M-0001 VIRTUAL\n * SPACE (VS) characters, depending on the column at which the tab occurred.\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function markdownSpace(code) {\n return code === -2 || code === -1 || code === 32\n}\n/**\n * Check whether the character code represents Unicode whitespace.\n *\n * Note that this does handle micromark specific markdown whitespace characters.\n * See `markdownLineEndingOrSpace` to check that.\n *\n * A **Unicode whitespace** is a character in the Unicode `Zs` (Separator,\n * Space) category, or U+0009 CHARACTER TABULATION (HT), U+000A LINE FEED (LF),\n * U+000C (FF), or U+000D CARRIAGE RETURN (CR) (**\\[UNICODE]**).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n */\n\nexport const unicodeWhitespace = regexCheck(/\\s/)\n/**\n * Check whether the character code represents Unicode punctuation.\n *\n * A **Unicode punctuation** is a character in the Unicode `Pc` (Punctuation,\n * Connector), `Pd` (Punctuation, Dash), `Pe` (Punctuation, Close), `Pf`\n * (Punctuation, Final quote), `Pi` (Punctuation, Initial quote), `Po`\n * (Punctuation, Other), or `Ps` (Punctuation, Open) categories, or an ASCII\n * punctuation (see `asciiPunctuation`).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n */\n// Size note: removing ASCII from the regex and using `asciiPunctuation` here\n// In fact adds to the bundle size.\n\nexport const unicodePunctuation = regexCheck(unicodePunctuationRegex)\n/**\n * Create a code check from a regex.\n *\n * @param {RegExp} regex\n * @returns {(code: Code) => code is number}\n */\n\nfunction regexCheck(regex) {\n return check\n /**\n * Check whether a code matches the bound regex.\n *\n * @param {Code} code Character code\n * @returns {code is number} Whether the character code matches the bound regex\n */\n\n function check(code) {\n return code !== null && regex.test(String.fromCharCode(code))\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownSpace} from 'micromark-util-character'\n/**\n * @param {Effects} effects\n * @param {State} ok\n * @param {string} type\n * @param {number} [max=Infinity]\n * @returns {State}\n */\n\nexport function factorySpace(effects, ok, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n if (markdownSpace(code)) {\n effects.enter(type)\n return prefix(code)\n }\n\n return ok(code)\n }\n /** @type {State} */\n\n function prefix(code) {\n if (markdownSpace(code) && size++ < limit) {\n effects.consume(code)\n return prefix\n }\n\n effects.exit(type)\n return ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {InitialConstruct} */\nexport const content = {\n tokenize: initializeContent\n}\n/** @type {Initializer} */\n\nfunction initializeContent(effects) {\n const contentStart = effects.attempt(\n this.parser.constructs.contentInitial,\n afterContentStartConstruct,\n paragraphInitial\n )\n /** @type {Token} */\n\n let previous\n return contentStart\n /** @type {State} */\n\n function afterContentStartConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, contentStart, 'linePrefix')\n }\n /** @type {State} */\n\n function paragraphInitial(code) {\n effects.enter('paragraph')\n return lineStart(code)\n }\n /** @type {State} */\n\n function lineStart(code) {\n const token = effects.enter('chunkText', {\n contentType: 'text',\n previous\n })\n\n if (previous) {\n previous.next = token\n }\n\n previous = token\n return data(code)\n }\n /** @type {State} */\n\n function data(code) {\n if (code === null) {\n effects.exit('chunkText')\n effects.exit('paragraph')\n effects.consume(code)\n return\n }\n\n if (markdownLineEnding(code)) {\n effects.consume(code)\n effects.exit('chunkText')\n return lineStart\n } // Data.\n\n effects.consume(code)\n return data\n }\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Point} Point\n */\n\n/**\n * @typedef {Record<string, unknown>} StackState\n * @typedef {[Construct, StackState]} StackItem\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {splice} from 'micromark-util-chunked'\n/** @type {InitialConstruct} */\n\nexport const document = {\n tokenize: initializeDocument\n}\n/** @type {Construct} */\n\nconst containerConstruct = {\n tokenize: tokenizeContainer\n}\n/** @type {Initializer} */\n\nfunction initializeDocument(effects) {\n const self = this\n /** @type {Array<StackItem>} */\n\n const stack = []\n let continued = 0\n /** @type {TokenizeContext|undefined} */\n\n let childFlow\n /** @type {Token|undefined} */\n\n let childToken\n /** @type {number} */\n\n let lineStartOffset\n return start\n /** @type {State} */\n\n function start(code) {\n // First we iterate through the open blocks, starting with the root\n // document, and descending through last children down to the last open\n // block.\n // Each block imposes a condition that the line must satisfy if the block is\n // to remain open.\n // For example, a block quote requires a `>` character.\n // A paragraph requires a non-blank line.\n // In this phase we may match all or just some of the open blocks.\n // But we cannot close unmatched blocks yet, because we may have a lazy\n // continuation line.\n if (continued < stack.length) {\n const item = stack[continued]\n self.containerState = item[1]\n return effects.attempt(\n item[0].continuation,\n documentContinue,\n checkNewContainers\n )(code)\n } // Done.\n\n return checkNewContainers(code)\n }\n /** @type {State} */\n\n function documentContinue(code) {\n continued++ // Note: this field is called `_closeFlow` but it also closes containers.\n // Perhaps a good idea to rename it but it’s already used in the wild by\n // extensions.\n\n if (self.containerState._closeFlow) {\n self.containerState._closeFlow = undefined\n\n if (childFlow) {\n closeFlow()\n } // Note: this algorithm for moving events around is similar to the\n // algorithm when dealing with lazy lines in `writeToChild`.\n\n const indexBeforeExits = self.events.length\n let indexBeforeFlow = indexBeforeExits\n /** @type {Point|undefined} */\n\n let point // Find the flow chunk.\n\n while (indexBeforeFlow--) {\n if (\n self.events[indexBeforeFlow][0] === 'exit' &&\n self.events[indexBeforeFlow][1].type === 'chunkFlow'\n ) {\n point = self.events[indexBeforeFlow][1].end\n break\n }\n }\n\n exitContainers(continued) // Fix positions.\n\n let index = indexBeforeExits\n\n while (index < self.events.length) {\n self.events[index][1].end = Object.assign({}, point)\n index++\n } // Inject the exits earlier (they’re still also at the end).\n\n splice(\n self.events,\n indexBeforeFlow + 1,\n 0,\n self.events.slice(indexBeforeExits)\n ) // Discard the duplicate exits.\n\n self.events.length = index\n return checkNewContainers(code)\n }\n\n return start(code)\n }\n /** @type {State} */\n\n function checkNewContainers(code) {\n // Next, after consuming the continuation markers for existing blocks, we\n // look for new block starts (e.g. `>` for a block quote).\n // If we encounter a new block start, we close any blocks unmatched in\n // step 1 before creating the new block as a child of the last matched\n // block.\n if (continued === stack.length) {\n // No need to `check` whether there’s a container, of `exitContainers`\n // would be moot.\n // We can instead immediately `attempt` to parse one.\n if (!childFlow) {\n return documentContinued(code)\n } // If we have concrete content, such as block HTML or fenced code,\n // we can’t have containers “pierce” into them, so we can immediately\n // start.\n\n if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) {\n return flowStart(code)\n } // If we do have flow, it could still be a blank line,\n // but we’d be interrupting it w/ a new container if there’s a current\n // construct.\n\n self.interrupt = Boolean(\n childFlow.currentConstruct && !childFlow._gfmTableDynamicInterruptHack\n )\n } // Check if there is a new container.\n\n self.containerState = {}\n return effects.check(\n containerConstruct,\n thereIsANewContainer,\n thereIsNoNewContainer\n )(code)\n }\n /** @type {State} */\n\n function thereIsANewContainer(code) {\n if (childFlow) closeFlow()\n exitContainers(continued)\n return documentContinued(code)\n }\n /** @type {State} */\n\n function thereIsNoNewContainer(code) {\n self.parser.lazy[self.now().line] = continued !== stack.length\n lineStartOffset = self.now().offset\n return flowStart(code)\n }\n /** @type {State} */\n\n function documentContinued(code) {\n // Try new containers.\n self.containerState = {}\n return effects.attempt(\n containerConstruct,\n containerContinue,\n flowStart\n )(code)\n }\n /** @type {State} */\n\n function containerContinue(code) {\n continued++\n stack.push([self.currentConstruct, self.containerState]) // Try another.\n\n return documentContinued(code)\n }\n /** @type {State} */\n\n function flowStart(code) {\n if (code === null) {\n if (childFlow) closeFlow()\n exitContainers(0)\n effects.consume(code)\n return\n }\n\n childFlow = childFlow || self.parser.flow(self.now())\n effects.enter('chunkFlow', {\n contentType: 'flow',\n previous: childToken,\n _tokenizer: childFlow\n })\n return flowContinue(code)\n }\n /** @type {State} */\n\n function flowContinue(code) {\n if (code === null) {\n writeToChild(effects.exit('chunkFlow'), true)\n exitContainers(0)\n effects.consume(code)\n return\n }\n\n if (markdownLineEnding(code)) {\n effects.consume(code)\n writeToChild(effects.exit('chunkFlow')) // Get ready for the next line.\n\n continued = 0\n self.interrupt = undefined\n return start\n }\n\n effects.consume(code)\n return flowContinue\n }\n /**\n * @param {Token} token\n * @param {boolean} [eof]\n * @returns {void}\n */\n\n function writeToChild(token, eof) {\n const stream = self.sliceStream(token)\n if (eof) stream.push(null)\n token.previous = childToken\n if (childToken) childToken.next = token\n childToken = token\n childFlow.defineSkip(token.start)\n childFlow.write(stream) // Alright, so we just added a lazy line:\n //\n // ```markdown\n // > a\n // b.\n //\n // Or:\n //\n // > ~~~c\n // d\n //\n // Or:\n //\n // > | e |\n // f\n // ```\n //\n // The construct in the second example (fenced code) does not accept lazy\n // lines, so it marked itself as done at the end of its first line, and\n // then the content construct parses `d`.\n // Most constructs in markdown match on the first line: if the first line\n // forms a construct, a non-lazy line can’t “unmake” it.\n //\n // The construct in the third example is potentially a GFM table, and\n // those are *weird*.\n // It *could* be a table, from the first line, if the following line\n // matches a condition.\n // In this case, that second line is lazy, which “unmakes” the first line\n // and turns the whole into one content block.\n //\n // We’ve now parsed the non-lazy and the lazy line, and can figure out\n // whether the lazy line started a new flow block.\n // If it did, we exit the current containers between the two flow blocks.\n\n if (self.parser.lazy[token.start.line]) {\n let index = childFlow.events.length\n\n while (index--) {\n if (\n // The token starts before the line ending…\n childFlow.events[index][1].start.offset < lineStartOffset && // …and either is not ended yet…\n (!childFlow.events[index][1].end || // …or ends after it.\n childFlow.events[index][1].end.offset > lineStartOffset)\n ) {\n // Exit: there’s still something open, which means it’s a lazy line\n // part of something.\n return\n }\n } // Note: this algorithm for moving events around is similar to the\n // algorithm when closing flow in `documentContinue`.\n\n const indexBeforeExits = self.events.length\n let indexBeforeFlow = indexBeforeExits\n /** @type {boolean|undefined} */\n\n let seen\n /** @type {Point|undefined} */\n\n let point // Find the previous chunk (the one before the lazy line).\n\n while (indexBeforeFlow--) {\n if (\n self.events[indexBeforeFlow][0] === 'exit' &&\n self.events[indexBeforeFlow][1].type === 'chunkFlow'\n ) {\n if (seen) {\n point = self.events[indexBeforeFlow][1].end\n break\n }\n\n seen = true\n }\n }\n\n exitContainers(continued) // Fix positions.\n\n index = indexBeforeExits\n\n while (index < self.events.length) {\n self.events[index][1].end = Object.assign({}, point)\n index++\n } // Inject the exits earlier (they’re still also at the end).\n\n splice(\n self.events,\n indexBeforeFlow + 1,\n 0,\n self.events.slice(indexBeforeExits)\n ) // Discard the duplicate exits.\n\n self.events.length = index\n }\n }\n /**\n * @param {number} size\n * @returns {void}\n */\n\n function exitContainers(size) {\n let index = stack.length // Exit open containers.\n\n while (index-- > size) {\n const entry = stack[index]\n self.containerState = entry[1]\n entry[0].exit.call(self, effects)\n }\n\n stack.length = size\n }\n\n function closeFlow() {\n childFlow.write([null])\n childToken = undefined\n childFlow = undefined\n self.containerState._closeFlow = undefined\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeContainer(effects, ok, nok) {\n return factorySpace(\n effects,\n effects.attempt(this.parser.constructs.document, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4\n )\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const blankLine = {\n tokenize: tokenizeBlankLine,\n partial: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeBlankLine(effects, ok, nok) {\n return factorySpace(effects, afterWhitespace, 'linePrefix')\n /** @type {State} */\n\n function afterWhitespace(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Event} Event\n */\nimport {splice} from 'micromark-util-chunked'\n\n/**\n * Tokenize subcontent.\n *\n * @param {Event[]} events\n * @returns {boolean}\n */\nexport function subtokenize(events) {\n /** @type {Record<string, number>} */\n const jumps = {}\n let index = -1\n /** @type {Event} */\n\n let event\n /** @type {number|undefined} */\n\n let lineIndex\n /** @type {number} */\n\n let otherIndex\n /** @type {Event} */\n\n let otherEvent\n /** @type {Event[]} */\n\n let parameters\n /** @type {Event[]} */\n\n let subevents\n /** @type {boolean|undefined} */\n\n let more\n\n while (++index < events.length) {\n while (index in jumps) {\n index = jumps[index]\n }\n\n event = events[index] // Add a hook for the GFM tasklist extension, which needs to know if text\n // is in the first content of a list item.\n\n if (\n index &&\n event[1].type === 'chunkFlow' &&\n events[index - 1][1].type === 'listItemPrefix'\n ) {\n subevents = event[1]._tokenizer.events\n otherIndex = 0\n\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'lineEndingBlank'\n ) {\n otherIndex += 2\n }\n\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'content'\n ) {\n while (++otherIndex < subevents.length) {\n if (subevents[otherIndex][1].type === 'content') {\n break\n }\n\n if (subevents[otherIndex][1].type === 'chunkText') {\n subevents[otherIndex][1]._isInFirstContentOfListItem = true\n otherIndex++\n }\n }\n }\n } // Enter.\n\n if (event[0] === 'enter') {\n if (event[1].contentType) {\n Object.assign(jumps, subcontent(events, index))\n index = jumps[index]\n more = true\n }\n } // Exit.\n else if (event[1]._container) {\n otherIndex = index\n lineIndex = undefined\n\n while (otherIndex--) {\n otherEvent = events[otherIndex]\n\n if (\n otherEvent[1].type === 'lineEnding' ||\n otherEvent[1].type === 'lineEndingBlank'\n ) {\n if (otherEvent[0] === 'enter') {\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n }\n\n otherEvent[1].type = 'lineEnding'\n lineIndex = otherIndex\n }\n } else {\n break\n }\n }\n\n if (lineIndex) {\n // Fix position.\n event[1].end = Object.assign({}, events[lineIndex][1].start) // Switch container exit w/ line endings.\n\n parameters = events.slice(lineIndex, index)\n parameters.unshift(event)\n splice(events, lineIndex, index - lineIndex + 1, parameters)\n }\n }\n }\n\n return !more\n}\n/**\n * Tokenize embedded tokens.\n *\n * @param {Event[]} events\n * @param {number} eventIndex\n * @returns {Record<string, number>}\n */\n\nfunction subcontent(events, eventIndex) {\n const token = events[eventIndex][1]\n const context = events[eventIndex][2]\n let startPosition = eventIndex - 1\n /** @type {number[]} */\n\n const startPositions = []\n const tokenizer =\n token._tokenizer || context.parser[token.contentType](token.start)\n const childEvents = tokenizer.events\n /** @type {[number, number][]} */\n\n const jumps = []\n /** @type {Record<string, number>} */\n\n const gaps = {}\n /** @type {Chunk[]} */\n\n let stream\n /** @type {Token|undefined} */\n\n let previous\n let index = -1\n /** @type {Token|undefined} */\n\n let current = token\n let adjust = 0\n let start = 0\n const breaks = [start] // Loop forward through the linked tokens to pass them in order to the\n // subtokenizer.\n\n while (current) {\n // Find the position of the event for this token.\n while (events[++startPosition][1] !== current) {\n // Empty.\n }\n\n startPositions.push(startPosition)\n\n if (!current._tokenizer) {\n stream = context.sliceStream(current)\n\n if (!current.next) {\n stream.push(null)\n }\n\n if (previous) {\n tokenizer.defineSkip(current.start)\n }\n\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = true\n }\n\n tokenizer.write(stream)\n\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = undefined\n }\n } // Unravel the next token.\n\n previous = current\n current = current.next\n } // Now, loop back through all events (and linked tokens), to figure out which\n // parts belong where.\n\n current = token\n\n while (++index < childEvents.length) {\n if (\n // Find a void token that includes a break.\n childEvents[index][0] === 'exit' &&\n childEvents[index - 1][0] === 'enter' &&\n childEvents[index][1].type === childEvents[index - 1][1].type &&\n childEvents[index][1].start.line !== childEvents[index][1].end.line\n ) {\n start = index + 1\n breaks.push(start) // Help GC.\n\n current._tokenizer = undefined\n current.previous = undefined\n current = current.next\n }\n } // Help GC.\n\n tokenizer.events = [] // If there’s one more token (which is the cases for lines that end in an\n // EOF), that’s perfect: the last point we found starts it.\n // If there isn’t then make sure any remaining content is added to it.\n\n if (current) {\n // Help GC.\n current._tokenizer = undefined\n current.previous = undefined\n } else {\n breaks.pop()\n } // Now splice the events from the subtokenizer into the current events,\n // moving back to front so that splice indices aren’t affected.\n\n index = breaks.length\n\n while (index--) {\n const slice = childEvents.slice(breaks[index], breaks[index + 1])\n const start = startPositions.pop()\n jumps.unshift([start, start + slice.length - 1])\n splice(events, start, 2, slice)\n }\n\n index = -1\n\n while (++index < jumps.length) {\n gaps[adjust + jumps[index][0]] = adjust + jumps[index][1]\n adjust += jumps[index][1] - jumps[index][0] - 1\n }\n\n return gaps\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {subtokenize} from 'micromark-util-subtokenize'\n\n/**\n * No name because it must not be turned off.\n * @type {Construct}\n */\nexport const content = {\n tokenize: tokenizeContent,\n resolve: resolveContent\n}\n/** @type {Construct} */\n\nconst continuationConstruct = {\n tokenize: tokenizeContinuation,\n partial: true\n}\n/**\n * Content is transparent: it’s parsed right now. That way, definitions are also\n * parsed right now: before text in paragraphs (specifically, media) are parsed.\n *\n * @type {Resolver}\n */\n\nfunction resolveContent(events) {\n subtokenize(events)\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeContent(effects, ok) {\n /** @type {Token} */\n let previous\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('content')\n previous = effects.enter('chunkContent', {\n contentType: 'content'\n })\n return data(code)\n }\n /** @type {State} */\n\n function data(code) {\n if (code === null) {\n return contentEnd(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.check(\n continuationConstruct,\n contentContinue,\n contentEnd\n )(code)\n } // Data.\n\n effects.consume(code)\n return data\n }\n /** @type {State} */\n\n function contentEnd(code) {\n effects.exit('chunkContent')\n effects.exit('content')\n return ok(code)\n }\n /** @type {State} */\n\n function contentContinue(code) {\n effects.consume(code)\n effects.exit('chunkContent')\n previous.next = effects.enter('chunkContent', {\n contentType: 'content',\n previous\n })\n previous = previous.next\n return data\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeContinuation(effects, ok, nok) {\n const self = this\n return startLookahead\n /** @type {State} */\n\n function startLookahead(code) {\n effects.exit('chunkContent')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, prefixed, 'linePrefix')\n }\n /** @type {State} */\n\n function prefixed(code) {\n if (code === null || markdownLineEnding(code)) {\n return nok(code)\n }\n\n const tail = self.events[self.events.length - 1]\n\n if (\n !self.parser.constructs.disable.null.includes('codeIndented') &&\n tail &&\n tail[1].type === 'linePrefix' &&\n tail[2].sliceSerialize(tail[1], true).length >= 4\n ) {\n return ok(code)\n }\n\n return effects.interrupt(self.parser.constructs.flow, nok, ok)(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {blankLine, content} from 'micromark-core-commonmark'\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {InitialConstruct} */\nexport const flow = {\n tokenize: initializeFlow\n}\n/** @type {Initializer} */\n\nfunction initializeFlow(effects) {\n const self = this\n const initial = effects.attempt(\n // Try to parse a blank line.\n blankLine,\n atBlankEnding, // Try to parse initial flow (essentially, only code).\n effects.attempt(\n this.parser.constructs.flowInitial,\n afterConstruct,\n factorySpace(\n effects,\n effects.attempt(\n this.parser.constructs.flow,\n afterConstruct,\n effects.attempt(content, afterConstruct)\n ),\n 'linePrefix'\n )\n )\n )\n return initial\n /** @type {State} */\n\n function atBlankEnding(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEndingBlank')\n effects.consume(code)\n effects.exit('lineEndingBlank')\n self.currentConstruct = undefined\n return initial\n }\n /** @type {State} */\n\n function afterConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n self.currentConstruct = undefined\n return initial\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nexport const resolver = {\n resolveAll: createResolver()\n}\nexport const string = initializeFactory('string')\nexport const text = initializeFactory('text')\n/**\n * @param {'string'|'text'} field\n * @returns {InitialConstruct}\n */\n\nfunction initializeFactory(field) {\n return {\n tokenize: initializeText,\n resolveAll: createResolver(\n field === 'text' ? resolveAllLineSuffixes : undefined\n )\n }\n /** @type {Initializer} */\n\n function initializeText(effects) {\n const self = this\n const constructs = this.parser.constructs[field]\n const text = effects.attempt(constructs, start, notText)\n return start\n /** @type {State} */\n\n function start(code) {\n return atBreak(code) ? text(code) : notText(code)\n }\n /** @type {State} */\n\n function notText(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('data')\n effects.consume(code)\n return data\n }\n /** @type {State} */\n\n function data(code) {\n if (atBreak(code)) {\n effects.exit('data')\n return text(code)\n } // Data.\n\n effects.consume(code)\n return data\n }\n /**\n * @param {Code} code\n * @returns {boolean}\n */\n\n function atBreak(code) {\n if (code === null) {\n return true\n }\n\n const list = constructs[code]\n let index = -1\n\n if (list) {\n while (++index < list.length) {\n const item = list[index]\n\n if (!item.previous || item.previous.call(self, self.previous)) {\n return true\n }\n }\n }\n\n return false\n }\n }\n}\n/**\n * @param {Resolver} [extraResolver]\n * @returns {Resolver}\n */\n\nfunction createResolver(extraResolver) {\n return resolveAllText\n /** @type {Resolver} */\n\n function resolveAllText(events, context) {\n let index = -1\n /** @type {number|undefined} */\n\n let enter // A rather boring computation (to merge adjacent `data` events) which\n // improves mm performance by 29%.\n\n while (++index <= events.length) {\n if (enter === undefined) {\n if (events[index] && events[index][1].type === 'data') {\n enter = index\n index++\n }\n } else if (!events[index] || events[index][1].type !== 'data') {\n // Don’t do anything if there is one data token.\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n index = enter + 2\n }\n\n enter = undefined\n }\n }\n\n return extraResolver ? extraResolver(events, context) : events\n }\n}\n/**\n * A rather ugly set of instructions which again looks at chunks in the input\n * stream.\n * The reason to do this here is that it is *much* faster to parse in reverse.\n * And that we can’t hook into `null` to split the line suffix before an EOF.\n * To do: figure out if we can make this into a clean utility, or even in core.\n * As it will be useful for GFMs literal autolink extension (and maybe even\n * tables?)\n *\n * @type {Resolver}\n */\n\nfunction resolveAllLineSuffixes(events, context) {\n let eventIndex = 0 // Skip first.\n\n while (++eventIndex <= events.length) {\n if (\n (eventIndex === events.length ||\n events[eventIndex][1].type === 'lineEnding') &&\n events[eventIndex - 1][1].type === 'data'\n ) {\n const data = events[eventIndex - 1][1]\n const chunks = context.sliceStream(data)\n let index = chunks.length\n let bufferIndex = -1\n let size = 0\n /** @type {boolean|undefined} */\n\n let tabs\n\n while (index--) {\n const chunk = chunks[index]\n\n if (typeof chunk === 'string') {\n bufferIndex = chunk.length\n\n while (chunk.charCodeAt(bufferIndex - 1) === 32) {\n size++\n bufferIndex--\n }\n\n if (bufferIndex) break\n bufferIndex = -1\n } // Number\n else if (chunk === -2) {\n tabs = true\n size++\n } else if (chunk === -1) {\n // Empty\n } else {\n // Replacement character, exit.\n index++\n break\n }\n }\n\n if (size) {\n const token = {\n type:\n eventIndex === events.length || tabs || size < 2\n ? 'lineSuffix'\n : 'hardBreakTrailing',\n start: {\n line: data.end.line,\n column: data.end.column - size,\n offset: data.end.offset - size,\n _index: data.start._index + index,\n _bufferIndex: index\n ? bufferIndex\n : data.start._bufferIndex + bufferIndex\n },\n end: Object.assign({}, data.end)\n }\n data.end = Object.assign({}, token.start)\n\n if (data.start.offset === data.end.offset) {\n Object.assign(data, token)\n } else {\n events.splice(\n eventIndex,\n 0,\n ['enter', token, context],\n ['exit', token, context]\n )\n eventIndex += 2\n }\n }\n\n eventIndex++\n }\n }\n\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Resolver} Resolver\n */\n\n/**\n * Call all `resolveAll`s.\n *\n * @param {{resolveAll?: Resolver}[]} constructs\n * @param {Event[]} events\n * @param {TokenizeContext} context\n * @returns {Event[]}\n */\nexport function resolveAll(constructs, events, context) {\n /** @type {Resolver[]} */\n const called = []\n let index = -1\n\n while (++index < constructs.length) {\n const resolve = constructs[index].resolveAll\n\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context)\n called.push(resolve)\n }\n }\n\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Point} Point\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n */\n\n/**\n * @typedef Info\n * @property {() => void} restore\n * @property {number} from\n *\n * @callback ReturnHandle\n * Handle a successful run.\n * @param {Construct} construct\n * @param {Info} info\n * @returns {void}\n */\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {push, splice} from 'micromark-util-chunked'\nimport {resolveAll} from 'micromark-util-resolve-all'\n\n/**\n * Create a tokenizer.\n * Tokenizers deal with one type of data (e.g., containers, flow, text).\n * The parser is the object dealing with it all.\n * `initialize` works like other constructs, except that only its `tokenize`\n * function is used, in which case it doesn’t receive an `ok` or `nok`.\n * `from` can be given to set the point before the first character, although\n * when further lines are indented, they must be set with `defineSkip`.\n *\n * @param {ParseContext} parser\n * @param {InitialConstruct} initialize\n * @param {Omit<Point, '_index'|'_bufferIndex'>} [from]\n * @returns {TokenizeContext}\n */\nexport function createTokenizer(parser, initialize, from) {\n /** @type {Point} */\n let point = Object.assign(\n from\n ? Object.assign({}, from)\n : {\n line: 1,\n column: 1,\n offset: 0\n },\n {\n _index: 0,\n _bufferIndex: -1\n }\n )\n /** @type {Record<string, number>} */\n\n const columnStart = {}\n /** @type {Array<Construct>} */\n\n const resolveAllConstructs = []\n /** @type {Array<Chunk>} */\n\n let chunks = []\n /** @type {Array<Token>} */\n\n let stack = []\n /** @type {boolean|undefined} */\n\n let consumed = true\n /**\n * Tools used for tokenizing.\n *\n * @type {Effects}\n */\n\n const effects = {\n consume,\n enter,\n exit,\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n })\n }\n /**\n * State and tools for resolving and serializing.\n *\n * @type {TokenizeContext}\n */\n\n const context = {\n previous: null,\n code: null,\n containerState: {},\n events: [],\n parser,\n sliceStream,\n sliceSerialize,\n now,\n defineSkip,\n write\n }\n /**\n * The state function.\n *\n * @type {State|void}\n */\n\n let state = initialize.tokenize.call(context, effects)\n /**\n * Track which character we expect to be consumed, to catch bugs.\n *\n * @type {Code}\n */\n\n let expectedCode\n\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize)\n }\n\n return context\n /** @type {TokenizeContext['write']} */\n\n function write(slice) {\n chunks = push(chunks, slice)\n main() // Exit if we’re not done, resolve might change stuff.\n\n if (chunks[chunks.length - 1] !== null) {\n return []\n }\n\n addResult(initialize, 0) // Otherwise, resolve, and exit.\n\n context.events = resolveAll(resolveAllConstructs, context.events, context)\n return context.events\n } //\n // Tools.\n //\n\n /** @type {TokenizeContext['sliceSerialize']} */\n\n function sliceSerialize(token, expandTabs) {\n return serializeChunks(sliceStream(token), expandTabs)\n }\n /** @type {TokenizeContext['sliceStream']} */\n\n function sliceStream(token) {\n return sliceChunks(chunks, token)\n }\n /** @type {TokenizeContext['now']} */\n\n function now() {\n return Object.assign({}, point)\n }\n /** @type {TokenizeContext['defineSkip']} */\n\n function defineSkip(value) {\n columnStart[value.line] = value.column\n accountForPotentialSkip()\n } //\n // State management.\n //\n\n /**\n * Main loop (note that `_index` and `_bufferIndex` in `point` are modified by\n * `consume`).\n * Here is where we walk through the chunks, which either include strings of\n * several characters, or numerical character codes.\n * The reason to do this in a loop instead of a call is so the stack can\n * drain.\n *\n * @returns {void}\n */\n\n function main() {\n /** @type {number} */\n let chunkIndex\n\n while (point._index < chunks.length) {\n const chunk = chunks[point._index] // If we’re in a buffer chunk, loop through it.\n\n if (typeof chunk === 'string') {\n chunkIndex = point._index\n\n if (point._bufferIndex < 0) {\n point._bufferIndex = 0\n }\n\n while (\n point._index === chunkIndex &&\n point._bufferIndex < chunk.length\n ) {\n go(chunk.charCodeAt(point._bufferIndex))\n }\n } else {\n go(chunk)\n }\n }\n }\n /**\n * Deal with one code.\n *\n * @param {Code} code\n * @returns {void}\n */\n\n function go(code) {\n consumed = undefined\n expectedCode = code\n state = state(code)\n }\n /** @type {Effects['consume']} */\n\n function consume(code) {\n if (markdownLineEnding(code)) {\n point.line++\n point.column = 1\n point.offset += code === -3 ? 2 : 1\n accountForPotentialSkip()\n } else if (code !== -1) {\n point.column++\n point.offset++\n } // Not in a string chunk.\n\n if (point._bufferIndex < 0) {\n point._index++\n } else {\n point._bufferIndex++ // At end of string chunk.\n // @ts-expect-error Points w/ non-negative `_bufferIndex` reference\n // strings.\n\n if (point._bufferIndex === chunks[point._index].length) {\n point._bufferIndex = -1\n point._index++\n }\n } // Expose the previous character.\n\n context.previous = code // Mark as consumed.\n\n consumed = true\n }\n /** @type {Effects['enter']} */\n\n function enter(type, fields) {\n /** @type {Token} */\n // @ts-expect-error Patch instead of assign required fields to help GC.\n const token = fields || {}\n token.type = type\n token.start = now()\n context.events.push(['enter', token, context])\n stack.push(token)\n return token\n }\n /** @type {Effects['exit']} */\n\n function exit(type) {\n const token = stack.pop()\n token.end = now()\n context.events.push(['exit', token, context])\n return token\n }\n /**\n * Use results.\n *\n * @type {ReturnHandle}\n */\n\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from)\n }\n /**\n * Discard results.\n *\n * @type {ReturnHandle}\n */\n\n function onsuccessfulcheck(_, info) {\n info.restore()\n }\n /**\n * Factory to attempt/check/interrupt.\n *\n * @param {ReturnHandle} onreturn\n * @param {Record<string, unknown>} [fields]\n */\n\n function constructFactory(onreturn, fields) {\n return hook\n /**\n * Handle either an object mapping codes to constructs, a list of\n * constructs, or a single construct.\n *\n * @param {Construct|Array<Construct>|ConstructRecord} constructs\n * @param {State} returnState\n * @param {State} [bogusState]\n * @returns {State}\n */\n\n function hook(constructs, returnState, bogusState) {\n /** @type {Array<Construct>} */\n let listOfConstructs\n /** @type {number} */\n\n let constructIndex\n /** @type {Construct} */\n\n let currentConstruct\n /** @type {Info} */\n\n let info\n return Array.isArray(constructs)\n ? /* c8 ignore next 1 */\n handleListOfConstructs(constructs)\n : 'tokenize' in constructs // @ts-expect-error Looks like a construct.\n ? handleListOfConstructs([constructs])\n : handleMapOfConstructs(constructs)\n /**\n * Handle a list of construct.\n *\n * @param {ConstructRecord} map\n * @returns {State}\n */\n\n function handleMapOfConstructs(map) {\n return start\n /** @type {State} */\n\n function start(code) {\n const def = code !== null && map[code]\n const all = code !== null && map.null\n const list = [\n // To do: add more extension tests.\n\n /* c8 ignore next 2 */\n ...(Array.isArray(def) ? def : def ? [def] : []),\n ...(Array.isArray(all) ? all : all ? [all] : [])\n ]\n return handleListOfConstructs(list)(code)\n }\n }\n /**\n * Handle a list of construct.\n *\n * @param {Array<Construct>} list\n * @returns {State}\n */\n\n function handleListOfConstructs(list) {\n listOfConstructs = list\n constructIndex = 0\n\n if (list.length === 0) {\n return bogusState\n }\n\n return handleConstruct(list[constructIndex])\n }\n /**\n * Handle a single construct.\n *\n * @param {Construct} construct\n * @returns {State}\n */\n\n function handleConstruct(construct) {\n return start\n /** @type {State} */\n\n function start(code) {\n // To do: not needed to store if there is no bogus state, probably?\n // Currently doesn’t work because `inspect` in document does a check\n // w/o a bogus, which doesn’t make sense. But it does seem to help perf\n // by not storing.\n info = store()\n currentConstruct = construct\n\n if (!construct.partial) {\n context.currentConstruct = construct\n }\n\n if (\n construct.name &&\n context.parser.constructs.disable.null.includes(construct.name)\n ) {\n return nok(code)\n }\n\n return construct.tokenize.call(\n // If we do have fields, create an object w/ `context` as its\n // prototype.\n // This allows a “live binding”, which is needed for `interrupt`.\n fields ? Object.assign(Object.create(context), fields) : context,\n effects,\n ok,\n nok\n )(code)\n }\n }\n /** @type {State} */\n\n function ok(code) {\n consumed = true\n onreturn(currentConstruct, info)\n return returnState\n }\n /** @type {State} */\n\n function nok(code) {\n consumed = true\n info.restore()\n\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex])\n }\n\n return bogusState\n }\n }\n }\n /**\n * @param {Construct} construct\n * @param {number} from\n * @returns {void}\n */\n\n function addResult(construct, from) {\n if (construct.resolveAll && !resolveAllConstructs.includes(construct)) {\n resolveAllConstructs.push(construct)\n }\n\n if (construct.resolve) {\n splice(\n context.events,\n from,\n context.events.length - from,\n construct.resolve(context.events.slice(from), context)\n )\n }\n\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context)\n }\n }\n /**\n * Store state.\n *\n * @returns {Info}\n */\n\n function store() {\n const startPoint = now()\n const startPrevious = context.previous\n const startCurrentConstruct = context.currentConstruct\n const startEventsIndex = context.events.length\n const startStack = Array.from(stack)\n return {\n restore,\n from: startEventsIndex\n }\n /**\n * Restore state.\n *\n * @returns {void}\n */\n\n function restore() {\n point = startPoint\n context.previous = startPrevious\n context.currentConstruct = startCurrentConstruct\n context.events.length = startEventsIndex\n stack = startStack\n accountForPotentialSkip()\n }\n }\n /**\n * Move the current point a bit forward in the line when it’s on a column\n * skip.\n *\n * @returns {void}\n */\n\n function accountForPotentialSkip() {\n if (point.line in columnStart && point.column < 2) {\n point.column = columnStart[point.line]\n point.offset += columnStart[point.line] - 1\n }\n }\n}\n/**\n * Get the chunks from a slice of chunks in the range of a token.\n *\n * @param {Array<Chunk>} chunks\n * @param {Pick<Token, 'start'|'end'>} token\n * @returns {Array<Chunk>}\n */\n\nfunction sliceChunks(chunks, token) {\n const startIndex = token.start._index\n const startBufferIndex = token.start._bufferIndex\n const endIndex = token.end._index\n const endBufferIndex = token.end._bufferIndex\n /** @type {Array<Chunk>} */\n\n let view\n\n if (startIndex === endIndex) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)]\n } else {\n view = chunks.slice(startIndex, endIndex)\n\n if (startBufferIndex > -1) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view[0] = view[0].slice(startBufferIndex)\n }\n\n if (endBufferIndex > 0) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view.push(chunks[endIndex].slice(0, endBufferIndex))\n }\n }\n\n return view\n}\n/**\n * Get the string value of a slice of chunks.\n *\n * @param {Array<Chunk>} chunks\n * @param {boolean} [expandTabs=false]\n * @returns {string}\n */\n\nfunction serializeChunks(chunks, expandTabs) {\n let index = -1\n /** @type {Array<string>} */\n\n const result = []\n /** @type {boolean|undefined} */\n\n let atTab\n\n while (++index < chunks.length) {\n const chunk = chunks[index]\n /** @type {string} */\n\n let value\n\n if (typeof chunk === 'string') {\n value = chunk\n } else\n switch (chunk) {\n case -5: {\n value = '\\r'\n break\n }\n\n case -4: {\n value = '\\n'\n break\n }\n\n case -3: {\n value = '\\r' + '\\n'\n break\n }\n\n case -2: {\n value = expandTabs ? ' ' : '\\t'\n break\n }\n\n case -1: {\n if (!expandTabs && atTab) continue\n value = ' '\n break\n }\n\n default: {\n // Currently only replacement character.\n value = String.fromCharCode(chunk)\n }\n }\n\n atTab = chunk === -2\n result.push(value)\n }\n\n return result.join('')\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const thematicBreak = {\n name: 'thematicBreak',\n tokenize: tokenizeThematicBreak\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeThematicBreak(effects, ok, nok) {\n let size = 0\n /** @type {NonNullable<Code>} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('thematicBreak')\n marker = code\n return atBreak(code)\n }\n /** @type {State} */\n\n function atBreak(code) {\n if (code === marker) {\n effects.enter('thematicBreakSequence')\n return sequence(code)\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, atBreak, 'whitespace')(code)\n }\n\n if (size < 3 || (code !== null && !markdownLineEnding(code))) {\n return nok(code)\n }\n\n effects.exit('thematicBreak')\n return ok(code)\n }\n /** @type {State} */\n\n function sequence(code) {\n if (code === marker) {\n effects.consume(code)\n size++\n return sequence\n }\n\n effects.exit('thematicBreakSequence')\n return atBreak(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Exiter} Exiter\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\n\n/**\n * @typedef {Record<string, unknown> & {marker: Code, type: string, size: number}} ListContainerState\n * @typedef {TokenizeContext & {containerState: ListContainerState}} TokenizeContextWithState\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {asciiDigit, markdownSpace} from 'micromark-util-character'\nimport {blankLine} from './blank-line.js'\nimport {thematicBreak} from './thematic-break.js'\n/** @type {Construct} */\n\nexport const list = {\n name: 'list',\n tokenize: tokenizeListStart,\n continuation: {\n tokenize: tokenizeListContinuation\n },\n exit: tokenizeListEnd\n}\n/** @type {Construct} */\n\nconst listItemPrefixWhitespaceConstruct = {\n tokenize: tokenizeListItemPrefixWhitespace,\n partial: true\n}\n/** @type {Construct} */\n\nconst indentConstruct = {\n tokenize: tokenizeIndent,\n partial: true\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListStart(effects, ok, nok) {\n const self = this\n const tail = self.events[self.events.length - 1]\n let initialSize =\n tail && tail[1].type === 'linePrefix'\n ? tail[2].sliceSerialize(tail[1], true).length\n : 0\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n const kind =\n self.containerState.type ||\n (code === 42 || code === 43 || code === 45\n ? 'listUnordered'\n : 'listOrdered')\n\n if (\n kind === 'listUnordered'\n ? !self.containerState.marker || code === self.containerState.marker\n : asciiDigit(code)\n ) {\n if (!self.containerState.type) {\n self.containerState.type = kind\n effects.enter(kind, {\n _container: true\n })\n }\n\n if (kind === 'listUnordered') {\n effects.enter('listItemPrefix')\n return code === 42 || code === 45\n ? effects.check(thematicBreak, nok, atMarker)(code)\n : atMarker(code)\n }\n\n if (!self.interrupt || code === 49) {\n effects.enter('listItemPrefix')\n effects.enter('listItemValue')\n return inside(code)\n }\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function inside(code) {\n if (asciiDigit(code) && ++size < 10) {\n effects.consume(code)\n return inside\n }\n\n if (\n (!self.interrupt || size < 2) &&\n (self.containerState.marker\n ? code === self.containerState.marker\n : code === 41 || code === 46)\n ) {\n effects.exit('listItemValue')\n return atMarker(code)\n }\n\n return nok(code)\n }\n /**\n * @type {State}\n **/\n\n function atMarker(code) {\n effects.enter('listItemMarker')\n effects.consume(code)\n effects.exit('listItemMarker')\n self.containerState.marker = self.containerState.marker || code\n return effects.check(\n blankLine, // Can’t be empty when interrupting.\n self.interrupt ? nok : onBlank,\n effects.attempt(\n listItemPrefixWhitespaceConstruct,\n endOfPrefix,\n otherPrefix\n )\n )\n }\n /** @type {State} */\n\n function onBlank(code) {\n self.containerState.initialBlankLine = true\n initialSize++\n return endOfPrefix(code)\n }\n /** @type {State} */\n\n function otherPrefix(code) {\n if (markdownSpace(code)) {\n effects.enter('listItemPrefixWhitespace')\n effects.consume(code)\n effects.exit('listItemPrefixWhitespace')\n return endOfPrefix\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function endOfPrefix(code) {\n self.containerState.size =\n initialSize +\n self.sliceSerialize(effects.exit('listItemPrefix'), true).length\n return ok(code)\n }\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListContinuation(effects, ok, nok) {\n const self = this\n self.containerState._closeFlow = undefined\n return effects.check(blankLine, onBlank, notBlank)\n /** @type {State} */\n\n function onBlank(code) {\n self.containerState.furtherBlankLines =\n self.containerState.furtherBlankLines ||\n self.containerState.initialBlankLine // We have a blank line.\n // Still, try to consume at most the items size.\n\n return factorySpace(\n effects,\n ok,\n 'listItemIndent',\n self.containerState.size + 1\n )(code)\n }\n /** @type {State} */\n\n function notBlank(code) {\n if (self.containerState.furtherBlankLines || !markdownSpace(code)) {\n self.containerState.furtherBlankLines = undefined\n self.containerState.initialBlankLine = undefined\n return notInCurrentItem(code)\n }\n\n self.containerState.furtherBlankLines = undefined\n self.containerState.initialBlankLine = undefined\n return effects.attempt(indentConstruct, ok, notInCurrentItem)(code)\n }\n /** @type {State} */\n\n function notInCurrentItem(code) {\n // While we do continue, we signal that the flow should be closed.\n self.containerState._closeFlow = true // As we’re closing flow, we’re no longer interrupting.\n\n self.interrupt = undefined\n return factorySpace(\n effects,\n effects.attempt(list, ok, nok),\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )(code)\n }\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeIndent(effects, ok, nok) {\n const self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'listItemIndent',\n self.containerState.size + 1\n )\n /** @type {State} */\n\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'listItemIndent' &&\n tail[2].sliceSerialize(tail[1], true).length === self.containerState.size\n ? ok(code)\n : nok(code)\n }\n}\n/**\n * @type {Exiter}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListEnd(effects) {\n effects.exit(this.containerState.type)\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListItemPrefixWhitespace(effects, ok, nok) {\n const self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'listItemPrefixWhitespace',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4 + 1\n )\n /** @type {State} */\n\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return !markdownSpace(code) &&\n tail &&\n tail[1].type === 'listItemPrefixWhitespace'\n ? ok(code)\n : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Exiter} Exiter\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownSpace} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const blockQuote = {\n name: 'blockQuote',\n tokenize: tokenizeBlockQuoteStart,\n continuation: {\n tokenize: tokenizeBlockQuoteContinuation\n },\n exit\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeBlockQuoteStart(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n if (code === 62) {\n const state = self.containerState\n\n if (!state.open) {\n effects.enter('blockQuote', {\n _container: true\n })\n state.open = true\n }\n\n effects.enter('blockQuotePrefix')\n effects.enter('blockQuoteMarker')\n effects.consume(code)\n effects.exit('blockQuoteMarker')\n return after\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n if (markdownSpace(code)) {\n effects.enter('blockQuotePrefixWhitespace')\n effects.consume(code)\n effects.exit('blockQuotePrefixWhitespace')\n effects.exit('blockQuotePrefix')\n return ok\n }\n\n effects.exit('blockQuotePrefix')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeBlockQuoteContinuation(effects, ok, nok) {\n return factorySpace(\n effects,\n effects.attempt(blockQuote, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4\n )\n}\n/** @type {Exiter} */\n\nfunction exit(effects) {\n effects.exit('blockQuote')\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\nimport {\n asciiControl,\n markdownLineEndingOrSpace,\n markdownLineEnding\n} from 'micromark-util-character'\n\n/**\n * @param {Effects} effects\n * @param {State} ok\n * @param {State} nok\n * @param {string} type\n * @param {string} literalType\n * @param {string} literalMarkerType\n * @param {string} rawType\n * @param {string} stringType\n * @param {number} [max=Infinity]\n * @returns {State}\n */\n// eslint-disable-next-line max-params\nexport function factoryDestination(\n effects,\n ok,\n nok,\n type,\n literalType,\n literalMarkerType,\n rawType,\n stringType,\n max\n) {\n const limit = max || Number.POSITIVE_INFINITY\n let balance = 0\n return start\n /** @type {State} */\n\n function start(code) {\n if (code === 60) {\n effects.enter(type)\n effects.enter(literalType)\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n return destinationEnclosedBefore\n }\n\n if (code === null || code === 41 || asciiControl(code)) {\n return nok(code)\n }\n\n effects.enter(type)\n effects.enter(rawType)\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return destinationRaw(code)\n }\n /** @type {State} */\n\n function destinationEnclosedBefore(code) {\n if (code === 62) {\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n effects.exit(literalType)\n effects.exit(type)\n return ok\n }\n\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return destinationEnclosed(code)\n }\n /** @type {State} */\n\n function destinationEnclosed(code) {\n if (code === 62) {\n effects.exit('chunkString')\n effects.exit(stringType)\n return destinationEnclosedBefore(code)\n }\n\n if (code === null || code === 60 || markdownLineEnding(code)) {\n return nok(code)\n }\n\n effects.consume(code)\n return code === 92 ? destinationEnclosedEscape : destinationEnclosed\n }\n /** @type {State} */\n\n function destinationEnclosedEscape(code) {\n if (code === 60 || code === 62 || code === 92) {\n effects.consume(code)\n return destinationEnclosed\n }\n\n return destinationEnclosed(code)\n }\n /** @type {State} */\n\n function destinationRaw(code) {\n if (code === 40) {\n if (++balance > limit) return nok(code)\n effects.consume(code)\n return destinationRaw\n }\n\n if (code === 41) {\n if (!balance--) {\n effects.exit('chunkString')\n effects.exit(stringType)\n effects.exit(rawType)\n effects.exit(type)\n return ok(code)\n }\n\n effects.consume(code)\n return destinationRaw\n }\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n if (balance) return nok(code)\n effects.exit('chunkString')\n effects.exit(stringType)\n effects.exit(rawType)\n effects.exit(type)\n return ok(code)\n }\n\n if (asciiControl(code)) return nok(code)\n effects.consume(code)\n return code === 92 ? destinationRawEscape : destinationRaw\n }\n /** @type {State} */\n\n function destinationRawEscape(code) {\n if (code === 40 || code === 41 || code === 92) {\n effects.consume(code)\n return destinationRaw\n }\n\n return destinationRaw(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\n\n/**\n * @this {TokenizeContext}\n * @param {Effects} effects\n * @param {State} ok\n * @param {State} nok\n * @param {string} type\n * @param {string} markerType\n * @param {string} stringType\n * @returns {State}\n */\n// eslint-disable-next-line max-params\nexport function factoryLabel(effects, ok, nok, type, markerType, stringType) {\n const self = this\n let size = 0\n /** @type {boolean} */\n\n let data\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.enter(stringType)\n return atBreak\n }\n /** @type {State} */\n\n function atBreak(code) {\n if (\n code === null ||\n code === 91 ||\n (code === 93 && !data) ||\n /* To do: remove in the future once we’ve switched from\n * `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n * which doesn’t need this */\n\n /* Hidden footnotes hook */\n\n /* c8 ignore next 3 */\n (code === 94 &&\n !size &&\n '_hiddenFootnoteSupport' in self.parser.constructs) ||\n size > 999\n ) {\n return nok(code)\n }\n\n if (code === 93) {\n effects.exit(stringType)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return atBreak\n }\n\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return label(code)\n }\n /** @type {State} */\n\n function label(code) {\n if (\n code === null ||\n code === 91 ||\n code === 93 ||\n markdownLineEnding(code) ||\n size++ > 999\n ) {\n effects.exit('chunkString')\n return atBreak(code)\n }\n\n effects.consume(code)\n data = data || !markdownSpace(code)\n return code === 92 ? labelEscape : label\n }\n /** @type {State} */\n\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code)\n size++\n return label\n }\n\n return label(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/**\n * @param {Effects} effects\n * @param {State} ok\n * @param {State} nok\n * @param {string} type\n * @param {string} markerType\n * @param {string} stringType\n * @returns {State}\n */\n// eslint-disable-next-line max-params\nexport function factoryTitle(effects, ok, nok, type, markerType, stringType) {\n /** @type {NonNullable<Code>} */\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n marker = code === 40 ? 41 : code\n return atFirstTitleBreak\n }\n /** @type {State} */\n\n function atFirstTitleBreak(code) {\n if (code === marker) {\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n effects.enter(stringType)\n return atTitleBreak(code)\n }\n /** @type {State} */\n\n function atTitleBreak(code) {\n if (code === marker) {\n effects.exit(stringType)\n return atFirstTitleBreak(marker)\n }\n\n if (code === null) {\n return nok(code)\n } // Note: blank lines can’t exist in content.\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, atTitleBreak, 'linePrefix')\n }\n\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return title(code)\n }\n /** @type {State} */\n\n function title(code) {\n if (code === marker || code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n return atTitleBreak(code)\n }\n\n effects.consume(code)\n return code === 92 ? titleEscape : title\n }\n /** @type {State} */\n\n function titleEscape(code) {\n if (code === marker || code === 92) {\n effects.consume(code)\n return title\n }\n\n return title(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\n\n/**\n * @param {Effects} effects\n * @param {State} ok\n */\nexport function factoryWhitespace(effects, ok) {\n /** @type {boolean} */\n let seen\n return start\n /** @type {State} */\n\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n seen = true\n return start\n }\n\n if (markdownSpace(code)) {\n return factorySpace(\n effects,\n start,\n seen ? 'linePrefix' : 'lineSuffix'\n )(code)\n }\n\n return ok(code)\n }\n}\n","/**\n * Normalize an identifier (such as used in definitions).\n *\n * @param {string} value\n * @returns {string}\n */\nexport function normalizeIdentifier(value) {\n return (\n value // Collapse Markdown whitespace.\n .replace(/[\\t\\n\\r ]+/g, ' ') // Trim.\n .replace(/^ | $/g, '') // Some characters are considered “uppercase”, but if their lowercase\n // counterpart is uppercased will result in a different uppercase\n // character.\n // Hence, to get that form, we perform both lower- and uppercase.\n // Upper case makes sure keys will not interact with default prototypal\n // methods: no method is uppercase.\n .toLowerCase()\n .toUpperCase()\n )\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factoryDestination} from 'micromark-factory-destination'\nimport {factoryLabel} from 'micromark-factory-label'\nimport {factorySpace} from 'micromark-factory-space'\nimport {factoryTitle} from 'micromark-factory-title'\nimport {factoryWhitespace} from 'micromark-factory-whitespace'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const definition = {\n name: 'definition',\n tokenize: tokenizeDefinition\n}\n/** @type {Construct} */\n\nconst titleConstruct = {\n tokenize: tokenizeTitle,\n partial: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeDefinition(effects, ok, nok) {\n const self = this\n /** @type {string} */\n\n let identifier\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('definition')\n return factoryLabel.call(\n self,\n effects,\n labelAfter,\n nok,\n 'definitionLabel',\n 'definitionLabelMarker',\n 'definitionLabelString'\n )(code)\n }\n /** @type {State} */\n\n function labelAfter(code) {\n identifier = normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n\n if (code === 58) {\n effects.enter('definitionMarker')\n effects.consume(code)\n effects.exit('definitionMarker') // Note: blank lines can’t exist in content.\n\n return factoryWhitespace(\n effects,\n factoryDestination(\n effects,\n effects.attempt(\n titleConstruct,\n factorySpace(effects, after, 'whitespace'),\n factorySpace(effects, after, 'whitespace')\n ),\n nok,\n 'definitionDestination',\n 'definitionDestinationLiteral',\n 'definitionDestinationLiteralMarker',\n 'definitionDestinationRaw',\n 'definitionDestinationString'\n )\n )\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('definition')\n\n if (!self.parser.defined.includes(identifier)) {\n self.parser.defined.push(identifier)\n }\n\n return ok(code)\n }\n\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeTitle(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, before)(code)\n : nok(code)\n }\n /** @type {State} */\n\n function before(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(\n effects,\n factorySpace(effects, after, 'whitespace'),\n nok,\n 'definitionTitle',\n 'definitionTitleMarker',\n 'definitionTitleString'\n )(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const codeIndented = {\n name: 'codeIndented',\n tokenize: tokenizeCodeIndented\n}\n/** @type {Construct} */\n\nconst indentedContent = {\n tokenize: tokenizeIndentedContent,\n partial: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCodeIndented(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('codeIndented')\n return factorySpace(effects, afterStartPrefix, 'linePrefix', 4 + 1)(code)\n }\n /** @type {State} */\n\n function afterStartPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'linePrefix' &&\n tail[2].sliceSerialize(tail[1], true).length >= 4\n ? afterPrefix(code)\n : nok(code)\n }\n /** @type {State} */\n\n function afterPrefix(code) {\n if (code === null) {\n return after(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(indentedContent, afterPrefix, after)(code)\n }\n\n effects.enter('codeFlowValue')\n return content(code)\n }\n /** @type {State} */\n\n function content(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue')\n return afterPrefix(code)\n }\n\n effects.consume(code)\n return content\n }\n /** @type {State} */\n\n function after(code) {\n effects.exit('codeIndented')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeIndentedContent(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n // If this is a lazy line, it can’t be code.\n if (self.parser.lazy[self.now().line]) {\n return nok(code)\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return start\n }\n\n return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1)(code)\n }\n /** @type {State} */\n\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'linePrefix' &&\n tail[2].sliceSerialize(tail[1], true).length >= 4\n ? ok(code)\n : markdownLineEnding(code)\n ? start(code)\n : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\nimport {splice} from 'micromark-util-chunked'\n\n/** @type {Construct} */\nexport const headingAtx = {\n name: 'headingAtx',\n tokenize: tokenizeHeadingAtx,\n resolve: resolveHeadingAtx\n}\n/** @type {Resolver} */\n\nfunction resolveHeadingAtx(events, context) {\n let contentEnd = events.length - 2\n let contentStart = 3\n /** @type {Token} */\n\n let content\n /** @type {Token} */\n\n let text // Prefix whitespace, part of the opening.\n\n if (events[contentStart][1].type === 'whitespace') {\n contentStart += 2\n } // Suffix whitespace, part of the closing.\n\n if (\n contentEnd - 2 > contentStart &&\n events[contentEnd][1].type === 'whitespace'\n ) {\n contentEnd -= 2\n }\n\n if (\n events[contentEnd][1].type === 'atxHeadingSequence' &&\n (contentStart === contentEnd - 1 ||\n (contentEnd - 4 > contentStart &&\n events[contentEnd - 2][1].type === 'whitespace'))\n ) {\n contentEnd -= contentStart + 1 === contentEnd ? 2 : 4\n }\n\n if (contentEnd > contentStart) {\n content = {\n type: 'atxHeadingText',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end\n }\n text = {\n type: 'chunkText',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end,\n // @ts-expect-error Constants are fine to assign.\n contentType: 'text'\n }\n splice(events, contentStart, contentEnd - contentStart + 1, [\n ['enter', content, context],\n ['enter', text, context],\n ['exit', text, context],\n ['exit', content, context]\n ])\n }\n\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHeadingAtx(effects, ok, nok) {\n const self = this\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('atxHeading')\n effects.enter('atxHeadingSequence')\n return fenceOpenInside(code)\n }\n /** @type {State} */\n\n function fenceOpenInside(code) {\n if (code === 35 && size++ < 6) {\n effects.consume(code)\n return fenceOpenInside\n }\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit('atxHeadingSequence')\n return self.interrupt ? ok(code) : headingBreak(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function headingBreak(code) {\n if (code === 35) {\n effects.enter('atxHeadingSequence')\n return sequence(code)\n }\n\n if (code === null || markdownLineEnding(code)) {\n effects.exit('atxHeading')\n return ok(code)\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, headingBreak, 'whitespace')(code)\n }\n\n effects.enter('atxHeadingText')\n return data(code)\n }\n /** @type {State} */\n\n function sequence(code) {\n if (code === 35) {\n effects.consume(code)\n return sequence\n }\n\n effects.exit('atxHeadingSequence')\n return headingBreak(code)\n }\n /** @type {State} */\n\n function data(code) {\n if (code === null || code === 35 || markdownLineEndingOrSpace(code)) {\n effects.exit('atxHeadingText')\n return headingBreak(code)\n }\n\n effects.consume(code)\n return data\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const setextUnderline = {\n name: 'setextUnderline',\n tokenize: tokenizeSetextUnderline,\n resolveTo: resolveToSetextUnderline\n}\n/** @type {Resolver} */\n\nfunction resolveToSetextUnderline(events, context) {\n let index = events.length\n /** @type {number|undefined} */\n\n let content\n /** @type {number|undefined} */\n\n let text\n /** @type {number|undefined} */\n\n let definition // Find the opening of the content.\n // It’ll always exist: we don’t tokenize if it isn’t there.\n\n while (index--) {\n if (events[index][0] === 'enter') {\n if (events[index][1].type === 'content') {\n content = index\n break\n }\n\n if (events[index][1].type === 'paragraph') {\n text = index\n }\n } // Exit\n else {\n if (events[index][1].type === 'content') {\n // Remove the content end (if needed we’ll add it later)\n events.splice(index, 1)\n }\n\n if (!definition && events[index][1].type === 'definition') {\n definition = index\n }\n }\n }\n\n const heading = {\n type: 'setextHeading',\n start: Object.assign({}, events[text][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n } // Change the paragraph to setext heading text.\n\n events[text][1].type = 'setextHeadingText' // If we have definitions in the content, we’ll keep on having content,\n // but we need move it.\n\n if (definition) {\n events.splice(text, 0, ['enter', heading, context])\n events.splice(definition + 1, 0, ['exit', events[content][1], context])\n events[content][1].end = Object.assign({}, events[definition][1].end)\n } else {\n events[content][1] = heading\n } // Add the heading exit at the end.\n\n events.push(['exit', heading, context])\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeSetextUnderline(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {NonNullable<Code>} */\n\n let marker\n /** @type {boolean} */\n\n let paragraph // Find an opening.\n\n while (index--) {\n // Skip enter/exit of line ending, line prefix, and content.\n // We can now either have a definition or a paragraph.\n if (\n self.events[index][1].type !== 'lineEnding' &&\n self.events[index][1].type !== 'linePrefix' &&\n self.events[index][1].type !== 'content'\n ) {\n paragraph = self.events[index][1].type === 'paragraph'\n break\n }\n }\n\n return start\n /** @type {State} */\n\n function start(code) {\n if (!self.parser.lazy[self.now().line] && (self.interrupt || paragraph)) {\n effects.enter('setextHeadingLine')\n effects.enter('setextHeadingLineSequence')\n marker = code\n return closingSequence(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function closingSequence(code) {\n if (code === marker) {\n effects.consume(code)\n return closingSequence\n }\n\n effects.exit('setextHeadingLineSequence')\n return factorySpace(effects, closingSequenceEnd, 'lineSuffix')(code)\n }\n /** @type {State} */\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('setextHeadingLine')\n return ok(code)\n }\n\n return nok(code)\n }\n}\n","/**\n * List of lowercase HTML tag names which when parsing HTML (flow), result\n * in more relaxed rules (condition 6): because they are known blocks, the\n * HTML-like syntax doesn’t have to be strictly parsed.\n * For tag names not in this list, a more strict algorithm (condition 7) is used\n * to detect whether the HTML-like syntax is seen as HTML (flow) or not.\n *\n * This is copied from:\n * <https://spec.commonmark.org/0.30/#html-blocks>.\n */\nexport const htmlBlockNames = [\n 'address',\n 'article',\n 'aside',\n 'base',\n 'basefont',\n 'blockquote',\n 'body',\n 'caption',\n 'center',\n 'col',\n 'colgroup',\n 'dd',\n 'details',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'frame',\n 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hr',\n 'html',\n 'iframe',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'menu',\n 'menuitem',\n 'nav',\n 'noframes',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'param',\n 'section',\n 'summary',\n 'table',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'title',\n 'tr',\n 'track',\n 'ul'\n]\n\n/**\n * List of lowercase HTML tag names which when parsing HTML (flow), result in\n * HTML that can include lines w/o exiting, until a closing tag also in this\n * list is found (condition 1).\n *\n * This module is copied from:\n * <https://spec.commonmark.org/0.30/#html-blocks>.\n *\n * Note that `textarea` was added in `CommonMark@0.30`.\n */\nexport const htmlRawNames = ['pre', 'script', 'style', 'textarea']\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\nimport {htmlBlockNames, htmlRawNames} from 'micromark-util-html-tag-name'\nimport {blankLine} from './blank-line.js'\n/** @type {Construct} */\n\nexport const htmlFlow = {\n name: 'htmlFlow',\n tokenize: tokenizeHtmlFlow,\n resolveTo: resolveToHtmlFlow,\n concrete: true\n}\n/** @type {Construct} */\n\nconst nextBlankConstruct = {\n tokenize: tokenizeNextBlank,\n partial: true\n}\n/** @type {Resolver} */\n\nfunction resolveToHtmlFlow(events) {\n let index = events.length\n\n while (index--) {\n if (events[index][0] === 'enter' && events[index][1].type === 'htmlFlow') {\n break\n }\n }\n\n if (index > 1 && events[index - 2][1].type === 'linePrefix') {\n // Add the prefix start to the HTML token.\n events[index][1].start = events[index - 2][1].start // Add the prefix start to the HTML line token.\n\n events[index + 1][1].start = events[index - 2][1].start // Remove the line prefix.\n\n events.splice(index - 2, 2)\n }\n\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHtmlFlow(effects, ok, nok) {\n const self = this\n /** @type {number} */\n\n let kind\n /** @type {boolean} */\n\n let startTag\n /** @type {string} */\n\n let buffer\n /** @type {number} */\n\n let index\n /** @type {Code} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('htmlFlow')\n effects.enter('htmlFlowData')\n effects.consume(code)\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationStart\n }\n\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n\n if (code === 63) {\n effects.consume(code)\n kind = 3 // While we’re in an instruction instead of a declaration, we’re on a `?`\n // right now, so we do need to search for `>`, similar to declarations.\n\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n buffer = String.fromCharCode(code)\n startTag = true\n return tagName\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function declarationStart(code) {\n if (code === 45) {\n effects.consume(code)\n kind = 2\n return commentOpenInside\n }\n\n if (code === 91) {\n effects.consume(code)\n kind = 5\n buffer = 'CDATA['\n index = 0\n return cdataOpenInside\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n kind = 4\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code)\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function cdataOpenInside(code) {\n if (code === buffer.charCodeAt(index++)) {\n effects.consume(code)\n return index === buffer.length\n ? self.interrupt\n ? ok\n : continuation\n : cdataOpenInside\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n buffer = String.fromCharCode(code)\n return tagName\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagName(code) {\n if (\n code === null ||\n code === 47 ||\n code === 62 ||\n markdownLineEndingOrSpace(code)\n ) {\n if (\n code !== 47 &&\n startTag &&\n htmlRawNames.includes(buffer.toLowerCase())\n ) {\n kind = 1\n return self.interrupt ? ok(code) : continuation(code)\n }\n\n if (htmlBlockNames.includes(buffer.toLowerCase())) {\n kind = 6\n\n if (code === 47) {\n effects.consume(code)\n return basicSelfClosing\n }\n\n return self.interrupt ? ok(code) : continuation(code)\n }\n\n kind = 7 // Do not support complete HTML when interrupting\n\n return self.interrupt && !self.parser.lazy[self.now().line]\n ? nok(code)\n : startTag\n ? completeAttributeNameBefore(code)\n : completeClosingTagAfter(code)\n }\n\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n buffer += String.fromCharCode(code)\n return tagName\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function basicSelfClosing(code) {\n if (code === 62) {\n effects.consume(code)\n return self.interrupt ? ok : continuation\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function completeClosingTagAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeClosingTagAfter\n }\n\n return completeEnd(code)\n }\n /** @type {State} */\n\n function completeAttributeNameBefore(code) {\n if (code === 47) {\n effects.consume(code)\n return completeEnd\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code)\n return completeAttributeName\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeNameBefore\n }\n\n return completeEnd(code)\n }\n /** @type {State} */\n\n function completeAttributeName(code) {\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return completeAttributeName\n }\n\n return completeAttributeNameAfter(code)\n }\n /** @type {State} */\n\n function completeAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return completeAttributeValueBefore\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeNameAfter\n }\n\n return completeAttributeNameBefore(code)\n }\n /** @type {State} */\n\n function completeAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return completeAttributeValueQuoted\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeValueBefore\n }\n\n marker = null\n return completeAttributeValueUnquoted(code)\n }\n /** @type {State} */\n\n function completeAttributeValueQuoted(code) {\n if (code === null || markdownLineEnding(code)) {\n return nok(code)\n }\n\n if (code === marker) {\n effects.consume(code)\n return completeAttributeValueQuotedAfter\n }\n\n effects.consume(code)\n return completeAttributeValueQuoted\n }\n /** @type {State} */\n\n function completeAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96 ||\n markdownLineEndingOrSpace(code)\n ) {\n return completeAttributeNameAfter(code)\n }\n\n effects.consume(code)\n return completeAttributeValueUnquoted\n }\n /** @type {State} */\n\n function completeAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownSpace(code)) {\n return completeAttributeNameBefore(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function completeEnd(code) {\n if (code === 62) {\n effects.consume(code)\n return completeAfter\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function completeAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAfter\n }\n\n return code === null || markdownLineEnding(code)\n ? continuation(code)\n : nok(code)\n }\n /** @type {State} */\n\n function continuation(code) {\n if (code === 45 && kind === 2) {\n effects.consume(code)\n return continuationCommentInside\n }\n\n if (code === 60 && kind === 1) {\n effects.consume(code)\n return continuationRawTagOpen\n }\n\n if (code === 62 && kind === 4) {\n effects.consume(code)\n return continuationClose\n }\n\n if (code === 63 && kind === 3) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n if (code === 93 && kind === 5) {\n effects.consume(code)\n return continuationCharacterDataInside\n }\n\n if (markdownLineEnding(code) && (kind === 6 || kind === 7)) {\n return effects.check(\n nextBlankConstruct,\n continuationClose,\n continuationAtLineEnding\n )(code)\n }\n\n if (code === null || markdownLineEnding(code)) {\n return continuationAtLineEnding(code)\n }\n\n effects.consume(code)\n return continuation\n }\n /** @type {State} */\n\n function continuationAtLineEnding(code) {\n effects.exit('htmlFlowData')\n return htmlContinueStart(code)\n }\n /** @type {State} */\n\n function htmlContinueStart(code) {\n if (code === null) {\n return done(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(\n {\n tokenize: htmlLineEnd,\n partial: true\n },\n htmlContinueStart,\n done\n )(code)\n }\n\n effects.enter('htmlFlowData')\n return continuation(code)\n }\n /** @type {Tokenizer} */\n\n function htmlLineEnd(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return lineStart\n }\n /** @type {State} */\n\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n }\n /** @type {State} */\n\n function continuationCommentInside(code) {\n if (code === 45) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code)\n buffer = ''\n return continuationRawEndTag\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationRawEndTag(code) {\n if (code === 62 && htmlRawNames.includes(buffer.toLowerCase())) {\n effects.consume(code)\n return continuationClose\n }\n\n if (asciiAlpha(code) && buffer.length < 8) {\n effects.consume(code)\n buffer += String.fromCharCode(code)\n return continuationRawEndTag\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationCharacterDataInside(code) {\n if (code === 93) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code)\n return continuationClose\n } // More dashes.\n\n if (code === 45 && kind === 2) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationClose(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('htmlFlowData')\n return done(code)\n }\n\n effects.consume(code)\n return continuationClose\n }\n /** @type {State} */\n\n function done(code) {\n effects.exit('htmlFlow')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeNextBlank(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.exit('htmlFlowData')\n effects.enter('lineEndingBlank')\n effects.consume(code)\n effects.exit('lineEndingBlank')\n return effects.attempt(blankLine, ok, nok)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const codeFenced = {\n name: 'codeFenced',\n tokenize: tokenizeCodeFenced,\n concrete: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCodeFenced(effects, ok, nok) {\n const self = this\n /** @type {Construct} */\n\n const closingFenceConstruct = {\n tokenize: tokenizeClosingFence,\n partial: true\n }\n /** @type {Construct} */\n\n const nonLazyLine = {\n tokenize: tokenizeNonLazyLine,\n partial: true\n }\n const tail = this.events[this.events.length - 1]\n const initialPrefix =\n tail && tail[1].type === 'linePrefix'\n ? tail[2].sliceSerialize(tail[1], true).length\n : 0\n let sizeOpen = 0\n /** @type {NonNullable<Code>} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('codeFenced')\n effects.enter('codeFencedFence')\n effects.enter('codeFencedFenceSequence')\n marker = code\n return sequenceOpen(code)\n }\n /** @type {State} */\n\n function sequenceOpen(code) {\n if (code === marker) {\n effects.consume(code)\n sizeOpen++\n return sequenceOpen\n }\n\n effects.exit('codeFencedFenceSequence')\n return sizeOpen < 3\n ? nok(code)\n : factorySpace(effects, infoOpen, 'whitespace')(code)\n }\n /** @type {State} */\n\n function infoOpen(code) {\n if (code === null || markdownLineEnding(code)) {\n return openAfter(code)\n }\n\n effects.enter('codeFencedFenceInfo')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return info(code)\n }\n /** @type {State} */\n\n function info(code) {\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceInfo')\n return factorySpace(effects, infoAfter, 'whitespace')(code)\n }\n\n if (code === 96 && code === marker) return nok(code)\n effects.consume(code)\n return info\n }\n /** @type {State} */\n\n function infoAfter(code) {\n if (code === null || markdownLineEnding(code)) {\n return openAfter(code)\n }\n\n effects.enter('codeFencedFenceMeta')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return meta(code)\n }\n /** @type {State} */\n\n function meta(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceMeta')\n return openAfter(code)\n }\n\n if (code === 96 && code === marker) return nok(code)\n effects.consume(code)\n return meta\n }\n /** @type {State} */\n\n function openAfter(code) {\n effects.exit('codeFencedFence')\n return self.interrupt ? ok(code) : contentStart(code)\n }\n /** @type {State} */\n\n function contentStart(code) {\n if (code === null) {\n return after(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(\n nonLazyLine,\n effects.attempt(\n closingFenceConstruct,\n after,\n initialPrefix\n ? factorySpace(\n effects,\n contentStart,\n 'linePrefix',\n initialPrefix + 1\n )\n : contentStart\n ),\n after\n )(code)\n }\n\n effects.enter('codeFlowValue')\n return contentContinue(code)\n }\n /** @type {State} */\n\n function contentContinue(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue')\n return contentStart(code)\n }\n\n effects.consume(code)\n return contentContinue\n }\n /** @type {State} */\n\n function after(code) {\n effects.exit('codeFenced')\n return ok(code)\n }\n /** @type {Tokenizer} */\n\n function tokenizeNonLazyLine(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return lineStart\n }\n /** @type {State} */\n\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n }\n /** @type {Tokenizer} */\n\n function tokenizeClosingFence(effects, ok, nok) {\n let size = 0\n return factorySpace(\n effects,\n closingSequenceStart,\n 'linePrefix',\n this.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )\n /** @type {State} */\n\n function closingSequenceStart(code) {\n effects.enter('codeFencedFence')\n effects.enter('codeFencedFenceSequence')\n return closingSequence(code)\n }\n /** @type {State} */\n\n function closingSequence(code) {\n if (code === marker) {\n effects.consume(code)\n size++\n return closingSequence\n }\n\n if (size < sizeOpen) return nok(code)\n effects.exit('codeFencedFenceSequence')\n return factorySpace(effects, closingSequenceEnd, 'whitespace')(code)\n }\n /** @type {State} */\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFencedFence')\n return ok(code)\n }\n\n return nok(code)\n }\n }\n}\n","/// <reference lib=\"dom\" />\n\n/* eslint-env browser */\n\nconst element = document.createElement('i')\n\n/**\n * @param {string} value\n * @returns {string|false}\n */\nexport function decodeNamedCharacterReference(value) {\n const characterReference = '&' + value + ';'\n element.innerHTML = characterReference\n const char = element.textContent\n\n // Some named character references do not require the closing semicolon\n // (`¬`, for instance), which leads to situations where parsing the assumed\n // named reference of `¬it;` will result in the string `¬it;`.\n // When we encounter a trailing semicolon after parsing, and the character\n // reference to decode was not a semicolon (`;`), we can assume that the\n // matching was not complete.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n if (char.charCodeAt(char.length - 1) === 59 /* `;` */ && value !== 'semi') {\n return false\n }\n\n // If the decoded string is equal to the input, the character reference was\n // not valid.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n return char === characterReference ? false : char\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {\n asciiAlphanumeric,\n asciiDigit,\n asciiHexDigit\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const characterReference = {\n name: 'characterReference',\n tokenize: tokenizeCharacterReference\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCharacterReference(effects, ok, nok) {\n const self = this\n let size = 0\n /** @type {number} */\n\n let max\n /** @type {(code: Code) => code is number} */\n\n let test\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('characterReference')\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 35) {\n effects.enter('characterReferenceMarkerNumeric')\n effects.consume(code)\n effects.exit('characterReferenceMarkerNumeric')\n return numeric\n }\n\n effects.enter('characterReferenceValue')\n max = 31\n test = asciiAlphanumeric\n return value(code)\n }\n /** @type {State} */\n\n function numeric(code) {\n if (code === 88 || code === 120) {\n effects.enter('characterReferenceMarkerHexadecimal')\n effects.consume(code)\n effects.exit('characterReferenceMarkerHexadecimal')\n effects.enter('characterReferenceValue')\n max = 6\n test = asciiHexDigit\n return value\n }\n\n effects.enter('characterReferenceValue')\n max = 7\n test = asciiDigit\n return value(code)\n }\n /** @type {State} */\n\n function value(code) {\n /** @type {Token} */\n let token\n\n if (code === 59 && size) {\n token = effects.exit('characterReferenceValue')\n\n if (\n test === asciiAlphanumeric &&\n !decodeNamedCharacterReference(self.sliceSerialize(token))\n ) {\n return nok(code)\n }\n\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n effects.exit('characterReference')\n return ok\n }\n\n if (test(code) && size++ < max) {\n effects.consume(code)\n return value\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {asciiPunctuation} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const characterEscape = {\n name: 'characterEscape',\n tokenize: tokenizeCharacterEscape\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCharacterEscape(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('characterEscape')\n effects.enter('escapeMarker')\n effects.consume(code)\n effects.exit('escapeMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (asciiPunctuation(code)) {\n effects.enter('characterEscapeValue')\n effects.consume(code)\n effects.exit('characterEscapeValue')\n effects.exit('characterEscape')\n return ok\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLineEnding(effects, ok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, ok, 'linePrefix')\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factoryDestination} from 'micromark-factory-destination'\nimport {factoryLabel} from 'micromark-factory-label'\nimport {factoryTitle} from 'micromark-factory-title'\nimport {factoryWhitespace} from 'micromark-factory-whitespace'\nimport {markdownLineEndingOrSpace} from 'micromark-util-character'\nimport {push, splice} from 'micromark-util-chunked'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {resolveAll} from 'micromark-util-resolve-all'\n\n/** @type {Construct} */\nexport const labelEnd = {\n name: 'labelEnd',\n tokenize: tokenizeLabelEnd,\n resolveTo: resolveToLabelEnd,\n resolveAll: resolveAllLabelEnd\n}\n/** @type {Construct} */\n\nconst resourceConstruct = {\n tokenize: tokenizeResource\n}\n/** @type {Construct} */\n\nconst fullReferenceConstruct = {\n tokenize: tokenizeFullReference\n}\n/** @type {Construct} */\n\nconst collapsedReferenceConstruct = {\n tokenize: tokenizeCollapsedReference\n}\n/** @type {Resolver} */\n\nfunction resolveAllLabelEnd(events) {\n let index = -1\n /** @type {Token} */\n\n let token\n\n while (++index < events.length) {\n token = events[index][1]\n\n if (\n token.type === 'labelImage' ||\n token.type === 'labelLink' ||\n token.type === 'labelEnd'\n ) {\n // Remove the marker.\n events.splice(index + 1, token.type === 'labelImage' ? 4 : 2)\n token.type = 'data'\n index++\n }\n }\n\n return events\n}\n/** @type {Resolver} */\n\nfunction resolveToLabelEnd(events, context) {\n let index = events.length\n let offset = 0\n /** @type {Token} */\n\n let token\n /** @type {number|undefined} */\n\n let open\n /** @type {number|undefined} */\n\n let close\n /** @type {Event[]} */\n\n let media // Find an opening.\n\n while (index--) {\n token = events[index][1]\n\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (\n token.type === 'link' ||\n (token.type === 'labelLink' && token._inactive)\n ) {\n break\n } // Mark other link openings as inactive, as we can’t have links in\n // links.\n\n if (events[index][0] === 'enter' && token.type === 'labelLink') {\n token._inactive = true\n }\n } else if (close) {\n if (\n events[index][0] === 'enter' &&\n (token.type === 'labelImage' || token.type === 'labelLink') &&\n !token._balanced\n ) {\n open = index\n\n if (token.type !== 'labelLink') {\n offset = 2\n break\n }\n }\n } else if (token.type === 'labelEnd') {\n close = index\n }\n }\n\n const group = {\n type: events[open][1].type === 'labelLink' ? 'link' : 'image',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n }\n const label = {\n type: 'label',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[close][1].end)\n }\n const text = {\n type: 'labelText',\n start: Object.assign({}, events[open + offset + 2][1].end),\n end: Object.assign({}, events[close - 2][1].start)\n }\n media = [\n ['enter', group, context],\n ['enter', label, context]\n ] // Opening marker.\n\n media = push(media, events.slice(open + 1, open + offset + 3)) // Text open.\n\n media = push(media, [['enter', text, context]]) // Between.\n\n media = push(\n media,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + offset + 4, close - 3),\n context\n )\n ) // Text close, marker close, label close.\n\n media = push(media, [\n ['exit', text, context],\n events[close - 2],\n events[close - 1],\n ['exit', label, context]\n ]) // Reference, resource, or so.\n\n media = push(media, events.slice(close + 1)) // Media close.\n\n media = push(media, [['exit', group, context]])\n splice(events, open, events.length, media)\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLabelEnd(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {Token} */\n\n let labelStart\n /** @type {boolean} */\n\n let defined // Find an opening.\n\n while (index--) {\n if (\n (self.events[index][1].type === 'labelImage' ||\n self.events[index][1].type === 'labelLink') &&\n !self.events[index][1]._balanced\n ) {\n labelStart = self.events[index][1]\n break\n }\n }\n\n return start\n /** @type {State} */\n\n function start(code) {\n if (!labelStart) {\n return nok(code)\n } // It’s a balanced bracket, but contains a link.\n\n if (labelStart._inactive) return balanced(code)\n defined = self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n )\n )\n effects.enter('labelEnd')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelEnd')\n return afterLabelEnd\n }\n /** @type {State} */\n\n function afterLabelEnd(code) {\n // Resource: `[asd](fgh)`.\n if (code === 40) {\n return effects.attempt(\n resourceConstruct,\n ok,\n defined ? ok : balanced\n )(code)\n } // Collapsed (`[asd][]`) or full (`[asd][fgh]`) reference?\n\n if (code === 91) {\n return effects.attempt(\n fullReferenceConstruct,\n ok,\n defined\n ? effects.attempt(collapsedReferenceConstruct, ok, balanced)\n : balanced\n )(code)\n } // Shortcut reference: `[asd]`?\n\n return defined ? ok(code) : balanced(code)\n }\n /** @type {State} */\n\n function balanced(code) {\n labelStart._balanced = true\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeResource(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('resource')\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n return factoryWhitespace(effects, open)\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 41) {\n return end(code)\n }\n\n return factoryDestination(\n effects,\n destinationAfter,\n nok,\n 'resourceDestination',\n 'resourceDestinationLiteral',\n 'resourceDestinationLiteralMarker',\n 'resourceDestinationRaw',\n 'resourceDestinationString',\n 32\n )(code)\n }\n /** @type {State} */\n\n function destinationAfter(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, between)(code)\n : end(code)\n }\n /** @type {State} */\n\n function between(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(\n effects,\n factoryWhitespace(effects, end),\n nok,\n 'resourceTitle',\n 'resourceTitleMarker',\n 'resourceTitleString'\n )(code)\n }\n\n return end(code)\n }\n /** @type {State} */\n\n function end(code) {\n if (code === 41) {\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n effects.exit('resource')\n return ok\n }\n\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeFullReference(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n return factoryLabel.call(\n self,\n effects,\n afterLabel,\n nok,\n 'reference',\n 'referenceMarker',\n 'referenceString'\n )(code)\n }\n /** @type {State} */\n\n function afterLabel(code) {\n return self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n )\n ? ok(code)\n : nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCollapsedReference(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('reference')\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 93) {\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n effects.exit('reference')\n return ok\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {labelEnd} from './label-end.js'\n/** @type {Construct} */\n\nexport const labelStartImage = {\n name: 'labelStartImage',\n tokenize: tokenizeLabelStartImage,\n resolveAll: labelEnd.resolveAll\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('labelImage')\n effects.enter('labelImageMarker')\n effects.consume(code)\n effects.exit('labelImageMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 91) {\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelImage')\n return after\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n /* To do: remove in the future once we’ve switched from\n * `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n * which doesn’t need this */\n\n /* Hidden footnotes hook */\n\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {\n markdownLineEndingOrSpace,\n unicodePunctuation,\n unicodeWhitespace\n} from 'micromark-util-character'\n\n/**\n * Classify whether a character code represents whitespace, punctuation, or\n * something else.\n *\n * Used for attention (emphasis, strong), whose sequences can open or close\n * based on the class of surrounding characters.\n *\n * Note that eof (`null`) is seen as whitespace.\n *\n * @param {Code} code\n * @returns {number|undefined}\n */\nexport function classifyCharacter(code) {\n if (\n code === null ||\n markdownLineEndingOrSpace(code) ||\n unicodeWhitespace(code)\n ) {\n return 1\n }\n\n if (unicodePunctuation(code)) {\n return 2\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Point} Point\n */\nimport {push, splice} from 'micromark-util-chunked'\nimport {classifyCharacter} from 'micromark-util-classify-character'\nimport {resolveAll} from 'micromark-util-resolve-all'\n\n/** @type {Construct} */\nexport const attention = {\n name: 'attention',\n tokenize: tokenizeAttention,\n resolveAll: resolveAllAttention\n}\n/**\n * Take all events and resolve attention to emphasis or strong.\n *\n * @type {Resolver}\n */\n\nfunction resolveAllAttention(events, context) {\n let index = -1\n /** @type {number} */\n\n let open\n /** @type {Token} */\n\n let group\n /** @type {Token} */\n\n let text\n /** @type {Token} */\n\n let openingSequence\n /** @type {Token} */\n\n let closingSequence\n /** @type {number} */\n\n let use\n /** @type {Event[]} */\n\n let nextEvents\n /** @type {number} */\n\n let offset // Walk through all events.\n //\n // Note: performance of this is fine on an mb of normal markdown, but it’s\n // a bottleneck for malicious stuff.\n\n while (++index < events.length) {\n // Find a token that can close.\n if (\n events[index][0] === 'enter' &&\n events[index][1].type === 'attentionSequence' &&\n events[index][1]._close\n ) {\n open = index // Now walk back to find an opener.\n\n while (open--) {\n // Find a token that can open the closer.\n if (\n events[open][0] === 'exit' &&\n events[open][1].type === 'attentionSequence' &&\n events[open][1]._open && // If the markers are the same:\n context.sliceSerialize(events[open][1]).charCodeAt(0) ===\n context.sliceSerialize(events[index][1]).charCodeAt(0)\n ) {\n // If the opening can close or the closing can open,\n // and the close size *is not* a multiple of three,\n // but the sum of the opening and closing size *is* multiple of three,\n // then don’t match.\n if (\n (events[open][1]._close || events[index][1]._open) &&\n (events[index][1].end.offset - events[index][1].start.offset) % 3 &&\n !(\n (events[open][1].end.offset -\n events[open][1].start.offset +\n events[index][1].end.offset -\n events[index][1].start.offset) %\n 3\n )\n ) {\n continue\n } // Number of markers to use from the sequence.\n\n use =\n events[open][1].end.offset - events[open][1].start.offset > 1 &&\n events[index][1].end.offset - events[index][1].start.offset > 1\n ? 2\n : 1\n const start = Object.assign({}, events[open][1].end)\n const end = Object.assign({}, events[index][1].start)\n movePoint(start, -use)\n movePoint(end, use)\n openingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start,\n end: Object.assign({}, events[open][1].end)\n }\n closingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start: Object.assign({}, events[index][1].start),\n end\n }\n text = {\n type: use > 1 ? 'strongText' : 'emphasisText',\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n }\n group = {\n type: use > 1 ? 'strong' : 'emphasis',\n start: Object.assign({}, openingSequence.start),\n end: Object.assign({}, closingSequence.end)\n }\n events[open][1].end = Object.assign({}, openingSequence.start)\n events[index][1].start = Object.assign({}, closingSequence.end)\n nextEvents = [] // If there are more markers in the opening, add them before.\n\n if (events[open][1].end.offset - events[open][1].start.offset) {\n nextEvents = push(nextEvents, [\n ['enter', events[open][1], context],\n ['exit', events[open][1], context]\n ])\n } // Opening.\n\n nextEvents = push(nextEvents, [\n ['enter', group, context],\n ['enter', openingSequence, context],\n ['exit', openingSequence, context],\n ['enter', text, context]\n ]) // Between.\n\n nextEvents = push(\n nextEvents,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + 1, index),\n context\n )\n ) // Closing.\n\n nextEvents = push(nextEvents, [\n ['exit', text, context],\n ['enter', closingSequence, context],\n ['exit', closingSequence, context],\n ['exit', group, context]\n ]) // If there are more markers in the closing, add them after.\n\n if (events[index][1].end.offset - events[index][1].start.offset) {\n offset = 2\n nextEvents = push(nextEvents, [\n ['enter', events[index][1], context],\n ['exit', events[index][1], context]\n ])\n } else {\n offset = 0\n }\n\n splice(events, open - 1, index - open + 3, nextEvents)\n index = open + nextEvents.length - offset - 2\n break\n }\n }\n }\n } // Remove remaining sequences.\n\n index = -1\n\n while (++index < events.length) {\n if (events[index][1].type === 'attentionSequence') {\n events[index][1].type = 'data'\n }\n }\n\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeAttention(effects, ok) {\n const attentionMarkers = this.parser.constructs.attentionMarkers.null\n const previous = this.previous\n const before = classifyCharacter(previous)\n /** @type {NonNullable<Code>} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('attentionSequence')\n marker = code\n return sequence(code)\n }\n /** @type {State} */\n\n function sequence(code) {\n if (code === marker) {\n effects.consume(code)\n return sequence\n }\n\n const token = effects.exit('attentionSequence')\n const after = classifyCharacter(code)\n const open =\n !after || (after === 2 && before) || attentionMarkers.includes(code)\n const close =\n !before || (before === 2 && after) || attentionMarkers.includes(previous)\n token._open = Boolean(marker === 42 ? open : open && (before || !close))\n token._close = Boolean(marker === 42 ? close : close && (after || !open))\n return ok(code)\n }\n}\n/**\n * Move a point a bit.\n *\n * Note: `move` only works inside lines! It’s not possible to move past other\n * chunks (replacement characters, tabs, or line endings).\n *\n * @param {Point} point\n * @param {number} offset\n * @returns {void}\n */\n\nfunction movePoint(point, offset) {\n point.column += offset\n point.offset += offset\n point._bufferIndex += offset\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n asciiAtext,\n asciiControl\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const autolink = {\n name: 'autolink',\n tokenize: tokenizeAutolink\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeAutolink(effects, ok, nok) {\n let size = 1\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('autolink')\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.enter('autolinkProtocol')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return schemeOrEmailAtext\n }\n\n return asciiAtext(code) ? emailAtext(code) : nok(code)\n }\n /** @type {State} */\n\n function schemeOrEmailAtext(code) {\n return code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)\n ? schemeInsideOrEmailAtext(code)\n : emailAtext(code)\n }\n /** @type {State} */\n\n function schemeInsideOrEmailAtext(code) {\n if (code === 58) {\n effects.consume(code)\n return urlInside\n }\n\n if (\n (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) &&\n size++ < 32\n ) {\n effects.consume(code)\n return schemeInsideOrEmailAtext\n }\n\n return emailAtext(code)\n }\n /** @type {State} */\n\n function urlInside(code) {\n if (code === 62) {\n effects.exit('autolinkProtocol')\n return end(code)\n }\n\n if (code === null || code === 32 || code === 60 || asciiControl(code)) {\n return nok(code)\n }\n\n effects.consume(code)\n return urlInside\n }\n /** @type {State} */\n\n function emailAtext(code) {\n if (code === 64) {\n effects.consume(code)\n size = 0\n return emailAtSignOrDot\n }\n\n if (asciiAtext(code)) {\n effects.consume(code)\n return emailAtext\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function emailAtSignOrDot(code) {\n return asciiAlphanumeric(code) ? emailLabel(code) : nok(code)\n }\n /** @type {State} */\n\n function emailLabel(code) {\n if (code === 46) {\n effects.consume(code)\n size = 0\n return emailAtSignOrDot\n }\n\n if (code === 62) {\n // Exit, then change the type.\n effects.exit('autolinkProtocol').type = 'autolinkEmail'\n return end(code)\n }\n\n return emailValue(code)\n }\n /** @type {State} */\n\n function emailValue(code) {\n if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) {\n effects.consume(code)\n return code === 45 ? emailValue : emailLabel\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function end(code) {\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.exit('autolink')\n return ok\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHtmlText(effects, ok, nok) {\n const self = this\n /** @type {NonNullable<Code>|undefined} */\n\n let marker\n /** @type {string} */\n\n let buffer\n /** @type {number} */\n\n let index\n /** @type {State} */\n\n let returnState\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('htmlText')\n effects.enter('htmlTextData')\n effects.consume(code)\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationOpen\n }\n\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n\n if (code === 63) {\n effects.consume(code)\n return instruction\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagOpen\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentOpen\n }\n\n if (code === 91) {\n effects.consume(code)\n buffer = 'CDATA['\n index = 0\n return cdataOpen\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n return declaration\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function commentOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentStart\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function commentStart(code) {\n if (code === null || code === 62) {\n return nok(code)\n }\n\n if (code === 45) {\n effects.consume(code)\n return commentStartDash\n }\n\n return comment(code)\n }\n /** @type {State} */\n\n function commentStartDash(code) {\n if (code === null || code === 62) {\n return nok(code)\n }\n\n return comment(code)\n }\n /** @type {State} */\n\n function comment(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 45) {\n effects.consume(code)\n return commentClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = comment\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return comment\n }\n /** @type {State} */\n\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code)\n return end\n }\n\n return comment(code)\n }\n /** @type {State} */\n\n function cdataOpen(code) {\n if (code === buffer.charCodeAt(index++)) {\n effects.consume(code)\n return index === buffer.length ? cdata : cdataOpen\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function cdata(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 93) {\n effects.consume(code)\n return cdataClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = cdata\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return cdata\n }\n /** @type {State} */\n\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n\n return cdata(code)\n }\n /** @type {State} */\n\n function cdataEnd(code) {\n if (code === 62) {\n return end(code)\n }\n\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n\n return cdata(code)\n }\n /** @type {State} */\n\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code)\n }\n\n if (markdownLineEnding(code)) {\n returnState = declaration\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return declaration\n }\n /** @type {State} */\n\n function instruction(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 63) {\n effects.consume(code)\n return instructionClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = instruction\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return instruction\n }\n /** @type {State} */\n\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code)\n }\n /** @type {State} */\n\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagClose\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagClose(code) {\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagClose\n }\n\n return tagCloseBetween(code)\n }\n /** @type {State} */\n\n function tagCloseBetween(code) {\n if (markdownLineEnding(code)) {\n returnState = tagCloseBetween\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagCloseBetween\n }\n\n return end(code)\n }\n /** @type {State} */\n\n function tagOpen(code) {\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagOpen\n }\n\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code)\n return end\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenBetween\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenBetween\n }\n\n return end(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeName(code) {\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n\n return tagOpenAttributeNameAfter(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeNameAfter\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeNameAfter\n }\n\n return tagOpenBetween(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return tagOpenAttributeValueQuoted\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueBefore\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n\n effects.consume(code)\n marker = undefined\n return tagOpenAttributeValueUnquoted\n }\n /** @type {State} */\n\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code)\n return tagOpenAttributeValueQuotedAfter\n }\n\n if (code === null) {\n return nok(code)\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueQuoted\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return tagOpenAttributeValueQuoted\n }\n /** @type {State} */\n\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 62 || code === 47 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n effects.consume(code)\n return tagOpenAttributeValueUnquoted\n } // We can’t have blank lines in content, so no need to worry about empty\n // tokens.\n\n /** @type {State} */\n\n function atLineEnding(code) {\n effects.exit('htmlTextData')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(\n effects,\n afterPrefix,\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )\n }\n /** @type {State} */\n\n function afterPrefix(code) {\n effects.enter('htmlTextData')\n return returnState(code)\n }\n /** @type {State} */\n\n function end(code) {\n if (code === 62) {\n effects.consume(code)\n effects.exit('htmlTextData')\n effects.exit('htmlText')\n return ok\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {labelEnd} from './label-end.js'\n/** @type {Construct} */\n\nexport const labelStartLink = {\n name: 'labelStartLink',\n tokenize: tokenizeLabelStartLink,\n resolveAll: labelEnd.resolveAll\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('labelLink')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelLink')\n return after\n }\n /** @type {State} */\n\n function after(code) {\n /* To do: remove in the future once we’ve switched from\n * `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n * which doesn’t need this */\n\n /* Hidden footnotes hook. */\n\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const hardBreakEscape = {\n name: 'hardBreakEscape',\n tokenize: tokenizeHardBreakEscape\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHardBreakEscape(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('hardBreakEscape')\n effects.enter('escapeMarker')\n effects.consume(code)\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (markdownLineEnding(code)) {\n effects.exit('escapeMarker')\n effects.exit('hardBreakEscape')\n return ok(code)\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Previous} Previous\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const codeText = {\n name: 'codeText',\n tokenize: tokenizeCodeText,\n resolve: resolveCodeText,\n previous\n}\n/** @type {Resolver} */\n\nfunction resolveCodeText(events) {\n let tailExitIndex = events.length - 4\n let headEnterIndex = 3\n /** @type {number} */\n\n let index\n /** @type {number|undefined} */\n\n let enter // If we start and end with an EOL or a space.\n\n if (\n (events[headEnterIndex][1].type === 'lineEnding' ||\n events[headEnterIndex][1].type === 'space') &&\n (events[tailExitIndex][1].type === 'lineEnding' ||\n events[tailExitIndex][1].type === 'space')\n ) {\n index = headEnterIndex // And we have data.\n\n while (++index < tailExitIndex) {\n if (events[index][1].type === 'codeTextData') {\n // Then we have padding.\n events[headEnterIndex][1].type = 'codeTextPadding'\n events[tailExitIndex][1].type = 'codeTextPadding'\n headEnterIndex += 2\n tailExitIndex -= 2\n break\n }\n }\n } // Merge adjacent spaces and data.\n\n index = headEnterIndex - 1\n tailExitIndex++\n\n while (++index <= tailExitIndex) {\n if (enter === undefined) {\n if (index !== tailExitIndex && events[index][1].type !== 'lineEnding') {\n enter = index\n }\n } else if (\n index === tailExitIndex ||\n events[index][1].type === 'lineEnding'\n ) {\n events[enter][1].type = 'codeTextData'\n\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n tailExitIndex -= index - enter - 2\n index = enter + 2\n }\n\n enter = undefined\n }\n }\n\n return events\n}\n/** @type {Previous} */\n\nfunction previous(code) {\n // If there is a previous code, there will always be a tail.\n return (\n code !== 96 ||\n this.events[this.events.length - 1][1].type === 'characterEscape'\n )\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCodeText(effects, ok, nok) {\n const self = this\n let sizeOpen = 0\n /** @type {number} */\n\n let size\n /** @type {Token} */\n\n let token\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('codeText')\n effects.enter('codeTextSequence')\n return openingSequence(code)\n }\n /** @type {State} */\n\n function openingSequence(code) {\n if (code === 96) {\n effects.consume(code)\n sizeOpen++\n return openingSequence\n }\n\n effects.exit('codeTextSequence')\n return gap(code)\n }\n /** @type {State} */\n\n function gap(code) {\n // EOF.\n if (code === null) {\n return nok(code)\n } // Closing fence?\n // Could also be data.\n\n if (code === 96) {\n token = effects.enter('codeTextSequence')\n size = 0\n return closingSequence(code)\n } // Tabs don’t work, and virtual spaces don’t make sense.\n\n if (code === 32) {\n effects.enter('space')\n effects.consume(code)\n effects.exit('space')\n return gap\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return gap\n } // Data.\n\n effects.enter('codeTextData')\n return data(code)\n } // In code.\n\n /** @type {State} */\n\n function data(code) {\n if (\n code === null ||\n code === 32 ||\n code === 96 ||\n markdownLineEnding(code)\n ) {\n effects.exit('codeTextData')\n return gap(code)\n }\n\n effects.consume(code)\n return data\n } // Closing fence.\n\n /** @type {State} */\n\n function closingSequence(code) {\n // More.\n if (code === 96) {\n effects.consume(code)\n size++\n return closingSequence\n } // Done!\n\n if (size === sizeOpen) {\n effects.exit('codeTextSequence')\n effects.exit('codeText')\n return ok(code)\n } // More or less accents: mark as data.\n\n token.type = 'codeTextData'\n return data(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n */\nimport {\n attention,\n autolink,\n blockQuote,\n characterEscape,\n characterReference,\n codeFenced,\n codeIndented,\n codeText,\n definition,\n hardBreakEscape,\n headingAtx,\n htmlFlow,\n htmlText,\n labelEnd,\n labelStartImage,\n labelStartLink,\n lineEnding,\n list,\n setextUnderline,\n thematicBreak\n} from 'micromark-core-commonmark'\nimport {resolver as resolveText} from './initialize/text.js'\n/** @type {Extension['document']} */\n\nexport const document = {\n [42]: list,\n [43]: list,\n [45]: list,\n [48]: list,\n [49]: list,\n [50]: list,\n [51]: list,\n [52]: list,\n [53]: list,\n [54]: list,\n [55]: list,\n [56]: list,\n [57]: list,\n [62]: blockQuote\n}\n/** @type {Extension['contentInitial']} */\n\nexport const contentInitial = {\n [91]: definition\n}\n/** @type {Extension['flowInitial']} */\n\nexport const flowInitial = {\n [-2]: codeIndented,\n [-1]: codeIndented,\n [32]: codeIndented\n}\n/** @type {Extension['flow']} */\n\nexport const flow = {\n [35]: headingAtx,\n [42]: thematicBreak,\n [45]: [setextUnderline, thematicBreak],\n [60]: htmlFlow,\n [61]: setextUnderline,\n [95]: thematicBreak,\n [96]: codeFenced,\n [126]: codeFenced\n}\n/** @type {Extension['string']} */\n\nexport const string = {\n [38]: characterReference,\n [92]: characterEscape\n}\n/** @type {Extension['text']} */\n\nexport const text = {\n [-5]: lineEnding,\n [-4]: lineEnding,\n [-3]: lineEnding,\n [33]: labelStartImage,\n [38]: characterReference,\n [42]: attention,\n [60]: [autolink, htmlText],\n [91]: labelStartLink,\n [92]: [hardBreakEscape, characterEscape],\n [93]: labelEnd,\n [95]: attention,\n [96]: codeText\n}\n/** @type {Extension['insideSpan']} */\n\nexport const insideSpan = {\n null: [attention, resolveText]\n}\n/** @type {Extension['attentionMarkers']} */\n\nexport const attentionMarkers = {\n null: [42, 95]\n}\n/** @type {Extension['disable']} */\n\nexport const disable = {\n null: []\n}\n","/**\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Value} Value\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Code} Code\n */\n\n/**\n * @callback Preprocessor\n * @param {Value} value\n * @param {Encoding} [encoding]\n * @param {boolean} [end=false]\n * @returns {Array<Chunk>}\n */\nconst search = /[\\0\\t\\n\\r]/g\n/**\n * @returns {Preprocessor}\n */\n\nexport function preprocess() {\n let column = 1\n let buffer = ''\n /** @type {boolean|undefined} */\n\n let start = true\n /** @type {boolean|undefined} */\n\n let atCarriageReturn\n return preprocessor\n /** @type {Preprocessor} */\n\n function preprocessor(value, encoding, end) {\n /** @type {Array<Chunk>} */\n const chunks = []\n /** @type {RegExpMatchArray|null} */\n\n let match\n /** @type {number} */\n\n let next\n /** @type {number} */\n\n let startPosition\n /** @type {number} */\n\n let endPosition\n /** @type {Code} */\n\n let code // @ts-expect-error `Buffer` does allow an encoding.\n\n value = buffer + value.toString(encoding)\n startPosition = 0\n buffer = ''\n\n if (start) {\n if (value.charCodeAt(0) === 65279) {\n startPosition++\n }\n\n start = undefined\n }\n\n while (startPosition < value.length) {\n search.lastIndex = startPosition\n match = search.exec(value)\n endPosition =\n match && match.index !== undefined ? match.index : value.length\n code = value.charCodeAt(endPosition)\n\n if (!match) {\n buffer = value.slice(startPosition)\n break\n }\n\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3)\n atCarriageReturn = undefined\n } else {\n if (atCarriageReturn) {\n chunks.push(-5)\n atCarriageReturn = undefined\n }\n\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition))\n column += endPosition - startPosition\n }\n\n switch (code) {\n case 0: {\n chunks.push(65533)\n column++\n break\n }\n\n case 9: {\n next = Math.ceil(column / 4) * 4\n chunks.push(-2)\n\n while (column++ < next) chunks.push(-1)\n\n break\n }\n\n case 10: {\n chunks.push(-4)\n column = 1\n break\n }\n\n default: {\n atCarriageReturn = true\n column = 1\n }\n }\n }\n\n startPosition = endPosition + 1\n }\n\n if (end) {\n if (atCarriageReturn) chunks.push(-5)\n if (buffer) chunks.push(buffer)\n chunks.push(null)\n }\n\n return chunks\n }\n}\n","/**\n * Turn the number (in string form as either hexa- or plain decimal) coming from\n * a numeric character reference into a character.\n *\n * @param {string} value\n * Value to decode.\n * @param {number} base\n * Numeric base.\n * @returns {string}\n */\nexport function decodeNumericCharacterReference(value, base) {\n const code = Number.parseInt(value, base)\n\n if (\n // C0 except for HT, LF, FF, CR, space\n code < 9 ||\n code === 11 ||\n (code > 13 && code < 32) || // Control character (DEL) of the basic block and C1 controls.\n (code > 126 && code < 160) || // Lone high surrogates and low surrogates.\n (code > 55295 && code < 57344) || // Noncharacters.\n (code > 64975 && code < 65008) ||\n (code & 65535) === 65535 ||\n (code & 65535) === 65534 || // Out of range\n code > 1114111\n ) {\n return '\\uFFFD'\n }\n\n return String.fromCharCode(code)\n}\n","import {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'\nconst characterEscapeOrReference =\n /\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi\n/**\n * Utility to decode markdown strings (which occur in places such as fenced\n * code info strings, destinations, labels, and titles).\n * The “string” content type allows character escapes and -references.\n * This decodes those.\n *\n * @param {string} value\n * @returns {string}\n */\n\nexport function decodeString(value) {\n return value.replace(characterEscapeOrReference, decode)\n}\n/**\n * @param {string} $0\n * @param {string} $1\n * @param {string} $2\n * @returns {string}\n */\n\nfunction decode($0, $1, $2) {\n if ($1) {\n // Escape.\n return $1\n } // Reference.\n\n const head = $2.charCodeAt(0)\n\n if (head === 35) {\n const head = $2.charCodeAt(1)\n const hex = head === 120 || head === 88\n return decodeNumericCharacterReference($2.slice(hex ? 2 : 1), hex ? 16 : 10)\n }\n\n return decodeNamedCharacterReference($2) || $0\n}\n","/**\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Value} Value\n * @typedef {import('unist').Parent} UnistParent\n * @typedef {import('unist').Point} Point\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n * @typedef {import('mdast').Content} Content\n * @typedef {Root|Content} Node\n * @typedef {Extract<Node, UnistParent>} Parent\n * @typedef {import('mdast').Break} Break\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('mdast').Code} Code\n * @typedef {import('mdast').Definition} Definition\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('mdast').HTML} HTML\n * @typedef {import('mdast').Image} Image\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('mdast').Link} Link\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('mdast').List} List\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('mdast').Text} Text\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n *\n * @typedef {UnistParent & {type: 'fragment', children: Array<PhrasingContent>}} Fragment\n */\n\n/**\n * @typedef _CompileDataFields\n * @property {boolean|undefined} expectingFirstListItemValue\n * @property {boolean|undefined} flowCodeInside\n * @property {boolean|undefined} setextHeadingSlurpLineEnding\n * @property {boolean|undefined} atHardBreak\n * @property {'collapsed'|'full'} referenceType\n * @property {boolean|undefined} inReference\n * @property {'characterReferenceMarkerHexadecimal'|'characterReferenceMarkerNumeric'} characterReferenceType\n *\n * @typedef {Record<string, unknown> & Partial<_CompileDataFields>} CompileData\n *\n * @typedef {(tree: Root) => Root|void} Transform\n * @typedef {(this: CompileContext, token: Token) => void} Handle\n * @typedef {Record<string, Handle>} Handles\n * Token types mapping to handles\n * @typedef {Record<string, Record<string, unknown>|Array<unknown>> & {canContainEols: Array<string>, transforms: Array<Transform>, enter: Handles, exit: Handles}} NormalizedExtension\n * @typedef {Partial<NormalizedExtension>} Extension\n * An mdast extension changes how markdown tokens are turned into mdast.\n *\n * @typedef {(this: Omit<CompileContext, 'sliceSerialize'>, left: Token|undefined, right: Token) => void} OnEnterError\n * @typedef {(this: Omit<CompileContext, 'sliceSerialize'>, left: Token, right: Token) => void} OnExitError\n *\n * @typedef CompileContext\n * mdast compiler context\n * @property {Array<Node | Fragment>} stack\n * @property {Array<[Token, OnEnterError|undefined]>} tokenStack\n * @property {(key: string, value?: unknown) => void} setData\n * Set data into the key-value store.\n * @property {<K extends string>(key: K) => CompileData[K]} getData\n * Get data from the key-value store.\n * @property {(this: CompileContext) => void} buffer\n * Capture some of the output data.\n * @property {(this: CompileContext) => string} resume\n * Stop capturing and access the output data.\n * @property {<N extends Node>(this: CompileContext, node: N, token: Token, onError?: OnEnterError) => N} enter\n * Enter a token.\n * @property {(this: CompileContext, token: Token, onError?: OnExitError) => Node} exit\n * Exit a token.\n * @property {TokenizeContext['sliceSerialize']} sliceSerialize\n * Get the string value of a token.\n * @property {NormalizedExtension} config\n * Configuration.\n *\n * @typedef {{mdastExtensions?: Array<Extension|Array<Extension>>}} FromMarkdownOptions\n * @typedef {ParseOptions & FromMarkdownOptions} Options\n */\nimport {toString} from 'mdast-util-to-string'\nimport {parse} from 'micromark/lib/parse.js'\nimport {preprocess} from 'micromark/lib/preprocess.js'\nimport {postprocess} from 'micromark/lib/postprocess.js'\nimport {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'\nimport {decodeString} from 'micromark-util-decode-string'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {stringifyPosition} from 'unist-util-stringify-position'\nconst own = {}.hasOwnProperty\n/**\n * @param value Markdown to parse (`string` or `Buffer`).\n * @param [encoding] Character encoding to understand `value` as when it’s a `Buffer` (`string`, default: `'utf8'`).\n * @param [options] Configuration\n */\n\nexport const fromMarkdown =\n /**\n * @type {(\n * ((value: Value, encoding: Encoding, options?: Options) => Root) &\n * ((value: Value, options?: Options) => Root)\n * )}\n */\n\n /**\n * @param {Value} value\n * @param {Encoding} [encoding]\n * @param {Options} [options]\n * @returns {Root}\n */\n function (value, encoding, options) {\n if (typeof encoding !== 'string') {\n options = encoding\n encoding = undefined\n }\n\n return compiler(options)(\n postprocess(\n parse(options).document().write(preprocess()(value, encoding, true))\n )\n )\n }\n/**\n * Note this compiler only understand complete buffering, not streaming.\n *\n * @param {Options} [options]\n */\n\nfunction compiler(options = {}) {\n /** @type {NormalizedExtension} */\n // @ts-expect-error: our base has all required fields, so the result will too.\n const config = configure(\n {\n transforms: [],\n canContainEols: [\n 'emphasis',\n 'fragment',\n 'heading',\n 'paragraph',\n 'strong'\n ],\n enter: {\n autolink: opener(link),\n autolinkProtocol: onenterdata,\n autolinkEmail: onenterdata,\n atxHeading: opener(heading),\n blockQuote: opener(blockQuote),\n characterEscape: onenterdata,\n characterReference: onenterdata,\n codeFenced: opener(codeFlow),\n codeFencedFenceInfo: buffer,\n codeFencedFenceMeta: buffer,\n codeIndented: opener(codeFlow, buffer),\n codeText: opener(codeText, buffer),\n codeTextData: onenterdata,\n data: onenterdata,\n codeFlowValue: onenterdata,\n definition: opener(definition),\n definitionDestinationString: buffer,\n definitionLabelString: buffer,\n definitionTitleString: buffer,\n emphasis: opener(emphasis),\n hardBreakEscape: opener(hardBreak),\n hardBreakTrailing: opener(hardBreak),\n htmlFlow: opener(html, buffer),\n htmlFlowData: onenterdata,\n htmlText: opener(html, buffer),\n htmlTextData: onenterdata,\n image: opener(image),\n label: buffer,\n link: opener(link),\n listItem: opener(listItem),\n listItemValue: onenterlistitemvalue,\n listOrdered: opener(list, onenterlistordered),\n listUnordered: opener(list),\n paragraph: opener(paragraph),\n reference: onenterreference,\n referenceString: buffer,\n resourceDestinationString: buffer,\n resourceTitleString: buffer,\n setextHeading: opener(heading),\n strong: opener(strong),\n thematicBreak: opener(thematicBreak)\n },\n exit: {\n atxHeading: closer(),\n atxHeadingSequence: onexitatxheadingsequence,\n autolink: closer(),\n autolinkEmail: onexitautolinkemail,\n autolinkProtocol: onexitautolinkprotocol,\n blockQuote: closer(),\n characterEscapeValue: onexitdata,\n characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,\n characterReferenceMarkerNumeric: onexitcharacterreferencemarker,\n characterReferenceValue: onexitcharacterreferencevalue,\n codeFenced: closer(onexitcodefenced),\n codeFencedFence: onexitcodefencedfence,\n codeFencedFenceInfo: onexitcodefencedfenceinfo,\n codeFencedFenceMeta: onexitcodefencedfencemeta,\n codeFlowValue: onexitdata,\n codeIndented: closer(onexitcodeindented),\n codeText: closer(onexitcodetext),\n codeTextData: onexitdata,\n data: onexitdata,\n definition: closer(),\n definitionDestinationString: onexitdefinitiondestinationstring,\n definitionLabelString: onexitdefinitionlabelstring,\n definitionTitleString: onexitdefinitiontitlestring,\n emphasis: closer(),\n hardBreakEscape: closer(onexithardbreak),\n hardBreakTrailing: closer(onexithardbreak),\n htmlFlow: closer(onexithtmlflow),\n htmlFlowData: onexitdata,\n htmlText: closer(onexithtmltext),\n htmlTextData: onexitdata,\n image: closer(onexitimage),\n label: onexitlabel,\n labelText: onexitlabeltext,\n lineEnding: onexitlineending,\n link: closer(onexitlink),\n listItem: closer(),\n listOrdered: closer(),\n listUnordered: closer(),\n paragraph: closer(),\n referenceString: onexitreferencestring,\n resourceDestinationString: onexitresourcedestinationstring,\n resourceTitleString: onexitresourcetitlestring,\n resource: onexitresource,\n setextHeading: closer(onexitsetextheading),\n setextHeadingLineSequence: onexitsetextheadinglinesequence,\n setextHeadingText: onexitsetextheadingtext,\n strong: closer(),\n thematicBreak: closer()\n }\n },\n options.mdastExtensions || []\n )\n /** @type {CompileData} */\n\n const data = {}\n return compile\n /**\n * @param {Array<Event>} events\n * @returns {Root}\n */\n\n function compile(events) {\n /** @type {Root} */\n let tree = {\n type: 'root',\n children: []\n }\n /** @type {CompileContext['stack']} */\n\n const stack = [tree]\n /** @type {CompileContext['tokenStack']} */\n\n const tokenStack = []\n /** @type {Array<number>} */\n\n const listStack = []\n /** @type {Omit<CompileContext, 'sliceSerialize'>} */\n\n const context = {\n stack,\n tokenStack,\n config,\n enter,\n exit,\n buffer,\n resume,\n setData,\n getData\n }\n let index = -1\n\n while (++index < events.length) {\n // We preprocess lists to add `listItem` tokens, and to infer whether\n // items the list itself are spread out.\n if (\n events[index][1].type === 'listOrdered' ||\n events[index][1].type === 'listUnordered'\n ) {\n if (events[index][0] === 'enter') {\n listStack.push(index)\n } else {\n const tail = listStack.pop()\n index = prepareList(events, tail, index)\n }\n }\n }\n\n index = -1\n\n while (++index < events.length) {\n const handler = config[events[index][0]]\n\n if (own.call(handler, events[index][1].type)) {\n handler[events[index][1].type].call(\n Object.assign(\n {\n sliceSerialize: events[index][2].sliceSerialize\n },\n context\n ),\n events[index][1]\n )\n }\n }\n\n if (tokenStack.length > 0) {\n const tail = tokenStack[tokenStack.length - 1]\n const handler = tail[1] || defaultOnError\n handler.call(context, undefined, tail[0])\n } // Figure out `root` position.\n\n tree.position = {\n start: point(\n events.length > 0\n ? events[0][1].start\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n ),\n end: point(\n events.length > 0\n ? events[events.length - 2][1].end\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n )\n }\n index = -1\n\n while (++index < config.transforms.length) {\n tree = config.transforms[index](tree) || tree\n }\n\n return tree\n }\n /**\n * @param {Array<Event>} events\n * @param {number} start\n * @param {number} length\n * @returns {number}\n */\n\n function prepareList(events, start, length) {\n let index = start - 1\n let containerBalance = -1\n let listSpread = false\n /** @type {Token|undefined} */\n\n let listItem\n /** @type {number|undefined} */\n\n let lineIndex\n /** @type {number|undefined} */\n\n let firstBlankLineIndex\n /** @type {boolean|undefined} */\n\n let atMarker\n\n while (++index <= length) {\n const event = events[index]\n\n if (\n event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered' ||\n event[1].type === 'blockQuote'\n ) {\n if (event[0] === 'enter') {\n containerBalance++\n } else {\n containerBalance--\n }\n\n atMarker = undefined\n } else if (event[1].type === 'lineEndingBlank') {\n if (event[0] === 'enter') {\n if (\n listItem &&\n !atMarker &&\n !containerBalance &&\n !firstBlankLineIndex\n ) {\n firstBlankLineIndex = index\n }\n\n atMarker = undefined\n }\n } else if (\n event[1].type === 'linePrefix' ||\n event[1].type === 'listItemValue' ||\n event[1].type === 'listItemMarker' ||\n event[1].type === 'listItemPrefix' ||\n event[1].type === 'listItemPrefixWhitespace'\n ) {\n // Empty.\n } else {\n atMarker = undefined\n }\n\n if (\n (!containerBalance &&\n event[0] === 'enter' &&\n event[1].type === 'listItemPrefix') ||\n (containerBalance === -1 &&\n event[0] === 'exit' &&\n (event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered'))\n ) {\n if (listItem) {\n let tailIndex = index\n lineIndex = undefined\n\n while (tailIndex--) {\n const tailEvent = events[tailIndex]\n\n if (\n tailEvent[1].type === 'lineEnding' ||\n tailEvent[1].type === 'lineEndingBlank'\n ) {\n if (tailEvent[0] === 'exit') continue\n\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n listSpread = true\n }\n\n tailEvent[1].type = 'lineEnding'\n lineIndex = tailIndex\n } else if (\n tailEvent[1].type === 'linePrefix' ||\n tailEvent[1].type === 'blockQuotePrefix' ||\n tailEvent[1].type === 'blockQuotePrefixWhitespace' ||\n tailEvent[1].type === 'blockQuoteMarker' ||\n tailEvent[1].type === 'listItemIndent'\n ) {\n // Empty\n } else {\n break\n }\n }\n\n if (\n firstBlankLineIndex &&\n (!lineIndex || firstBlankLineIndex < lineIndex)\n ) {\n // @ts-expect-error Patched.\n listItem._spread = true\n } // Fix position.\n\n listItem.end = Object.assign(\n {},\n lineIndex ? events[lineIndex][1].start : event[1].end\n )\n events.splice(lineIndex || index, 0, ['exit', listItem, event[2]])\n index++\n length++\n } // Create a new list item.\n\n if (event[1].type === 'listItemPrefix') {\n listItem = {\n type: 'listItem',\n // @ts-expect-error Patched\n _spread: false,\n start: Object.assign({}, event[1].start)\n } // @ts-expect-error: `listItem` is most definitely defined, TS...\n\n events.splice(index, 0, ['enter', listItem, event[2]])\n index++\n length++\n firstBlankLineIndex = undefined\n atMarker = true\n }\n }\n } // @ts-expect-error Patched.\n\n events[start][1]._spread = listSpread\n return length\n }\n /**\n * @type {CompileContext['setData']}\n * @param [value]\n */\n\n function setData(key, value) {\n data[key] = value\n }\n /**\n * @type {CompileContext['getData']}\n * @template {string} K\n * @param {K} key\n * @returns {CompileData[K]}\n */\n\n function getData(key) {\n return data[key]\n }\n /**\n * @param {Point} d\n * @returns {Point}\n */\n\n function point(d) {\n return {\n line: d.line,\n column: d.column,\n offset: d.offset\n }\n }\n /**\n * @param {(token: Token) => Node} create\n * @param {Handle} [and]\n * @returns {Handle}\n */\n\n function opener(create, and) {\n return open\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {void}\n */\n\n function open(token) {\n enter.call(this, create(token), token)\n if (and) and.call(this, token)\n }\n }\n /** @type {CompileContext['buffer']} */\n\n function buffer() {\n this.stack.push({\n type: 'fragment',\n children: []\n })\n }\n /**\n * @type {CompileContext['enter']}\n * @template {Node} N\n * @this {CompileContext}\n * @param {N} node\n * @param {Token} token\n * @param {OnEnterError} [errorHandler]\n * @returns {N}\n */\n\n function enter(node, token, errorHandler) {\n const parent = this.stack[this.stack.length - 1]\n // @ts-expect-error: Assume `Node` can exist as a child of `parent`.\n parent.children.push(node)\n this.stack.push(node)\n this.tokenStack.push([token, errorHandler]) // @ts-expect-error: `end` will be patched later.\n\n node.position = {\n start: point(token.start)\n }\n return node\n }\n /**\n * @param {Handle} [and]\n * @returns {Handle}\n */\n\n function closer(and) {\n return close\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {void}\n */\n\n function close(token) {\n if (and) and.call(this, token)\n exit.call(this, token)\n }\n }\n /**\n * @type {CompileContext['exit']}\n * @this {CompileContext}\n * @param {Token} token\n * @param {OnExitError} [onExitError]\n * @returns {Node}\n */\n\n function exit(token, onExitError) {\n const node = this.stack.pop()\n const open = this.tokenStack.pop()\n\n if (!open) {\n throw new Error(\n 'Cannot close `' +\n token.type +\n '` (' +\n stringifyPosition({\n start: token.start,\n end: token.end\n }) +\n '): it’s not open'\n )\n } else if (open[0].type !== token.type) {\n if (onExitError) {\n onExitError.call(this, token, open[0])\n } else {\n const handler = open[1] || defaultOnError\n handler.call(this, token, open[0])\n }\n }\n\n node.position.end = point(token.end)\n return node\n }\n /**\n * @this {CompileContext}\n * @returns {string}\n */\n\n function resume() {\n return toString(this.stack.pop())\n } //\n // Handlers.\n //\n\n /** @type {Handle} */\n\n function onenterlistordered() {\n setData('expectingFirstListItemValue', true)\n }\n /** @type {Handle} */\n\n function onenterlistitemvalue(token) {\n if (getData('expectingFirstListItemValue')) {\n const ancestor =\n /** @type {List} */\n this.stack[this.stack.length - 2]\n ancestor.start = Number.parseInt(this.sliceSerialize(token), 10)\n setData('expectingFirstListItemValue')\n }\n }\n /** @type {Handle} */\n\n function onexitcodefencedfenceinfo() {\n const data = this.resume()\n const node =\n /** @type {Code} */\n this.stack[this.stack.length - 1]\n node.lang = data\n }\n /** @type {Handle} */\n\n function onexitcodefencedfencemeta() {\n const data = this.resume()\n const node =\n /** @type {Code} */\n this.stack[this.stack.length - 1]\n node.meta = data\n }\n /** @type {Handle} */\n\n function onexitcodefencedfence() {\n // Exit if this is the closing fence.\n if (getData('flowCodeInside')) return\n this.buffer()\n setData('flowCodeInside', true)\n }\n /** @type {Handle} */\n\n function onexitcodefenced() {\n const data = this.resume()\n const node =\n /** @type {Code} */\n this.stack[this.stack.length - 1]\n node.value = data.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g, '')\n setData('flowCodeInside')\n }\n /** @type {Handle} */\n\n function onexitcodeindented() {\n const data = this.resume()\n const node =\n /** @type {Code} */\n this.stack[this.stack.length - 1]\n node.value = data.replace(/(\\r?\\n|\\r)$/g, '')\n }\n /** @type {Handle} */\n\n function onexitdefinitionlabelstring(token) {\n // Discard label, use the source content instead.\n const label = this.resume()\n const node =\n /** @type {Definition} */\n this.stack[this.stack.length - 1]\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n }\n /** @type {Handle} */\n\n function onexitdefinitiontitlestring() {\n const data = this.resume()\n const node =\n /** @type {Definition} */\n this.stack[this.stack.length - 1]\n node.title = data\n }\n /** @type {Handle} */\n\n function onexitdefinitiondestinationstring() {\n const data = this.resume()\n const node =\n /** @type {Definition} */\n this.stack[this.stack.length - 1]\n node.url = data\n }\n /** @type {Handle} */\n\n function onexitatxheadingsequence(token) {\n const node =\n /** @type {Heading} */\n this.stack[this.stack.length - 1]\n\n if (!node.depth) {\n const depth = this.sliceSerialize(token).length\n node.depth = depth\n }\n }\n /** @type {Handle} */\n\n function onexitsetextheadingtext() {\n setData('setextHeadingSlurpLineEnding', true)\n }\n /** @type {Handle} */\n\n function onexitsetextheadinglinesequence(token) {\n const node =\n /** @type {Heading} */\n this.stack[this.stack.length - 1]\n node.depth = this.sliceSerialize(token).charCodeAt(0) === 61 ? 1 : 2\n }\n /** @type {Handle} */\n\n function onexitsetextheading() {\n setData('setextHeadingSlurpLineEnding')\n }\n /** @type {Handle} */\n\n function onenterdata(token) {\n const parent =\n /** @type {Parent} */\n this.stack[this.stack.length - 1]\n /** @type {Node} */\n\n let tail = parent.children[parent.children.length - 1]\n\n if (!tail || tail.type !== 'text') {\n // Add a new text node.\n tail = text() // @ts-expect-error: we’ll add `end` later.\n\n tail.position = {\n start: point(token.start)\n } // @ts-expect-error: Assume `parent` accepts `text`.\n\n parent.children.push(tail)\n }\n\n this.stack.push(tail)\n }\n /** @type {Handle} */\n\n function onexitdata(token) {\n const tail = this.stack.pop()\n tail.value += this.sliceSerialize(token)\n tail.position.end = point(token.end)\n }\n /** @type {Handle} */\n\n function onexitlineending(token) {\n const context = this.stack[this.stack.length - 1]\n\n // If we’re at a hard break, include the line ending in there.\n if (getData('atHardBreak')) {\n const tail = context.children[context.children.length - 1]\n tail.position.end = point(token.end)\n setData('atHardBreak')\n return\n }\n\n if (\n !getData('setextHeadingSlurpLineEnding') &&\n config.canContainEols.includes(context.type)\n ) {\n onenterdata.call(this, token)\n onexitdata.call(this, token)\n }\n }\n /** @type {Handle} */\n\n function onexithardbreak() {\n setData('atHardBreak', true)\n }\n /** @type {Handle} */\n\n function onexithtmlflow() {\n const data = this.resume()\n const node =\n /** @type {HTML} */\n this.stack[this.stack.length - 1]\n node.value = data\n }\n /** @type {Handle} */\n\n function onexithtmltext() {\n const data = this.resume()\n const node =\n /** @type {HTML} */\n this.stack[this.stack.length - 1]\n node.value = data\n }\n /** @type {Handle} */\n\n function onexitcodetext() {\n const data = this.resume()\n const node =\n /** @type {InlineCode} */\n this.stack[this.stack.length - 1]\n node.value = data\n }\n /** @type {Handle} */\n\n function onexitlink() {\n const context =\n /** @type {Link & {identifier: string, label: string}} */\n this.stack[this.stack.length - 1] // To do: clean.\n\n if (getData('inReference')) {\n context.type += 'Reference' // @ts-expect-error: mutate.\n\n context.referenceType = getData('referenceType') || 'shortcut' // @ts-expect-error: mutate.\n\n delete context.url\n delete context.title\n } else {\n // @ts-expect-error: mutate.\n delete context.identifier // @ts-expect-error: mutate.\n\n delete context.label\n }\n\n setData('referenceType')\n }\n /** @type {Handle} */\n\n function onexitimage() {\n const context =\n /** @type {Image & {identifier: string, label: string}} */\n this.stack[this.stack.length - 1] // To do: clean.\n\n if (getData('inReference')) {\n context.type += 'Reference' // @ts-expect-error: mutate.\n\n context.referenceType = getData('referenceType') || 'shortcut' // @ts-expect-error: mutate.\n\n delete context.url\n delete context.title\n } else {\n // @ts-expect-error: mutate.\n delete context.identifier // @ts-expect-error: mutate.\n\n delete context.label\n }\n\n setData('referenceType')\n }\n /** @type {Handle} */\n\n function onexitlabeltext(token) {\n const ancestor =\n /** @type {(Link|Image) & {identifier: string, label: string}} */\n this.stack[this.stack.length - 2]\n const string = this.sliceSerialize(token)\n ancestor.label = decodeString(string)\n ancestor.identifier = normalizeIdentifier(string).toLowerCase()\n }\n /** @type {Handle} */\n\n function onexitlabel() {\n const fragment =\n /** @type {Fragment} */\n this.stack[this.stack.length - 1]\n const value = this.resume()\n const node =\n /** @type {(Link|Image) & {identifier: string, label: string}} */\n this.stack[this.stack.length - 1] // Assume a reference.\n\n setData('inReference', true)\n\n if (node.type === 'link') {\n // @ts-expect-error: Assume static phrasing content.\n node.children = fragment.children\n } else {\n node.alt = value\n }\n }\n /** @type {Handle} */\n\n function onexitresourcedestinationstring() {\n const data = this.resume()\n const node =\n /** @type {Link|Image} */\n this.stack[this.stack.length - 1]\n node.url = data\n }\n /** @type {Handle} */\n\n function onexitresourcetitlestring() {\n const data = this.resume()\n const node =\n /** @type {Link|Image} */\n this.stack[this.stack.length - 1]\n node.title = data\n }\n /** @type {Handle} */\n\n function onexitresource() {\n setData('inReference')\n }\n /** @type {Handle} */\n\n function onenterreference() {\n setData('referenceType', 'collapsed')\n }\n /** @type {Handle} */\n\n function onexitreferencestring(token) {\n const label = this.resume()\n const node =\n /** @type {LinkReference|ImageReference} */\n this.stack[this.stack.length - 1]\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n setData('referenceType', 'full')\n }\n /** @type {Handle} */\n\n function onexitcharacterreferencemarker(token) {\n setData('characterReferenceType', token.type)\n }\n /** @type {Handle} */\n\n function onexitcharacterreferencevalue(token) {\n const data = this.sliceSerialize(token)\n const type = getData('characterReferenceType')\n /** @type {string} */\n\n let value\n\n if (type) {\n value = decodeNumericCharacterReference(\n data,\n type === 'characterReferenceMarkerNumeric' ? 10 : 16\n )\n setData('characterReferenceType')\n } else {\n // @ts-expect-error `decodeNamedCharacterReference` can return false for\n // invalid named character references, but everything we’ve tokenized is\n // valid.\n value = decodeNamedCharacterReference(data)\n }\n\n const tail = this.stack.pop()\n tail.value += value\n tail.position.end = point(token.end)\n }\n /** @type {Handle} */\n\n function onexitautolinkprotocol(token) {\n onexitdata.call(this, token)\n const node =\n /** @type {Link} */\n this.stack[this.stack.length - 1]\n node.url = this.sliceSerialize(token)\n }\n /** @type {Handle} */\n\n function onexitautolinkemail(token) {\n onexitdata.call(this, token)\n const node =\n /** @type {Link} */\n this.stack[this.stack.length - 1]\n node.url = 'mailto:' + this.sliceSerialize(token)\n } //\n // Creaters.\n //\n\n /** @returns {Blockquote} */\n\n function blockQuote() {\n return {\n type: 'blockquote',\n children: []\n }\n }\n /** @returns {Code} */\n\n function codeFlow() {\n return {\n type: 'code',\n lang: null,\n meta: null,\n value: ''\n }\n }\n /** @returns {InlineCode} */\n\n function codeText() {\n return {\n type: 'inlineCode',\n value: ''\n }\n }\n /** @returns {Definition} */\n\n function definition() {\n return {\n type: 'definition',\n identifier: '',\n label: null,\n title: null,\n url: ''\n }\n }\n /** @returns {Emphasis} */\n\n function emphasis() {\n return {\n type: 'emphasis',\n children: []\n }\n }\n /** @returns {Heading} */\n\n function heading() {\n // @ts-expect-error `depth` will be set later.\n return {\n type: 'heading',\n depth: undefined,\n children: []\n }\n }\n /** @returns {Break} */\n\n function hardBreak() {\n return {\n type: 'break'\n }\n }\n /** @returns {HTML} */\n\n function html() {\n return {\n type: 'html',\n value: ''\n }\n }\n /** @returns {Image} */\n\n function image() {\n return {\n type: 'image',\n title: null,\n url: '',\n alt: null\n }\n }\n /** @returns {Link} */\n\n function link() {\n return {\n type: 'link',\n title: null,\n url: '',\n children: []\n }\n }\n /**\n * @param {Token} token\n * @returns {List}\n */\n\n function list(token) {\n return {\n type: 'list',\n ordered: token.type === 'listOrdered',\n start: null,\n // @ts-expect-error Patched.\n spread: token._spread,\n children: []\n }\n }\n /**\n * @param {Token} token\n * @returns {ListItem}\n */\n\n function listItem(token) {\n return {\n type: 'listItem',\n // @ts-expect-error Patched.\n spread: token._spread,\n checked: null,\n children: []\n }\n }\n /** @returns {Paragraph} */\n\n function paragraph() {\n return {\n type: 'paragraph',\n children: []\n }\n }\n /** @returns {Strong} */\n\n function strong() {\n return {\n type: 'strong',\n children: []\n }\n }\n /** @returns {Text} */\n\n function text() {\n return {\n type: 'text',\n value: ''\n }\n }\n /** @returns {ThematicBreak} */\n\n function thematicBreak() {\n return {\n type: 'thematicBreak'\n }\n }\n}\n/**\n * @param {Extension} combined\n * @param {Array<Extension|Array<Extension>>} extensions\n * @returns {Extension}\n */\n\nfunction configure(combined, extensions) {\n let index = -1\n\n while (++index < extensions.length) {\n const value = extensions[index]\n\n if (Array.isArray(value)) {\n configure(combined, value)\n } else {\n extension(combined, value)\n }\n }\n\n return combined\n}\n/**\n * @param {Extension} combined\n * @param {Extension} extension\n * @returns {void}\n */\n\nfunction extension(combined, extension) {\n /** @type {string} */\n let key\n\n for (key in extension) {\n if (own.call(extension, key)) {\n const list = key === 'canContainEols' || key === 'transforms'\n const maybe = own.call(combined, key) ? combined[key] : undefined\n /* c8 ignore next */\n\n const left = maybe || (combined[key] = list ? [] : {})\n const right = extension[key]\n\n if (right) {\n if (list) {\n // @ts-expect-error: `left` is an array.\n combined[key] = [...left, ...right]\n } else {\n Object.assign(left, right)\n }\n }\n }\n }\n}\n/** @type {OnEnterError} */\n\nfunction defaultOnError(left, right) {\n if (left) {\n throw new Error(\n 'Cannot close `' +\n left.type +\n '` (' +\n stringifyPosition({\n start: left.start,\n end: left.end\n }) +\n '): a different token (`' +\n right.type +\n '`, ' +\n stringifyPosition({\n start: right.start,\n end: right.end\n }) +\n ') is open'\n )\n } else {\n throw new Error(\n 'Cannot close document, a token (`' +\n right.type +\n '`, ' +\n stringifyPosition({\n start: right.start,\n end: right.end\n }) +\n ') is still open'\n )\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Event} Event\n */\nimport {subtokenize} from 'micromark-util-subtokenize'\n/**\n * @param {Array<Event>} events\n * @returns {Array<Event>}\n */\n\nexport function postprocess(events) {\n while (!subtokenize(events)) {\n // Empty\n }\n\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').FullNormalizedExtension} FullNormalizedExtension\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n * @typedef {import('micromark-util-types').Create} Create\n */\nimport {combineExtensions} from 'micromark-util-combine-extensions'\nimport {content} from './initialize/content.js'\nimport {document} from './initialize/document.js'\nimport {flow} from './initialize/flow.js'\nimport {text, string} from './initialize/text.js'\nimport {createTokenizer} from './create-tokenizer.js'\nimport * as defaultConstructs from './constructs.js'\n/**\n * @param {ParseOptions} [options]\n * @returns {ParseContext}\n */\n\nexport function parse(options = {}) {\n /** @type {FullNormalizedExtension} */\n // @ts-expect-error `defaultConstructs` is full, so the result will be too.\n const constructs = combineExtensions(\n // @ts-expect-error Same as above.\n [defaultConstructs].concat(options.extensions || [])\n )\n /** @type {ParseContext} */\n\n const parser = {\n defined: [],\n lazy: {},\n constructs,\n content: create(content),\n document: create(document),\n flow: create(flow),\n string: create(string),\n text: create(text)\n }\n return parser\n /**\n * @param {InitialConstruct} initial\n */\n\n function create(initial) {\n return creator\n /** @type {Create} */\n\n function creator(from) {\n return createTokenizer(parser, initial, from)\n }\n }\n}\n","import remarkParse from './lib/index.js'\n\nexport default remarkParse\n","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast-util-from-markdown').Options} Options\n */\n\nimport {fromMarkdown} from 'mdast-util-from-markdown'\n\n/** @type {import('unified').Plugin<[Options?] | void[], string, Root>} */\nexport default function remarkParse(options) {\n /** @type {import('unified').ParserFunction<Root>} */\n const parser = (doc) => {\n // Assume options.\n const settings = /** @type {Options} */ (this.data('settings'))\n\n return fromMarkdown(\n doc,\n Object.assign({}, settings, options, {\n // Note: these options are not in the readme.\n // The goal is for them to be set by plugins on `data` instead of being\n // passed by users.\n extensions: this.data('micromarkExtensions') || [],\n mdastExtensions: this.data('fromMarkdownExtensions') || []\n })\n )\n }\n\n Object.assign(this, {Parser: parser})\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist').Literal} Literal\n * @typedef {Object.<string, unknown>} Props\n * @typedef {Array.<Node>|string} ChildrenOrValue\n *\n * @typedef {(<T extends string, P extends Record<string, unknown>, C extends Node[]>(type: T, props: P, children: C) => {type: T, children: C} & P)} BuildParentWithProps\n * @typedef {(<T extends string, P extends Record<string, unknown>>(type: T, props: P, value: string) => {type: T, value: string} & P)} BuildLiteralWithProps\n * @typedef {(<T extends string, P extends Record<string, unknown>>(type: T, props: P) => {type: T} & P)} BuildVoidWithProps\n * @typedef {(<T extends string, C extends Node[]>(type: T, children: C) => {type: T, children: C})} BuildParent\n * @typedef {(<T extends string>(type: T, value: string) => {type: T, value: string})} BuildLiteral\n * @typedef {(<T extends string>(type: T) => {type: T})} BuildVoid\n */\n\nexport var u = /**\n * @type {BuildVoid & BuildVoidWithProps & BuildLiteral & BuildLiteralWithProps & BuildParent & BuildParentWithProps}\n */ (\n /**\n * @param {string} type Type of node\n * @param {Props|ChildrenOrValue} [props] Additional properties for node (or `children` or `value`)\n * @param {ChildrenOrValue} [value] `children` or `value` of node\n * @returns {Node}\n */\n function (type, props, value) {\n /** @type {Node} */\n var node = {type: String(type)}\n\n if (\n (value === undefined || value === null) &&\n (typeof props === 'string' || Array.isArray(props))\n ) {\n value = props\n } else {\n Object.assign(node, props)\n }\n\n if (Array.isArray(value)) {\n node.children = value\n } else if (value !== undefined && value !== null) {\n node.value = String(value)\n }\n\n return node\n }\n)\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n *\n * @typedef {string} Type\n * @typedef {Object<string, unknown>} Props\n *\n * @typedef {null|undefined|Type|Props|TestFunctionAnything|Array.<Type|Props|TestFunctionAnything>} Test\n */\n\n/**\n * Check if a node passes a test\n *\n * @callback TestFunctionAnything\n * @param {Node} node\n * @param {number|null|undefined} [index]\n * @param {Parent|null|undefined} [parent]\n * @returns {boolean|void}\n */\n\n/**\n * Check if a node passes a certain node test\n *\n * @template {Node} X\n * @callback TestFunctionPredicate\n * @param {Node} node\n * @param {number|null|undefined} [index]\n * @param {Parent|null|undefined} [parent]\n * @returns {node is X}\n */\n\n/**\n * @callback AssertAnything\n * @param {unknown} [node]\n * @param {number|null|undefined} [index]\n * @param {Parent|null|undefined} [parent]\n * @returns {boolean}\n */\n\n/**\n * Check if a node passes a certain node test\n *\n * @template {Node} Y\n * @callback AssertPredicate\n * @param {unknown} [node]\n * @param {number|null|undefined} [index]\n * @param {Parent|null|undefined} [parent]\n * @returns {node is Y}\n */\n\nexport const is =\n /**\n * Check if a node passes a test.\n * When a `parent` node is known the `index` of node should also be given.\n *\n * @type {(\n * (<T extends Node>(node: unknown, test: T['type']|Partial<T>|TestFunctionPredicate<T>|Array.<T['type']|Partial<T>|TestFunctionPredicate<T>>, index?: number|null|undefined, parent?: Parent|null|undefined, context?: unknown) => node is T) &\n * ((node?: unknown, test?: Test, index?: number|null|undefined, parent?: Parent|null|undefined, context?: unknown) => boolean)\n * )}\n */\n (\n /**\n * Check if a node passes a test.\n * When a `parent` node is known the `index` of node should also be given.\n *\n * @param {unknown} [node] Node to check\n * @param {Test} [test]\n * When nullish, checks if `node` is a `Node`.\n * When `string`, works like passing `function (node) {return node.type === test}`.\n * When `function` checks if function passed the node is true.\n * When `object`, checks that all keys in test are in node, and that they have (strictly) equal values.\n * When `array`, checks any one of the subtests pass.\n * @param {number|null|undefined} [index] Position of `node` in `parent`\n * @param {Parent|null|undefined} [parent] Parent of `node`\n * @param {unknown} [context] Context object to invoke `test` with\n * @returns {boolean} Whether test passed and `node` is a `Node` (object with `type` set to non-empty `string`).\n */\n // eslint-disable-next-line max-params\n function is(node, test, index, parent, context) {\n const check = convert(test)\n\n if (\n index !== undefined &&\n index !== null &&\n (typeof index !== 'number' ||\n index < 0 ||\n index === Number.POSITIVE_INFINITY)\n ) {\n throw new Error('Expected positive finite index')\n }\n\n if (\n parent !== undefined &&\n parent !== null &&\n (!is(parent) || !parent.children)\n ) {\n throw new Error('Expected parent node')\n }\n\n if (\n (parent === undefined || parent === null) !==\n (index === undefined || index === null)\n ) {\n throw new Error('Expected both parent and index')\n }\n\n // @ts-expect-error Looks like a node.\n return node && node.type && typeof node.type === 'string'\n ? Boolean(check.call(context, node, index, parent))\n : false\n }\n )\n\nexport const convert =\n /**\n * @type {(\n * (<T extends Node>(test: T['type']|Partial<T>|TestFunctionPredicate<T>) => AssertPredicate<T>) &\n * ((test?: Test) => AssertAnything)\n * )}\n */\n (\n /**\n * Generate an assertion from a check.\n * @param {Test} [test]\n * When nullish, checks if `node` is a `Node`.\n * When `string`, works like passing `function (node) {return node.type === test}`.\n * When `function` checks if function passed the node is true.\n * When `object`, checks that all keys in test are in node, and that they have (strictly) equal values.\n * When `array`, checks any one of the subtests pass.\n * @returns {AssertAnything}\n */\n function (test) {\n if (test === undefined || test === null) {\n return ok\n }\n\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n if (typeof test === 'object') {\n return Array.isArray(test) ? anyFactory(test) : propsFactory(test)\n }\n\n if (typeof test === 'function') {\n return castFactory(test)\n }\n\n throw new Error('Expected function, string, or object as test')\n }\n )\n/**\n * @param {Array.<Type|Props|TestFunctionAnything>} tests\n * @returns {AssertAnything}\n */\nfunction anyFactory(tests) {\n /** @type {Array.<AssertAnything>} */\n const checks = []\n let index = -1\n\n while (++index < tests.length) {\n checks[index] = convert(tests[index])\n }\n\n return castFactory(any)\n\n /**\n * @this {unknown}\n * @param {unknown[]} parameters\n * @returns {boolean}\n */\n function any(...parameters) {\n let index = -1\n\n while (++index < checks.length) {\n if (checks[index].call(this, ...parameters)) return true\n }\n\n return false\n }\n}\n\n/**\n * Utility to assert each property in `test` is represented in `node`, and each\n * values are strictly equal.\n *\n * @param {Props} check\n * @returns {AssertAnything}\n */\nfunction propsFactory(check) {\n return castFactory(all)\n\n /**\n * @param {Node} node\n * @returns {boolean}\n */\n function all(node) {\n /** @type {string} */\n let key\n\n for (key in check) {\n // @ts-expect-error: hush, it sure works as an index.\n if (node[key] !== check[key]) return false\n }\n\n return true\n }\n}\n\n/**\n * Utility to convert a string into a function which checks a given node’s type\n * for said string.\n *\n * @param {Type} check\n * @returns {AssertAnything}\n */\nfunction typeFactory(check) {\n return castFactory(type)\n\n /**\n * @param {Node} node\n */\n function type(node) {\n return node && node.type === check\n }\n}\n\n/**\n * Utility to convert a string into a function which checks a given node’s type\n * for said string.\n * @param {TestFunctionAnything} check\n * @returns {AssertAnything}\n */\nfunction castFactory(check) {\n return assertion\n\n /**\n * @this {unknown}\n * @param {Array.<unknown>} parameters\n * @returns {boolean}\n */\n function assertion(...parameters) {\n // @ts-expect-error: spreading is fine.\n return Boolean(check.call(this, ...parameters))\n }\n}\n\n// Utility to return true.\nfunction ok() {\n return true\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist-util-is').Test} Test\n * @typedef {import('./complex-types.js').Action} Action\n * @typedef {import('./complex-types.js').Index} Index\n * @typedef {import('./complex-types.js').ActionTuple} ActionTuple\n * @typedef {import('./complex-types.js').VisitorResult} VisitorResult\n * @typedef {import('./complex-types.js').Visitor} Visitor\n */\n\nimport {convert} from 'unist-util-is'\nimport {color} from './color.js'\n\n/**\n * Continue traversing as normal\n */\nexport const CONTINUE = true\n/**\n * Do not traverse this node’s children\n */\nexport const SKIP = 'skip'\n/**\n * Stop traversing immediately\n */\nexport const EXIT = false\n\n/**\n * Visit children of tree which pass test.\n *\n * @param tree\n * Tree to walk\n * @param [test]\n * `unist-util-is`-compatible test\n * @param visitor\n * Function called for nodes that pass `test`.\n * @param [reverse=false]\n * Traverse in reverse preorder (NRL) instead of preorder (NLR) (default).\n */\nexport const visitParents =\n /**\n * @type {(\n * (<Tree extends Node, Check extends Test>(tree: Tree, test: Check, visitor: import('./complex-types.js').BuildVisitor<Tree, Check>, reverse?: boolean) => void) &\n * (<Tree extends Node>(tree: Tree, visitor: import('./complex-types.js').BuildVisitor<Tree>, reverse?: boolean) => void)\n * )}\n */\n (\n /**\n * @param {Node} tree\n * @param {Test} test\n * @param {import('./complex-types.js').Visitor<Node>} visitor\n * @param {boolean} [reverse=false]\n */\n function (tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n // @ts-expect-error no visitor given, so `visitor` is test.\n visitor = test\n test = null\n }\n\n const is = convert(test)\n const step = reverse ? -1 : 1\n\n factory(tree, null, [])()\n\n /**\n * @param {Node} node\n * @param {number?} index\n * @param {Array<Parent>} parents\n */\n function factory(node, index, parents) {\n /** @type {Record<string, unknown>} */\n // @ts-expect-error: hush\n const value = typeof node === 'object' && node !== null ? node : {}\n /** @type {string|undefined} */\n let name\n\n if (typeof value.type === 'string') {\n name =\n typeof value.tagName === 'string'\n ? value.tagName\n : typeof value.name === 'string'\n ? value.name\n : undefined\n\n Object.defineProperty(visit, 'name', {\n value:\n 'node (' +\n color(value.type + (name ? '<' + name + '>' : '')) +\n ')'\n })\n }\n\n return visit\n\n function visit() {\n /** @type {ActionTuple} */\n let result = []\n /** @type {ActionTuple} */\n let subresult\n /** @type {number} */\n let offset\n /** @type {Array<Parent>} */\n let grandparents\n\n if (!test || is(node, index, parents[parents.length - 1] || null)) {\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n // @ts-expect-error looks like a parent.\n if (node.children && result[0] !== SKIP) {\n // @ts-expect-error looks like a parent.\n offset = (reverse ? node.children.length : -1) + step\n // @ts-expect-error looks like a parent.\n grandparents = parents.concat(node)\n\n // @ts-expect-error looks like a parent.\n while (offset > -1 && offset < node.children.length) {\n // @ts-expect-error looks like a parent.\n subresult = factory(node.children[offset], offset, grandparents)()\n\n if (subresult[0] === EXIT) {\n return subresult\n }\n\n offset =\n typeof subresult[1] === 'number' ? subresult[1] : offset + step\n }\n }\n\n return result\n }\n }\n }\n )\n\n/**\n * @param {VisitorResult} value\n * @returns {ActionTuple}\n */\nfunction toResult(value) {\n if (Array.isArray(value)) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return [value]\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist-util-is').Test} Test\n * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult\n * @typedef {import('./complex-types.js').Visitor} Visitor\n */\n\nimport {visitParents} from 'unist-util-visit-parents'\n\n/**\n * Visit children of tree which pass test.\n *\n * @param tree\n * Tree to walk\n * @param [test]\n * `unist-util-is`-compatible test\n * @param visitor\n * Function called for nodes that pass `test`.\n * @param reverse\n * Traverse in reverse preorder (NRL) instead of preorder (NLR) (default).\n */\nexport const visit =\n /**\n * @type {(\n * (<Tree extends Node, Check extends Test>(tree: Tree, test: Check, visitor: import('./complex-types.js').BuildVisitor<Tree, Check>, reverse?: boolean) => void) &\n * (<Tree extends Node>(tree: Tree, visitor: import('./complex-types.js').BuildVisitor<Tree>, reverse?: boolean) => void)\n * )}\n */\n (\n /**\n * @param {Node} tree\n * @param {Test} test\n * @param {import('./complex-types.js').Visitor} visitor\n * @param {boolean} [reverse]\n */\n function (tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n visitParents(tree, test, overload, reverse)\n\n /**\n * @param {Node} node\n * @param {Array<Parent>} parents\n */\n function overload(node, parents) {\n const parent = parents[parents.length - 1]\n return visitor(\n node,\n parent ? parent.children.indexOf(node) : null,\n parent\n )\n }\n }\n )\n\nexport {CONTINUE, EXIT, SKIP} from 'unist-util-visit-parents'\n","/**\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Node} Node\n * @typedef {Record<string, unknown> & {type: string, position?: PositionLike|undefined}} NodeLike\n * @typedef {import('unist').Point} Point\n *\n * @typedef {Partial<Point>} PointLike\n *\n * @typedef PositionLike\n * @property {PointLike} [start]\n * @property {PointLike} [end]\n */\n\nexport const pointStart = point('start')\nexport const pointEnd = point('end')\n\n/**\n * Get the positional info of `node`.\n *\n * @param {NodeLike|Node} [node]\n * @returns {Position}\n */\nexport function position(node) {\n return {start: pointStart(node), end: pointEnd(node)}\n}\n\n/**\n * Get the positional info of `node`.\n *\n * @param {'start'|'end'} type\n */\nfunction point(type) {\n return point\n\n /**\n * Get the positional info of `node`.\n *\n * @param {NodeLike|Node} [node]\n * @returns {Point}\n */\n function point(node) {\n const point = (node && node.position && node.position[type]) || {}\n\n return {\n line: point.line || null,\n column: point.column || null,\n offset: point.offset > -1 ? point.offset : null\n }\n }\n}\n","/**\n * @typedef {import('mdast').Root|import('mdast').Content} Node\n * @typedef {import('mdast').Definition} Definition\n */\n\nimport {visit} from 'unist-util-visit'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Find definitions in `node`.\n * Uses CommonMark precedence, which means that earlier definitions are\n * preferred over duplicate later definitions.\n *\n * @param {Node} node\n */\nexport function definitions(node) {\n /** @type {Record<string, Definition>} */\n const cache = Object.create(null)\n\n if (!node || !node.type) {\n throw new Error('mdast-util-definitions expected node')\n }\n\n visit(node, 'definition', (definition) => {\n const id = clean(definition.identifier)\n if (id && !own.call(cache, id)) {\n cache[id] = definition\n }\n })\n\n return definition\n\n /**\n * Get a node from the bound definition cache.\n *\n * @param {string} identifier\n * @returns {Definition|null}\n */\n function definition(identifier) {\n const id = clean(identifier)\n return id && own.call(cache, id) ? cache[id] : null\n }\n}\n\n/**\n * @param {string} [value]\n * @returns {string}\n */\nfunction clean(value) {\n return String(value || '').toUpperCase()\n}\n","/**\n * @typedef {import('mdast').Root|import('mdast').Parent['children'][number]} MdastNode\n * @typedef {import('./index.js').H} H\n * @typedef {import('./index.js').Handler} Handler\n * @typedef {import('./index.js').Content} Content\n */\n\nimport {u} from 'unist-builder'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Transform an unknown node.\n * @type {Handler}\n * @param {MdastNode} node\n */\nfunction unknown(h, node) {\n const data = node.data || {}\n\n if (\n 'value' in node &&\n !(\n own.call(data, 'hName') ||\n own.call(data, 'hProperties') ||\n own.call(data, 'hChildren')\n )\n ) {\n return h.augment(node, u('text', node.value))\n }\n\n return h(node, 'div', all(h, node))\n}\n\n/**\n * @type {Handler}\n * @param {MdastNode} node\n */\nexport function one(h, node, parent) {\n const type = node && node.type\n /** @type {Handler} */\n let fn\n\n // Fail on non-nodes.\n if (!type) {\n throw new Error('Expected node, got `' + node + '`')\n }\n\n if (own.call(h.handlers, type)) {\n fn = h.handlers[type]\n } else if (h.passThrough && h.passThrough.includes(type)) {\n fn = returnNode\n } else {\n fn = h.unknownHandler\n }\n\n return (typeof fn === 'function' ? fn : unknown)(h, node, parent)\n}\n\n/**\n * @type {Handler}\n * @param {MdastNode} node\n */\nfunction returnNode(h, node) {\n // @ts-expect-error: Pass through custom node.\n return 'children' in node ? {...node, children: all(h, node)} : node\n}\n\n/**\n * @param {H} h\n * @param {MdastNode} parent\n */\nexport function all(h, parent) {\n /** @type {Array.<Content>} */\n const values = []\n\n if ('children' in parent) {\n const nodes = parent.children\n let index = -1\n\n while (++index < nodes.length) {\n const result = one(h, nodes[index], parent)\n\n if (result) {\n if (index && nodes[index - 1].type === 'break') {\n if (!Array.isArray(result) && result.type === 'text') {\n result.value = result.value.replace(/^\\s+/, '')\n }\n\n if (!Array.isArray(result) && result.type === 'element') {\n const head = result.children[0]\n\n if (head && head.type === 'text') {\n head.value = head.value.replace(/^\\s+/, '')\n }\n }\n }\n\n if (Array.isArray(result)) {\n values.push(...result)\n } else {\n values.push(result)\n }\n }\n }\n }\n\n return values\n}\n","/**\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n * @typedef {import('hast').Element} Element\n * @typedef {import('../index.js').Handler} Handler\n */\n\n/**\n * @type {Handler}\n * @param {ThematicBreak} [node]\n * @returns {Element}\n */\nexport function thematicBreak(h, node) {\n return h(node, 'hr')\n}\n","/**\n * @typedef {import('./index.js').Content} Content\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * Wrap `nodes` with line feeds between each entry.\n * Optionally adds line feeds at the start and end.\n *\n * @param {Array.<Content>} nodes\n * @param {boolean} [loose=false]\n * @returns {Array.<Content>}\n */\nexport function wrap(nodes, loose) {\n /** @type {Array.<Content>} */\n const result = []\n let index = -1\n\n if (loose) {\n result.push(u('text', '\\n'))\n }\n\n while (++index < nodes.length) {\n if (index) result.push(u('text', '\\n'))\n result.push(nodes[index])\n }\n\n if (loose && nodes.length > 0) {\n result.push(u('text', '\\n'))\n }\n\n return result\n}\n","/**\n * @typedef {import('mdast').List} List\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {wrap} from '../wrap.js'\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {List} node\n * @returns {Element}\n */\nexport function list(h, node) {\n /** @type {Properties} */\n const props = {}\n const name = node.ordered ? 'ol' : 'ul'\n const items = all(h, node)\n let index = -1\n\n if (typeof node.start === 'number' && node.start !== 1) {\n props.start = node.start\n }\n\n // Like GitHub, add a class for custom styling.\n while (++index < items.length) {\n const item = items[index]\n\n if (\n item.type === 'element' &&\n item.tagName === 'li' &&\n item.properties &&\n Array.isArray(item.properties.className) &&\n item.properties.className.includes('task-list-item')\n ) {\n props.className = ['contains-task-list']\n break\n }\n }\n\n return h(node, name, props, wrap(items, true))\n}\n","/**\n * @typedef {import('mdast').FootnoteReference} FootnoteReference\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * @type {Handler}\n * @param {FootnoteReference} node\n */\nexport function footnoteReference(h, node) {\n const footnoteOrder = h.footnoteOrder\n const identifier = String(node.identifier)\n const index = footnoteOrder.indexOf(identifier)\n const marker = String(\n index === -1 ? footnoteOrder.push(identifier) : index + 1\n )\n\n return h(\n node,\n 'a',\n {\n href: '#fn' + marker,\n className: ['footnote-ref'],\n id: 'fnref' + marker,\n role: 'doc-noteref'\n },\n [h(node.position, 'sup', [u('text', marker)])]\n )\n}\n","/**\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('./index.js').Handler} Handler\n * @typedef {import('./index.js').Content} Content\n */\n\nimport {u} from 'unist-builder'\nimport {all} from './traverse.js'\n\n/**\n * Return the content of a reference without definition as plain text.\n *\n * @type {Handler}\n * @param {ImageReference|LinkReference} node\n * @returns {Content|Array.<Content>}\n */\nexport function revert(h, node) {\n const subtype = node.referenceType\n let suffix = ']'\n\n if (subtype === 'collapsed') {\n suffix += '[]'\n } else if (subtype === 'full') {\n suffix += '[' + (node.label || node.identifier) + ']'\n }\n\n if (node.type === 'imageReference') {\n return u('text', '![' + node.alt + suffix)\n }\n\n const contents = all(h, node)\n const head = contents[0]\n\n if (head && head.type === 'text') {\n head.value = '[' + head.value\n } else {\n contents.unshift(u('text', '['))\n }\n\n const tail = contents[contents.length - 1]\n\n if (tail && tail.type === 'text') {\n tail.value += suffix\n } else {\n contents.push(u('text', suffix))\n }\n\n return contents\n}\n","/**\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').List} List\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast').Element} Element\n * @typedef {import('../index.js').Handler} Handler\n * @typedef {import('../index.js').Content} Content\n */\n\nimport {u} from 'unist-builder'\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {ListItem} node\n * @param {List} parent\n */\nexport function listItem(h, node, parent) {\n const result = all(h, node)\n const loose = parent ? listLoose(parent) : listItemLoose(node)\n /** @type {Properties} */\n const props = {}\n /** @type {Array.<Content>} */\n const wrapped = []\n\n if (typeof node.checked === 'boolean') {\n /** @type {Element} */\n let paragraph\n\n if (\n result[0] &&\n result[0].type === 'element' &&\n result[0].tagName === 'p'\n ) {\n paragraph = result[0]\n } else {\n paragraph = h(null, 'p', [])\n result.unshift(paragraph)\n }\n\n if (paragraph.children.length > 0) {\n paragraph.children.unshift(u('text', ' '))\n }\n\n paragraph.children.unshift(\n h(null, 'input', {\n type: 'checkbox',\n checked: node.checked,\n disabled: true\n })\n )\n\n // According to github-markdown-css, this class hides bullet.\n // See: <https://github.com/sindresorhus/github-markdown-css>.\n props.className = ['task-list-item']\n }\n\n let index = -1\n\n while (++index < result.length) {\n const child = result[index]\n\n // Add eols before nodes, except if this is a loose, first paragraph.\n if (\n loose ||\n index !== 0 ||\n child.type !== 'element' ||\n child.tagName !== 'p'\n ) {\n wrapped.push(u('text', '\\n'))\n }\n\n if (child.type === 'element' && child.tagName === 'p' && !loose) {\n wrapped.push(...child.children)\n } else {\n wrapped.push(child)\n }\n }\n\n const tail = result[result.length - 1]\n\n // Add a final eol.\n if (tail && (loose || !('tagName' in tail) || tail.tagName !== 'p')) {\n wrapped.push(u('text', '\\n'))\n }\n\n return h(node, 'li', props, wrapped)\n}\n\n/**\n * @param {List} node\n * @return {Boolean}\n */\nfunction listLoose(node) {\n let loose = node.spread\n const children = node.children\n let index = -1\n\n while (!loose && ++index < children.length) {\n loose = listItemLoose(children[index])\n }\n\n return Boolean(loose)\n}\n\n/**\n * @param {ListItem} node\n * @return {Boolean}\n */\nfunction listItemLoose(node) {\n const spread = node.spread\n\n return spread === undefined || spread === null\n ? node.children.length > 1\n : spread\n}\n","import {blockquote} from './blockquote.js'\nimport {hardBreak} from './break.js'\nimport {code} from './code.js'\nimport {strikethrough} from './delete.js'\nimport {emphasis} from './emphasis.js'\nimport {footnoteReference} from './footnote-reference.js'\nimport {footnote} from './footnote.js'\nimport {heading} from './heading.js'\nimport {html} from './html.js'\nimport {imageReference} from './image-reference.js'\nimport {image} from './image.js'\nimport {inlineCode} from './inline-code.js'\nimport {linkReference} from './link-reference.js'\nimport {link} from './link.js'\nimport {listItem} from './list-item.js'\nimport {list} from './list.js'\nimport {paragraph} from './paragraph.js'\nimport {root} from './root.js'\nimport {strong} from './strong.js'\nimport {table} from './table.js'\nimport {text} from './text.js'\nimport {thematicBreak} from './thematic-break.js'\n\nexport const handlers = {\n blockquote,\n break: hardBreak,\n code,\n delete: strikethrough,\n emphasis,\n footnoteReference,\n footnote,\n heading,\n html,\n imageReference,\n image,\n inlineCode,\n linkReference,\n link,\n listItem,\n list,\n paragraph,\n root,\n strong,\n table,\n text,\n thematicBreak,\n toml: ignore,\n yaml: ignore,\n definition: ignore,\n footnoteDefinition: ignore\n}\n\n// Return nothing for nodes that are ignored.\nfunction ignore() {\n return null\n}\n","/**\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {wrap} from '../wrap.js'\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Blockquote} node\n */\nexport function blockquote(h, node) {\n return h(node, 'blockquote', wrap(all(h, node), true))\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').Break} Break\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * @type {Handler}\n * @param {Break} node\n * @returns {Array<Element|Text>}\n */\nexport function hardBreak(h, node) {\n return [h(node, 'br'), u('text', '\\n')]\n}\n","/**\n * @typedef {import('mdast').Code} Code\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * @type {Handler}\n * @param {Code} node\n */\nexport function code(h, node) {\n const value = node.value ? node.value + '\\n' : ''\n // To do: next major, use `node.lang` w/o regex, the splitting’s been going\n // on for years in remark now.\n const lang = node.lang && node.lang.match(/^[^ \\t]+(?=[ \\t]|$)/)\n /** @type {Properties} */\n const props = {}\n\n if (lang) {\n props.className = ['language-' + lang]\n }\n\n const code = h(node, 'code', props, [u('text', value)])\n\n if (node.meta) {\n code.data = {meta: node.meta}\n }\n\n return h(node.position, 'pre', [code])\n}\n","/**\n * @typedef {import('mdast').Delete} Delete\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Delete} node\n */\nexport function strikethrough(h, node) {\n return h(node, 'del', all(h, node))\n}\n","/**\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Emphasis} node\n */\nexport function emphasis(h, node) {\n return h(node, 'em', all(h, node))\n}\n","/**\n * @typedef {import('mdast').Footnote} Footnote\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {footnoteReference} from './footnote-reference.js'\n\n/**\n * @type {Handler}\n * @param {Footnote} node\n */\nexport function footnote(h, node) {\n const footnoteById = h.footnoteById\n const footnoteOrder = h.footnoteOrder\n let no = 1\n\n while (no in footnoteById) no++\n\n const identifier = String(no)\n\n // No need to check if `identifier` exists in `footnoteOrder`, it’s guaranteed\n // to not exist because we just generated it.\n footnoteOrder.push(identifier)\n\n footnoteById[identifier] = {\n type: 'footnoteDefinition',\n identifier,\n children: [{type: 'paragraph', children: node.children}],\n position: node.position\n }\n\n return footnoteReference(h, {\n type: 'footnoteReference',\n identifier,\n position: node.position\n })\n}\n","/**\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Heading} node\n */\nexport function heading(h, node) {\n return h(node, 'h' + node.depth, all(h, node))\n}\n","/**\n * @typedef {import('mdast').HTML} HTML\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * Return either a `raw` node in dangerous mode, otherwise nothing.\n *\n * @type {Handler}\n * @param {HTML} node\n */\nexport function html(h, node) {\n return h.dangerous ? h.augment(node, u('raw', node.value)) : null\n}\n","/**\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport normalize from 'mdurl/encode.js'\nimport {revert} from '../revert.js'\n\n/**\n * @type {Handler}\n * @param {ImageReference} node\n */\nexport function imageReference(h, node) {\n const def = h.definition(node.identifier)\n\n if (!def) {\n return revert(h, node)\n }\n\n /** @type {Properties} */\n const props = {src: normalize(def.url || ''), alt: node.alt}\n\n if (def.title !== null && def.title !== undefined) {\n props.title = def.title\n }\n\n return h(node, 'img', props)\n}\n","/**\n * @typedef {import('mdast').Image} Image\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport normalize from 'mdurl/encode.js'\n\n/**\n * @type {Handler}\n * @param {Image} node\n */\nexport function image(h, node) {\n /** @type {Properties} */\n const props = {src: normalize(node.url), alt: node.alt}\n\n if (node.title !== null && node.title !== undefined) {\n props.title = node.title\n }\n\n return h(node, 'img', props)\n}\n","/**\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * @type {Handler}\n * @param {InlineCode} node\n */\nexport function inlineCode(h, node) {\n return h(node, 'code', [u('text', node.value.replace(/\\r?\\n|\\r/g, ' '))])\n}\n","/**\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport normalize from 'mdurl/encode.js'\nimport {revert} from '../revert.js'\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {LinkReference} node\n */\nexport function linkReference(h, node) {\n const def = h.definition(node.identifier)\n\n if (!def) {\n return revert(h, node)\n }\n\n /** @type {Properties} */\n const props = {href: normalize(def.url || '')}\n\n if (def.title !== null && def.title !== undefined) {\n props.title = def.title\n }\n\n return h(node, 'a', props, all(h, node))\n}\n","/**\n * @typedef {import('mdast').Link} Link\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport normalize from 'mdurl/encode.js'\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Link} node\n */\nexport function link(h, node) {\n /** @type {Properties} */\n const props = {href: normalize(node.url)}\n\n if (node.title !== null && node.title !== undefined) {\n props.title = node.title\n }\n\n return h(node, 'a', props, all(h, node))\n}\n","/**\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Paragraph} node\n */\nexport function paragraph(h, node) {\n return h(node, 'p', all(h, node))\n}\n","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\nimport {all} from '../traverse.js'\nimport {wrap} from '../wrap.js'\n\n/**\n * @type {Handler}\n * @param {Root} node\n */\nexport function root(h, node) {\n // @ts-expect-error `root`s are also fine.\n return h.augment(node, u('root', wrap(all(h, node))))\n}\n","/**\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Strong} node\n */\nexport function strong(h, node) {\n return h(node, 'strong', all(h, node))\n}\n","/**\n * @typedef {import('mdast').Table} Table\n * @typedef {import('mdast').TableCell} TableCell\n * @typedef {import('hast').Element} Element\n * @typedef {import('../index.js').Handler} Handler\n * @typedef {import('../index.js').Content} Content\n */\n\nimport {pointStart, pointEnd} from 'unist-util-position'\nimport {wrap} from '../wrap.js'\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Table} node\n */\nexport function table(h, node) {\n const rows = node.children\n let index = -1\n const align = node.align || []\n /** @type {Array.<Element>} */\n const result = []\n\n while (++index < rows.length) {\n const row = rows[index].children\n const name = index === 0 ? 'th' : 'td'\n let pos = node.align ? align.length : row.length\n /** @type {Array.<Content>} */\n const out = []\n\n while (pos--) {\n const cell = row[pos]\n out[pos] = h(cell, name, {align: align[pos]}, cell ? all(h, cell) : [])\n }\n\n result[index] = h(rows[index], 'tr', wrap(out, true))\n }\n\n return h(\n node,\n 'table',\n wrap(\n [h(result[0].position, 'thead', wrap([result[0]], true))].concat(\n result[1]\n ? h(\n {\n start: pointStart(result[1]),\n end: pointEnd(result[result.length - 1])\n },\n 'tbody',\n wrap(result.slice(1), true)\n )\n : []\n ),\n true\n )\n )\n}\n","/**\n * @typedef {import('mdast').Text} Text\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * @type {Handler}\n * @param {Text} node\n */\nexport function text(h, node) {\n return h.augment(\n node,\n u('text', String(node.value).replace(/[ \\t]*(\\r?\\n|\\r)[ \\t]*/g, '$1'))\n )\n}\n","/**\n * @typedef {import('mdast').Root|import('mdast').Parent['children'][number]} MdastNode\n * @typedef {import('hast').Root|import('hast').Parent['children'][number]} HastNode\n * @typedef {import('mdast').Parent} Parent\n * @typedef {import('mdast').Definition} Definition\n * @typedef {import('mdast').FootnoteDefinition} FootnoteDefinition\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast').Comment} Comment\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').ElementContent} Content\n * @typedef {import('unist-util-position').PositionLike} PositionLike\n *\n * @typedef EmbeddedHastFields\n * @property {string} [hName] Defines the tag name of an element\n * @property {Properties} [hProperties] Defines the properties of an element\n * @property {Array.<Content>} [hChildren] Defines the (hast) children of an element\n *\n * @typedef {Object.<string, unknown> & EmbeddedHastFields} Data unist data with embedded hast fields\n *\n * @typedef {MdastNode & {data?: Data}} NodeWithData unist node with embedded hast data\n *\n * @callback Handler\n * @param {H} h Handle context\n * @param {any} node mdast node to handle\n * @param {Parent|null} parent Parent of `node`\n * @returns {Content|Array.<Content>|null|undefined} hast node\n *\n * @callback HFunctionProps\n * @param {MdastNode|PositionLike|null|undefined} node mdast node or unist position\n * @param {string} tagName HTML tag name\n * @param {Properties} props Properties\n * @param {Array.<Content>?} [children] hast content\n * @returns {Element}\n *\n * @callback HFunctionNoProps\n * @param {MdastNode|PositionLike|null|undefined} node mdast node or unist position\n * @param {string} tagName HTML tag name\n * @param {Array.<Content>?} [children] hast content\n * @returns {Element}\n *\n * @typedef HFields\n * @property {boolean} dangerous Whether HTML is allowed\n * @property {(identifier: string) => Definition|null} definition Definition cache\n * @property {Object.<string, FootnoteDefinition>} footnoteById Footnote cache\n * @property {Array.<string>} footnoteOrder Order in which footnotes occur\n * @property {Handlers} handlers Applied handlers\n * @property {Handler} unknownHandler Handler for any none not in `passThrough` or otherwise handled\n * @property {(left: NodeWithData|PositionLike|null|undefined, right: Content) => Content} augment Like `h` but lower-level and usable on non-elements.\n * @property {Array.<string>} passThrough List of node types to pass through untouched (except for their children).\n *\n * @typedef Options\n * @property {boolean} [allowDangerousHtml=false] Whether to allow `html` nodes and inject them as `raw` HTML\n * @property {Handlers} [handlers] Object mapping mdast nodes to functions handling them\n * @property {Array.<string>} [passThrough] List of custom mdast node types to pass through (keep) in hast\n * @property {Handler} [unknownHandler] Handler for all unknown nodes.\n *\n * @typedef {Record.<string, Handler>} Handlers Map of node types to handlers\n * @typedef {HFunctionProps & HFunctionNoProps & HFields} H Handle context\n */\n\nimport {u} from 'unist-builder'\nimport {visit} from 'unist-util-visit'\nimport {pointStart, pointEnd} from 'unist-util-position'\nimport {generated} from 'unist-util-generated'\nimport {definitions} from 'mdast-util-definitions'\nimport {one} from './traverse.js'\nimport {footer} from './footer.js'\nimport {handlers} from './handlers/index.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Factory to transform.\n * @param {MdastNode} tree mdast node\n * @param {Options} [options] Configuration\n * @returns {H} `h` function\n */\nfunction factory(tree, options) {\n const settings = options || {}\n const dangerous = settings.allowDangerousHtml || false\n /** @type {Object.<string, FootnoteDefinition>} */\n const footnoteById = {}\n\n h.dangerous = dangerous\n h.definition = definitions(tree)\n h.footnoteById = footnoteById\n /** @type {Array.<string>} */\n h.footnoteOrder = []\n h.augment = augment\n h.handlers = {...handlers, ...settings.handlers}\n h.unknownHandler = settings.unknownHandler\n h.passThrough = settings.passThrough\n\n visit(tree, 'footnoteDefinition', (definition) => {\n const id = String(definition.identifier).toUpperCase()\n\n // Mimick CM behavior of link definitions.\n // See: <https://github.com/syntax-tree/mdast-util-definitions/blob/8290999/index.js#L26>.\n if (!own.call(footnoteById, id)) {\n footnoteById[id] = definition\n }\n })\n\n // @ts-expect-error Hush, it’s fine!\n return h\n\n /**\n * Finalise the created `right`, a hast node, from `left`, an mdast node.\n * @param {(NodeWithData|PositionLike)?} left\n * @param {Content} right\n * @returns {Content}\n */\n function augment(left, right) {\n // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n if (left && 'data' in left && left.data) {\n /** @type {Data} */\n const data = left.data\n\n if (data.hName) {\n if (right.type !== 'element') {\n right = {\n type: 'element',\n tagName: '',\n properties: {},\n children: []\n }\n }\n\n right.tagName = data.hName\n }\n\n if (right.type === 'element' && data.hProperties) {\n right.properties = {...right.properties, ...data.hProperties}\n }\n\n if ('children' in right && right.children && data.hChildren) {\n right.children = data.hChildren\n }\n }\n\n if (left) {\n const ctx = 'type' in left ? left : {position: left}\n\n if (!generated(ctx)) {\n right.position = {start: pointStart(ctx), end: pointEnd(ctx)}\n }\n }\n\n return right\n }\n\n /**\n * Create an element for `node`.\n *\n * @type {HFunctionProps}\n */\n function h(node, tagName, props, children) {\n if (Array.isArray(props)) {\n children = props\n props = {}\n }\n\n // @ts-expect-error augmenting an element yields an element.\n return augment(node, {\n type: 'element',\n tagName,\n properties: props || {},\n children: children || []\n })\n }\n}\n\n/**\n * Transform `tree` (an mdast node) to a hast node.\n *\n * @param {MdastNode} tree mdast node\n * @param {Options} [options] Configuration\n * @returns {HastNode|null|undefined} hast node\n */\nexport function toHast(tree, options) {\n const h = factory(tree, options)\n const node = one(h, tree, null)\n const foot = footer(h)\n\n if (foot) {\n // @ts-expect-error If there’s a footer, there were definitions, meaning block\n // content.\n // So assume `node` is a parent node.\n node.children.push(u('text', '\\n'), foot)\n }\n\n return Array.isArray(node) ? {type: 'root', children: node} : node\n}\n","/**\n * @typedef {Object} PointLike\n * @property {number} [line]\n * @property {number} [column]\n * @property {number} [offset]\n *\n * @typedef {Object} PositionLike\n * @property {PointLike} [start]\n * @property {PointLike} [end]\n *\n * @typedef {Object} NodeLike\n * @property {PositionLike} [position]\n */\n\n/**\n * Check if `node` is *generated*.\n *\n * @param {NodeLike} [node]\n * @returns {boolean}\n */\nexport function generated(node) {\n return (\n !node ||\n !node.position ||\n !node.position.start ||\n !node.position.start.line ||\n !node.position.start.column ||\n !node.position.end ||\n !node.position.end.line ||\n !node.position.end.column\n )\n}\n","/**\n * @typedef {import('mdast').BlockContent} BlockContent\n * @typedef {import('mdast').FootnoteDefinition} FootnoteDefinition\n * @typedef {import('mdast').Link} Link\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('./index.js').H} H\n */\n\nimport {thematicBreak} from './handlers/thematic-break.js'\nimport {list} from './handlers/list.js'\nimport {wrap} from './wrap.js'\n\n/**\n * @param {H} h\n */\nexport function footer(h) {\n const footnoteById = h.footnoteById\n const footnoteOrder = h.footnoteOrder\n let index = -1\n /** @type {Array.<ListItem>} */\n const listItems = []\n\n while (++index < footnoteOrder.length) {\n const def = footnoteById[footnoteOrder[index].toUpperCase()]\n\n if (!def) {\n continue\n }\n\n const marker = String(index + 1)\n const content = [...def.children]\n /** @type {Link} */\n const backReference = {\n type: 'link',\n url: '#fnref' + marker,\n data: {hProperties: {className: ['footnote-back'], role: 'doc-backlink'}},\n children: [{type: 'text', value: '↩'}]\n }\n const tail = content[content.length - 1]\n\n if (tail && tail.type === 'paragraph') {\n tail.children.push(backReference)\n } else {\n // @ts-expect-error Indeed, link directly added in block content.\n // Which we do because that way at least the handlers will be called\n // for the other HTML we’re generating (as markdown).\n content.push(backReference)\n }\n\n listItems.push({\n type: 'listItem',\n data: {hProperties: {id: 'fn' + marker, role: 'doc-endnote'}},\n children: content,\n position: def.position\n })\n }\n\n if (listItems.length === 0) {\n return null\n }\n\n return h(\n null,\n 'section',\n {className: ['footnotes'], role: 'doc-endnotes'},\n wrap(\n [\n thematicBreak(h),\n list(h, {type: 'list', ordered: true, children: listItems})\n ],\n true\n )\n )\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('mdast').Root} MdastRoot\n * @typedef {import('mdast-util-to-hast').Options} Options\n * @typedef {import('unified').Processor<any, any, any, any>} Processor\n *\n * @typedef {import('mdast-util-to-hast')} DoNotTouchAsThisImportIncludesRawInTree\n */\n\nimport {toHast} from 'mdast-util-to-hast'\n\n// Note: the `<MdastRoot, HastRoot>` overload doesn’t seem to work :'(\n\n/**\n * Plugin to bridge or mutate to rehype.\n *\n * If a destination is given, runs the destination with the new hast tree\n * (bridge-mode).\n * Without destination, returns the hast tree: further plugins run on that tree\n * (mutate-mode).\n *\n * @param destination\n * Optional unified processor.\n * @param options\n * Options passed to `mdast-util-to-hast`.\n */\nconst remarkRehype =\n /** @type {(import('unified').Plugin<[Processor, Options?]|[Options]|[], MdastRoot>)} */\n (\n function (destination, options) {\n return destination && 'run' in destination\n ? bridge(destination, options)\n : mutate(destination)\n }\n )\n\nexport default remarkRehype\n\n/**\n * Bridge-mode.\n * Runs the destination with the new hast tree.\n *\n * @type {import('unified').Plugin<[Processor, Options?], MdastRoot>}\n */\nfunction bridge(destination, options) {\n return (node, file, next) => {\n destination.run(toHast(node, options), file, (error) => {\n next(error)\n })\n }\n}\n\n/**\n * Mutate-mode.\n * Further transformers run on the nlcst tree.\n *\n * @type {import('unified').Plugin<[Options?]|void[], MdastRoot, HastRoot>}\n */\nfunction mutate(options) {\n // @ts-expect-error: assume a corresponding node is returned for `toHast`.\n return (node) => toHast(node, options)\n}\n","/**\n * @typedef {import('./info.js').Info} Info\n * @typedef {Record<string, Info>} Properties\n * @typedef {Record<string, string>} Normal\n */\n\nexport class Schema {\n /**\n * @constructor\n * @param {Properties} property\n * @param {Normal} normal\n * @param {string} [space]\n */\n constructor(property, normal, space) {\n this.property = property\n this.normal = normal\n if (space) {\n this.space = space\n }\n }\n}\n\n/** @type {Properties} */\nSchema.prototype.property = {}\n/** @type {Normal} */\nSchema.prototype.normal = {}\n/** @type {string|null} */\nSchema.prototype.space = null\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {Schema[]} definitions\n * @param {string} [space]\n * @returns {Schema}\n */\nexport function merge(definitions, space) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n let index = -1\n\n while (++index < definitions.length) {\n Object.assign(property, definitions[index].property)\n Object.assign(normal, definitions[index].normal)\n }\n\n return new Schema(property, normal, space)\n}\n","/**\n * @param {string} value\n * @returns {string}\n */\nexport function normalize(value) {\n return value.toLowerCase()\n}\n","export class Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n */\n constructor(property, attribute) {\n /** @type {string} */\n this.property = property\n /** @type {string} */\n this.attribute = attribute\n }\n}\n\n/** @type {string|null} */\nInfo.prototype.space = null\nInfo.prototype.boolean = false\nInfo.prototype.booleanish = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.number = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.spaceSeparated = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.defined = false\n","let powers = 0\n\nexport const boolean = increment()\nexport const booleanish = increment()\nexport const overloadedBoolean = increment()\nexport const number = increment()\nexport const spaceSeparated = increment()\nexport const commaSeparated = increment()\nexport const commaOrSpaceSeparated = increment()\n\nfunction increment() {\n return 2 ** ++powers\n}\n","import {Info} from './info.js'\nimport * as types from './types.js'\n\n/** @type {Array<keyof types>} */\n// @ts-expect-error: hush.\nconst checks = Object.keys(types)\n\nexport class DefinedInfo extends Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n * @param {number|null} [mask]\n * @param {string} [space]\n */\n constructor(property, attribute, mask, space) {\n let index = -1\n\n super(property, attribute)\n\n mark(this, 'space', space)\n\n if (typeof mask === 'number') {\n while (++index < checks.length) {\n const check = checks[index]\n mark(this, checks[index], (mask & types[check]) === types[check])\n }\n }\n }\n}\n\nDefinedInfo.prototype.defined = true\n\n/**\n * @param {DefinedInfo} values\n * @param {string} key\n * @param {unknown} value\n */\nfunction mark(values, key, value) {\n if (value) {\n // @ts-expect-error: assume `value` matches the expected value of `key`.\n values[key] = value\n }\n}\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n *\n * @typedef {Record<string, string>} Attributes\n *\n * @typedef {Object} Definition\n * @property {Record<string, number|null>} properties\n * @property {(attributes: Attributes, property: string) => string} transform\n * @property {string} [space]\n * @property {Attributes} [attributes]\n * @property {Array<string>} [mustUseProperty]\n */\n\nimport {normalize} from '../normalize.js'\nimport {Schema} from './schema.js'\nimport {DefinedInfo} from './defined-info.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param {Definition} definition\n * @returns {Schema}\n */\nexport function create(definition) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n /** @type {string} */\n let prop\n\n for (prop in definition.properties) {\n if (own.call(definition.properties, prop)) {\n const value = definition.properties[prop]\n const info = new DefinedInfo(\n prop,\n definition.transform(definition.attributes || {}, prop),\n value,\n definition.space\n )\n\n if (\n definition.mustUseProperty &&\n definition.mustUseProperty.includes(prop)\n ) {\n info.mustUseProperty = true\n }\n\n property[prop] = info\n\n normal[normalize(prop)] = prop\n normal[normalize(info.attribute)] = prop\n }\n }\n\n return new Schema(property, normal, definition.space)\n}\n","import {create} from './util/create.js'\n\nexport const xlink = create({\n space: 'xlink',\n transform(_, prop) {\n return 'xlink:' + prop.slice(5).toLowerCase()\n },\n properties: {\n xLinkActuate: null,\n xLinkArcRole: null,\n xLinkHref: null,\n xLinkRole: null,\n xLinkShow: null,\n xLinkTitle: null,\n xLinkType: null\n }\n})\n","import {create} from './util/create.js'\n\nexport const xml = create({\n space: 'xml',\n transform(_, prop) {\n return 'xml:' + prop.slice(3).toLowerCase()\n },\n properties: {xmlLang: null, xmlBase: null, xmlSpace: null}\n})\n","/**\n * @param {Record<string, string>} attributes\n * @param {string} attribute\n * @returns {string}\n */\nexport function caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute\n}\n","import {caseSensitiveTransform} from './case-sensitive-transform.js'\n\n/**\n * @param {Record<string, string>} attributes\n * @param {string} property\n * @returns {string}\n */\nexport function caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","import {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const xmlns = create({\n space: 'xmlns',\n attributes: {xmlnsxlink: 'xmlns:xlink'},\n transform: caseInsensitiveTransform,\n properties: {xmlns: null, xmlnsXLink: null}\n})\n","import {booleanish, number, spaceSeparated} from './util/types.js'\nimport {create} from './util/create.js'\n\nexport const aria = create({\n transform(_, prop) {\n return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()\n },\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n }\n})\n","import {\n boolean,\n overloadedBoolean,\n booleanish,\n number,\n spaceSeparated,\n commaSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const html = create({\n space: 'html',\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n transform: caseInsensitiveTransform,\n mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n properties: {\n // Standard Properties.\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n capture: boolean,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n cols: number,\n colSpan: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: boolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: null,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforePrint: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextLost: null,\n onContextMenu: null,\n onContextRestored: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: null,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n\n // Legacy.\n // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n align: null, // Several. Use CSS `text-align` instead,\n aLink: null, // `<body>`. Use CSS `a:active {color}` instead\n archive: spaceSeparated, // `<object>`. List of URIs to archives\n axis: null, // `<td>` and `<th>`. Use `scope` on `<th>`\n background: null, // `<body>`. Use CSS `background-image` instead\n bgColor: null, // `<body>` and table elements. Use CSS `background-color` instead\n border: number, // `<table>`. Use CSS `border-width` instead,\n borderColor: null, // `<table>`. Use CSS `border-color` instead,\n bottomMargin: number, // `<body>`\n cellPadding: null, // `<table>`\n cellSpacing: null, // `<table>`\n char: null, // Several table elements. When `align=char`, sets the character to align on\n charOff: null, // Several table elements. When `char`, offsets the alignment\n classId: null, // `<object>`\n clear: null, // `<br>`. Use CSS `clear` instead\n code: null, // `<object>`\n codeBase: null, // `<object>`\n codeType: null, // `<object>`\n color: null, // `<font>` and `<hr>`. Use CSS instead\n compact: boolean, // Lists. Use CSS to reduce space between items instead\n declare: boolean, // `<object>`\n event: null, // `<script>`\n face: null, // `<font>`. Use CSS instead\n frame: null, // `<table>`\n frameBorder: null, // `<iframe>`. Use CSS `border` instead\n hSpace: number, // `<img>` and `<object>`\n leftMargin: number, // `<body>`\n link: null, // `<body>`. Use CSS `a:link {color: *}` instead\n longDesc: null, // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`\n lowSrc: null, // `<img>`. Use a `<picture>`\n marginHeight: number, // `<body>`\n marginWidth: number, // `<body>`\n noResize: boolean, // `<frame>`\n noHref: boolean, // `<area>`. Use no href instead of an explicit `nohref`\n noShade: boolean, // `<hr>`. Use background-color and height instead of borders\n noWrap: boolean, // `<td>` and `<th>`\n object: null, // `<applet>`\n profile: null, // `<head>`\n prompt: null, // `<isindex>`\n rev: null, // `<link>`\n rightMargin: number, // `<body>`\n rules: null, // `<table>`\n scheme: null, // `<meta>`\n scrolling: booleanish, // `<frame>`. Use overflow in the child context\n standby: null, // `<object>`\n summary: null, // `<table>`\n text: null, // `<body>`. Use CSS `color` instead\n topMargin: number, // `<body>`\n valueType: null, // `<param>`\n version: null, // `<html>`. Use a doctype.\n vAlign: null, // Several. Use CSS `vertical-align` instead\n vLink: null, // `<body>`. Use CSS `a:visited {color}` instead\n vSpace: number, // `<img>` and `<object>`\n\n // Non-standard Properties.\n allowTransparency: null,\n autoCorrect: null,\n autoSave: null,\n disablePictureInPicture: boolean,\n disableRemotePlayback: boolean,\n prefix: null,\n property: null,\n results: number,\n security: null,\n unselectable: null\n }\n})\n","import {\n boolean,\n number,\n spaceSeparated,\n commaSeparated,\n commaOrSpaceSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseSensitiveTransform} from './util/case-sensitive-transform.js'\n\nexport const svg = create({\n space: 'svg',\n attributes: {\n accentHeight: 'accent-height',\n alignmentBaseline: 'alignment-baseline',\n arabicForm: 'arabic-form',\n baselineShift: 'baseline-shift',\n capHeight: 'cap-height',\n className: 'class',\n clipPath: 'clip-path',\n clipRule: 'clip-rule',\n colorInterpolation: 'color-interpolation',\n colorInterpolationFilters: 'color-interpolation-filters',\n colorProfile: 'color-profile',\n colorRendering: 'color-rendering',\n crossOrigin: 'crossorigin',\n dataType: 'datatype',\n dominantBaseline: 'dominant-baseline',\n enableBackground: 'enable-background',\n fillOpacity: 'fill-opacity',\n fillRule: 'fill-rule',\n floodColor: 'flood-color',\n floodOpacity: 'flood-opacity',\n fontFamily: 'font-family',\n fontSize: 'font-size',\n fontSizeAdjust: 'font-size-adjust',\n fontStretch: 'font-stretch',\n fontStyle: 'font-style',\n fontVariant: 'font-variant',\n fontWeight: 'font-weight',\n glyphName: 'glyph-name',\n glyphOrientationHorizontal: 'glyph-orientation-horizontal',\n glyphOrientationVertical: 'glyph-orientation-vertical',\n hrefLang: 'hreflang',\n horizAdvX: 'horiz-adv-x',\n horizOriginX: 'horiz-origin-x',\n horizOriginY: 'horiz-origin-y',\n imageRendering: 'image-rendering',\n letterSpacing: 'letter-spacing',\n lightingColor: 'lighting-color',\n markerEnd: 'marker-end',\n markerMid: 'marker-mid',\n markerStart: 'marker-start',\n navDown: 'nav-down',\n navDownLeft: 'nav-down-left',\n navDownRight: 'nav-down-right',\n navLeft: 'nav-left',\n navNext: 'nav-next',\n navPrev: 'nav-prev',\n navRight: 'nav-right',\n navUp: 'nav-up',\n navUpLeft: 'nav-up-left',\n navUpRight: 'nav-up-right',\n onAbort: 'onabort',\n onActivate: 'onactivate',\n onAfterPrint: 'onafterprint',\n onBeforePrint: 'onbeforeprint',\n onBegin: 'onbegin',\n onCancel: 'oncancel',\n onCanPlay: 'oncanplay',\n onCanPlayThrough: 'oncanplaythrough',\n onChange: 'onchange',\n onClick: 'onclick',\n onClose: 'onclose',\n onCopy: 'oncopy',\n onCueChange: 'oncuechange',\n onCut: 'oncut',\n onDblClick: 'ondblclick',\n onDrag: 'ondrag',\n onDragEnd: 'ondragend',\n onDragEnter: 'ondragenter',\n onDragExit: 'ondragexit',\n onDragLeave: 'ondragleave',\n onDragOver: 'ondragover',\n onDragStart: 'ondragstart',\n onDrop: 'ondrop',\n onDurationChange: 'ondurationchange',\n onEmptied: 'onemptied',\n onEnd: 'onend',\n onEnded: 'onended',\n onError: 'onerror',\n onFocus: 'onfocus',\n onFocusIn: 'onfocusin',\n onFocusOut: 'onfocusout',\n onHashChange: 'onhashchange',\n onInput: 'oninput',\n onInvalid: 'oninvalid',\n onKeyDown: 'onkeydown',\n onKeyPress: 'onkeypress',\n onKeyUp: 'onkeyup',\n onLoad: 'onload',\n onLoadedData: 'onloadeddata',\n onLoadedMetadata: 'onloadedmetadata',\n onLoadStart: 'onloadstart',\n onMessage: 'onmessage',\n onMouseDown: 'onmousedown',\n onMouseEnter: 'onmouseenter',\n onMouseLeave: 'onmouseleave',\n onMouseMove: 'onmousemove',\n onMouseOut: 'onmouseout',\n onMouseOver: 'onmouseover',\n onMouseUp: 'onmouseup',\n onMouseWheel: 'onmousewheel',\n onOffline: 'onoffline',\n onOnline: 'ononline',\n onPageHide: 'onpagehide',\n onPageShow: 'onpageshow',\n onPaste: 'onpaste',\n onPause: 'onpause',\n onPlay: 'onplay',\n onPlaying: 'onplaying',\n onPopState: 'onpopstate',\n onProgress: 'onprogress',\n onRateChange: 'onratechange',\n onRepeat: 'onrepeat',\n onReset: 'onreset',\n onResize: 'onresize',\n onScroll: 'onscroll',\n onSeeked: 'onseeked',\n onSeeking: 'onseeking',\n onSelect: 'onselect',\n onShow: 'onshow',\n onStalled: 'onstalled',\n onStorage: 'onstorage',\n onSubmit: 'onsubmit',\n onSuspend: 'onsuspend',\n onTimeUpdate: 'ontimeupdate',\n onToggle: 'ontoggle',\n onUnload: 'onunload',\n onVolumeChange: 'onvolumechange',\n onWaiting: 'onwaiting',\n onZoom: 'onzoom',\n overlinePosition: 'overline-position',\n overlineThickness: 'overline-thickness',\n paintOrder: 'paint-order',\n panose1: 'panose-1',\n pointerEvents: 'pointer-events',\n referrerPolicy: 'referrerpolicy',\n renderingIntent: 'rendering-intent',\n shapeRendering: 'shape-rendering',\n stopColor: 'stop-color',\n stopOpacity: 'stop-opacity',\n strikethroughPosition: 'strikethrough-position',\n strikethroughThickness: 'strikethrough-thickness',\n strokeDashArray: 'stroke-dasharray',\n strokeDashOffset: 'stroke-dashoffset',\n strokeLineCap: 'stroke-linecap',\n strokeLineJoin: 'stroke-linejoin',\n strokeMiterLimit: 'stroke-miterlimit',\n strokeOpacity: 'stroke-opacity',\n strokeWidth: 'stroke-width',\n tabIndex: 'tabindex',\n textAnchor: 'text-anchor',\n textDecoration: 'text-decoration',\n textRendering: 'text-rendering',\n typeOf: 'typeof',\n underlinePosition: 'underline-position',\n underlineThickness: 'underline-thickness',\n unicodeBidi: 'unicode-bidi',\n unicodeRange: 'unicode-range',\n unitsPerEm: 'units-per-em',\n vAlphabetic: 'v-alphabetic',\n vHanging: 'v-hanging',\n vIdeographic: 'v-ideographic',\n vMathematical: 'v-mathematical',\n vectorEffect: 'vector-effect',\n vertAdvY: 'vert-adv-y',\n vertOriginX: 'vert-origin-x',\n vertOriginY: 'vert-origin-y',\n wordSpacing: 'word-spacing',\n writingMode: 'writing-mode',\n xHeight: 'x-height',\n // These were camelcased in Tiny. Now lowercased in SVG 2\n playbackOrder: 'playbackorder',\n timelineBegin: 'timelinebegin'\n },\n transform: caseSensitiveTransform,\n properties: {\n about: commaOrSpaceSeparated,\n accentHeight: number,\n accumulate: null,\n additive: null,\n alignmentBaseline: null,\n alphabetic: number,\n amplitude: number,\n arabicForm: null,\n ascent: number,\n attributeName: null,\n attributeType: null,\n azimuth: number,\n bandwidth: null,\n baselineShift: null,\n baseFrequency: null,\n baseProfile: null,\n bbox: null,\n begin: null,\n bias: number,\n by: null,\n calcMode: null,\n capHeight: number,\n className: spaceSeparated,\n clip: null,\n clipPath: null,\n clipPathUnits: null,\n clipRule: null,\n color: null,\n colorInterpolation: null,\n colorInterpolationFilters: null,\n colorProfile: null,\n colorRendering: null,\n content: null,\n contentScriptType: null,\n contentStyleType: null,\n crossOrigin: null,\n cursor: null,\n cx: null,\n cy: null,\n d: null,\n dataType: null,\n defaultAction: null,\n descent: number,\n diffuseConstant: number,\n direction: null,\n display: null,\n dur: null,\n divisor: number,\n dominantBaseline: null,\n download: boolean,\n dx: null,\n dy: null,\n edgeMode: null,\n editable: null,\n elevation: number,\n enableBackground: null,\n end: null,\n event: null,\n exponent: number,\n externalResourcesRequired: null,\n fill: null,\n fillOpacity: number,\n fillRule: null,\n filter: null,\n filterRes: null,\n filterUnits: null,\n floodColor: null,\n floodOpacity: null,\n focusable: null,\n focusHighlight: null,\n fontFamily: null,\n fontSize: null,\n fontSizeAdjust: null,\n fontStretch: null,\n fontStyle: null,\n fontVariant: null,\n fontWeight: null,\n format: null,\n fr: null,\n from: null,\n fx: null,\n fy: null,\n g1: commaSeparated,\n g2: commaSeparated,\n glyphName: commaSeparated,\n glyphOrientationHorizontal: null,\n glyphOrientationVertical: null,\n glyphRef: null,\n gradientTransform: null,\n gradientUnits: null,\n handler: null,\n hanging: number,\n hatchContentUnits: null,\n hatchUnits: null,\n height: null,\n href: null,\n hrefLang: null,\n horizAdvX: number,\n horizOriginX: number,\n horizOriginY: number,\n id: null,\n ideographic: number,\n imageRendering: null,\n initialVisibility: null,\n in: null,\n in2: null,\n intercept: number,\n k: number,\n k1: number,\n k2: number,\n k3: number,\n k4: number,\n kernelMatrix: commaOrSpaceSeparated,\n kernelUnitLength: null,\n keyPoints: null, // SEMI_COLON_SEPARATED\n keySplines: null, // SEMI_COLON_SEPARATED\n keyTimes: null, // SEMI_COLON_SEPARATED\n kerning: null,\n lang: null,\n lengthAdjust: null,\n letterSpacing: null,\n lightingColor: null,\n limitingConeAngle: number,\n local: null,\n markerEnd: null,\n markerMid: null,\n markerStart: null,\n markerHeight: null,\n markerUnits: null,\n markerWidth: null,\n mask: null,\n maskContentUnits: null,\n maskUnits: null,\n mathematical: null,\n max: null,\n media: null,\n mediaCharacterEncoding: null,\n mediaContentEncodings: null,\n mediaSize: number,\n mediaTime: null,\n method: null,\n min: null,\n mode: null,\n name: null,\n navDown: null,\n navDownLeft: null,\n navDownRight: null,\n navLeft: null,\n navNext: null,\n navPrev: null,\n navRight: null,\n navUp: null,\n navUpLeft: null,\n navUpRight: null,\n numOctaves: null,\n observer: null,\n offset: null,\n onAbort: null,\n onActivate: null,\n onAfterPrint: null,\n onBeforePrint: null,\n onBegin: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnd: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFocusIn: null,\n onFocusOut: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadStart: null,\n onMessage: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onMouseWheel: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRepeat: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onShow: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onZoom: null,\n opacity: null,\n operator: null,\n order: null,\n orient: null,\n orientation: null,\n origin: null,\n overflow: null,\n overlay: null,\n overlinePosition: number,\n overlineThickness: number,\n paintOrder: null,\n panose1: null,\n path: null,\n pathLength: number,\n patternContentUnits: null,\n patternTransform: null,\n patternUnits: null,\n phase: null,\n ping: spaceSeparated,\n pitch: null,\n playbackOrder: null,\n pointerEvents: null,\n points: null,\n pointsAtX: number,\n pointsAtY: number,\n pointsAtZ: number,\n preserveAlpha: null,\n preserveAspectRatio: null,\n primitiveUnits: null,\n propagate: null,\n property: commaOrSpaceSeparated,\n r: null,\n radius: null,\n referrerPolicy: null,\n refX: null,\n refY: null,\n rel: commaOrSpaceSeparated,\n rev: commaOrSpaceSeparated,\n renderingIntent: null,\n repeatCount: null,\n repeatDur: null,\n requiredExtensions: commaOrSpaceSeparated,\n requiredFeatures: commaOrSpaceSeparated,\n requiredFonts: commaOrSpaceSeparated,\n requiredFormats: commaOrSpaceSeparated,\n resource: null,\n restart: null,\n result: null,\n rotate: null,\n rx: null,\n ry: null,\n scale: null,\n seed: null,\n shapeRendering: null,\n side: null,\n slope: null,\n snapshotTime: null,\n specularConstant: number,\n specularExponent: number,\n spreadMethod: null,\n spacing: null,\n startOffset: null,\n stdDeviation: null,\n stemh: null,\n stemv: null,\n stitchTiles: null,\n stopColor: null,\n stopOpacity: null,\n strikethroughPosition: number,\n strikethroughThickness: number,\n string: null,\n stroke: null,\n strokeDashArray: commaOrSpaceSeparated,\n strokeDashOffset: null,\n strokeLineCap: null,\n strokeLineJoin: null,\n strokeMiterLimit: number,\n strokeOpacity: number,\n strokeWidth: null,\n style: null,\n surfaceScale: number,\n syncBehavior: null,\n syncBehaviorDefault: null,\n syncMaster: null,\n syncTolerance: null,\n syncToleranceDefault: null,\n systemLanguage: commaOrSpaceSeparated,\n tabIndex: number,\n tableValues: null,\n target: null,\n targetX: number,\n targetY: number,\n textAnchor: null,\n textDecoration: null,\n textRendering: null,\n textLength: null,\n timelineBegin: null,\n title: null,\n transformBehavior: null,\n type: null,\n typeOf: commaOrSpaceSeparated,\n to: null,\n transform: null,\n u1: null,\n u2: null,\n underlinePosition: number,\n underlineThickness: number,\n unicode: null,\n unicodeBidi: null,\n unicodeRange: null,\n unitsPerEm: number,\n values: null,\n vAlphabetic: number,\n vMathematical: number,\n vectorEffect: null,\n vHanging: number,\n vIdeographic: number,\n version: null,\n vertAdvY: number,\n vertOriginX: number,\n vertOriginY: number,\n viewBox: null,\n viewTarget: null,\n visibility: null,\n width: null,\n widths: null,\n wordSpacing: null,\n writingMode: null,\n x: null,\n x1: null,\n x2: null,\n xChannelSelector: null,\n xHeight: number,\n y: null,\n y1: null,\n y2: null,\n yChannelSelector: null,\n z: null,\n zoomAndPan: null\n }\n})\n","/**\n * @typedef {import('./lib/util/info.js').Info} Info\n * @typedef {import('./lib/util/schema.js').Schema} Schema\n */\n\nimport {merge} from './lib/util/merge.js'\nimport {xlink} from './lib/xlink.js'\nimport {xml} from './lib/xml.js'\nimport {xmlns} from './lib/xmlns.js'\nimport {aria} from './lib/aria.js'\nimport {html as htmlBase} from './lib/html.js'\nimport {svg as svgBase} from './lib/svg.js'\n\nexport {find} from './lib/find.js'\nexport {hastToReact} from './lib/hast-to-react.js'\nexport {normalize} from './lib/normalize.js'\nexport const html = merge([xml, xlink, xmlns, aria, htmlBase], 'html')\nexport const svg = merge([xml, xlink, xmlns, aria, svgBase], 'svg')\n","import {visit} from 'unist-util-visit'\n\n/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Element} Element\n *\n * @callback AllowElement\n * @param {Element} element\n * @param {number} index\n * @param {Element|Root} parent\n * @returns {boolean|undefined}\n *\n * @typedef Options\n * @property {Array<string>} [allowedElements]\n * @property {Array<string>} [disallowedElements=[]]\n * @property {AllowElement} [allowElement]\n * @property {boolean} [unwrapDisallowed=false]\n */\n\n/**\n * @type {import('unified').Plugin<[Options], Root>}\n */\nexport default function rehypeFilter(options) {\n if (options.allowedElements && options.disallowedElements) {\n throw new TypeError(\n 'Only one of `allowedElements` and `disallowedElements` should be defined'\n )\n }\n\n if (\n options.allowedElements ||\n options.disallowedElements ||\n options.allowElement\n ) {\n return (tree) => {\n visit(tree, 'element', (node, index, parent_) => {\n const parent = /** @type {Element|Root} */ (parent_)\n /** @type {boolean|undefined} */\n let remove\n\n if (options.allowedElements) {\n remove = !options.allowedElements.includes(node.tagName)\n } else if (options.disallowedElements) {\n remove = options.disallowedElements.includes(node.tagName)\n }\n\n if (!remove && options.allowElement && typeof index === 'number') {\n remove = !options.allowElement(node, index, parent)\n }\n\n if (remove && typeof index === 'number') {\n if (options.unwrapDisallowed && node.children) {\n parent.children.splice(index, 1, ...node.children)\n } else {\n parent.children.splice(index, 1)\n }\n\n return index\n }\n\n return undefined\n })\n }\n }\n}\n","const protocols = ['http', 'https', 'mailto', 'tel']\n\n/**\n * @param {string} uri\n * @returns {string}\n */\nexport function uriTransformer(uri) {\n const url = (uri || '').trim()\n const first = url.charAt(0)\n\n if (first === '#' || first === '/') {\n return url\n }\n\n const colon = url.indexOf(':')\n if (colon === -1) {\n return url\n }\n\n let index = -1\n\n while (++index < protocols.length) {\n const protocol = protocols[index]\n\n if (\n colon === protocol.length &&\n url.slice(0, protocol.length).toLowerCase() === protocol\n ) {\n return url\n }\n }\n\n index = url.indexOf('?')\n if (index !== -1 && colon > index) {\n return url\n }\n\n index = url.indexOf('#')\n if (index !== -1 && colon > index) {\n return url\n }\n\n // eslint-disable-next-line no-script-url\n return 'javascript:void(0)'\n}\n","/**\n * @param {unknown} thing\n * @returns {boolean}\n */\nexport function whitespace(thing) {\n /** @type {string} */\n var value =\n // @ts-ignore looks like a node.\n thing && typeof thing === 'object' && thing.type === 'text'\n ? // @ts-ignore looks like a text.\n thing.value || ''\n : thing\n\n // HTML whitespace expression.\n // See <https://html.spec.whatwg.org/#space-character>.\n return typeof value === 'string' && value.replace(/[ \\t\\n\\f\\r]/g, '') === ''\n}\n","/**\n * @typedef {import('./util/schema.js').Schema} Schema\n */\n\nimport {normalize} from './normalize.js'\nimport {DefinedInfo} from './util/defined-info.js'\nimport {Info} from './util/info.js'\n\nconst valid = /^data[-\\w.:]+$/i\nconst dash = /-[a-z]/g\nconst cap = /[A-Z]/g\n\n/**\n * @param {Schema} schema\n * @param {string} value\n * @returns {Info}\n */\nexport function find(schema, value) {\n const normal = normalize(value)\n let prop = value\n let Type = Info\n\n if (normal in schema.normal) {\n return schema.property[schema.normal[normal]]\n }\n\n if (normal.length > 4 && normal.slice(0, 4) === 'data' && valid.test(value)) {\n // Attribute or property.\n if (value.charAt(4) === '-') {\n // Turn it into a property.\n const rest = value.slice(5).replace(dash, camelcase)\n prop = 'data' + rest.charAt(0).toUpperCase() + rest.slice(1)\n } else {\n // Turn it into an attribute.\n const rest = value.slice(4)\n\n if (!dash.test(rest)) {\n let dashes = rest.replace(cap, kebab)\n\n if (dashes.charAt(0) !== '-') {\n dashes = '-' + dashes\n }\n\n value = 'data' + dashes\n }\n }\n\n Type = DefinedInfo\n }\n\n return new Type(prop, value)\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction kebab($0) {\n return '-' + $0.toLowerCase()\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase()\n}\n","export const hastToReact = {\n classId: 'classID',\n dataType: 'datatype',\n itemId: 'itemID',\n strokeDashArray: 'strokeDasharray',\n strokeDashOffset: 'strokeDashoffset',\n strokeLineCap: 'strokeLinecap',\n strokeLineJoin: 'strokeLinejoin',\n strokeMiterLimit: 'strokeMiterlimit',\n typeOf: 'typeof',\n xLinkActuate: 'xlinkActuate',\n xLinkArcRole: 'xlinkArcrole',\n xLinkHref: 'xlinkHref',\n xLinkRole: 'xlinkRole',\n xLinkShow: 'xlinkShow',\n xLinkTitle: 'xlinkTitle',\n xLinkType: 'xlinkType',\n xmlnsXLink: 'xmlnsXlink'\n}\n","/**\n * Parse space separated tokens to an array of strings.\n *\n * @param {string} value Space separated tokens\n * @returns {Array.<string>} Tokens\n */\nexport function parse(value) {\n const input = String(value || '').trim()\n return input ? input.split(/[ \\t\\n\\r\\f]+/g) : []\n}\n\n/**\n * Serialize an array of strings as space separated tokens.\n *\n * @param {Array.<string|number>} values Tokens\n * @returns {string} Space separated tokens\n */\nexport function stringify(values) {\n return values.join(' ').trim()\n}\n","/**\n * @typedef {Object} StringifyOptions\n * @property {boolean} [padLeft=true] Whether to pad a space before a token (`boolean`, default: `true`).\n * @property {boolean} [padRight=false] Whether to pad a space after a token (`boolean`, default: `false`).\n */\n\n/**\n * Parse comma separated tokens to an array.\n *\n * @param {string} value\n * @returns {Array.<string>}\n */\nexport function parse(value) {\n /** @type {Array.<string>} */\n var tokens = []\n var input = String(value || '')\n var index = input.indexOf(',')\n var start = 0\n /** @type {boolean} */\n var end\n /** @type {string} */\n var token\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n token = input.slice(start, index).trim()\n\n if (token || !end) {\n tokens.push(token)\n }\n\n start = index + 1\n index = input.indexOf(',', start)\n }\n\n return tokens\n}\n\n/**\n * Serialize an array of strings to comma separated tokens.\n *\n * @param {Array.<string|number>} values\n * @param {StringifyOptions} [options]\n * @returns {string}\n */\nexport function stringify(values, options) {\n var settings = options || {}\n\n // Ensure the last empty entry is seen.\n if (values[values.length - 1] === '') {\n values = values.concat('')\n }\n\n return values\n .join(\n (settings.padRight ? ' ' : '') +\n ',' +\n (settings.padLeft === false ? '' : ' ')\n )\n .trim()\n}\n","/**\n * @template T\n * @typedef {import('react').ComponentType<T>} ComponentType<T>\n */\n\n/**\n * @template T\n * @typedef {import('react').ComponentPropsWithoutRef<T>} ComponentPropsWithoutRef<T>\n */\n\n/**\n * @typedef {import('react').ReactNode} ReactNode\n * @typedef {import('unist').Position} Position\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast').Comment} Comment\n * @typedef {import('hast').DocType} Doctype\n * @typedef {import('property-information').Info} Info\n * @typedef {import('property-information').Schema} Schema\n * @typedef {import('./complex-types').ReactMarkdownProps} ReactMarkdownProps\n *\n * @typedef Raw\n * @property {'raw'} type\n * @property {string} value\n *\n * @typedef Context\n * @property {Options} options\n * @property {Schema} schema\n * @property {number} listDepth\n *\n * @callback TransformLink\n * @param {string} href\n * @param {Array<ElementContent>} children\n * @param {string?} title\n * @returns {string}\n *\n * @callback TransformImage\n * @param {string} src\n * @param {string} alt\n * @param {string?} title\n * @returns {string}\n *\n * @typedef {import('react').HTMLAttributeAnchorTarget} TransformLinkTargetType\n *\n * @callback TransformLinkTarget\n * @param {string} href\n * @param {Array<ElementContent>} children\n * @param {string?} title\n * @returns {TransformLinkTargetType|undefined}\n *\n * @typedef {keyof JSX.IntrinsicElements} ReactMarkdownNames\n *\n * To do: is `data-sourcepos` typeable?\n *\n * @typedef {ComponentPropsWithoutRef<'code'> & ReactMarkdownProps & {inline?: boolean}} CodeProps\n * @typedef {ComponentPropsWithoutRef<'h1'> & ReactMarkdownProps & {level: number}} HeadingProps\n * @typedef {ComponentPropsWithoutRef<'li'> & ReactMarkdownProps & {checked: boolean|null, index: number, ordered: boolean}} LiProps\n * @typedef {ComponentPropsWithoutRef<'ol'> & ReactMarkdownProps & {depth: number, ordered: true}} OrderedListProps\n * @typedef {ComponentPropsWithoutRef<'table'> & ReactMarkdownProps & {style?: Record<string, unknown>, isHeader: boolean}} TableCellProps\n * @typedef {ComponentPropsWithoutRef<'tr'> & ReactMarkdownProps & {isHeader: boolean}} TableRowProps\n * @typedef {ComponentPropsWithoutRef<'ul'> & ReactMarkdownProps & {depth: number, ordered: false}} UnorderedListProps\n *\n * @typedef {ComponentType<CodeProps>} CodeComponent\n * @typedef {ComponentType<HeadingProps>} HeadingComponent\n * @typedef {ComponentType<LiProps>} LiComponent\n * @typedef {ComponentType<OrderedListProps>} OrderedListComponent\n * @typedef {ComponentType<TableCellProps>} TableCellComponent\n * @typedef {ComponentType<TableRowProps>} TableRowComponent\n * @typedef {ComponentType<UnorderedListProps>} UnorderedListComponent\n *\n * @typedef SpecialComponents\n * @property {CodeComponent|ReactMarkdownNames} code\n * @property {HeadingComponent|ReactMarkdownNames} h1\n * @property {HeadingComponent|ReactMarkdownNames} h2\n * @property {HeadingComponent|ReactMarkdownNames} h3\n * @property {HeadingComponent|ReactMarkdownNames} h4\n * @property {HeadingComponent|ReactMarkdownNames} h5\n * @property {HeadingComponent|ReactMarkdownNames} h6\n * @property {LiComponent|ReactMarkdownNames} li\n * @property {OrderedListComponent|ReactMarkdownNames} ol\n * @property {TableCellComponent|ReactMarkdownNames} td\n * @property {TableCellComponent|ReactMarkdownNames} th\n * @property {TableRowComponent|ReactMarkdownNames} tr\n * @property {UnorderedListComponent|ReactMarkdownNames} ul\n *\n * @typedef {Partial<Omit<import('./complex-types').NormalComponents, keyof SpecialComponents> & SpecialComponents>} Components\n *\n * @typedef Options\n * @property {boolean} [sourcePos=false]\n * @property {boolean} [rawSourcePos=false]\n * @property {boolean} [skipHtml=false]\n * @property {boolean} [includeElementIndex=false]\n * @property {null|false|TransformLink} [transformLinkUri]\n * @property {TransformImage} [transformImageUri]\n * @property {TransformLinkTargetType|TransformLinkTarget} [linkTarget]\n * @property {Components} [components]\n */\n\nimport React from 'react'\nimport ReactIs from 'react-is'\nimport {whitespace} from 'hast-util-whitespace'\nimport {svg, find, hastToReact} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {stringify as commas} from 'comma-separated-tokens'\nimport style from 'style-to-object'\n\nconst own = {}.hasOwnProperty\n\n// The table-related elements that must not contain whitespace text according\n// to React.\nconst tableElements = new Set(['table', 'thead', 'tbody', 'tfoot', 'tr'])\n\n/**\n * @param {Context} context\n * @param {Element|Root} node\n */\nexport function childrenToReact(context, node) {\n /** @type {Array<ReactNode>} */\n const children = []\n let childIndex = -1\n /** @type {Comment|Doctype|Element|Raw|Text} */\n let child\n\n while (++childIndex < node.children.length) {\n child = node.children[childIndex]\n\n if (child.type === 'element') {\n children.push(toReact(context, child, childIndex, node))\n } else if (child.type === 'text') {\n // Currently, a warning is triggered by react for *any* white space in\n // tables.\n // So we drop it.\n // See: <https://github.com/facebook/react/pull/7081>.\n // See: <https://github.com/facebook/react/pull/7515>.\n // See: <https://github.com/remarkjs/remark-react/issues/64>.\n // See: <https://github.com/remarkjs/react-markdown/issues/576>.\n if (\n node.type !== 'element' ||\n !tableElements.has(node.tagName) ||\n !whitespace(child)\n ) {\n children.push(child.value)\n }\n } else if (child.type === 'raw' && !context.options.skipHtml) {\n // Default behavior is to show (encoded) HTML.\n children.push(child.value)\n }\n }\n\n return children\n}\n\n/**\n * @param {Context} context\n * @param {Element} node\n * @param {number} index\n * @param {Element|Root} parent\n */\nfunction toReact(context, node, index, parent) {\n const options = context.options\n const parentSchema = context.schema\n /** @type {ReactMarkdownNames} */\n // @ts-expect-error assume a known HTML/SVG element.\n const name = node.tagName\n /** @type {Record<string, unknown>} */\n const properties = {}\n let schema = parentSchema\n /** @type {string} */\n let property\n\n if (parentSchema.space === 'html' && name === 'svg') {\n schema = svg\n context.schema = schema\n }\n\n if (node.properties) {\n for (property in node.properties) {\n if (own.call(node.properties, property)) {\n addProperty(properties, property, node.properties[property], context)\n }\n }\n }\n\n if (name === 'ol' || name === 'ul') {\n context.listDepth++\n }\n\n const children = childrenToReact(context, node)\n\n if (name === 'ol' || name === 'ul') {\n context.listDepth--\n }\n\n // Restore parent schema.\n context.schema = parentSchema\n\n // Nodes created by plugins do not have positional info, in which case we use\n // an object that matches the position interface.\n const position = node.position || {\n start: {line: null, column: null, offset: null},\n end: {line: null, column: null, offset: null}\n }\n const component =\n options.components && own.call(options.components, name)\n ? options.components[name]\n : name\n const basic = typeof component === 'string' || component === React.Fragment\n\n if (!ReactIs.isValidElementType(component)) {\n throw new TypeError(\n `Component for name \\`${name}\\` not defined or is not renderable`\n )\n }\n\n properties.key = [\n name,\n position.start.line,\n position.start.column,\n index\n ].join('-')\n\n if (name === 'a' && options.linkTarget) {\n properties.target =\n typeof options.linkTarget === 'function'\n ? options.linkTarget(\n String(properties.href || ''),\n node.children,\n typeof properties.title === 'string' ? properties.title : null\n )\n : options.linkTarget\n }\n\n if (name === 'a' && options.transformLinkUri) {\n properties.href = options.transformLinkUri(\n String(properties.href || ''),\n node.children,\n typeof properties.title === 'string' ? properties.title : null\n )\n }\n\n if (\n !basic &&\n name === 'code' &&\n parent.type === 'element' &&\n parent.tagName !== 'pre'\n ) {\n properties.inline = true\n }\n\n if (\n !basic &&\n (name === 'h1' ||\n name === 'h2' ||\n name === 'h3' ||\n name === 'h4' ||\n name === 'h5' ||\n name === 'h6')\n ) {\n properties.level = Number.parseInt(name.charAt(1), 10)\n }\n\n if (name === 'img' && options.transformImageUri) {\n properties.src = options.transformImageUri(\n String(properties.src || ''),\n String(properties.alt || ''),\n typeof properties.title === 'string' ? properties.title : null\n )\n }\n\n if (!basic && name === 'li' && parent.type === 'element') {\n const input = getInputElement(node)\n properties.checked =\n input && input.properties ? Boolean(input.properties.checked) : null\n properties.index = getElementsBeforeCount(parent, node)\n properties.ordered = parent.tagName === 'ol'\n }\n\n if (!basic && (name === 'ol' || name === 'ul')) {\n properties.ordered = name === 'ol'\n properties.depth = context.listDepth\n }\n\n if (name === 'td' || name === 'th') {\n if (properties.align) {\n if (!properties.style) properties.style = {}\n // @ts-expect-error assume `style` is an object\n properties.style.textAlign = properties.align\n delete properties.align\n }\n\n if (!basic) {\n properties.isHeader = name === 'th'\n }\n }\n\n if (!basic && name === 'tr' && parent.type === 'element') {\n properties.isHeader = Boolean(parent.tagName === 'thead')\n }\n\n // If `sourcePos` is given, pass source information (line/column info from markdown source).\n if (options.sourcePos) {\n properties['data-sourcepos'] = flattenPosition(position)\n }\n\n if (!basic && options.rawSourcePos) {\n properties.sourcePosition = node.position\n }\n\n // If `includeElementIndex` is given, pass node index info to components.\n if (!basic && options.includeElementIndex) {\n properties.index = getElementsBeforeCount(parent, node)\n properties.siblingCount = getElementsBeforeCount(parent)\n }\n\n if (!basic) {\n properties.node = node\n }\n\n // Ensure no React warnings are emitted for void elements w/ children.\n return children.length > 0\n ? React.createElement(component, properties, children)\n : React.createElement(component, properties)\n}\n\n/**\n * @param {Element|Root} node\n * @returns {Element?}\n */\nfunction getInputElement(node) {\n let index = -1\n\n while (++index < node.children.length) {\n const child = node.children[index]\n\n if (child.type === 'element' && child.tagName === 'input') {\n return child\n }\n }\n\n return null\n}\n\n/**\n * @param {Element|Root} parent\n * @param {Element} [node]\n * @returns {number}\n */\nfunction getElementsBeforeCount(parent, node) {\n let index = -1\n let count = 0\n\n while (++index < parent.children.length) {\n if (parent.children[index] === node) break\n if (parent.children[index].type === 'element') count++\n }\n\n return count\n}\n\n/**\n * @param {Record<string, unknown>} props\n * @param {string} prop\n * @param {unknown} value\n * @param {Context} ctx\n */\nfunction addProperty(props, prop, value, ctx) {\n const info = find(ctx.schema, prop)\n let result = value\n\n // Ignore nullish and `NaN` values.\n // eslint-disable-next-line no-self-compare\n if (result === null || result === undefined || result !== result) {\n return\n }\n\n // Accept `array`.\n // Most props are space-separated.\n if (Array.isArray(result)) {\n result = info.commaSeparated ? commas(result) : spaces(result)\n }\n\n if (info.property === 'style' && typeof result === 'string') {\n result = parseStyle(result)\n }\n\n if (info.space && info.property) {\n props[\n own.call(hastToReact, info.property)\n ? hastToReact[info.property]\n : info.property\n ] = result\n } else if (info.attribute) {\n props[info.attribute] = result\n }\n}\n\n/**\n * @param {string} value\n * @returns {Record<string, string>}\n */\nfunction parseStyle(value) {\n /** @type {Record<string, string>} */\n const result = {}\n\n try {\n style(value, iterator)\n } catch {\n // Silent.\n }\n\n return result\n\n /**\n * @param {string} name\n * @param {string} v\n */\n function iterator(name, v) {\n const k = name.slice(0, 4) === '-ms-' ? `ms-${name.slice(4)}` : name\n result[k.replace(/-([a-z])/g, styleReplacer)] = v\n }\n}\n\n/**\n * @param {unknown} _\n * @param {string} $1\n */\nfunction styleReplacer(_, $1) {\n return $1.toUpperCase()\n}\n\n/**\n * @param {Position|{start: {line: null, column: null, offset: null}, end: {line: null, column: null, offset: null}}} pos\n * @returns {string}\n */\nfunction flattenPosition(pos) {\n return [\n pos.start.line,\n ':',\n pos.start.column,\n '-',\n pos.end.line,\n ':',\n pos.end.column\n ]\n .map((d) => String(d))\n .join('')\n}\n","/**\n * @typedef {import('react').ReactNode} ReactNode\n * @typedef {import('react').ReactElement<{}>} ReactElement\n * @typedef {import('unified').PluggableList} PluggableList\n * @typedef {import('hast').Root} Root\n * @typedef {import('./rehype-filter.js').Options} FilterOptions\n * @typedef {import('./ast-to-react.js').Options} TransformOptions\n *\n * @typedef CoreOptions\n * @property {string} children\n *\n * @typedef PluginOptions\n * @property {PluggableList} [plugins=[]] **deprecated**: use `remarkPlugins` instead\n * @property {PluggableList} [remarkPlugins=[]]\n * @property {PluggableList} [rehypePlugins=[]]\n *\n * @typedef LayoutOptions\n * @property {string} [className]\n *\n * @typedef {CoreOptions & PluginOptions & LayoutOptions & FilterOptions & TransformOptions} ReactMarkdownOptions\n *\n * @typedef Deprecation\n * @property {string} id\n * @property {string} [to]\n */\n\nimport React from 'react'\nimport {VFile} from 'vfile'\nimport {unified} from 'unified'\nimport remarkParse from 'remark-parse'\nimport remarkRehype from 'remark-rehype'\nimport PropTypes from 'prop-types'\nimport {html} from 'property-information'\nimport rehypeFilter from './rehype-filter.js'\nimport {uriTransformer} from './uri-transformer.js'\nimport {childrenToReact} from './ast-to-react.js'\n\nconst own = {}.hasOwnProperty\nconst changelog =\n 'https://github.com/remarkjs/react-markdown/blob/main/changelog.md'\n\n/** @type {Record<string, Deprecation>} */\nconst deprecated = {\n renderers: {to: 'components', id: 'change-renderers-to-components'},\n astPlugins: {id: 'remove-buggy-html-in-markdown-parser'},\n allowDangerousHtml: {id: 'remove-buggy-html-in-markdown-parser'},\n escapeHtml: {id: 'remove-buggy-html-in-markdown-parser'},\n source: {to: 'children', id: 'change-source-to-children'},\n allowNode: {\n to: 'allowElement',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes'\n },\n allowedTypes: {\n to: 'allowedElements',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes'\n },\n disallowedTypes: {\n to: 'disallowedElements',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes'\n },\n includeNodeIndex: {\n to: 'includeElementIndex',\n id: 'change-includenodeindex-to-includeelementindex'\n }\n}\n\n/**\n * React component to render markdown.\n *\n * @param {ReactMarkdownOptions} options\n * @returns {ReactElement}\n */\nexport function ReactMarkdown(options) {\n for (const key in deprecated) {\n if (own.call(deprecated, key) && own.call(options, key)) {\n const deprecation = deprecated[key]\n console.warn(\n `[react-markdown] Warning: please ${\n deprecation.to ? `use \\`${deprecation.to}\\` instead of` : 'remove'\n } \\`${key}\\` (see <${changelog}#${deprecation.id}> for more info)`\n )\n delete deprecated[key]\n }\n }\n\n const processor = unified()\n .use(remarkParse)\n // TODO: deprecate `plugins` in v8.0.0.\n .use(options.remarkPlugins || options.plugins || [])\n .use(remarkRehype, {allowDangerousHtml: true})\n .use(options.rehypePlugins || [])\n .use(rehypeFilter, options)\n\n const file = new VFile()\n\n if (typeof options.children === 'string') {\n file.value = options.children\n } else if (options.children !== undefined && options.children !== null) {\n console.warn(\n `[react-markdown] Warning: please pass a string as \\`children\\` (not: \\`${options.children}\\`)`\n )\n }\n\n const hastNode = processor.runSync(processor.parse(file), file)\n\n if (hastNode.type !== 'root') {\n throw new TypeError('Expected a `root` node')\n }\n\n /** @type {ReactElement} */\n let result = React.createElement(\n React.Fragment,\n {},\n childrenToReact({options, schema: html, listDepth: 0}, hastNode)\n )\n\n if (options.className) {\n result = React.createElement('div', {className: options.className}, result)\n }\n\n return result\n}\n\nReactMarkdown.defaultProps = {transformLinkUri: uriTransformer}\n\nReactMarkdown.propTypes = {\n // Core options:\n children: PropTypes.string,\n // Layout options:\n className: PropTypes.string,\n // Filter options:\n allowElement: PropTypes.func,\n allowedElements: PropTypes.arrayOf(PropTypes.string),\n disallowedElements: PropTypes.arrayOf(PropTypes.string),\n unwrapDisallowed: PropTypes.bool,\n // Plugin options:\n remarkPlugins: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.func]))\n ])\n ),\n rehypePlugins: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.func]))\n ])\n ),\n // Transform options:\n sourcePos: PropTypes.bool,\n rawSourcePos: PropTypes.bool,\n skipHtml: PropTypes.bool,\n includeElementIndex: PropTypes.bool,\n transformLinkUri: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),\n linkTarget: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),\n transformImageUri: PropTypes.func,\n components: PropTypes.object\n}\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport React from 'react'; // Get all possible permutations of all power sets\n//\n// Super simple, non-algorithmic solution since the\n// number of class names will not be greater than 4\n\nfunction powerSetPermutations(arr) {\n var arrLength = arr.length;\n if (arrLength === 0 || arrLength === 1) return arr;\n\n if (arrLength === 2) {\n // prettier-ignore\n return [arr[0], arr[1], \"\".concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[1], \".\").concat(arr[0])];\n }\n\n if (arrLength === 3) {\n return [arr[0], arr[1], arr[2], \"\".concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[0]), \"\".concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[0])];\n }\n\n if (arrLength >= 4) {\n // Currently does not support more than 4 extra\n // class names (after `.token` has been removed)\n return [arr[0], arr[1], arr[2], arr[3], \"\".concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[0], \".\").concat(arr[3]), \"\".concat(arr[1], \".\").concat(arr[0]), \"\".concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[3]), \"\".concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[2], \".\").concat(arr[3]), \"\".concat(arr[3], \".\").concat(arr[0]), \"\".concat(arr[3], \".\").concat(arr[1]), \"\".concat(arr[3], \".\").concat(arr[2]), \"\".concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[3]), \"\".concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[3]), \"\".concat(arr[0], \".\").concat(arr[3], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[3], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[3]), \"\".concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[3]), \"\".concat(arr[1], \".\").concat(arr[3], \".\").concat(arr[0]), \"\".concat(arr[1], \".\").concat(arr[3], \".\").concat(arr[2]), \"\".concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[3]), \"\".concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[3]), \"\".concat(arr[2], \".\").concat(arr[3], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[3], \".\").concat(arr[1]), \"\".concat(arr[3], \".\").concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[3], \".\").concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[3], \".\").concat(arr[1], \".\").concat(arr[0]), \"\".concat(arr[3], \".\").concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[3], \".\").concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[3], \".\").concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[3]), \"\".concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[3], \".\").concat(arr[2]), \"\".concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[3]), \"\".concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[3], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[3], \".\").concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[0], \".\").concat(arr[3], \".\").concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[3]), \"\".concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[3], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[3]), \"\".concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[3], \".\").concat(arr[0]), \"\".concat(arr[1], \".\").concat(arr[3], \".\").concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[3], \".\").concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[3]), \"\".concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[3], \".\").concat(arr[1]), \"\".concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[3]), \"\".concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[3], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[3], \".\").concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[2], \".\").concat(arr[3], \".\").concat(arr[1], \".\").concat(arr[0]), \"\".concat(arr[3], \".\").concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[3], \".\").concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[3], \".\").concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[3], \".\").concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[3], \".\").concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[3], \".\").concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[0])];\n }\n}\n\nvar classNameCombinations = {};\n\nfunction getClassNameCombinations(classNames) {\n if (classNames.length === 0 || classNames.length === 1) return classNames;\n var key = classNames.join('.');\n\n if (!classNameCombinations[key]) {\n classNameCombinations[key] = powerSetPermutations(classNames);\n }\n\n return classNameCombinations[key];\n}\n\nexport function createStyleObject(classNames) {\n var elementStyle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var stylesheet = arguments.length > 2 ? arguments[2] : undefined;\n var nonTokenClassNames = classNames.filter(function (className) {\n return className !== 'token';\n });\n var classNamesCombinations = getClassNameCombinations(nonTokenClassNames);\n return classNamesCombinations.reduce(function (styleObject, className) {\n return _objectSpread(_objectSpread({}, styleObject), stylesheet[className]);\n }, elementStyle);\n}\nexport function createClassNameString(classNames) {\n return classNames.join(' ');\n}\nexport function createChildren(stylesheet, useInlineStyles) {\n var childrenCount = 0;\n return function (children) {\n childrenCount += 1;\n return children.map(function (child, i) {\n return createElement({\n node: child,\n stylesheet: stylesheet,\n useInlineStyles: useInlineStyles,\n key: \"code-segment-\".concat(childrenCount, \"-\").concat(i)\n });\n });\n };\n}\nexport default function createElement(_ref) {\n var node = _ref.node,\n stylesheet = _ref.stylesheet,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style,\n useInlineStyles = _ref.useInlineStyles,\n key = _ref.key;\n var properties = node.properties,\n type = node.type,\n TagName = node.tagName,\n value = node.value;\n\n if (type === 'text') {\n return value;\n } else if (TagName) {\n var childrenCreator = createChildren(stylesheet, useInlineStyles);\n var props;\n\n if (!useInlineStyles) {\n props = _objectSpread(_objectSpread({}, properties), {}, {\n className: createClassNameString(properties.className)\n });\n } else {\n var allStylesheetSelectors = Object.keys(stylesheet).reduce(function (classes, selector) {\n selector.split('.').forEach(function (className) {\n if (!classes.includes(className)) classes.push(className);\n });\n return classes;\n }, []); // For compatibility with older versions of react-syntax-highlighter\n\n var startingClassName = properties.className && properties.className.includes('token') ? ['token'] : [];\n var className = properties.className && startingClassName.concat(properties.className.filter(function (className) {\n return !allStylesheetSelectors.includes(className);\n }));\n props = _objectSpread(_objectSpread({}, properties), {}, {\n className: createClassNameString(className) || undefined,\n style: createStyleObject(properties.className, Object.assign({}, properties.style, style), stylesheet)\n });\n }\n\n var children = childrenCreator(node.children);\n return /*#__PURE__*/React.createElement(TagName, _extends({\n key: key\n }, props), children);\n }\n}","export default (function (astGenerator, language) {\n var langs = astGenerator.listLanguages();\n return langs.indexOf(language) !== -1;\n});","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"language\", \"children\", \"style\", \"customStyle\", \"codeTagProps\", \"useInlineStyles\", \"showLineNumbers\", \"showInlineLineNumbers\", \"startingLineNumber\", \"lineNumberContainerStyle\", \"lineNumberStyle\", \"wrapLines\", \"wrapLongLines\", \"lineProps\", \"renderer\", \"PreTag\", \"CodeTag\", \"code\", \"astGenerator\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport React from 'react';\nimport createElement from './create-element';\nimport checkForListedLanguage from './checkForListedLanguage';\nvar newLineRegex = /\\n/g;\n\nfunction getNewLines(str) {\n return str.match(newLineRegex);\n}\n\nfunction getAllLineNumbers(_ref) {\n var lines = _ref.lines,\n startingLineNumber = _ref.startingLineNumber,\n style = _ref.style;\n return lines.map(function (_, i) {\n var number = i + startingLineNumber;\n return /*#__PURE__*/React.createElement(\"span\", {\n key: \"line-\".concat(i),\n className: \"react-syntax-highlighter-line-number\",\n style: typeof style === 'function' ? style(number) : style\n }, \"\".concat(number, \"\\n\"));\n });\n}\n\nfunction AllLineNumbers(_ref2) {\n var codeString = _ref2.codeString,\n codeStyle = _ref2.codeStyle,\n _ref2$containerStyle = _ref2.containerStyle,\n containerStyle = _ref2$containerStyle === void 0 ? {\n \"float\": 'left',\n paddingRight: '10px'\n } : _ref2$containerStyle,\n _ref2$numberStyle = _ref2.numberStyle,\n numberStyle = _ref2$numberStyle === void 0 ? {} : _ref2$numberStyle,\n startingLineNumber = _ref2.startingLineNumber;\n return /*#__PURE__*/React.createElement(\"code\", {\n style: Object.assign({}, codeStyle, containerStyle)\n }, getAllLineNumbers({\n lines: codeString.replace(/\\n$/, '').split('\\n'),\n style: numberStyle,\n startingLineNumber: startingLineNumber\n }));\n}\n\nfunction getEmWidthOfNumber(num) {\n return \"\".concat(num.toString().length, \".25em\");\n}\n\nfunction getInlineLineNumber(lineNumber, inlineLineNumberStyle) {\n return {\n type: 'element',\n tagName: 'span',\n properties: {\n key: \"line-number--\".concat(lineNumber),\n className: ['comment', 'linenumber', 'react-syntax-highlighter-line-number'],\n style: inlineLineNumberStyle\n },\n children: [{\n type: 'text',\n value: lineNumber\n }]\n };\n}\n\nfunction assembleLineNumberStyles(lineNumberStyle, lineNumber, largestLineNumber) {\n // minimally necessary styling for line numbers\n var defaultLineNumberStyle = {\n display: 'inline-block',\n minWidth: getEmWidthOfNumber(largestLineNumber),\n paddingRight: '1em',\n textAlign: 'right',\n userSelect: 'none'\n }; // prep custom styling\n\n var customLineNumberStyle = typeof lineNumberStyle === 'function' ? lineNumberStyle(lineNumber) : lineNumberStyle; // combine\n\n var assembledStyle = _objectSpread(_objectSpread({}, defaultLineNumberStyle), customLineNumberStyle);\n\n return assembledStyle;\n}\n\nfunction createLineElement(_ref3) {\n var children = _ref3.children,\n lineNumber = _ref3.lineNumber,\n lineNumberStyle = _ref3.lineNumberStyle,\n largestLineNumber = _ref3.largestLineNumber,\n showInlineLineNumbers = _ref3.showInlineLineNumbers,\n _ref3$lineProps = _ref3.lineProps,\n lineProps = _ref3$lineProps === void 0 ? {} : _ref3$lineProps,\n _ref3$className = _ref3.className,\n className = _ref3$className === void 0 ? [] : _ref3$className,\n showLineNumbers = _ref3.showLineNumbers,\n wrapLongLines = _ref3.wrapLongLines;\n var properties = typeof lineProps === 'function' ? lineProps(lineNumber) : lineProps;\n properties['className'] = className;\n\n if (lineNumber && showInlineLineNumbers) {\n var inlineLineNumberStyle = assembleLineNumberStyles(lineNumberStyle, lineNumber, largestLineNumber);\n children.unshift(getInlineLineNumber(lineNumber, inlineLineNumberStyle));\n }\n\n if (wrapLongLines & showLineNumbers) {\n properties.style = _objectSpread(_objectSpread({}, properties.style), {}, {\n display: 'flex'\n });\n }\n\n return {\n type: 'element',\n tagName: 'span',\n properties: properties,\n children: children\n };\n}\n\nfunction flattenCodeTree(tree) {\n var className = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var newTree = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n\n for (var i = 0; i < tree.length; i++) {\n var node = tree[i];\n\n if (node.type === 'text') {\n newTree.push(createLineElement({\n children: [node],\n className: _toConsumableArray(new Set(className))\n }));\n } else if (node.children) {\n var classNames = className.concat(node.properties.className);\n flattenCodeTree(node.children, classNames).forEach(function (i) {\n return newTree.push(i);\n });\n }\n }\n\n return newTree;\n}\n\nfunction processLines(codeTree, wrapLines, lineProps, showLineNumbers, showInlineLineNumbers, startingLineNumber, largestLineNumber, lineNumberStyle, wrapLongLines) {\n var _ref4;\n\n var tree = flattenCodeTree(codeTree.value);\n var newTree = [];\n var lastLineBreakIndex = -1;\n var index = 0;\n\n function createWrappedLine(children, lineNumber) {\n var className = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n return createLineElement({\n children: children,\n lineNumber: lineNumber,\n lineNumberStyle: lineNumberStyle,\n largestLineNumber: largestLineNumber,\n showInlineLineNumbers: showInlineLineNumbers,\n lineProps: lineProps,\n className: className,\n showLineNumbers: showLineNumbers,\n wrapLongLines: wrapLongLines\n });\n }\n\n function createUnwrappedLine(children, lineNumber) {\n if (showLineNumbers && lineNumber && showInlineLineNumbers) {\n var inlineLineNumberStyle = assembleLineNumberStyles(lineNumberStyle, lineNumber, largestLineNumber);\n children.unshift(getInlineLineNumber(lineNumber, inlineLineNumberStyle));\n }\n\n return children;\n }\n\n function createLine(children, lineNumber) {\n var className = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n return wrapLines || className.length > 0 ? createWrappedLine(children, lineNumber, className) : createUnwrappedLine(children, lineNumber);\n }\n\n var _loop = function _loop() {\n var node = tree[index];\n var value = node.children[0].value;\n var newLines = getNewLines(value);\n\n if (newLines) {\n var splitValue = value.split('\\n');\n splitValue.forEach(function (text, i) {\n var lineNumber = showLineNumbers && newTree.length + startingLineNumber;\n var newChild = {\n type: 'text',\n value: \"\".concat(text, \"\\n\")\n }; // if it's the first line\n\n if (i === 0) {\n var _children = tree.slice(lastLineBreakIndex + 1, index).concat(createLineElement({\n children: [newChild],\n className: node.properties.className\n }));\n\n var _line = createLine(_children, lineNumber);\n\n newTree.push(_line); // if it's the last line\n } else if (i === splitValue.length - 1) {\n var stringChild = tree[index + 1] && tree[index + 1].children && tree[index + 1].children[0];\n var lastLineInPreviousSpan = {\n type: 'text',\n value: \"\".concat(text)\n };\n\n if (stringChild) {\n var newElem = createLineElement({\n children: [lastLineInPreviousSpan],\n className: node.properties.className\n });\n tree.splice(index + 1, 0, newElem);\n } else {\n var _children2 = [lastLineInPreviousSpan];\n\n var _line2 = createLine(_children2, lineNumber, node.properties.className);\n\n newTree.push(_line2);\n } // if it's neither the first nor the last line\n\n } else {\n var _children3 = [newChild];\n\n var _line3 = createLine(_children3, lineNumber, node.properties.className);\n\n newTree.push(_line3);\n }\n });\n lastLineBreakIndex = index;\n }\n\n index++;\n };\n\n while (index < tree.length) {\n _loop();\n }\n\n if (lastLineBreakIndex !== tree.length - 1) {\n var children = tree.slice(lastLineBreakIndex + 1, tree.length);\n\n if (children && children.length) {\n var lineNumber = showLineNumbers && newTree.length + startingLineNumber;\n var line = createLine(children, lineNumber);\n newTree.push(line);\n }\n }\n\n return wrapLines ? newTree : (_ref4 = []).concat.apply(_ref4, newTree);\n}\n\nfunction defaultRenderer(_ref5) {\n var rows = _ref5.rows,\n stylesheet = _ref5.stylesheet,\n useInlineStyles = _ref5.useInlineStyles;\n return rows.map(function (node, i) {\n return createElement({\n node: node,\n stylesheet: stylesheet,\n useInlineStyles: useInlineStyles,\n key: \"code-segement\".concat(i)\n });\n });\n} // only highlight.js has the highlightAuto method\n\n\nfunction isHighlightJs(astGenerator) {\n return astGenerator && typeof astGenerator.highlightAuto !== 'undefined';\n}\n\nfunction getCodeTree(_ref6) {\n var astGenerator = _ref6.astGenerator,\n language = _ref6.language,\n code = _ref6.code,\n defaultCodeValue = _ref6.defaultCodeValue;\n\n // figure out whether we're using lowlight/highlight or refractor/prism\n // then attempt highlighting accordingly\n // lowlight/highlight?\n if (isHighlightJs(astGenerator)) {\n var hasLanguage = checkForListedLanguage(astGenerator, language);\n\n if (language === 'text') {\n return {\n value: defaultCodeValue,\n language: 'text'\n };\n } else if (hasLanguage) {\n return astGenerator.highlight(language, code);\n } else {\n return astGenerator.highlightAuto(code);\n }\n } // must be refractor/prism, then\n\n\n try {\n return language && language !== 'text' ? {\n value: astGenerator.highlight(code, language)\n } : {\n value: defaultCodeValue\n };\n } catch (e) {\n return {\n value: defaultCodeValue\n };\n }\n}\n\nexport default function (defaultAstGenerator, defaultStyle) {\n return function SyntaxHighlighter(_ref7) {\n var language = _ref7.language,\n children = _ref7.children,\n _ref7$style = _ref7.style,\n style = _ref7$style === void 0 ? defaultStyle : _ref7$style,\n _ref7$customStyle = _ref7.customStyle,\n customStyle = _ref7$customStyle === void 0 ? {} : _ref7$customStyle,\n _ref7$codeTagProps = _ref7.codeTagProps,\n codeTagProps = _ref7$codeTagProps === void 0 ? {\n className: language ? \"language-\".concat(language) : undefined,\n style: _objectSpread(_objectSpread({}, style['code[class*=\"language-\"]']), style[\"code[class*=\\\"language-\".concat(language, \"\\\"]\")])\n } : _ref7$codeTagProps,\n _ref7$useInlineStyles = _ref7.useInlineStyles,\n useInlineStyles = _ref7$useInlineStyles === void 0 ? true : _ref7$useInlineStyles,\n _ref7$showLineNumbers = _ref7.showLineNumbers,\n showLineNumbers = _ref7$showLineNumbers === void 0 ? false : _ref7$showLineNumbers,\n _ref7$showInlineLineN = _ref7.showInlineLineNumbers,\n showInlineLineNumbers = _ref7$showInlineLineN === void 0 ? true : _ref7$showInlineLineN,\n _ref7$startingLineNum = _ref7.startingLineNumber,\n startingLineNumber = _ref7$startingLineNum === void 0 ? 1 : _ref7$startingLineNum,\n lineNumberContainerStyle = _ref7.lineNumberContainerStyle,\n _ref7$lineNumberStyle = _ref7.lineNumberStyle,\n lineNumberStyle = _ref7$lineNumberStyle === void 0 ? {} : _ref7$lineNumberStyle,\n wrapLines = _ref7.wrapLines,\n _ref7$wrapLongLines = _ref7.wrapLongLines,\n wrapLongLines = _ref7$wrapLongLines === void 0 ? false : _ref7$wrapLongLines,\n _ref7$lineProps = _ref7.lineProps,\n lineProps = _ref7$lineProps === void 0 ? {} : _ref7$lineProps,\n renderer = _ref7.renderer,\n _ref7$PreTag = _ref7.PreTag,\n PreTag = _ref7$PreTag === void 0 ? 'pre' : _ref7$PreTag,\n _ref7$CodeTag = _ref7.CodeTag,\n CodeTag = _ref7$CodeTag === void 0 ? 'code' : _ref7$CodeTag,\n _ref7$code = _ref7.code,\n code = _ref7$code === void 0 ? (Array.isArray(children) ? children[0] : children) || '' : _ref7$code,\n astGenerator = _ref7.astGenerator,\n rest = _objectWithoutProperties(_ref7, _excluded);\n\n astGenerator = astGenerator || defaultAstGenerator;\n var allLineNumbers = showLineNumbers ? /*#__PURE__*/React.createElement(AllLineNumbers, {\n containerStyle: lineNumberContainerStyle,\n codeStyle: codeTagProps.style || {},\n numberStyle: lineNumberStyle,\n startingLineNumber: startingLineNumber,\n codeString: code\n }) : null;\n var defaultPreStyle = style.hljs || style['pre[class*=\"language-\"]'] || {\n backgroundColor: '#fff'\n };\n var generatorClassName = isHighlightJs(astGenerator) ? 'hljs' : 'prismjs';\n var preProps = useInlineStyles ? Object.assign({}, rest, {\n style: Object.assign({}, defaultPreStyle, customStyle)\n }) : Object.assign({}, rest, {\n className: rest.className ? \"\".concat(generatorClassName, \" \").concat(rest.className) : generatorClassName,\n style: Object.assign({}, customStyle)\n });\n\n if (wrapLongLines) {\n codeTagProps.style = _objectSpread(_objectSpread({}, codeTagProps.style), {}, {\n whiteSpace: 'pre-wrap'\n });\n } else {\n codeTagProps.style = _objectSpread(_objectSpread({}, codeTagProps.style), {}, {\n whiteSpace: 'pre'\n });\n }\n\n if (!astGenerator) {\n return /*#__PURE__*/React.createElement(PreTag, preProps, allLineNumbers, /*#__PURE__*/React.createElement(CodeTag, codeTagProps, code));\n }\n /*\n * Some custom renderers rely on individual row elements so we need to turn wrapLines on\n * if renderer is provided and wrapLines is undefined.\n */\n\n\n if (wrapLines === undefined && renderer || wrapLongLines) wrapLines = true;\n renderer = renderer || defaultRenderer;\n var defaultCodeValue = [{\n type: 'text',\n value: code\n }];\n var codeTree = getCodeTree({\n astGenerator: astGenerator,\n language: language,\n code: code,\n defaultCodeValue: defaultCodeValue\n });\n\n if (codeTree.language === null) {\n codeTree.value = defaultCodeValue;\n } // determine largest line number so that we can force minWidth on all linenumber elements\n\n\n var largestLineNumber = codeTree.value.length + startingLineNumber;\n var rows = processLines(codeTree, wrapLines, lineProps, showLineNumbers, showInlineLineNumbers, startingLineNumber, largestLineNumber, lineNumberStyle, wrapLongLines);\n return /*#__PURE__*/React.createElement(PreTag, preProps, /*#__PURE__*/React.createElement(CodeTag, codeTagProps, !showInlineLineNumbers && allLineNumbers, renderer({\n rows: rows,\n stylesheet: style,\n useInlineStyles: useInlineStyles\n })));\n };\n}","export default {\n \"code[class*=\\\"language-\\\"]\": {\n \"color\": \"black\",\n \"background\": \"none\",\n \"textShadow\": \"0 1px white\",\n \"fontFamily\": \"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace\",\n \"fontSize\": \"1em\",\n \"textAlign\": \"left\",\n \"whiteSpace\": \"pre\",\n \"wordSpacing\": \"normal\",\n \"wordBreak\": \"normal\",\n \"wordWrap\": \"normal\",\n \"lineHeight\": \"1.5\",\n \"MozTabSize\": \"4\",\n \"OTabSize\": \"4\",\n \"tabSize\": \"4\",\n \"WebkitHyphens\": \"none\",\n \"MozHyphens\": \"none\",\n \"msHyphens\": \"none\",\n \"hyphens\": \"none\"\n },\n \"pre[class*=\\\"language-\\\"]\": {\n \"color\": \"black\",\n \"background\": \"#f5f2f0\",\n \"textShadow\": \"0 1px white\",\n \"fontFamily\": \"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace\",\n \"fontSize\": \"1em\",\n \"textAlign\": \"left\",\n \"whiteSpace\": \"pre\",\n \"wordSpacing\": \"normal\",\n \"wordBreak\": \"normal\",\n \"wordWrap\": \"normal\",\n \"lineHeight\": \"1.5\",\n \"MozTabSize\": \"4\",\n \"OTabSize\": \"4\",\n \"tabSize\": \"4\",\n \"WebkitHyphens\": \"none\",\n \"MozHyphens\": \"none\",\n \"msHyphens\": \"none\",\n \"hyphens\": \"none\",\n \"padding\": \"1em\",\n \"margin\": \".5em 0\",\n \"overflow\": \"auto\"\n },\n \"pre[class*=\\\"language-\\\"]::-moz-selection\": {\n \"textShadow\": \"none\",\n \"background\": \"#b3d4fc\"\n },\n \"pre[class*=\\\"language-\\\"] ::-moz-selection\": {\n \"textShadow\": \"none\",\n \"background\": \"#b3d4fc\"\n },\n \"code[class*=\\\"language-\\\"]::-moz-selection\": {\n \"textShadow\": \"none\",\n \"background\": \"#b3d4fc\"\n },\n \"code[class*=\\\"language-\\\"] ::-moz-selection\": {\n \"textShadow\": \"none\",\n \"background\": \"#b3d4fc\"\n },\n \"pre[class*=\\\"language-\\\"]::selection\": {\n \"textShadow\": \"none\",\n \"background\": \"#b3d4fc\"\n },\n \"pre[class*=\\\"language-\\\"] ::selection\": {\n \"textShadow\": \"none\",\n \"background\": \"#b3d4fc\"\n },\n \"code[class*=\\\"language-\\\"]::selection\": {\n \"textShadow\": \"none\",\n \"background\": \"#b3d4fc\"\n },\n \"code[class*=\\\"language-\\\"] ::selection\": {\n \"textShadow\": \"none\",\n \"background\": \"#b3d4fc\"\n },\n \":not(pre) > code[class*=\\\"language-\\\"]\": {\n \"background\": \"#f5f2f0\",\n \"padding\": \".1em\",\n \"borderRadius\": \".3em\",\n \"whiteSpace\": \"normal\"\n },\n \"comment\": {\n \"color\": \"slategray\"\n },\n \"prolog\": {\n \"color\": \"slategray\"\n },\n \"doctype\": {\n \"color\": \"slategray\"\n },\n \"cdata\": {\n \"color\": \"slategray\"\n },\n \"punctuation\": {\n \"color\": \"#999\"\n },\n \"namespace\": {\n \"Opacity\": \".7\"\n },\n \"property\": {\n \"color\": \"#905\"\n },\n \"tag\": {\n \"color\": \"#905\"\n },\n \"boolean\": {\n \"color\": \"#905\"\n },\n \"number\": {\n \"color\": \"#905\"\n },\n \"constant\": {\n \"color\": \"#905\"\n },\n \"symbol\": {\n \"color\": \"#905\"\n },\n \"deleted\": {\n \"color\": \"#905\"\n },\n \"selector\": {\n \"color\": \"#690\"\n },\n \"attr-name\": {\n \"color\": \"#690\"\n },\n \"string\": {\n \"color\": \"#690\"\n },\n \"char\": {\n \"color\": \"#690\"\n },\n \"builtin\": {\n \"color\": \"#690\"\n },\n \"inserted\": {\n \"color\": \"#690\"\n },\n \"operator\": {\n \"color\": \"#9a6e3a\",\n \"background\": \"hsla(0, 0%, 100%, .5)\"\n },\n \"entity\": {\n \"color\": \"#9a6e3a\",\n \"background\": \"hsla(0, 0%, 100%, .5)\",\n \"cursor\": \"help\"\n },\n \"url\": {\n \"color\": \"#9a6e3a\",\n \"background\": \"hsla(0, 0%, 100%, .5)\"\n },\n \".language-css .token.string\": {\n \"color\": \"#9a6e3a\",\n \"background\": \"hsla(0, 0%, 100%, .5)\"\n },\n \".style .token.string\": {\n \"color\": \"#9a6e3a\",\n \"background\": \"hsla(0, 0%, 100%, .5)\"\n },\n \"atrule\": {\n \"color\": \"#07a\"\n },\n \"attr-value\": {\n \"color\": \"#07a\"\n },\n \"keyword\": {\n \"color\": \"#07a\"\n },\n \"function\": {\n \"color\": \"#DD4A68\"\n },\n \"class-name\": {\n \"color\": \"#DD4A68\"\n },\n \"regex\": {\n \"color\": \"#e90\"\n },\n \"important\": {\n \"color\": \"#e90\",\n \"fontWeight\": \"bold\"\n },\n \"variable\": {\n \"color\": \"#e90\"\n },\n \"bold\": {\n \"fontWeight\": \"bold\"\n },\n \"italic\": {\n \"fontStyle\": \"italic\"\n }\n};","import highlight from './highlight';\nimport defaultStyle from './styles/prism/prism';\nimport refractor from 'refractor';\nimport supportedLanguages from './languages/prism/supported-languages';\nvar highlighter = highlight(refractor, defaultStyle);\nhighlighter.supportedLanguages = supportedLanguages;\nexport default highlighter;","//\n// This file has been auto-generated by the `npm run build-languages-prism` task\n//\nexport default ['abap', 'abnf', 'actionscript', 'ada', 'agda', 'al', 'antlr4', 'apacheconf', 'apex', 'apl', 'applescript', 'aql', 'arduino', 'arff', 'asciidoc', 'asm6502', 'asmatmel', 'aspnet', 'autohotkey', 'autoit', 'avisynth', 'avro-idl', 'bash', 'basic', 'batch', 'bbcode', 'bicep', 'birb', 'bison', 'bnf', 'brainfuck', 'brightscript', 'bro', 'bsl', 'c', 'cfscript', 'chaiscript', 'cil', 'clike', 'clojure', 'cmake', 'cobol', 'coffeescript', 'concurnas', 'coq', 'cpp', 'crystal', 'csharp', 'cshtml', 'csp', 'css-extras', 'css', 'csv', 'cypher', 'd', 'dart', 'dataweave', 'dax', 'dhall', 'diff', 'django', 'dns-zone-file', 'docker', 'dot', 'ebnf', 'editorconfig', 'eiffel', 'ejs', 'elixir', 'elm', 'erb', 'erlang', 'etlua', 'excel-formula', 'factor', 'false', 'firestore-security-rules', 'flow', 'fortran', 'fsharp', 'ftl', 'gap', 'gcode', 'gdscript', 'gedcom', 'gherkin', 'git', 'glsl', 'gml', 'gn', 'go-module', 'go', 'graphql', 'groovy', 'haml', 'handlebars', 'haskell', 'haxe', 'hcl', 'hlsl', 'hoon', 'hpkp', 'hsts', 'http', 'ichigojam', 'icon', 'icu-message-format', 'idris', 'iecst', 'ignore', 'inform7', 'ini', 'io', 'j', 'java', 'javadoc', 'javadoclike', 'javascript', 'javastacktrace', 'jexl', 'jolie', 'jq', 'js-extras', 'js-templates', 'jsdoc', 'json', 'json5', 'jsonp', 'jsstacktrace', 'jsx', 'julia', 'keepalived', 'keyman', 'kotlin', 'kumir', 'kusto', 'latex', 'latte', 'less', 'lilypond', 'liquid', 'lisp', 'livescript', 'llvm', 'log', 'lolcode', 'lua', 'magma', 'makefile', 'markdown', 'markup-templating', 'markup', 'matlab', 'maxscript', 'mel', 'mermaid', 'mizar', 'mongodb', 'monkey', 'moonscript', 'n1ql', 'n4js', 'nand2tetris-hdl', 'naniscript', 'nasm', 'neon', 'nevod', 'nginx', 'nim', 'nix', 'nsis', 'objectivec', 'ocaml', 'opencl', 'openqasm', 'oz', 'parigp', 'parser', 'pascal', 'pascaligo', 'pcaxis', 'peoplecode', 'perl', 'php-extras', 'php', 'phpdoc', 'plsql', 'powerquery', 'powershell', 'processing', 'prolog', 'promql', 'properties', 'protobuf', 'psl', 'pug', 'puppet', 'pure', 'purebasic', 'purescript', 'python', 'q', 'qml', 'qore', 'qsharp', 'r', 'racket', 'reason', 'regex', 'rego', 'renpy', 'rest', 'rip', 'roboconf', 'robotframework', 'ruby', 'rust', 'sas', 'sass', 'scala', 'scheme', 'scss', 'shell-session', 'smali', 'smalltalk', 'smarty', 'sml', 'solidity', 'solution-file', 'soy', 'sparql', 'splunk-spl', 'sqf', 'sql', 'squirrel', 'stan', 'stylus', 'swift', 'systemd', 't4-cs', 't4-templating', 't4-vb', 'tap', 'tcl', 'textile', 'toml', 'tremor', 'tsx', 'tt2', 'turtle', 'twig', 'typescript', 'typoscript', 'unrealscript', 'uorazor', 'uri', 'v', 'vala', 'vbnet', 'velocity', 'verilog', 'vhdl', 'vim', 'visual-basic', 'warpscript', 'wasm', 'web-idl', 'wiki', 'wolfram', 'wren', 'xeora', 'xml-doc', 'xojo', 'xquery', 'yaml', 'yang', 'zig'];","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Previous} Previous\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n asciiControl,\n asciiDigit,\n markdownLineEndingOrSpace,\n markdownLineEnding,\n unicodePunctuation,\n unicodeWhitespace\n} from 'micromark-util-character'\nconst www = {\n tokenize: tokenizeWww,\n partial: true\n}\nconst domain = {\n tokenize: tokenizeDomain,\n partial: true\n}\nconst path = {\n tokenize: tokenizePath,\n partial: true\n}\nconst punctuation = {\n tokenize: tokenizePunctuation,\n partial: true\n}\nconst namedCharacterReference = {\n tokenize: tokenizeNamedCharacterReference,\n partial: true\n}\nconst wwwAutolink = {\n tokenize: tokenizeWwwAutolink,\n previous: previousWww\n}\nconst httpAutolink = {\n tokenize: tokenizeHttpAutolink,\n previous: previousHttp\n}\nconst emailAutolink = {\n tokenize: tokenizeEmailAutolink,\n previous: previousEmail\n}\n/** @type {ConstructRecord} */\n\nconst text = {}\n/** @type {Extension} */\n\nexport const gfmAutolinkLiteral = {\n text\n}\nlet code = 48 // Add alphanumerics.\n\nwhile (code < 123) {\n text[code] = emailAutolink\n code++\n if (code === 58) code = 65\n else if (code === 91) code = 97\n}\n\ntext[43] = emailAutolink\ntext[45] = emailAutolink\ntext[46] = emailAutolink\ntext[95] = emailAutolink\ntext[72] = [emailAutolink, httpAutolink]\ntext[104] = [emailAutolink, httpAutolink]\ntext[87] = [emailAutolink, wwwAutolink]\ntext[119] = [emailAutolink, wwwAutolink]\n/** @type {Tokenizer} */\n\nfunction tokenizeEmailAutolink(effects, ok, nok) {\n const self = this\n /** @type {boolean} */\n\n let hasDot\n /** @type {boolean|undefined} */\n\n let hasDigitInLastSegment\n return start\n /** @type {State} */\n\n function start(code) {\n if (\n !gfmAtext(code) ||\n !previousEmail(self.previous) ||\n previousUnbalanced(self.events)\n ) {\n return nok(code)\n }\n\n effects.enter('literalAutolink')\n effects.enter('literalAutolinkEmail')\n return atext(code)\n }\n /** @type {State} */\n\n function atext(code) {\n if (gfmAtext(code)) {\n effects.consume(code)\n return atext\n }\n\n if (code === 64) {\n effects.consume(code)\n return label\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function label(code) {\n if (code === 46) {\n return effects.check(punctuation, done, dotContinuation)(code)\n }\n\n if (code === 45 || code === 95) {\n return effects.check(punctuation, nok, dashOrUnderscoreContinuation)(code)\n }\n\n if (asciiAlphanumeric(code)) {\n if (!hasDigitInLastSegment && asciiDigit(code)) {\n hasDigitInLastSegment = true\n }\n\n effects.consume(code)\n return label\n }\n\n return done(code)\n }\n /** @type {State} */\n\n function dotContinuation(code) {\n effects.consume(code)\n hasDot = true\n hasDigitInLastSegment = undefined\n return label\n }\n /** @type {State} */\n\n function dashOrUnderscoreContinuation(code) {\n effects.consume(code)\n return afterDashOrUnderscore\n }\n /** @type {State} */\n\n function afterDashOrUnderscore(code) {\n if (code === 46) {\n return effects.check(punctuation, nok, dotContinuation)(code)\n }\n\n return label(code)\n }\n /** @type {State} */\n\n function done(code) {\n if (hasDot && !hasDigitInLastSegment) {\n effects.exit('literalAutolinkEmail')\n effects.exit('literalAutolink')\n return ok(code)\n }\n\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeWwwAutolink(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n if (\n (code !== 87 && code !== 119) ||\n !previousWww(self.previous) ||\n previousUnbalanced(self.events)\n ) {\n return nok(code)\n }\n\n effects.enter('literalAutolink')\n effects.enter('literalAutolinkWww') // For `www.` we check instead of attempt, because when it matches, GH\n // treats it as part of a domain (yes, it says a valid domain must come\n // after `www.`, but that’s not how it’s implemented by them).\n\n return effects.check(\n www,\n effects.attempt(domain, effects.attempt(path, done), nok),\n nok\n )(code)\n }\n /** @type {State} */\n\n function done(code) {\n effects.exit('literalAutolinkWww')\n effects.exit('literalAutolink')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHttpAutolink(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n if (\n (code !== 72 && code !== 104) ||\n !previousHttp(self.previous) ||\n previousUnbalanced(self.events)\n ) {\n return nok(code)\n }\n\n effects.enter('literalAutolink')\n effects.enter('literalAutolinkHttp')\n effects.consume(code)\n return t1\n }\n /** @type {State} */\n\n function t1(code) {\n if (code === 84 || code === 116) {\n effects.consume(code)\n return t2\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function t2(code) {\n if (code === 84 || code === 116) {\n effects.consume(code)\n return p\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function p(code) {\n if (code === 80 || code === 112) {\n effects.consume(code)\n return s\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function s(code) {\n if (code === 83 || code === 115) {\n effects.consume(code)\n return colon\n }\n\n return colon(code)\n }\n /** @type {State} */\n\n function colon(code) {\n if (code === 58) {\n effects.consume(code)\n return slash1\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function slash1(code) {\n if (code === 47) {\n effects.consume(code)\n return slash2\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function slash2(code) {\n if (code === 47) {\n effects.consume(code)\n return after\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n return code === null ||\n asciiControl(code) ||\n unicodeWhitespace(code) ||\n unicodePunctuation(code)\n ? nok(code)\n : effects.attempt(domain, effects.attempt(path, done), nok)(code)\n }\n /** @type {State} */\n\n function done(code) {\n effects.exit('literalAutolinkHttp')\n effects.exit('literalAutolink')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeWww(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.consume(code)\n return w2\n }\n /** @type {State} */\n\n function w2(code) {\n if (code === 87 || code === 119) {\n effects.consume(code)\n return w3\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function w3(code) {\n if (code === 87 || code === 119) {\n effects.consume(code)\n return dot\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function dot(code) {\n if (code === 46) {\n effects.consume(code)\n return after\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n return code === null || markdownLineEnding(code) ? nok(code) : ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeDomain(effects, ok, nok) {\n /** @type {boolean|undefined} */\n let hasUnderscoreInLastSegment\n /** @type {boolean|undefined} */\n\n let hasUnderscoreInLastLastSegment\n return domain\n /** @type {State} */\n\n function domain(code) {\n if (code === 38) {\n return effects.check(\n namedCharacterReference,\n done,\n punctuationContinuation\n )(code)\n }\n\n if (code === 46 || code === 95) {\n return effects.check(punctuation, done, punctuationContinuation)(code)\n } // GH documents that only alphanumerics (other than `-`, `.`, and `_`) can\n // occur, which sounds like ASCII only, but they also support `www.點看.com`,\n // so that’s Unicode.\n // Instead of some new production for Unicode alphanumerics, markdown\n // already has that for Unicode punctuation and whitespace, so use those.\n\n if (\n code === null ||\n asciiControl(code) ||\n unicodeWhitespace(code) ||\n (code !== 45 && unicodePunctuation(code))\n ) {\n return done(code)\n }\n\n effects.consume(code)\n return domain\n }\n /** @type {State} */\n\n function punctuationContinuation(code) {\n if (code === 46) {\n hasUnderscoreInLastLastSegment = hasUnderscoreInLastSegment\n hasUnderscoreInLastSegment = undefined\n effects.consume(code)\n return domain\n }\n\n if (code === 95) hasUnderscoreInLastSegment = true\n effects.consume(code)\n return domain\n }\n /** @type {State} */\n\n function done(code) {\n if (!hasUnderscoreInLastLastSegment && !hasUnderscoreInLastSegment) {\n return ok(code)\n }\n\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizePath(effects, ok) {\n let balance = 0\n return inPath\n /** @type {State} */\n\n function inPath(code) {\n if (code === 38) {\n return effects.check(\n namedCharacterReference,\n ok,\n continuedPunctuation\n )(code)\n }\n\n if (code === 40) {\n balance++\n }\n\n if (code === 41) {\n return effects.check(\n punctuation,\n parenAtPathEnd,\n continuedPunctuation\n )(code)\n }\n\n if (pathEnd(code)) {\n return ok(code)\n }\n\n if (trailingPunctuation(code)) {\n return effects.check(punctuation, ok, continuedPunctuation)(code)\n }\n\n effects.consume(code)\n return inPath\n }\n /** @type {State} */\n\n function continuedPunctuation(code) {\n effects.consume(code)\n return inPath\n }\n /** @type {State} */\n\n function parenAtPathEnd(code) {\n balance--\n return balance < 0 ? ok(code) : continuedPunctuation(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeNamedCharacterReference(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.consume(code)\n return inside\n }\n /** @type {State} */\n\n function inside(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return inside\n }\n\n if (code === 59) {\n effects.consume(code)\n return after\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n // If the named character reference is followed by the end of the path, it’s\n // not continued punctuation.\n return pathEnd(code) ? ok(code) : nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizePunctuation(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.consume(code)\n return after\n }\n /** @type {State} */\n\n function after(code) {\n // Check the next.\n if (trailingPunctuation(code)) {\n effects.consume(code)\n return after\n } // If the punctuation marker is followed by the end of the path, it’s not\n // continued punctuation.\n\n return pathEnd(code) ? ok(code) : nok(code)\n }\n}\n/**\n * @param {Code} code\n * @returns {boolean}\n */\n\nfunction trailingPunctuation(code) {\n return (\n code === 33 ||\n code === 34 ||\n code === 39 ||\n code === 41 ||\n code === 42 ||\n code === 44 ||\n code === 46 ||\n code === 58 ||\n code === 59 ||\n code === 60 ||\n code === 63 ||\n code === 95 ||\n code === 126\n )\n}\n/**\n * @param {Code} code\n * @returns {boolean}\n */\n\nfunction pathEnd(code) {\n return code === null || code === 60 || markdownLineEndingOrSpace(code)\n}\n/**\n * @param {Code} code\n * @returns {boolean}\n */\n\nfunction gfmAtext(code) {\n return (\n code === 43 ||\n code === 45 ||\n code === 46 ||\n code === 95 ||\n asciiAlphanumeric(code)\n )\n}\n/** @type {Previous} */\n\nfunction previousWww(code) {\n return (\n code === null ||\n code === 40 ||\n code === 42 ||\n code === 95 ||\n code === 126 ||\n markdownLineEndingOrSpace(code)\n )\n}\n/** @type {Previous} */\n\nfunction previousHttp(code) {\n return code === null || !asciiAlpha(code)\n}\n/** @type {Previous} */\n\nfunction previousEmail(code) {\n return code !== 47 && previousHttp(code)\n}\n/**\n * @param {Array<Event>} events\n * @returns {boolean}\n */\n\nfunction previousUnbalanced(events) {\n let index = events.length\n let result = false\n\n while (index--) {\n const token = events[index][1]\n\n if (\n (token.type === 'labelLink' || token.type === 'labelImage') &&\n !token._balanced\n ) {\n result = true\n break\n } // @ts-expect-error If we’ve seen this token, and it was marked as not\n // having any unbalanced bracket before it, we can exit.\n\n if (token._gfmAutolinkLiteralWalkedInto) {\n result = false\n break\n }\n }\n\n if (events.length > 0 && !result) {\n // @ts-expect-error Mark the last token as “walked into” w/o finding\n // anything.\n events[events.length - 1][1]._gfmAutolinkLiteralWalkedInto = true\n }\n\n return result\n}\n","export default {\n \"code[class*=\\\"language-\\\"]\": {\n \"color\": \"#e3eaf2\",\n \"background\": \"none\",\n \"fontFamily\": \"Consolas, Monaco, \\\"Andale Mono\\\", \\\"Ubuntu Mono\\\", monospace\",\n \"textAlign\": \"left\",\n \"whiteSpace\": \"pre\",\n \"wordSpacing\": \"normal\",\n \"wordBreak\": \"normal\",\n \"wordWrap\": \"normal\",\n \"lineHeight\": \"1.5\",\n \"MozTabSize\": \"4\",\n \"OTabSize\": \"4\",\n \"tabSize\": \"4\",\n \"WebkitHyphens\": \"none\",\n \"MozHyphens\": \"none\",\n \"msHyphens\": \"none\",\n \"hyphens\": \"none\"\n },\n \"pre[class*=\\\"language-\\\"]\": {\n \"color\": \"#e3eaf2\",\n \"background\": \"#111b27\",\n \"fontFamily\": \"Consolas, Monaco, \\\"Andale Mono\\\", \\\"Ubuntu Mono\\\", monospace\",\n \"textAlign\": \"left\",\n \"whiteSpace\": \"pre\",\n \"wordSpacing\": \"normal\",\n \"wordBreak\": \"normal\",\n \"wordWrap\": \"normal\",\n \"lineHeight\": \"1.5\",\n \"MozTabSize\": \"4\",\n \"OTabSize\": \"4\",\n \"tabSize\": \"4\",\n \"WebkitHyphens\": \"none\",\n \"MozHyphens\": \"none\",\n \"msHyphens\": \"none\",\n \"hyphens\": \"none\",\n \"padding\": \"1em\",\n \"margin\": \"0.5em 0\",\n \"overflow\": \"auto\"\n },\n \"pre[class*=\\\"language-\\\"]::-moz-selection\": {\n \"background\": \"#3c526d\"\n },\n \"pre[class*=\\\"language-\\\"] ::-moz-selection\": {\n \"background\": \"#3c526d\"\n },\n \"code[class*=\\\"language-\\\"]::-moz-selection\": {\n \"background\": \"#3c526d\"\n },\n \"code[class*=\\\"language-\\\"] ::-moz-selection\": {\n \"background\": \"#3c526d\"\n },\n \"pre[class*=\\\"language-\\\"]::selection\": {\n \"background\": \"#3c526d\"\n },\n \"pre[class*=\\\"language-\\\"] ::selection\": {\n \"background\": \"#3c526d\"\n },\n \"code[class*=\\\"language-\\\"]::selection\": {\n \"background\": \"#3c526d\"\n },\n \"code[class*=\\\"language-\\\"] ::selection\": {\n \"background\": \"#3c526d\"\n },\n \":not(pre) > code[class*=\\\"language-\\\"]\": {\n \"background\": \"#111b27\",\n \"padding\": \"0.1em 0.3em\",\n \"borderRadius\": \"0.3em\",\n \"whiteSpace\": \"normal\"\n },\n \"comment\": {\n \"color\": \"#8da1b9\"\n },\n \"prolog\": {\n \"color\": \"#8da1b9\"\n },\n \"doctype\": {\n \"color\": \"#8da1b9\"\n },\n \"cdata\": {\n \"color\": \"#8da1b9\"\n },\n \"punctuation\": {\n \"color\": \"#e3eaf2\"\n },\n \"delimiter.important\": {\n \"color\": \"#66cccc\",\n \"fontWeight\": \"inherit\"\n },\n \"selector.parent\": {\n \"color\": \"#66cccc\"\n },\n \"tag\": {\n \"color\": \"#66cccc\"\n },\n \"tag.punctuation\": {\n \"color\": \"#66cccc\"\n },\n \"attr-name\": {\n \"color\": \"#e6d37a\"\n },\n \"boolean\": {\n \"color\": \"#e6d37a\"\n },\n \"boolean.important\": {\n \"color\": \"#e6d37a\"\n },\n \"number\": {\n \"color\": \"#e6d37a\"\n },\n \"constant\": {\n \"color\": \"#e6d37a\"\n },\n \"selector.attribute\": {\n \"color\": \"#e6d37a\"\n },\n \"class-name\": {\n \"color\": \"#6cb8e6\"\n },\n \"key\": {\n \"color\": \"#6cb8e6\"\n },\n \"parameter\": {\n \"color\": \"#6cb8e6\"\n },\n \"property\": {\n \"color\": \"#6cb8e6\"\n },\n \"property-access\": {\n \"color\": \"#6cb8e6\"\n },\n \"variable\": {\n \"color\": \"#6cb8e6\"\n },\n \"attr-value\": {\n \"color\": \"#91d076\"\n },\n \"inserted\": {\n \"color\": \"#91d076\"\n },\n \"color\": {\n \"color\": \"#91d076\"\n },\n \"selector.value\": {\n \"color\": \"#91d076\"\n },\n \"string\": {\n \"color\": \"#91d076\"\n },\n \"string.url-link\": {\n \"color\": \"#91d076\"\n },\n \"builtin\": {\n \"color\": \"#f4adf4\"\n },\n \"keyword-array\": {\n \"color\": \"#f4adf4\"\n },\n \"package\": {\n \"color\": \"#f4adf4\"\n },\n \"regex\": {\n \"color\": \"#f4adf4\"\n },\n \"function\": {\n \"color\": \"#c699e3\"\n },\n \"selector.class\": {\n \"color\": \"#c699e3\"\n },\n \"selector.id\": {\n \"color\": \"#c699e3\"\n },\n \"atrule.rule\": {\n \"color\": \"#e9ae7e\"\n },\n \"combinator\": {\n \"color\": \"#e9ae7e\"\n },\n \"keyword\": {\n \"color\": \"#e9ae7e\"\n },\n \"operator\": {\n \"color\": \"#e9ae7e\"\n },\n \"pseudo-class\": {\n \"color\": \"#e9ae7e\"\n },\n \"pseudo-element\": {\n \"color\": \"#e9ae7e\"\n },\n \"selector\": {\n \"color\": \"#e9ae7e\"\n },\n \"unit\": {\n \"color\": \"#e9ae7e\"\n },\n \"deleted\": {\n \"color\": \"#cd6660\"\n },\n \"important\": {\n \"color\": \"#cd6660\",\n \"fontWeight\": \"bold\"\n },\n \"keyword-this\": {\n \"color\": \"#6cb8e6\",\n \"fontWeight\": \"bold\"\n },\n \"this\": {\n \"color\": \"#6cb8e6\",\n \"fontWeight\": \"bold\"\n },\n \"bold\": {\n \"fontWeight\": \"bold\"\n },\n \"italic\": {\n \"fontStyle\": \"italic\"\n },\n \"entity\": {\n \"cursor\": \"help\"\n },\n \".language-markdown .token.title\": {\n \"color\": \"#6cb8e6\",\n \"fontWeight\": \"bold\"\n },\n \".language-markdown .token.title .token.punctuation\": {\n \"color\": \"#6cb8e6\",\n \"fontWeight\": \"bold\"\n },\n \".language-markdown .token.blockquote.punctuation\": {\n \"color\": \"#f4adf4\"\n },\n \".language-markdown .token.code\": {\n \"color\": \"#66cccc\"\n },\n \".language-markdown .token.hr.punctuation\": {\n \"color\": \"#6cb8e6\"\n },\n \".language-markdown .token.url .token.content\": {\n \"color\": \"#91d076\"\n },\n \".language-markdown .token.url-link\": {\n \"color\": \"#e6d37a\"\n },\n \".language-markdown .token.list.punctuation\": {\n \"color\": \"#f4adf4\"\n },\n \".language-markdown .token.table-header\": {\n \"color\": \"#e3eaf2\"\n },\n \".language-json .token.operator\": {\n \"color\": \"#e3eaf2\"\n },\n \".language-scss .token.variable\": {\n \"color\": \"#66cccc\"\n },\n \"token.tab:not(:empty):before\": {\n \"color\": \"#8da1b9\"\n },\n \"token.cr:before\": {\n \"color\": \"#8da1b9\"\n },\n \"token.lf:before\": {\n \"color\": \"#8da1b9\"\n },\n \"token.space:before\": {\n \"color\": \"#8da1b9\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a\": {\n \"color\": \"#111b27\",\n \"background\": \"#6cb8e6\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button\": {\n \"color\": \"#111b27\",\n \"background\": \"#6cb8e6\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:hover\": {\n \"color\": \"#111b27\",\n \"background\": \"#6cb8e6da\",\n \"textDecoration\": \"none\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:focus\": {\n \"color\": \"#111b27\",\n \"background\": \"#6cb8e6da\",\n \"textDecoration\": \"none\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover\": {\n \"color\": \"#111b27\",\n \"background\": \"#6cb8e6da\",\n \"textDecoration\": \"none\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus\": {\n \"color\": \"#111b27\",\n \"background\": \"#6cb8e6da\",\n \"textDecoration\": \"none\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span\": {\n \"color\": \"#111b27\",\n \"background\": \"#8da1b9\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:hover\": {\n \"color\": \"#111b27\",\n \"background\": \"#8da1b9\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus\": {\n \"color\": \"#111b27\",\n \"background\": \"#8da1b9\"\n },\n \".line-highlight.line-highlight\": {\n \"background\": \"linear-gradient(to right, #3c526d5f 70%, #3c526d55)\"\n },\n \".line-highlight.line-highlight:before\": {\n \"backgroundColor\": \"#8da1b9\",\n \"color\": \"#111b27\",\n \"boxShadow\": \"0 1px #3c526d\"\n },\n \".line-highlight.line-highlight[data-end]:after\": {\n \"backgroundColor\": \"#8da1b9\",\n \"color\": \"#111b27\",\n \"boxShadow\": \"0 1px #3c526d\"\n },\n \"pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows > span:hover:before\": {\n \"backgroundColor\": \"#8da1b918\"\n },\n \".line-numbers.line-numbers .line-numbers-rows\": {\n \"borderRight\": \"1px solid #0b121b\",\n \"background\": \"#0b121b7a\"\n },\n \".line-numbers .line-numbers-rows > span:before\": {\n \"color\": \"#8da1b9da\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-1\": {\n \"color\": \"#e6d37a\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-5\": {\n \"color\": \"#e6d37a\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-9\": {\n \"color\": \"#e6d37a\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-2\": {\n \"color\": \"#f4adf4\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-6\": {\n \"color\": \"#f4adf4\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-10\": {\n \"color\": \"#f4adf4\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-3\": {\n \"color\": \"#6cb8e6\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-7\": {\n \"color\": \"#6cb8e6\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-11\": {\n \"color\": \"#6cb8e6\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-4\": {\n \"color\": \"#c699e3\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-8\": {\n \"color\": \"#c699e3\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-12\": {\n \"color\": \"#c699e3\"\n },\n \"pre.diff-highlight > code .token.token.deleted:not(.prefix)\": {\n \"backgroundColor\": \"#cd66601f\"\n },\n \"pre > code.diff-highlight .token.token.deleted:not(.prefix)\": {\n \"backgroundColor\": \"#cd66601f\"\n },\n \"pre.diff-highlight > code .token.token.inserted:not(.prefix)\": {\n \"backgroundColor\": \"#91d0761f\"\n },\n \"pre > code.diff-highlight .token.token.inserted:not(.prefix)\": {\n \"backgroundColor\": \"#91d0761f\"\n },\n \".command-line .command-line-prompt\": {\n \"borderRight\": \"1px solid #0b121b\"\n },\n \".command-line .command-line-prompt > span:before\": {\n \"color\": \"#8da1b9da\"\n }\n};","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Exiter} Exiter\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Event} Event\n */\nimport {blankLine} from 'micromark-core-commonmark'\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace\n} from 'micromark-util-character'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nconst indent = {\n tokenize: tokenizeIndent,\n partial: true\n}\n/**\n * @returns {Extension}\n */\n\nexport function gfmFootnote() {\n /** @type {Extension} */\n return {\n document: {\n [91]: {\n tokenize: tokenizeDefinitionStart,\n continuation: {\n tokenize: tokenizeDefinitionContinuation\n },\n exit: gfmFootnoteDefinitionEnd\n }\n },\n text: {\n [91]: {\n tokenize: tokenizeGfmFootnoteCall\n },\n [93]: {\n add: 'after',\n tokenize: tokenizePotentialGfmFootnoteCall,\n resolveTo: resolveToPotentialGfmFootnoteCall\n }\n }\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizePotentialGfmFootnoteCall(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {Array<string>} */\n // @ts-expect-error It’s fine!\n\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = [])\n /** @type {Token} */\n\n let labelStart // Find an opening.\n\n while (index--) {\n const token = self.events[index][1]\n\n if (token.type === 'labelImage') {\n labelStart = token\n break\n } // Exit if we’ve walked far enough.\n\n if (\n token.type === 'gfmFootnoteCall' ||\n token.type === 'labelLink' ||\n token.type === 'label' ||\n token.type === 'image' ||\n token.type === 'link'\n ) {\n break\n }\n }\n\n return start\n /** @type {State} */\n\n function start(code) {\n if (!labelStart || !labelStart._balanced) {\n return nok(code)\n }\n\n const id = normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n )\n\n if (id.charCodeAt(0) !== 94 || !defined.includes(id.slice(1))) {\n return nok(code)\n }\n\n effects.enter('gfmFootnoteCallLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteCallLabelMarker')\n return ok(code)\n }\n}\n/** @type {Resolver} */\n\nfunction resolveToPotentialGfmFootnoteCall(events, context) {\n let index = events.length\n /** @type {Token|undefined} */\n\n let labelStart // Find an opening.\n\n while (index--) {\n if (\n events[index][1].type === 'labelImage' &&\n events[index][0] === 'enter'\n ) {\n labelStart = events[index][1]\n break\n }\n }\n\n // Change the `labelImageMarker` to a `data`.\n events[index + 1][1].type = 'data'\n events[index + 3][1].type = 'gfmFootnoteCallLabelMarker' // The whole (without `!`):\n\n const call = {\n type: 'gfmFootnoteCall',\n start: Object.assign({}, events[index + 3][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n } // The `^` marker\n\n const marker = {\n type: 'gfmFootnoteCallMarker',\n start: Object.assign({}, events[index + 3][1].end),\n end: Object.assign({}, events[index + 3][1].end)\n } // Increment the end 1 character.\n\n marker.end.column++\n marker.end.offset++\n marker.end._bufferIndex++\n const string = {\n type: 'gfmFootnoteCallString',\n start: Object.assign({}, marker.end),\n end: Object.assign({}, events[events.length - 1][1].start)\n }\n const chunk = {\n type: 'chunkString',\n contentType: 'string',\n start: Object.assign({}, string.start),\n end: Object.assign({}, string.end)\n }\n /** @type {Array<Event>} */\n\n const replacement = [\n // Take the `labelImageMarker` (now `data`, the `!`)\n events[index + 1],\n events[index + 2],\n ['enter', call, context], // The `[`\n events[index + 3],\n events[index + 4], // The `^`.\n ['enter', marker, context],\n ['exit', marker, context], // Everything in between.\n ['enter', string, context],\n ['enter', chunk, context],\n ['exit', chunk, context],\n ['exit', string, context], // The ending (`]`, properly parsed and labelled).\n events[events.length - 2],\n events[events.length - 1],\n ['exit', call, context]\n ]\n events.splice(index, events.length - index + 1, ...replacement)\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeGfmFootnoteCall(effects, ok, nok) {\n const self = this\n /** @type {Array<string>} */\n // @ts-expect-error It’s fine!\n\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = [])\n let size = 0\n /** @type {boolean} */\n\n let data\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('gfmFootnoteCall')\n effects.enter('gfmFootnoteCallLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteCallLabelMarker')\n return callStart\n }\n /** @type {State} */\n\n function callStart(code) {\n if (code !== 94) return nok(code)\n effects.enter('gfmFootnoteCallMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteCallMarker')\n effects.enter('gfmFootnoteCallString')\n effects.enter('chunkString').contentType = 'string'\n return callData\n }\n /** @type {State} */\n\n function callData(code) {\n /** @type {Token} */\n let token\n\n if (code === null || code === 91 || size++ > 999) {\n return nok(code)\n }\n\n if (code === 93) {\n if (!data) {\n return nok(code)\n }\n\n effects.exit('chunkString')\n token = effects.exit('gfmFootnoteCallString')\n return defined.includes(normalizeIdentifier(self.sliceSerialize(token)))\n ? end(code)\n : nok(code)\n }\n\n effects.consume(code)\n\n if (!markdownLineEndingOrSpace(code)) {\n data = true\n }\n\n return code === 92 ? callEscape : callData\n }\n /** @type {State} */\n\n function callEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code)\n size++\n return callData\n }\n\n return callData(code)\n }\n /** @type {State} */\n\n function end(code) {\n effects.enter('gfmFootnoteCallLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteCallLabelMarker')\n effects.exit('gfmFootnoteCall')\n return ok\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeDefinitionStart(effects, ok, nok) {\n const self = this\n /** @type {Array<string>} */\n // @ts-expect-error It’s fine!\n\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = [])\n /** @type {string} */\n\n let identifier\n let size = 0\n /** @type {boolean|undefined} */\n\n let data\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('gfmFootnoteDefinition')._container = true\n effects.enter('gfmFootnoteDefinitionLabel')\n effects.enter('gfmFootnoteDefinitionLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteDefinitionLabelMarker')\n return labelStart\n }\n /** @type {State} */\n\n function labelStart(code) {\n if (code === 94) {\n effects.enter('gfmFootnoteDefinitionMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteDefinitionMarker')\n effects.enter('gfmFootnoteDefinitionLabelString')\n return atBreak\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function atBreak(code) {\n /** @type {Token} */\n let token\n\n if (code === null || code === 91 || size > 999) {\n return nok(code)\n }\n\n if (code === 93) {\n if (!data) {\n return nok(code)\n }\n\n token = effects.exit('gfmFootnoteDefinitionLabelString')\n identifier = normalizeIdentifier(self.sliceSerialize(token))\n effects.enter('gfmFootnoteDefinitionLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteDefinitionLabelMarker')\n effects.exit('gfmFootnoteDefinitionLabel')\n return labelAfter\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n size++\n return atBreak\n }\n\n effects.enter('chunkString').contentType = 'string'\n return label(code)\n }\n /** @type {State} */\n\n function label(code) {\n if (\n code === null ||\n markdownLineEnding(code) ||\n code === 91 ||\n code === 93 ||\n size > 999\n ) {\n effects.exit('chunkString')\n return atBreak(code)\n }\n\n if (!markdownLineEndingOrSpace(code)) {\n data = true\n }\n\n size++\n effects.consume(code)\n return code === 92 ? labelEscape : label\n }\n /** @type {State} */\n\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code)\n size++\n return label\n }\n\n return label(code)\n }\n /** @type {State} */\n\n function labelAfter(code) {\n if (code === 58) {\n effects.enter('definitionMarker')\n effects.consume(code)\n effects.exit('definitionMarker') // Any whitespace after the marker is eaten, forming indented code\n // is not possible.\n // No space is also fine, just like a block quote marker.\n\n return factorySpace(effects, done, 'gfmFootnoteDefinitionWhitespace')\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function done(code) {\n if (!defined.includes(identifier)) {\n defined.push(identifier)\n }\n\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeDefinitionContinuation(effects, ok, nok) {\n // Either a blank line, which is okay, or an indented thing.\n return effects.check(blankLine, ok, effects.attempt(indent, ok, nok))\n}\n/** @type {Exiter} */\n\nfunction gfmFootnoteDefinitionEnd(effects) {\n effects.exit('gfmFootnoteDefinition')\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeIndent(effects, ok, nok) {\n const self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'gfmFootnoteDefinitionIndent',\n 4 + 1\n )\n /** @type {State} */\n\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'gfmFootnoteDefinitionIndent' &&\n tail[2].sliceSerialize(tail[1], true).length === 4\n ? ok(code)\n : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Event} Event\n */\n\n/**\n * @typedef Options\n * Configuration (optional).\n * @property {boolean} [singleTilde=true]\n * Whether to support strikethrough with a single tilde (`boolean`, default:\n * `true`).\n * Single tildes work on github.com, but are technically prohibited by the\n * GFM spec.\n */\nimport {splice} from 'micromark-util-chunked'\nimport {classifyCharacter} from 'micromark-util-classify-character'\nimport {resolveAll} from 'micromark-util-resolve-all'\n\n/**\n * @param {Options} [options]\n * @returns {Extension}\n */\nexport function gfmStrikethrough(options = {}) {\n let single = options.singleTilde\n const tokenizer = {\n tokenize: tokenizeStrikethrough,\n resolveAll: resolveAllStrikethrough\n }\n\n if (single === null || single === undefined) {\n single = true\n }\n\n return {\n text: {\n [126]: tokenizer\n },\n insideSpan: {\n null: [tokenizer]\n },\n attentionMarkers: {\n null: [126]\n }\n }\n /**\n * Take events and resolve strikethrough.\n *\n * @type {Resolver}\n */\n\n function resolveAllStrikethrough(events, context) {\n let index = -1 // Walk through all events.\n\n while (++index < events.length) {\n // Find a token that can close.\n if (\n events[index][0] === 'enter' &&\n events[index][1].type === 'strikethroughSequenceTemporary' &&\n events[index][1]._close\n ) {\n let open = index // Now walk back to find an opener.\n\n while (open--) {\n // Find a token that can open the closer.\n if (\n events[open][0] === 'exit' &&\n events[open][1].type === 'strikethroughSequenceTemporary' &&\n events[open][1]._open && // If the sizes are the same:\n events[index][1].end.offset - events[index][1].start.offset ===\n events[open][1].end.offset - events[open][1].start.offset\n ) {\n events[index][1].type = 'strikethroughSequence'\n events[open][1].type = 'strikethroughSequence'\n const strikethrough = {\n type: 'strikethrough',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[index][1].end)\n }\n const text = {\n type: 'strikethroughText',\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n } // Opening.\n\n const nextEvents = [\n ['enter', strikethrough, context],\n ['enter', events[open][1], context],\n ['exit', events[open][1], context],\n ['enter', text, context]\n ] // Between.\n\n splice(\n nextEvents,\n nextEvents.length,\n 0,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + 1, index),\n context\n )\n ) // Closing.\n\n splice(nextEvents, nextEvents.length, 0, [\n ['exit', text, context],\n ['enter', events[index][1], context],\n ['exit', events[index][1], context],\n ['exit', strikethrough, context]\n ])\n splice(events, open - 1, index - open + 3, nextEvents)\n index = open + nextEvents.length - 2\n break\n }\n }\n }\n }\n\n index = -1\n\n while (++index < events.length) {\n if (events[index][1].type === 'strikethroughSequenceTemporary') {\n events[index][1].type = 'data'\n }\n }\n\n return events\n }\n /** @type {Tokenizer} */\n\n function tokenizeStrikethrough(effects, ok, nok) {\n const previous = this.previous\n const events = this.events\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n if (\n previous === 126 &&\n events[events.length - 1][1].type !== 'characterEscape'\n ) {\n return nok(code)\n }\n\n effects.enter('strikethroughSequenceTemporary')\n return more(code)\n }\n /** @type {State} */\n\n function more(code) {\n const before = classifyCharacter(previous)\n\n if (code === 126) {\n // If this is the third marker, exit.\n if (size > 1) return nok(code)\n effects.consume(code)\n size++\n return more\n }\n\n if (size < 2 && !single) return nok(code)\n const token = effects.exit('strikethroughSequenceTemporary')\n const after = classifyCharacter(code)\n token._open = !after || (after === 2 && Boolean(before))\n token._close = !before || (before === 2 && Boolean(after))\n return ok(code)\n }\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n */\n\n/**\n * @typedef {'left'|'center'|'right'|'none'} Align\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\n\n/** @type {Extension} */\nexport const gfmTable = {\n flow: {\n null: {\n tokenize: tokenizeTable,\n resolve: resolveTable\n }\n }\n}\nconst nextPrefixedOrBlank = {\n tokenize: tokenizeNextPrefixedOrBlank,\n partial: true\n}\n/** @type {Resolver} */\n\nfunction resolveTable(events, context) {\n let index = -1\n /** @type {boolean|undefined} */\n\n let inHead\n /** @type {boolean|undefined} */\n\n let inDelimiterRow\n /** @type {boolean|undefined} */\n\n let inRow\n /** @type {number|undefined} */\n\n let contentStart\n /** @type {number|undefined} */\n\n let contentEnd\n /** @type {number|undefined} */\n\n let cellStart\n /** @type {boolean|undefined} */\n\n let seenCellInRow\n\n while (++index < events.length) {\n const token = events[index][1]\n\n if (inRow) {\n if (token.type === 'temporaryTableCellContent') {\n contentStart = contentStart || index\n contentEnd = index\n }\n\n if (\n // Combine separate content parts into one.\n (token.type === 'tableCellDivider' || token.type === 'tableRow') &&\n contentEnd\n ) {\n const content = {\n type: 'tableContent',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end\n }\n /** @type {Token} */\n\n const text = {\n type: 'chunkText',\n start: content.start,\n end: content.end,\n // @ts-expect-error It’s fine.\n contentType: 'text'\n }\n events.splice(\n contentStart,\n contentEnd - contentStart + 1,\n ['enter', content, context],\n ['enter', text, context],\n ['exit', text, context],\n ['exit', content, context]\n )\n index -= contentEnd - contentStart - 3\n contentStart = undefined\n contentEnd = undefined\n }\n }\n\n if (\n events[index][0] === 'exit' &&\n cellStart !== undefined &&\n cellStart + (seenCellInRow ? 0 : 1) < index &&\n (token.type === 'tableCellDivider' ||\n (token.type === 'tableRow' &&\n (cellStart + 3 < index ||\n events[cellStart][1].type !== 'whitespace')))\n ) {\n const cell = {\n type: inDelimiterRow\n ? 'tableDelimiter'\n : inHead\n ? 'tableHeader'\n : 'tableData',\n start: events[cellStart][1].start,\n end: events[index][1].end\n }\n events.splice(index + (token.type === 'tableCellDivider' ? 1 : 0), 0, [\n 'exit',\n cell,\n context\n ])\n events.splice(cellStart, 0, ['enter', cell, context])\n index += 2\n cellStart = index + 1\n seenCellInRow = true\n }\n\n if (token.type === 'tableRow') {\n inRow = events[index][0] === 'enter'\n\n if (inRow) {\n cellStart = index + 1\n seenCellInRow = false\n }\n }\n\n if (token.type === 'tableDelimiterRow') {\n inDelimiterRow = events[index][0] === 'enter'\n\n if (inDelimiterRow) {\n cellStart = index + 1\n seenCellInRow = false\n }\n }\n\n if (token.type === 'tableHead') {\n inHead = events[index][0] === 'enter'\n }\n }\n\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeTable(effects, ok, nok) {\n const self = this\n /** @type {Array<Align>} */\n\n const align = []\n let tableHeaderCount = 0\n /** @type {boolean|undefined} */\n\n let seenDelimiter\n /** @type {boolean|undefined} */\n\n let hasDash\n return start\n /** @type {State} */\n\n function start(code) {\n // @ts-expect-error Custom.\n effects.enter('table')._align = align\n effects.enter('tableHead')\n effects.enter('tableRow') // If we start with a pipe, we open a cell marker.\n\n if (code === 124) {\n return cellDividerHead(code)\n }\n\n tableHeaderCount++\n effects.enter('temporaryTableCellContent') // Can’t be space or eols at the start of a construct, so we’re in a cell.\n\n return inCellContentHead(code)\n }\n /** @type {State} */\n\n function cellDividerHead(code) {\n effects.enter('tableCellDivider')\n effects.consume(code)\n effects.exit('tableCellDivider')\n seenDelimiter = true\n return cellBreakHead\n }\n /** @type {State} */\n\n function cellBreakHead(code) {\n if (code === null || markdownLineEnding(code)) {\n return atRowEndHead(code)\n }\n\n if (markdownSpace(code)) {\n effects.enter('whitespace')\n effects.consume(code)\n return inWhitespaceHead\n }\n\n if (seenDelimiter) {\n seenDelimiter = undefined\n tableHeaderCount++\n }\n\n if (code === 124) {\n return cellDividerHead(code)\n } // Anything else is cell content.\n\n effects.enter('temporaryTableCellContent')\n return inCellContentHead(code)\n }\n /** @type {State} */\n\n function inWhitespaceHead(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return inWhitespaceHead\n }\n\n effects.exit('whitespace')\n return cellBreakHead(code)\n }\n /** @type {State} */\n\n function inCellContentHead(code) {\n // EOF, whitespace, pipe\n if (code === null || code === 124 || markdownLineEndingOrSpace(code)) {\n effects.exit('temporaryTableCellContent')\n return cellBreakHead(code)\n }\n\n effects.consume(code)\n return code === 92 ? inCellContentEscapeHead : inCellContentHead\n }\n /** @type {State} */\n\n function inCellContentEscapeHead(code) {\n if (code === 92 || code === 124) {\n effects.consume(code)\n return inCellContentHead\n } // Anything else.\n\n return inCellContentHead(code)\n }\n /** @type {State} */\n\n function atRowEndHead(code) {\n if (code === null) {\n return nok(code)\n }\n\n effects.exit('tableRow')\n effects.exit('tableHead')\n const originalInterrupt = self.interrupt\n self.interrupt = true\n return effects.attempt(\n {\n tokenize: tokenizeRowEnd,\n partial: true\n },\n function (code) {\n self.interrupt = originalInterrupt\n effects.enter('tableDelimiterRow')\n return atDelimiterRowBreak(code)\n },\n function (code) {\n self.interrupt = originalInterrupt\n return nok(code)\n }\n )(code)\n }\n /** @type {State} */\n\n function atDelimiterRowBreak(code) {\n if (code === null || markdownLineEnding(code)) {\n return rowEndDelimiter(code)\n }\n\n if (markdownSpace(code)) {\n effects.enter('whitespace')\n effects.consume(code)\n return inWhitespaceDelimiter\n }\n\n if (code === 45) {\n effects.enter('tableDelimiterFiller')\n effects.consume(code)\n hasDash = true\n align.push('none')\n return inFillerDelimiter\n }\n\n if (code === 58) {\n effects.enter('tableDelimiterAlignment')\n effects.consume(code)\n effects.exit('tableDelimiterAlignment')\n align.push('left')\n return afterLeftAlignment\n } // If we start with a pipe, we open a cell marker.\n\n if (code === 124) {\n effects.enter('tableCellDivider')\n effects.consume(code)\n effects.exit('tableCellDivider')\n return atDelimiterRowBreak\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function inWhitespaceDelimiter(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return inWhitespaceDelimiter\n }\n\n effects.exit('whitespace')\n return atDelimiterRowBreak(code)\n }\n /** @type {State} */\n\n function inFillerDelimiter(code) {\n if (code === 45) {\n effects.consume(code)\n return inFillerDelimiter\n }\n\n effects.exit('tableDelimiterFiller')\n\n if (code === 58) {\n effects.enter('tableDelimiterAlignment')\n effects.consume(code)\n effects.exit('tableDelimiterAlignment')\n align[align.length - 1] =\n align[align.length - 1] === 'left' ? 'center' : 'right'\n return afterRightAlignment\n }\n\n return atDelimiterRowBreak(code)\n }\n /** @type {State} */\n\n function afterLeftAlignment(code) {\n if (code === 45) {\n effects.enter('tableDelimiterFiller')\n effects.consume(code)\n hasDash = true\n return inFillerDelimiter\n } // Anything else is not ok.\n\n return nok(code)\n }\n /** @type {State} */\n\n function afterRightAlignment(code) {\n if (code === null || markdownLineEnding(code)) {\n return rowEndDelimiter(code)\n }\n\n if (markdownSpace(code)) {\n effects.enter('whitespace')\n effects.consume(code)\n return inWhitespaceDelimiter\n } // `|`\n\n if (code === 124) {\n effects.enter('tableCellDivider')\n effects.consume(code)\n effects.exit('tableCellDivider')\n return atDelimiterRowBreak\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function rowEndDelimiter(code) {\n effects.exit('tableDelimiterRow') // Exit if there was no dash at all, or if the header cell count is not the\n // delimiter cell count.\n\n if (!hasDash || tableHeaderCount !== align.length) {\n return nok(code)\n }\n\n if (code === null) {\n return tableClose(code)\n }\n\n return effects.check(\n nextPrefixedOrBlank,\n tableClose,\n effects.attempt(\n {\n tokenize: tokenizeRowEnd,\n partial: true\n },\n factorySpace(effects, bodyStart, 'linePrefix', 4),\n tableClose\n )\n )(code)\n }\n /** @type {State} */\n\n function tableClose(code) {\n effects.exit('table')\n return ok(code)\n }\n /** @type {State} */\n\n function bodyStart(code) {\n effects.enter('tableBody')\n return rowStartBody(code)\n }\n /** @type {State} */\n\n function rowStartBody(code) {\n effects.enter('tableRow') // If we start with a pipe, we open a cell marker.\n\n if (code === 124) {\n return cellDividerBody(code)\n }\n\n effects.enter('temporaryTableCellContent') // Can’t be space or eols at the start of a construct, so we’re in a cell.\n\n return inCellContentBody(code)\n }\n /** @type {State} */\n\n function cellDividerBody(code) {\n effects.enter('tableCellDivider')\n effects.consume(code)\n effects.exit('tableCellDivider')\n return cellBreakBody\n }\n /** @type {State} */\n\n function cellBreakBody(code) {\n if (code === null || markdownLineEnding(code)) {\n return atRowEndBody(code)\n }\n\n if (markdownSpace(code)) {\n effects.enter('whitespace')\n effects.consume(code)\n return inWhitespaceBody\n } // `|`\n\n if (code === 124) {\n return cellDividerBody(code)\n } // Anything else is cell content.\n\n effects.enter('temporaryTableCellContent')\n return inCellContentBody(code)\n }\n /** @type {State} */\n\n function inWhitespaceBody(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return inWhitespaceBody\n }\n\n effects.exit('whitespace')\n return cellBreakBody(code)\n }\n /** @type {State} */\n\n function inCellContentBody(code) {\n // EOF, whitespace, pipe\n if (code === null || code === 124 || markdownLineEndingOrSpace(code)) {\n effects.exit('temporaryTableCellContent')\n return cellBreakBody(code)\n }\n\n effects.consume(code)\n return code === 92 ? inCellContentEscapeBody : inCellContentBody\n }\n /** @type {State} */\n\n function inCellContentEscapeBody(code) {\n if (code === 92 || code === 124) {\n effects.consume(code)\n return inCellContentBody\n } // Anything else.\n\n return inCellContentBody(code)\n }\n /** @type {State} */\n\n function atRowEndBody(code) {\n effects.exit('tableRow')\n\n if (code === null) {\n return tableBodyClose(code)\n }\n\n return effects.check(\n nextPrefixedOrBlank,\n tableBodyClose,\n effects.attempt(\n {\n tokenize: tokenizeRowEnd,\n partial: true\n },\n factorySpace(effects, rowStartBody, 'linePrefix', 4),\n tableBodyClose\n )\n )(code)\n }\n /** @type {State} */\n\n function tableBodyClose(code) {\n effects.exit('tableBody')\n return tableClose(code)\n }\n /** @type {Tokenizer} */\n\n function tokenizeRowEnd(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, prefixed, 'linePrefix')\n }\n /** @type {State} */\n\n function prefixed(code) {\n // Blank or interrupting line.\n if (\n self.parser.lazy[self.now().line] ||\n code === null ||\n markdownLineEnding(code)\n ) {\n return nok(code)\n }\n\n const tail = self.events[self.events.length - 1] // Indented code can interrupt delimiter and body rows.\n\n if (\n !self.parser.constructs.disable.null.includes('codeIndented') &&\n tail &&\n tail[1].type === 'linePrefix' &&\n tail[2].sliceSerialize(tail[1], true).length >= 4\n ) {\n return nok(code)\n }\n\n self._gfmTableDynamicInterruptHack = true\n return effects.check(\n self.parser.constructs.flow,\n function (code) {\n self._gfmTableDynamicInterruptHack = false\n return nok(code)\n },\n function (code) {\n self._gfmTableDynamicInterruptHack = false\n return ok(code)\n }\n )(code)\n }\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeNextPrefixedOrBlank(effects, ok, nok) {\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n // This is a check, so we don’t care about tokens, but we open a bogus one\n // so we’re valid.\n effects.enter('check') // EOL.\n\n effects.consume(code)\n return whitespace\n }\n /** @type {State} */\n\n function whitespace(code) {\n if (code === -1 || code === 32) {\n effects.consume(code)\n size++\n return size === 4 ? ok : whitespace\n } // EOF or whitespace\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n return ok(code)\n } // Anything else.\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Previous} Previous\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEndingOrSpace,\n markdownLineEnding\n} from 'micromark-util-character'\nconst tasklistCheck = {\n tokenize: tokenizeTasklistCheck\n}\nexport const gfmTaskListItem = {\n text: {\n [91]: tasklistCheck\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeTasklistCheck(effects, ok, nok) {\n const self = this\n return open\n /** @type {State} */\n\n function open(code) {\n if (\n // Exit if there’s stuff before.\n self.previous !== null || // Exit if not in the first content that is the first child of a list\n // item.\n !self._gfmTasklistFirstContentOfListItem\n ) {\n return nok(code)\n }\n\n effects.enter('taskListCheck')\n effects.enter('taskListCheckMarker')\n effects.consume(code)\n effects.exit('taskListCheckMarker')\n return inside\n }\n /** @type {State} */\n\n function inside(code) {\n // To match how GH works in comments, use `markdownSpace` (`[ \\t]`) instead\n // of `markdownLineEndingOrSpace` (`[ \\t\\r\\n]`).\n if (markdownLineEndingOrSpace(code)) {\n effects.enter('taskListCheckValueUnchecked')\n effects.consume(code)\n effects.exit('taskListCheckValueUnchecked')\n return close\n }\n\n if (code === 88 || code === 120) {\n effects.enter('taskListCheckValueChecked')\n effects.consume(code)\n effects.exit('taskListCheckValueChecked')\n return close\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function close(code) {\n if (code === 93) {\n effects.enter('taskListCheckMarker')\n effects.consume(code)\n effects.exit('taskListCheckMarker')\n effects.exit('taskListCheck')\n return effects.check(\n {\n tokenize: spaceThenNonSpace\n },\n ok,\n nok\n )\n }\n\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction spaceThenNonSpace(effects, ok, nok) {\n const self = this\n return factorySpace(effects, after, 'whitespace')\n /** @type {State} */\n\n function after(code) {\n const tail = self.events[self.events.length - 1]\n return (\n // We either found spaces…\n ((tail && tail[1].type === 'whitespace') || // …or it was followed by a line ending, in which case, there has to be\n // non-whitespace after that line ending, because otherwise we’d get an\n // EOF as the content is closed with blank lines.\n markdownLineEnding(code)) &&\n code !== null\n ? ok(code)\n : nok(code)\n )\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension\n * @typedef {import('micromark-extension-gfm-strikethrough').Options} Options\n * @typedef {import('micromark-extension-gfm-footnote').HtmlOptions} HtmlOptions\n */\n\nimport {\n combineExtensions,\n combineHtmlExtensions\n} from 'micromark-util-combine-extensions'\nimport {\n gfmAutolinkLiteral,\n gfmAutolinkLiteralHtml\n} from 'micromark-extension-gfm-autolink-literal'\nimport {gfmFootnote, gfmFootnoteHtml} from 'micromark-extension-gfm-footnote'\nimport {\n gfmStrikethrough,\n gfmStrikethroughHtml\n} from 'micromark-extension-gfm-strikethrough'\nimport {gfmTable, gfmTableHtml} from 'micromark-extension-gfm-table'\nimport {gfmTagfilterHtml} from 'micromark-extension-gfm-tagfilter'\nimport {\n gfmTaskListItem,\n gfmTaskListItemHtml\n} from 'micromark-extension-gfm-task-list-item'\n\n/**\n * Support GFM or markdown on github.com.\n *\n * @param {Options} [options]\n * @returns {Extension}\n */\nexport function gfm(options) {\n return combineExtensions([\n gfmAutolinkLiteral,\n gfmFootnote(),\n gfmStrikethrough(options),\n gfmTable,\n gfmTaskListItem\n ])\n}\n\n/**\n * Support to compile GFM to HTML.\n *\n * @param {HtmlOptions} [options]\n * @returns {HtmlExtension}\n */\nexport function gfmHtml(options) {\n return combineHtmlExtensions([\n gfmAutolinkLiteralHtml,\n gfmFootnoteHtml(options),\n gfmStrikethroughHtml,\n gfmTableHtml,\n gfmTagfilterHtml,\n gfmTaskListItemHtml\n ])\n}\n","/**\n * Count how often a character (or substring) is used in a string.\n *\n * @param {string} value\n * Value to search in.\n * @param {string} character\n * Character (or substring) to look for.\n * @return {number}\n * Number of times `character` occurred in `value`.\n */\nexport function ccount(value, character) {\n const source = String(value)\n\n if (typeof character !== 'string') {\n throw new TypeError('Expected character')\n }\n\n let count = 0\n let index = source.indexOf(character)\n\n while (index !== -1) {\n count++\n index = source.indexOf(character, index + character.length)\n }\n\n return count\n}\n","/**\n * @typedef Options\n * Configuration (optional).\n * @property {Test} [ignore]\n * `unist-util-is` test used to assert parents\n *\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').Content} Content\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n * @typedef {import('mdast').Text} Text\n * @typedef {Content|Root} Node\n * @typedef {Exclude<Extract<Node, import('mdast').Parent>, Root>} Parent\n *\n * @typedef {import('unist-util-visit-parents').Test} Test\n * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult\n *\n * @typedef RegExpMatchObject\n * @property {number} index\n * @property {string} input\n * @property {[Root, ...Array<Parent>, Text]} stack\n *\n * @typedef {string|RegExp} Find\n * @typedef {string|ReplaceFunction} Replace\n *\n * @typedef {[Find, Replace]} FindAndReplaceTuple\n * @typedef {Record<string, Replace>} FindAndReplaceSchema\n * @typedef {Array<FindAndReplaceTuple>} FindAndReplaceList\n *\n * @typedef {[RegExp, ReplaceFunction]} Pair\n * @typedef {Array<Pair>} Pairs\n */\n\n/**\n * @callback ReplaceFunction\n * @param {...any} parameters\n * @returns {Array<PhrasingContent>|PhrasingContent|string|false|undefined|null}\n */\n\nimport escape from 'escape-string-regexp'\nimport {visitParents} from 'unist-util-visit-parents'\nimport {convert} from 'unist-util-is'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param tree mdast tree\n * @param find Value to find and remove. When `string`, escaped and made into a global `RegExp`\n * @param [replace] Value to insert.\n * * When `string`, turned into a Text node.\n * * When `Function`, called with the results of calling `RegExp.exec` as\n * arguments, in which case it can return a single or a list of `Node`,\n * a `string` (which is wrapped in a `Text` node), or `false` to not replace\n * @param [options] Configuration.\n */\nexport const findAndReplace =\n /**\n * @type {(\n * ((tree: Node, find: Find, replace?: Replace, options?: Options) => Node) &\n * ((tree: Node, schema: FindAndReplaceSchema|FindAndReplaceList, options?: Options) => Node)\n * )}\n **/\n (\n /**\n * @param {Node} tree\n * @param {Find|FindAndReplaceSchema|FindAndReplaceList} find\n * @param {Replace|Options} [replace]\n * @param {Options} [options]\n */\n function (tree, find, replace, options) {\n /** @type {Options|undefined} */\n let settings\n /** @type {FindAndReplaceSchema|FindAndReplaceList} */\n let schema\n\n if (typeof find === 'string' || find instanceof RegExp) {\n // @ts-expect-error don’t expect options twice.\n schema = [[find, replace]]\n settings = options\n } else {\n schema = find\n // @ts-expect-error don’t expect replace twice.\n settings = replace\n }\n\n if (!settings) {\n settings = {}\n }\n\n const ignored = convert(settings.ignore || [])\n const pairs = toPairs(schema)\n let pairIndex = -1\n\n while (++pairIndex < pairs.length) {\n visitParents(tree, 'text', visitor)\n }\n\n return tree\n\n /** @type {import('unist-util-visit-parents/complex-types').BuildVisitor<Root, 'text'>} */\n function visitor(node, parents) {\n let index = -1\n /** @type {Parent|undefined} */\n let grandparent\n\n while (++index < parents.length) {\n const parent = /** @type {Parent} */ (parents[index])\n\n if (\n ignored(\n parent,\n // @ts-expect-error mdast vs. unist parent.\n grandparent ? grandparent.children.indexOf(parent) : undefined,\n grandparent\n )\n ) {\n return\n }\n\n grandparent = parent\n }\n\n if (grandparent) {\n // @ts-expect-error: stack is fine.\n return handler(node, parents)\n }\n }\n\n /**\n * @param {Text} node\n * @param {[Root, ...Array<Parent>]} parents\n * @returns {VisitorResult}\n */\n function handler(node, parents) {\n const parent = parents[parents.length - 1]\n const find = pairs[pairIndex][0]\n const replace = pairs[pairIndex][1]\n let start = 0\n // @ts-expect-error: TS is wrong, some of these children can be text.\n const index = parent.children.indexOf(node)\n let change = false\n /** @type {Array<PhrasingContent>} */\n let nodes = []\n /** @type {number|undefined} */\n let position\n\n find.lastIndex = 0\n\n let match = find.exec(node.value)\n\n while (match) {\n position = match.index\n /** @type {RegExpMatchObject} */\n const matchObject = {\n index: match.index,\n input: match.input,\n stack: [...parents, node]\n }\n let value = replace(...match, matchObject)\n\n if (typeof value === 'string') {\n value = value.length > 0 ? {type: 'text', value} : undefined\n }\n\n if (value !== false) {\n if (start !== position) {\n nodes.push({\n type: 'text',\n value: node.value.slice(start, position)\n })\n }\n\n if (Array.isArray(value)) {\n nodes.push(...value)\n } else if (value) {\n nodes.push(value)\n }\n\n start = position + match[0].length\n change = true\n }\n\n if (!find.global) {\n break\n }\n\n match = find.exec(node.value)\n }\n\n if (change) {\n if (start < node.value.length) {\n nodes.push({type: 'text', value: node.value.slice(start)})\n }\n\n parent.children.splice(index, 1, ...nodes)\n } else {\n nodes = [node]\n }\n\n return index + nodes.length\n }\n }\n )\n\n/**\n * @param {FindAndReplaceSchema|FindAndReplaceList} schema\n * @returns {Pairs}\n */\nfunction toPairs(schema) {\n /** @type {Pairs} */\n const result = []\n\n if (typeof schema !== 'object') {\n throw new TypeError('Expected array or object as schema')\n }\n\n if (Array.isArray(schema)) {\n let index = -1\n\n while (++index < schema.length) {\n result.push([\n toExpression(schema[index][0]),\n toFunction(schema[index][1])\n ])\n }\n } else {\n /** @type {string} */\n let key\n\n for (key in schema) {\n if (own.call(schema, key)) {\n result.push([toExpression(key), toFunction(schema[key])])\n }\n }\n }\n\n return result\n}\n\n/**\n * @param {Find} find\n * @returns {RegExp}\n */\nfunction toExpression(find) {\n return typeof find === 'string' ? new RegExp(escape(find), 'g') : find\n}\n\n/**\n * @param {Replace} replace\n * @returns {ReplaceFunction}\n */\nfunction toFunction(replace) {\n return typeof replace === 'function' ? replace : () => replace\n}\n","export default function escapeStringRegexp(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\n}\n","/**\n * @typedef {import('mdast').Link} Link\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Transform} FromMarkdownTransform\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-to-markdown/lib/types.js').Options} ToMarkdownExtension\n * @typedef {import('mdast-util-find-and-replace').ReplaceFunction} ReplaceFunction\n * @typedef {import('mdast-util-find-and-replace').RegExpMatchObject} RegExpMatchObject\n * @typedef {import('mdast-util-find-and-replace').PhrasingContent} PhrasingContent\n */\n\nimport {ccount} from 'ccount'\nimport {findAndReplace} from 'mdast-util-find-and-replace'\nimport {unicodePunctuation, unicodeWhitespace} from 'micromark-util-character'\n\nconst inConstruct = 'phrasing'\nconst notInConstruct = ['autolink', 'link', 'image', 'label']\n\n/** @type {FromMarkdownExtension} */\nexport const gfmAutolinkLiteralFromMarkdown = {\n transforms: [transformGfmAutolinkLiterals],\n enter: {\n literalAutolink: enterLiteralAutolink,\n literalAutolinkEmail: enterLiteralAutolinkValue,\n literalAutolinkHttp: enterLiteralAutolinkValue,\n literalAutolinkWww: enterLiteralAutolinkValue\n },\n exit: {\n literalAutolink: exitLiteralAutolink,\n literalAutolinkEmail: exitLiteralAutolinkEmail,\n literalAutolinkHttp: exitLiteralAutolinkHttp,\n literalAutolinkWww: exitLiteralAutolinkWww\n }\n}\n\n/** @type {ToMarkdownExtension} */\nexport const gfmAutolinkLiteralToMarkdown = {\n unsafe: [\n {\n character: '@',\n before: '[+\\\\-.\\\\w]',\n after: '[\\\\-.\\\\w]',\n inConstruct,\n notInConstruct\n },\n {\n character: '.',\n before: '[Ww]',\n after: '[\\\\-.\\\\w]',\n inConstruct,\n notInConstruct\n },\n {character: ':', before: '[ps]', after: '\\\\/', inConstruct, notInConstruct}\n ]\n}\n\n/** @type {FromMarkdownHandle} */\nfunction enterLiteralAutolink(token) {\n this.enter({type: 'link', title: null, url: '', children: []}, token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction enterLiteralAutolinkValue(token) {\n this.config.enter.autolinkProtocol.call(this, token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitLiteralAutolinkHttp(token) {\n this.config.exit.autolinkProtocol.call(this, token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitLiteralAutolinkWww(token) {\n this.config.exit.data.call(this, token)\n const node = /** @type {Link} */ (this.stack[this.stack.length - 1])\n node.url = 'http://' + this.sliceSerialize(token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitLiteralAutolinkEmail(token) {\n this.config.exit.autolinkEmail.call(this, token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitLiteralAutolink(token) {\n this.exit(token)\n}\n\n/** @type {FromMarkdownTransform} */\nfunction transformGfmAutolinkLiterals(tree) {\n findAndReplace(\n tree,\n [\n [/(https?:\\/\\/|www(?=\\.))([-.\\w]+)([^ \\t\\r\\n]*)/gi, findUrl],\n [/([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)/g, findEmail]\n ],\n {ignore: ['link', 'linkReference']}\n )\n}\n\n/**\n * @type {ReplaceFunction}\n * @param {string} _\n * @param {string} protocol\n * @param {string} domain\n * @param {string} path\n * @param {RegExpMatchObject} match\n */\n// eslint-disable-next-line max-params\nfunction findUrl(_, protocol, domain, path, match) {\n let prefix = ''\n\n // Not an expected previous character.\n if (!previous(match)) {\n return false\n }\n\n // Treat `www` as part of the domain.\n if (/^w/i.test(protocol)) {\n domain = protocol + domain\n protocol = ''\n prefix = 'http://'\n }\n\n if (!isCorrectDomain(domain)) {\n return false\n }\n\n const parts = splitUrl(domain + path)\n\n if (!parts[0]) return false\n\n /** @type {PhrasingContent} */\n const result = {\n type: 'link',\n title: null,\n url: prefix + protocol + parts[0],\n children: [{type: 'text', value: protocol + parts[0]}]\n }\n\n if (parts[1]) {\n return [result, {type: 'text', value: parts[1]}]\n }\n\n return result\n}\n\n/**\n * @type {ReplaceFunction}\n * @param {string} _\n * @param {string} atext\n * @param {string} label\n * @param {RegExpMatchObject} match\n */\nfunction findEmail(_, atext, label, match) {\n if (\n // Not an expected previous character.\n !previous(match, true) ||\n // Label ends in not allowed character.\n /[_-\\d]$/.test(label)\n ) {\n return false\n }\n\n return {\n type: 'link',\n title: null,\n url: 'mailto:' + atext + '@' + label,\n children: [{type: 'text', value: atext + '@' + label}]\n }\n}\n\n/**\n * @param {string} domain\n * @returns {boolean}\n */\nfunction isCorrectDomain(domain) {\n const parts = domain.split('.')\n\n if (\n parts.length < 2 ||\n (parts[parts.length - 1] &&\n (/_/.test(parts[parts.length - 1]) ||\n !/[a-zA-Z\\d]/.test(parts[parts.length - 1]))) ||\n (parts[parts.length - 2] &&\n (/_/.test(parts[parts.length - 2]) ||\n !/[a-zA-Z\\d]/.test(parts[parts.length - 2])))\n ) {\n return false\n }\n\n return true\n}\n\n/**\n * @param {string} url\n * @returns {[string, string|undefined]}\n */\nfunction splitUrl(url) {\n const trailExec = /[!\"&'),.:;<>?\\]}]+$/.exec(url)\n /** @type {number} */\n let closingParenIndex\n /** @type {number} */\n let openingParens\n /** @type {number} */\n let closingParens\n /** @type {string|undefined} */\n let trail\n\n if (trailExec) {\n url = url.slice(0, trailExec.index)\n trail = trailExec[0]\n closingParenIndex = trail.indexOf(')')\n openingParens = ccount(url, '(')\n closingParens = ccount(url, ')')\n\n while (closingParenIndex !== -1 && openingParens > closingParens) {\n url += trail.slice(0, closingParenIndex + 1)\n trail = trail.slice(closingParenIndex + 1)\n closingParenIndex = trail.indexOf(')')\n closingParens++\n }\n }\n\n return [url, trail]\n}\n\n/**\n * @param {RegExpMatchObject} match\n * @param {boolean} [email=false]\n * @returns {boolean}\n */\nfunction previous(match, email) {\n const code = match.input.charCodeAt(match.index - 1)\n\n return (\n (match.index === 0 ||\n unicodeWhitespace(code) ||\n unicodePunctuation(code)) &&\n (!email || code !== 47)\n )\n}\n","/**\n * @typedef {import('mdast').Association} Association\n */\n\nimport {decodeString} from 'micromark-util-decode-string'\n\n/**\n * The `label` of an association is the string value: character escapes and\n * references work, and casing is intact.\n * The `identifier` is used to match one association to another: controversially,\n * character escapes and references don’t work in this matching: `©` does\n * not match `©`, and `\\+` does not match `+`.\n * But casing is ignored (and whitespace) is trimmed and collapsed: ` A\\nb`\n * matches `a b`.\n * So, we do prefer the label when figuring out how we’re going to serialize:\n * it has whitespace, casing, and we can ignore most useless character escapes\n * and all character references.\n *\n * @param {Association} node\n * @returns {string}\n */\nexport function association(node) {\n if (node.label || !node.identifier) {\n return node.label || ''\n }\n\n return decodeString(node.identifier)\n}\n","/**\n * @typedef {import('unist').Point} Point\n * @typedef {import('../types.js').TrackFields} TrackFields\n */\n\n/**\n * Functions to track output positions.\n * This info isn’t used yet but suchs functionality allows line wrapping,\n * and theoretically source maps (though, is there practical use in that?).\n *\n * @param {TrackFields} options_\n */\nexport function track(options_) {\n // Defaults are used to prevent crashes when older utilities somehow activate\n // this code.\n /* c8 ignore next 5 */\n const options = options_ || {}\n const now = options.now || {}\n let lineShift = options.lineShift || 0\n let line = now.line || 1\n let column = now.column || 1\n\n return {move, current, shift}\n\n /**\n * Get the current tracked info.\n *\n * @returns {{now: Point, lineShift: number}}\n */\n function current() {\n return {now: {line, column}, lineShift}\n }\n\n /**\n * Define an increased line shift (the typical indent for lines).\n *\n * @param {number} value\n */\n function shift(value) {\n lineShift += value\n }\n\n /**\n * Move past a string.\n *\n * @param {string} value\n * @returns {string}\n */\n function move(value = '') {\n const chunks = value.split(/\\r?\\n|\\r/g)\n const tail = chunks[chunks.length - 1]\n line += chunks.length - 1\n column =\n chunks.length === 1 ? column + tail.length : 1 + tail.length + lineShift\n return value\n }\n}\n","/**\n * @typedef {import('../types.js').Node} Node\n * @typedef {import('../types.js').Parent} Parent\n * @typedef {import('../types.js').Join} Join\n * @typedef {import('../types.js').Context} Context\n * @typedef {import('../types.js').TrackFields} TrackFields\n */\n\nimport {track} from './track.js'\n\n/**\n * @param {Parent} parent\n * @param {Context} context\n * @param {TrackFields} safeOptions\n * @returns {string}\n */\nexport function containerFlow(parent, context, safeOptions) {\n const indexStack = context.indexStack\n const children = parent.children || []\n const tracker = track(safeOptions)\n /** @type {Array<string>} */\n const results = []\n let index = -1\n\n indexStack.push(-1)\n\n while (++index < children.length) {\n const child = children[index]\n\n indexStack[indexStack.length - 1] = index\n\n results.push(\n tracker.move(\n context.handle(child, parent, context, {\n before: '\\n',\n after: '\\n',\n ...tracker.current()\n })\n )\n )\n\n if (child.type !== 'list') {\n context.bulletLastUsed = undefined\n }\n\n if (index < children.length - 1) {\n results.push(tracker.move(between(child, children[index + 1])))\n }\n }\n\n indexStack.pop()\n\n return results.join('')\n\n /**\n * @param {Node} left\n * @param {Node} right\n * @returns {string}\n */\n function between(left, right) {\n let index = context.join.length\n\n while (index--) {\n const result = context.join[index](left, right, parent, context)\n\n if (result === true || result === 1) {\n break\n }\n\n if (typeof result === 'number') {\n return '\\n'.repeat(1 + result)\n }\n\n if (result === false) {\n return '\\n\\n<!---->\\n\\n'\n }\n }\n\n return '\\n\\n'\n }\n}\n","/**\n * @callback Map\n * @param {string} value\n * @param {number} line\n * @param {boolean} blank\n * @returns {string}\n */\n\nconst eol = /\\r?\\n|\\r/g\n\n/**\n * @param {string} value\n * @param {Map} map\n * @returns {string}\n */\nexport function indentLines(value, map) {\n /** @type {Array<string>} */\n const result = []\n let start = 0\n let line = 0\n /** @type {RegExpExecArray|null} */\n let match\n\n while ((match = eol.exec(value))) {\n one(value.slice(start, match.index))\n result.push(match[0])\n start = match.index + match[0].length\n line++\n }\n\n one(value.slice(start))\n\n return result.join('')\n\n /**\n * @param {string} value\n */\n function one(value) {\n result.push(map(value, line, !value))\n }\n}\n","/**\n * @typedef {import('../types.js').Unsafe} Unsafe\n */\n\n/**\n * @param {Unsafe} pattern\n * @returns {RegExp}\n */\nexport function patternCompile(pattern) {\n if (!pattern._compiled) {\n const before =\n (pattern.atBreak ? '[\\\\r\\\\n][\\\\t ]*' : '') +\n (pattern.before ? '(?:' + pattern.before + ')' : '')\n\n pattern._compiled = new RegExp(\n (before ? '(' + before + ')' : '') +\n (/[|\\\\{}()[\\]^$+*?.-]/.test(pattern.character) ? '\\\\' : '') +\n pattern.character +\n (pattern.after ? '(?:' + pattern.after + ')' : ''),\n 'g'\n )\n }\n\n return pattern._compiled\n}\n","/**\n * @typedef {import('../types.js').Unsafe} Unsafe\n */\n\n/**\n * @param {Array<string>} stack\n * @param {Unsafe} pattern\n * @returns {boolean}\n */\nexport function patternInScope(stack, pattern) {\n return (\n listInScope(stack, pattern.inConstruct, true) &&\n !listInScope(stack, pattern.notInConstruct, false)\n )\n}\n\n/**\n * @param {Array<string>} stack\n * @param {Unsafe['inConstruct']} list\n * @param {boolean} none\n * @returns {boolean}\n */\nfunction listInScope(stack, list, none) {\n if (!list) {\n return none\n }\n\n if (typeof list === 'string') {\n list = [list]\n }\n\n let index = -1\n\n while (++index < list.length) {\n if (stack.includes(list[index])) {\n return true\n }\n }\n\n return false\n}\n","/**\n * @typedef {import('../types.js').Context} Context\n * @typedef {import('../types.js').SafeOptions} SafeOptions\n */\n\nimport {patternCompile} from './pattern-compile.js'\nimport {patternInScope} from './pattern-in-scope.js'\n\n/**\n * @param {Context} context\n * @param {string|null|undefined} input\n * @param {SafeOptions & {encode?: Array<string>}} config\n * @returns {string}\n */\nexport function safe(context, input, config) {\n const value = (config.before || '') + (input || '') + (config.after || '')\n /** @type {Array<number>} */\n const positions = []\n /** @type {Array<string>} */\n const result = []\n /** @type {Record<number, {before: boolean, after: boolean}>} */\n const infos = {}\n let index = -1\n\n while (++index < context.unsafe.length) {\n const pattern = context.unsafe[index]\n\n if (!patternInScope(context.stack, pattern)) {\n continue\n }\n\n const expression = patternCompile(pattern)\n /** @type {RegExpExecArray|null} */\n let match\n\n while ((match = expression.exec(value))) {\n const before = 'before' in pattern || Boolean(pattern.atBreak)\n const after = 'after' in pattern\n const position = match.index + (before ? match[1].length : 0)\n\n if (positions.includes(position)) {\n if (infos[position].before && !before) {\n infos[position].before = false\n }\n\n if (infos[position].after && !after) {\n infos[position].after = false\n }\n } else {\n positions.push(position)\n infos[position] = {before, after}\n }\n }\n }\n\n positions.sort(numerical)\n\n let start = config.before ? config.before.length : 0\n const end = value.length - (config.after ? config.after.length : 0)\n index = -1\n\n while (++index < positions.length) {\n const position = positions[index]\n\n // Character before or after matched:\n if (position < start || position >= end) {\n continue\n }\n\n // If this character is supposed to be escaped because it has a condition on\n // the next character, and the next character is definitly being escaped,\n // then skip this escape.\n if (\n (position + 1 < end &&\n positions[index + 1] === position + 1 &&\n infos[position].after &&\n !infos[position + 1].before &&\n !infos[position + 1].after) ||\n (positions[index - 1] === position - 1 &&\n infos[position].before &&\n !infos[position - 1].before &&\n !infos[position - 1].after)\n ) {\n continue\n }\n\n if (start !== position) {\n // If we have to use a character reference, an ampersand would be more\n // correct, but as backslashes only care about punctuation, either will\n // do the trick\n result.push(escapeBackslashes(value.slice(start, position), '\\\\'))\n }\n\n start = position\n\n if (\n /[!-/:-@[-`{-~]/.test(value.charAt(position)) &&\n (!config.encode || !config.encode.includes(value.charAt(position)))\n ) {\n // Character escape.\n result.push('\\\\')\n } else {\n // Character reference.\n result.push(\n '&#x' + value.charCodeAt(position).toString(16).toUpperCase() + ';'\n )\n start++\n }\n }\n\n result.push(escapeBackslashes(value.slice(start, end), config.after))\n\n return result.join('')\n}\n\n/**\n * @param {number} a\n * @param {number} b\n * @returns {number}\n */\nfunction numerical(a, b) {\n return a - b\n}\n\n/**\n * @param {string} value\n * @param {string} after\n * @returns {string}\n */\nfunction escapeBackslashes(value, after) {\n const expression = /\\\\(?=[!-/:-@[-`{-~])/g\n /** @type {Array<number>} */\n const positions = []\n /** @type {Array<string>} */\n const results = []\n const whole = value + after\n let index = -1\n let start = 0\n /** @type {RegExpExecArray|null} */\n let match\n\n while ((match = expression.exec(whole))) {\n positions.push(match.index)\n }\n\n while (++index < positions.length) {\n if (start !== positions[index]) {\n results.push(value.slice(start, positions[index]))\n }\n\n results.push('\\\\')\n start = positions[index]\n }\n\n results.push(value.slice(start))\n\n return results.join('')\n}\n","/**\n * @typedef {import('mdast').FootnoteReference} FootnoteReference\n * @typedef {import('mdast').FootnoteDefinition} FootnoteDefinition\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Map} Map\n */\n\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {association} from 'mdast-util-to-markdown/lib/util/association.js'\nimport {containerFlow} from 'mdast-util-to-markdown/lib/util/container-flow.js'\nimport {indentLines} from 'mdast-util-to-markdown/lib/util/indent-lines.js'\nimport {safe} from 'mdast-util-to-markdown/lib/util/safe.js'\nimport {track} from 'mdast-util-to-markdown/lib/util/track.js'\n\n/**\n * @returns {FromMarkdownExtension}\n */\nexport function gfmFootnoteFromMarkdown() {\n return {\n enter: {\n gfmFootnoteDefinition: enterFootnoteDefinition,\n gfmFootnoteDefinitionLabelString: enterFootnoteDefinitionLabelString,\n gfmFootnoteCall: enterFootnoteCall,\n gfmFootnoteCallString: enterFootnoteCallString\n },\n exit: {\n gfmFootnoteDefinition: exitFootnoteDefinition,\n gfmFootnoteDefinitionLabelString: exitFootnoteDefinitionLabelString,\n gfmFootnoteCall: exitFootnoteCall,\n gfmFootnoteCallString: exitFootnoteCallString\n }\n }\n\n /** @type {FromMarkdownHandle} */\n function enterFootnoteDefinition(token) {\n this.enter(\n {type: 'footnoteDefinition', identifier: '', label: '', children: []},\n token\n )\n }\n\n /** @type {FromMarkdownHandle} */\n function enterFootnoteDefinitionLabelString() {\n this.buffer()\n }\n\n /** @type {FromMarkdownHandle} */\n function exitFootnoteDefinitionLabelString(token) {\n const label = this.resume()\n const node = /** @type {FootnoteDefinition} */ (\n this.stack[this.stack.length - 1]\n )\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n }\n\n /** @type {FromMarkdownHandle} */\n function exitFootnoteDefinition(token) {\n this.exit(token)\n }\n\n /** @type {FromMarkdownHandle} */\n function enterFootnoteCall(token) {\n this.enter({type: 'footnoteReference', identifier: '', label: ''}, token)\n }\n\n /** @type {FromMarkdownHandle} */\n function enterFootnoteCallString() {\n this.buffer()\n }\n\n /** @type {FromMarkdownHandle} */\n function exitFootnoteCallString(token) {\n const label = this.resume()\n const node = /** @type {FootnoteDefinition} */ (\n this.stack[this.stack.length - 1]\n )\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n }\n\n /** @type {FromMarkdownHandle} */\n function exitFootnoteCall(token) {\n this.exit(token)\n }\n}\n\n/**\n * @returns {ToMarkdownExtension}\n */\nexport function gfmFootnoteToMarkdown() {\n footnoteReference.peek = footnoteReferencePeek\n\n return {\n // This is on by default already.\n unsafe: [{character: '[', inConstruct: ['phrasing', 'label', 'reference']}],\n handlers: {footnoteDefinition, footnoteReference}\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {FootnoteReference} node\n */\n function footnoteReference(node, _, context, safeOptions) {\n const tracker = track(safeOptions)\n let value = tracker.move('[^')\n const exit = context.enter('footnoteReference')\n const subexit = context.enter('reference')\n value += tracker.move(\n safe(context, association(node), {\n ...tracker.current(),\n before: value,\n after: ']'\n })\n )\n subexit()\n exit()\n value += tracker.move(']')\n return value\n }\n\n /** @type {ToMarkdownHandle} */\n function footnoteReferencePeek() {\n return '['\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {FootnoteDefinition} node\n */\n function footnoteDefinition(node, _, context, safeOptions) {\n const tracker = track(safeOptions)\n let value = tracker.move('[^')\n const exit = context.enter('footnoteDefinition')\n const subexit = context.enter('label')\n value += tracker.move(\n safe(context, association(node), {\n ...tracker.current(),\n before: value,\n after: ']'\n })\n )\n subexit()\n value += tracker.move(\n ']:' + (node.children && node.children.length > 0 ? ' ' : '')\n )\n tracker.shift(4)\n value += tracker.move(\n indentLines(containerFlow(node, context, tracker.current()), map)\n )\n exit()\n\n return value\n\n /** @type {Map} */\n function map(line, index, blank) {\n if (index) {\n return (blank ? '' : ' ') + line\n }\n\n return line\n }\n }\n}\n","/**\n * @typedef {import('../types.js').Node} Node\n * @typedef {import('../types.js').Parent} Parent\n * @typedef {import('../types.js').SafeOptions} SafeOptions\n * @typedef {import('../types.js').Context} Context\n */\n\nimport {track} from './track.js'\n\n/**\n * @param {Parent} parent\n * @param {Context} context\n * @param {SafeOptions} safeOptions\n * @returns {string}\n */\nexport function containerPhrasing(parent, context, safeOptions) {\n const indexStack = context.indexStack\n const children = parent.children || []\n /** @type {Array<string>} */\n const results = []\n let index = -1\n let before = safeOptions.before\n\n indexStack.push(-1)\n let tracker = track(safeOptions)\n\n while (++index < children.length) {\n const child = children[index]\n /** @type {string} */\n let after\n\n indexStack[indexStack.length - 1] = index\n\n if (index + 1 < children.length) {\n // @ts-expect-error: hush, it’s actually a `zwitch`.\n let handle = context.handle.handlers[children[index + 1].type]\n if (handle && handle.peek) handle = handle.peek\n after = handle\n ? handle(children[index + 1], parent, context, {\n before: '',\n after: '',\n ...tracker.current()\n }).charAt(0)\n : ''\n } else {\n after = safeOptions.after\n }\n\n // In some cases, html (text) can be found in phrasing right after an eol.\n // When we’d serialize that, in most cases that would be seen as html\n // (flow).\n // As we can’t escape or so to prevent it from happening, we take a somewhat\n // reasonable approach: replace that eol with a space.\n // See: <https://github.com/syntax-tree/mdast-util-to-markdown/issues/15>\n if (\n results.length > 0 &&\n (before === '\\r' || before === '\\n') &&\n child.type === 'html'\n ) {\n results[results.length - 1] = results[results.length - 1].replace(\n /(\\r?\\n|\\r)$/,\n ' '\n )\n before = ' '\n\n // To do: does this work to reset tracker?\n tracker = track(safeOptions)\n tracker.move(results.join(''))\n }\n\n results.push(\n tracker.move(\n context.handle(child, parent, context, {\n ...tracker.current(),\n before,\n after\n })\n )\n )\n\n before = results[results.length - 1].slice(-1)\n }\n\n indexStack.pop()\n\n return results.join('')\n}\n","/**\n * @typedef {import('mdast').Delete} Delete\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n */\n\nimport {containerPhrasing} from 'mdast-util-to-markdown/lib/util/container-phrasing.js'\nimport {track} from 'mdast-util-to-markdown/lib/util/track.js'\n\n/** @type {FromMarkdownExtension} */\nexport const gfmStrikethroughFromMarkdown = {\n canContainEols: ['delete'],\n enter: {strikethrough: enterStrikethrough},\n exit: {strikethrough: exitStrikethrough}\n}\n\n/** @type {ToMarkdownExtension} */\nexport const gfmStrikethroughToMarkdown = {\n unsafe: [{character: '~', inConstruct: 'phrasing'}],\n handlers: {delete: handleDelete}\n}\n\nhandleDelete.peek = peekDelete\n\n/** @type {FromMarkdownHandle} */\nfunction enterStrikethrough(token) {\n this.enter({type: 'delete', children: []}, token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitStrikethrough(token) {\n this.exit(token)\n}\n\n/**\n * @type {ToMarkdownHandle}\n * @param {Delete} node\n */\nfunction handleDelete(node, _, context, safeOptions) {\n const tracker = track(safeOptions)\n const exit = context.enter('emphasis')\n let value = tracker.move('~~')\n value += containerPhrasing(node, context, {\n ...tracker.current(),\n before: value,\n after: '~'\n })\n value += tracker.move('~~')\n exit()\n return value\n}\n\n/** @type {ToMarkdownHandle} */\nfunction peekDelete() {\n return '~'\n}\n","/**\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('../types.js').Handle} Handle\n */\n\nimport {patternCompile} from '../util/pattern-compile.js'\n\ninlineCode.peek = inlineCodePeek\n\n/**\n * @type {Handle}\n * @param {InlineCode} node\n */\nexport function inlineCode(node, _, context) {\n let value = node.value || ''\n let sequence = '`'\n let index = -1\n\n // If there is a single grave accent on its own in the code, use a fence of\n // two.\n // If there are two in a row, use one.\n while (new RegExp('(^|[^`])' + sequence + '([^`]|$)').test(value)) {\n sequence += '`'\n }\n\n // If this is not just spaces or eols (tabs don’t count), and either the\n // first or last character are a space, eol, or tick, then pad with spaces.\n if (\n /[^ \\r\\n]/.test(value) &&\n ((/^[ \\r\\n]/.test(value) && /[ \\r\\n]$/.test(value)) || /^`|`$/.test(value))\n ) {\n value = ' ' + value + ' '\n }\n\n // We have a potential problem: certain characters after eols could result in\n // blocks being seen.\n // For example, if someone injected the string `'\\n# b'`, then that would\n // result in an ATX heading.\n // We can’t escape characters in `inlineCode`, but because eols are\n // transformed to spaces when going from markdown to HTML anyway, we can swap\n // them out.\n while (++index < context.unsafe.length) {\n const pattern = context.unsafe[index]\n const expression = patternCompile(pattern)\n /** @type {RegExpExecArray|null} */\n let match\n\n // Only look for `atBreak`s.\n // Btw: note that `atBreak` patterns will always start the regex at LF or\n // CR.\n if (!pattern.atBreak) continue\n\n while ((match = expression.exec(value))) {\n let position = match.index\n\n // Support CRLF (patterns only look for one of the characters).\n if (\n value.charCodeAt(position) === 10 /* `\\n` */ &&\n value.charCodeAt(position - 1) === 13 /* `\\r` */\n ) {\n position--\n }\n\n value = value.slice(0, position) + ' ' + value.slice(match.index + 1)\n }\n }\n\n return sequence + value + sequence\n}\n\n/**\n * @type {Handle}\n */\nfunction inlineCodePeek() {\n return '`'\n}\n","/**\n * @typedef Options\n * Configuration (optional).\n * @property {string|null|Array<string|null|undefined>} [align]\n * One style for all columns, or styles for their respective columns.\n * Each style is either `'l'` (left), `'r'` (right), or `'c'` (center).\n * Other values are treated as `''`, which doesn’t place the colon in the\n * alignment row but does align left.\n * *Only the lowercased first character is used, so `Right` is fine.*\n * @property {boolean} [padding=true]\n * Whether to add a space of padding between delimiters and cells.\n *\n * When `true`, there is padding:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * When `false`, there is no padding:\n *\n * ```markdown\n * |Alpha|B |\n * |-----|-----|\n * |C |Delta|\n * ```\n * @property {boolean} [delimiterStart=true]\n * Whether to begin each row with the delimiter.\n *\n * > 👉 **Note**: please don’t use this: it could create fragile structures\n * > that aren’t understandable to some markdown parsers.\n *\n * When `true`, there are starting delimiters:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * When `false`, there are no starting delimiters:\n *\n * ```markdown\n * Alpha | B |\n * ----- | ----- |\n * C | Delta |\n * ```\n * @property {boolean} [delimiterEnd=true]\n * Whether to end each row with the delimiter.\n *\n * > 👉 **Note**: please don’t use this: it could create fragile structures\n * > that aren’t understandable to some markdown parsers.\n *\n * When `true`, there are ending delimiters:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * When `false`, there are no ending delimiters:\n *\n * ```markdown\n * | Alpha | B\n * | ----- | -----\n * | C | Delta\n * ```\n * @property {boolean} [alignDelimiters=true]\n * Whether to align the delimiters.\n * By default, they are aligned:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * Pass `false` to make them staggered:\n *\n * ```markdown\n * | Alpha | B |\n * | - | - |\n * | C | Delta |\n * ```\n * @property {(value: string) => number} [stringLength]\n * Function to detect the length of table cell content.\n * This is used when aligning the delimiters (`|`) between table cells.\n * Full-width characters and emoji mess up delimiter alignment when viewing\n * the markdown source.\n * To fix this, you can pass this function, which receives the cell content\n * and returns its “visible” size.\n * Note that what is and isn’t visible depends on where the text is displayed.\n *\n * Without such a function, the following:\n *\n * ```js\n * markdownTable([\n * ['Alpha', 'Bravo'],\n * ['中文', 'Charlie'],\n * ['👩❤️👩', 'Delta']\n * ])\n * ```\n *\n * Yields:\n *\n * ```markdown\n * | Alpha | Bravo |\n * | - | - |\n * | 中文 | Charlie |\n * | 👩❤️👩 | Delta |\n * ```\n *\n * With [`string-width`](https://github.com/sindresorhus/string-width):\n *\n * ```js\n * import stringWidth from 'string-width'\n *\n * markdownTable(\n * [\n * ['Alpha', 'Bravo'],\n * ['中文', 'Charlie'],\n * ['👩❤️👩', 'Delta']\n * ],\n * {stringLength: stringWidth}\n * )\n * ```\n *\n * Yields:\n *\n * ```markdown\n * | Alpha | Bravo |\n * | ----- | ------- |\n * | 中文 | Charlie |\n * | 👩❤️👩 | Delta |\n * ```\n */\n\n/**\n * @typedef {Options} MarkdownTableOptions\n * @todo\n * Remove next major.\n */\n\n/**\n * Generate a markdown ([GFM](https://docs.github.com/en/github/writing-on-github/working-with-advanced-formatting/organizing-information-with-tables)) table..\n *\n * @param {Array<Array<string|null|undefined>>} table\n * Table data (matrix of strings).\n * @param {Options} [options]\n * Configuration (optional).\n * @returns {string}\n */\nexport function markdownTable(table, options = {}) {\n const align = (options.align || []).concat()\n const stringLength = options.stringLength || defaultStringLength\n /** @type {Array<number>} Character codes as symbols for alignment per column. */\n const alignments = []\n /** @type {Array<Array<string>>} Cells per row. */\n const cellMatrix = []\n /** @type {Array<Array<number>>} Sizes of each cell per row. */\n const sizeMatrix = []\n /** @type {Array<number>} */\n const longestCellByColumn = []\n let mostCellsPerRow = 0\n let rowIndex = -1\n\n // This is a superfluous loop if we don’t align delimiters, but otherwise we’d\n // do superfluous work when aligning, so optimize for aligning.\n while (++rowIndex < table.length) {\n /** @type {Array<string>} */\n const row = []\n /** @type {Array<number>} */\n const sizes = []\n let columnIndex = -1\n\n if (table[rowIndex].length > mostCellsPerRow) {\n mostCellsPerRow = table[rowIndex].length\n }\n\n while (++columnIndex < table[rowIndex].length) {\n const cell = serialize(table[rowIndex][columnIndex])\n\n if (options.alignDelimiters !== false) {\n const size = stringLength(cell)\n sizes[columnIndex] = size\n\n if (\n longestCellByColumn[columnIndex] === undefined ||\n size > longestCellByColumn[columnIndex]\n ) {\n longestCellByColumn[columnIndex] = size\n }\n }\n\n row.push(cell)\n }\n\n cellMatrix[rowIndex] = row\n sizeMatrix[rowIndex] = sizes\n }\n\n // Figure out which alignments to use.\n let columnIndex = -1\n\n if (typeof align === 'object' && 'length' in align) {\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = toAlignment(align[columnIndex])\n }\n } else {\n const code = toAlignment(align)\n\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = code\n }\n }\n\n // Inject the alignment row.\n columnIndex = -1\n /** @type {Array<string>} */\n const row = []\n /** @type {Array<number>} */\n const sizes = []\n\n while (++columnIndex < mostCellsPerRow) {\n const code = alignments[columnIndex]\n let before = ''\n let after = ''\n\n if (code === 99 /* `c` */) {\n before = ':'\n after = ':'\n } else if (code === 108 /* `l` */) {\n before = ':'\n } else if (code === 114 /* `r` */) {\n after = ':'\n }\n\n // There *must* be at least one hyphen-minus in each alignment cell.\n let size =\n options.alignDelimiters === false\n ? 1\n : Math.max(\n 1,\n longestCellByColumn[columnIndex] - before.length - after.length\n )\n\n const cell = before + '-'.repeat(size) + after\n\n if (options.alignDelimiters !== false) {\n size = before.length + size + after.length\n\n if (size > longestCellByColumn[columnIndex]) {\n longestCellByColumn[columnIndex] = size\n }\n\n sizes[columnIndex] = size\n }\n\n row[columnIndex] = cell\n }\n\n // Inject the alignment row.\n cellMatrix.splice(1, 0, row)\n sizeMatrix.splice(1, 0, sizes)\n\n rowIndex = -1\n /** @type {Array<string>} */\n const lines = []\n\n while (++rowIndex < cellMatrix.length) {\n const row = cellMatrix[rowIndex]\n const sizes = sizeMatrix[rowIndex]\n columnIndex = -1\n /** @type {Array<string>} */\n const line = []\n\n while (++columnIndex < mostCellsPerRow) {\n const cell = row[columnIndex] || ''\n let before = ''\n let after = ''\n\n if (options.alignDelimiters !== false) {\n const size =\n longestCellByColumn[columnIndex] - (sizes[columnIndex] || 0)\n const code = alignments[columnIndex]\n\n if (code === 114 /* `r` */) {\n before = ' '.repeat(size)\n } else if (code === 99 /* `c` */) {\n if (size % 2) {\n before = ' '.repeat(size / 2 + 0.5)\n after = ' '.repeat(size / 2 - 0.5)\n } else {\n before = ' '.repeat(size / 2)\n after = before\n }\n } else {\n after = ' '.repeat(size)\n }\n }\n\n if (options.delimiterStart !== false && !columnIndex) {\n line.push('|')\n }\n\n if (\n options.padding !== false &&\n // Don’t add the opening space if we’re not aligning and the cell is\n // empty: there will be a closing space.\n !(options.alignDelimiters === false && cell === '') &&\n (options.delimiterStart !== false || columnIndex)\n ) {\n line.push(' ')\n }\n\n if (options.alignDelimiters !== false) {\n line.push(before)\n }\n\n line.push(cell)\n\n if (options.alignDelimiters !== false) {\n line.push(after)\n }\n\n if (options.padding !== false) {\n line.push(' ')\n }\n\n if (\n options.delimiterEnd !== false ||\n columnIndex !== mostCellsPerRow - 1\n ) {\n line.push('|')\n }\n }\n\n lines.push(\n options.delimiterEnd === false\n ? line.join('').replace(/ +$/, '')\n : line.join('')\n )\n }\n\n return lines.join('\\n')\n}\n\n/**\n * @param {string|null|undefined} [value]\n * @returns {string}\n */\nfunction serialize(value) {\n return value === null || value === undefined ? '' : String(value)\n}\n\n/**\n * @param {string} value\n * @returns {number}\n */\nfunction defaultStringLength(value) {\n return value.length\n}\n\n/**\n * @param {string|null|undefined} value\n * @returns {number}\n */\nfunction toAlignment(value) {\n const code = typeof value === 'string' ? value.codePointAt(0) : 0\n\n return code === 67 /* `C` */ || code === 99 /* `c` */\n ? 99 /* `c` */\n : code === 76 /* `L` */ || code === 108 /* `l` */\n ? 108 /* `l` */\n : code === 82 /* `R` */ || code === 114 /* `r` */\n ? 114 /* `r` */\n : 0\n}\n","/**\n * @typedef {import('mdast').AlignType} AlignType\n * @typedef {import('mdast').Table} Table\n * @typedef {import('mdast').TableRow} TableRow\n * @typedef {import('mdast').TableCell} TableCell\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('markdown-table').MarkdownTableOptions} MarkdownTableOptions\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Context} ToMarkdownContext\n * @typedef {import('mdast-util-to-markdown').SafeOptions} SafeOptions\n *\n * @typedef Options\n * @property {boolean} [tableCellPadding=true]\n * @property {boolean} [tablePipeAlign=true]\n * @property {MarkdownTableOptions['stringLength']} [stringLength]\n */\n\nimport {containerPhrasing} from 'mdast-util-to-markdown/lib/util/container-phrasing.js'\nimport {inlineCode} from 'mdast-util-to-markdown/lib/handle/inline-code.js'\nimport {markdownTable} from 'markdown-table'\n\n/** @type {FromMarkdownExtension} */\nexport const gfmTableFromMarkdown = {\n enter: {\n table: enterTable,\n tableData: enterCell,\n tableHeader: enterCell,\n tableRow: enterRow\n },\n exit: {\n codeText: exitCodeText,\n table: exitTable,\n tableData: exit,\n tableHeader: exit,\n tableRow: exit\n }\n}\n\n/** @type {FromMarkdownHandle} */\nfunction enterTable(token) {\n /** @type {Array<'left'|'right'|'center'|'none'>} */\n // @ts-expect-error: `align` is custom.\n const align = token._align\n this.enter(\n {\n type: 'table',\n align: align.map((d) => (d === 'none' ? null : d)),\n children: []\n },\n token\n )\n this.setData('inTable', true)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitTable(token) {\n this.exit(token)\n this.setData('inTable')\n}\n\n/** @type {FromMarkdownHandle} */\nfunction enterRow(token) {\n this.enter({type: 'tableRow', children: []}, token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exit(token) {\n this.exit(token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction enterCell(token) {\n this.enter({type: 'tableCell', children: []}, token)\n}\n\n// Overwrite the default code text data handler to unescape escaped pipes when\n// they are in tables.\n/** @type {FromMarkdownHandle} */\nfunction exitCodeText(token) {\n let value = this.resume()\n\n if (this.getData('inTable')) {\n value = value.replace(/\\\\([\\\\|])/g, replace)\n }\n\n const node = /** @type {InlineCode} */ (this.stack[this.stack.length - 1])\n node.value = value\n this.exit(token)\n}\n\n/**\n * @param {string} $0\n * @param {string} $1\n * @returns {string}\n */\nfunction replace($0, $1) {\n // Pipes work, backslashes don’t (but can’t escape pipes).\n return $1 === '|' ? $1 : $0\n}\n\n/**\n * @param {Options} [options]\n * @returns {ToMarkdownExtension}\n */\nexport function gfmTableToMarkdown(options) {\n const settings = options || {}\n const padding = settings.tableCellPadding\n const alignDelimiters = settings.tablePipeAlign\n const stringLength = settings.stringLength\n const around = padding ? ' ' : '|'\n\n return {\n unsafe: [\n {character: '\\r', inConstruct: 'tableCell'},\n {character: '\\n', inConstruct: 'tableCell'},\n // A pipe, when followed by a tab or space (padding), or a dash or colon\n // (unpadded delimiter row), could result in a table.\n {atBreak: true, character: '|', after: '[\\t :-]'},\n // A pipe in a cell must be encoded.\n {character: '|', inConstruct: 'tableCell'},\n // A colon must be followed by a dash, in which case it could start a\n // delimiter row.\n {atBreak: true, character: ':', after: '-'},\n // A delimiter row can also start with a dash, when followed by more\n // dashes, a colon, or a pipe.\n // This is a stricter version than the built in check for lists, thematic\n // breaks, and setex heading underlines though:\n // <https://github.com/syntax-tree/mdast-util-to-markdown/blob/51a2038/lib/unsafe.js#L57>\n {atBreak: true, character: '-', after: '[:|-]'}\n ],\n handlers: {\n table: handleTable,\n tableRow: handleTableRow,\n tableCell: handleTableCell,\n inlineCode: inlineCodeWithTable\n }\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {Table} node\n */\n function handleTable(node, _, context, safeOptions) {\n return serializeData(\n handleTableAsData(node, context, safeOptions),\n // @ts-expect-error: fixed in `markdown-table@3.0.1`.\n node.align\n )\n }\n\n /**\n * This function isn’t really used normally, because we handle rows at the\n * table level.\n * But, if someone passes in a table row, this ensures we make somewhat sense.\n *\n * @type {ToMarkdownHandle}\n * @param {TableRow} node\n */\n function handleTableRow(node, _, context, safeOptions) {\n const row = handleTableRowAsData(node, context, safeOptions)\n // `markdown-table` will always add an align row\n const value = serializeData([row])\n return value.slice(0, value.indexOf('\\n'))\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {TableCell} node\n */\n function handleTableCell(node, _, context, safeOptions) {\n const exit = context.enter('tableCell')\n const subexit = context.enter('phrasing')\n const value = containerPhrasing(node, context, {\n ...safeOptions,\n before: around,\n after: around\n })\n subexit()\n exit()\n return value\n }\n\n /**\n * @param {Array<Array<string>>} matrix\n * @param {Array<string>} [align]\n */\n function serializeData(matrix, align) {\n return markdownTable(matrix, {\n align,\n alignDelimiters,\n padding,\n stringLength\n })\n }\n\n /**\n * @param {Table} node\n * @param {ToMarkdownContext} context\n * @param {SafeOptions} safeOptions\n */\n function handleTableAsData(node, context, safeOptions) {\n const children = node.children\n let index = -1\n /** @type {Array<Array<string>>} */\n const result = []\n const subexit = context.enter('table')\n\n while (++index < children.length) {\n result[index] = handleTableRowAsData(\n children[index],\n context,\n safeOptions\n )\n }\n\n subexit()\n\n return result\n }\n\n /**\n * @param {TableRow} node\n * @param {ToMarkdownContext} context\n * @param {SafeOptions} safeOptions\n */\n function handleTableRowAsData(node, context, safeOptions) {\n const children = node.children\n let index = -1\n /** @type {Array<string>} */\n const result = []\n const subexit = context.enter('tableRow')\n\n while (++index < children.length) {\n // Note: the positional info as used here is incorrect.\n // Making it correct would be impossible due to aligning cells?\n // And it would need copy/pasting `markdown-table` into this project.\n result[index] = handleTableCell(\n children[index],\n node,\n context,\n safeOptions\n )\n }\n\n subexit()\n\n return result\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {InlineCode} node\n */\n function inlineCodeWithTable(node, parent, context) {\n let value = inlineCode(node, parent, context)\n\n if (context.stack.includes('tableCell')) {\n value = value.replace(/\\|/g, '\\\\$&')\n }\n\n return value\n }\n}\n","/**\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').List} List\n * @typedef {import('../util/indent-lines.js').Map} Map\n * @typedef {import('../types.js').Options} Options\n * @typedef {import('../types.js').Handle} Handle\n */\n\nimport {checkBullet} from '../util/check-bullet.js'\nimport {checkListItemIndent} from '../util/check-list-item-indent.js'\nimport {containerFlow} from '../util/container-flow.js'\nimport {indentLines} from '../util/indent-lines.js'\nimport {track} from '../util/track.js'\n\n/**\n * @type {Handle}\n * @param {ListItem} node\n */\nexport function listItem(node, parent, context, safeOptions) {\n const listItemIndent = checkListItemIndent(context)\n let bullet = context.bulletCurrent || checkBullet(context)\n\n // Add the marker value for ordered lists.\n if (parent && parent.type === 'list' && parent.ordered) {\n bullet =\n (typeof parent.start === 'number' && parent.start > -1\n ? parent.start\n : 1) +\n (context.options.incrementListMarker === false\n ? 0\n : parent.children.indexOf(node)) +\n bullet\n }\n\n let size = bullet.length + 1\n\n if (\n listItemIndent === 'tab' ||\n (listItemIndent === 'mixed' &&\n ((parent && parent.type === 'list' && parent.spread) || node.spread))\n ) {\n size = Math.ceil(size / 4) * 4\n }\n\n const tracker = track(safeOptions)\n tracker.move(bullet + ' '.repeat(size - bullet.length))\n tracker.shift(size)\n const exit = context.enter('listItem')\n const value = indentLines(\n containerFlow(node, context, tracker.current()),\n map\n )\n exit()\n\n return value\n\n /** @type {Map} */\n function map(line, index, blank) {\n if (index) {\n return (blank ? '' : ' '.repeat(size)) + line\n }\n\n return (blank ? bullet : bullet + ' '.repeat(size - bullet.length)) + line\n }\n}\n","/**\n * @typedef {import('../types.js').Context} Context\n * @typedef {import('../types.js').Options} Options\n */\n\n/**\n * @param {Context} context\n * @returns {Exclude<Options['listItemIndent'], undefined>}\n */\nexport function checkListItemIndent(context) {\n const style = context.options.listItemIndent || 'tab'\n\n // To do: remove in a major.\n // @ts-expect-error: deprecated.\n if (style === 1 || style === '1') {\n return 'one'\n }\n\n if (style !== 'tab' && style !== 'one' && style !== 'mixed') {\n throw new Error(\n 'Cannot serialize items with `' +\n style +\n '` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`'\n )\n }\n\n return style\n}\n","/**\n * @typedef {import('../types.js').Context} Context\n * @typedef {import('../types.js').Options} Options\n */\n\n/**\n * @param {Context} context\n * @returns {Exclude<Options['bullet'], undefined>}\n */\nexport function checkBullet(context) {\n const marker = context.options.bullet || '*'\n\n if (marker !== '*' && marker !== '+' && marker !== '-') {\n throw new Error(\n 'Cannot serialize items with `' +\n marker +\n '` for `options.bullet`, expected `*`, `+`, or `-`'\n )\n }\n\n return marker\n}\n","/**\n * @typedef {Extract<import('mdast').Root|import('mdast').Content, import('unist').Parent>} Parent\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('mdast').BlockContent} BlockContent\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n */\n\nimport {listItem} from 'mdast-util-to-markdown/lib/handle/list-item.js'\nimport {track} from 'mdast-util-to-markdown/lib/util/track.js'\n\n/** @type {FromMarkdownExtension} */\nexport const gfmTaskListItemFromMarkdown = {\n exit: {\n taskListCheckValueChecked: exitCheck,\n taskListCheckValueUnchecked: exitCheck,\n paragraph: exitParagraphWithTaskListItem\n }\n}\n\n/** @type {ToMarkdownExtension} */\nexport const gfmTaskListItemToMarkdown = {\n unsafe: [{atBreak: true, character: '-', after: '[:|-]'}],\n handlers: {listItem: listItemWithTaskListItem}\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitCheck(token) {\n const node = /** @type {ListItem} */ (this.stack[this.stack.length - 2])\n // We’re always in a paragraph, in a list item.\n node.checked = token.type === 'taskListCheckValueChecked'\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitParagraphWithTaskListItem(token) {\n const parent = /** @type {Parent} */ (this.stack[this.stack.length - 2])\n const node = /** @type {Paragraph} */ (this.stack[this.stack.length - 1])\n const siblings = parent.children\n const head = node.children[0]\n let index = -1\n /** @type {Paragraph|undefined} */\n let firstParaghraph\n\n if (\n parent &&\n parent.type === 'listItem' &&\n typeof parent.checked === 'boolean' &&\n head &&\n head.type === 'text'\n ) {\n while (++index < siblings.length) {\n const sibling = siblings[index]\n if (sibling.type === 'paragraph') {\n firstParaghraph = sibling\n break\n }\n }\n\n if (firstParaghraph === node) {\n // Must start with a space or a tab.\n head.value = head.value.slice(1)\n\n if (head.value.length === 0) {\n node.children.shift()\n } else if (\n node.position &&\n head.position &&\n typeof head.position.start.offset === 'number'\n ) {\n head.position.start.column++\n head.position.start.offset++\n node.position.start = Object.assign({}, head.position.start)\n }\n }\n }\n\n this.exit(token)\n}\n\n/**\n * @type {ToMarkdownHandle}\n * @param {ListItem} node\n */\nfunction listItemWithTaskListItem(node, parent, context, safeOptions) {\n const head = node.children[0]\n const checkable =\n typeof node.checked === 'boolean' && head && head.type === 'paragraph'\n const checkbox = '[' + (node.checked ? 'x' : ' ') + '] '\n const tracker = track(safeOptions)\n\n if (checkable) {\n tracker.move(checkbox)\n }\n\n let value = listItem(node, parent, context, {\n ...safeOptions,\n ...tracker.current()\n })\n\n if (checkable) {\n value = value.replace(/^(?:[*+-]|\\d+\\.)([\\r\\n]| {1,3})/, check)\n }\n\n return value\n\n /**\n * @param {string} $0\n * @returns {string}\n */\n function check($0) {\n return $0 + checkbox\n }\n}\n","/**\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n *\n * @typedef {import('mdast-util-gfm-table').Options} Options\n */\n\nimport {\n gfmAutolinkLiteralFromMarkdown,\n gfmAutolinkLiteralToMarkdown\n} from 'mdast-util-gfm-autolink-literal'\nimport {\n gfmFootnoteFromMarkdown,\n gfmFootnoteToMarkdown\n} from 'mdast-util-gfm-footnote'\nimport {\n gfmStrikethroughFromMarkdown,\n gfmStrikethroughToMarkdown\n} from 'mdast-util-gfm-strikethrough'\nimport {gfmTableFromMarkdown, gfmTableToMarkdown} from 'mdast-util-gfm-table'\nimport {\n gfmTaskListItemFromMarkdown,\n gfmTaskListItemToMarkdown\n} from 'mdast-util-gfm-task-list-item'\n\n/**\n * @returns {Array<FromMarkdownExtension>}\n */\nexport function gfmFromMarkdown() {\n return [\n gfmAutolinkLiteralFromMarkdown,\n gfmFootnoteFromMarkdown(),\n gfmStrikethroughFromMarkdown,\n gfmTableFromMarkdown,\n gfmTaskListItemFromMarkdown\n ]\n}\n\n/**\n * @param {Options} [options]\n * @returns {ToMarkdownExtension}\n */\nexport function gfmToMarkdown(options) {\n return {\n extensions: [\n gfmAutolinkLiteralToMarkdown,\n gfmFootnoteToMarkdown(),\n gfmStrikethroughToMarkdown,\n gfmTableToMarkdown(options),\n gfmTaskListItemToMarkdown\n ]\n }\n}\n","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('micromark-extension-gfm').Options & import('mdast-util-gfm').Options} Options\n */\n\nimport {gfm} from 'micromark-extension-gfm'\nimport {gfmFromMarkdown, gfmToMarkdown} from 'mdast-util-gfm'\n\n/**\n * Plugin to support GFM (autolink literals, footnotes, strikethrough, tables, tasklists).\n *\n * @type {import('unified').Plugin<[Options?]|void[], Root>}\n */\nexport default function remarkGfm(options = {}) {\n const data = this.data()\n\n add('micromarkExtensions', gfm(options))\n add('fromMarkdownExtensions', gfmFromMarkdown())\n add('toMarkdownExtensions', gfmToMarkdown(options))\n\n /**\n * @param {string} field\n * @param {unknown} value\n */\n function add(field, value) {\n const list = /** @type {unknown[]} */ (\n // Other extensions\n /* c8 ignore next 2 */\n data[field] ? data[field] : (data[field] = [])\n )\n\n list.push(value)\n }\n}\n","/**\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast').Element} Element\n */\n\nvar search = /[#.]/g\n\n/**\n * Create a hast element from a simple CSS selector.\n *\n * @param selector A simple CSS selector.\n * Can contain a tag-name (`foo`), classes (`.bar`), and an ID (`#baz`).\n * Multiple classes are allowed.\n * Uses the last ID if multiple IDs are found.\n * @param [defaultTagName='div'] Tag name to use if `selector` does not specify one.\n */\nexport const parseSelector =\n /**\n * @type {(\n * <Selector extends string, DefaultTagName extends string = 'div'>(selector?: Selector, defaultTagName?: DefaultTagName) => Element & {tagName: import('./extract.js').ExtractTagName<Selector, DefaultTagName>}\n * )}\n */\n (\n /**\n * @param {string} [selector]\n * @param {string} [defaultTagName='div']\n * @returns {Element}\n */\n function (selector, defaultTagName = 'div') {\n var value = selector || ''\n /** @type {Properties} */\n var props = {}\n var start = 0\n /** @type {string} */\n var subvalue\n /** @type {string} */\n var previous\n /** @type {RegExpMatchArray} */\n var match\n\n while (start < value.length) {\n search.lastIndex = start\n match = search.exec(value)\n subvalue = value.slice(start, match ? match.index : value.length)\n\n if (subvalue) {\n if (!previous) {\n defaultTagName = subvalue\n } else if (previous === '#') {\n props.id = subvalue\n } else if (Array.isArray(props.className)) {\n props.className.push(subvalue)\n } else {\n props.className = [subvalue]\n }\n\n start += subvalue.length\n }\n\n if (match) {\n previous = match[0]\n start++\n }\n }\n\n return {\n type: 'element',\n tagName: defaultTagName,\n properties: props,\n children: []\n }\n }\n )\n","/**\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {Root['children'][number]} Child\n * @typedef {Child|Root} Node\n * @typedef {import('property-information').Info} Info\n * @typedef {import('property-information').Schema} Schema\n *\n * @typedef {Root|Element} HResult\n * @typedef {string|number} HStyleValue\n * @typedef {Record<string, HStyleValue>} HStyle\n * @typedef {string|number|boolean|null|undefined} HPrimitiveValue\n * @typedef {Array<string|number>} HArrayValue\n * @typedef {HPrimitiveValue|HArrayValue} HPropertyValue\n * @typedef {{[property: string]: HPropertyValue|HStyle}} HProperties\n * Acceptable properties value.\n *\n * @typedef {string|number|null|undefined} HPrimitiveChild\n * @typedef {Array<Node|HPrimitiveChild>} HArrayChild\n * @typedef {Node|HPrimitiveChild|HArrayChild} HChild\n * Acceptable child value\n */\n\nimport {find, normalize} from 'property-information'\nimport {parseSelector} from 'hast-util-parse-selector'\nimport {parse as spaces} from 'space-separated-tokens'\nimport {parse as commas} from 'comma-separated-tokens'\n\nconst buttonTypes = new Set(['menu', 'submit', 'reset', 'button'])\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param {Schema} schema\n * @param {string} defaultTagName\n * @param {Array<string>} [caseSensitive]\n */\nexport function core(schema, defaultTagName, caseSensitive) {\n const adjust = caseSensitive && createAdjustMap(caseSensitive)\n\n const h =\n /**\n * @type {{\n * (): Root\n * (selector: null|undefined, ...children: Array<HChild>): Root\n * (selector: string, properties?: HProperties, ...children: Array<HChild>): Element\n * (selector: string, ...children: Array<HChild>): Element\n * }}\n */\n (\n /**\n * Hyperscript compatible DSL for creating virtual hast trees.\n *\n * @param {string|null} [selector]\n * @param {HProperties|HChild} [properties]\n * @param {Array<HChild>} children\n * @returns {HResult}\n */\n function (selector, properties, ...children) {\n let index = -1\n /** @type {HResult} */\n let node\n\n if (selector === undefined || selector === null) {\n node = {type: 'root', children: []}\n // @ts-expect-error Properties are not supported for roots.\n children.unshift(properties)\n } else {\n node = parseSelector(selector, defaultTagName)\n // Normalize the name.\n node.tagName = node.tagName.toLowerCase()\n if (adjust && own.call(adjust, node.tagName)) {\n node.tagName = adjust[node.tagName]\n }\n\n // Handle props.\n if (isProperties(properties, node.tagName)) {\n /** @type {string} */\n let key\n\n for (key in properties) {\n if (own.call(properties, key)) {\n // @ts-expect-error `node.properties` is set.\n addProperty(schema, node.properties, key, properties[key])\n }\n }\n } else {\n children.unshift(properties)\n }\n }\n\n // Handle children.\n while (++index < children.length) {\n addChild(node.children, children[index])\n }\n\n if (node.type === 'element' && node.tagName === 'template') {\n node.content = {type: 'root', children: node.children}\n node.children = []\n }\n\n return node\n }\n )\n\n return h\n}\n\n/**\n * @param {HProperties|HChild} value\n * @param {string} name\n * @returns {value is HProperties}\n */\nfunction isProperties(value, name) {\n if (\n value === null ||\n value === undefined ||\n typeof value !== 'object' ||\n Array.isArray(value)\n ) {\n return false\n }\n\n if (name === 'input' || !value.type || typeof value.type !== 'string') {\n return true\n }\n\n if ('children' in value && Array.isArray(value.children)) {\n return false\n }\n\n if (name === 'button') {\n return buttonTypes.has(value.type.toLowerCase())\n }\n\n return !('value' in value)\n}\n\n/**\n * @param {Schema} schema\n * @param {Properties} properties\n * @param {string} key\n * @param {HStyle|HPropertyValue} value\n * @returns {void}\n */\nfunction addProperty(schema, properties, key, value) {\n const info = find(schema, key)\n let index = -1\n /** @type {HPropertyValue} */\n let result\n\n // Ignore nullish and NaN values.\n if (value === undefined || value === null) return\n\n if (typeof value === 'number') {\n // Ignore NaN.\n if (Number.isNaN(value)) return\n\n result = value\n }\n // Booleans.\n else if (typeof value === 'boolean') {\n result = value\n }\n // Handle list values.\n else if (typeof value === 'string') {\n if (info.spaceSeparated) {\n result = spaces(value)\n } else if (info.commaSeparated) {\n result = commas(value)\n } else if (info.commaOrSpaceSeparated) {\n result = spaces(commas(value).join(' '))\n } else {\n result = parsePrimitive(info, info.property, value)\n }\n } else if (Array.isArray(value)) {\n result = value.concat()\n } else {\n result = info.property === 'style' ? style(value) : String(value)\n }\n\n if (Array.isArray(result)) {\n /** @type {Array<string|number>} */\n const finalResult = []\n\n while (++index < result.length) {\n // @ts-expect-error Assume no booleans in array.\n finalResult[index] = parsePrimitive(info, info.property, result[index])\n }\n\n result = finalResult\n }\n\n // Class names (which can be added both on the `selector` and here).\n if (info.property === 'className' && Array.isArray(properties.className)) {\n // @ts-expect-error Assume no booleans in `className`.\n result = properties.className.concat(result)\n }\n\n properties[info.property] = result\n}\n\n/**\n * @param {Array<Child>} nodes\n * @param {HChild} value\n * @returns {void}\n */\nfunction addChild(nodes, value) {\n let index = -1\n\n if (value === undefined || value === null) {\n // Empty.\n } else if (typeof value === 'string' || typeof value === 'number') {\n nodes.push({type: 'text', value: String(value)})\n } else if (Array.isArray(value)) {\n while (++index < value.length) {\n addChild(nodes, value[index])\n }\n } else if (typeof value === 'object' && 'type' in value) {\n if (value.type === 'root') {\n addChild(nodes, value.children)\n } else {\n nodes.push(value)\n }\n } else {\n throw new Error('Expected node, nodes, or string, got `' + value + '`')\n }\n}\n\n/**\n * Parse a single primitives.\n *\n * @param {Info} info\n * @param {string} name\n * @param {HPrimitiveValue} value\n * @returns {HPrimitiveValue}\n */\nfunction parsePrimitive(info, name, value) {\n if (typeof value === 'string') {\n if (info.number && value && !Number.isNaN(Number(value))) {\n return Number(value)\n }\n\n if (\n (info.boolean || info.overloadedBoolean) &&\n (value === '' || normalize(value) === normalize(name))\n ) {\n return true\n }\n }\n\n return value\n}\n\n/**\n * @param {HStyle} value\n * @returns {string}\n */\nfunction style(value) {\n /** @type {Array<string>} */\n const result = []\n /** @type {string} */\n let key\n\n for (key in value) {\n if (own.call(value, key)) {\n result.push([key, value[key]].join(': '))\n }\n }\n\n return result.join('; ')\n}\n\n/**\n * @param {Array<string>} values\n * @returns {Record<string, string>}\n */\nfunction createAdjustMap(values) {\n /** @type {Record<string, string>} */\n const result = {}\n let index = -1\n\n while (++index < values.length) {\n result[values[index].toLowerCase()] = values[index]\n }\n\n return result\n}\n","export const svgCaseSensitiveTagNames = [\n 'altGlyph',\n 'altGlyphDef',\n 'altGlyphItem',\n 'animateColor',\n 'animateMotion',\n 'animateTransform',\n 'clipPath',\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 'foreignObject',\n 'glyphRef',\n 'linearGradient',\n 'radialGradient',\n 'solidColor',\n 'textArea',\n 'textPath'\n]\n","/**\n * @typedef {import('./core.js').HChild} Child\n * @typedef {import('./core.js').HProperties} Properties\n *\n * @typedef {import('./jsx-classic').Element} s.JSX.Element\n * @typedef {import('./jsx-classic').IntrinsicAttributes} s.JSX.IntrinsicAttributes\n * @typedef {import('./jsx-classic').IntrinsicElements} s.JSX.IntrinsicElements\n * @typedef {import('./jsx-classic').ElementChildrenAttribute} s.JSX.ElementChildrenAttribute\n */\n\nimport {svg} from 'property-information'\nimport {core} from './core.js'\nimport {svgCaseSensitiveTagNames} from './svg-case-sensitive-tag-names.js'\n\nexport const s = core(svg, 'g', svgCaseSensitiveTagNames)\n","/**\n * @typedef {import('./core.js').HChild} Child Acceptable child value\n * @typedef {import('./core.js').HProperties} Properties Acceptable properties value.\n *\n * @typedef {import('./jsx-classic').Element} h.JSX.Element\n * @typedef {import('./jsx-classic').IntrinsicAttributes} h.JSX.IntrinsicAttributes\n * @typedef {import('./jsx-classic').IntrinsicElements} h.JSX.IntrinsicElements\n * @typedef {import('./jsx-classic').ElementChildrenAttribute} h.JSX.ElementChildrenAttribute\n */\n\nimport {html} from 'property-information'\nimport {core} from './core.js'\n\nexport const h = core(html, 'div')\n","/**\n * Map of web namespaces.\n *\n * @type {Record<string, string>}\n */\nexport const webNamespaces = {\n html: 'http://www.w3.org/1999/xhtml',\n mathml: 'http://www.w3.org/1998/Math/MathML',\n svg: 'http://www.w3.org/2000/svg',\n xlink: 'http://www.w3.org/1999/xlink',\n xml: 'http://www.w3.org/XML/1998/namespace',\n xmlns: 'http://www.w3.org/2000/xmlns/'\n}\n","/**\n * @typedef {import('vfile').VFile} VFile\n * @typedef {import('property-information').Schema} Schema\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n * @typedef {import('hast').Parent} Parent\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast').Comment} Comment\n * @typedef {import('hast').DocType} Doctype\n * @typedef {Parent['children'][number]} Child\n * @typedef {Element['children'][number]} ElementChild\n * @typedef {Child|Root} Node\n * @typedef {import('parse5').Document} P5Document\n * @typedef {import('parse5').DocumentType} P5Doctype\n * @typedef {import('parse5').CommentNode} P5Comment\n * @typedef {import('parse5').TextNode} P5Text\n * @typedef {import('parse5').Element} P5Element\n * @typedef {import('parse5').ElementLocation} P5ElementLocation\n * @typedef {import('parse5').Location} P5Location\n * @typedef {import('parse5').Attribute} P5Attribute\n * @typedef {import('parse5').Node} P5Node\n *\n * @typedef {'html'|'svg'} Space\n *\n * @callback Handler\n * @param {Context} ctx\n * @param {P5Node} node\n * @param {Array.<Child>} [children]\n * @returns {Node}\n *\n * @typedef Options\n * @property {Space} [space='html'] Whether the root of the tree is in the `'html'` or `'svg'` space. If an element in with the SVG namespace is found in `ast`, `fromParse5` automatically switches to the SVG space when entering the element, and switches back when leaving\n * @property {VFile} [file] `VFile`, used to add positional information to nodes. If given, the file should have the original HTML source as its contents\n * @property {boolean} [verbose=false] Whether to add extra positional information about starting tags, closing tags, and attributes to elements. Note: not used without `file`\n *\n * @typedef Context\n * @property {Schema} schema\n * @property {VFile|undefined} file\n * @property {boolean|undefined} verbose\n * @property {boolean} location\n */\n\nimport {h, s} from 'hastscript'\nimport {html, svg, find} from 'property-information'\nimport {location} from 'vfile-location'\nimport {webNamespaces} from 'web-namespaces'\n\nconst own = {}.hasOwnProperty\n\n// Handlers.\nconst map = {\n '#document': root,\n '#document-fragment': root,\n '#text': text,\n '#comment': comment,\n '#documentType': doctype\n}\n\n/**\n * Transform Parse5’s AST to a hast tree.\n *\n * @param {P5Node} ast\n * @param {Options|VFile} [options]\n */\nexport function fromParse5(ast, options = {}) {\n /** @type {Options} */\n let settings\n /** @type {VFile|undefined} */\n let file\n\n if (isFile(options)) {\n file = options\n settings = {}\n } else {\n file = options.file\n settings = options\n }\n\n return transform(\n {\n schema: settings.space === 'svg' ? svg : html,\n file,\n verbose: settings.verbose,\n location: false\n },\n ast\n )\n}\n\n/**\n * Transform children.\n *\n * @param {Context} ctx\n * @param {P5Node} ast\n * @returns {Node}\n */\nfunction transform(ctx, ast) {\n const schema = ctx.schema\n /** @type {Handler} */\n // @ts-expect-error: index is fine.\n const fn = own.call(map, ast.nodeName) ? map[ast.nodeName] : element\n /** @type {Array.<Child>|undefined} */\n let children\n\n // Element.\n if ('tagName' in ast) {\n ctx.schema = ast.namespaceURI === webNamespaces.svg ? svg : html\n }\n\n if ('childNodes' in ast) {\n children = nodes(ctx, ast.childNodes)\n }\n\n const result = fn(ctx, ast, children)\n\n if ('sourceCodeLocation' in ast && ast.sourceCodeLocation && ctx.file) {\n // @ts-expect-error It’s fine.\n const position = createLocation(ctx, result, ast.sourceCodeLocation)\n\n if (position) {\n ctx.location = true\n result.position = position\n }\n }\n\n ctx.schema = schema\n\n return result\n}\n\n/**\n * Transform children.\n *\n * @param {Context} ctx\n * @param {Array.<P5Node>} children\n * @returns {Array.<Child>}\n */\nfunction nodes(ctx, children) {\n let index = -1\n /** @type {Array.<Child>} */\n const result = []\n\n while (++index < children.length) {\n // @ts-expect-error Assume no roots in children.\n result[index] = transform(ctx, children[index])\n }\n\n return result\n}\n\n/**\n * Transform a document.\n * Stores `ast.quirksMode` in `node.data.quirksMode`.\n *\n * @type {Handler}\n * @param {P5Document} ast\n * @param {Array.<Child>} children\n * @returns {Root}\n */\nfunction root(ctx, ast, children) {\n /** @type {Root} */\n const result = {\n type: 'root',\n children,\n data: {quirksMode: ast.mode === 'quirks' || ast.mode === 'limited-quirks'}\n }\n\n if (ctx.file && ctx.location) {\n const doc = String(ctx.file)\n const loc = location(doc)\n result.position = {\n start: loc.toPoint(0),\n end: loc.toPoint(doc.length)\n }\n }\n\n return result\n}\n\n/**\n * Transform a doctype.\n *\n * @type {Handler}\n * @returns {Doctype}\n */\nfunction doctype() {\n // @ts-expect-error Types are out of date.\n return {type: 'doctype'}\n}\n\n/**\n * Transform a text.\n *\n * @type {Handler}\n * @param {P5Text} ast\n * @returns {Text}\n */\nfunction text(_, ast) {\n return {type: 'text', value: ast.value}\n}\n\n/**\n * Transform a comment.\n *\n * @type {Handler}\n * @param {P5Comment} ast\n * @returns {Comment}\n */\nfunction comment(_, ast) {\n return {type: 'comment', value: ast.data}\n}\n\n/**\n * Transform an element.\n *\n * @type {Handler}\n * @param {P5Element} ast\n * @param {Array.<ElementChild>} children\n * @returns {Element}\n */\nfunction element(ctx, ast, children) {\n const fn = ctx.schema.space === 'svg' ? s : h\n let index = -1\n /** @type {Object.<string, string>} */\n const props = {}\n\n while (++index < ast.attrs.length) {\n const attribute = ast.attrs[index]\n props[(attribute.prefix ? attribute.prefix + ':' : '') + attribute.name] =\n attribute.value\n }\n\n const result = fn(ast.tagName, props, children)\n\n if (result.tagName === 'template' && 'content' in ast) {\n const pos = ast.sourceCodeLocation\n const startTag = pos && pos.startTag && position(pos.startTag)\n const endTag = pos && pos.endTag && position(pos.endTag)\n\n /** @type {Root} */\n // @ts-expect-error Types are wrong.\n const content = transform(ctx, ast.content)\n\n if (startTag && endTag && ctx.file) {\n content.position = {start: startTag.end, end: endTag.start}\n }\n\n result.content = content\n }\n\n return result\n}\n\n/**\n * Create clean positional information.\n *\n * @param {Context} ctx\n * @param {Node} node\n * @param {P5ElementLocation} location\n * @returns {Position|null}\n */\nfunction createLocation(ctx, node, location) {\n const result = position(location)\n\n if (node.type === 'element') {\n const tail = node.children[node.children.length - 1]\n\n // Bug for unclosed with children.\n // See: <https://github.com/inikulin/parse5/issues/109>.\n if (\n result &&\n !location.endTag &&\n tail &&\n tail.position &&\n tail.position.end\n ) {\n result.end = Object.assign({}, tail.position.end)\n }\n\n if (ctx.verbose) {\n /** @type {Object.<string, Position|null>} */\n const props = {}\n /** @type {string} */\n let key\n\n for (key in location.attrs) {\n if (own.call(location.attrs, key)) {\n props[find(ctx.schema, key).property] = position(location.attrs[key])\n }\n }\n\n node.data = {\n position: {\n opening: position(location.startTag),\n closing: location.endTag ? position(location.endTag) : null,\n properties: props\n }\n }\n }\n }\n\n return result\n}\n\n/**\n * @param {P5Location} loc\n * @returns {Position|null}\n */\nfunction position(loc) {\n const start = point({\n line: loc.startLine,\n column: loc.startCol,\n offset: loc.startOffset\n })\n const end = point({\n line: loc.endLine,\n column: loc.endCol,\n offset: loc.endOffset\n })\n // @ts-expect-error `null` is fine.\n return start || end ? {start, end} : null\n}\n\n/**\n * @param {Point} point\n * @returns {Point|null}\n */\nfunction point(point) {\n return point.line && point.column ? point : null\n}\n\n/**\n * @param {VFile|Options} value\n * @returns {value is VFile}\n */\nfunction isFile(value) {\n return 'messages' in value\n}\n","/**\n * @typedef {import('unist').Point} Point\n * @typedef {import('vfile').VFile} VFile\n *\n * @typedef {Pick<Point, 'line'|'column'>} PositionalPoint\n * @typedef {Required<Point>} FullPoint\n * @typedef {NonNullable<Point['offset']>} Offset\n */\n\n/**\n * Get transform functions for the given `document`.\n *\n * @param {string|Uint8Array|VFile} file\n */\nexport function location(file) {\n var value = String(file)\n /** @type {Array.<number>} */\n var indices = []\n var search = /\\r?\\n|\\r/g\n\n while (search.test(value)) {\n indices.push(search.lastIndex)\n }\n\n indices.push(value.length + 1)\n\n return {toPoint, toOffset}\n\n /**\n * Get the line and column-based `point` for `offset` in the bound indices.\n * Returns a point with `undefined` values when given invalid or out of bounds\n * input.\n *\n * @param {Offset} offset\n * @returns {FullPoint}\n */\n function toPoint(offset) {\n var index = -1\n\n if (offset > -1 && offset < indices[indices.length - 1]) {\n while (++index < indices.length) {\n if (indices[index] > offset) {\n return {\n line: index + 1,\n column: offset - (indices[index - 1] || 0) + 1,\n offset\n }\n }\n }\n }\n\n return {line: undefined, column: undefined, offset: undefined}\n }\n\n /**\n * Get the `offset` for a line and column-based `point` in the bound indices.\n * Returns `-1` when given invalid or out of bounds input.\n *\n * @param {PositionalPoint} point\n * @returns {Offset}\n */\n function toOffset(point) {\n var line = point && point.line\n var column = point && point.column\n /** @type {number} */\n var offset\n\n if (\n typeof line === 'number' &&\n typeof column === 'number' &&\n !Number.isNaN(line) &&\n !Number.isNaN(column) &&\n line - 1 in indices\n ) {\n offset = (indices[line - 2] || 0) + column - 1 || 0\n }\n\n return offset > -1 && offset < indices[indices.length - 1] ? offset : -1\n }\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Text} Text\n *\n * @typedef {import('unist-util-is').AssertPredicate<Element>} AssertElement\n * @typedef {import('unist-util-is').AssertPredicate<Text>} AssertText\n * @typedef {import('unist-util-is').AssertPredicate<Root>} AssertRoot\n *\n * @callback CreateElementLike\n * @param {string} name\n * @param {any} attributes\n * @param {Array.<string|any>} [children]\n * @returns {any}\n *\n * @typedef Context\n * @property {html|svg} schema\n * @property {string|null} prefix\n * @property {number} key\n * @property {boolean} react\n * @property {boolean} vue\n * @property {boolean} vdom\n * @property {boolean} hyperscript\n *\n * @typedef Options\n * @property {string|null} [prefix]\n * @property {'html'|'svg'} [space]\n */\n\nimport {html, svg, find, hastToReact} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {stringify as commas} from 'comma-separated-tokens'\nimport style from 'style-to-object'\nimport {webNamespaces} from 'web-namespaces'\nimport {convert} from 'unist-util-is'\n\nconst ns = /** @type {Record<string, string>} */ (webNamespaces)\nconst toReact = /** @type {Record<string, string>} */ (hastToReact)\n\nconst own = {}.hasOwnProperty\n\n/** @type {AssertRoot} */\n// @ts-expect-error it’s correct.\nconst root = convert('root')\n/** @type {AssertElement} */\n// @ts-expect-error it’s correct.\nconst element = convert('element')\n/** @type {AssertText} */\n// @ts-expect-error it’s correct.\nconst text = convert('text')\n\n/**\n * @template {CreateElementLike} H\n * @param {H} h\n * @param {Element|Root} tree\n * @param {string|boolean|Options} [options]\n * @returns {ReturnType<H>}\n */\nexport function toH(h, tree, options) {\n if (typeof h !== 'function') {\n throw new TypeError('h is not a function')\n }\n\n const r = react(h)\n const v = vue(h)\n const vd = vdom(h)\n /** @type {string|boolean|null|undefined} */\n let prefix\n /** @type {Element} */\n let node\n\n if (typeof options === 'string' || typeof options === 'boolean') {\n prefix = options\n options = {}\n } else {\n if (!options) options = {}\n prefix = options.prefix\n }\n\n if (root(tree)) {\n // @ts-expect-error Allow `doctypes` in there, we’ll filter them out later.\n node =\n tree.children.length === 1 && element(tree.children[0])\n ? tree.children[0]\n : {\n type: 'element',\n tagName: 'div',\n properties: {},\n children: tree.children\n }\n } else if (element(tree)) {\n node = tree\n } else {\n throw new Error(\n // @ts-expect-error runtime.\n 'Expected root or element, not `' + ((tree && tree.type) || tree) + '`'\n )\n }\n\n return transform(h, node, {\n schema: options.space === 'svg' ? svg : html,\n prefix:\n prefix === undefined || prefix === null\n ? r || v || vd\n ? 'h-'\n : null\n : typeof prefix === 'string'\n ? prefix\n : prefix\n ? 'h-'\n : null,\n key: 0,\n react: r,\n vue: v,\n vdom: vd,\n hyperscript: hyperscript(h)\n })\n}\n\n/**\n * Transform a hast node through a hyperscript interface to *anything*!\n *\n * @template {CreateElementLike} H\n * @param {H} h\n * @param {Element} node\n * @param {Context} ctx\n */\nfunction transform(h, node, ctx) {\n const parentSchema = ctx.schema\n let schema = parentSchema\n let name = node.tagName\n /** @type {Record<string, unknown>} */\n const attributes = {}\n /** @type {Array.<ReturnType<H>|string>} */\n const nodes = []\n let index = -1\n /** @type {string} */\n let key\n\n if (parentSchema.space === 'html' && name.toLowerCase() === 'svg') {\n schema = svg\n ctx.schema = schema\n }\n\n for (key in node.properties) {\n if (node.properties && own.call(node.properties, key)) {\n addAttribute(attributes, key, node.properties[key], ctx, name)\n }\n }\n\n if (ctx.vdom) {\n if (schema.space === 'html') {\n name = name.toUpperCase()\n } else if (schema.space) {\n attributes.namespace = ns[schema.space]\n }\n }\n\n if (ctx.prefix) {\n ctx.key++\n attributes.key = ctx.prefix + ctx.key\n }\n\n if (node.children) {\n while (++index < node.children.length) {\n const value = node.children[index]\n\n if (element(value)) {\n nodes.push(transform(h, value, ctx))\n } else if (text(value)) {\n nodes.push(value.value)\n }\n }\n }\n\n // Restore parent schema.\n ctx.schema = parentSchema\n\n // Ensure no React warnings are triggered for void elements having children\n // passed in.\n return nodes.length > 0\n ? h.call(node, name, attributes, nodes)\n : h.call(node, name, attributes)\n}\n\n/**\n * @param {Record<string, unknown>} props\n * @param {string} prop\n * @param {unknown} value\n * @param {Context} ctx\n * @param {string} name\n */\n// eslint-disable-next-line complexity, max-params\nfunction addAttribute(props, prop, value, ctx, name) {\n const info = find(ctx.schema, prop)\n /** @type {string|undefined} */\n let subprop\n\n // Ignore nullish and `NaN` values.\n // Ignore `false` and falsey known booleans for hyperlike DSLs.\n if (\n value === undefined ||\n value === null ||\n (typeof value === 'number' && Number.isNaN(value)) ||\n (value === false && (ctx.vue || ctx.vdom || ctx.hyperscript)) ||\n (!value && info.boolean && (ctx.vue || ctx.vdom || ctx.hyperscript))\n ) {\n return\n }\n\n if (Array.isArray(value)) {\n // Accept `array`.\n // Most props are space-separated.\n value = info.commaSeparated ? commas(value) : spaces(value)\n }\n\n // Treat `true` and truthy known booleans.\n if (info.boolean && ctx.hyperscript) {\n value = ''\n }\n\n // VDOM, Vue, and React accept `style` as object.\n if (\n info.property === 'style' &&\n typeof value === 'string' &&\n (ctx.react || ctx.vue || ctx.vdom)\n ) {\n value = parseStyle(value, name)\n }\n\n if (ctx.vue) {\n if (info.property !== 'style') subprop = 'attrs'\n } else if (!info.mustUseProperty) {\n if (ctx.vdom) {\n if (info.property !== 'style') subprop = 'attributes'\n } else if (ctx.hyperscript) {\n subprop = 'attrs'\n }\n }\n\n if (subprop) {\n props[subprop] = Object.assign(props[subprop] || {}, {\n [info.attribute]: value\n })\n } else if (info.space && ctx.react) {\n props[toReact[info.property] || info.property] = value\n } else {\n props[info.attribute] = value\n }\n}\n\n/**\n * Check if `h` is `react.createElement`.\n *\n * @param {CreateElementLike} h\n * @returns {boolean}\n */\nfunction react(h) {\n /** @type {unknown} */\n const node = h('div', {})\n return Boolean(\n node &&\n // @ts-expect-error Looks like a React node.\n ('_owner' in node || '_store' in node) &&\n // @ts-expect-error Looks like a React node.\n (node.key === undefined || node.key === null)\n )\n}\n\n/**\n * Check if `h` is `hyperscript`.\n *\n * @param {CreateElementLike} h\n * @returns {boolean}\n */\nfunction hyperscript(h) {\n return 'context' in h && 'cleanup' in h\n}\n\n/**\n * Check if `h` is `virtual-dom/h`.\n *\n * @param {CreateElementLike} h\n * @returns {boolean}\n */\nfunction vdom(h) {\n /** @type {unknown} */\n const node = h('div', {})\n // @ts-expect-error Looks like a vnode.\n return node.type === 'VirtualNode'\n}\n\n/**\n * Check if `h` is Vue.\n *\n * @param {CreateElementLike} h\n * @returns {boolean}\n */\nfunction vue(h) {\n /** @type {unknown} */\n const node = h('div', {})\n // @ts-expect-error Looks like a Vue node.\n return Boolean(node && node.context && node.context._isVue)\n}\n\n/**\n * @param {string} value\n * @param {string} tagName\n * @returns {Record<string, string>}\n */\nfunction parseStyle(value, tagName) {\n /** @type {Record<string, string>} */\n const result = {}\n\n try {\n style(value, (name, value) => {\n if (name.slice(0, 4) === '-ms-') name = 'ms-' + name.slice(4)\n\n result[\n name.replace(\n /-([a-z])/g,\n /**\n * @param {string} _\n * @param {string} $1\n * @returns {string}\n */ (_, $1) => $1.toUpperCase()\n )\n ] = value\n })\n } catch (error) {\n error.message =\n tagName + '[style]' + error.message.slice('undefined'.length)\n throw error\n }\n\n return result\n}\n","var own = {}.hasOwnProperty\n\n/**\n * @callback Handler\n * @param {...unknown} value\n * @return {unknown}\n *\n * @typedef {Record<string, Handler>} Handlers\n *\n * @typedef {Object} Options\n * @property {Handler} [unknown]\n * @property {Handler} [invalid]\n * @property {Handlers} [handlers]\n */\n\n/**\n * Handle values based on a property.\n *\n * @param {string} key\n * @param {Options} [options]\n */\nexport function zwitch(key, options) {\n var settings = options || {}\n\n /**\n * Handle one value.\n * Based on the bound `key`, a respective handler will be called.\n * If `value` is not an object, or doesn’t have a `key` property, the special\n * “invalid” handler will be called.\n * If `value` has an unknown `key`, the special “unknown” handler will be\n * called.\n *\n * All arguments, and the context object, are passed through to the handler,\n * and it’s result is returned.\n *\n * @param {...unknown} [value]\n * @this {unknown}\n * @returns {unknown}\n * @property {Handler} invalid\n * @property {Handler} unknown\n * @property {Handlers} handlers\n */\n function one(value) {\n var fn = one.invalid\n var handlers = one.handlers\n\n if (value && own.call(value, key)) {\n fn = own.call(handlers, value[key]) ? handlers[value[key]] : one.unknown\n }\n\n if (fn) {\n return fn.apply(this, arguments)\n }\n }\n\n one.handlers = settings.handlers || {}\n one.invalid = settings.invalid\n one.unknown = settings.unknown\n\n return one\n}\n","/**\n * @typedef {import('parse5').Node} P5Node\n * @typedef {import('parse5').Document} P5Document\n * @typedef {import('parse5').DocumentFragment} P5Fragment\n * @typedef {import('parse5').DocumentType} P5Doctype\n * @typedef {import('parse5').CommentNode} P5Comment\n * @typedef {import('parse5').TextNode} P5Text\n * @typedef {import('parse5').Element} P5Element\n * @typedef {import('parse5').Attribute} P5Attribute\n * @typedef {import('parse5').ParentNode} P5Parent\n * @typedef {Exclude<P5Node, P5Document|P5Fragment>} P5Child\n * @typedef {import('property-information').Schema} Schema\n * @typedef {import('property-information').Info} Info\n * @typedef {'html'|'svg'} Space\n * @typedef {import('hast').Parent} Parent\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').DocType} Doctype\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast').Comment} Comment\n * @typedef {Parent['children'][number]} Child\n * @typedef {Child|Root} Node\n *\n * @callback Handle\n * @param {Node} node\n * @param {Schema} schema\n * @returns {P5Node}\n */\n\nimport {html, svg, find} from 'property-information'\nimport {toH} from 'hast-to-hyperscript'\nimport {webNamespaces} from 'web-namespaces'\nimport {zwitch} from 'zwitch'\n\nvar own = {}.hasOwnProperty\n\nvar one = zwitch('type', {handlers: {root, element, text, comment, doctype}})\n\n/**\n * Transform a tree from hast to Parse5’s AST.\n *\n * @param {Node} tree\n * @param {Space} [space='html']\n * @returns {P5Node}\n */\nexport function toParse5(tree, space) {\n // @ts-ignore Types are wrong.\n return one(tree, space === 'svg' ? svg : html)\n}\n\n/**\n * @type {Handle}\n * @param {Root} node\n * @returns {P5Document}\n */\nfunction root(node, schema) {\n /** @type {P5Document} */\n var p5 = {\n nodeName: '#document',\n mode: (node.data || {}).quirksMode ? 'quirks' : 'no-quirks',\n childNodes: []\n }\n // @ts-ignore Assume correct children.\n p5.childNodes = all(node.children, p5, schema)\n return patch(node, p5)\n}\n\n/**\n * @type {Handle}\n * @param {Root} node\n * @returns {P5Fragment}\n */\nfunction fragment(node, schema) {\n /** @type {P5Fragment} */\n var p5 = {nodeName: '#document-fragment', childNodes: []}\n // @ts-ignore Assume correct children.\n p5.childNodes = all(node.children, p5, schema)\n return patch(node, p5)\n}\n\n/**\n * @type {Handle}\n * @param {Doctype} node\n * @returns {P5Doctype}\n */\nfunction doctype(node) {\n return patch(node, {\n nodeName: '#documentType',\n name: 'html',\n publicId: '',\n systemId: '',\n parentNode: undefined\n })\n}\n\n/**\n * @type {Handle}\n * @param {Text} node\n * @returns {P5Text}\n */\nfunction text(node) {\n return patch(node, {\n nodeName: '#text',\n value: node.value,\n parentNode: undefined\n })\n}\n\n/**\n * @type {Handle}\n * @param {Comment} node\n * @returns {P5Comment}\n */\nfunction comment(node) {\n return patch(node, {\n nodeName: '#comment',\n data: node.value,\n parentNode: undefined\n })\n}\n\n/**\n * @type {Handle}\n * @param {Element} node\n * @returns {P5Element}\n */\nfunction element(node, schema) {\n /** @type {Space} */\n // @ts-ignore Assume space.\n var space = schema.space\n return toH(h, Object.assign({}, node, {children: []}), {space})\n\n /**\n * @param {string} name\n * @param {Object.<string, string|boolean|number>} attrs\n */\n function h(name, attrs) {\n /** @type {Array.<P5Attribute>} */\n var values = []\n /** @type {Info} */\n var info\n /** @type {P5Attribute} */\n var value\n /** @type {string} */\n var key\n /** @type {number} */\n var index\n /** @type {P5Element} */\n var p5\n\n for (key in attrs) {\n if (!own.call(attrs, key) || attrs[key] === false) {\n continue\n }\n\n info = find(schema, key)\n\n if (info.boolean && !attrs[key]) {\n continue\n }\n\n value = {name: key, value: attrs[key] === true ? '' : String(attrs[key])}\n\n if (info.space && info.space !== 'html' && info.space !== 'svg') {\n index = key.indexOf(':')\n\n if (index < 0) {\n value.prefix = ''\n } else {\n value.name = key.slice(index + 1)\n value.prefix = key.slice(0, index)\n }\n\n value.namespace = webNamespaces[info.space]\n }\n\n values.push(value)\n }\n\n if (schema.space === 'html' && node.tagName === 'svg') schema = svg\n\n p5 = patch(node, {\n nodeName: name,\n tagName: name,\n attrs: values,\n namespaceURI: webNamespaces[schema.space],\n childNodes: [],\n parentNode: undefined\n })\n\n // @ts-ignore Assume correct children.\n p5.childNodes = all(node.children, p5, schema)\n\n // @ts-ignore Types are wrong.\n if (name === 'template') p5.content = fragment(node.content, schema)\n\n return p5\n }\n}\n\n/**\n * @param {Array.<Child>} children\n * @param {P5Parent} p5\n * @param {Schema} schema\n * @returns {Array.<P5Child>}\n */\nfunction all(children, p5, schema) {\n var index = -1\n /** @type {Array.<P5Child>} */\n var result = []\n /** @type {P5Child} */\n var child\n\n if (children) {\n while (++index < children.length) {\n // @ts-ignore Assume child.\n child = one(children[index], schema)\n\n // @ts-ignore types are wrong.\n child.parentNode = p5\n\n result.push(child)\n }\n }\n\n return result\n}\n\n/**\n * Patch specific properties.\n *\n * @template {P5Node} T\n * @param {Node} node\n * @param {T} p5\n * @returns {T}\n */\nfunction patch(node, p5) {\n var position = node.position\n\n if (position && position.start && position.end) {\n // @ts-ignore Types are wrong.\n p5.sourceCodeLocation = {\n startLine: position.start.line,\n startCol: position.start.column,\n startOffset: position.start.offset,\n endLine: position.end.line,\n endCol: position.end.column,\n endOffset: position.end.offset\n }\n }\n\n return p5\n}\n","/**\n * List of HTML void tag names.\n *\n * @type {Array<string>}\n */\nexport const htmlVoidElements = [\n 'area',\n 'base',\n 'basefont',\n 'bgsound',\n 'br',\n 'col',\n 'command',\n 'embed',\n 'frame',\n 'hr',\n 'image',\n 'img',\n 'input',\n 'isindex',\n 'keygen',\n 'link',\n 'menuitem',\n 'meta',\n 'nextid',\n 'param',\n 'source',\n 'track',\n 'wbr'\n]\n","/**\n * @typedef {import('vfile').VFile} VFile\n * @typedef {import('parse5').Document} P5Document\n * @typedef {import('parse5').DocumentFragment} P5Fragment\n * @typedef {Omit<import('parse5').Element, 'parentNode'>} P5Element\n * @typedef {import('parse5').Attribute} P5Attribute\n * @typedef {Omit<import('parse5').Location, 'startOffset' | 'endOffset'> & {startOffset: number|undefined, endOffset: number|undefined}} P5Location\n * @typedef {import('parse5').ParserOptions} P5ParserOptions\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').DocType} Doctype\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast').Comment} Comment\n * @typedef {import('hast').Content} Content\n * @typedef {Root|Content} Node\n * @typedef {import('../complex-types').Raw} Raw\n *\n * @typedef {Omit<Comment, 'value'> & {value: {stitch: Node}}} Stitch\n *\n * @typedef Options\n * @property {Array<string>} [passThrough]\n * List of custom hast node types to pass through (keep) in hast.\n * If the passed through nodes have children, those children are expected to\n * be hast and will be handled.\n *\n * @typedef HiddenTokenizer\n * @property {Array<HiddenLocationTracker>} __mixins\n * Way too simple, but works for us.\n * @property {HiddenPreprocessor} preprocessor\n * @property {(value: string) => void} write\n * @property {() => number} _consume\n * @property {Array<HiddenToken>} tokenQueue\n * @property {string} state\n * @property {string} returnState\n * @property {number} charRefCode\n * @property {Array<number>} tempBuff\n * @property {Function} _flushCodePointsConsumedAsCharacterReference\n * @property {string} lastStartTagName\n * @property {number} consumedAfterSnapshot\n * @property {boolean} active\n * @property {HiddenToken|undefined} currentCharacterToken\n * @property {HiddenToken|undefined} currentToken\n * @property {unknown} currentAttr\n * @property {Function} NAMED_CHARACTER_REFERENCE_STATE\n * @property {Function} NUMERIC_CHARACTER_REFERENCE_END_STATE\n *\n * @typedef {Record<string, unknown> & {location: P5Location}} HiddenToken\n *\n * @typedef HiddenPreprocessor\n * @property {string|undefined} html\n * @property {number} pos\n * @property {number} lastGapPos\n * @property {number} lastCharPos\n * @property {Array<number>} gapStack\n * @property {boolean} skipNextNewLine\n * @property {boolean} lastChunkWritten\n * @property {boolean} endOfChunkHit\n *\n * @typedef HiddenLocationTracker\n * @property {P5Location|undefined} currentAttrLocation\n * @property {P5Location} ctLoc\n * @property {HiddenPosTracker} posTracker\n *\n * @typedef HiddenPosTracker\n * @property {boolean} isEol\n * @property {number} lineStartPos\n * @property {number} droppedBufferSize\n * @property {number} offset\n * @property {number} col\n * @property {number} line\n */\n\n// @ts-expect-error: untyped.\nimport Parser from 'parse5/lib/parser/index.js'\nimport {pointStart, pointEnd} from 'unist-util-position'\nimport {visit} from 'unist-util-visit'\nimport {fromParse5} from 'hast-util-from-parse5'\nimport {toParse5} from 'hast-util-to-parse5'\nimport {htmlVoidElements} from 'html-void-elements'\nimport {webNamespaces} from 'web-namespaces'\nimport {zwitch} from 'zwitch'\n\nconst inTemplateMode = 'IN_TEMPLATE_MODE'\nconst dataState = 'DATA_STATE'\nconst characterToken = 'CHARACTER_TOKEN'\nconst startTagToken = 'START_TAG_TOKEN'\nconst endTagToken = 'END_TAG_TOKEN'\nconst commentToken = 'COMMENT_TOKEN'\nconst doctypeToken = 'DOCTYPE_TOKEN'\n\n/** @type {P5ParserOptions} */\nconst parseOptions = {sourceCodeLocationInfo: true, scriptingEnabled: false}\n\n/**\n * Given a hast tree and an optional vfile (for positional info), return a new\n * parsed-again hast tree.\n *\n * @param tree\n * Original hast tree.\n * @param file\n * Virtual file for positional info, optional.\n * @param options\n * Configuration.\n */\nexport const raw =\n /**\n * @type {(\n * ((tree: Node, file: VFile|undefined, options?: Options) => Node) &\n * ((tree: Node, options?: Options) => Node)\n * )}\n */\n (\n /**\n * @param {Node} tree\n * @param {VFile} [file]\n * @param {Options} [options]\n */\n function (tree, file, options) {\n let index = -1\n const parser = new Parser(parseOptions)\n const one = zwitch('type', {\n // @ts-expect-error: hush.\n handlers: {root, element, text, comment, doctype, raw: handleRaw},\n // @ts-expect-error: hush.\n unknown\n })\n /** @type {boolean|undefined} */\n let stitches\n /** @type {HiddenTokenizer|undefined} */\n let tokenizer\n /** @type {HiddenPreprocessor|undefined} */\n let preprocessor\n /** @type {HiddenPosTracker|undefined} */\n let posTracker\n /** @type {HiddenLocationTracker|undefined} */\n let locationTracker\n\n if (isOptions(file)) {\n options = file\n file = undefined\n }\n\n if (options && options.passThrough) {\n while (++index < options.passThrough.length) {\n // @ts-expect-error: hush.\n one.handlers[options.passThrough[index]] = stitch\n }\n }\n\n const result = fromParse5(\n documentMode(tree) ? document() : fragment(),\n file\n )\n\n if (stitches) {\n visit(result, 'comment', (node, index, parent) => {\n const stitch = /** @type {Stitch} */ (/** @type {unknown} */ (node))\n if (stitch.value.stitch && parent !== null && index !== null) {\n // @ts-expect-error: assume the stitch is allowed.\n parent.children[index] = stitch.value.stitch\n return index\n }\n })\n }\n\n // Unpack if possible and when not given a `root`.\n if (\n tree.type !== 'root' &&\n result.type === 'root' &&\n result.children.length === 1\n ) {\n return result.children[0]\n }\n\n return result\n\n /**\n * @returns {P5Fragment}\n */\n function fragment() {\n /** @type {P5Element} */\n const context = {\n nodeName: 'template',\n tagName: 'template',\n attrs: [],\n namespaceURI: webNamespaces.html,\n childNodes: []\n }\n /** @type {P5Element} */\n const mock = {\n nodeName: 'documentmock',\n tagName: 'documentmock',\n attrs: [],\n namespaceURI: webNamespaces.html,\n childNodes: []\n }\n /** @type {P5Fragment} */\n const doc = {nodeName: '#document-fragment', childNodes: []}\n\n parser._bootstrap(mock, context)\n parser._pushTmplInsertionMode(inTemplateMode)\n parser._initTokenizerForFragmentParsing()\n parser._insertFakeRootElement()\n parser._resetInsertionMode()\n parser._findFormInFragmentContext()\n\n tokenizer = parser.tokenizer\n /* c8 ignore next */\n if (!tokenizer) throw new Error('Expected `tokenizer`')\n preprocessor = tokenizer.preprocessor\n locationTracker = tokenizer.__mixins[0]\n posTracker = locationTracker.posTracker\n\n one(tree)\n\n resetTokenizer()\n\n parser._adoptNodes(mock.childNodes[0], doc)\n\n return doc\n }\n\n /**\n * @returns {P5Document}\n */\n function document() {\n /** @type {P5Document} */\n const doc = parser.treeAdapter.createDocument()\n\n parser._bootstrap(doc, undefined)\n tokenizer = parser.tokenizer\n /* c8 ignore next */\n if (!tokenizer) throw new Error('Expected `tokenizer`')\n preprocessor = tokenizer.preprocessor\n locationTracker = tokenizer.__mixins[0]\n posTracker = locationTracker.posTracker\n\n one(tree)\n\n resetTokenizer()\n\n return doc\n }\n\n /**\n * @param {Array<Content>} nodes\n * @returns {void}\n */\n function all(nodes) {\n let index = -1\n\n /* istanbul ignore else - invalid nodes, see rehypejs/rehype-raw#7. */\n if (nodes) {\n while (++index < nodes.length) {\n one(nodes[index])\n }\n }\n }\n\n /**\n * @param {Root} node\n * @returns {void}\n */\n function root(node) {\n all(node.children)\n }\n\n /**\n * @param {Element} node\n * @returns {void}\n */\n function element(node) {\n resetTokenizer()\n parser._processToken(startTag(node), webNamespaces.html)\n\n all(node.children)\n\n if (!htmlVoidElements.includes(node.tagName)) {\n resetTokenizer()\n parser._processToken(endTag(node))\n }\n }\n\n /**\n * @param {Text} node\n * @returns {void}\n */\n function text(node) {\n resetTokenizer()\n parser._processToken({\n type: characterToken,\n chars: node.value,\n location: createParse5Location(node)\n })\n }\n\n /**\n * @param {Doctype} node\n * @returns {void}\n */\n function doctype(node) {\n resetTokenizer()\n parser._processToken({\n type: doctypeToken,\n name: 'html',\n forceQuirks: false,\n publicId: '',\n systemId: '',\n location: createParse5Location(node)\n })\n }\n\n /**\n * @param {Comment|Stitch} node\n * @returns {void}\n */\n function comment(node) {\n resetTokenizer()\n parser._processToken({\n type: commentToken,\n data: node.value,\n location: createParse5Location(node)\n })\n }\n\n /**\n * @param {Raw} node\n * @returns {void}\n */\n function handleRaw(node) {\n const start = pointStart(node)\n const line = start.line || 1\n const column = start.column || 1\n const offset = start.offset || 0\n\n /* c8 ignore next 4 */\n if (!preprocessor) throw new Error('Expected `preprocessor`')\n if (!tokenizer) throw new Error('Expected `tokenizer`')\n if (!posTracker) throw new Error('Expected `posTracker`')\n if (!locationTracker) throw new Error('Expected `locationTracker`')\n\n // Reset preprocessor:\n // See: <https://github.com/inikulin/parse5/blob/9c683e1/packages/parse5/lib/tokenizer/preprocessor.js#L17>.\n preprocessor.html = undefined\n preprocessor.pos = -1\n preprocessor.lastGapPos = -1\n preprocessor.lastCharPos = -1\n preprocessor.gapStack = []\n preprocessor.skipNextNewLine = false\n preprocessor.lastChunkWritten = false\n preprocessor.endOfChunkHit = false\n\n // Reset preprocessor mixin:\n // See: <https://github.com/inikulin/parse5/blob/9c683e1/packages/parse5/lib/extensions/position-tracking/preprocessor-mixin.js>.\n posTracker.isEol = false\n posTracker.lineStartPos = -column + 1 // Looks weird, but ensures we get correct positional info.\n posTracker.droppedBufferSize = offset\n posTracker.offset = 0\n posTracker.col = 1\n posTracker.line = line\n\n // Reset location tracker:\n // See: <https://github.com/inikulin/parse5/blob/9c683e1/packages/parse5/lib/extensions/location-info/tokenizer-mixin.js>.\n locationTracker.currentAttrLocation = undefined\n locationTracker.ctLoc = createParse5Location(node)\n\n // See the code for `parse` and `parseFragment`:\n // See: <https://github.com/inikulin/parse5/blob/9c683e1/packages/parse5/lib/parser/index.js#L371>.\n tokenizer.write(node.value)\n parser._runParsingLoop(null)\n\n // Character references hang, so if we ended there, we need to flush\n // those too.\n // We reset the preprocessor as if the document ends here.\n // Then one single call to the relevant state does the trick, parse5\n // consumes the whole token.\n if (\n tokenizer.state === 'NAMED_CHARACTER_REFERENCE_STATE' ||\n tokenizer.state === 'NUMERIC_CHARACTER_REFERENCE_END_STATE'\n ) {\n preprocessor.lastChunkWritten = true\n tokenizer[tokenizer.state](tokenizer._consume())\n }\n }\n\n /**\n * @param {Node} node\n */\n function stitch(node) {\n stitches = true\n\n /** @type {Node} */\n let clone\n\n // Recurse, because to somewhat handle `[<x>]</x>` (where `[]` denotes the\n // passed through node).\n if ('children' in node) {\n clone = {\n ...node,\n children: raw(\n {type: 'root', children: node.children},\n file,\n options\n // @ts-expect-error Assume a given parent yields a parent.\n ).children\n }\n } else {\n clone = {...node}\n }\n\n // Hack: `value` is supposed to be a string, but as none of the tools\n // (`parse5` or `hast-util-from-parse5`) looks at it, we can pass nodes\n // through.\n comment({type: 'comment', value: {stitch: clone}})\n }\n\n function resetTokenizer() {\n /* c8 ignore next 2 */\n if (!tokenizer) throw new Error('Expected `tokenizer`')\n if (!posTracker) throw new Error('Expected `posTracker`')\n\n // Process final characters if they’re still there after hibernating.\n // Similar to:\n // See: <https://github.com/inikulin/parse5/blob/9c683e1/packages/parse5/lib/extensions/location-info/tokenizer-mixin.js#L95>.\n const token = tokenizer.currentCharacterToken\n\n if (token) {\n token.location.endLine = posTracker.line\n token.location.endCol = posTracker.col + 1\n token.location.endOffset = posTracker.offset + 1\n parser._processToken(token)\n }\n\n // Reset tokenizer:\n // See: <https://github.com/inikulin/parse5/blob/9c683e1/packages/parse5/lib/tokenizer/index.js#L218-L234>.\n // Especially putting it back in the `data` state is useful: some elements,\n // like textareas and iframes, change the state.\n // See GH-7.\n // But also if broken HTML is in `raw`, and then a correct element is given.\n // See GH-11.\n tokenizer.tokenQueue = []\n tokenizer.state = dataState\n tokenizer.returnState = ''\n tokenizer.charRefCode = -1\n tokenizer.tempBuff = []\n tokenizer.lastStartTagName = ''\n tokenizer.consumedAfterSnapshot = -1\n tokenizer.active = false\n tokenizer.currentCharacterToken = undefined\n tokenizer.currentToken = undefined\n tokenizer.currentAttr = undefined\n }\n }\n )\n/**\n * @param {Element} node\n * @returns {HiddenToken}\n */\nfunction startTag(node) {\n /** @type {P5Location} */\n const location = Object.assign(createParse5Location(node))\n // @ts-expect-error extra positional info.\n location.startTag = Object.assign({}, location)\n\n // Untyped token.\n return {\n type: startTagToken,\n tagName: node.tagName,\n selfClosing: false,\n attrs: attributes(node),\n location\n }\n}\n\n/**\n * @param {Element} node\n * @returns {Array<P5Attribute>}\n */\nfunction attributes(node) {\n return toParse5({\n tagName: node.tagName,\n type: 'element',\n properties: node.properties,\n children: []\n // @ts-expect-error Assume element.\n }).attrs\n}\n\n/**\n * @param {Element} node\n * @returns {HiddenToken}\n */\nfunction endTag(node) {\n /** @type {P5Location} */\n const location = Object.assign(createParse5Location(node))\n // @ts-expect-error extra positional info.\n location.startTag = Object.assign({}, location)\n\n // Untyped token.\n return {\n type: endTagToken,\n tagName: node.tagName,\n attrs: [],\n location\n }\n}\n\n/**\n * @param {Node} node\n */\nfunction unknown(node) {\n throw new Error('Cannot compile `' + node.type + '` node')\n}\n\n/**\n * @param {Node} node\n * @returns {boolean}\n */\nfunction documentMode(node) {\n const head = node.type === 'root' ? node.children[0] : node\n return Boolean(\n head &&\n (head.type === 'doctype' ||\n (head.type === 'element' && head.tagName === 'html'))\n )\n}\n\n/**\n * @param {Node|Stitch} node\n * @returns {P5Location}\n */\nfunction createParse5Location(node) {\n const start = pointStart(node)\n const end = pointEnd(node)\n\n return {\n startLine: start.line,\n startCol: start.column,\n startOffset: start.offset,\n endLine: end.line,\n endCol: end.column,\n endOffset: end.offset\n }\n}\n\n/**\n * @param {VFile|Options|undefined} value\n * @return {value is Options}\n */\nfunction isOptions(value) {\n return Boolean(value && !('message' in value && 'messages' in value))\n}\n","/**\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast-util-raw').Options} Options\n * @typedef {import('hast-util-raw')} DoNotTouchAsThisImportIncludesRawInTree\n */\n\nimport {raw} from 'hast-util-raw'\n\n/**\n * Plugin to parse the tree again (and raw nodes).\n * Keeping positional info OK. 🙌\n *\n * @type {import('unified').Plugin<[Options?] | Array<void>, Root>}\n */\nexport default function rehypeRaw(options = {}) {\n return (tree, file) => {\n // Assume that when a root was given, it’s also returned.\n const result = /** @type {Root} */ (raw(tree, file, options))\n return result\n }\n}\n","import * as React from \"react\";\nconst SVGComponent = (props) => (\n <svg\n height={512}\n style={{\n enableBackground: \"new 0 0 512 512\",\n }}\n viewBox=\"0 0 512 512\"\n width={512}\n xmlSpace=\"preserve\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <path d=\"m184.7 413.1 2.1-1.8 156.5-136c5.3-4.6 8.6-11.5 8.6-19.2 0-7.7-3.4-14.6-8.6-19.2L187.1 101l-2.6-2.3C182 97 179 96 175.8 96c-8.7 0-15.8 7.4-15.8 16.6v286.8c0 9.2 7.1 16.6 15.8 16.6 3.3 0 6.4-1.1 8.9-2.9z\" />\n <path\n style={{\n fill: \"#fff\",\n strokeWidth: 0.498539,\n }}\n d=\"M171.101 414.868c-4.514-1.611-8.561-5.771-10.18-10.464-.834-2.42-1.217-288.516-.393-293.894.907-5.921 3.926-10.216 8.895-12.657 3.95-1.94 9.155-1.937 12.793.007 3.343 1.785 161.905 139.906 164.376 143.184 3.021 4.01 4.472 8.2 4.757 13.742.186 3.605.037 5.49-.609 7.727-1.173 4.064-3.454 8.202-5.94 10.774-1.146 1.186-37.704 33.115-81.239 70.955-55.39 48.142-79.907 69.15-81.66 69.97-3.43 1.606-7.454 1.85-10.8.656z\"\n />\n </svg>\n);\nexport default SVGComponent;\n","import * as React from \"react\";\nconst SVGComponent = (props) => (\n <svg\n height={512}\n style={{\n enableBackground: \"new 0 0 512 512\",\n }}\n viewBox=\"0 0 512 512\"\n width={512}\n xmlSpace=\"preserve\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <path d=\"m98.9 184.7 1.8 2.1 136 156.5c4.6 5.3 11.5 8.6 19.2 8.6 7.7 0 14.6-3.4 19.2-8.6L411 187.1l2.3-2.6c1.7-2.5 2.7-5.5 2.7-8.7 0-8.7-7.4-15.8-16.6-15.8H112.6c-9.2 0-16.6 7.1-16.6 15.8 0 3.3 1.1 6.4 2.9 8.9z\" />\n <path\n style={{\n fill: \"#fff\",\n strokeWidth: 0.498539,\n }}\n d=\"M248.273 350.336c-4.083-1.397-7.187-3.22-9.662-5.673-1.064-1.054-32.92-37.549-70.793-81.098-48.133-55.35-69.23-79.958-70.096-81.76-1.803-3.758-1.753-8.546.131-12.382 2.335-4.755 6.517-7.824 12.058-8.848 4.16-.769 288.018-.769 292.178 0 5.54 1.024 9.723 4.093 12.058 8.848 1.847 3.762 1.927 9.146.186 12.495-1.265 2.433-139.44 161.51-142.47 164.02-6.161 5.108-16.1 6.96-23.59 4.398z\"\n />\n </svg>\n);\nexport default SVGComponent;\n","import './App.css';\nimport { useState, useCallback } from \"react\";\nimport data from \"./data\";\nimport ReactMarkdown from 'react-markdown';\nimport { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';\n// Theme examples: https://react-syntax-highlighter.github.io/react-syntax-highlighter/demo/prism.html\nimport { coldarkDark } from 'react-syntax-highlighter/dist/esm/styles/prism';\nimport remarkGfm from 'remark-gfm';\nimport rehypeRaw from 'rehype-raw';\nimport RightArrow from \"./components/right_arrow\";\nimport DownArrow from \"./components/down_arrow\";\n\n// TODO: Future, have a way to bookmark to specific entries\n\n// Copy icon reference:\n// https://github.com/react-syntax-highlighter/react-syntax-highlighter/issues/132\n\nfunction debounce(fn, wait, immediate) {\n let timeout;\n\n return (...args) => {\n const context = this;\n\n const later = () => {\n timeout = null;\n if (!immediate) fn.apply(context, args);\n };\n\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n\n if (callNow) {\n fn.apply(context, args);\n }\n };\n}\n\n// const types = data.items.map(item => item.type);\n\nfunction filterData(data, filter = \"\", typeFilter = \"all\") {\n // console.warn(\"filterData\");\n \n if (typeFilter === \"all\" && filter.length) return data;\n\n const typeFilteredItems = {};\n typeFilteredItems.items = typeFilter !== \"all\" ? data.items.filter(item => item.type === typeFilter) : data.items;\n\n if (filter.length) return typeFilteredItems;\n\n const filtered = {};\n filtered.items = filter.length ? typeFilteredItems.items.filter(item => {\n // console.warn(\"title\", filter.toLowerCase(), item.title.toLowerCase(), item.title.toLowerCase().includes(filter.toLowerCase()));\n // console.warn(\"content\", filter.toLowerCase(), item.content.toLowerCase(), item.content.toLowerCase().includes(filter.toLowerCase()));\n return item.title.toLowerCase().includes(filter.toLowerCase()) || item.content.toLowerCase().includes(filter.toLowerCase());\n }) : typeFilteredItems.items;\n\n return filtered;\n};\n\nfunction App() {\n const [filter, setFilter] = useState(\"\");\n const [typeFilter, setTypeFilter] = useState(\"all\");\n const [expandedItems, setExpandedItems] = useState([]);\n const [expandedCategories, setExpandedCategories] = useState([]);\n // Alphabetize categories\n // data.items.sort((fa, fb) => {\n // if (fa.category < fb.category) {\n // return -1;\n // }\n // if (fa.category > fb.category) {\n // return 1;\n // }\n // return 0;\n // });\n function handleFilter(event) {\n // console.warn(\"handleFilter\");\n debounce(setFilter(event.target.value), 300);\n }\n\n const handleExpandItem = useCallback((event) => {\n // console.warn(\"handleExpandItem\");\n const newExpanded = expandedItems.includes(event) ? expandedItems.filter(i => i !== event) : [...expandedItems, event];\n setExpandedItems(newExpanded);\n }, [expandedItems]);\n\n const handleCategoryClick = useCallback((event) => {\n // console.warn(\"handleCategoryClick\");\n const newExpandedCategory = expandedCategories.includes(event) ? expandedCategories.filter(i => i !== event) : [...expandedCategories, event];\n setExpandedCategories(newExpandedCategory);\n }, [expandedCategories]);\n\n function expandAll() {\n setExpandedCategories(data.categories.map(category => category.title));\n }\n\n function collapseAll() {\n setExpandedItems([]);\n setExpandedCategories([]);\n }\n\n // function handleTypeFilterClick(type) {\n // // console.warn(\"handleTypeFilterClick\");\n // setTypeFilter(type);\n // }\n\n function clearFilters() {\n setFilter(\"\");\n setTypeFilter(\"all\");\n }\n\n // console.warn(\"expandedCategories\", expandedCategories);\n // console.warn(\"expandedItems\", expandedItems);\n\n const filtered = filter.length || typeFilter !== \"all\" ? filterData(data, filter, typeFilter) : data;\n // console.warn(\"render\");\n return (\n <div className=\"App\">\n <div className={\"inputFilter\"}>\n <span align=\"center\"><input type=\"text\" onChange={handleFilter} value={filter} /> Search</span>\n <span align=\"center\"> <a href=\"https://github.com/tteck/Proxmox/blob/main/LICENSE\"><img alt=\"License MIT\" src=\"https://img.shields.io/badge/license-MIT-blue\" /></a> <a href=\"https://github.com/tteck/Proxmox/discussions\"><img src=\"https://img.shields.io/badge/%F0%9F%92%AC-Discussions-orange\" alt=\"Discussions\" /></a> <a href=\"https://github.com/tteck/Proxmox/blob/main/CHANGELOG.MD\"><img src=\"https://img.shields.io/badge/🔶-Changelog-blue\" alt=\"Changelog\" /></a> <a href=\"https://ko-fi.com/D1D7EP4GF\"><img src=\"https://img.shields.io/badge/%E2%98%95-Buy%20me%20a%20coffee-red\" alt=\"Buy me a coffee\" /></a></span>\n {/* <span className=\"typeFilter\">Type: {[\"all\", ...new Set(types)].map(type =>\n <span onClick={() => handleTypeFilterClick(type)} key={type} className={typeFilter === type ? \"typeFilterSelected\" : \"typeFilterNotSelected\"}> {type} </span>\n )}</span> */}\n </div>\n {filtered.items.length === 0 && <div>No items match your criteria <button onClick={clearFilters}>Clear Filters</button></div>}\n <div><span onClick={expandAll}> ➕ </span> <span onClick={collapseAll}> ➖ </span></div>\n {filtered.items?.map((item, index) => {\n return <div className={\"App-items\"} key={item.title} >\n {/** Show Category \n * Since Categories are flatted, only show the category the first time it appears while mapping through.\n */}\n {(index === 0 || filtered.items[index === 0 ? 0 : index - 1].category !== item.category) && <div onClick={() => handleCategoryClick(item.category)} className={\"itemCategory\"}>\n {/* <img className={\"categoryLogo\"} src={data.categories.filter(category => category.title === item.category)[0]?.logo_url || data.categories[0].logo_url} alt=\"logo\" /> */}\n {item.category}{(((filter && item.title.toLowerCase().includes(filter.toLowerCase())) || expandedItems.includes(item.title)) || expandedCategories.includes(item.category)) ? <DownArrow className=\"navArrow\" alt=\"Expanded\" /> : <RightArrow className=\"navArrow\" alt=\"Collapsed\" />} </div>}\n\n {/* Show Item Title */}\n {(((filter && item.title.toLowerCase().includes(filter.toLowerCase())) || expandedItems.includes(item.title)) || expandedCategories.includes(item.category)) && <span onClick={() => handleExpandItem(item.title)} className={\"itemTitle\"}>{item.title}</span>}\n\n {\n ((filter && item.title.toLowerCase().includes(filter.toLowerCase())) || expandedItems.includes(item.title)) && <div className=\"item\">\n <ReactMarkdown\n children={item.content}\n remarkPlugins={[remarkGfm]}\n rehypePlugins={[rehypeRaw]}\n components={{\n code({ node, inline, className, children, ...props }) {\n const match = /language-(\\w+)/.exec(className || '');\n return !inline && match ? (\n <>\n <CopyButton valueToCopy={String(children)} />\n <SyntaxHighlighter\n children={String(children).replace(/\\n$/, '')}\n style={coldarkDark}\n language={match[1]}\n PreTag=\"div\"\n {...props}\n />\n </>\n ) : (\n <code className={className} {...props}>\n {children}\n </code>\n );\n }\n }}\n />\n </div>}\n </div>;\n })}\n </div>\n );\n}\nfunction CopyButton({ valueToCopy }) {\n function handleClick(text) {\n navigator.clipboard.writeText(text);\n }\n\n return <button onClick={() => handleClick(valueToCopy)}>Copy</button>;\n}\n\nexport default App;\n","import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport './index.css';\nimport App from './App';\n\nconst root = ReactDOM.createRoot(document.getElementById('root'));\nroot.render(\n <React.StrictMode>\n <App />\n </React.StrictMode>\n);\n\n"],"names":["hasOwn","Object","prototype","hasOwnProperty","toStr","toString","defineProperty","gOPD","getOwnPropertyDescriptor","isArray","arr","Array","call","isPlainObject","obj","key","hasOwnConstructor","hasIsPrototypeOf","constructor","setProperty","target","options","name","enumerable","configurable","value","newValue","writable","getProperty","module","exports","extend","src","copy","copyIsArray","clone","arguments","i","length","deep","selector","defaultTagName","subvalue","previous","match","props","start","search","lastIndex","exec","slice","index","id","className","push","type","tagName","properties","children","find","require","normalize","parseSelector","spaces","commas","schema","caseSensitive","adjust","values","result","toLowerCase","createAdjustMap","property","node","own","isChildren","unshift","addProperty","addChild","content","info","undefined","spaceSeparated","commaSeparated","commaOrSpaceSeparated","join","style","concat","parsePrimitive","parsePrimitives","isNode","nodes","Error","String","number","positiveNumber","isNaN","Number","boolean","overloadedBoolean","html","factory","displayName","val","input","indexOf","end","trim","DefinedInfo","Info","data","normal","prop","Type","valid","test","charAt","attribute","replace","dash","camelcase","toUpperCase","datasetToProperty","cap","kebab","datasetToAttribute","$0","merge","xlink","xml","xmlns","aria","types","create","booleanish","transform","_","ariaActiveDescendant","ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaControls","ariaCurrent","ariaDescribedBy","ariaDetails","ariaDisabled","ariaDropEffect","ariaErrorMessage","ariaExpanded","ariaFlowTo","ariaGrabbed","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabel","ariaLabelledBy","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaOwns","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRelevant","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText","role","caseInsensitiveTransform","space","attributes","acceptcharset","classname","htmlfor","httpequiv","mustUseProperty","abbr","accept","acceptCharset","accessKey","action","allow","allowFullScreen","allowPaymentRequest","allowUserMedia","alt","as","async","autoCapitalize","autoComplete","autoFocus","autoPlay","capture","charSet","checked","cite","cols","colSpan","contentEditable","controls","controlsList","coords","crossOrigin","dateTime","decoding","default","defer","dir","dirName","disabled","download","draggable","encType","enterKeyHint","form","formAction","formEncType","formMethod","formNoValidate","formTarget","headers","height","hidden","high","href","hrefLang","htmlFor","httpEquiv","imageSizes","imageSrcSet","inputMode","integrity","is","isMap","itemId","itemProp","itemRef","itemScope","itemType","kind","label","lang","language","list","loading","loop","low","manifest","max","maxLength","media","method","min","minLength","multiple","muted","nonce","noModule","noValidate","onAbort","onAfterPrint","onAuxClick","onBeforePrint","onBeforeUnload","onBlur","onCancel","onCanPlay","onCanPlayThrough","onChange","onClick","onClose","onContextMenu","onCopy","onCueChange","onCut","onDblClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onDurationChange","onEmptied","onEnded","onError","onFocus","onFormData","onHashChange","onInput","onInvalid","onKeyDown","onKeyPress","onKeyUp","onLanguageChange","onLoad","onLoadedData","onLoadedMetadata","onLoadEnd","onLoadStart","onMessage","onMessageError","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onOffline","onOnline","onPageHide","onPageShow","onPaste","onPause","onPlay","onPlaying","onPopState","onProgress","onRateChange","onRejectionHandled","onReset","onResize","onScroll","onSecurityPolicyViolation","onSeeked","onSeeking","onSelect","onSlotChange","onStalled","onStorage","onSubmit","onSuspend","onTimeUpdate","onToggle","onUnhandledRejection","onUnload","onVolumeChange","onWaiting","onWheel","open","optimum","pattern","ping","placeholder","playsInline","poster","preload","readOnly","referrerPolicy","rel","required","reversed","rows","rowSpan","sandbox","scope","scoped","seamless","selected","shape","size","sizes","slot","span","spellCheck","srcDoc","srcLang","srcSet","step","tabIndex","title","translate","typeMustMatch","useMap","width","wrap","align","aLink","archive","axis","background","bgColor","border","borderColor","bottomMargin","cellPadding","cellSpacing","char","charOff","classId","clear","code","codeBase","codeType","color","compact","declare","event","face","frame","frameBorder","hSpace","leftMargin","link","longDesc","lowSrc","marginHeight","marginWidth","noResize","noHref","noShade","noWrap","object","profile","prompt","rev","rightMargin","rules","scheme","scrolling","standby","summary","text","topMargin","valueType","version","vAlign","vLink","vSpace","allowTransparency","autoCorrect","autoSave","disablePictureInPicture","disableRemotePlayback","prefix","results","security","unselectable","caseSensitiveTransform","Schema","definition","defined","checks","checksLength","mask","check","mark","this","proto","xtend","definitions","apply","powers","increment","Math","pow","xLinkActuate","xLinkArcRole","xLinkHref","xLinkRole","xLinkShow","xLinkTitle","xLinkType","xmlLang","xmlBase","xmlSpace","xmlnsxlink","xmlnsXLink","split","whiteSpace","COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","EMPTY_STRING","str","TypeError","lineno","column","updatePosition","lines","lastIndexOf","position","line","Position","whitespace","source","errorsList","error","msg","err","reason","filename","silent","re","m","comments","c","comment","pos","declaration","ret","decl","decls","declarations","character","charCodeAt","alphabetical","decimal","isBuffer","encodeCache","encode","string","exclude","keepEscaped","l","nextCode","cache","defaultChars","ch","fromCharCode","getEncodeCache","encodeURIComponent","componentChars","el","characters","entity","document","createElement","innerHTML","textContent","legacy","invalid","hexadecimal","alphanumerical","decodeEntity","option","settings","defaults","indent","entityCharacters","namedEntity","terminated","reference","following","warning","output","begin","prev","next","diff","additional","nonTerminated","handleText","handleReference","handleWarning","textContext","referenceContext","warningContext","queue","now","parseError","noop","hexa","deci","tests","prohibited","parseInt","bases","disallowed","flush","offset","messages","parse","Function","DOCUMENT_MODE","VALID_DOCTYPE_NAME","QUIRKS_MODE_PUBLIC_ID_PREFIXES","QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES","QUIRKS_MODE_PUBLIC_IDS","LIMITED_QUIRKS_PUBLIC_ID_PREFIXES","LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES","enquoteDoctypeId","quote","hasPrefix","publicId","prefixes","isConforming","token","systemId","getDocumentMode","QUIRKS","LIMITED_QUIRKS","NO_QUIRKS","serializeContent","controlCharacterInInputStream","noncharacterInInputStream","surrogateInInputStream","nonVoidHtmlElementStartTagWithTrailingSolidus","endTagWithAttributes","endTagWithTrailingSolidus","unexpectedSolidusInTag","unexpectedNullCharacter","unexpectedQuestionMarkInsteadOfTagName","invalidFirstCharacterOfTagName","unexpectedEqualsSignBeforeAttributeName","missingEndTagName","unexpectedCharacterInAttributeName","unknownNamedCharacterReference","missingSemicolonAfterCharacterReference","unexpectedCharacterAfterDoctypeSystemIdentifier","unexpectedCharacterInUnquotedAttributeValue","eofBeforeTagName","eofInTag","missingAttributeValue","missingWhitespaceBetweenAttributes","missingWhitespaceAfterDoctypePublicKeyword","missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers","missingWhitespaceAfterDoctypeSystemKeyword","missingQuoteBeforeDoctypePublicIdentifier","missingQuoteBeforeDoctypeSystemIdentifier","missingDoctypePublicIdentifier","missingDoctypeSystemIdentifier","abruptDoctypePublicIdentifier","abruptDoctypeSystemIdentifier","cdataInHtmlContent","incorrectlyOpenedComment","eofInScriptHtmlCommentLikeText","eofInDoctype","nestedComment","abruptClosingOfEmptyComment","eofInComment","incorrectlyClosedComment","eofInCdata","absenceOfDigitsInNumericCharacterReference","nullCharacterReference","surrogateCharacterReference","characterReferenceOutsideUnicodeRange","controlCharacterReference","noncharacterCharacterReference","missingWhitespaceBeforeDoctypeName","missingDoctypeName","invalidCharacterSequenceAfterDoctypeName","duplicateAttribute","nonConformingDoctype","missingDoctype","misplacedDoctype","endTagWithoutMatchingOpenElement","closingOfElementWithOpenChildElements","disallowedContentInNoscriptInHead","openElementsLeftAfterEof","abandonedHeadElementChild","misplacedStartTagForHeadElement","nestedNoscriptInHead","eofInElementThatCanContainOnlyText","Tokenizer","HTML","$","TAG_NAMES","NS","NAMESPACES","ATTRS","MIME_TYPES","SVG_ATTRS_ADJUSTMENT_MAP","attributename","attributetype","basefrequency","baseprofile","calcmode","clippathunits","diffuseconstant","edgemode","filterunits","glyphref","gradienttransform","gradientunits","kernelmatrix","kernelunitlength","keypoints","keysplines","keytimes","lengthadjust","limitingconeangle","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","numoctaves","pathlength","patterncontentunits","patterntransform","patternunits","pointsatx","pointsaty","pointsatz","preservealpha","preserveaspectratio","primitiveunits","refx","refy","repeatcount","repeatdur","requiredextensions","requiredfeatures","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","surfacescale","systemlanguage","tablevalues","targetx","targety","textlength","viewbox","viewtarget","xchannelselector","ychannelselector","zoomandpan","XML_ATTRS_ADJUSTMENT_MAP","namespace","XLINK","XML","XMLNS","SVG_TAG_NAMES_ADJUSTMENT_MAP","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","clippath","feblend","fecolormatrix","fecomponenttransfer","fecomposite","feconvolvematrix","fediffuselighting","fedisplacementmap","fedistantlight","feflood","fefunca","fefuncb","fefuncg","fefuncr","fegaussianblur","feimage","femerge","femergenode","femorphology","feoffset","fepointlight","fespecularlighting","fespotlight","fetile","feturbulence","foreignobject","lineargradient","radialgradient","textpath","EXITS_FOREIGN_CONTENT","B","BIG","BLOCKQUOTE","BODY","BR","CENTER","CODE","DD","DIV","DL","DT","EM","EMBED","H1","H2","H3","H4","H5","H6","HEAD","HR","I","IMG","LI","LISTING","MENU","META","NOBR","OL","P","PRE","RUBY","S","SMALL","SPAN","STRONG","STRIKE","SUB","SUP","TABLE","TT","U","UL","VAR","causesExit","startTagToken","tn","FONT","getTokenAttr","COLOR","SIZE","FACE","adjustTokenMathMLAttrs","attrs","adjustTokenSVGAttrs","adjustedAttrName","adjustTokenXMLAttrs","adjustedAttrEntry","adjustTokenSVGTagName","adjustedTagName","isIntegrationPoint","ns","foreignNS","MATHML","ANNOTATION_XML","ENCODING","SVG","FOREIGN_OBJECT","DESC","TITLE","isHtmlIntegrationPoint","MI","MO","MN","MS","MTEXT","isMathMLTextIntegrationPoint","TYPE","ACTION","PROMPT","NAME","A","ADDRESS","APPLET","AREA","ARTICLE","ASIDE","BASE","BASEFONT","BGSOUND","BUTTON","CAPTION","COL","COLGROUP","DETAILS","DIALOG","DIR","FIELDSET","FIGCAPTION","FIGURE","FOOTER","FORM","FRAME","FRAMESET","HEADER","HGROUP","IMAGE","INPUT","IFRAME","KEYGEN","LABEL","LINK","MAIN","MALIGNMARK","MARQUEE","MATH","MGLYPH","NAV","NOFRAMES","NOEMBED","NOSCRIPT","OBJECT","OPTGROUP","OPTION","PARAM","PLAINTEXT","RB","RP","RT","RTC","SCRIPT","SECTION","SELECT","SOURCE","STYLE","SUMMARY","TBODY","TEMPLATE","TEXTAREA","TFOOT","TD","TH","THEAD","TR","TRACK","WBR","XMP","SPECIAL_ELEMENTS","UNDEFINED_CODE_POINTS","REPLACEMENT_CHARACTER","CODE_POINTS","EOF","NULL","TABULATION","CARRIAGE_RETURN","LINE_FEED","FORM_FEED","SPACE","EXCLAMATION_MARK","QUOTATION_MARK","NUMBER_SIGN","AMPERSAND","APOSTROPHE","HYPHEN_MINUS","SOLIDUS","DIGIT_0","DIGIT_9","SEMICOLON","LESS_THAN_SIGN","EQUALS_SIGN","GREATER_THAN_SIGN","QUESTION_MARK","LATIN_CAPITAL_A","LATIN_CAPITAL_F","LATIN_CAPITAL_X","LATIN_CAPITAL_Z","RIGHT_SQUARE_BRACKET","GRAVE_ACCENT","LATIN_SMALL_A","LATIN_SMALL_F","LATIN_SMALL_X","LATIN_SMALL_Z","CODE_POINT_SEQUENCES","DASH_DASH_STRING","DOCTYPE_STRING","CDATA_START_STRING","SCRIPT_STRING","PUBLIC_STRING","SYSTEM_STRING","isSurrogate","cp","isSurrogatePair","getSurrogatePairCodePoint","cp1","cp2","isControlCodePoint","isUndefinedCodePoint","ErrorReportingMixinBase","host","opts","posTracker","onParseError","startLine","endLine","startCol","endCol","col","startOffset","endOffset","_setErrorLocation","mxn","_err","_reportError","ErrorReportingTokenizerMixin","LocationInfoTokenizerMixin","Mixin","ErrorReportingParserMixin","parser","ctLoc","locBeforeToken","orig","_bootstrap","fragmentContext","install","tokenizer","_processInputToken","location","beforeToken","PositionTrackingPreprocessorMixin","ErrorReportingPreprocessorMixin","preprocessor","lastErrOffset","preprocessorMixin","LocationInfoOpenElementStackMixin","stack","onItemPop","pop","current","popAllUpToHtmlElement","stackTop","items","remove","element","LocationInfoParserMixin","treeAdapter","lastStartTagToken","lastFosterParentingLocation","currentToken","loc","assign","startTag","setNodeSourceCodeLocation","closingToken","getNodeSourceCodeLocation","getTagName","endLoc","END_TAG_TOKEN","endTag","updateNodeSourceCodeLocation","tokenizerMixin","openElements","_setEndLocation","_runParsingLoop","scriptHandler","_processTokenInForeignContent","_processToken","hasInScope","_setDocumentType","documentChildren","getChildNodes","cnLength","isDocumentTypeNode","_attachElementToTree","_setStartLocation","_appendElement","namespaceURI","_insertElement","_insertTemplate","tmplContent","getTemplateContent","_insertFakeRootElement","_appendCommentNode","parent","commentNode","_findFosterParentingLocation","_insertCharacters","hasFosterParent","_shouldFosterParentOnInsertion","currentTmplContent","siblings","textNodeIdx","beforeElement","textNode","currentAttrLocation","currentAttr","methods","_createStartTagToken","_createEndTagToken","_createCommentToken","_createDoctypeToken","initialName","_createCharacterToken","currentCharacterToken","_createEOFToken","_getCurrentLocation","_createAttr","attrNameFirstCh","_leaveAttrName","toState","_attachCurrentAttrLocationInfo","_leaveAttrValue","_emitCurrentToken","EOF_TOKEN","_emitCurrentCharacterToken","keys","MODE","forEach","modeName","state","isEol","lineStartPos","droppedBufferSize","advance","retreat","dropParsedChunk","prevPos","reduction","FormattingElementList","entries","bookmark","newElement","candidates","neAttrsLength","getAttrList","neTagName","neNamespaceURI","getNamespaceURI","entry","MARKER_ENTRY","elementAttrs","idx","_getNoahArkConditionCandidates","cLength","neAttrs","neAttrsMap","neAttr","j","cAttr","splice","NOAH_ARK_CAPACITY","_ensureNoahArkCondition","ELEMENT_ENTRY","bookmarkIdx","OpenElementStack","defaultTreeAdapter","mergeOptions","doctype","foreignContent","ERR","unicode","DEFAULT_OPTIONS","scriptingEnabled","sourceCodeLocationInfo","HIDDEN_INPUT_TYPE","INITIAL_MODE","BEFORE_HTML_MODE","BEFORE_HEAD_MODE","IN_HEAD_MODE","IN_HEAD_NO_SCRIPT_MODE","AFTER_HEAD_MODE","IN_BODY_MODE","TEXT_MODE","IN_TABLE_MODE","IN_TABLE_TEXT_MODE","IN_CAPTION_MODE","IN_COLUMN_GROUP_MODE","IN_TABLE_BODY_MODE","IN_ROW_MODE","IN_CELL_MODE","IN_SELECT_MODE","IN_SELECT_IN_TABLE_MODE","IN_TEMPLATE_MODE","AFTER_BODY_MODE","IN_FRAMESET_MODE","AFTER_FRAMESET_MODE","AFTER_AFTER_BODY_MODE","AFTER_AFTER_FRAMESET_MODE","INSERTION_MODE_RESET_MAP","TEMPLATE_INSERTION_MODE_SWITCH_MAP","TOKEN_HANDLERS","CHARACTER_TOKEN","tokenInInitialMode","NULL_CHARACTER_TOKEN","WHITESPACE_CHARACTER_TOKEN","ignoreToken","COMMENT_TOKEN","appendComment","DOCTYPE_TOKEN","p","mode","forceQuirks","setDocumentMode","insertionMode","START_TAG_TOKEN","tokenBeforeHtml","tokenBeforeHead","startTagInBody","headElement","tokenInHead","insertCharacters","startTagInHead","endTagInHead","tokenInHeadNoScript","tokenAfterHead","framesetOk","characterInBody","whitespaceCharacterInBody","endTagInBody","eofInBody","pendingScript","originalInsertionMode","characterInTable","startTagInTable","endTagInTable","pendingCharacterTokens","hasNonWhitespacePendingCharacterToken","tokenInTableText","hasInTableScope","generateImpliedEndTags","popUntilTagNamePopped","activeFormattingElements","clearToLastMarker","tokenInColumnGroup","ackSelfClosing","currentTagName","clearBackToTableBodyContext","_insertFakeElement","hasTableBodyContextInTableScope","clearBackToTableRowContext","insertMarker","_closeTableCell","startTagInSelect","endTagInSelect","_resetInsertionMode","newInsertionMode","_popTmplInsertionMode","_pushTmplInsertionMode","eofInTemplate","tokenAfterBody","stopParsing","isRootHtmlElementCurrent","tokenAfterAfterBody","appendCommentToDocument","Parser","createDocument","write","documentMock","_initTokenizerForFragmentParsing","_findFormInFragmentContext","rootElement","getFirstChild","fragment","createDocumentFragment","_adoptNodes","stopped","formElement","tmplInsertionModeStack","tmplInsertionModeStackTop","currentTmplInsertionMode","skipNextNewLine","fosterParentingEnabled","_setupTokenizerCDATAMode","getNextToken","HIBERNATION_TOKEN","chars","substr","writeCallback","script","_getAdjustedCurrentElement","allowCDATA","_isIntegrationPoint","nextTokenizerState","getParentNode","RCDATA","RAWTEXT","SCRIPT_DATA","setDocumentType","_fosterParentElement","appendChild","tmpl","setTemplateContent","createCommentNode","_fosterParentText","insertText","donor","recipient","child","detachNode","isCharacterToken","characterInForeignContent","nullCharacterInForeignContent","currentNs","selfClosing","startTagInForeignContent","popUntilElementPopped","endTagInForeignContent","_shouldProcessTokenInForeignContent","listLength","unopenIdx","contains","popUntilTableCellPopped","generateImpliedEndTagsWithExclusion","last","_resetInsertionModeForSelect","selectIdx","ancestor","_isElementCausesFosterParenting","openElement","insertBefore","insertTextBefore","aaObtainFormattingElementEntry","formattingElementEntry","getElementEntryInScopeWithTagName","removeEntry","genericEndTagInBody","aaObtainFurthestBlock","furthestBlock","_isSpecialElement","aaInnerLoop","formattingElement","lastElement","nextElement","getCommonAncestor","elementEntry","getElementEntry","counterOverflow","aaRecreateElementFromEntry","aaInsertLastNodeInCommonAncestor","commonAncestor","aaReplaceFormattingElement","insertElementAfterBookmark","insertAfter","callAdoptionAgency","_switchToTextParsing","tmplCount","generateImpliedEndTagsThoroughly","errCode","_reconstructActiveFormattingElements","addressStartTagInBody","hasInButtonScope","_closePElement","preStartTagInBody","bStartTagInBody","pushElement","appletStartTagInBody","areaStartTagInBody","paramStartTagInBody","noembedStartTagInBody","optgroupStartTagInBody","rbStartTagInBody","genericStartTagInBody","activeElementEntry","aStartTagInBody","numberedHeaderStartTagInBody","elementTn","closeTn","listItemStartTagInBody","hrStartTagInBody","rtStartTagInBody","xmpStartTagInBody","svgStartTagInBody","adoptAttributes","htmlStartTagInBody","bodyElement","tryPeekProperlyNestedBodyElement","bodyStartTagInBody","inTemplate","formStartTagInBody","nobrStartTagInBody","mathStartTagInBody","menuStartTagInBody","tableStartTagInBody","inputType","inputStartTagInBody","imageStartTagInBody","buttonStartTagInBody","iframeStartTagInBody","selectStartTagInBody","framesetStartTagInBody","textareaStartTagInBody","plaintextStartTagInBody","addressEndTagInBody","appletEndTagInBody","pEndTagInBody","hasInListItemScope","liEndTagInBody","ddEndTagInBody","hasNumberedHeaderInScope","popUntilNumberedHeaderPopped","numberedHeaderEndTagInBody","brEndTagInBody","bodyEndTagInBody","htmlEndTagInBody","formEndTagInBody","curTn","tokenInTable","clearBackToTableContext","tdStartTagInTable","colStartTagInTable","formStartTagInTable","tableStartTagInTable","tbodyStartTagInTable","inputStartTagInTable","captionStartTagInTable","colgroupStartTagInTable","savedFosterParentingState","_processTokenInBodyMode","hasInSelectScope","prevOpenElement","prevOpenElementTn","isImpliedEndTagRequired","isImpliedEndTagRequiredThoroughly","isScopingElement","_isInTemplate","_updateCurrentElement","oldElement","_indexOf","referenceElement","insertionIdx","poppedElement","elementIdx","exclusionTagName","Preprocessor","neTree","$$","C1_CONTROLS_REFERENCE_REPLACEMENTS","DATA_STATE","RCDATA_STATE","RAWTEXT_STATE","SCRIPT_DATA_STATE","PLAINTEXT_STATE","TAG_OPEN_STATE","END_TAG_OPEN_STATE","TAG_NAME_STATE","RCDATA_LESS_THAN_SIGN_STATE","RCDATA_END_TAG_OPEN_STATE","RCDATA_END_TAG_NAME_STATE","RAWTEXT_LESS_THAN_SIGN_STATE","RAWTEXT_END_TAG_OPEN_STATE","RAWTEXT_END_TAG_NAME_STATE","SCRIPT_DATA_LESS_THAN_SIGN_STATE","SCRIPT_DATA_END_TAG_OPEN_STATE","SCRIPT_DATA_END_TAG_NAME_STATE","SCRIPT_DATA_ESCAPE_START_STATE","SCRIPT_DATA_ESCAPE_START_DASH_STATE","SCRIPT_DATA_ESCAPED_STATE","SCRIPT_DATA_ESCAPED_DASH_STATE","SCRIPT_DATA_ESCAPED_DASH_DASH_STATE","SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE","SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE","SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE","SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE","SCRIPT_DATA_DOUBLE_ESCAPED_STATE","SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE","SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE","SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE","SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE","BEFORE_ATTRIBUTE_NAME_STATE","ATTRIBUTE_NAME_STATE","AFTER_ATTRIBUTE_NAME_STATE","BEFORE_ATTRIBUTE_VALUE_STATE","ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE","ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE","ATTRIBUTE_VALUE_UNQUOTED_STATE","AFTER_ATTRIBUTE_VALUE_QUOTED_STATE","SELF_CLOSING_START_TAG_STATE","BOGUS_COMMENT_STATE","MARKUP_DECLARATION_OPEN_STATE","COMMENT_START_STATE","COMMENT_START_DASH_STATE","COMMENT_STATE","COMMENT_LESS_THAN_SIGN_STATE","COMMENT_LESS_THAN_SIGN_BANG_STATE","COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE","COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE","COMMENT_END_DASH_STATE","COMMENT_END_STATE","COMMENT_END_BANG_STATE","DOCTYPE_STATE","BEFORE_DOCTYPE_NAME_STATE","DOCTYPE_NAME_STATE","AFTER_DOCTYPE_NAME_STATE","AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE","BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE","DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE","DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE","AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE","BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE","AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE","BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE","DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE","DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE","AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE","BOGUS_DOCTYPE_STATE","CDATA_SECTION_STATE","CDATA_SECTION_BRACKET_STATE","CDATA_SECTION_END_STATE","CHARACTER_REFERENCE_STATE","NAMED_CHARACTER_REFERENCE_STATE","AMBIGUOUS_AMPERSAND_STATE","NUMERIC_CHARACTER_REFERENCE_STATE","HEXADEMICAL_CHARACTER_REFERENCE_START_STATE","DECIMAL_CHARACTER_REFERENCE_START_STATE","HEXADEMICAL_CHARACTER_REFERENCE_STATE","DECIMAL_CHARACTER_REFERENCE_STATE","NUMERIC_CHARACTER_REFERENCE_END_STATE","isWhitespace","isAsciiDigit","isAsciiUpper","isAsciiLower","isAsciiLetter","isAsciiAlphaNumeric","isAsciiUpperHexDigit","isAsciiLowerHexDigit","toAsciiLowerCodePoint","toChar","toAsciiLowerChar","findNamedEntityTreeBranch","nodeIx","branchCount","lo","hi","mid","midCp","tokenQueue","returnState","charRefCode","tempBuff","lastStartTagName","consumedAfterSnapshot","active","_consume","_unconsume","_ensureHibernation","shift","chunk","isLastChunk","insertHtmlAtCurrentPos","endOfChunkHit","startCp","consumedCount","isMatch","patternLength","patternPos","patternCp","ct","_appendCharToCurrentCharacterToken","codePoints","_emitCodePoint","excess","inNode","HAS_DATA_FLAG","withSemicolon","_isCharacterReferenceInAttribute","nextCp","_emitSeveralCodePoints","_emitEOFToken","_emitChars","_reconsumeInState","_isTempBufferEqualToScriptString","_consumeSequenceIfMatch","_flushCodePointsConsumedAsCharacterReference","matchResult","_matchNamedCharacterReference","_isCharacterReferenceAttributeQuirk","_errOnNextCodePoint","isAsciiHexDigit","replacement","DATA","attrName","Uint16Array","lastGapPos","lastCharPos","gapStack","lastChunkWritten","bufferWaterline","_addGap","substring","_processSurrogate","_checkForProblematicCharacters","nodeName","childNodes","parentNode","createTextNode","newNode","referenceNode","templateElement","contentElement","doctypeNode","prevNode","recipientAttrsMap","getTextNodeContent","getCommentNodeContent","getDocumentTypeNodeName","getDocumentTypeNodePublicId","getDocumentTypeNodeSystemId","isTextNode","isCommentNode","isElementNode","sourceCodeLocation","endLocation","reduce","merged","optObj","originalMethods","overriddenMethods","_getOverriddenMethods","Ctor","__mixins","mixin","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","isRequired","ReactPropTypes","array","bigint","bool","func","symbol","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","exact","checkPropTypes","PropTypes","aa","ca","a","b","da","Set","ea","fa","ha","add","ia","window","ja","ka","la","ma","v","d","e","f","g","acceptsBooleans","attributeName","attributeNamespace","propertyName","sanitizeURL","removeEmptyString","z","ra","sa","ta","pa","qa","oa","removeAttribute","setAttribute","setAttributeNS","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","Symbol","for","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","iterator","Ka","La","Ma","Na","Oa","prepareStackTrace","set","Reflect","construct","h","k","includes","Pa","tag","render","Qa","$$typeof","_context","_payload","_init","Ra","Sa","Ta","Va","_valueTracker","get","getValue","setValue","stopTracking","Ua","Wa","Xa","activeElement","body","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","cb","db","ownerDocument","eb","fb","defaultSelected","gb","dangerouslySetInnerHTML","hb","ib","jb","kb","lb","mb","nb","valueOf","firstChild","removeChild","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeType","nodeValue","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","tb","menuitem","area","base","br","embed","hr","img","keygen","meta","param","track","wbr","ub","vb","wb","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","addEventListener","removeEventListener","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","flags","Wb","memoizedState","dehydrated","Xb","Zb","sibling","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","log","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Map","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","Uc","stopPropagation","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","Date","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","repeat","locale","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","date","datetime","email","month","password","range","tel","time","url","week","me","ne","oe","listeners","pe","qe","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","nextSibling","Le","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","Ne","Oe","focusedElem","selectionRange","documentElement","selectionStart","selectionEnd","defaultView","getSelection","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","left","scrollLeft","top","scrollTop","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","instance","listener","D","of","has","pf","qf","rf","random","sf","bind","passive","n","t","J","x","u","w","F","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","setTimeout","Gf","clearTimeout","Hf","Promise","Jf","queueMicrotask","resolve","then","catch","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","E","G","Vf","H","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","deletions","Cg","pendingProps","overflow","treeContext","retryLane","Dg","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","defaultProps","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","context","memoizedValue","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","bh","eventTime","lane","payload","callback","dh","K","eh","fh","gh","q","r","y","hh","ih","jh","Component","refs","kh","nh","isMounted","_reactInternals","enqueueSetState","L","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","contextType","updater","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","sh","ref","_owner","_stringRef","th","uh","vh","wh","xh","yh","implementation","zh","Ah","done","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","M","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","N","O","Sh","Th","Uh","Vh","Q","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","di","ei","fi","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","dispatch","gi","ii","ji","ki","getSnapshot","li","mi","R","ni","lastEffect","stores","oi","pi","qi","ri","destroy","deps","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ki","message","digest","Li","Mi","console","Ni","WeakMap","Oi","Pi","Qi","Ri","getDerivedStateFromError","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","compare","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","kj","lj","pendingContext","mj","Aj","Cj","Dj","nj","oj","pj","fallback","qj","rj","tj","dataset","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","tail","tailMode","yj","Ej","Fj","Gj","wasMultiple","suppressHydrationWarning","onclick","createElementNS","T","Hj","Ij","Jj","Kj","Lj","WeakSet","V","Mj","W","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","_reactRootContainer","Xj","X","Yj","Zj","ak","onCommitFiberUnmount","componentWillUnmount","bk","ck","dk","ek","fk","isHidden","gk","hk","display","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","Wk","mk","ceil","nk","ok","pk","Y","Z","qk","rk","sk","tk","uk","Infinity","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","isReactComponent","pendingChildren","bl","mutableSourceEagerHydrationData","cl","pendingSuspenseBoundaries","dl","fl","gl","hl","il","jl","zj","$k","ll","reportError","ml","_internalRoot","nl","ol","pl","ql","sl","rl","unmount","unstable_scheduleHydration","querySelectorAll","JSON","stringify","tl","usingClientEntryPoint","Events","ul","findFiberByHostInstance","bundleType","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","wl","isDisabled","supportsFiber","inject","createPortal","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","__self","__source","jsx","jsxs","setState","forceUpdate","escape","_status","_result","Children","map","count","toArray","only","PureComponent","cloneElement","createContext","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","createFactory","createRef","forwardRef","isValidElement","lazy","memo","startTransition","unstable_act","ctx","globalThis","self","global","restore","Prism","manual","disableWorkerMessageHandler","decode","markup","css","clike","js","Refractor","refract","register","grammar","languages","highlight","sup","util","alias","registered","listLanguages","tokens","Token","env","stringifyAll","classes","hooks","run","refractor","abap","lookbehind","keyword","operator","punctuation","aliases","abnf","coreRules","greedy","inside","terminal","repetition","RegExp","rule","actionscript","ada","variable","agda","function","antlr4","command","annotation","constant","g4","apacheconf","regex","refractorSql","apex","keywords","insertClassName","classNameInside","sql","trigger","apl","statement","assignment","dfn","applescript","aql","identifier","refractorCpp","arduino","builtin","ino","arff","asciidoc","quoted","interpreted","table","specifiers","admonition","callout","macro","inline","italic","bold","copyFromAsciiDoc","o","rest","adoc","asm6502","directive","asmatmel","refractorCsharp","aspnet","csharp","javascript","autohotkey","important","autoit","avisynth","replacements","allinternals","argument","avs","avroIdl","avdl","bash","envVars","commandAfterHeredoc","insideString","environment","shebang","toBeCopied","shell","basic","batch","parameter","bbcode","shortcode","bicep","interpolation","expression","datatype","decorator","birb","metadata","refractorC","bison","delimiter","bnf","rbnf","brainfuck","pointer","decrement","branching","brightscript","bro","bsl","oscript","cfscript","cfc","chaiscript","cpp","cil","clojure","cmake","inserted","cobol","level","coffeescript","coffee","concurnas","langext","conc","coq","commentSource","punct","modName","generic","refractorRuby","crystal","ruby","args","expansion","nested","depthLog2","keywordKinds","keywordsToPattern","words","typeDeclarationKeywords","nonTypeKeywords","nonContextualKeywords","nestedRound","genericName","typeExpressionWithoutTuple","tupleElement","tuple","typeExpression","typeInside","regularString","verbatimString","regularStringOrCharacter","regularStringCharacterOrComment","roundExpression","attrTarget","attr","formatString","mInterpolationRound","mInterpolation","sInterpolationRound","sInterpolation","createInterpolationInside","interpolationRound","dotnet","cs","cshtml","commentLike","stringLike","round","square","curly","angle","tagAttrs","tagContent","tagRegion","block","razor","csp","none","hash","cssExtras","selectorInside","class","combinator","unit","hexcode","atrule","addInlined","addAttribute","csv","cypher","relationship","dart","packagePrefix","generics","dataweave","dax","measure","dhall","coord","PREFIXES","unchanged","refractorMarkupTemplating","django","filter","markupTemplating","buildPlaceholders","tokenizePlaceholders","jinja2","dnsZoneFile","docker","spaceAfterBackSlash","stringRule","commentRule","instruction","dockerfile","dot","ID","IDInside","withID","gv","ebnf","special","editorconfig","section","eiffel","ejs","eta","elixir","doc","atom","elm","hvariable","erb","erlang","refractorLua","etlua","lua","excelFormula","sheet","file","path","cell","row","factor","comment_inside","string_inside","regexp","combinators","arrToWordsRegExp","builtins","$false","firestoreSecurityRules","flow","fortran","fsharp","ftl","FTL_EXPR","gap","continuation","gcode","checksum","gdscript","gedcom","gherkin","tableRow","pystring","feature","scenario","outline","git","deleted","glsl","gml","gamemakerlanguage","gn","gni","goModule","go","graphql","description","markdown","scalar","validTokens","currentIndex","startToken","inputVariables","isTokenType","getToken","definitionEnd","findClosingBracket","addAlias","mutationEnd","varToken","close","stackHeight","groovy","haml","filters","all_filters","handlebars","brackets","hbs","haskell","hs","haxe","reification","hcl","heredoc","hlsl","hoon","hpkp","hsts","http","headerValueOf","uri","header","langs","httpLanguages","json","plain","suffixTypes","getSuffixPattern","contentType","suffix","ichigojam","icon","icuMessageFormat","stringPattern","argumentSource","nestedMessage","refractorHaskell","idris","idr","iecst","address","ignore","gitignore","hgignore","npmignore","inform7","substitution","verb","ini","io","adverb","conjunction","java","classNamePrefix","refractorJava","refractorJavadoclike","javadoc","codeLinePattern","memberReference","field","javadoclike","addSupport","javaDocLike","docLanguage","tokenName","docCommentSupport","hashbang","javastacktrace","exceptions","more","jexl","jolie","aggregates","redirects","jq","stringInterpolation","jsExtras","withId","imports","spread","arrow","dom","maybeClassNameTokens","jsTemplates","templateString","templateLiteralPattern","interpolationObject","interpolationPunctuationObject","interpolationPattern","createTemplate","getPlaceholder","counter","tokenizeWithHooks","tokenize","tokenizeInterpolationExpression","tempGrammar","tokenizeEmbedded","_tokens","placeholderCounter","placeholderMap","embeddedTokens","interpolationExpression","placeholders","walkTokens","s","before","middle","after","afterTokens","Boolean","supportedLanguages","typescript","ts","tsx","stringContent","findTemplateStrings","embedded","refractorTypescript","jsdoc","parameterPrefix","example","null","webmanifest","refractorJson","json5","jsonp","jsstacktrace","braces","stringifyToken","openedTags","notTagNorBrace","openedBraces","plainText","julia","keepalived","ip","keyman","kotlin","interpolationInside","kt","kts","kumir","nonId","wrapId","prolog","kum","kusto","latex","funcPattern","insideEqu","cdata","equation","headline","tex","refractorPhp","latte","php","markupLatte","less","refractorScheme","lilypond","schemeExpression","ly","liquid","empty","insideRaw","tagMatch","lisp","simple_form","primitive","marker","par","nestedPar","heading","interactive","defvar","defun","lambda","car","arg","varform","forms","arglist","sublist","elisp","emacs","livescript","llvm","exception","separator","domain","uuid","lolcode","magma","generator","makefile","inner","createInline","tableCell","tableLine","yaml","blockquote","strike","codeLang","codeBlock","cls","tagPattern","fromCodePoint","known","KNOWN_ENTITY_NAMES","plugins","autoloader","floor","loadLanguages","ele","getElementById","amp","lt","gt","quot","defineProperties","placeholderPattern","replaceFilter","tokenStack","includedCdataInside","def","mathml","svg","ssml","rss","matlab","maxscript","mel","flag","mermaid","mizar","mongodb","operators","operatorsSource","monkey","moonscript","moon","n1ql","n4js","n4jsd","nand2tetrisHdl","naniscript","expressionDef","params","getTextContent","define","nani","bracket","bracketsIndex","isBracketsBalanced","nasm","neon","literal","nevod","fields","quantifier","colon","nginx","nim","nix","antiquotation","nsis","objectivec","objc","ocaml","variant","opencl","openqasm","qasm","oz","parigp","pascal","asm","objectpascal","pascaligo","accum","pcaxis","tlist","px","peoplecode","pcode","perl","filehandle","phpExtras","package","string_interpolation","phpdoc","plsql","powerquery","pq","mscript","powershell","processing","promql","vectorMatching","protobuf","builtinTypes","psl","pug","each","branch","filter_pattern","puppet","pure","inlineLanguageRe","purebasic","pbfasm","purescript","purs","python","py","qml","jsString","jsComment","jsExpr","qore","qsharp","qualifiedName","interpolationExpr","qs","ellipsis","racket","rkt","specialEscape","rangeChar","groupName","backreference","anchor","group","alternation","rego","renpy","rpy","rip","roboconf","component","optional","wildcard","robotframework","createSection","extendecInside","docTag","testNameLike","testPropertyLike","documentation","variables","tasks","robot","percentExpression","symbolName","rust","multilineComment","sas","numericConstant","macroVariable","macroKeyword","format","equals","altformat","globalStatements","submitStatement","actionSets","casActions","datalines","sass","scala","SortedBNF","scss","refractorBash","shellSession","strings","user","smali","smalltalk","smarty","smartyPattern","smartyLiteralMode","sml","word","smlnj","solidity","sol","solutionFile","guid","soy","numberPattern","soyLitteralMode","refractorTurtle","sparql","rq","splunkSpl","sqf","squirrel","stan","higherOrderFunctions","constraint","stylus","swift","nil","omit","systemd","quotesSource","refractorT4Templating","t4Cs","t4","createT4","t4Templating","createBlock","contentAlias","insideLang","standard","refractorVbnet","t4Vb","refractorYaml","tap","fail","pass","pragma","bailout","plan","subtest","yamlish","tcl","textile","modifierRegex","parenthesesRegex","withModifier","modifierTokens","phrase","modifier","image","footnote","acronym","phraseInside","nestedPatterns","phraseInlineInside","phraseTableInside","toml","insertKey","tremor","extractor","troy","trickle","refractorJsx","tt2","turtle","trig","twig","at","typoscript","tsconfig","unrealscript","category","uscript","uorazor","query","pair","authority","port","vala","refractorBasic","vbnet","velocity","unparsed","verilog","vhdl","vim","visualBasic","vba","warpscript","wasm","webIdl","wiki","emphasis","nowiki","wolfram","blank","mathematica","wren","xeora","xeoracube","xmlDoc","insertDocComment","docComment","slashDocComment","tickDocComment","xojo","xquery","extension","anchorOrAlias","plainKey","createValuePattern","yml","yang","zig","IDENTIFIER","ALIGN","_self","uniqueId","plainTextGrammar","objId","deepClone","visited","getLanguage","parentElement","setLanguage","classList","currentScript","scripts","getElementsByTagName","isActive","defaultActivation","no","plaintext","txt","redef","insert","root","newToken","old","DFS","propertyType","highlightAll","highlightAllUnder","container","elements","highlightElement","insertHighlightedCode","highlightedCode","hasAttribute","Worker","worker","onmessage","evt","postMessage","immediateClose","tokenList","LinkedList","addAfter","head","matchGrammar","all","callbacks","matchedStr","matchPattern","lookbehindLength","startNode","startPos","rematch","patterns","cause","patternObj","currentNode","reach","removeCount","from","to","matchStr","removeFrom","removeRange","nestedRematch","highlightAutomaticallyCallback","readyState","requestAnimationFrame","WorkerGlobalScope","sortIndex","performance","setImmediate","startTime","expirationTime","priorityLevel","navigator","scheduling","isInputPending","MessageChannel","port2","port1","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","delay","unstable_wrapCallback","hasIterator","len","ReferenceError","__esModule","Constructor","_defineProperties","descriptor","protoProps","staticProps","getPrototypeOf","isNativeReflectConstruct","possibleConstructorReturn","Derived","hasNativeReflectConstruct","Super","NewTarget","superPropBase","_get","receiver","desc","_getPrototypeOf","setPrototypeOf","__proto__","subClass","superClass","sham","Proxy","_typeof","assertThisInitialized","_setPrototypeOf","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","toStringTag","_defineProperty","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","_objectSpread2","getOwnPropertyDescriptors","_objectWithoutProperties","excluded","sourceKeys","sourceSymbolKeys","propertyIsEnumerable","_arrayLikeToArray","arr2","_iterableToArray","iter","_unsupportedIterableToArray","minLen","_toConsumableArray","_arrayWithHoles","_nonIterableRest","_slicedToArray","_i","_s","_e","_arr","_n","_d","_classCallCheck","_createClass","_inherits","_isNativeReflectConstruct","_assertThisInitialized","_possibleConstructorReturn","_createSuper","_construct","Parent","Class","_wrapNativeSuper","_cache","fn","Wrapper","stringifyPosition","point","VFileMessage","place","origin","parts","fatal","ruleId","actual","expected","note","basename","ext","assertPath","seenNonSlash","firstNonSlashEnd","extIndex","dirname","unmatchedSlash","extname","startPart","startDot","preDotState","joined","segments","sep","absolute","allowAboveRoot","lastSlashIndex","lastSegmentLength","lastSlash","dots","normalizeString","proc","cwd","isUrl","fileURLOrPath","urlToPath","URL","protocol","hostname","pathname","third","decodeURIComponent","getPathFromURLPosix","VFile","buffer","history","stored","assertNonEmpty","assertPart","stem","encoding","part","_toArray","bail","middleware","called","parameters","fnExpectsCallback","unified","frozen","transformers","fns","pipeline","middlewareIndex","use","middelware","trough","attachers","freezeIndex","processor","assertUnfrozen","Compiler","freeze","attacher","transformer","POSITIVE_INFINITY","addPlugin","addList","addPreset","plugin","isPlainObj","vfile","assertParser","newable","assertCompiler","assertNode","compile","executor","reject","tree","runSync","complete","assertDone","process","processSync","destination","asyncName","looksLikeAVFile","includeImageAlt","one","chunkStart","combineExtensions","extensions","syntaxExtension","hook","right","constructs","existing","asciiAlpha","regexCheck","asciiDigit","asciiHexDigit","asciiAlphanumeric","asciiPunctuation","asciiAtext","asciiControl","markdownLineEndingOrSpace","markdownLineEnding","markdownSpace","unicodeWhitespace","unicodePunctuation","factorySpace","limit","enter","consume","exit","contentStart","attempt","contentInitial","lineStart","childFlow","childToken","lineStartOffset","continued","item","containerState","documentContinue","checkNewContainers","_closeFlow","closeFlow","indexBeforeExits","events","indexBeforeFlow","exitContainers","documentContinued","currentConstruct","concrete","flowStart","interrupt","_gfmTableDynamicInterruptHack","containerConstruct","thereIsANewContainer","thereIsNoNewContainer","containerContinue","_tokenizer","flowContinue","writeToChild","eof","stream","sliceStream","defineSkip","seen","nok","disable","blankLine","partial","subtokenize","lineIndex","otherIndex","otherEvent","subevents","jumps","_isInFirstContentOfListItem","subcontent","_container","eventIndex","startPosition","startPositions","childEvents","gaps","breaks","_gfmTasklistFirstContentOfListItem","contentEnd","continuationConstruct","contentContinue","prefixed","sliceSerialize","initial","flowInitial","afterConstruct","resolver","resolveAll","createResolver","initializeFactory","notText","atBreak","resolveAllLineSuffixes","extraResolver","chunks","bufferIndex","tabs","_index","_bufferIndex","createTokenizer","initialize","columnStart","resolveAllConstructs","accountForPotentialSkip","constructFactory","addResult","onsuccessfulcheck","expandTabs","atTab","serializeChunks","main","startIndex","startBufferIndex","endIndex","endBufferIndex","sliceChunks","chunkIndex","onreturn","bogusState","listOfConstructs","constructIndex","handleListOfConstructs","handleMapOfConstructs","handleConstruct","startPoint","startPrevious","startCurrentConstruct","startEventsIndex","startStack","store","resolveTo","thematicBreak","sequence","initialSize","atMarker","onBlank","listItemPrefixWhitespaceConstruct","endOfPrefix","otherPrefix","initialBlankLine","notBlank","furtherBlankLines","notInCurrentItem","indentConstruct","blockQuote","factoryDestination","literalType","literalMarkerType","rawType","stringType","balance","destinationEnclosedBefore","destinationRaw","destinationEnclosed","destinationEnclosedEscape","destinationRawEscape","factoryLabel","markerType","labelEscape","factoryTitle","atFirstTitleBreak","atTitleBreak","titleEscape","factoryWhitespace","normalizeIdentifier","labelAfter","titleConstruct","codeIndented","afterStartPrefix","afterPrefix","indentedContent","headingAtx","fenceOpenInside","headingBreak","setextUnderline","paragraph","closingSequence","closingSequenceEnd","htmlBlockNames","htmlRawNames","htmlFlow","declarationStart","tagCloseStart","continuationDeclarationInside","commentOpenInside","cdataOpenInside","basicSelfClosing","completeAttributeNameBefore","completeClosingTagAfter","completeEnd","completeAttributeName","completeAttributeNameAfter","completeAttributeValueBefore","completeAttributeValueQuoted","completeAttributeValueUnquoted","completeAttributeValueQuotedAfter","completeAfter","continuationCommentInside","continuationRawTagOpen","continuationClose","continuationCharacterDataInside","continuationAtLineEnding","nextBlankConstruct","htmlContinueStart","htmlLineEnd","continuationRawEndTag","codeFenced","closingFenceConstruct","closingSequenceStart","sizeOpen","nonLazyLine","initialPrefix","sequenceOpen","infoOpen","openAfter","infoAfter","decodeNamedCharacterReference","characterReference","numeric","characterEscape","lineEnding","labelEnd","labelStart","_balanced","_inactive","balanced","afterLabelEnd","resourceConstruct","fullReferenceConstruct","collapsedReferenceConstruct","insideSpan","destinationAfter","between","afterLabel","labelStartImage","classifyCharacter","attention","attentionMarkers","_open","_close","openingSequence","nextEvents","movePoint","autolink","schemeOrEmailAtext","emailAtext","schemeInsideOrEmailAtext","urlInside","emailAtSignOrDot","emailLabel","emailValue","htmlText","declarationOpen","tagOpen","commentOpen","cdataOpen","commentStart","commentStartDash","commentClose","atLineEnding","cdataClose","cdataEnd","instructionClose","tagClose","tagCloseBetween","tagOpenBetween","tagOpenAttributeName","tagOpenAttributeNameAfter","tagOpenAttributeValueBefore","tagOpenAttributeValueQuoted","tagOpenAttributeValueUnquoted","tagOpenAttributeValueQuotedAfter","labelStartLink","hardBreakEscape","codeText","tailExitIndex","headEnterIndex","resolveText","decodeNumericCharacterReference","characterEscapeOrReference","decodeString","$1","$2","hex","fromMarkdown","config","configure","transforms","canContainEols","opener","autolinkProtocol","onenterdata","autolinkEmail","atxHeading","codeFlow","codeFencedFenceInfo","codeFencedFenceMeta","codeTextData","codeFlowValue","definitionDestinationString","definitionLabelString","definitionTitleString","hardBreak","hardBreakTrailing","htmlFlowData","htmlTextData","listItem","listItemValue","onenterlistitemvalue","listOrdered","onenterlistordered","listUnordered","onenterreference","referenceString","resourceDestinationString","resourceTitleString","setextHeading","strong","closer","atxHeadingSequence","onexitatxheadingsequence","onexitautolinkemail","onexitautolinkprotocol","characterEscapeValue","onexitdata","characterReferenceMarkerHexadecimal","onexitcharacterreferencemarker","characterReferenceMarkerNumeric","characterReferenceValue","onexitcharacterreferencevalue","onexitcodefenced","codeFencedFence","onexitcodefencedfence","onexitcodefencedfenceinfo","onexitcodefencedfencemeta","onexitcodeindented","onexitcodetext","onexitdefinitiondestinationstring","onexitdefinitionlabelstring","onexitdefinitiontitlestring","onexithardbreak","onexithtmlflow","onexithtmltext","onexitimage","onexitlabel","labelText","onexitlabeltext","onexitlineending","onexitlink","onexitreferencestring","onexitresourcedestinationstring","onexitresourcetitlestring","resource","onexitresource","onexitsetextheading","setextHeadingLineSequence","onexitsetextheadinglinesequence","setextHeadingText","onexitsetextheadingtext","mdastExtensions","listStack","resume","setData","getData","prepareList","handler","defaultOnError","firstBlankLineIndex","containerBalance","listSpread","tailIndex","tailEvent","_spread","and","errorHandler","onExitError","depth","referenceType","ordered","compiler","postprocess","defaultConstructs","atCarriageReturn","endPosition","preprocess","combined","convert","castFactory","typeFactory","anyFactory","propsFactory","visitParents","visitor","reverse","parents","visit","subresult","grandparents","toResult","pointStart","pointEnd","clean","unknown","augment","handlers","passThrough","returnNode","unknownHandler","loose","footnoteReference","footnoteOrder","revert","subtype","contents","listItemLoose","break","footnoteById","dangerous","imageReference","inlineCode","linkReference","listLoose","wrapped","out","footnoteDefinition","allowDangerousHtml","hName","hProperties","hChildren","toHast","foot","listItems","backReference","footer","bridge","mutate","onContextLost","onContextRestored","accentHeight","alignmentBaseline","arabicForm","baselineShift","capHeight","clipPath","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","dataType","dominantBaseline","enableBackground","fillRule","floodColor","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","horizAdvX","horizOriginX","horizOriginY","imageRendering","letterSpacing","lightingColor","markerEnd","markerMid","markerStart","navDown","navDownLeft","navDownRight","navLeft","navNext","navPrev","navRight","navUp","navUpLeft","navUpRight","onActivate","onBegin","onEnd","onFocusIn","onFocusOut","onMouseWheel","onRepeat","onShow","onZoom","overlinePosition","overlineThickness","paintOrder","panose1","pointerEvents","renderingIntent","shapeRendering","stopColor","strikethroughPosition","strikethroughThickness","strokeDashArray","strokeDashOffset","strokeLineCap","strokeLineJoin","strokeMiterLimit","textAnchor","textDecoration","textRendering","underlinePosition","underlineThickness","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","wordSpacing","writingMode","xHeight","playbackOrder","timelineBegin","about","accumulate","additive","alphabetic","amplitude","ascent","attributeType","azimuth","bandwidth","baseFrequency","baseProfile","bbox","bias","by","calcMode","clip","clipPathUnits","contentScriptType","contentStyleType","cursor","cx","cy","defaultAction","descent","diffuseConstant","direction","dur","divisor","dx","dy","edgeMode","editable","elevation","exponent","externalResourcesRequired","fill","filterRes","filterUnits","focusable","focusHighlight","fr","fx","fy","g1","g2","glyphRef","gradientTransform","gradientUnits","hanging","hatchContentUnits","hatchUnits","ideographic","initialVisibility","in","in2","intercept","k1","k2","k3","k4","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","kerning","lengthAdjust","limitingConeAngle","local","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","mathematical","mediaCharacterEncoding","mediaContentEncodings","mediaSize","mediaTime","numOctaves","observer","orient","orientation","overlay","pathLength","patternContentUnits","patternTransform","patternUnits","phase","pitch","points","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","propagate","radius","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","requiredFonts","requiredFormats","restart","rotate","rx","ry","scale","seed","side","slope","snapshotTime","specularConstant","specularExponent","spreadMethod","spacing","stdDeviation","stemh","stemv","stitchTiles","stroke","surfaceScale","syncBehavior","syncBehaviorDefault","syncMaster","syncTolerance","syncToleranceDefault","systemLanguage","tableValues","targetX","targetY","textLength","transformBehavior","u1","u2","viewBox","viewTarget","visibility","widths","x1","x2","xChannelSelector","y1","y2","yChannelSelector","zoomAndPan","htmlBase","svgBase","rehypeFilter","allowedElements","disallowedElements","allowElement","parent_","unwrapDisallowed","protocols","thing","dashes","hastToReact","padRight","padLeft","tableElements","childrenToReact","childIndex","toReact","skipHtml","parentSchema","listDepth","components","React","ReactIs","linkTarget","transformLinkUri","transformImageUri","getInputElement","getElementsBeforeCount","textAlign","isHeader","sourcePos","rawSourcePos","sourcePosition","includeElementIndex","siblingCount","styleReplacer","parseStyle","deprecated","renderers","astPlugins","escapeHtml","allowNode","allowedTypes","disallowedTypes","includeNodeIndex","ReactMarkdown","deprecation","warn","remarkParse","remarkPlugins","remarkRehype","rehypePlugins","hastNode","_extends","_objectSpread","first","propTypes","classNameCombinations","getClassNameCombinations","classNames","arrLength","powerSetPermutations","createStyleObject","elementStyle","stylesheet","nonTokenClassNames","classNamesCombinations","styleObject","createClassNameString","_ref","_ref$style","useInlineStyles","TagName","childrenCreator","childrenCount","createChildren","allStylesheetSelectors","startingClassName","_excluded","newLineRegex","AllLineNumbers","_ref2","codeString","codeStyle","_ref2$containerStyle","containerStyle","paddingRight","_ref2$numberStyle","numberStyle","startingLineNumber","getAllLineNumbers","getInlineLineNumber","lineNumber","inlineLineNumberStyle","assembleLineNumberStyles","lineNumberStyle","largestLineNumber","num","defaultLineNumberStyle","minWidth","userSelect","customLineNumberStyle","createLineElement","_ref3","showInlineLineNumbers","_ref3$lineProps","lineProps","_ref3$className","showLineNumbers","wrapLongLines","flattenCodeTree","newTree","processLines","codeTree","wrapLines","_ref4","lastLineBreakIndex","createWrappedLine","createUnwrappedLine","createLine","_loop","splitValue","newChild","_line","stringChild","lastLineInPreviousSpan","newElem","_line2","_line3","defaultRenderer","_ref5","isHighlightJs","astGenerator","highlightAuto","defaultAstGenerator","defaultStyle","highlighter","_ref7","_ref7$style","_ref7$customStyle","customStyle","_ref7$codeTagProps","codeTagProps","_ref7$useInlineStyles","_ref7$showLineNumbers","_ref7$showInlineLineN","_ref7$startingLineNum","lineNumberContainerStyle","_ref7$lineNumberStyle","_ref7$wrapLongLines","_ref7$lineProps","renderer","_ref7$PreTag","PreTag","_ref7$CodeTag","CodeTag","_ref7$code","allLineNumbers","defaultPreStyle","hljs","backgroundColor","generatorClassName","preProps","defaultCodeValue","_ref6","hasLanguage","checkForListedLanguage","getCodeTree","www","w2","w3","hasUnderscoreInLastSegment","hasUnderscoreInLastLastSegment","namedCharacterReference","punctuationContinuation","inPath","continuedPunctuation","parenAtPathEnd","pathEnd","trailingPunctuation","wwwAutolink","previousWww","previousUnbalanced","httpAutolink","previousHttp","t1","t2","slash1","slash2","emailAutolink","hasDot","hasDigitInLastSegment","gfmAtext","previousEmail","atext","dotContinuation","dashOrUnderscoreContinuation","afterDashOrUnderscore","gfmAutolinkLiteral","_gfmAutolinkLiteralWalkedInto","gfmFootnote","tokenizeDefinitionStart","tokenizeDefinitionContinuation","gfmFootnoteDefinitionEnd","tokenizeGfmFootnoteCall","tokenizePotentialGfmFootnoteCall","resolveToPotentialGfmFootnoteCall","gfmFootnotes","callStart","callData","callEscape","gfmStrikethrough","single","singleTilde","tokenizeStrikethrough","resolveAllStrikethrough","strikethrough","gfmTable","seenDelimiter","hasDash","tableHeaderCount","_align","cellDividerHead","inCellContentHead","cellBreakHead","originalInterrupt","tokenizeRowEnd","atDelimiterRowBreak","atRowEndHead","inWhitespaceHead","inCellContentEscapeHead","rowEndDelimiter","inWhitespaceDelimiter","inFillerDelimiter","afterLeftAlignment","afterRightAlignment","tableClose","nextPrefixedOrBlank","bodyStart","rowStartBody","cellDividerBody","inCellContentBody","cellBreakBody","tableBodyClose","atRowEndBody","inWhitespaceBody","inCellContentEscapeBody","inHead","inDelimiterRow","inRow","cellStart","seenCellInRow","tasklistCheck","spaceThenNonSpace","gfmTaskListItem","gfm","ccount","findAndReplace","ignored","pairs","toExpression","toFunction","toPairs","pairIndex","grandparent","change","matchObject","inConstruct","notInConstruct","gfmAutolinkLiteralFromMarkdown","findUrl","findEmail","literalAutolink","literalAutolinkEmail","enterLiteralAutolinkValue","literalAutolinkHttp","literalAutolinkWww","gfmAutolinkLiteralToMarkdown","unsafe","isCorrectDomain","closingParenIndex","openingParens","closingParens","trail","trailExec","splitUrl","association","options_","lineShift","move","containerFlow","safeOptions","indexStack","tracker","handle","bulletLastUsed","eol","indentLines","patternCompile","_compiled","patternInScope","listInScope","safe","positions","infos","sort","numerical","escapeBackslashes","whole","gfmFootnoteToMarkdown","peek","subexit","containerPhrasing","gfmStrikethroughFromMarkdown","gfmStrikethroughToMarkdown","handleDelete","serialize","defaultStringLength","toAlignment","codePointAt","gfmTableFromMarkdown","tableData","enterCell","tableHeader","gfmTableToMarkdown","padding","tableCellPadding","alignDelimiters","tablePipeAlign","stringLength","around","serializeData","handleTableRowAsData","handleTableAsData","handleTableCell","matrix","alignments","cellMatrix","sizeMatrix","longestCellByColumn","mostCellsPerRow","rowIndex","columnIndex","delimiterStart","delimiterEnd","markdownTable","listItemIndent","checkListItemIndent","bullet","bulletCurrent","checkBullet","incrementListMarker","gfmTaskListItemFromMarkdown","taskListCheckValueChecked","exitCheck","taskListCheckValueUnchecked","firstParaghraph","gfmTaskListItemToMarkdown","checkable","checkbox","gfmFromMarkdown","gfmFootnoteDefinition","gfmFootnoteDefinitionLabelString","gfmFootnoteCall","gfmFootnoteCallString","gfmToMarkdown","remarkGfm","buttonTypes","core","isProperties","finalResult","webNamespaces","ast","verbose","opening","closing","createLocation","quirksMode","indices","toPoint","toOffset","isFile","toH","react","_isVue","vue","vdom","hyperscript","subprop","zwitch","p5","patch","htmlVoidElements","endTagToken","parseOptions","raw","stitches","locationTracker","resetTokenizer","createParse5Location","stitch","fromParse5","mock","rehypeRaw","CopyButton","valueToCopy","clipboard","writeText","setFilter","typeFilter","setTypeFilter","expandedItems","setExpandedItems","expandedCategories","setExpandedCategories","handleExpandItem","newExpanded","handleCategoryClick","newExpandedCategory","filtered","typeFilteredItems","filterData","wait","immediate","timeout","debounce","coldarkDark","ReactDOM"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/main.c6fa54b7.js.map b/static/js/main.c6fa54b7.js.map deleted file mode 100644 index a7eb85a2..00000000 --- a/static/js/main.c6fa54b7.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/main.c6fa54b7.js","mappings":"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AG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,KAAK,IAAK,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAAE,MAAM,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,GAAG,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,EAAE,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,MAAM,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,MAAM,MAAM,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,MAAM,GAAG,GAAG,EAAE,KAAK,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,MAAM,GAAG,GAAG,EAAE,KAAK,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,KAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,KAAK,GAAG,EAAE,GAAG,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,GAAG,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,IAAI,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,MAAM,GAAG,EAAE,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,MAAM,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,MAAM,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,IAAI,MAAM,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,KAAK,GAAG,EAAE,KAAK,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,MAAM,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,EAAE,KAAK,GAAG,IAAI,IAAI,GAAG,EAAE,KAAK,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,GAAG,MAAM,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,IAAI,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,MAAM,MAAM,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAAE,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,MAAM,IAAI,IAAI,IA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F,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,KAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,KAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,KAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,KAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,KAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,MAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB,SAASrsF,EAAQ,OAC3BqtF,EAAUhB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YAET,mBAAoB,CAElB75E,QAAS,iCACTy6E,YAAY,EACZZ,MAAO,WAET,uBAAwB,CACtB75E,QAAS,KACTy6E,YAAY,EACZZ,MAAO,YA0BT,4BAA6B,CAC3B75E,QACE,0MACFy6E,YAAY,EACZZ,MAAO,WAET,eAAgB,CACd75E,QAAS,6DACTy6E,YAAY,EACZO,QAAQ,EACRnB,MAAO,YAET,wBAAyB,CACvB75E,QAAS,uBACTy6E,YAAY,EACZZ,MAAO,YAGT,gCAAiC,CAC/B,CAEE75E,QAAS,wBACTy6E,YAAY,EACZZ,MAAO,YAET,CAEE75E,QAAS,iBACTy6E,YAAY,EACZZ,MAAO,aAIX,sBAAuB,CACrB,CAEE75E,QAAS,iBACTy6E,YAAY,EACZZ,MAAO,YAET,CAEE75E,QAAS,iBACTy6E,YAAY,EACZZ,MAAO,aAGX,cAAe,CACb75E,QAAS,0BACTy6E,YAAY,GAiBd1vE,OAAQ,CACN/K,QAAS,qBACTg7E,QAAQ,EACRC,OAAQ8O,IAGRhT,EAAS,SAAUruE,GACrB,OAAQA,EAAM,IAAI9X,QAAQ,4BAA6B,OACzD,EACIs5F,EAAmB,SAAUlgG,GAC/B,OAAO,IAAIoxF,OAAO,aAAepxF,EAAImtF,IAAIJ,GAAQpoF,KAAK,KAAO,aAC/D,EACIw7F,EAAW,CACb,iBAAkB,CAChB,KACA,QACA,QACA,OACA,UACA,MACA,WACA,kBACA,MACA,OACA,YACA,aACA,OACA,WACA,OACA,OACA,QACA,WACA,OACA,QACA,OACA,MACA,IACA,IACA,QACA,QACA,QACA,OACA,kBACA,MACA,SACA,MACA,QACA,OACA,QACA,SACA,OACA,UACA,UACA,OACA,UACA,MACA,gBACA,WACA,QACA,QACA,QACA,OACA,OACA,OACA,OACA,MACA,OACA,OACA,QACA,UACA,YACA,OACA,QACA,OACA,SACA,gBACA,SACA,QACA,YACA,WACA,oBACA,kBACA,OACA,YACA,MACA,QACA,MACA,QACA,MACA,iBACA,WAEF,uBAAwB,CAEtB,UACA,YACA,YACA,KACA,SACA,MACA,IACA,WACA,KACA,SACA,QACA,SACA,YACA,aACA,WACA,SACA,UACA,gBACA,oBACA,YACA,UACA,mBACA,KACA,WACA,IACA,KACA,MAEF,oBAAqB,CACnB,aACA,WACA,SACA,mBACA,SACA,aACA,aACA,YACA,mBACA,kBACA,WACA,aACA,OACA,WACA,UACA,aACA,YACA,WACA,OACA,OACA,MACA,WACA,UACA,SACA,UACA,aACA,aACA,SACA,QACA,UACA,oBACA,aACA,cACA,OACA,SACA,gBACA,oBACA,gCACA,iCACA,YACA,UACA,WACA,SACA,aACA,aACA,UACA,SACA,OACA,eACA,eACA,QACA,OACA,SACA,YACA,UACA,QACA,WACA,cACA,WACA,QACA,YACA,aACA,aACA,qBACA,SACA,SACA,WACA,eACA,UACA,aACA,OACA,UACA,QACA,SACA,SACA,OACA,aACA,WACA,YACA,MACA,aACA,UACA,aACA,SACA,cACA,YACA,OACA,YACA,SACA,YACA,iBACA,UACA,eACA,UACA,gBACA,eACA,YACA,mBACA,UACA,SACA,WACA,OACA,aACA,oBACA,YACA,UACA,UACA,YACA,WACA,WACA,aACA,OACA,cACA,iBACA,QACA,UACA,YACA,gBACA,cACA,oBACA,MACA,UACA,OACA,SACA,OACA,sBACA,aACA,aACA,mBACA,UACA,cACA,SACA,aACA,WACA,kBACA,OACA,OACA,QACA,QACA,QACA,YACA,SACA,eACA,eACA,WACA,WACA,MACA,aACA,YACA,WACA,QACA,oBACA,eACA,OACA,cACA,QACA,UACA,UACA,OACA,cACA,SACA,OACA,gBACA,YACA,eAEF,eAAgB,CACd,UACA,kBACA,MACA,cACA,iBACA,aACA,UACA,eACA,UACA,WACA,cACA,MACA,IACA,IACA,cACA,IACA,MACA,IACA,KACA,SACA,cACA,wBACA,OACA,IACA,OACA,IACA,WACA,SACA,cACA,KACA,QACA,aACA,SACA,QACA,SACA,QACA,QACA,QACA,UACA,SACA,UACA,WACA,KACA,iBACA,KACA,MACA,UACA,aACA,KACA,KACA,MACA,QACA,WACA,SACA,KACA,UACA,UACA,MACA,SACA,KACA,SACA,QACA,OACA,WACA,aACA,UACA,WACA,OACA,YACA,cACA,QACA,MACA,iBACA,YACA,yBACA,aACA,QACA,aACA,QACA,UACA,MACA,SACA,wBACA,MACA,OACA,KACA,OACA,WACA,QACA,YACA,cAGJ5gG,OAAO8kC,KAAK87D,GAAU57D,SAAQ,SAAUslB,GACtCg2C,EAAOh2C,GAAG7zC,QAAUkqF,EAAiBC,EAASt2C,GAChD,IAyNAg2C,EAAOI,YAAYjqF,QAAUkqF,EAxNX,CAEhB,MACA,QACA,OACA,MACA,OACA,QACA,QACA,OACA,QACA,UACA,MACA,MACA,OACA,QACA,QACA,UACA,SACA,OACA,OACA,QACA,QACA,MACA,SACA,KACA,UACA,YACA,MACA,OACA,YACA,QACA,OACA,QACA,OACA,QACA,UACA,KACA,QACA,OACA,SACA,aACA,aACA,WACA,QACA,UACA,OACA,KACA,OACA,SACA,QACA,OACA,SACA,MACA,OACA,SACA,MACA,WACA,YACA,iBACA,kBACA,SACA,YACA,QACA,YACA,YACA,WACA,cACA,UACA,YACA,gBACA,mBACA,SACA,MACA,UACA,cACA,aACA,SACA,cACA,OACA,eACA,YACA,UACA,eACA,eACA,aACA,kBACA,QACA,aACA,SACA,eACA,YACA,eACA,WACA,SACA,WACA,aACA,OACA,YACA,gBACA,eACA,OACA,UACA,UACA,YACA,gBACA,iBACA,kBACA,gBACA,UACA,OACA,YACA,cACA,UACA,cACA,aACA,OACA,aACA,iBACA,aACA,OACA,eACA,cACA,WACA,gBACA,YACA,UACA,QACA,aACA,QACA,OACA,aACA,UACA,aACA,aACA,QACA,OACA,YACA,iBACA,YACA,UACA,eACA,cACA,iBACA,YACA,oBACA,kBACA,QACA,iBACA,eACA,gBACA,kBACA,cACA,gBACA,gBACA,kBACA,cACA,OACA,UACA,YACA,YACA,UACA,eACA,iBACA,aACA,OACA,SACA,cA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CZZ,MAAO,YAET,CAGE75E,QACE,qGACFy6E,YAAY,EACZZ,MAAO,YAET,CAEE75E,QACE,mEACFy6E,YAAY,EACZZ,MAAO,YAET,CAEE75E,QACE,uFACFy6E,YAAY,EACZZ,MAAO,aAGXrgF,MAAO,CACLwG,QAAS,0CACTy6E,YAAY,EACZO,QAAQ,EACRnB,MAAO,YAET50E,KAAM,CACJjF,QAAS,gEACT65E,MAAO,UAET9uE,OAAQ,CACN/K,QAAS,cACTg7E,QAAQ,GAEVa,WAAY,CACV77E,QACE,gGACF65E,MAAO,aAETa,QAAS,CAEP,CACE16E,QACE,yOACFy6E,YAAY,EACZO,QAAQ,GAEV,CACEh7E,QACE,2KACFy6E,YAAY,EACZO,QAAQ,IAGZnvE,OAAQ,cACR8uE,SAAU,CACR36E,QAAS,gCACTy6E,YAAY,GAEdG,YAAa,UAEjB,CApHAzvF,EAAOC,QAAUswG,EACjBA,EAAQ9rG,YAAc,UACtB8rG,EAAQ7gB,QAAU,kCCClB,SAAS8gB,EAAM9iB,GACbA,EAAMY,UAAUkiB,MAAQ,CACtB1xF,QAAS,OACTywE,QACE,s0BACFqF,UAAW,CACT//E,QAAS,cACT65E,MAAO,YAET2B,SAAU,aACVpsF,OAAQ,gBACRurF,SAAU,mBACVC,YAAa,wBAEjB,CAjBAzvF,EAAOC,QAAUuwG,EACjBA,EAAM/rG,YAAc,QACpB+rG,EAAM9gB,QAAU,kCCChB,SAAS+gB,EAAQ/iB,IACd,SAAWA,GACV,IAAIgjB,EAAY,CAEd,MACA,MACA,OACA,MACA,MACA,OACA,MACA,OACA,OACA,OACA,OACA,MACA,UACA,QACA,QACA,cACA,OACA,SACA,QACA,SACA,iBACA,aACA,QACA,cACA,OACA,aACA,QACA,gBACA,cACA,gBACA,cACA,WACA,aACA,QACA,SACA,eACA,OACA,OACA,OACA,OACA,UACA,OACA,eACA,SACA,YACA,OACA,QACA,QACA,WACA,QACA,YACA,SACA,QACA,OACA,aACA,UACA,cACA,aACA,SACA,aACA,SACA,WACA,eACA,SACA,cACA,SACA,qBACA,gBACA,UACA,SACA,SACA,OACA,kBACA,WACA,UACA,eACA,eACA,UACA,OACA,QACA,QACA,eACA,aACA,SACA,UACA,mBACA,OACA,eACA,QACA,SACA,OACA,YACA,mBACA,OACA,kBACA,eACA,iBACA,QACA,SACA,QACA,SACA,SACA,OACA,cACA,YACA,QACA,OACA,UACA,gBACA,QACA,WACA,OACA,iBACA,eACA,kBACA,gBACA,cACA,aACA,aACA,oBACA,UACA,MACA,OACA,UACA,SACA,SACA,YACA,MACA,OACA,QACA,UACA,MACA,gBACA,gBACA,aACA,WACA,YACA,gBACA,WACA,eACA,QACA,QACA,OACA,WACA,MACA,OACA,SACA,MACA,OACA,SACA,OACA,OACA,gBACA,QACA,OACA,eACA,UACA,OACA,SACA,YACA,MACA,OACA,iBACA,MACA,OACA,QACA,oBACA,SACA,UACA,aACA,gBACA,cACA,cACA,cACA,gBACA,SACA,SACA,UACA,iBACA,aACA,mBACA,eACA,YACA,QACA,OACA,SACA,SACA,QACA,aACA,cACA,cACA,eACA,YACA,UACA,eACA,YACA,YACA,OACA,UACA,OACA,UACA,UACA,aACA,YACA,SACA,UACA,cACA,YACA,WACA,WACA,QACA,SACA,QACA,QACA,QACA,OACA,SACA,WACA,YACA,gBACA,aACA,YACA,QACA,cACA,YACA,cACA,WACA,WACA,QACA,OACA,aACA,OACA,WACA,SACA,aACA,eACA,YAmBEC,EAAkB,OAHtBD,EAAYA,EAAU1kB,KAAI,SAAUwD,GAClC,OAAOA,EAAS/pF,QAAQ,IAAK,MAC/B,KACwCjC,KAAK,KAAO,OACpDkqF,EAAMY,UAAUmiB,QAAU/iB,EAAMY,UAAUpuF,OAAO,aAAc,CAAC,GAChEwtF,EAAMY,UAAUx+C,aAAa,UAAW,SAAU,CAChDntC,SAAU,CACRkS,QACE,oHACFg7E,QAAQ,EACRC,OAAQ,CACNP,QAASU,OAAO,YAAc0gB,EAAkB,iBAItDjjB,EAAMY,UAAUmiB,QAAQ7wF,OAAOkwE,OAAS,CACtC9uB,IAAK,CAEHnsD,QACE,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,gBAEjB,CAhDAzvF,EAAOC,QAAU4xG,EACjBA,EAAKptG,YAAc,OACnBotG,EAAKniB,QAAU,kCCCf,SAASqiB,EAAMrkB,GACbA,EAAMY,UAAUyjB,MAAQ,CACtBjzF,QAAS,oCACTc,OAAQ,CACN/K,QAAS,mDACTg7E,QAAQ,EACRC,OAAQ,CACN,eAAgB,gBAGpB/iE,UAAW,CACTlY,QAAS,0CACTy6E,YAAY,GAEdz6E,QAAS,CACPA,QACE,qHACFy6E,YAAY,EACZQ,OAAQ,CACN,eAAgB,CACdj7E,QAAS,qBACT65E,MAAO,cAETsjB,OAAQ,CACNn9F,QAAS,SACTi7E,OAAQ,CACN,aAAc,CACZj7E,QAAS,kBACT65E,MAAO,YAETe,YAAa,QACbD,SAAU,CACR36E,QAAS,IACT65E,MAAO,yBAMjBxtF,OAAQ,CACN2T,QAAS,iDACT65E,MAAO,WACPY,YAAY,GAEdC,QACE,sEACF,mBAAoB,CAClB16E,QACE,kIACFi7E,OAAQ,CACN,wBAAyB,CACvBj7E,QAAS,mBACT65E,MAAO,WAETujB,WAAY,CACVp9F,QAAS,mCACT65E,MAAO,UAET,wBAAyB,CACvB75E,QAAS,kBACT65E,MAAO,WAETe,YAAa,UAGjBwiB,WAAY,CACVp9F,QAAS,mCACT65E,MAAO,UAETc,SAAU,CACR,CACE36E,QAAS,IACT65E,MAAO,eAET,CACE75E,QAAS,IACT65E,MAAO,eAET,CACE75E,QAAS,IACT65E,MAAO,aAET,CACE75E,QAAS,KACT65E,MAAO,eAET,CACE75E,QAAS,QACT65E,MAAO,cAET,CACE75E,QAAS,OACT65E,MAAO,aAET,CACE75E,QAAS,OACT65E,MAAO,YAET,CACE75E,QAAS,UACT65E,MAAO,SAGX,gBAAiB,CACf,CACE75E,QACE,2HACFy6E,YAAY,EACZQ,OAAQ,CACN,aAAc,CACZj7E,QAAS,kBACT65E,MAAO,YAETwjB,MAAO,MAGX,CACEr9F,QAAS,sBACTi7E,OAAQ,CACN,aAAc,CACZj7E,QAAS,kBACT65E,MAAO,YAETwjB,MAAO,OAIbziB,YAAa,UACbhwF,KAAM,kBAEV,CArIAO,EAAOC,QAAU8xG,EACjBA,EAAMttG,YAAc,QACpBstG,EAAMriB,QAAU,kCCChB,SAASyiB,EAAMzkB,IACZ,SAAWA,GACV,IAAI2C,EACF,gEACF3C,EAAMY,UAAU6jB,MAAQ,CACtBrzF,QAAS,CACPjK,QAAS,iBACTy6E,YAAY,EACZO,QAAQ,GAEVqD,UAAW,CACTr+E,QACE,0GACFy6E,YAAY,EACZO,QAAQ,EACRC,OAAQ,CACNlwE,OAAQ,CACN/K,QACE,gEACFy6E,YAAY,EACZO,QAAQ,EACRC,OAAQ,CACNlE,OAAQ,CACN/2E,QAAS,cACT65E,MAAO,UAET2B,SAAUA,IAGdvxE,QAAS,CACPjK,QAAS,UACTy6E,YAAY,EACZO,QAAQ,GAEVN,QAAS,CACP16E,QAAS,OACTg7E,QAAQ,GAGVxrF,QAAS,CACPwQ,QAAS,uBACTy6E,YAAY,GAEdrrF,OAAQ,CACN4Q,QAAS,uBACTy6E,YAAY,GAEde,SAAUA,IAGdZ,YAAa,QAEhB,CAnDA,CAmDE/B,EACL,CAxDA1tF,EAAOC,QAAUkyG,EACjBA,EAAM1tG,YAAc,QACpB0tG,EAAMziB,QAAU,iCCChB,SAAS0iB,EAAI1kB,GACXA,EAAMY,UAAU8jB,IAAM,CACpBtzF,QAAS,CACPjK,QAAS,MACTg7E,QAAQ,GAEVjwE,OAAQ,CAEN/K,QACE,iGACFg7E,QAAQ,GAEVl4E,KAAM,CAEJ9C,QAAS,0CACTg7E,QAAQ,GAEVU,SAAU,CACR17E,QACE,oFACFg7E,QAAQ,EACRC,OAAQ,CACNN,SAAU,QAIdoC,WAAY,CACV/8E,QAAS,cACTg7E,QAAQ,EACRC,OAAQ,CACNL,YAAa,MAIjBxrF,OACE,iGACFsrF,QACE,8VACFC,SAAU,CAIR36E,QACE,kJACFy6E,YAAY,GAEdG,YAAa,kCAEjB,CAnDAzvF,EAAOC,QAAUmyG,EACjBA,EAAI3tG,YAAc,MAClB2tG,EAAI1iB,QAAU,kCCCd,SAAS2iB,EAAI3kB,GACXA,EAAMY,UAAU+jB,IAAM,CACpBvzF,QAAS,CACPjK,QAAS,uBACTg7E,QAAQ,GAEVjwE,OAAQ,CACN/K,QAAS,+DACTg7E,QAAQ,EACRC,OAAQ,CACNkF,cAAe,CAEbngF,QAAS,mDACTy6E,YAAY,EACZQ,OAAQ,QAId9uB,IAAK,CACH,0CACA,CACEnsD,QACE,oFACFy6E,YAAY,IAGhBgjB,cAAe,CACbz9F,QAAS,WACT65E,MAAO,aAETzqF,OAAQ,UACRsrF,QAAS,mEACTgB,SACE,mgBACFlsF,QAAS,qBACTmrF,SAAU,uCACVC,YAAa,iBAEf/B,EAAMY,UAAU+jB,IAAIzyF,OAAOkwE,OAAOkF,cAAclF,OAASpC,EAAMY,UAAU+jB,GAC3E,CA1CAryG,EAAOC,QAAUoyG,EACjBA,EAAI5tG,YAAc,MAClB4tG,EAAI3iB,QAAU,kCCCd,SAAS6iB,EAAK7kB,GAMZA,EAAMY,UAAUikB,KAAO,CACrBzzF,QAAS,CACPjK,QAAS,uCACTy6E,YAAY,EACZO,QAAQ,GAEVjwE,OAAQ,CACN/K,QAAS,kCACTg7E,QAAQ,GAEVN,QAAS,CACP16E,QACE,kqEACFy6E,YAAY,GAEd3sF,SACE,8tBACFguF,SAAU,wCACVN,SAAU,cACVpsF,OAAQ,8DACRurF,SAAU,8CACVC,YAAa,gBACbgE,UAAW,CACT5+E,QACE,iTACFy6E,YAAY,GAGlB,CArCAtvF,EAAOC,QAAUsyG,EACjBA,EAAK9tG,YAAc,OACnB8tG,EAAK7iB,QAAU,sCCHf,IAAI4F,EAAavzF,EAAQ,KAIzB,SAASywG,EAAW9kB,GAClBA,EAAMU,SAASkH,GACf5H,EAAMY,UAAUkkB,WAAa9kB,EAAMY,UAAUpuF,OAAO,IAAK,CACvD0f,OAAQ,CACN/K,QAAS,wCACTg7E,QAAQ,GAEVN,QACE,wYACFC,SAAU,iEAEL9B,EAAMY,UAAUkkB,WAAW,cAClC9kB,EAAMY,UAAUmkB,KAAO/kB,EAAMY,UAAUkkB,UACzC,CAhBAxyG,EAAOC,QAAUuyG,EACjBA,EAAW/tG,YAAc,aACzB+tG,EAAW9iB,QAAU,CAAC,uCCCtB,SAASgjB,EAAMhlB,GAEbA,EAAMY,UAAUokB,MAAQ,CACtB5zF,QAAS,CACPjK,QAAS,mBACTg7E,QAAQ,GAEVl4E,KAAM,CACJ9C,QAAS,+CACTg7E,QAAQ,GAEVjwE,OAAQ,CACN,CACE/K,QAAS,sCACTg7E,QAAQ,GAEV,CACEh7E,QAAS,8BACTg7E,QAAQ,IAGZ5rF,OAAQ,CAEN,uCACA,oEACA,qDAEFivF,UAAW,CACTr+E,QAAS,SACT65E,MAAO,YAETrgF,MAAO,CACLwG,QAAS,SACT65E,MAAO,YAET,gBAAiB,CACf75E,QAAS,SACT65E,MAAO,YAETikB,QAAS,CACP99F,QAAS,OACT65E,MAAO,UAITa,QACE,gSACFlrF,QAAS,qBACT,4BAA6B,CAC3BwQ,QAAS,yBACT65E,MAAO,eAGTc,SACE,wGACFC,YAAa,8BAEjB,CA5DAzvF,EAAOC,QAAUyyG,EACjBA,EAAMjuG,YAAc,QACpBiuG,EAAMhjB,QAAU,sCCHhB,IAAI4F,EAAavzF,EAAQ,KAIzB,SAAS6wG,EAAOllB,GACdA,EAAMU,SAASkH,GACd,SAAW5H,GAEVA,EAAMY,UAAUskB,OAASllB,EAAMY,UAAUpuF,OAAO,IAAK,CAEnDqvF,QACE,ggBAIFtrF,OACE,qHACFI,QAAS,qBACT,yBAA0B,CACxBwQ,QACE,ukBACF65E,MAAO,cAGXhB,EAAMY,UAAUx+C,aAAa,SAAU,aAAc,CAGnD,eAAgB,CACdj7B,QACE,gVACF65E,MAAO,aAGX,IAAI3kF,EAAa,CAEf,mBAAoB,CAClB8K,QACE,whBACF65E,MAAO,WAET,sBAAuB,CACrB75E,QAAS,wBACT65E,MAAO,WAGT,uBAAwB,CACtB75E,QACE,07KACF65E,MAAO,YAGT,uBAAwB,CACtB75E,QACE,4rCACF65E,MAAO,aAIXhB,EAAMY,UAAUx+C,aAAa,IAAK,UAAW/lC,GACzC2jF,EAAMY,UAAUgI,MAElBvsF,EAAW,wBAA0B,CACnC8K,QACE,+ZACF65E,MAAO,WAEThB,EAAMY,UAAUx+C,aAAa,MAAO,UAAW/lC,GAElD,CA9DA,CA8DE2jF,EACL,CApEA1tF,EAAOC,QAAU2yG,EACjBA,EAAOnuG,YAAc,SACrBmuG,EAAOljB,QAAU,kCCCjB,SAASmjB,EAASnlB,GAEhBA,EAAMY,UAAUukB,SAAW,CACzB/zF,QAAS,0BACTc,OAAQ,CACN/K,QAAS,8BACTg7E,QAAQ,GAEVN,QACE,+NACF,aACE,6EACFgB,SAAU,8DACVI,SAAU,kDACV1sF,OAAQ,CACN4Q,QACE,4EACFy6E,YAAY,GAEdE,SAAU,oDACVC,YAAa,kBAEf/B,EAAMY,UAAUwkB,KAAOplB,EAAMY,UAAUukB,QACzC,CA1BA7yG,EAAOC,QAAU4yG,EACjBA,EAASpuG,YAAc,WACvBouG,EAASnjB,QAAU,CAAC,uCCCpB,SAASqjB,EAAGrlB,GACVA,EAAMY,UAAUykB,GAAK,CACnBj0F,QAAS,CACPjK,QAAS,uBACTg7E,QAAQ,GAEVjwE,OAAQ,CACN/K,QAAS,yBACTg7E,QAAQ,GAEV+N,KAAM,CACJ/oF,QAAS,yBACTg7E,QAAQ,EACRnB,MAAO,WAETa,QACE,gQACFgB,SAAU,CACR,2BACA,CACE17E,QAAS,yBACTy6E,YAAY,IAGhBrrF,OACE,2EACFosF,SAAU,oBACV,YAAa,2BACbb,SACE,+FACFC,YAAa,iBAEjB,CAnCAzvF,EAAOC,QAAU8yG,EACjBA,EAAGtuG,YAAc,KACjBsuG,EAAGrjB,QAAU,kCCCb,SAASsjB,EAAOtlB,GACdA,EAAMY,UAAU0kB,OAAS,CACvBl0F,QAAS,0BACTc,OAAQ,CACN/K,QAAS,wBACTg7E,QAAQ,GAKVN,QAAU,WACR,IAAI0B,EAAW,CACb,aACA,QACA,WACA,UACA,SACA,QACA,eACA,SACA,SACA,UACA,WACA,UACA,cACA,SACA,MACA,QACA,KACA,QACA,KACA,OACA,SACA,QACA,SAOF,OALAA,EAAWA,EACRjF,KAAI,SAAUuD,GACb,OAAOA,EAAQ3yE,MAAM,IAAIpZ,KAAK,KAChC,IACCA,KAAK,KACDysF,OAAO,SAAWgB,EAAW,OACtC,CAhCU,GAiCVV,SAAU,4BACVtsF,OAAQ,CAEN4Q,QACE,gHACFy6E,YAAY,GAEdE,SACE,sLACFC,YAAa,kBAEjB,CAzDAzvF,EAAOC,QAAU+yG,EACjBA,EAAOvuG,YAAc,SACrBuuG,EAAOtjB,QAAU,kCCCjB,SAASzyD,EAAOywD,IACb,SAAWA,GACV,IAAIzwD,EAAUywD,EAAMY,UAAUrxD,OAASywD,EAAMY,UAAUpuF,OAAO,SAAU,CACtEqvF,QAAS,CACP16E,QACE,+GACFy6E,YAAY,GAEde,SAAU,CACRx7E,QAAS,4DACTy6E,YAAY,EACZQ,OAAQ,CACNL,YAAa,UAGjBc,SAAU,CACR17E,QAAS,iDACTy6E,YAAY,EACZQ,OAAQ,CACNP,QAAS,CACP16E,QAAS,oBACTy6E,YAAY,GAEdG,YAAa,UAGjB7D,OAAQ,CACN/2E,QAAS,qCACT65E,MAAO,WAETe,YAAa,gBAEfxyD,EAASywD,EAAMY,UAAUx+C,aAAa,SAAU,UAAW,CACzD,iBAAkB,CAChBj7B,QAAS,UACTy6E,YAAY,EACZZ,MAAO,WAETuG,WAAY,CAEVpgF,QAAS,uDACTg7E,QAAQ,EACRP,YAAY,EACZQ,OAAQ,CACNlwE,OAAQ,CACN/K,QAAS,2CACTy6E,YAAY,GAEdC,QAAStyD,EAAOsyD,QAChBc,SAAUpzD,EAAOozD,SACjBE,SAAUtzD,EAAOszD,SACjBlsF,QAAS,qBACTJ,OAAQ,kDACR2nF,OAAQ3uD,EAAO2uD,OACf4D,SACE,iGACFC,YAAaxyD,EAAOwyD,gBAI1B/B,EAAMY,UAAUx+C,aACd,SACA,cACA,CACEmlD,WAAYh4D,EAAOg4D,WACnB1F,QAAStyD,EAAOsyD,QAChBc,SAAUpzD,EAAOozD,SACjBE,SAAUtzD,EAAOszD,SACjB3E,OAAQ3uD,EAAO2uD,OACf,qBAAsB,CACpB/2E,QAASooB,EAAOwyD,YAChBf,MAAO,gBAGXzxD,EAAY,IAAE6yD,OAAO,cAExB,CA3EA,CA2EEpC,EACL,CAhFA1tF,EAAOC,QAAUg9B,EACjBA,EAAOx4B,YAAc,SACrBw4B,EAAOyyD,QAAU,iCCCjB,SAASujB,EAAOvlB,GAKdA,EAAMY,UAAU2kB,OAAS,CACvB/f,UAAW,CACTr+E,QAAS,iBACTg7E,QAAQ,EACRnB,MAAO,CAAC,QAAS,aAEnB5vE,QAAS,CACPjK,QAAS,uCACTg7E,QAAQ,GAEVjwE,OAAQ,CACN/K,QAAS,wDACTg7E,QAAQ,GAEVqjB,IAAK,CACHr+F,QAAS,qCACTy6E,YAAY,EACZO,QAAQ,EACRC,OAAQ,MAEVP,QAAS,CACP,CAEE16E,QACE,iTACFy6E,YAAY,GAEd,CAEEz6E,QAAS,+CACTy6E,YAAY,GAEd,CAEEz6E,QACE,mKACFy6E,YAAY,GAEd,CAEEz6E,QACE,mhBACFy6E,YAAY,IAGhBrrF,OAAQ,CAEN,0BACA,kCAEFurF,SAAU,CACR,+CACA,CACE36E,QACE,0EACFy6E,YAAY,IAGhBG,YAAa,0BAEf/B,EAAMY,UAAU2kB,OAAOC,IAAIpjB,OAASpC,EAAMY,UAAUpuF,OAAO,SAAU,CACnEgzG,SAAK9vG,EACLmsF,aAASnsF,EACTosF,cAAUpsF,IAEZsqF,EAAMY,UAAU6kB,aAAezlB,EAAMY,UAAU2kB,MACjD,CA1EAjzG,EAAOC,QAAUgzG,EACjBA,EAAOxuG,YAAc,SACrBwuG,EAAOvjB,QAAU,CAAC,+CCClB,SAAS0jB,EAAU1lB,IAChB,SAAWA,GAEV,IAAIkc,EAAS,2CAA2C1rF,OACpDxc,EAAO,kCAAkCwc,OAAOzY,QAClD,aACA,WACE,OAAOmkG,CACT,IAEEwJ,EAAa1lB,EAAMY,UAAU8kB,UAAY,CAC3Ct0F,QAAS,0BACTc,OAAQ,CACN/K,QAAS,8CACTg7E,QAAQ,GAEV,aAAc,CACZ,CACEh7E,QAASo7E,OACP,+BAA+B/xE,OAAOzY,QACpC,WACA,WACE,OAAO/D,CACT,IAEF,KAEF4tF,YAAY,EACZQ,OAAQ,MAEV,CACEj7E,QAASo7E,OACP,oBAAoB/xE,OAAOzY,QAAQ,WAAW,WAC5C,OAAO/D,CACT,IACA,KAEFouF,OAAQ,MAEV,CACEj7E,QAASo7E,OACP,eAAe/xE,OAAOzY,QAAQ,WAAW,WACvC,OAAO/D,CACT,KAEF4tF,YAAY,EACZQ,OAAQ,OAGZP,QAAS,CACP16E,QACE,mIACFy6E,YAAY,GAEdjrF,QAAS,CACPwQ,QAAS,8BACTy6E,YAAY,GAEdyC,QAAS,CACPl9E,QAAS,4DACTy6E,YAAY,GAEdiB,SAAU,iBACVtsF,OAAQ,CAEN,6BACA,4CAEFurF,SACE,2EACFC,YAAa,4BAEX0B,EAAkB,CACpB,UACA,UACA,UACA,WACA,eACAhvC,QAAO,SAAUkxD,EAAOn0G,GAExB,OADAm0G,EAAMn0G,GAAOk0G,EAAUl0G,GAChBm0G,CACT,GAAG,CAAC,GACJD,EAAU,cAAchwE,SAAQ,SAAUkF,GACxCA,EAAEwnD,OAASqB,CACb,GACD,CApFA,CAoFEzD,EACL,CAzFA1tF,EAAOC,QAAUmzG,EACjBA,EAAU3uG,YAAc,YACxB2uG,EAAU1jB,QAAU,kCCCpB,SAAS4jB,EAAO5lB,GACdA,EAAMY,UAAUglB,OAAS,CACvB1zF,OAAQ,UACR2vE,QAAS,CACP16E,QACE,qFACFy6E,YAAY,EACZO,QAAQ,EACRC,OAAQ,CACNP,QAAS,aACThhF,SAAU,CACRsG,QAAS,mBACTy6E,YAAY,EACZQ,OAAQ,CACNL,YAAa,UACb9sF,SAAU,WAGd,UAAW,CACTkS,QAAS,kBACTy6E,YAAY,EACZQ,OAAQ,CACN8E,UAAW,CACT//E,QAAS,UACT65E,MAAO,YAETe,YAAa,gBAKrBD,SAAU,IACV+jB,MAAO,CACL1+F,QACE,uEACFg7E,QAAQ,EACRC,OAAQ,CACNS,SAAU,SACV5tF,SAAU,CACRkS,QAAS,iBACTy6E,YAAY,GAEd1vE,OAAQ,UACR6vE,YAAa,QACbD,SAAU,MAGdC,YAAa,OACbxrF,OAAQ,CACN4Q,QAAS,4BACTy6E,YAAY,GAEdjrF,QAAS,UAEXqpF,EAAMY,UAAUklB,GAAK9lB,EAAMY,UAAUglB,MACvC,CA1DAtzG,EAAOC,QAAUqzG,EACjBA,EAAO7uG,YAAc,SACrB6uG,EAAO5jB,QAAU,CAAC,qCCClB,SAAS+jB,EAAW/lB,GAClBA,EAAMY,UAAUmlB,WAAa,CAC3B30F,QAASmxE,OACP,CAEE,mBAAmB/xE,OACnB,cAAcA,OACd,4DAA4DA,OAC5D,mBAAmBA,QACnB1a,KAAK,MAEToc,OAAQ,CACN/K,QAAS,kDACTg7E,QAAQ,GAEVQ,SAAU,OACV,sBAAuB,CACrBx7E,QAAS,2CACTy6E,YAAY,EACZZ,MAAO,YAET,aAAc,CACZ75E,QACE,iIACFy6E,YAAY,EACZQ,OAAQ,CACNL,YAAa,MAGjBF,QACE,gYACF,mBAAoB,CAClB16E,QAAS,sBACT65E,MAAO,YAET6B,SAAU,sBACVlsF,QAAS,sBACTJ,OAAQ,oBACRurF,SAAU,8BACVC,YAAa,eAEf/B,EAAMY,UAAUolB,MAAQhmB,EAAMY,UAAUmlB,UAC1C,CA7CAzzG,EAAOC,QAAUwzG,EACjBA,EAAWhvG,YAAc,aACzBgvG,EAAW/jB,QAAU,CAAC,wCCCtB,SAASikB,EAAKjmB,IACX,SAAWA,GACV,IAAIyU,EACF,6GACGjkF,OACLwvE,EAAMY,UAAUqlB,KAAO,CACrB70F,QAAS,CACP,CAEEjK,QAAS,2BACTy6E,YAAY,EACZO,QAAQ,GAEV,CACEh7E,QAAS,gBACTy6E,YAAY,EACZO,QAAQ,IAIZjwE,OAAQ,CACN,CACE/K,QAASo7E,OACP,qCAAqC/xE,OACnC,MACA,CAEE,mDAAmDA,OAEnD,2CAA2CA,OAI3CikF,GACA3+F,KAAK,KACP,KAEJqsF,QAAQ,GAEV,CACEh7E,QAAS,mCACTg7E,QAAQ,GAGV,CACEh7E,QAAS,wBACTg7E,QAAQ,IAGZiB,MAAO,CACL,CACEj8E,QAASo7E,OACP,+BAA+B/xE,OAC7B,MACA,CAEE,mDAAmDA,OAEnD,2CAA2CA,OAI3CikF,GACA3+F,KAAK,KACP,IACA,mBAAmB0a,QAEvB2xE,QAAQ,GAEV,CACEh7E,QAASo7E,OACP,yCAAyC/xE,OACvC,MACA,CAGE,8EACGA,OAEH,sEACGA,OAKHikF,EAAW,MAAMjkF,OAASikF,GAC1B3+F,KAAK,KACP,IACA,qBAAqB0a,QAEzBoxE,YAAY,EACZO,QAAQ,GAKV,CACEh7E,QACE,4HACFg7E,QAAQ,IAIZQ,SAAU,CAER,sBACA,kBACA,kBACA,sDACA,aAEA,qDAEFujB,WAAY,CAEV/+F,QAAS,uBACT65E,MAAO,UAET,WAAY,CAEV75E,QAAS,kCACT65E,MAAO,UAET6B,SAAU,CACR17E,QAAS,mBACTy6E,YAAY,GAEdC,QACE,6MACFtrF,OACE,8GACFurF,SACE,gNACFC,YAAa,eAEhB,CAtIA,CAsIE/B,EACL,CA3IA1tF,EAAOC,QAAU0zG,EACjBA,EAAKlvG,YAAc,OACnBkvG,EAAKjkB,QAAU,sCCHf,IAAI6b,EAAexpG,EAAQ,MAI3B,SAAS8xG,EAAUnmB,GACjBA,EAAMU,SAASmd,GACf7d,EAAMY,UAAUx+C,aAAa,MAAO,WAAY,CAC9Cv0B,KAAM,CACJ1G,QAAS,WACT65E,MAAO,WAETlB,OACE,uIACF73E,MAAO,CACLd,QAAS,cACTi7E,OAAQ,CACNP,QAAS,6BACTE,YAAa,WAIrB,CApBAzvF,EAAOC,QAAU4zG,EACjBA,EAAUpvG,YAAc,YACxBovG,EAAUnkB,QAAU,sCCHpB,IAAIsM,EAA4Bj6F,EAAQ,KAIxC,SAAS0pG,EAAI/d,GACXA,EAAMU,SAAS4N,GAQd,SAAWtO,GACV,IAAI5uE,EAAU,oCACV6xE,EAAW,CACb,CACE97E,QAAS,sBACT65E,MAAO,WAET,CACE75E,QAAS,iCACTg7E,QAAQ,EACRP,YAAY,GAEd,CACEz6E,QAAS,+CACTg7E,QAAQ,EACRP,YAAY,GAEd,gBACA,iCAEErrF,EACF,6IACEurF,EACF,wFACEC,EAAc,gBAClB/B,EAAMY,UAAUmd,IAAM,CACpBjW,UAAW,CACT3gF,QAAS,6BACT65E,MAAO,aAET5vE,QAASA,EACTuxE,SAAU,sBACVyjB,QAAS,CACPj/F,QACE,oEACFy6E,YAAY,EACZQ,OAAQ,CACNL,YAAa,OAGjB,wBAAyB,CACvB56E,QAAS,4DACTy6E,YAAY,EACZZ,MAAO,cAET,sBAAuB,CACrB75E,QAAS,qCACTy6E,YAAY,EACZZ,MAAO,YAETa,QAAS,CACP,CACE16E,QACE,8EACF65E,MAAO,eACPmB,QAAQ,EACRP,YAAY,GAEd,CACEz6E,QACE,sIACF65E,MAAO,YACPmB,QAAQ,EACRP,YAAY,GAEd,CACEz6E,QACE,6IACF65E,MAAO,cACPmB,QAAQ,EACRP,YAAY,GAEd,CACEz6E,QACE,2EACF65E,MAAO,mBACPmB,QAAQ,GAEV,CACEh7E,QAAS,qDACT65E,MAAO,mBACPmB,QAAQ,EACRP,YAAY,GAEd,CACEz6E,QAAS,qCACT65E,MAAO,iBACPmB,QAAQ,GAEV,CAEEh7E,QAAS,sBACTy6E,YAAY,GAEd,aACA,CAKEz6E,QACE,8hBACFy6E,YAAY,IAGhB,gBAAiB,CACfz6E,QAAS,qCACTy6E,YAAY,GAEd,aAAc,CACZ,CACEz6E,QACE,qGACFg7E,QAAQ,EACRP,YAAY,GAEd,CACEz6E,QAAS,8BACTg7E,QAAQ,EACRP,YAAY,GAEd,CACEz6E,QAAS,gCACTg7E,QAAQ,GAEV,CACEh7E,QAAS,gCACT65E,MAAO,6BACPmB,QAAQ,EACRP,YAAY,EACZQ,OAAQ,CACNL,YAAa,OAGjB,CACE56E,QAAS,kCACT65E,MAAO,6BACPmB,QAAQ,EACRC,OAAQ,CACNL,YAAa,OAGjB,CACE56E,QACE,iHACF65E,MAAO,6BACPmB,QAAQ,EACRP,YAAY,EACZQ,OAAQ,CACNL,YAAa,OAGjB,CACE56E,QAAS,wBACT65E,MAAO,mBACPmB,QAAQ,GAEV,CACEh7E,QAAS,gCACT65E,MAAO,CAAC,6BAA8B,oBACtCmB,QAAQ,EACRC,OAAQ,CACNL,YAAa,OAGjB,CACE56E,QAAS,wBACT65E,MAAO,iBACPmB,QAAQ,GAEV,CACEh7E,QAAS,gCACT65E,MAAO,CAAC,6BAA8B,kBACtCmB,QAAQ,EACRC,OAAQ,CACNL,YAAa,OAGjB,CACE56E,QAAS,gCACT65E,MAAO,YACPmB,QAAQ,EACRP,YAAY,GAEd,CACEz6E,QAAS,0CACT65E,MAAO,CAAC,6BAA8B,aACtCmB,QAAQ,EACRP,YAAY,EACZQ,OAAQ,CACNL,YAAa,OAGjB,CACE56E,QAAS,4CACT65E,MAAO,cACPmB,QAAQ,EACRP,YAAY,GAEd,CACEz6E,QAAS,oDACT65E,MAAO,CAAC,6BAA8B,eACtCmB,QAAQ,EACRP,YAAY,EACZQ,OAAQ,CACNL,YAAa,QAInBkB,SAAUA,EACVJ,SAAU,CACR17E,QAAS,+CACTy6E,YAAY,EACZQ,OAAQ,CACNL,YAAa,OAGjB9sF,SAAU,CACRkS,QAAS,aACTy6E,YAAY,GAEdrrF,OAAQA,EACRurF,SAAUA,EACVC,YAAaA,GAEf,IAAIskB,EAAuB,CACzBl/F,QACE,6FACFy6E,YAAY,EACZQ,OAAQpC,EAAMY,UAAUmd,KAEtB7rF,EAAS,CACX,CACE/K,QAAS,sCACT65E,MAAO,gBACPmB,QAAQ,EACRC,OAAQ,CACN0F,UAAW,CACT3gF,QAAS,2BACT65E,MAAO,SACPoB,OAAQ,CACNL,YAAa,mBAKrB,CACE56E,QACE,8EACF65E,MAAO,iBACPmB,QAAQ,EACRC,OAAQ,CACN0F,UAAW,CACT3gF,QAAS,yCACT65E,MAAO,SACPoB,OAAQ,CACNL,YAAa,iBAGjBuF,cAAe+e,IAGnB,CACEl/F,QAAS,yBACT65E,MAAO,yBACPmB,QAAQ,GAEV,CACEh7E,QAAS,yBACT65E,MAAO,uBACPmB,QAAQ,GAEV,CACEh7E,QAAS,yBACT65E,MAAO,uBACPmB,QAAQ,EACRC,OAAQ,CACNkF,cAAe+e,KAIrBrmB,EAAMY,UAAUx+C,aAAa,MAAO,WAAY,CAC9ClwB,OAAQA,EACRpa,UAAW,CACTqP,QACE,4IACFg7E,QAAQ,EACRC,OAAQ,CACN,oBAAqB,CACnBj7E,QAAS,uBACTy6E,YAAY,EAEZQ,OAAQ,CACNhxE,QAASA,EACTc,OAAQA,EACR,uBAAwB,CACtB,CACE/K,QAAS,+BACT65E,MAAO,aACPmB,QAAQ,EACRP,YAAY,GAEd,CACEz6E,QAAS,+BACT65E,MAAO,CAAC,aAAc,8BACtBmB,QAAQ,EACRP,YAAY,EACZQ,OAAQ,CACNL,YAAa,QAInBkB,SAAUA,EACV1sF,OAAQA,EACRurF,SAAUA,EACVC,YAAaA,IAGjB+F,UAAW,CACT3gF,QAAS,WACT65E,MAAO,mBAKfhB,EAAMwB,MAAMlqC,IAAI,mBAAmB,SAAU+pC,GAC3C,GAAK,MAAMzpF,KAAKypF,EAAIh3E,MAApB,CAKA21E,EAAMY,UAAU,qBAAqB8N,kBACnCrN,EACA,MAHA,oKAFF,CAQF,IACArB,EAAMwB,MAAMlqC,IAAI,kBAAkB,SAAU+pC,GAC1CrB,EAAMY,UAAU,qBAAqB+N,qBAAqBtN,EAAK,MACjE,GACD,CApVA,CAoVErB,EACL,CAjWA1tF,EAAOC,QAAUwrG,EACjBA,EAAIhnG,YAAc,MAClBgnG,EAAI/b,QAAU,sCCHd,IAAI6b,EAAexpG,EAAQ,MACvBqjG,EAAuBrjG,EAAQ,MAInC,SAASiyG,EAAOtmB,GACdA,EAAMU,SAASmd,GACf7d,EAAMU,SAASgX,GACd,SAAW1X,GACV,IAAI+K,EAAiB,8BAA8Bv6E,OACnDwvE,EAAMY,UAAU0lB,OAAStmB,EAAMY,UAAUpuF,OAAO,cAAe,CAC7D00F,UAAW,CACT//E,QAASo7E,OACP,0DACEwI,EACA,kBAEJnJ,YAAY,KAGhB5B,EAAMY,UAAUx+C,aAAa,SAAU,UAAW,CAChD,aAAc,CACZ,CACEj7B,QAASo7E,OACP,yFACEwI,GAEJnJ,YAAY,EACZQ,OAAQ,CACNP,QACE,sHACFE,YAAa,kBAKrB/B,EAAMY,UAAUmX,YAAYC,WAAW,MAAOhY,EAAMY,UAAU0lB,OAC/D,CA7BA,CA6BEtmB,EACL,CApCA1tF,EAAOC,QAAU+zG,EACjBA,EAAOvvG,YAAc,SACrBuvG,EAAOtkB,QAAU,sCCJjB,IAAIqB,EAAehvF,EAAQ,MAI3B,SAASkyG,EAAMvmB,GACbA,EAAMU,SAAS2C,GACfrD,EAAMY,UAAU2lB,MAAQvmB,EAAMY,UAAUpuF,OAAO,MAAO,CACpD4e,QAAS,CACPjK,QAAS,wBACTg7E,QAAQ,GAGVN,QACE,u6EAEFC,SAAU,+CAEZ9B,EAAMY,UAAUx+C,aAAa,QAAS,WAAY,CAChDzhC,MAAO,CACLwG,QAAS,gBACT65E,MAAO,WAGb,CAtBA1uF,EAAOC,QAAUg0G,EACjBA,EAAMxvG,YAAc,QACpBwvG,EAAMvkB,QAAU,kCCChB,SAASwkB,EAAWxmB,GAElBA,EAAMY,UAAU4lB,WAAa,CAC3Bp1F,QAAS,CACPjK,QAAS,uCACTy6E,YAAY,EACZO,QAAQ,GAEV,oBAAqB,CACnBh7E,QAAS,2BACTg7E,QAAQ,GAEVjwE,OAAQ,CACN/K,QAAS,iCACTg7E,QAAQ,GAEVc,SAAU,CACR,wEACA,iEACA,qCACA,sCACA,+DACA,6CACA,+BACA,4EACA,kCACA,yCACA,gGACA,+BACA,oCACA,0CACA,0EACA,+IACA,YAEFtsF,QAAS,qBACTkrF,QACE,6MACFgB,SAAU,CACR17E,QAAS,oCACTy6E,YAAY,GAEd,YAAa,CACXz6E,QACE,6HACF65E,MAAO,cAETzqF,OAAQ,CACN4Q,QACE,uFACFy6E,YAAY,GAEdE,SAAU,0CACVC,YAAa,gBAEf/B,EAAMY,UAAU6lB,GAAKzmB,EAAMY,UAAsB,WACjDZ,EAAMY,UAAU8lB,QAAU1mB,EAAMY,UAAsB,UACxD,CA5DAtuF,EAAOC,QAAUi0G,EACjBA,EAAWzvG,YAAc,aACzByvG,EAAWxkB,QAAU,kCCCrB,SAAS2kB,EAAW3mB,IACjB,SAAWA,GACV,IAAI2mB,EAAc3mB,EAAMY,UAAU+lB,WAAa,CAC7Cv1F,QAAS,CACP,CACEjK,QAAS,uBACTy6E,YAAY,GAEd,CACEz6E,QAAS,cACTy6E,YAAY,IAGhB1vE,OAAQ,CACN,CACE/K,QAAS,uBACTg7E,QAAQ,EACRC,OAAQ,MAEV,CACEj7E,QAAS,iBACTg7E,QAAQ,IAKZ9iE,UAAW,qDACX1oB,QAAS,sBACTgsF,SAAU,UAIVE,SAAU,CACR,wrBACA,ycAGFhB,QACE,kPACFC,SAAU,CACR36E,QACE,wJACFy6E,YAAY,GAEdG,YAAa,iBAEf4kB,EAAWz0F,OAAO,GAAGkwE,OAAS,CAC5BS,SAAU,CAER17E,QAAS,uDACTy6E,YAAY,EACZQ,OAAQukB,GAEVhwG,QAASgwG,EAAWhwG,QACpBgsF,SAAUgkB,EAAWhkB,SAExB,CAvDA,CAuDE3C,EACL,CA5DA1tF,EAAOC,QAAUo0G,EACjBA,EAAW5vG,YAAc,aACzB4vG,EAAW3kB,QAAU,kCCCrB,SAAS4kB,EAAW5mB,GAClBA,EAAMY,UAAUgmB,WAAa5mB,EAAMY,UAAUpuF,OAAO,QAAS,CAC3DqvF,QACE,qKAEFgB,SAAU,iBACVf,SAAU,8CAEZ9B,EAAMY,UAAUx+C,aAAa,aAAc,SAAU,CAEnD6gD,SAAU,8BACVjvF,KAAM,CACJmT,QAAS,4DACT65E,MAAO,eAGb,CAnBA1uF,EAAOC,QAAUq0G,EACjBA,EAAW7vG,YAAc,aACzB6vG,EAAW5kB,QAAU,kCCCrB,SAASmb,EAAOnd,GACdA,EAAMY,UAAUuc,OAAS,CAEvB/rF,QAAS,CACPjK,QAAS,uBACTg7E,QAAQ,GAGVjwE,OAAQ,CACN/K,QAAS,4DACTg7E,QAAQ,GAEVkC,QAAS,6BAETxB,SAAU,6BACVtsF,OAAQ,kBAERurF,SAAU,iDACVC,YAAa,cAEjB,CAvBAzvF,EAAOC,QAAU4qG,EACjBA,EAAOpmG,YAAc,SACrBomG,EAAOnb,QAAU,kCCCjB,SAAS6kB,EAAO7mB,IAGb,SAAWA,GAGV,IAeI8mB,EAAiB,CACnB,KACA,WACA,cACA,aACA,KACA,WAIEvjB,EAzBe,CACjB,MACA,MACA,MACA,MACA,QACA,SACA,SACA,QACA,eACA,UACA,OACA,YAa0BvtF,OAAO8wG,EADd,CAAC,WAEtB9mB,EAAMY,UAAUimB,OAAS,CACvBz1F,QAAS,CACPjK,QAAS,gBACTy6E,YAAY,GAEd,eAAgB,CAEdz6E,QAAS,IAAIo7E,OACX,OAASukB,EAAehxG,KAAK,KAAO,qBAEtC8rF,YAAY,EACZQ,OAAQ,CACN,YAAa,CACXj7E,QAAS,YACT65E,MAAO,aAETe,YAAa,UAGjB,iBAAkB,CAChB56E,QAAS,aACTi7E,OAAQ,CACN,YAAa,CACXj7E,QAAS,gCACT65E,MAAO,aAET,cAAe,CACb75E,QAAS,qCACTg7E,QAAQ,EACRnB,MAAO,cAETe,YAAa,sBAGjB,gBAAiB,CACf,CACE56E,QAAS,eAETi7E,OAAQ,CACNL,YAAa,UACb,iBAAkB,CAChB56E,QAAS,+BACT65E,MAAO,YAIb,CACE75E,QAAS,mBAETy6E,YAAY,EACZQ,OAAQ,CACN,iBAAkB,CAChBj7E,QAAS,+BACT65E,MAAO,aAKfa,QAAS,IAAIU,OAAO,SAAWgB,EAASztF,KAAK,KAAO,OAAQ,KAC5D+sF,SAAU,wBACVtsF,OACE,oFACFurF,SAAU,mDACVC,YAAa,gBAEhB,CA9FA,CA8FE/B,EACL,CArGA1tF,EAAOC,QAAUs0G,EACjBA,EAAO9vG,YAAc,SACrB8vG,EAAO7kB,QAAU,kCCCjB,SAAS9tF,EAAW8rF,GAClBA,EAAMY,UAAU1sF,WAAa,CAC3Bkd,QAAS,kBACT,aAAc,CACZjK,QACE,gGACFy6E,YAAY,GAEd,YAAa,uDACbG,YAAa,OAEjB,CAdAzvF,EAAOC,QAAU2B,EACjBA,EAAW6C,YAAc,aACzB7C,EAAW8tF,QAAU,kCCCrB,SAAS+kB,EAAS/mB,IACf,SAAWA,GACV,IAAIgnB,EACF,4EACFhnB,EAAMY,UAAUmmB,SAAW/mB,EAAMY,UAAUpuF,OAAO,QAAS,CACzD,aAAc,CACZ,CACE2U,QACE,8DACFy6E,YAAY,GAEd,CACEz6E,QACE,6FACFy6E,YAAY,IAGhBC,QACE,2KACFgB,SAAU,0BAEZ7C,EAAMY,UAAUx+C,aAAa,WAAY,WAAY,CACnDk8C,IAAK,CACHn3E,QAAS,2DACT65E,MAAO,aACPoB,OAAQ,CACNL,YAAa,SACbsC,QAAS2iB,IAGb3iB,QAAS2iB,EACT,wBAAyB,CACvB7/F,QAAS,+DACT65E,MAAO,aACPoB,OAAQ,CACNL,YAAa,OAGjBiB,WAAY,CACV77E,QAAS,4BACTy6E,YAAY,IAGjB,CA1CA,CA0CE5B,EACL,CA/CA1tF,EAAOC,QAAUw0G,EACjBA,EAAShwG,YAAc,WACvBgwG,EAAS/kB,QAAU,kCCCnB,SAASilB,EAAIjnB,GACXA,EAAMY,UAAUqmB,IAAM,CACpB71F,QAAS,CACPjK,QAAS,MACTg7E,QAAQ,GAEVjwE,OAAQ,CACN/K,QAAS,oBACTg7E,QAAQ,EACRC,OAAQ,CACNlsC,OAAQ,mBAGZ,iBAAkB,CAChB/uC,QAAS,4CACT65E,MAAO,SACPmB,QAAQ,GAEVN,QACE,uJACFoB,SACE,8fACFtsF,QAAS,gEACTgsF,SAAU,qCACV0B,QAAS,CACPl9E,QACE,wwDACF65E,MAAO,oBAET,mBAAoB,CAClB75E,QACE,6EACFy6E,YAAY,EACZO,QAAQ,GAEVU,SAAU,0BACVtsF,OAAQ,qCACRurF,SAAU,+DACVC,YAAa,eAEjB,CA3CAzvF,EAAOC,QAAU00G,EACjBA,EAAIlwG,YAAc,MAClBkwG,EAAIjlB,QAAU,kCCCd,SAASklB,EAAIlnB,IACV,SAAWA,GAQVA,EAAMY,UAAUsmB,IAAM,CAGpB91F,QAAS,CACPjK,QAAS,+CACTy6E,YAAY,GAId,mBAAoB,CAClBz6E,QACE,sFACFy6E,YAAY,EACZQ,OAAQpC,EAAMY,UAAUiF,YAG1B2I,OAAQ,CACNrnF,QACE,uEACFy6E,YAAY,EACZQ,OAAQ,CACN,cAAe,CACbj7E,QAAS,WACT65E,MAAO,YAET50E,KAAM,cAGV,uBAAwB,CACtBjF,QACE,qFACFy6E,YAAY,GAEdxB,OAAQ,CACNj5E,QAAS,gBACTy6E,YAAY,EACZQ,OAAQpC,EAAMY,UAAUR,QAE1BloD,QAAS,CACP/wB,QAAS,kCACTy6E,YAAY,GAGd,eAAgB,CACdz6E,QACE,sEACFy6E,YAAY,EACZQ,OAAQ,CACN+kB,KAAM,CACJhgG,QAAS,iBACTi7E,OAAQ,CACNP,QAAS,kBACTE,YAAa,MAGjBqlB,OAAQ,CACNjgG,QAAS,gDACT65E,MAAO,WAETqE,KAAMrF,EAAMY,UAAUiF,aAG1BhE,QAAS,CACP16E,QAAS,yDACTy6E,YAAY,GAEd3sC,MAAO,CAEL,CACE9tC,QAAS,qBACTy6E,YAAY,EACZQ,OAAQ,CACNP,QAAS,SACTgB,SAAU,oBACVd,YAAa,WAGjB,CACE56E,QAAS,iBACTy6E,YAAY,EACZQ,OAAQ,CACNrwF,KAAM,CACJoV,QAAS,SACT65E,MAAO,YAETqE,KAAMrF,EAAMY,UAAUiF,cAI5BlmD,OAAQ,CACNx4B,QAAS,mDACTy6E,YAAY,EACZQ,OAAQpC,EAAMY,UAAUiF,YAE1B,aAAc,CACZ1+E,QACE,oEACFy6E,YAAY,GAEdzmC,IAAK,CACHh0C,QAAS,+DACTy6E,YAAY,EACZQ,OAAQ,CACN/lF,WAAY,CACV,CACE8K,QAAS,kBACTi7E,OAAQpC,EAAMY,UAAUiF,YAE1B,CACE1+E,QAAS,YACTi7E,OAAQ,CACN,aAAc,CACZj7E,QAAS,uCACTy6E,YAAY,EACZQ,OAAQpC,EAAMY,UAAUiF,YAE1B,YAAa,2BACb9D,YAAa,cAInBA,YAAa,IACb,UAAW,WACX,aAAc,cAGlB13E,KAAM,CACJ,CACElD,QAAS,wBACTy6E,YAAY,EACZQ,OAAQpC,EAAMY,UAAUiF,aAG5B9D,YAAa,aA0Bf,IAxBA,IAAIslB,EACF,iFACG72F,OACD8jF,EAAU,CACZ,CACE9F,OAAQ,OACR3tF,SAAU,QAEZ,CACE2tF,OAAQ,SACR3tF,SAAU,gBAEZ,MACA,aACA,OACA,aACA,WACA,CACE2tF,OAAQ,OACR3tF,SAAU,QAEZ,UAEE0zF,EAAc,CAAC,EACVzhG,EAAI,EAAGuf,EAAIiiF,EAAQvhG,OAAQD,EAAIuf,EAAGvf,IAAK,CAC9C,IAAI07F,EAAS8F,EAAQxhG,GACrB07F,EACoB,kBAAXA,EACH,CACEA,OAAQA,EACR3tF,SAAU2tF,GAEZA,EACFxO,EAAMY,UAAU4N,EAAO3tF,YACzB0zF,EAAY,UAAY/F,EAAOA,QAAU,CACvCrnF,QAASo7E,OACP8kB,EAAetvG,QAAQ,iBAAiB,WACtC,OAAOy2F,EAAOA,MAChB,IACA,KAEF5M,YAAY,EACZQ,OAAQ,CACN,cAAe,CACbj7E,QAAS,WACT65E,MAAO,YAET50E,KAAM,CACJjF,QAAS,YACT65E,MAAO,CAACwN,EAAO3tF,SAAU,YAAc2tF,EAAO3tF,UAC9CuhF,OAAQpC,EAAMY,UAAU4N,EAAO3tF,aAKzC,CACAm/E,EAAMY,UAAUx+C,aAAa,MAAO,SAAUmyD,EAC/C,CAxMA,CAwMEvU,EACL,CA7MA1tF,EAAOC,QAAU20G,EACjBA,EAAInwG,YAAc,MAClBmwG,EAAIllB,QAAU,iCCCd,SAASslB,EAAOtnB,IACb,SAAWA,GACVA,EAAMY,UAAU0mB,OAAS,CACvBtS,QAAS,CAEP,CACE7tF,QACE,qHACFy6E,YAAY,EACZZ,MAAO,SACPoB,OAAQ,CAENL,YAAa,sBAGjB,CACE56E,QACE,mHACFy6E,YAAY,EACZO,QAAQ,EACRnB,MAAO,SACPoB,OAAQ,CAENL,YAAa,sBAGjB,CACE56E,QAAS,8CACT65E,MAAO,SACPoB,OAAQ,CACNL,YAAa,CACX56E,QAAS,gBACTy6E,YAAY,MAKpB,oBAAqB,CACnBz6E,QAAS,4BACTy6E,YAAY,EACZO,QAAQ,EACRnB,MAAO,WAEToC,MAAO,CAELj8E,QACE,uFACFy6E,YAAY,EACZO,QAAQ,EACRC,OAAQ,CAEN,iBAAkB,CAChBj7E,QAAS,yCACTi7E,OAAQ,CACNhxE,QAAS,UAKjBA,QAAS,CACPjK,QAAS,eACTy6E,YAAY,EACZO,QAAQ,GAEVjwE,OAAQ,CAEN/K,QACE,kGACFg7E,QAAQ,EACRC,OAAQ,CACN,gBAAiB,CACfj7E,QAAS,cACTi7E,OAAQ,CAER,KAINO,SAAU,CACRx7E,QAAS,yBACTi7E,OAAQ,CACNL,YAAa,OAGjB,YAAa,wBACbc,SAAU,CACR,CACE17E,QAAS,gBACTy6E,YAAY,GAEd,oGAEFrrF,OAAQ,+CACRI,QAAS,qBAETkrF,QACE,6IACF2F,SAAU,CACRrgF,QACE,gNACF65E,MAAO,UAETc,SACE,mFACFC,YAAa,oBAEf,IAAIuF,EAAgB,CAClB,CAEEngF,QACE,0EACFy6E,YAAY,EACZQ,OAAQ,CACN,iBAAkB,CAEhBj7E,QAAS,uCACTy6E,YAAY,EACZZ,MAAO,WACPoB,OAAQ,CACNL,YAAa,OAGjB+F,UAAW,CACT3gF,QAAS,MACT65E,MAAO,YAETqE,KAAMrF,EAAMY,UAAU0mB,SAG1B,CACEngG,QAAS,kCACTy6E,YAAY,EACZZ,MAAO,WACPoB,OAAQ,CACNL,YAAa,QAInB/B,EAAMY,UAAU0mB,OAAgB,QAAE,GAAGllB,OAAOkF,cAAgBA,EAC5DtH,EAAMY,UAAU0mB,OAAe,OAAEllB,OAC/B,iBACAA,OAAOkF,cAAgBA,CAC1B,CA7IA,CA6IEtH,EACL,CAlJA1tF,EAAOC,QAAU+0G,EACjBA,EAAOvwG,YAAc,SACrBuwG,EAAOtlB,QAAU,iCCCjB,SAASulB,EAAKvnB,IACX,SAAWA,GAEVA,EAAMY,UAAU2mB,KAAO,CACrBn2F,QAAS,CACP,CACEjK,QAAS,4BACTy6E,YAAY,GAEd,CACEz6E,QAAS,mBACTy6E,YAAY,GAEd,QAEF,cAAe,CACbz6E,QAAS,eACTg7E,QAAQ,EACRC,OAAQ,CACNxhF,KAAM,CACJuG,QAAS,qBACTy6E,YAAY,EACZZ,MAAO,WAET8G,UAAW,CACT3gF,QAAS,YACT65E,MAAO,iBAIb9uE,OAAQ,CACN/K,QAAS,wBACTg7E,QAAQ,GAEV5rF,OAAQ,CAEN4Q,QACE,kGACFy6E,YAAY,GAEdC,QACE,0SACFgB,SACE,00DACF6M,QAAS,CACPvoF,QAAS,kBACT65E,MAAO,WAITc,SACE,8GAEFC,YAAa,iBAEf,IAQIylB,EAAmB,sCAAsCh3F,OARvC,CACpB,IACA,CACE5P,KAAM,MACNogF,MAAO,OAET,WAGctrD,SAAQ,SAAU90B,GAChC,IAAIogF,EAAQpgF,EAKZ,GAJoB,kBAATA,IACTogF,EAAQpgF,EAAKogF,MACbpgF,EAAOA,EAAKA,MAEVo/E,EAAMY,UAAUI,GAAQ,CAC1B,IAAIoE,EAAI,CAAC,EACTA,EAAE,eAAiBpE,GAAS,CAC1B75E,QAASo7E,OACPilB,EAAiBzvG,QACf,SACA6I,EAAK7I,QAAQ,wBAAyB,SAExC,KAEFqqF,OAAQpC,EAAMe,KAAKnuF,MAAMotF,EAAMY,UAAU2mB,KAAK,eAAenlB,SAE/DgD,EAAE,eAAiBpE,GAAOoB,OAAOiD,KAAOrF,EAAMe,KAAKnuF,MACjDotF,EAAMY,UAAUI,IAElBhB,EAAMY,UAAUx+C,aAAa,OAAQ,cAAegjD,EACtD,CACF,IACIpF,EAAMY,UAAUzvE,IAClB6uE,EAAMY,UAAU2mB,KAAK,eAAenlB,OAAOiD,KAAOrF,EAAMe,KAAKnuF,MAC3DotF,EAAMY,UAAUzvE,GAGrB,CA5FA,CA4FE6uE,EACL,CAjGA1tF,EAAOC,QAAUg1G,EACjBA,EAAKxwG,YAAc,OACnBwwG,EAAKvlB,QAAU,kCCCf,SAASylB,EAAUznB,GAQjBA,EAAMY,UAAU6mB,UAAYznB,EAAMY,UAAUpuF,OAAO,QAAS,CAC1D4e,QAAS,MACTywE,QACE,u8BACFgB,SAAU,2BACVtsF,OAAQ,8DACRurF,SACE,2EAEJ9B,EAAMY,UAAUx+C,aAAa,YAAa,UAAW,CACnD+Y,IAAK,UACLqqD,IAAK,CACHr+F,QAAS,gBACTy6E,YAAY,EACZZ,MAAO,MACPoB,OAAQ,CACNhxE,QAAS,MACTc,OAAQ,CACN/K,QAAS,oCACTg7E,QAAQ,GAGV,4BAA6B,CAC3Bh7E,QAAS,yBACTy6E,YAAY,EACZZ,MAAO,cAGT,4BAA6B,CAC3B75E,QAAS,yCACTy6E,YAAY,EACZZ,MAAO,cAETa,QAAS,CACP,kCACA,+BAEFgB,SAAU,CACR17E,QAAS,kCACTy6E,YAAY,GAEd,kBAAmB,CACjBz6E,QAAS,wBACTy6E,YAAY,EACZZ,MAAO,YAETrgF,MAAO,CACLwG,QAAS,8CACTy6E,YAAY,EACZZ,MAAO,cAETN,SACE,gHACFnqF,OACE,kMACFurF,SAAU,oCAIT9B,EAAMY,UAAU6mB,UAAU,qBAC1BznB,EAAMY,UAAU6mB,UAAmB,QAC1CznB,EAAMY,UAAU8mB,OAAS1nB,EAAMY,UAAqB,SACtD,CAzEAtuF,EAAOC,QAAUk1G,EACjBA,EAAU1wG,YAAc,YACxB0wG,EAAUzlB,QAAU,sCCHpB,IAAIuU,EAAmBliG,EAAQ,MAI/B,SAASszG,EAAW3nB,GAClBA,EAAMU,SAAS6V,GACfvW,EAAMY,UAAU+mB,WAAa3nB,EAAMY,UAAUpuF,OAAO,UAAW,CAC7DqvF,QACE,wIACF,mBAAoB,CAIlB16E,QACE,6GACFy6E,YAAY,EACZQ,OAAQ,CACNP,QAAS,2BACTE,YAAa,OAIjBsC,QACE,uSACFvC,SAAU,CAER9B,EAAMY,UAAU+T,QAAQ7S,SAAS,GACjC9B,EAAMY,UAAU+T,QAAQ7S,SAAS,GAGjC,k7CAGJ9B,EAAMY,UAAUgnB,KAAO5nB,EAAMY,UAAU+mB,UACzC,CAjCAr1G,EAAOC,QAAUo1G,EACjBA,EAAW5wG,YAAc,aACzB4wG,EAAW3lB,QAAU,CAAC,uCCCtB,SAAS6lB,EAAO7nB,GACdA,EAAMY,UAAUinB,OAAS,CACvBz2F,QAAS,CACPjK,QAAS,eACTy6E,YAAY,EACZO,QAAQ,GAEV,uBAAwB,CACtBh7E,QACE,sEACFg7E,QAAQ,EACRC,OAAQ,CACNkF,cAAe,CAEbngF,QACE,sFACFy6E,YAAY,EACZQ,OAAQ,CACN,cAAe,CACbj7E,QAAS,sBACTy6E,YAAY,GAEd,oBAAqB,CACnBz6E,QAAS,kBACT65E,MAAO,eAETqE,KAAM,OAGVnzE,OAAQ,YAGZ,uBAAwB,CACtB/K,QAAS,uCACTg7E,QAAQ,EACRnB,MAAO,UAET9uE,OAAQ,CACN/K,QAAS,mDACTg7E,QAAQ,GAEVU,SAAU,CACR17E,QAAS,4CACTy6E,YAAY,GAEd,aAAc,CACZz6E,QAAS,mBACTy6E,YAAY,GAEd6F,UAAW,CACTtgF,QAAS,2BACTy6E,YAAY,EACZZ,MAAO,CAAC,aAAc,eACtBoB,OAAQ,CACNL,YAAa,OAGjBF,QACE,wNACFwC,QACE,shBACF1tF,QAAS,0BACTJ,OACE,mJACFurF,SAAU,uDACVC,YAAa,iBAEf/B,EAAMY,UAAUinB,OAAO,wBAAwBzlB,OAC9B,cACfA,OAAOiD,KAAOrF,EAAMY,UAAUinB,OAChC7nB,EAAMY,UAAUknB,GAAK9nB,EAAMY,UAAUinB,MACvC,CA1EAv1G,EAAOC,QAAUs1G,EACjBA,EAAO9wG,YAAc,SACrB8wG,EAAO7lB,QAAU,CAAC,qCCClB,SAAS/e,EAAE+c,GACTA,EAAMY,UAAU3d,EAAI,CAClB/wD,OAAQ,wBACRd,QAAS,CAGP,CACEjK,QAAS,kBACTy6E,YAAY,EACZO,QAAQ,GAMV,CACEh7E,QACE,oGACFy6E,YAAY,EACZO,QAAQ,GAGV,CACEh7E,QAAS,gCACTg7E,QAAQ,GAEV,CACEh7E,QAAS,SACTg7E,QAAQ,IAGZjsC,OAAQ,mBACR6c,SAAU,CACR5rD,QACE,6IACF65E,MAAO,UAITzqF,OACE,0FACFsrF,QACE,u4BACFwV,OAAQ,CACNlwF,QAAS,qBACT65E,MAAO,YAETkW,KAAM,CACJ/vF,QAAS,8DACT65E,MAAO,YAETe,YAAa,eAEjB,CAxDAzvF,EAAOC,QAAU0wE,EACjBA,EAAElsE,YAAc,IAChBksE,EAAE+e,QAAU,kCCCZ,SAAS+lB,EAAI/nB,IACV,SAAWA,GAWV,IAVA,IAAIgoB,EAAW,8CAA8Cx3F,OACzDy3F,EAAY,yCAAyCz3F,OACrD03F,EACF,iGAAiG13F,OAC9FzY,QAAQ,aAAa,WACpB,OAAOiwG,CACT,IACCjwG,QAAQ,cAAc,WACrB,OAAOkwG,CACT,IACKn1G,EAAI,EAAGA,EAAI,EAAGA,IACrBo1G,EAASA,EAAOnwG,QAAQ,WAAW,WACjC,OAAOmwG,CACT,IAEFA,EAASA,EAAOnwG,QAAQ,UAAW,aACnCioF,EAAMY,UAAUmnB,IAAM,CACpB32F,QAAS,CACPjK,QAAS,0BACTg7E,QAAQ,GAEV,sBAAuB,CACrBh7E,QAASo7E,OACP,2GAA2G/xE,OAAOzY,QAChH,SACA,WACE,OAAOmwG,CACT,IAEF,KAEFtmB,YAAY,EACZO,QAAQ,EACRnB,MAAO,sBACPoB,OAAQpC,EAAMY,UAAUiF,YAE1B,aAAc,CACZ1+E,QAAS,sDACTy6E,YAAY,GAEd3sF,SAAU,CACR,CACEkS,QAAS,oDACTy6E,YAAY,GAEd,CACEz6E,QACE,2FACFy6E,YAAY,EACZQ,OAAQ,CACNP,QAAS,YACT5sF,SAAU,mBAIhB,wBAAyB,CACvBkS,QAASo7E,OACP,0CAA0C/xE,OAAOzY,QAC/C,SACA,WACE,OAAOmwG,CACT,IAEF,KAEFtmB,YAAY,EACZO,QAAQ,EACRnB,MAAO,sBACPoB,OAAQpC,EAAMY,UAAUiF,YAE1B3zE,OAAQ,CACN/K,QAAS,wBACTg7E,QAAQ,GAEVN,QAAS,uBACTE,YAAa,aAEhB,CA9EA,CA8EE/B,EACL,CAnFA1tF,EAAOC,QAAUw1G,EACjBA,EAAIhxG,YAAc,MAClBgxG,EAAI/lB,QAAU,kCCCd,SAASmmB,EAAKnoB,GACZA,EAAMY,UAAUunB,KAAOnoB,EAAMY,UAAUpuF,OAAO,QAAS,CACrD4e,QAAS,CACPjK,QAAS,6CACTy6E,YAAY,GAGd1vE,OAAQ,CACN/K,QAAS,mCACTg7E,QAAQ,GAEVN,QACE,udACFlrF,QAAS,sBACTksF,SAAU,uBACVtsF,OACE,6GACFurF,SAAU,CACR36E,QACE,8FACFy6E,YAAY,GAEde,SAAU,iBAEd,CA3BArwF,EAAOC,QAAU41G,EACjBA,EAAKpxG,YAAc,OACnBoxG,EAAKnmB,QAAU,kCCCf,SAASomB,EAAOpoB,IACb,SAAWA,GAWV,SAASjoF,EAAQoP,EAAS++E,GACxB,OAAO/+E,EAAQpP,QAAQ,cAAc,SAAUkZ,EAAGrd,GAChD,MAAO,MAAQsyF,GAActyF,GAAS,GACxC,GACF,CAOA,SAASod,EAAG7J,EAAS++E,EAAc1hC,GACjC,OAAO+9B,OAAOxqF,EAAQoP,EAAS++E,GAAe1hC,GAAS,GACzD,CA2BA,IAAI++B,EAAWhB,OAFN,UAND,sHASgC,IANpC,kQAGsBnrF,OAAOW,QAAQ,KAAM,KAAO,QAMlDswG,EAAgBtwG,EAAQ,0BAA0ByY,OAAQ,CAD7C,mBAAmBA,SAEhCw6E,EAAa,CACfnJ,QAAS0B,EACTxB,YAAa,iBAEXkJ,EAAgB,oBAAoBz6E,OACxCwvE,EAAMY,UAAUwnB,OAASpoB,EAAMY,UAAUpuF,OAAO,QAAS,CACvD4e,QAAS,SACTc,OAAQ,CACN,CACE/K,QAAS6J,EAAG,kBAAkBR,OAAQ,CAACy6E,IACvCrJ,YAAY,EACZO,QAAQ,IAGZ,aAAc,CACZ,CAGEh7E,QAAS6J,EAAG,2CAA2CR,OAAQ,CAC7D63F,IAEFzmB,YAAY,EACZQ,OAAQ4I,GAEV,CAEE7jF,QAAS6J,EAAG,iCAAiCR,OAAQ,CAAC63F,IACtDzmB,YAAY,EACZQ,OAAQ4I,IAGZnJ,QAAS0B,EACThtF,OACE,qFACFurF,SACE,+GACFC,YAAa,qBAEf/B,EAAMY,UAAUx+C,aAAa,SAAU,SAAU,CAC/C+wB,MAAO,CACLhsD,QAAS,OACT65E,MAAO,cAGX,IAAIsnB,EApEJ,SAAgBnhG,EAASgjF,GACvB,IAAK,IAAIr3F,EAAI,EAAGA,EAAIq3F,EAAWr3F,IAC7BqU,EAAUA,EAAQpP,QAAQ,aAAa,WACrC,MAAO,MAAQoP,EAAU,GAC3B,IAEF,OAAOA,EAAQpP,QAAQ,YAAa,YACtC,CA6DwBmyF,CACtBnyF,EAAQ,iCAAiCyY,OAAQ,CAACy6E,IAClD,GAEFjL,EAAMY,UAAUx+C,aAAa,SAAU,SAAU,CAC/C,uBAAwB,CACtBj7B,QAAS6J,EAAG,6BAA6BR,OAAQ,CAAC83F,IAClDnmB,QAAQ,EACRC,OAAQ,CACNkF,cAAe,CACbngF,QAAS6J,EAAG,8BAA8BR,OAAQ,CAChD83F,IAEF1mB,YAAY,EACZQ,OAAQ,CACNL,YAAa,UACbwF,WAAY,CACVpgF,QAAS,UACT65E,MAAO,kBACPoB,OAAQpC,EAAMY,UAAUwnB,UAI9Bl2F,OAAQ,aAIf,CA/HA,CA+HE8tE,GACHA,EAAMY,UAAU2nB,GAAKvoB,EAAMY,UAAUwnB,MACvC,CArIA91G,EAAOC,QAAU61G,EACjBA,EAAOrxG,YAAc,SACrBqxG,EAAOpmB,QAAU,CAAC,qCCClB,SAAS9e,EAAE8c,GACTA,EAAMY,UAAU1d,EAAI,CAClB9xD,QAAS,MACTc,OAAQ,CACN/K,QAAS,mCACTg7E,QAAQ,GAEV,mBAAoB,CAGlBh7E,QAAS,YACT65E,MAAO,YAETrqF,QAAS,qBACT6xG,SAAU,iBACVjyG,OAAQ,CACN,kBACA,iFAEFsrF,QACE,iHACFC,SAAU,qDACVC,YAAa,eAEjB,CA3BAzvF,EAAOC,QAAU2wE,EACjBA,EAAEnsE,YAAc,IAChBmsE,EAAE8e,QAAU,qCCHZ,IAAIkc,EAAkB7pG,EAAQ,MAI9B,SAASo0G,EAAOzoB,GACdA,EAAMU,SAASwd,GACfle,EAAMY,UAAU6nB,OAASzoB,EAAMY,UAAUpuF,OAAO,SAAU,CACxD,mBAAoB,CAGlB2U,QAAS,qCACTy6E,YAAY,KAGhB5B,EAAMY,UAAUx+C,aAAa,SAAU,SAAU,CAC/CxhC,KAAM,CACJuG,QAAS,YACTg7E,QAAQ,EACRnB,MAAO,aAGXhB,EAAMY,UAAU8nB,IAAM1oB,EAAMY,UAAU6nB,MACxC,CArBAn2G,EAAOC,QAAUk2G,EACjBA,EAAO1xG,YAAc,SACrB0xG,EAAOzmB,QAAU,CAAC,sCCClB,SAASnxE,EAAOmvE,GACdA,EAAMY,UAAU/vE,OAASmvE,EAAMY,UAAUpuF,OAAO,QAAS,CACvD0f,OAAQ,CACN/K,QAAS,sCACTg7E,QAAQ,GAGV,aAAc,aACdN,QACE,4RACFC,SACE,wGAEJ9B,EAAMY,UAAUx+C,aAAa,SAAU,aAAc,CACnDn4B,KAAM,CACJ9C,QAAS,gEACTg7E,QAAQ,GAGVxwF,YAAa,wBACbgP,MAAO,CACLwG,QAAS,mBACT65E,MAAO,mBAGJhB,EAAMY,UAAU/vE,OAAOgyE,QAChC,CA7BAvwF,EAAOC,QAAUse,EACjBA,EAAO9Z,YAAc,SACrB8Z,EAAOmxE,QAAU,kCCCjB,SAASoB,EAAMpD,IACZ,SAAWA,GACV,IAAI2oB,EAAgB,CAClBxhG,QAAS,uBACT65E,MAAO,UAEL9C,EACF,6FASE0qB,EAAY,eAAiB1qB,EAAO1tE,OAAS,IAC7C2iD,EAAQovB,OAAOqmB,EAAY,IAAMA,GACjCC,EAAY,CACd1hG,QAAS,wBACTy6E,YAAY,EACZZ,MAAO,YAEThB,EAAMY,UAAUwC,MAAQ,CACtB,aAAc,CACZj8E,QAAS,kDACTy6E,YAAY,EACZQ,OAAQ,CACN,sBAAuB,CACrBj7E,QAAS,UACTy6E,YAAY,EACZZ,MAAO,YAET,yBAA0B,CACxB75E,QAAS,UACT65E,MAAO,eAET7tB,MAAO,CACLhsD,QAASgsD,EACTivB,OAAQ,CACNlE,OAAQA,EACR,oBAAqB,CACnB/2E,QAAS,IACT65E,MAAO,cAIb,iBAAkB2nB,EAClB,WApCkB,CACtBxhG,QAAS,yBACT65E,MAAO,cAmCH9C,OAAQA,IAGZ,iBAAkByqB,EAClB,WA7CY,CACZxhG,QAAS,4BACT65E,MAAO,cA4CP8nB,cAAe,CACb,CAEE3hG,QAAS,2BACT65E,MAAO,WAET,CACE75E,QAAS,eACT65E,MAAO,UACPoB,OAAQ,CACN,aAAcymB,KAIpBE,OAAQ,CACN5hG,QAAS,kBACT65E,MAAO,YAET9C,OAAQA,EACR8qB,MAAO,CACL,CAIE7hG,QACE,8EACF65E,MAAO,cACPoB,OAAQ,CACN,aAAcymB,IAGlB,CACE1hG,QAAS,KACT65E,MAAO,gBAGXujB,WAAY,CACVp9F,QAAS,kCACT65E,MAAO,UAETioB,YAAa,CACX9hG,QAAS,KACT65E,MAAO,WAGZ,CAlGA,CAkGEhB,EACL,CAvGA1tF,EAAOC,QAAU6wF,EACjBA,EAAMrsF,YAAc,QACpBqsF,EAAMpB,QAAU,kCCChB,SAASknB,EAAKlpB,GAEZA,EAAMY,UAAUsoB,KAAO,CACrB93F,QAAS,MACTnc,SAAU,CACRkS,QACE,0EACFy6E,YAAY,EACZO,QAAQ,GAEVjwE,OAAQ,CACN/K,QAAS,yCACTy6E,YAAY,EACZO,QAAQ,GAEVN,QACE,yEACFlrF,QAAS,qBACTksF,SAAU,CACR17E,QAAS,oDACTi7E,OAAQ,CACN/iE,UAAW,mBACX0iE,YAAa,OAGjBxrF,OAAQ,qCACRurF,SAAU,8BACVC,YAAa,gBAEjB,CAhCAzvF,EAAOC,QAAU22G,EACjBA,EAAKnyG,YAAc,OACnBmyG,EAAKlnB,QAAU,kCCCf,SAASmnB,EAAMnpB,GACbA,EAAMY,UAAUuoB,MAAQ,CACtB/3F,QAAS,CACPjK,QAAS,eACTy6E,YAAY,GAEd1vE,OAAQ,CACN/K,QACE,iGACFg7E,QAAQ,GAEVU,SAAU,qBACV5tF,SACE,+lFACFkmD,IAAK,uPACL0mC,QACE,41BACFlrF,QAAS,2BACTJ,OACE,kFACFurF,SACE,+EACFC,YAAa,iBAEf/B,EAAMY,UAAUwoB,IAAMppB,EAAMY,UAAUuoB,KACxC,CA5BA72G,EAAOC,QAAU42G,EACjBA,EAAMpyG,YAAc,QACpBoyG,EAAMnnB,QAAU,CAAC,sCCCjB,SAASqD,EAAKrF,GACZA,EAAMY,UAAUyE,KAAO,CACrBV,MAAO,CACL,CACEx9E,QACE,oFACFy6E,YAAY,EACZQ,OAAQ,CACNL,YAAa,sBAGjB,CACE56E,QACE,0FACFy6E,YAAY,EACZQ,OAAQ,CACNL,YAAa,WAKnB,mBAAoB,CAClB56E,QAAS,wDACTy6E,YAAY,EACZQ,OAAQ,CACN6U,aAAc,CACZ9vF,QAAS,oCACT65E,MAAO,aACPoB,OAAQ,CACNL,YAAa,YAGjByD,UAAW,CACTr+E,QAAS,kBACTy6E,YAAY,EACZZ,MAAO,WACPoB,OAAQ,CACNL,YAAa,UAKrB,cAAe,CACb,CACE56E,QAAS,4BACTy6E,YAAY,EACZZ,MAAO,SACPoB,OAAQ,CACNL,YAAa,YAGjB,CACE56E,QAAS,+CACTy6E,YAAY,EACZZ,MAAO,SACPoB,OAAQ,CACNL,YAAa,WAInByD,UAAW,CACTr+E,QAAS,yBACTy6E,YAAY,EACZZ,MAAO,WACPoB,OAAQ,CACNL,YAAa,QAGjB3wE,QAAS,CAEPjK,QACE,yEACFy6E,YAAY,GAEd54E,MAAO,CAEL,CACE7B,QACE,gFACFi7E,OAAQ,CACNL,YACE,sFACFgE,UAAW,OAGf,CACE5+E,QACE,8FACFy6E,YAAY,EACZQ,OAAQ,CACNL,YAAa,4CACbgE,UAAW,QAIjBhkC,GAAI,CACF56C,QACE,sFACFy6E,YAAY,EACZZ,MAAO,eAET8W,MAAO,CACL3wF,QAAS,6BACTy6E,YAAY,EACZZ,MAAO,aAET,sBAAuB,CACrB75E,QACE,mLACFy6E,YAAY,EACZZ,MAAO,UAET,gBAAiB,CACf75E,QAAS,4DACTi7E,OAAQ,CACN,4BAA6B,CAC3Bj7E,QAAS,MACT65E,MAAO,iBAIb,uBAAwB,CACtB75E,QACE,oFACFi7E,OAAQ,CACN,4BAA6B,CAC3Bj7E,QAAS,wDACT65E,MAAO,iBAIb,cAAe,CACb75E,QACE,wGACFy6E,YAAY,EACZZ,MAAO,eAET,gBAAiB,CACf75E,QAAS,sCACTy6E,YAAY,EACZQ,OAAQ,CACNL,YAAa,SAGjBiD,OAAQ,CACN,CACE79E,QACE,sHACFy6E,YAAY,EACZQ,OAAQ,CACN8C,KAAM,CACJ/9E,QAAS,qBACTy6E,YAAY,GAEdqD,OAAQ,CACN99E,QAAS,iBACTy6E,YAAY,GAEd,iBAAkB,CAChBz6E,QAAS,iBACTy6E,YAAY,EACZZ,MAAO,UAET9kF,KAAM,CACJiL,QAAS,oBACT65E,MAAO,WACPoB,OAAQ,CACNL,YAAa,UAGjB,mBAAoB,CAClB56E,QAAS,eACTy6E,YAAY,EACZZ,MAAO,cAETiW,aAAc,CACZ9vF,QAAS,iBACTy6E,YAAY,EACZZ,MAAO,cAETe,YAAa,kBAInB92E,KAAM,CACJ,CACE9D,QAAS,4CACT65E,MAAO,SACPoB,OAAQ,CACNL,YAAa,aAGjB,CACE56E,QACE,wFACF65E,MAAO,SACPoB,OAAQ,CACNL,YAAa,oBAQnBA,YAAa,CACX56E,QAAS,6DACTy6E,YAAY,GAGlB,CArNAtvF,EAAOC,QAAU8yF,EACjBA,EAAKtuF,YAAc,OACnBsuF,EAAKrD,QAAU,kCCCf,SAASqnB,EAAIrpB,GACXA,EAAMY,UAAUyoB,IAAM,CACpBj4F,QAAS,CACPjK,QAAS,MACTg7E,QAAQ,GAEVl4E,KAAM,CACJ9C,QAAS,mCACTg7E,QAAQ,GAEVjwE,OAAQ,CACN/K,QAAS,kCACTg7E,QAAQ,GAEViB,MAAO,CACLj8E,QACE,iFACFy6E,YAAY,EACZO,QAAQ,GAEVN,QACE,kFACFwC,QAAS,eACT1tF,QAAS,qBACTm8D,KAAM,wBACNO,KAAM,wBACNN,SAAU,0CACV7c,OAAQ,6DACR3/C,OAAQ,4BACRwrF,YAAa,qCACb9tE,UAAW,4DAEf,CAnCA3hB,EAAOC,QAAU82G,EACjBA,EAAItyG,YAAc,MAClBsyG,EAAIrnB,QAAU,kCCCd,SAASsnB,EAAStpB,GAChBA,EAAMY,UAAU0oB,SAAW,CACzBl4F,QAAS,MACTywE,QAAS,CACP16E,QACE,gFACFy6E,YAAY,GAEd2nB,UAAW,CACTpiG,QAAS,qBACT65E,MAAO,YAET/rF,SAAU,qBACV/C,MAAO,CACLiV,QAAS,2BACTy6E,YAAY,EACZZ,MAAO,cAETwoB,SAAU,CACRriG,QAAS,eACT65E,MAAO,WAETyoB,SAAU,CACRtiG,QAAS,SACTy6E,YAAY,EACZZ,MAAO,YAETe,YAAa,YAEjB,CAhCAzvF,EAAOC,QAAU+2G,EACjBA,EAASvyG,YAAc,WACvBuyG,EAAStnB,QAAU,kCCCnB,SAAS0nB,EAAe1pB,IACrB,SAAWA,GACV,IAAI5uE,EAAU,CACZjK,QAAS,wBACTy6E,YAAY,EACZO,QAAQ,GAENQ,EAAW,CACbx7E,QAAS,iEACTy6E,YAAY,EACZQ,OAAQ,CACNL,YAAa,kBAGjB,SAAS4nB,EAAc53G,EAAMqwF,GAC3B,IAAIwnB,EAAiB,CACrBA,iBAAmC,CACjCziG,QAAS,mBACT65E,MAAO,YAET,IAAK,IAAIlqE,KAASsrE,EAChBwnB,EAAe9yF,GAASsrE,EAAOtrE,GAWjC,OATA8yF,EAAoB,IAAI,CACtBziG,QAAS,sCACTy6E,YAAY,EACZQ,OAAQ,CACNL,YAAa,UAGjB6nB,EAAyB,SAAIjnB,EAC7BinB,EAAwB,QAAIx4F,EACrB,CACLjK,QAASo7E,OACP,wDAAwD/xE,OAAOzY,QAC7D,WACA,WACE,OAAOhG,CACT,IAEF,MAEFivF,MAAO,UACPoB,OAAQwnB,EAEZ,CACA,IAAIC,EAAS,CACX1iG,QACE,gFACFy6E,YAAY,EACZZ,MAAO,UAEL8oB,EAAe,CACjB3iG,QAAS,qCACTy6E,YAAY,EACZZ,MAAO,WACPoB,OAAQ,CACNO,SAAUA,IAGVonB,EAAmB,CACrB5iG,QAAS,6DACTy6E,YAAY,EACZQ,OAAQ,CACNO,SAAUA,IAGd3C,EAAMY,UAA0B,eAAI,CAClCjtE,SAAUg2F,EAAc,WAAY,CAClCK,cAAe,CACb7iG,QACE,oFACFy6E,YAAY,EACZZ,MAAO,UAET/rF,SAAU,CACRkS,QAAS,2CACTy6E,YAAY,KAGhBqoB,UAAWN,EAAc,aACzB,aAAcA,EAAc,aAAc,CACxC,YAAaG,EACbE,cAAeH,EACf50G,SAAU80G,IAEZxmB,SAAUomB,EAAc,WAAY,CAClC,eAAgBG,EAChBE,cAAeH,EACf50G,SAAU80G,IAEZG,MAAOP,EAAc,QAAS,CAC5B,YAAaG,EACbE,cAAeH,EACf50G,SAAU80G,IAEZ34F,QAASA,GAEX4uE,EAAMY,UAAUupB,MAAQnqB,EAAMY,UAA0B,cACzD,CAlGA,CAkGEZ,EACL,CAvGA1tF,EAAOC,QAAUm3G,EACjBA,EAAe3yG,YAAc,iBAC7B2yG,EAAe1nB,QAAU,kCCCzB,SAAS+H,EAAK/J,IAOX,SAAWA,GACVA,EAAMY,UAAUmJ,KAAO/J,EAAMY,UAAUpuF,OAAO,QAAS,CACrD4e,QAAS,CACPjK,QAAS,8BACTg7E,QAAQ,GAEV,aAAc,CACZh7E,QACE,4EACFy6E,YAAY,EACZQ,OAAQ,CACNL,YAAa,UAGjBF,QACE,mSACFC,SACE,4EACFC,YAAa,iBAEf/B,EAAMY,UAAUx+C,aAAa,OAAQ,WAAY,CAC/C,eAAgB,CACdj7B,QAAS,KACT65E,MAAO,iBAGX,IAAIsG,EAAgB,CAClBngF,QAAS,oDACTy6E,YAAY,EACZQ,OAAQ,CACN5sF,QAAS,CACP2R,QAAS,uBACTy6E,YAAY,EACZQ,OAAQpC,EAAMY,UAAUmJ,MAE1BjC,UAAW,CACT3gF,QAAS,WACT65E,MAAO,wBAINhB,EAAMY,UAAUmJ,KAAKlH,SAC5B,IAAIunB,EACF,MACA,CACE,oDAAoD55F,OACpD,sDAAsDA,OACtD,sDAAsDA,OACtD,0DAA0DA,OAC1D,kDAAkDA,QAClD1a,KAAK,KACP,IACEu0G,EACF,sEACG75F,OACLwvE,EAAMY,UAAUx+C,aAAa,OAAQ,UAAW,CAC9C,gBAAiB,CACf,CACEj7B,QAASo7E,OACP,KAAK/xE,OAAS45F,EAAoB,mBAAmB55F,QAEvD2xE,QAAQ,EACRC,OAAQ,CACNkF,cAAeA,EACflE,MAAO,YAGX,CACEj8E,QACE,iGACFy6E,YAAY,EACZO,QAAQ,EACRC,OAAQ,CACNkF,cAAeA,EACflE,MAAO,aAIbT,SAAU,+BACVzsC,OAAQ,CACN,CACE/uC,QAASo7E,OAAO,YAAY/xE,OAAS65F,GACrCzoB,YAAY,EACZO,QAAQ,GAEV,CACEh7E,QAASo7E,OACP,oBAAoB/xE,OAAS65F,EAAa,aAAa75F,QAEzDoxE,YAAY,EACZO,QAAQ,IAGZ,oBAAqB,CACnBh7E,QAAS,gCACTy6E,YAAY,EACZQ,OAAQ,CACNS,SAAU,SACVhB,QAAS,UACT,aAAc,OACdE,YAAa,SAInB/B,EAAMY,UAAUx+C,aAAa,OAAQ,SAAU,CAC7C,iBAAkB,CAChB,CACEj7B,QAASo7E,OAAO,cAAc/xE,OAAS45F,GACvCjoB,QAAQ,EACRC,OAAQ,CACNkF,cAAeA,EACfp1E,OAAQ,YAGZ,CACE/K,QACE,oEACFg7E,QAAQ,EACRC,OAAQ,CACNkF,cAAeA,EACfp1E,OAAQ,YAGZ,CACE/K,QAAS,kDACT65E,MAAO,iBACPmB,QAAQ,EACRC,OAAQ,CACN0F,UAAW,CACT3gF,QAAS,kCACTi7E,OAAQ,CACNlsC,OAAQ,QACR6rC,YAAa,aAGjBuF,cAAeA,EACfp1E,OAAQ,YAGZ,CACE/K,QAAS,oDACT65E,MAAO,iBACPmB,QAAQ,EACRC,OAAQ,CACN0F,UAAW,CACT3gF,QAAS,oCACTi7E,OAAQ,CACNlsC,OAAQ,QACR6rC,YAAa,iBAGjB7vE,OAAQ,aAId,kBAAmB,CACjB,CACE/K,QAASo7E,OAAO,KAAK/xE,OAAS45F,GAC9BjoB,QAAQ,EACRC,OAAQ,CACNkF,cAAeA,EACfvE,QAAS,CACP57E,QAAS,UACT65E,MAAO,YAIb,CACE75E,QAAS,0DACTg7E,QAAQ,EACRC,OAAQ,CACNkF,cAAeA,EACfvE,QAAS,CACP57E,QAAS,UACT65E,MAAO,sBAMVhB,EAAMY,UAAUmJ,KAAK73E,OAC5B8tE,EAAMY,UAAUx+C,aAAa,OAAQ,SAAU,CAC7CiiD,QACE,+OACFpB,SAAU,iCAEZjD,EAAMY,UAAUr/B,GAAKy+B,EAAMY,UAAUmJ,IACtC,CA3LA,CA2LE/J,EACL,CAtMA1tF,EAAOC,QAAUw3F,EACjBA,EAAKhzF,YAAc,OACnBgzF,EAAK/H,QAAU,CAAC,oCCChB,SAASsoB,EAAKtqB,IACX,SAAWA,GAEV,IADA,IAAIuqB,EAAmB,8CAA8C/5F,OAC5D1d,EAAI,EAAGA,EAAI,EAAGA,IAErBy3G,EAAmBA,EAAiBxyG,QAAQ,WAAW,WACrD,OAAOwyG,CACT,IAEFA,EAAmBA,EAAiBxyG,QAAQ,WAAW,WACrD,MAAO,UAAUyY,MACnB,IACAwvE,EAAMY,UAAU0pB,KAAO,CACrBl5F,QAAS,CACP,CACEjK,QAASo7E,OAAO,YAAY/xE,OAAS+5F,GACrC3oB,YAAY,EACZO,QAAQ,GAEV,CACEh7E,QAAS,mBACTy6E,YAAY,EACZO,QAAQ,IAGZjwE,OAAQ,CACN/K,QAAS,wDACTg7E,QAAQ,GAEVl4E,KAAM,CACJ9C,QACE,2EACFg7E,QAAQ,GAEVrqF,UAAW,CACTqP,QAAS,8CACTg7E,QAAQ,EACRnB,MAAO,YACPoB,OAAQ,CACNlwE,OAAQ,OAIZ,iBAAkB,CAChB/K,QAAS,2DACTy6E,YAAY,EACZO,QAAQ,EACRC,OAAQ,CACN,sBAAuB,CACrBj7E,QAAS,UACT65E,MAAO,eAETqE,KAAM,OAGV,sBAAuB,CACrBl+E,QAAS,OACT65E,MAAO,UAET,qBAAsB,CACpB75E,QAAS,iBACTy6E,YAAY,EACZZ,MAAO,eAET2B,SAAU,QACV,sBAAuB,CACrBx7E,QAAS,eACTy6E,YAAY,EACZZ,MAAO,YAET,kBAAmB,CACjB75E,QAAS,6CACTy6E,YAAY,EACZZ,MAAO,cAET,qBAAsB,CACpB,CACE75E,QAAS,qCACTy6E,YAAY,EACZZ,MAAO,aAET,CACE75E,QACE,wFACFy6E,YAAY,EACZZ,MAAO,YACPoB,OAAQ,CACNL,YAAa,QAInBF,QAAS,CAEP,8RAEA,gEAKFgB,SAAU,kCACVkC,MAAO,CACL59E,QAAS,SACT65E,MAAO,YAETiC,SAAU,sBACV,aAAc,eACd5jE,UAAW,CACTlY,QAAS,6DACTi7E,OAAQ,CACNL,YAAa,OAIjBxrF,OACE,6KACFI,QAAS,qBACTorF,YAAa,mCACbD,SAAU,uDAEZ9B,EAAMY,UAAU0pB,KAAK,kBAAkBloB,OAAOiD,KAAOrF,EAAMY,UAAU0pB,KACrEtqB,EAAMY,UAAU0pB,KAAgB,UAAEloB,OAAe,OAC/CpC,EAAMY,UAAU0pB,KAAa,MAChC,CA1HA,CA0HEtqB,EACL,CA/HA1tF,EAAOC,QAAU+3G,EACjBA,EAAKvzG,YAAc,OACnBuzG,EAAKtoB,QAAU,kCCCf,SAASwoB,EAAIxqB,IACV,SAAWA,GACV,IAAIoW,EAAgB,8CAA8C5lF,OAC9Dja,EAAS,mDACTk0G,EAAkB,CACpBtjG,QAASo7E,OAAO6T,EAAgB,QAChCpV,MAAO,UAEL0pB,EAAgB,CAClBvjG,QAAS,eAEPwjG,EAAe,CACjBxjG,QACE,kVACFy6E,YAAY,EACZZ,MAAO,WAELl4E,EAAO,CACT3B,QAAS,6CACT65E,MAAO,UACPY,YAAY,GAEVxwE,EAAU,CACZ,mBACA,CACEjK,QAAS,0BACTy6E,YAAY,IAGZ1vE,EAAS,CACX/K,QAASo7E,OAAO6T,GAChBjU,QAAQ,GAENJ,EAAc,qBACd9rC,EAAO,CACT9uC,QAAS,gBACT65E,MAAO,WAELgJ,EAAO,CACTnH,SAAU5sC,EACV,YAAa,CACX9uC,QAAS,kBACTy6E,YAAY,GAEdE,SAAU,IACV,iBAAkB4oB,EAClBpL,IAAK,CACHn4F,QAAS,UACT65E,MAAO,WAETzqF,OAAQA,EACR,mBAAoBk0G,EACpB1oB,YAAaA,EACb7vE,OAAQA,GAEN04F,EAAS,CACXzjG,QAAS,gCACTi7E,OAAQ,CACNP,QAAS,wBACTgpB,OAAQ,IACRD,OAAQ,CACNzjG,QAAS,oBACT65E,MAAO,YAIT8pB,EAAY,CACd3jG,QAAS,iDACTi7E,OAAQ,CACNP,QAAS,mBACT+oB,OAAQ,CACNzjG,QAAS,cACT65E,MAAO,YAIT+pB,EAAmB,CACrB5jG,QACE,iLACFy6E,YAAY,EACZZ,MAAO,WAELgqB,EAAkB,CACpB7jG,QAAS,gEACTy6E,YAAY,EACZZ,MAAO,WAELiqB,EACF,+iCACGz6F,OACD06F,EAAa,CACf/jG,QAASo7E,OACP,+CAA+C/xE,OAAOzY,QACpD,UACA,WACE,OAAOkzG,CACT,IAEF,KAEFrpB,YAAY,EACZQ,OAAQ,CACNP,QAASU,OACP,sBAAsB/xE,OAAOzY,QAAQ,UAAU,WAC7C,OAAOkzG,CACT,IACA,KAEFluG,OAAQ,CACNoK,QAAS,cACT65E,MAAO,WAET5vE,QAASA,EACTyxE,SAAU5sC,EACV,YAAa+zC,EAAK,aAClBlI,SAAUkI,EAAKlI,SACfsE,SAAU4D,EAAKsV,IACf/oG,OAAQA,EACR,mBAAoBk0G,EACpB1oB,YAAaA,EACb7vE,OAAQA,IAGRqxE,EAAW,CACbp8E,QACE,yxBACFy6E,YAAY,GAEd5B,EAAMY,UAAU4pB,IAAM,CACpBW,UAAW,CACThkG,QAAS,uDACTy6E,YAAY,EACZZ,MAAO,SACPoB,OAAQ,CACNP,QAAS,CACP16E,QAAS,8BAEX46E,YAAa,MAGjB,WAAY,CACV56E,QACE,+FACFy6E,YAAY,EACZQ,OAAQ,CACNsB,IAAK,CACHv8E,QAASo7E,OACP,oKAAoK/xE,OAAOzY,QACzK,UACA,WACE,OAAOq+F,CACT,IAEF,MAEFpV,MAAO,eACPoB,OAAQpC,EAAMY,UAAU8C,KAE1B,oBAAqBqnB,EACrB,iBAAkB,CAChB5jG,QACE,mFACFy6E,YAAY,EACZZ,MAAO,WAETzqF,OAAQA,EACR,mBAAoBk0G,EACpB1oB,YAAaA,EACb7vE,OAAQA,IAGZ,cAAe,CACb/K,QACE,0FACFy6E,YAAY,EACZQ,OAAQ,CACNhxE,QAASA,EACTgjF,OAAQ,CACNjtF,QAASo7E,OACP,iFAAiF/xE,OAAOzY,QACtF,UACA,WACE,OAAOq+F,CACT,IAEF,MAEFxU,YAAY,EACZZ,MAAO,kBACPoB,OAAQpC,EAAMY,UAAUwT,QAE1BvS,QAAS0B,EACT,mBAAoBynB,EACpB,oBAAqBD,EACrBx0G,OAAQA,EACR,mBAAoBk0G,EACpB1oB,YAAaA,EACb7vE,OAAQA,IAGZ,WAAY,CACV/K,QACE,uFACFy6E,YAAY,EACZQ,OAAQ,CACNhxE,QAASA,EACTq/E,IAAK,CACHtpF,QAASo7E,OACP,iFAAiF/xE,OAAOzY,QACtF,UACA,WACE,OAAOq+F,CACT,IAEF,MAEFxU,YAAY,EACZZ,MAAO,eACPoB,OAAQpC,EAAMY,UAAU6P,KAE1B5O,QAAS0B,EACT,mBAAoBynB,EACpB,oBAAqBD,EACrBx0G,OAAQA,EACR,mBAAoBk0G,EACpB1oB,YAAaA,EACb7vE,OAAQA,IAGZ,WAAY,CACV/K,QACE,mFACFy6E,YAAY,EACZQ,OAAQ,CACNhxE,QAASA,EACT,gBAAiB,CACfjK,QAAS,kCACTy6E,YAAY,EACZQ,OAAQ,CACNyB,UAAW,CACT18E,QAAS,qBACTi7E,OAAQ,CACNP,QAAS,qBAGbwD,KAAM2E,IAGV,cAAekhB,EACfrnB,UAAW,CACT18E,QACE,6DACFy6E,YAAY,EACZQ,OAAQ4H,GAEVlhF,KAAMA,EACN+4E,QAAS0B,EACTV,SAAU5sC,EACV20D,OAAQA,EACRE,UAAWA,EACX,oBAAqBC,EACrBx0G,OAAQA,EACR,mBAAoBk0G,EACpB1oB,YAAaA,EACb7vE,OAAQA,IAGZ,YAAa,CACX/K,QAASo7E,OACP,2CAA2C/xE,OAAOzY,QAChD,UACA,WACE,OAAOq+F,CACT,IAEF,MAEFxU,YAAY,EACZQ,OAAQ4H,GAGV,gBAAiB2gB,EACjB,iBAAkBD,EAClB,yBAA0B,CACxBvjG,QACE,2EACFy6E,YAAY,EACZQ,OAAQ,CACNS,SAAU,CACR17E,QAAS,gDACT65E,MAAO,WAET,gBAAiB2pB,EACjB,iBAAkBD,EAClB,eAAgB,CACdvjG,QAAS,uBAEX46E,YAAaA,IAGjB,oBAAqB,CACnB56E,QAAS,sBACTi7E,OAAQ,CACNP,QAAS,YAGb,YAAa,CACX16E,QAAS,qBACTi7E,OAAQ,CACNP,QAAS,WAIbkD,MAAO,CACL59E,QAAS,cACT65E,MAAO,WAET/pF,MAAO,CACLkQ,QAAS,2BACTi7E,OAAQ,CACNnrF,MAAO,CACL+pF,MAAO,UACP75E,QAAS,WAEXiK,QAASA,EACT7a,OAAQA,EACR,mBAAoBk0G,IAGxB,eAAgB,CACdtjG,QAAS,0CACTy6E,YAAY,EACZQ,OAAQ4H,GAEV,cAAekhB,EACf95F,QAASA,EACTyxE,SAAU5sC,EACV20D,OAAQA,EACRE,UAAWA,EACX,mBAAoBL,EACpB13C,SAAU,CAER5rD,QAASo7E,OAAO6T,EAAgB,aAChCpV,MAAO,UAET9uE,OAAQA,EACRpJ,KAAMA,EACN+4E,QAAS0B,EAET,mBAAoB,CAClBp8E,QAAS,oCACT65E,MAAO,YAGTzqF,OAAQA,EACRurF,SAAU,8DACVC,YAAaA,EAEhB,CArWA,CAqWE/B,EACL,CA1WA1tF,EAAOC,QAAUi4G,EACjBA,EAAIzzG,YAAc,MAClByzG,EAAIxoB,QAAU,kCCCd,SAASopB,EAAKprB,IACX,SAAWA,GACVA,EAAMY,UAAUwqB,KAAOprB,EAAMY,UAAUpuF,OAAO,MAAO,CAEnD4e,QAAS,CACPjK,QAAS,gDACTy6E,YAAY,EACZO,QAAQ,KAGZnC,EAAMY,UAAUx+C,aAAa,OAAQ,SAAU,CAE7C,cAAe,CAEbj7B,QAAS,sBACTg7E,QAAQ,EACRC,OAAQ,CACNkL,OAAQ,8BAIPtN,EAAMY,UAAUwqB,KAAK9d,OAC5B,IAAI3K,EAAW,yBACXb,EAAW,CACb,2CACA,CACE36E,QAAS,cACTy6E,YAAY,IAGhB5B,EAAMY,UAAUx+C,aAAa,OAAQ,WAAY,CAE/C,gBAAiB,CACfj7B,QAAS,eACTg7E,QAAQ,EACRC,OAAQ,CACNL,YAAa,IACbY,SAAUA,EACVb,SAAUA,IAId,gBAAiB,CACf36E,QAAS,qCACTg7E,QAAQ,EACRC,OAAQ,CACNntF,SAAU,CACR,kBACA,CACEkS,QAAS,aACTy6E,YAAY,IAGhBG,YAAa,IACbY,SAAUA,EACVb,SAAUA,EACViE,UAAW/F,EAAMY,UAAUwqB,KAAKrlB,qBAI/B/F,EAAMY,UAAUwqB,KAAKn2G,gBACrB+qF,EAAMY,UAAUwqB,KAAKrlB,UAE5B/F,EAAMY,UAAUx+C,aAAa,OAAQ,cAAe,CAClDnvC,SAAU,CACRkU,QACE,yHACFy6E,YAAY,EACZO,QAAQ,IAGb,CAtEA,CAsEEnC,EACL,CA3EA1tF,EAAOC,QAAU64G,EACjBA,EAAKr0G,YAAc,OACnBq0G,EAAKppB,QAAU,sCCHf,IAAIyV,EAAgBpjG,EAAQ,MAI5B,SAASg3G,EAAMrrB,GACbA,EAAMU,SAAS+W,GACfzX,EAAMY,UAAUyqB,MAAQrrB,EAAMY,UAAUpuF,OAAO,OAAQ,CACrD,uBAAwB,CACtB2U,QAAS,iBACTg7E,QAAQ,EACRnB,MAAO,UAET9uE,OAAQ,CACN/K,QAAS,kCACTg7E,QAAQ,GAEVN,QACE,qPACFtrF,OACE,0EACF8tF,QACE,8FACFnuC,OAAQ,kBAEV8pC,EAAMY,UAAUx+C,aAAa,QAAS,uBAAwB,CAC5D,uBAAwB,CACtBj7B,QACE,6HACFg7E,QAAQ,EACRC,OAAQ,CACNvuF,GAAI,CACFsT,QAAS,OACTg7E,QAAQ,EACRnB,MAAO,YAET9C,OAAQ,CACN/2E,QAAS,eACTg7E,QAAQ,EACRnB,MAAO,UAETsG,cAAe,CACbngF,QAAS,sCACTg7E,QAAQ,EACRC,OAAQ,CACNL,YAAa,aACbwF,WAAY,CACVpgF,QAAS,UACTi7E,OAAQpC,EAAMY,UAAUyqB,SAI9Bn5F,OAAQ,qBAIP8tE,EAAMY,UAAUyqB,MAAM,qBACtBrrB,EAAMY,UAAUyqB,MAAgB,QACzC,CAxDA/4G,EAAOC,QAAU84G,EACjBA,EAAMt0G,YAAc,QACpBs0G,EAAMrpB,QAAU,kCCChB,SAASh2E,EAAOg0E,IACb,SAAWA,GACVA,EAAMY,UAAU50E,OAAS,CAMvBoF,QACE,yIACFc,OAAQ,CACN/K,QAAS,oBACTg7E,QAAQ,GAEVjsC,OAAQ,CACN/uC,QAAS,kBACTg7E,QAAQ,GAEVl4E,KAAM,CACJ9C,QACE,0EACFg7E,QAAQ,GAEV,mBAAoB,CAElB,CACEh7E,QACE,qEACFy6E,YAAY,GAEd,CACEz6E,QAAS,+CACTy6E,YAAY,IAGhBC,QAAS,CACP16E,QACE,qZACFy6E,YAAY,GAEdyC,QAAS,CAEPl9E,QACE,0oDACFy6E,YAAY,GAEdE,SAAU,CACR36E,QAAS,4DACTy6E,YAAY,GAEdrrF,OAAQ,CA0BN4Q,QAASo7E,OA+Cb,SAAmB5B,GACjB,IAAK,IAAInvF,KAAOmvF,EACdA,EAAQnvF,GAAOmvF,EAAQnvF,GAAKuG,QAAQ,cAAc,SAAUvG,GAC1D,MAAO,MAAQmvF,EAAQnvF,GAAK4F,OAAS,GACvC,IAEF,OAAOupF,EAAQnvF,EACjB,CArDM85G,CAAU,CACR,cACE,2DAA2D96F,OAC7D,aAAc,sCAAsCA,OACpD,kBAAmB,uCAAuCA,OAC1D,gBACE,6DACGA,OACL,YAAa,8CAA8CA,OAC3D,cAAe,4BAA4BA,OAC3C,aAAc,sCAAsCA,OACpD,kBAAmB,uCAAuCA,OAC1D,gBACE,6DACGA,OACL,YAAa,iDACVA,OACH,WAAY,wDACTA,SAEL,KAEFoxE,YAAY,GAEdjrF,QAAS,CACPwQ,QAAS,qDACTy6E,YAAY,GAEdiB,SAAU,CACR17E,QACE,4EACFy6E,YAAY,GAEdsC,WAAY,CACV/8E,QAAS,oDACTy6E,YAAY,EACZO,QAAQ,GAEVJ,YAAa,YAgBhB,CAlIA,CAkIE/B,EACL,CAvIA1tF,EAAOC,QAAUyZ,EACjBA,EAAOjV,YAAc,SACrBiV,EAAOg2E,QAAU,kCCCjB,SAASupB,EAAKvrB,GACZA,EAAMY,UAAU2qB,KAAOvrB,EAAMY,UAAUpuF,OAAO,MAAO,CACnD4e,QAAS,CACPjK,QAAS,uCACTy6E,YAAY,GAEd0L,OAAQ,CACNnmF,QAAS,sDACTi7E,OAAQ,CACNI,KAAM,YAIVlvB,IAAK,0BAQLrgE,SAAU,CAERkU,QACE,iGACFi7E,OAAQ,CACN5uD,OAAQ,CACNrsB,QAAS,IACT65E,MAAO,aAET35E,YAAa,UACbs7E,SAAU,2BAGd1tF,SAAU,CACRkS,QAAS,2CACTi7E,OAAQ,CACNO,SAAU,6BAIhB3C,EAAMY,UAAUx+C,aAAa,OAAQ,SAAU,CAC7Cy/C,QAAS,CACP,oHACA,CACE16E,QAAS,2BACTy6E,YAAY,MAIlB5B,EAAMY,UAAUx+C,aAAa,OAAQ,YAAa,CAEhDugD,SAAU,2BAEZ3C,EAAMY,UAAUx+C,aAAa,OAAQ,WAAY,CAC/C,kBAAmB,CACjBj7B,QAAS,6BACT65E,MAAO,WAET35E,YAAa,CACXF,QAAS,UACT65E,MAAO,YAET6C,UAAW,CACT18E,QAAS,6BACT65E,MAAO,WAETrqF,QAAS,qBACTilG,KAAM,CACJz0F,QAAS,WACT65E,MAAO,WAETc,SAAU,CACR36E,QAAS,kDACTy6E,YAAY,KAGhB5B,EAAMY,UAAU2qB,KAAa,OAAEnpB,OAAOiD,KAAOrF,EAAMY,UAAU2qB,IAC/D,CAjFAj5G,EAAOC,QAAUg5G,EACjBA,EAAKx0G,YAAc,OACnBw0G,EAAKvpB,QAAU,sCCHf,IAAIwpB,EAAgBn3G,EAAQ,MAI5B,SAASo3G,EAAazrB,GACpBA,EAAMU,SAAS8qB,GACd,SAAWxrB,GAGV,IAAI0rB,EAAU,CAEZ,wDAAwDl7F,OACxD,UAAUA,OACV,2BAA2BA,OAE3B,0CAA0CA,QAC1C1a,KAAK,KACPkqF,EAAMY,UAAU,iBAAmB,CACjCmC,QAAS,CACP57E,QAASo7E,OAEP,IAAI/xE,OACF,MACC,kEACEA,OACD,IAGA,+BAA+BA,OACjC,KACA,cAAcA,OACd,qFAAqFA,OAAOzY,QAC1F,YACA,WACE,OAAO2zG,CACT,IAEJ,KAEFvpB,QAAQ,EACRC,OAAQ,CACN3sF,KAAM,CAIJ0R,QAAS,WACT65E,MAAO,cACPoB,OAAQ,CACNupB,KAAM,uCACN5pB,YAAa,IACb8O,KAAM,YAGVrK,KAAM,CACJr/E,QAAS,uBACTy6E,YAAY,EACZZ,MAAO,gBACPoB,OAAQpC,EAAMY,UAAU4F,MAE1B,eAAgB,CACdr/E,QAAS,SACT65E,MAAO,eAIb5sE,OAAQ,yBAEV4rE,EAAMY,UAAU,cAAgBZ,EAAMY,UAAwB,aAC5DZ,EAAMY,UAAU,gBACnB,CA/DA,CA+DEZ,EACL,CArEA1tF,EAAOC,QAAUk5G,EACjBA,EAAa10G,YAAc,eAC3B00G,EAAazpB,QAAU,kCCCvB,SAAS4pB,EAAM5rB,GAGbA,EAAMY,UAAUgrB,MAAQ,CACtBx6F,QAAS,MACTc,OAAQ,CACN/K,QAAS,gEACTg7E,QAAQ,GAEV,aAAc,CACZh7E,QACE,oEACFy6E,YAAY,EACZQ,OAAQ,CACN,aAAc,CACZj7E,QAAS,iCACTy6E,YAAY,GAEdviE,UAAW,CACTlY,QAAS,iCACTy6E,YAAY,EACZQ,OAAQ,CACNL,YAAa,OAGjBsC,QAAS,OAGbA,QAAS,CACP,CAEEl9E,QAAS,wBACTy6E,YAAY,GAEd,CAEEz6E,QAAS,uBACTy6E,YAAY,IAGhBC,QAAS,CACP,CACE16E,QAAS,mBACTy6E,YAAY,GAEd,CACEz6E,QAAS,4BACTy6E,YAAY,GAEd,CACEz6E,QACE,0JACFy6E,YAAY,IAGhBiB,SAAU,CACR17E,QAAS,qCACTy6E,YAAY,GAEdkW,MAAO,CACL3wF,QAAS,cACT65E,MAAO,YAETN,SAAU,CACRv5E,QAAS,8BACTy6E,YAAY,EACZZ,MAAO,YAETrqF,QAAS,CACPwQ,QAAS,sCACTy6E,YAAY,GAEdrrF,OAAQ,CACN4Q,QACE,sJACFy6E,YAAY,GAEdjhF,MAAO,CACLwG,QAAS,SACTy6E,YAAY,EACZZ,MAAO,YAETc,SAAU,gBACVC,YAAa,YAEjB,CAxFAzvF,EAAOC,QAAUq5G,EACjBA,EAAM70G,YAAc,QACpB60G,EAAM5pB,QAAU,kCCChB,SAAS6pB,EAAU7rB,GACjBA,EAAMY,UAAUirB,UAAY,CAC1Bz6F,QAAS,CACPjK,QAAS,iBACTg7E,QAAQ,GAEVl4E,KAAM,CACJ9C,QAAS,MACTg7E,QAAQ,GAEVjwE,OAAQ,CACN/K,QAAS,iBACTg7E,QAAQ,GAEVjsC,OAAQ,oDACR,kBAAmB,CACjB/uC,QAAS,oBACTy6E,YAAY,EACZQ,OAAQ,CACNO,SAAU,aACVZ,YAAa,OAGjB,sBAAuB,CACrB56E,QAAS,YACTi7E,OAAQ,CACNO,SAAU,YACVZ,YAAa,OAGjBF,QAAS,6BACTlrF,QAAS,qBACTJ,OAAQ,CACN,2CACA,8BAEFurF,SAAU,iDACVC,YAAa,iBAEjB,CA1CAzvF,EAAOC,QAAUs5G,EACjBA,EAAU90G,YAAc,YACxB80G,EAAU7pB,QAAU,sCCHpB,IAAIsM,EAA4Bj6F,EAAQ,KAIxC,SAASy3G,EAAO9rB,GACdA,EAAMU,SAAS4N,GACd,SAAWtO,GACVA,EAAMY,UAAUkrB,OAAS,CACvB16F,QAAS,CACPjK,QAAS,oBACTg7E,QAAQ,GAEV,eAAgB,CACdh7E,QAAS,4BACTg7E,QAAQ,EACRC,OAAQ,CACN0pB,OAAQ,CACN3kG,QAAS,sBACTi7E,OAAQ,MAEV2b,IAAK,CACH52F,QAAS,UACT65E,MAAO,eACPoB,OAAQpC,EAAMY,UAAUmd,OAI9B7rF,OAAQ,CACN,CACE/K,QAAS,wBACTg7E,QAAQ,EACRC,OAAQ,CACNkF,cAAe,CACbngF,QAAS,qBACTi7E,OAAQ,CACN,4BAA6B,CAC3Bj7E,QAAS,cACT65E,MAAO,eAETuG,WAAY,CACVpgF,QAAS,UACTi7E,OAAQ,QAIdO,SAAU,UAGd,CACEx7E,QAAS,wBACTg7E,QAAQ,IAGZN,QAAS,CACP16E,QAAS,6BACTy6E,YAAY,EACZO,QAAQ,GAEV2F,UAAW,CACT3gF,QAAS,aACTg7E,QAAQ,EACRnB,MAAO,eAETzqF,OAAQ,+DACRosF,SAAU,CACR,cACA,cACA,CACEx7E,QAAS,kCACTy6E,YAAY,GAEd,CACEz6E,QAAS,sBACTy6E,YAAY,IAGhBiB,SAAU,CACR17E,QAAS,wCACTy6E,YAAY,GAEd,YAAa,uBACbjrF,QAAS,mCACTorF,YAAa,oBACbD,SAAU,CACR,mCACA,iDACA,mDAGJ9B,EAAMY,UAAUkrB,OAAO,gBAAgB1pB,OAAO0pB,OAAO1pB,OACnDpC,EAAMY,UAAUkrB,OAClB9rB,EAAMY,UAAUkrB,OAAO55F,OAAO,GAAGkwE,OAAOkF,cAAclF,OAAOmF,WAAWnF,OACtEpC,EAAMY,UAAUkrB,OAClB,IAAI55F,EAAS,8CACT65F,EAAgBxpB,OAElB,mBAAmB/xE,OACjB,IACA,2BAA2BA,OAC3B,IACA,uEAAuEA,OAAOzY,QAC5E,UACA,WACE,OAAOma,EAAO1B,MAChB,IAEJ,KAEFwvE,EAAMwB,MAAMlqC,IAAI,mBAAmB,SAAU+pC,GAC3C,IAEI2qB,GAAoB,EACxBhsB,EAAMY,UAAU,qBAAqB8N,kBACnCrN,EACA,SACA0qB,GACA,SAAU14G,GAKR,MAXmB,eAQfA,IACF24G,GAAoB,IAEjBA,IAZgB,cAaf34G,IACF24G,GAAoB,IAEf,EAGX,GAEJ,IACAhsB,EAAMwB,MAAMlqC,IAAI,kBAAkB,SAAU+pC,GAC1CrB,EAAMY,UAAU,qBAAqB+N,qBAAqBtN,EAAK,SACjE,GACD,CAhIA,CAgIErB,EACL,CAtIA1tF,EAAOC,QAAUu5G,EACjBA,EAAO/0G,YAAc,SACrB+0G,EAAO9pB,QAAU,kCCCjB,SAASiqB,EAAIjsB,IAGV,SAAWA,GACV,IAAIuD,EACF,0PACFvD,EAAMY,UAAUqrB,IAAM,CAEpB76F,QACE,4EACFc,OAAQ,CACN/K,QAAS,sBACTg7E,QAAQ,GAEV,aAAc,CACZ,CAOEh7E,QAASo7E,OACP,2HAA2H/xE,OACxHzY,QAAQ,eAAe,WACtB,MAAO,iBAAiByY,MAC1B,IACCzY,QAAQ,eAAe,WACtB,MAAO,6FACJyY,MACL,IACCzY,QAAQ,cAAc,WACrB,MAAO,+BAA+ByY,MACxC,IACCzY,QAAQ,cAAc,WACrB,OAAOwrF,EAAS/yE,MAClB,IACF,KAEFoxE,YAAY,EACZO,QAAQ,EACRC,OAAQ,MAEV,CACEj7E,QACE,yFACFy6E,YAAY,IAGhBiB,SAAU,CACR17E,QAAS,qCACTy6E,YAAY,GAEdC,QAAS0B,EACTZ,SAAU,CACRx7E,QAAS,oBACTy6E,YAAY,GAEdrrF,OAAQ,iDACR21G,KAAM,CACJ/kG,QAAS,2BACT65E,MAAO,YAETrqF,QAAS,sBACTmrF,SAAU,4CACVC,YAAa,kBAEf/B,EAAMY,UAAUqrB,IAAI,cAAc,GAAG7pB,OAASpC,EAAMY,UAAUqrB,IAC9DjsB,EAAMY,UAAUurB,MAAQnsB,EAAMY,UAAUqrB,GACzC,CAlEA,CAkEEjsB,EACL,CAzEA1tF,EAAOC,QAAU05G,EACjBA,EAAIl1G,YAAc,MAClBk1G,EAAIjqB,QAAU,CAAC,wCCCf,SAASoqB,EAASpsB,GAChBA,EAAMY,UAAUwrB,SAAWpsB,EAAMY,UAAUpuF,OAAO,QAAS,CACzD,aAAc,CACZ2U,QACE,0EACFy6E,YAAY,GAEdC,QACE,+YACFC,SAAU,qEAEZ9B,EAAMY,UAAUx+C,aAAa,WAAY,UAAW,CAClDiiD,QACE,gMAEJrE,EAAMY,UAAUx+C,aAAa,WAAY,SAAU,CACjD71B,QAAS,CACPpF,QAAS,6BACTy6E,YAAY,EACZZ,MAAO,YAGXhB,EAAMY,UAAUyrB,IAAMrsB,EAAMY,UAAUwrB,QACxC,CA1BA95G,EAAOC,QAAU65G,EACjBA,EAASr1G,YAAc,WACvBq1G,EAASpqB,QAAU,CAAC,sCCCpB,SAASsqB,EAAatsB,IACnB,SAAWA,GACV,IAAIusB,EAAO,CAETplG,QAAS,+DACT65E,MAAO,WACPoB,OAAQ,CACNL,YAAa,SAGjB/B,EAAMY,UAAU,iBAAmB,CACjCxvE,QAAS,CACPjK,QAAS,MACTg7E,QAAQ,GAEVjwE,OAAQ,CACN/K,QAAS,0BACTg7E,QAAQ,EACRC,OAAQ,CACNmqB,KAAMA,IAGV7gG,OAAQ,CAMNvE,QACE,kHACFy6E,YAAY,EACZO,QAAQ,EACRnB,MAAO,WAET/rF,SAAU,CACRkS,QAAS,kDACTy6E,YAAY,EACZQ,OAAQ,CACNmqB,KAAMA,IAGVA,KAAMA,EACNh2G,OAAQ,oBACRI,QAAS,qBACTmrF,SAAU,IACVC,YAAa,SAEf/B,EAAMY,UAAe,IAAIZ,EAAMY,UAAU,gBAC1C,CA/CA,CA+CEZ,EACL,CApDA1tF,EAAOC,QAAU+5G,EACjBA,EAAav1G,YAAc,eAC3Bu1G,EAAatqB,QAAU,sCCHvB,IAAIsM,EAA4Bj6F,EAAQ,KAIxC,SAASm4G,EAAIxsB,GACXA,EAAMU,SAAS4N,GACd,SAAWtO,GACV,IAAIoW,EAAgB,iDAChBqW,EAAgB,oDACpBzsB,EAAMY,UAAU4rB,IAAM,CACpBp7F,QAAS,CACP,mBACA,CACEjK,QAAS,aACTy6E,YAAY,EACZO,QAAQ,IAGZ,cAAe,CACbh7E,QACE,0FACFy6E,YAAY,EACZZ,MAAO,SACPoB,OAAQ,CACNL,YAAa,OAGjBmF,UAAW,CACT//E,QAAS,oCACTy6E,YAAY,EACZZ,MAAO,YAETa,QAAS,CACP,CACE16E,QACE,mNACFy6E,YAAY,GAEd,2FAEFkG,UAAW,CACT3gF,QAAS,kBACT65E,MAAO,eAET/rF,SAAU,WACV0tF,SAAU,CACRx7E,QAAS,2CACTi7E,OAAQ,CACNlwE,OAAQ,CACN/K,QAASivF,EACTjU,QAAQ,GAEV5rF,OAAQk2G,EACR1qB,YAAa,aAGjB7vE,OAAQ,CACN/K,QAASivF,EACTjU,QAAQ,GAEVU,SAAU,CACR,YACA,CACE17E,QAAS,oBACTy6E,YAAY,IAGhBjrF,QAAS,qBACTJ,OAAQk2G,EACR3qB,SAAU,iDACVC,YAAa,kBAEf/B,EAAMwB,MAAMlqC,IAAI,mBAAmB,SAAU+pC,GAC3C,IAGIqrB,GAAkB,EACtB1sB,EAAMY,UAAU,qBAAqB8N,kBACnCrN,EACA,MANe,kDAQf,SAAUhuF,GAKR,MAXiB,eAQbA,IACFq5G,GAAkB,IAEfA,IAZc,cAabr5G,IACFq5G,GAAkB,IAEb,EAGX,GAEJ,IACA1sB,EAAMwB,MAAMlqC,IAAI,kBAAkB,SAAU+pC,GAC1CrB,EAAMY,UAAU,qBAAqB+N,qBAAqBtN,EAAK,MACjE,GACD,CA7FA,CA6FErB,EACL,CAnGA1tF,EAAOC,QAAUi6G,EACjBA,EAAIz1G,YAAc,MAClBy1G,EAAIxqB,QAAU,sCCHd,IAAI2qB,EAAkBt4G,EAAQ,MAI9B,SAASu4G,EAAO5sB,GACdA,EAAMU,SAASisB,GACf3sB,EAAMY,UAAUgsB,OAAS5sB,EAAMY,UAAUpuF,OAAO,SAAU,CACxDmE,QAAS,sBACTgsF,SAAU,CACRx7E,QAAS,UACTg7E,QAAQ,KAGZnC,EAAMY,UAAUx+C,aAAa,SAAU,cAAe,CACpDy/C,QAAS,CACP,8SACA,0YACA,gCAGJ7B,EAAMY,UAAUisB,GAAK7sB,EAAMY,UAAUgsB,MACvC,CApBAt6G,EAAOC,QAAUq6G,EACjBA,EAAO71G,YAAc,SACrB61G,EAAO5qB,QAAU,CAAC,qCCClB,SAAS8qB,EAAU9sB,GACjBA,EAAMY,UAAU,cAAgB,CAC9BxvE,QAAS,iCACTc,OAAQ,CACN/K,QAAS,oBACTg7E,QAAQ,GAGVN,QACE,8tCACF,gBAAiB,CACf16E,QAAS,gCACT65E,MAAO,YAET6B,SAAU,iBACV5tF,SAAU,qBACV69D,KAAM,CAEJ3rD,QAAS,oDACT65E,MAAO,UAETzqF,OAAQ,oBACRI,QAAS,0BACTmrF,SAAU,mBACVC,YAAa,WAEjB,CA7BAzvF,EAAOC,QAAUu6G,EACjBA,EAAU/1G,YAAc,YACxB+1G,EAAU9qB,QAAU,kCCCpB,SAAS+qB,EAAI/sB,GACXA,EAAMY,UAAUmsB,IAAM/sB,EAAMY,UAAUpuF,OAAO,QAAS,CACpD0f,OAAQ,CACN/K,QAAS,sCACTg7E,QAAQ,GAEVN,QACE,mRACFlrF,QAAS,sBACTksF,SACE,+h/BACFtsF,OACE,qEACFurF,SAAU,2DACV,iBAAkB,CAChB36E,QACE,oJACF65E,MAAO,WAETiC,SAAU,2BAEZjD,EAAMY,UAAUx+C,aAAa,MAAO,SAAU,CAC5C2iD,MAAO,CACL59E,QAAS,oDACTy6E,YAAY,EACZO,QAAQ,EACRnB,MAAO,WACPoB,OAAQ,CACNoD,UAAW,CACTr+E,QAAS,aACT65E,MAAO,WAET5vE,QAAS4uE,EAAMY,UAAUmsB,IAAI37F,mBAI5B4uE,EAAMY,UAAUmsB,IAAI,aAC7B,CAxCAz6G,EAAOC,QAAUw6G,EACjBA,EAAIh2G,YAAc,MAClBg2G,EAAI/qB,QAAU,kCCCd,SAAS0B,EAAI1D,GACXA,EAAMY,UAAU8C,IAAM,CACpBtyE,QAAS,CACPjK,QAAS,gDACTy6E,YAAY,GAEde,SAAU,CACR,CACEx7E,QAAS,sCACTg7E,QAAQ,GAEV,YAEFjwE,OAAQ,CACN/K,QAAS,kDACTg7E,QAAQ,EACRP,YAAY,GAEdsC,WAAY,CACV/8E,QAAS,sCACTg7E,QAAQ,EACRP,YAAY,EACZQ,OAAQ,CACNL,YAAa,UAGjBc,SACE,4FAEFhB,QACE,u9EACFlrF,QAAS,2BACTJ,OAAQ,4CACRurF,SACE,+HACFC,YAAa,cAEjB,CAxCAzvF,EAAOC,QAAUmxF,EACjBA,EAAI3sF,YAAc,MAClB2sF,EAAI1B,QAAU,kCCCd,SAASgrB,EAAShtB,GAChBA,EAAMY,UAAUosB,SAAWhtB,EAAMY,UAAUpuF,OAAO,QAAS,CACzD4e,QAAS,CACP4uE,EAAMY,UAAUN,MAAe,QAAE,GACjC,CACEn5E,QAAS,yBACTy6E,YAAY,EACZO,QAAQ,IAGZjwE,OAAQ,CACN/K,QAAS,6DACTy6E,YAAY,EACZO,QAAQ,GAEV,aAAc,CACZh7E,QAAS,wDACTy6E,YAAY,EACZQ,OAAQ,CACNL,YAAa,OAGjBF,QACE,yOACFtrF,OAAQ,wDACRurF,SAAU,0DACVC,YAAa,kBAEf/B,EAAMY,UAAUx+C,aAAa,WAAY,SAAU,CACjDn4B,KAAM,CACJ9C,QAAS,6DACTy6E,YAAY,EACZO,QAAQ,KAGZnC,EAAMY,UAAUx+C,aAAa,WAAY,WAAY,CACnD,wBAAyB,CACvBj7B,QAAS,UACT65E,MAAO,aAEToe,OAAQ,CACNj4F,QAAS,UACT65E,MAAO,aAGb,CAhDA1uF,EAAOC,QAAUy6G,EACjBA,EAASj2G,YAAc,WACvBi2G,EAAShrB,QAAU,kCCCnB,SAASirB,EAAKjtB,IACX,SAAWA,GAEV,IAAIktB,EACF,8MACFltB,EAAMY,UAAUqsB,KAAO,CACrB77F,QAAS,yCACTc,OAAQ,CAGN/K,QAAS,kCACTg7E,QAAQ,GAEVqD,UAAW,CACTr+E,QAAS,yBACTy6E,YAAY,EACZZ,MAAO,YAET,eAAgB,CACd75E,QAASo7E,OACP,IACE2qB,EAAqB18F,OACrB,WAAWA,OACX,IACA,cAAcA,QAElBoxE,YAAY,EACZZ,MAAO,YAETmsB,WAAY,CACVhmG,QAAS,uDACTy6E,YAAY,EACZQ,OAAQ,CACNmF,WAAY,CACVpgF,QAAS,sDACTy6E,YAAY,EACZQ,OAAQ,MAEVntF,SAAU,sBACV6sF,SAAU,IACVC,YAAa,YAGjBF,QAAS,CACP,CACE16E,QACE,sFACF65E,MAAO,iBAET,mQACAksB,GAEFrqB,SAAU,uBACVtsF,OACE,8FACFI,QAAS,qBACTmrF,SAAU,8CACVC,YAAa,gBAEf/B,EAAMY,UAAUqsB,KAAKE,WAAW/qB,OAAOmF,WAAWnF,OAChDpC,EAAMY,UAAUqsB,IACnB,CA5DA,CA4DEjtB,EACL,CAjEA1tF,EAAOC,QAAU06G,EACjBA,EAAKl2G,YAAc,OACnBk2G,EAAKjrB,QAAU,iCCCf,SAASorB,EAAOptB,IACb,SAAWA,GACV,IAAIoN,EAAO,CACTjmF,QAAS,sBACTy6E,YAAY,GAEVrrF,EAAS,CACX4Q,QAAS,uCACTy6E,YAAY,GAEVQ,EAAS,CACXhxE,QAAS,CACPjK,QAAS,uCACTy6E,YAAY,GAEdtuB,IAAK,CACHnsD,QAAS,yBACTg7E,QAAQ,GAEVjwE,OAAQ,CACN/K,QAAS,gDACTg7E,QAAQ,GAEVmF,cAAe,KAEfrxC,KAAM,KAEN8vC,UAAW,+BACXlE,QAAS,CACP16E,QAAS,2DACTy6E,YAAY,GAEdyL,QAAS,iBACT7iF,MAAO,CACL,q5CACA,CACErD,QACE,4JACFi7E,OAAQ,CACNgL,KAAMA,EACN72F,OAAQA,EACRssF,SAAU,eACVd,YAAa,WAInB/uE,OAAQ,kBACRo6E,KAAMA,EACNz2F,QAAS,qBACTmrF,SAAU,CAGR,wGAEFvrF,OAAQA,EACRwrF,YAAa,iBAEfK,EAAsB,cAAI,CACxBj7E,QAAS,iBACT65E,MAAO,WACPoB,OAAQ,CACN0F,UAAW,CACT3gF,QAAS,UACT65E,MAAO,eAETqE,KAAMjD,IAGVA,EAAa,KAAI,CACfj7E,QAAS,oBACTi7E,OAAQ,CACNS,SAAU,SACVwC,KAAMjD,IAGVpC,EAAMY,UAAUwsB,OAAS,CACvB,qBAAsB,CACpBjmG,QAAS,gBACTy6E,YAAY,EACZQ,OAAQ,CACNkL,OAAQ,WACRjI,KAAMjD,IAGV,uBAAwB,CACtBj7E,QAAS,qDACTy6E,YAAY,EACZQ,OAAQ,CACNO,SAAU,OACV0C,KAAMjD,IAGVyB,UAAW,CACT18E,QAAS,iDACTy6E,YAAY,EACZQ,OAAQ,CACNP,QAAS,OACTwD,KAAMjD,IAKV,uBAAwB,CACtBj7E,QACE,6HACFy6E,YAAY,EACZQ,OAAQ,CACNntF,SAAU,CACRkS,QAAS,WACTi7E,OAAQ,CACNkF,cAAelF,EAAOkF,gBAG1BjC,KAAMjD,IAMVnvF,SAAU,CACRkU,QACE,wOACFy6E,YAAY,EACZQ,OAAQ,CACNkF,cAAelF,EAAOkF,cACtBl2E,QAASgxE,EAAOhxE,QAChB2wE,YAAa,UAGjB9rC,KAAMmsC,EAAOnsC,KACb/jC,OAAQkwE,EAAOlwE,OACfd,QAAS,CACPjK,QAAS,uCACTy6E,YAAY,EACZO,QAAQ,GAEVmF,cAAelF,EAAOkF,cACtBvF,YAAa,gBAEhB,CA1IA,CA0IE/B,EACL,CA/IA1tF,EAAOC,QAAU66G,EACjBA,EAAOr2G,YAAc,SACrBq2G,EAAOprB,QAAU,kCCCjB,SAASqrB,EAAMrtB,GACbA,EAAMY,UAAUysB,MAAQ,CACtBj8F,QAAS,CAEPjK,QACE,uFACFy6E,YAAY,EACZO,QAAQ,GAEV,iBAAkB,CAEhB,CACEh7E,QAASo7E,OACP,YAAY/xE,OACV,MACA,8DACGA,OACH,IACA,iEACGA,OACH,IACA,WAAWA,QAEfoxE,YAAY,EACZO,QAAQ,EACRC,OAAQ,CACNkF,cAAe,CACbngF,QAAS,oCACTy6E,YAAY,EACZQ,OAAQ,MAEV,4BAA6B,CAC3Bj7E,QAAS,YACT65E,MAAO,eAETe,YAAa,eACb7vE,OAAQ,YAGZ,CACE/K,QAASo7E,OACP,gBAAgB/xE,OACd,MACA,gEACGA,OACH,IACA,2DAA2DA,OAL7D,QASFoxE,YAAY,EACZO,QAAQ,EACRC,OAAQ,CACNkF,cAAe,CACbngF,QAAS,sCACTy6E,YAAY,EACZQ,OAAQ,MAEV,4BAA6B,CAC3Bj7E,QAAS,cACT65E,MAAO,eAET9uE,OAAQ,aAIdszE,UAAW,CAETr+E,QAASo7E,OACP,IAAI/xE,OACF,MACC,kBAAkBA,OACjB,YAGA,8GACGA,OAPP,MAUE,mBAAmBA,OACnB,KAEJwwE,MAAO,WACPoB,OAAQ,CACN,iBAAkB,QAClBzrF,QAAS,qBACTJ,OAAQ,oBACRurF,SAAU,mBACVC,YAAa,UAGjBqiB,QAAS,CACPj9F,QACE,2FACF65E,MAAO,YAET,kBAAmB,CACjB75E,QAAS,SACT65E,MAAO,YAETlpF,UAAW,CACTqP,QAAS,OACT65E,MAAO,UAET,sBAAuB,CACrB75E,QAAS,iBACTy6E,YAAY,EACZZ,MAAO,YAETrgF,MAAO,CAELwG,QACE,2EACFy6E,YAAY,EACZZ,MAAO,aAETa,QACE,unBACFlrF,QAAS,qBACT22G,IAAK,CACHnmG,QAAS,UACT65E,MAAO,YAET,iBAAkB,UAClBusB,KAAM,CACJpmG,QAAS,QACT65E,MAAO,WAETzqF,OACE,kFAEF,aAAc,kCACdssF,SAAU,wBACVI,SAAU,sCAIVnB,SAAU,0CACVC,YAAa,mBAEf/B,EAAMY,UAAUysB,MAAM,kBAAkB33E,SAAQ,SAAU8sD,GACxDA,EAAKJ,OAAsB,cAAEA,OAASpC,EAAMY,UAAUysB,KACxD,GACF,CAlJA/6G,EAAOC,QAAU86G,EACjBA,EAAMt2G,YAAc,QACpBs2G,EAAMrrB,QAAU,kCCChB,SAASwrB,EAAQxtB,IAEd,SAAWA,GACV,IAAI5uE,EAAU,CACZjK,QAAS,WACTg7E,QAAQ,GAENsrB,EAAe,4CAA4Cj9F,OAC/DwvE,EAAMY,UAAU4sB,QAAU,CACxBp8F,QAASA,EACTw+E,QAAS,CACPzoF,QAAS,gCACTg7E,QAAQ,EACRC,OAAQ,CACNL,YAAa,UACb,eAAgB,CACd56E,QAAS,UACT65E,MAAO,cAIbxvF,IAAK,CACH2V,QAAS,uBACTg7E,QAAQ,EACRnB,MAAO,aAET9uF,MAAO,CAMLiV,QAASo7E,OACP,kBAAkB/xE,OAChB,MACAi9F,EAFF,oBAKG,UAAUj9F,OAAV,wBAGCi9F,EAHD,KAMC,sCAAsCj9F,OACxC,MAEJoxE,YAAY,EACZO,QAAQ,EACRnB,MAAO,aACPoB,OAAQ,CACNhxE,QAASA,EACTqzE,OAAQ,CACNt9E,QAASo7E,OAAO,SAAS/xE,OAASi9F,GAClC7rB,YAAY,EACZO,QAAQ,GAEVJ,YAAa,OACbprF,QAAS,CACPwQ,QAAS,iCACTg7E,QAAQ,KAIdJ,YAAa,IAEhB,CAhEA,CAgEE/B,EACL,CAtEA1tF,EAAOC,QAAUi7G,EACjBA,EAAQz2G,YAAc,UACtBy2G,EAAQxrB,QAAU,sCCHlB,IAAI0rB,EAAwBr5G,EAAQ,MAChCqxF,EAAkBrxF,EAAQ,MAI9B,SAASs5G,EAAK3tB,GACZA,EAAMU,SAASgtB,GACf1tB,EAAMU,SAASgF,GACf1F,EAAMY,UAAUgtB,GAAK5tB,EAAMY,UAAU,SACnCZ,EAAMY,UAAU,iBAAiBitB,SAAS,SAC9C,CARAv7G,EAAOC,QAAUo7G,EACjBA,EAAK52G,YAAc,OACnB42G,EAAK3rB,QAAU,kCCAf,SAAS8rB,EAAa9tB,IACnB,SAAWA,GACV,SAAS+tB,EAAY/gG,EAAQo1E,EAAQ4rB,GACnC,MAAO,CACL7mG,QAASo7E,OAAO,KAAOv1E,EAAS,gBAChCg0E,MAAO,QACPoB,OAAQ,CACN0F,UAAW,CACT3gF,QAASo7E,OAAO,MAAQv1E,EAAS,QACjCg0E,MAAO,aAETxrF,QAAS,CACP2R,QAAS,UACTi7E,OAAQA,EACRpB,MAAOgtB,IAIf,CAyBAhuB,EAAMY,UAAU,iBAAmBlwF,OAAOK,eAAe,CAAC,EAAG,WAAY,CACvEmB,MAzBF,SAAkB+7G,GAChB,IAAIttB,EAAUX,EAAMY,UAAUqtB,GAC1Bn6G,EAAY,YAAcm6G,EAC9B,MAAO,CACLthB,MAAO,CACLxlF,QAAS,eACTi7E,OAAQ,CACNoD,UAAWuoB,EAAY,IAAK,CAC1B,aAAc,CACZ5mG,QAAS,mDACTi7E,OAAQ,CACNL,YAAa,mBAGjBF,QAAS,cACT,YAAa,UAEf0F,WAAYwmB,EAAY,IAAKptB,EAAS7sF,GACtC,gBAAiBi6G,EAAY,MAAOptB,EAAS7sF,GAC7Co6G,SAAUH,EAAY,GAAIptB,EAAS7sF,KAI3C,GAID,CA7CA,CA6CEksF,EACL,CAlDA1tF,EAAOC,QAAUu7G,EACjBA,EAAa/2G,YAAc,eAC3B+2G,EAAa9rB,QAAU,sCCHvB,IAAI0rB,EAAwBr5G,EAAQ,MAChC85G,EAAiB95G,EAAQ,MAI7B,SAAS+5G,EAAKpuB,GACZA,EAAMU,SAASgtB,GACf1tB,EAAMU,SAASytB,GACfnuB,EAAMY,UAAU,SAAWZ,EAAMY,UAAU,iBAAiBitB,SAAS,QACvE,CAPAv7G,EAAOC,QAAU67G,EACjBA,EAAKr3G,YAAc,OACnBq3G,EAAKpsB,QAAU,sCCJf,IAAIqsB,EAAgBh6G,EAAQ,MAI5B,SAASi6G,EAAItuB,GACXA,EAAMU,SAAS2tB,GAEfruB,EAAMY,UAAU0tB,IAAM,CACpBC,KAAM,mBACNC,KAAM,eACNC,OAAQ,oBACRC,QAAS,eACTniG,QAAS,mBACToiG,KAAM,yBACNC,QAAS,CACPznG,QAAS,qBACTg7E,QAAQ,GAEVJ,YAAa,OACbyD,UAAW,MACXqpB,QAAS,CACP1nG,QAAS,2CACTy6E,YAAY,EACZQ,OAAQpC,EAAMY,UAAU+f,KACxB3f,MAAO,iBAGb,CA1BA1uF,EAAOC,QAAU+7G,EACjBA,EAAIv3G,YAAc,MAClBu3G,EAAItsB,QAAU,kCCCd,SAAS8sB,EAAI9uB,GACXA,EAAMY,UAAUkuB,IAAM,CACpB19F,QAAS,CACPjK,QAAS,eACTy6E,YAAY,GAEd1vE,OAAQ,CACN/K,QAAS,sCACTg7E,QAAQ,GAEVQ,SAAU,CACR,CACEx7E,QAAS,oCACTy6E,YAAY,GAEd,CACEz6E,QAAS,gBACTy6E,YAAY,GAEd,CACEz6E,QAAS,mDACTy6E,YAAY,IAGhBiB,SAAU,CACR17E,QAAS,0BACTy6E,YAAY,GAEdyC,QAAS,CACP,CACEl9E,QACE,+FACFy6E,YAAY,GAEd,uBAEF35E,MAAO,CACLd,QAAS,wCACTy6E,YAAY,EACZZ,MAAO,YAETa,QAAS,CACP16E,QACE,mvBACFy6E,YAAY,GAEdE,SACE,sEACFC,YAAa,aAEjB,CArDAzvF,EAAOC,QAAUu8G,EACjBA,EAAI/3G,YAAc,MAClB+3G,EAAI9sB,QAAU,kCCCd,SAAS+sB,EAAQ/uB,IACd,SAAWA,GAGV,IAAIgvB,EAAgB,yCAAyCx+F,OAEzDy+F,EAAmB,uBAAuBz+F,OAK9C,SAAS0+F,EAAa1+F,EAAQg0C,GAC5B,OAAO+9B,OACL/xE,EACGzY,QAAQ,UAAU,WACjB,MAAO,MAAQi3G,EAAgB,GACjC,IACCj3G,QAAQ,UAAU,WACjB,MAAO,MAAQk3G,EAAmB,GACpC,IACFzqD,GAAS,GAEb,CACA,IAAI2qD,EAAiB,CACnB9uB,IAAK,CACHl5E,QAAS,aACTi7E,OAAQ,CACNiD,KAAMrF,EAAMY,UAAUP,MAG1B,WAAY,CACVl5E,QAAS,mBACTy6E,YAAY,EACZZ,MAAO,cAETpgF,KAAM,CACJuG,QAAS,qBACTy6E,YAAY,EACZZ,MAAO,cAGTe,YAAa,gBAEXgtB,EAAW/uB,EAAMY,UAAUmuB,QAAU/uB,EAAMY,UAAUpuF,OAAO,SAAU,CACxE48G,OAAQ,CACNjoG,QAAS,2CACTy6E,YAAY,EACZQ,OAAQ,CAEN,YAAa,CACXj7E,QAAS+nG,EAAa,oCAAoC1+F,QAC1D4xE,OAAQ,CACNitB,SAAU,CACRloG,QAAS+nG,EACP,0CAA0C1+F,QAE5CoxE,YAAY,EACZQ,OAAQ+sB,GAEVh0D,IAAK,YACL4mC,YAAa,QAKjBjhF,KAAM,CACJqG,QAAS+nG,EAAa,sBAAsB1+F,OAAQ,KACpD4xE,OAAQ,CACNitB,SAAU,CACRloG,QAAS+nG,EAAa,iBAAiB1+F,QACvCoxE,YAAY,EACZQ,OAAQ+sB,GAEVptB,YAAa,WAIjB4C,MAAO,CAGLx9E,QAAS+nG,EACP,qIACG1+F,OACH,KAEF4xE,OAAQ,CACNitB,SAAU,CAGRloG,QAAS+nG,EACP,8DACG1+F,QAELoxE,YAAY,EACZQ,OAAQ+sB,GAEVptB,YAAa,WAGjBiD,OAAQ,CAEN79E,QAAS+nG,EACP,qEACG1+F,QAELoxE,YAAY,EACZQ,OAAQ,CAGN8C,KAAM,CAEJ/9E,QAAS+nG,EAAa,4BAA4B1+F,QAClDoxE,YAAY,GAGdqD,OAAQ,CAEN99E,QAAS+nG,EAAa,0BAA0B1+F,QAChDoxE,YAAY,GAGd9jF,KAAM,CAEJqJ,QAAS+nG,EAAa,2BAA2B1+F,QACjDoxE,YAAY,EACZZ,MAAO,UAGT32E,KAAM,CAEJlD,QAAS+nG,EAAa,qBAAqB1+F,QAC3CoxE,YAAY,EACZZ,MAAO,WAGTgI,SAAU,CAER7hF,QAAS+nG,EAAa,uBAAuB1+F,QAC7CoxE,YAAY,GAGd+Q,QAAS,CAEPxrF,QAAS+nG,EAAa,qBAAqB1+F,QAC3CoxE,YAAY,GAGdn5E,KAAM,CAEJtB,QAAS+nG,EAAa,qBAAqB1+F,QAC3CoxE,YAAY,GAEdytB,SAAU,CACRloG,QAAS+nG,EACP,oCAAoC1+F,QAEtCoxE,YAAY,EACZQ,OAAQ+sB,GAEVptB,YAAa,kBAIjB,WAAY,CACV56E,QAAS,mBACTi7E,OAAQ,CACNlwE,OAAQ,CACN/K,QAAS,oBACTy6E,YAAY,GAEdtuB,IAAK,CACHnsD,QAAS,YACTy6E,YAAY,GAEdG,YAAa,WAKjB92E,KAAM,CAEJ9D,QAAS+nG,EACP,uCAAuC1+F,QAEzC4xE,OAAQ,CACNh2E,KAAM,CAEJjF,QAAS+nG,EAAa,uBAAuB1+F,QAC7CoxE,YAAY,GAEdytB,SAAU,CACRloG,QAAS+nG,EAAa,aAAa1+F,QACnCoxE,YAAY,EACZQ,OAAQ+sB,GAEV77C,IAAK,CACHnsD,QAAS,QACTy6E,YAAY,GAEdG,YAAa,SAKjButB,MAAO,CACLnoG,QAAS+nG,EACP,uFACG1+F,QAEL4xE,OAAQ,CACN5xE,OAAQ,CACNrJ,QAAS+nG,EACP,kEACG1+F,QAELoxE,YAAY,EACZZ,MAAO,OAETquB,SAAU,CACRloG,QAAS+nG,EAAa,6BAA6B1+F,QACnDoxE,YAAY,EACZQ,OAAQ+sB,GAEV77C,IAAK,CACHnsD,QAAS,QACTy6E,YAAY,GAEdG,YAAa,SAIjBwtB,SAAU,CACRpoG,QAAS,YACT65E,MAAO,UACPoB,OAAQ,CACNL,YAAa,UAIjBytB,QAAS,CACProG,QAAS,sBACTi7E,OAAQ,CACNhxE,QAAS,CACPjK,QAAS,mBACTy6E,YAAY,GAEdG,YAAa,SAIjBn0E,KAAM,CACJzG,QAAS,mBACT65E,MAAO,UACPoB,OAAQ,CACNL,YAAa,aAMnB0tB,EAAeV,EAAgB,OAAE3sB,OACjCstB,EAAiB,CACnB1qB,OAAQyqB,EAAqB,OAC7BxkG,KAAMwkG,EAAmB,KACzBH,MAAOG,EAAoB,MAC3BF,SAAUE,EAAuB,SACjCD,QAASC,EAAsB,QAC/B7hG,KAAM6hG,EAAmB,MAE3BV,EAAQ5zD,IAAIh0C,QACV,qGACF,IAAIwoG,EAAqBF,EAAqB,OAAErtB,OAChDutB,EAAyB,KAAEvtB,OAASstB,EACpCC,EAA2B,OAAEvtB,OAASstB,EACtCC,EAA6B,SAAEvtB,OAASstB,EACxCC,EAA4B,QAAEvtB,OAASstB,EACvCC,EAAyB,KAAEvtB,OAASstB,EACpC,IAAIE,EAAoBH,EAAoB,MAAErtB,OAC9CwtB,EAA0B,OAAIF,EAAuB,OACrDE,EAAwB,KAAIF,EAAqB,KACjDE,EAAyB,MAAIF,EAAsB,MACnDE,EAA4B,SAAIF,EAAyB,SACzDE,EAA2B,QAAIF,EAAwB,QACvDE,EAAwB,KAAIF,EAAqB,IAClD,CA3RA,CA2RE1vB,EACL,CAhSA1tF,EAAOC,QAAUw8G,EACjBA,EAAQh4G,YAAc,UACtBg4G,EAAQ/sB,QAAU,kCCClB,SAAS6tB,EAAK7vB,IACX,SAAWA,GACV,IAAIxuF,EAAM,+CAA+Cgf,OAIzD,SAASs/F,EAAU3oG,GACjB,OAAOA,EAAQpP,QAAQ,OAAO,WAC5B,OAAOvG,CACT,GACF,CACAwuF,EAAMY,UAAUivB,KAAO,CACrBz+F,QAAS,CACPjK,QAAS,MACTg7E,QAAQ,GAEVwC,MAAO,CACLx9E,QAASo7E,OACPutB,EACE,qDAAqDt/F,QAEvD,KAEFoxE,YAAY,EACZO,QAAQ,EACRnB,MAAO,cAETxvF,IAAK,CACH2V,QAASo7E,OACPutB,EAAU,6CAA6Ct/F,QACvD,KAEFoxE,YAAY,EACZO,QAAQ,EACRnB,MAAO,YAET9uE,OAAQ,CACN/K,QACE,8EACFg7E,QAAQ,GAEVrvB,KAAM,CACJ,CAEE3rD,QACE,oFACF65E,MAAO,UAET,CAEE75E,QAAS,kCACT65E,MAAO,WAGXzqF,OACE,2KACFI,QAAS,qBACTorF,YAAa,aAEhB,CA1DA,CA0DE/B,EACL,CA/DA1tF,EAAOC,QAAUs9G,EACjBA,EAAK94G,YAAc,OACnB84G,EAAK7tB,QAAU,kCCCf,SAAS+tB,EAAO/vB,IACb,SAAWA,GACVA,EAAMY,UAAUmvB,OAAS,CACvB3+F,QAAS,CACPjK,QAAS,gDACTy6E,YAAY,GAEd,sBAAuB,KAEvBouB,UAAW,CACT7oG,QAAS,oDACTg7E,QAAQ,EACRC,OAAQ,CACNgB,MAAO,CACLj8E,QAAS,iBACTy6E,YAAY,GAEdiB,SAAU,OACV3wF,MAAO,cAGXgyF,WAAY,CACV/8E,QAAS,UACTg7E,QAAQ,GAEVU,SAAU,oCACVhB,QACE,mUACFlrF,QAAS,2BACTJ,OACE,+EACF,sBAAuB,CACrB4Q,QAAS,aACT65E,MAAO,eAETc,SACE,wFACFC,YAAa,uBAEf,IAAI4X,EACF,kEAAkEnpF,OACpEwvE,EAAMY,UAAUmvB,OAAO,uBAAyB,CAC9C5oG,QAASo7E,OACP,YAAY/xE,OAAZ,YAGE,mCAAmCA,OACnC,IACAmpF,EALF,aASE,wCAAwCnpF,OACxC,IACAmpF,EAXF,QAeF/X,YAAY,EACZO,QAAQ,EACRC,OAAQ,CACNkF,cAAe,CACbngF,QAASo7E,OAAOoX,GAChBvX,OAAQ,CACNL,YAAa,WACbwF,WAAY,CACVpgF,QAAS,UACTi7E,OAAQpC,EAAMY,UAAUmvB,UAI9B79F,OAAQ,YAGZ8tE,EAAMY,UAAUqvB,KAAOjwB,EAAMY,UAAkB,OAC/CZ,EAAMY,UAAUsvB,QAAUlwB,EAAMY,UAAkB,MACnD,CA3EA,CA2EEZ,EACL,CAhFA1tF,EAAOC,QAAUw9G,EACjBA,EAAOh5G,YAAc,SACrBg5G,EAAO/tB,QAAU,sCCHjB,IAAImuB,EAAe97G,EAAQ,KACvBmnG,EAAsBnnG,EAAQ,MAIlC,SAAS+mG,EAAIpb,GACXA,EAAMU,SAASyvB,GACfnwB,EAAMU,SAAS8a,GACd,SAAWxb,GACV,IAAIkb,EAAalb,EAAMe,KAAKnuF,MAAMotF,EAAMY,UAAUsa,YAClDlb,EAAMY,UAAUwa,IAAMpb,EAAMY,UAAUpuF,OAAO,MAAO0oG,UAC7Clb,EAAMY,UAAUwa,IAAe,iBAC/Bpb,EAAMY,UAAUwa,IAAI,oBAG3B,IAAIjgD,EAAM6kC,EAAMY,UAAUwa,IAAIjgD,IAC9BA,EAAIh0C,QAAUo7E,OACZ,qBAAqB/xE,OAAS,MAAQ2qC,EAAIh0C,QAAQqJ,OAAS,IAC3D2qC,EAAIh0C,QAAQq9C,OAEdrJ,EAAIymC,YAAa,CAClB,CAbA,CAaE5B,EACL,CApBA1tF,EAAOC,QAAU6oG,EACjBA,EAAIrkG,YAAc,MAClBqkG,EAAIpZ,QAAU,sCCJd,IAAIsM,EAA4Bj6F,EAAQ,KAIxC,SAAS+7G,EAAIpwB,GACXA,EAAMU,SAAS4N,GACd,SAAWtO,GACVA,EAAMY,UAAUwvB,IAAMpwB,EAAMY,UAAUpuF,OAAO,QAAS,CACpD4e,QAAS,sBACTywE,QACE,0NACFE,YAAa,eAEf/B,EAAMY,UAAUx+C,aAAa,MAAO,SAAU,CAC5C0/C,SAAU,iDACVa,SAAU,CACRx7E,QAAS,mDAGb64E,EAAMY,UAAUx+C,aAAa,MAAO,UAAW,CAC7C0lD,UAAW,CACT3gF,QAAS,uBACT65E,MAAO,iBAGXhB,EAAMY,UAAUx+C,aAAa,MAAO,SAAU,CAC5C,uBAAwB,CACtBj7B,QAAS,gCACTg7E,QAAQ,EACRnB,MAAO,UAET,uBAAwB,CACtB75E,QAAS,gCACTg7E,QAAQ,EACRnB,MAAO,SACPoB,OAAQ,CACNO,SAAU,CACRx7E,QAAS,wDAKV64E,EAAMY,UAAUwvB,IAAIl+F,OAC3B8tE,EAAMwB,MAAMlqC,IAAI,mBAAmB,SAAU+pC,GAE3CrB,EAAMY,UAAU,qBAAqB8N,kBACnCrN,EACA,MAHe,kBAMnB,IACArB,EAAMwB,MAAMlqC,IAAI,kBAAkB,SAAU+pC,GAC1CrB,EAAMY,UAAU,qBAAqB+N,qBAAqBtN,EAAK,MACjE,GACD,CAhDA,CAgDErB,EACL,CAtDA1tF,EAAOC,QAAU69G,EACjBA,EAAIr5G,YAAc,MAClBq5G,EAAIpuB,QAAU,kCCCd,SAASquB,EAAOrwB,GACdA,EAAMY,UAAUyvB,OAAS,CACvBj/F,QAAS,CACPjK,QAAS,MACTg7E,QAAQ,GAEV,mBAAoB,CAClBh7E,QACE,sEACFg7E,QAAQ,EACRnB,MAAO,SACPoB,OAAQ,CACNhxE,QAAS,QAGbc,OAAQ,CACN/K,QAAS,8CACTg7E,QAAQ,GAEV7uB,IAAK,CACHnsD,QACE,oEACFg7E,QAAQ,EACRC,OAAQ,CACNL,YAAa,SAGjBc,SAAU,CACR17E,QACE,kGACFi7E,OAAQ,CACN,aAAc,CACZj7E,QAAS,kBACTy6E,YAAY,GAEd50E,OAAQ,CACN7F,QAAS,UACTi7E,OAAQ,CACNL,YAAa,QAKrBxrF,OAAQ,sCACRwrF,YAAa,oBACbprF,QAAS,qBACTkrF,QAAS,CAAC,4BAA6B,8BACvC1mC,IAAK,CACHh0C,QAAS,yBACTi7E,OAAQ,CACNL,YAAa,OAInB/B,EAAMY,UAAU0vB,KAAOtwB,EAAMY,UAAkB,MACjD,CA1DAtuF,EAAOC,QAAU89G,EACjBA,EAAOt5G,YAAc,SACrBs5G,EAAOruB,QAAU,sCCHjB,IAAIsM,EAA4Bj6F,EAAQ,KAIxC,SAASk8G,EAAKvwB,GACZA,EAAMU,SAAS4N,GACftO,EAAMY,UAAU2vB,KAAO,CACrBn/F,QAAS,mBACT,WAAY,CACVjK,QAAS,iBACTy6E,YAAY,EACZZ,MAAO,WAET8G,UAAW,CACT3gF,QAAS,sBACT65E,MAAO,eAET9uE,OAAQ,CACN/K,QAAS,kCACTi7E,OAAQ,CACNL,YAAa,gBAGjBF,QAAS,sBACTlrF,QAAS,0BACTJ,OAAQ,+DACRurF,SAAU,CACR,CACE36E,QACE,wFACFy6E,YAAY,GAEd,uCAEFG,YAAa,iBAEf/B,EAAMwB,MAAMlqC,IAAI,mBAAmB,SAAU+pC,GAC3C,GAAqB,SAAjBA,EAAIxgF,SAAR,CAIAm/E,EAAMY,UAAU,qBAAqB8N,kBAAkBrN,EAAK,OAD9C,8CADd,CAGF,IACArB,EAAMwB,MAAMlqC,IAAI,kBAAkB,SAAU+pC,GAC1CrB,EAAMY,UAAU,qBAAqB+N,qBAAqBtN,EAAK,OACjE,GACF,CA7CA/uF,EAAOC,QAAUg+G,EACjBA,EAAKx5G,YAAc,OACnBw5G,EAAKvuB,QAAU,kCCCf,SAASkZ,EAAWlb,IACjB,SAAWA,GACVA,EAAMY,UAAUsa,WAAalb,EAAMY,UAAUpuF,OAAO,aAAc,CAChE,aAAc,CACZ2U,QACE,+KACFy6E,YAAY,EACZO,QAAQ,EACRC,OAAQ,MAEViC,QACE,0FAEJrE,EAAMY,UAAUsa,WAAWrZ,QAAQ9tF,KACjC,qDACA,2FACA,qCAEKisF,EAAMY,UAAUsa,WAAsB,iBACtClb,EAAMY,UAAUsa,WAAW,oBAClC,IAAIlQ,EAAahL,EAAMY,UAAUpuF,OAAO,aAAc,CAAC,UAChDw4F,EAAW,cAClBhL,EAAMY,UAAUsa,WAAW,cAAc9Y,OAAS4I,EAClDhL,EAAMY,UAAUx+C,aAAa,aAAc,WAAY,CACrDqlD,UAAW,CACTtgF,QAAS,qBACTi7E,OAAQ,CACNouB,GAAI,CACFrpG,QAAS,KACT65E,MAAO,YAET6B,SAAU,aAGd,mBAAoB,CAElB17E,QACE,yGACFg7E,QAAQ,EACRC,OAAQ,CACNS,SAAU,4DACV+G,QAAS,CACPziF,QAAS,WAET65E,MAAO,aACPoB,OAAQ4I,OAKhBhL,EAAMY,UAAUua,GAAKnb,EAAMY,UAAUsa,UACtC,CAlDA,CAkDElb,EACL,CAvDA1tF,EAAOC,QAAU2oG,EACjBA,EAAWnkG,YAAc,aACzBmkG,EAAWlZ,QAAU,CAAC,qCCCtB,SAASyuB,EAAWzwB,IACjB,SAAWA,GACV,IAAIuD,EACF,gcACFvD,EAAMY,UAAU6vB,WAAa,CAC3Br/F,QAAS,CACP,CAEEjK,QAAS,kCACTy6E,YAAY,GAEd,CAGEz6E,QAAS,2CACTy6E,YAAY,EACZO,QAAQ,GAEV,CAEEh7E,QAAS,eACTy6E,YAAY,EACZO,QAAQ,IAGZU,SAAU,CACR,CAEE17E,QACE,sEACFi7E,OAAQ,CACNlwE,OAAQ,CACN/K,QAAS,0BACTi7E,OAAQ,CACNP,QAAS0B,IAGb1B,QAAS,CACP16E,QAAS,wBAIf,CAEEA,QAAS,wCACTi7E,OAAQ,CACNlwE,OAAQ,6BAIdA,OAAQ,CACN/K,QAAS,+BACTy6E,YAAY,EACZQ,OAAQ,CACNS,SAAU,WAEVhB,QAAS0B,EACThtF,OAAQ,QACRwrF,YAAa,UAGjBF,QAAS0B,EACThtF,OAAQ,CAEN4Q,QAAS,gBACTi7E,OAAQ,CACNN,SAAU,UAGd3mC,IAAK,CACHh0C,QAAS,iBACTi7E,OAAQ,CACNL,YAAa,OAGjBA,YAAa,iBACbD,SAAU,gDAEZ9B,EAAMY,UAAU8vB,SAAW1wB,EAAMY,UAAU6vB,UAC5C,CA9EA,CA8EEzwB,EACL,CAnFA1tF,EAAOC,QAAUk+G,EACjBA,EAAW15G,YAAc,aACzB05G,EAAWzuB,QAAU,CAAC,2CCCtB,SAAS2uB,EAAa3wB,GACpBA,EAAMY,UAAU+vB,aAAe,CAC7Bv/F,QAAS,0BACTc,OAAQ,CACN/K,QAAS,iDACTg7E,QAAQ,GAEVyuB,SAAU,CACRzpG,QACE,kEACFy6E,YAAY,EACZO,QAAQ,EACRnB,MAAO,YAET2G,SAAU,CACRxgF,QAAS,+DACTy6E,YAAY,EACZO,QAAQ,EACRC,OAAQ,CACNntF,SAAU,gBACV6sF,SAAU,IACVC,YAAa,UAGjBgD,MAAO,CACL59E,QAAS,OACT65E,MAAO,YAET,aAAc,CACZ75E,QACE,0EACFy6E,YAAY,GAEdC,QACE,k2BACFgB,SAAU,wBACVlsF,QAAS,qBACTJ,OAAQ,4DAERurF,SACE,2FACFC,YAAa,gBAEf/B,EAAMY,UAAU35B,GAAK+4B,EAAMY,UAAUiwB,QAAU7wB,EAAMY,UAAU+vB,YACjE,CA/CAr+G,EAAOC,QAAUo+G,EACjBA,EAAa55G,YAAc,eAC3B45G,EAAa3uB,QAAU,CAAC,KAAM,0CCC9B,SAAS8uB,EAAQ9wB,GACfA,EAAMY,UAAUkwB,QAAU,CACxB,eAAgB,CACd3pG,QAAS,MACT65E,MAAO,UACPmB,QAAQ,GAEV,gBAAiB,CACfh7E,QAAS,SACT65E,MAAO,UACPmB,QAAQ,GAEVjwE,OAAQ,CACN/K,QAAS,kCACTi7E,OAAQ,CACNL,YAAa,eAEfI,QAAQ,GAEV,gBAAiB,CACfh7E,QACE,6TACF65E,MAAO,YAET,kBAAmB,CACjB75E,QACE,0rBACF65E,MAAO,YAET,WAAY,CACV75E,QAAS,iBACTy6E,YAAY,EACZZ,MAAO,WAET8G,UAAW,CACT3gF,QAAS,sBACT65E,MAAO,eAET6B,SACE,yfACFhB,QACE,uGACFlrF,QAAS,0BACTJ,OAAQ,+DACRurF,SAAU,CACR,CACE36E,QACE,wFACFy6E,YAAY,GAEd,uCAEFG,YAAa,gBAEjB,CAzDAzvF,EAAOC,QAAUu+G,EACjBA,EAAQ/5G,YAAc,UACtB+5G,EAAQ9uB,QAAU,kCCClB,SAASuT,EAAIvV,GAEXA,EAAMY,UAAU2U,IAAM,CACpBvpF,OAAQ,CACN7E,QAAS,wBACTg7E,QAAQ,EACRC,OAAQ,CACN,mBAAoB,OAGxBzjD,SAAU,CACRx3B,QAAS,6BACTi7E,OAAQ,CACN,qBAAsB,OAG1B2uB,MAAO,CACL5pG,QAAS,8BACTi7E,OAAQ,CACN,kBAAmB,CACjBj7E,QAAS,MACTg7E,QAAQ,GAEV,iBAAkB,OAClB6uB,KAAM,CACJ7pG,QAAS,eACTi7E,OAAQ,CACN5wF,IAAK,SACLU,MAAO,CACLiV,QAAS,cACTy6E,YAAY,OAMtBqvB,UAAW,CACT9pG,QAASo7E,OACP,QAAQ/xE,OACN,+BAA+BA,OAC9B,MACC,kEACGA,OACH,IACA,wBAAwBA,OACxB,IACF,YAAYA,OACd,KAEF4xE,OAAQ,CACN,sBAAuB,QACvB,oBAAqB,CACnBj7E,QAAS,2BACTi7E,OAAQ,CACN,sBAAuB,KACvB,YAAa,4BAGjB,eAAgB,CACdj7E,QAAS,QACTi7E,OAAQ,CACN,iBAAkB,KAClB8uB,KAAM,SAGV9iF,KAAM,CACJjnB,QAAS,UACTi7E,OAAQ,CACN,aAAc,CACZj7E,QAAS,gBACTi7E,OAAQ,CACN,uBAAwB,UACxB,aAAc,YACd,eAAgB,aAGpB,eACE,oEAKVyO,KAAM,CACJ1pF,QAAS,6BACTi7E,OAAQ,CACN,iBAAkB,QAIxBpC,EAAMY,UAAUttB,IAAM0sB,EAAMY,UAAU2U,GACxC,CA7FAjjG,EAAOC,QAAUgjG,EACjBA,EAAIx+F,YAAc,MAClBw+F,EAAIvT,QAAU,CAAC,sCCCf,SAASnqC,EAAEmoC,IACR,SAAWA,GACV,IAAIsoB,EAAoB,CACtBnhG,QAAS,UACTi7E,OAAQ,MAEVpC,EAAMY,UAAU/oC,EAAImoC,EAAMY,UAAUpuF,OAAO,QAAS,CAClD0f,OAAQ,CACN/K,QAAS,mDACT65E,MAAO,gBACPmB,QAAQ,EACRC,OAAQ,CACNkF,cAAe,CACbngF,QACE,sFACFy6E,YAAY,EACZQ,OAAQ,CACN,yBAA0B,CACxBj7E,QAAS,gBACT65E,MAAO,YAET,4BAA6B,CAC3B75E,QAAS,YACT65E,MAAO,eAET,2BAA4BsnB,MAKpC,aAAc,CACZnhG,QAAS,mDACTy6E,YAAY,GAEdC,QACE,sRACFtrF,OACE,4GACFurF,SACE,8FACFuC,QACE,sIAEJikB,EAAkBlmB,OAASpC,EAAMY,UAAU/oC,EAC3CmoC,EAAMY,UAAUx+C,aAAa,IAAK,SAAU,CAC1Cn4B,KAAM,CACJ9C,QAAS,yBAET65E,MAAO,UAGXhB,EAAMY,UAAUx+C,aAAa,IAAK,WAAY,CAC5CtqC,UAAW,CACTqP,QACE,+GACFy6E,YAAY,EACZZ,MAAO,aACPoB,OAAQ,CACNL,YAAa,SACbF,QAAS,QAGb+H,QAAS,CACPziF,QAAS,qBACTi7E,OAAQ,CACNL,YAAa,OACb,aAAc,UAIpB/B,EAAMY,UAAUx+C,aAAa,IAAK,WAAY,CAC5C,mBAAoB,CAElBj7B,QAAS,sBACTi7E,OAAQ,CACNS,SAAU,OACV+G,QAAS,CACPziF,QAAS,QACTi7E,OAAQpC,EAAMY,UAAU/oC,EAAE+xC,QAAQxH,WAK3C,CAlFA,CAkFEpC,EACL,CAvFA1tF,EAAOC,QAAUslD,EACjBA,EAAE9gD,YAAc,IAChB8gD,EAAEmqC,QAAU,kCCCZ,SAASmvB,EAAKnxB,GACZA,EAAMY,UAAUuwB,KAAOnxB,EAAMY,UAAUpuF,OAAO,QAAS,CAErD,aAAc,CACZ,CAEE2U,QAAS,kDACTi7E,OAAQ,CACNL,YAAa,OAGjB,CAEE56E,QAAS,2BACTy6E,YAAY,EACZQ,OAAQ,CACNL,YAAa,OAGjB,CAEE56E,QACE,0EACFy6E,YAAY,EACZQ,OAAQ,CACNL,YAAa,OAGjB,CAEE56E,QACE,oFACFy6E,YAAY,EACZQ,OAAQ,CACNL,YAAa,QAInBF,QACE,4kBACFgB,SAAU,iBACVtsF,OACE,2EACFurF,SACE,oEACFC,YAAa,gBACbkB,SAAU,mBAEZjD,EAAMY,UAAUx+C,aAAa,OAAQ,SAAU,CAC7C,aAAc,CACZj7B,QAAS,iBACTg7E,QAAQ,EACRnB,MAAO,UAET,kBAAmB,CACjB75E,QAAS,cACTg7E,QAAQ,EACRC,OAAQ,CACNkF,cAAe,CACbngF,QAAS,8BACTi7E,OAAQ,CACN0F,UAAW,CACT3gF,QAAS,aACT65E,MAAO,eAETqE,KAAMrF,EAAMY,UAAUuwB,OAG1Bj/F,OAAQ,cAId8tE,EAAMY,UAAUx+C,aAAa,OAAQ,UAAW,CAC9CghD,MAAO,CACLj8E,QACE,0FACFg7E,QAAQ,EACRC,OAAQ,CACN,eAAgB,CACdj7E,QAAS,4BACTy6E,YAAY,EACZZ,MAAO,iBACPoB,OAAQpC,EAAMY,UAAUwC,OAE1B,kBAAmB,MACnB,cAAe,cAIvB,CA5FA9wF,EAAOC,QAAU4+G,EACjBA,EAAKp6G,YAAc,OACnBo6G,EAAKnvB,QAAU,sCCHf,IAAIovB,EAAiB/8G,EAAQ,MAI7B,SAASg9G,EAAMrxB,GACbA,EAAMU,SAAS0wB,GACfpxB,EAAMY,UAAUywB,MAAQrxB,EAAMY,UAAUpuF,OAAO,QAAS,CACtD4e,QAAS,CACP,CACEjK,QAAS,iBACTi7E,OAAQ,CACNP,QAAS,UAGb,CACE16E,QAAS,gBACTy6E,YAAY,EACZO,QAAQ,IAGZjwE,OAAQ,CACN/K,QAAS,8BACTy6E,YAAY,EACZO,QAAQ,GAEVN,QACE,86CACFE,YAAa,aAEjB,CA5BAzvF,EAAOC,QAAU8+G,EACjBA,EAAMt6G,YAAc,QACpBs6G,EAAMrvB,QAAU,kCCChB,SAASsvB,EAAStxB,IACf,SAAWA,GACVA,EAAMY,UAAU0wB,SAAWtxB,EAAMY,UAAUpuF,OAAO,SAAU,CAAC,GAC7D,IAAI8+G,EAAW,CACb3uB,SAAU,CACRx7E,QACE,4GACFy6E,YAAY,EACZQ,OAAQ,CAAC,GAEXlwE,OAAQ,CACN/K,QAAS,kBACTg7E,QAAQ,GAEV5rF,OAAQ,UACRI,QAAS,qBACTmrF,SACE,iEACFC,YAAa,gBAEfuvB,EAAS3uB,SAASP,OAAS,CACzBlwE,OAAQo/F,EAAiB,OACzBzuB,SAAU,CACR17E,QAAS,4BACTy6E,YAAY,GAEdrrF,OAAQ+6G,EAAiB,OACzB36G,QAAS26G,EAAkB,QAC3BvvB,YAAauvB,EAAsB,aAErCtxB,EAAMY,UAAUx+C,aAAa,WAAY,UAAW,CAClDmvE,SAAU,CACRpqG,QAAS,8BACTy6E,YAAY,EACZO,QAAQ,EACRC,OAAQ,CACNL,YAAa,kBAGjB,mBAAoB,CAClB,CACE56E,QAAS,0BACTy6E,YAAY,EACZO,QAAQ,EACRnB,MAAO,WAET,CACE75E,QAAS,gBACTy6E,YAAY,EACZO,QAAQ,EACRnB,MAAO,YAGXwE,UAAW,CACTr+E,QACE,yFACFy6E,YAAY,EACZQ,OAAQ,CACNP,QAAS,CACP16E,QAAS,6CACTi7E,OAAQ,CACNL,YAAa,SAGjBsD,KAAMisB,IAGV3uB,SAAU2uB,EAAmB,WAE/BtxB,EAAMY,UAAU0wB,SAAc,IAAElvB,OAAO,cAAcA,OAAOiD,KAC1DrF,EAAMY,UAAU0wB,QACnB,CAtEA,CAsEEtxB,EACL,CA3EA1tF,EAAOC,QAAU++G,EACjBA,EAASv6G,YAAc,WACvBu6G,EAAStvB,QAAU,kCCCnB,SAASwvB,EAAQxxB,GACfA,EAAMY,UAAU4wB,QAAU,CACxBpgG,QAAS,CACPjK,QAAS,0BACTg7E,QAAQ,GAEVjwE,OAAQ,CACN/K,QAAS,sCACTg7E,QAAQ,GAEV,kBAAmB,CAEjBh7E,QAAS,YACT65E,MAAO,YAGTiC,SAAU,WACVJ,SAAU,cAEVhB,QACE,gmDAEFkE,UAAW,4DAEXxvF,OACE,4EACFurF,SAAU,uBACVC,YAAa,cAEjB,CAhCAzvF,EAAOC,QAAUi/G,EACjBA,EAAQz6G,YAAc,UACtBy6G,EAAQxvB,QAAU,kCCClB,SAASyvB,EAAKzxB,GACZA,EAAMY,UAAU6wB,KAAO,CACrBrgG,QAAS,OAET,eAAgB,CACdjK,QAAS,qCACT65E,MAAO,UAGT,kBAAmB,CACjB75E,QAAS,eACT65E,MAAO,YAET9uE,OAAQ,sCACR+wE,SAAU,uBAEVpB,QACE,mzBACFlrF,QAAS,sBACTksF,SAAU,YAEVtsF,OAAQ,+DACRurF,SACE,+FACFC,YAAa,gBAEjB,CA7BAzvF,EAAOC,QAAUk/G,EACjBA,EAAK16G,YAAc,OACnB06G,EAAKzvB,QAAU,kCCCf,SAAS0vB,EAAI1xB,GACXA,EAAMY,UAAU8wB,IAAM,CACpBx/F,OAAQ,2CACRd,QAAS,MACTyxE,SAAU,cACVhB,QACE,4xJACFwC,QACE,40RACF9tF,OAAQ,oCACRurF,SACE,4EACFC,YAAa,eAEjB,CAjBAzvF,EAAOC,QAAUm/G,EACjBA,EAAI36G,YAAc,MAClB26G,EAAI1vB,QAAU,kCCCd,SAAS2vB,EAAY3xB,GACnBA,EAAMY,UAAU,gBAAkB,CAChCxvE,QAAS,CACPjK,QAAS,yDACTi7E,OAAQ,CACNP,QAAS,UAGb2D,UAAW,CACTr+E,QACE,oGACF65E,MAAO,WACPmB,QAAQ,GAEVjwE,OAAQ,CACN/K,QAAS,+EACTg7E,QAAQ,GAEVrvB,KAAM,CACJ3rD,QACE,qKACF65E,MAAO,UAETzqF,OACE,+EACFI,QAAS,8BACTkrF,QACE,6gCACFC,SAAU,0CACVC,YAAa,cAEf/B,EAAMY,UAAUr+B,GAAKy9B,EAAMY,UAAU,gBACrCZ,EAAMY,UAAUgxB,IAAM5xB,EAAMY,UAAU,eACxC,CApCAtuF,EAAOC,QAAUo/G,EACjBA,EAAY56G,YAAc,cAC1B46G,EAAY3vB,QAAU,kCCCtB,SAAS6vB,EAAW7xB,GAClBA,EAAMY,UAAUixB,WAAa,CAC3BzgG,QAAS,8BACTc,OAAQ,CACN/K,QACE,yEACFg7E,QAAQ,GAEVQ,SAAU,QACVoC,MAAO,CACL59E,QAAS,OACT65E,MAAO,YAITa,QACE,+JACFtrF,OACE,iFACFI,QAAS,yBACTorF,YAAa,kBAGbD,SACE,qEAEN,CA7BAxvF,EAAOC,QAAUs/G,EACjBA,EAAW96G,YAAc,aACzB86G,EAAW7vB,QAAU,kCCCrB,SAAS8vB,EAAK9xB,GACZA,EAAMY,UAAUkxB,KAAO,CACrB1gG,QAAS,CACP,iBACA,CACEjK,QAAS,OACTg7E,QAAQ,IAGZjwE,OAAQ,CACN/K,QAAS,yBACTg7E,QAAQ,GAEVN,QAAS,CACP,CACE16E,QAAS,sBACTi7E,OAAQ,CACNN,SAAU,MAGd,CACE36E,QACE,ibACFi7E,OAAQ,CACNL,YAAa,OAGjB,4QAEFY,SAAU,kCACVpsF,OACE,kNACFwrF,YAAa,OAEjB,CArCAzvF,EAAOC,QAAUu/G,EACjBA,EAAK/6G,YAAc,OACnB+6G,EAAK9vB,QAAU,kCCCf,SAAS+vB,EAAO/xB,IACb,SAAWA,GACV,IAAInsF,EAAK,wCAAwC2c,OAC7Cxc,EACF,MACA,yCAAyCwc,OACzC,IACA,gDAAgDA,OAChD,IACA,kCAAkCA,OAClC3c,EACA,gCAAgC2c,OAChC,IACA,aAAaA,OACXw6E,EAAa,CAAC,EAwFlB,IAAK,IAAIx5F,KAvFTwuF,EAAMY,UAAU,WAAa,CAC3BxvE,QAAS,CACPjK,QAAS,0BACTg7E,QAAQ,GAEVjwE,OAAQ,CACN/K,QAAS,UACTg7E,QAAQ,GAEV9iE,UAAW,CACTlY,QAASo7E,OAAO,mBAAmB/xE,OAAS3c,GAC5C+tF,YAAY,GAEd,aAAc,CACZ,CACEz6E,QACE,iEACFy6E,YAAY,EACZQ,OAAQ4I,GAEV,CACE7jF,QAASo7E,OACP,4DAA4D/xE,OAC1Dxc,GAEJ4tF,YAAY,EACZQ,OAAQ4I,GAEV,CAEE7jF,QAASo7E,OACP,IAAM,gBAAgB/xE,OAAS3c,EAAK,UAAU2c,OAAS,IAAMxc,GAE/D4tF,YAAY,EACZQ,OAAQ4I,GAEV,CAEE7jF,QAASo7E,OAAO,mBAAmB/xE,OAASxc,GAC5C4tF,YAAY,EACZQ,OAAQ4I,GAEV,CACE7jF,QAASo7E,OACP,sFACG/xE,OAAS3c,GAEd+tF,YAAY,GAEd,CAEEz6E,QAASo7E,OAAO,SAAS/xE,OAAS3c,GAClC+tF,YAAY,GAEdW,OAAO1uF,EAAK,mCAAmC2c,QAC/C,CACErJ,QAASo7E,OAAO,iCAAiC/xE,OAAS3c,GAC1D+tF,YAAY,GAEd,CAEEz6E,QAASo7E,OACPvuF,EACE,MACA,mBAAmBwc,OACnB3c,EACA,aAAa2c,OACb,KAEJ4xE,OAAQ4I,IAGZ3G,QACE,8OACFxC,QAAS,CACP,oOACA,gJAEFlrF,QAAS,qBACTJ,OAAQ,CACN4Q,QACE,2FACFy6E,YAAY,GAEdE,SAAU,iBACVC,YAAa,gBAEC/B,EAAMY,UAAU,WAClB,eAARpvF,IACFw5F,EAAWx5F,GAAOwuF,EAAMY,UAAU,WAAWpvF,IAGjDwuF,EAAMY,UAAkB,OAAIZ,EAAMY,UAAU,UAC7C,CA3GA,CA2GEZ,EACL,CAhHA1tF,EAAOC,QAAUw/G,EACjBA,EAAOh7G,YAAc,SACrBg7G,EAAO/vB,QAAU,kCCCjB,SAASgwB,EAAKhyB,GACZA,EAAMY,UAAUoxB,KAAOhyB,EAAMY,UAAUpuF,OAAO,SAAU,CACtD,gBAAiB,CACf2U,QAAS,4BACTy6E,YAAY,EACZZ,MAAO,WAETge,QAAS,CACP73F,QAAS,sBACTi7E,OAAQ,CACNL,YAAa,UACbgE,UAAW,OAGfksB,SAAU,CAER9qG,QAAS,gBACTi7E,OAAQ,CACN,cAAe,CACbj7E,QAAS,mBACTy6E,YAAY,EACZZ,MAAO,CAAC,OAAQ,WAElBkE,KAAM,CACJ/9E,QAAS,8BACTy6E,YAAY,GAEdqD,OAAQ,CACN99E,QAAS,6BACTy6E,YAAY,GAEdG,YAAa,cAGjBhgC,GAAI,CACF56C,QAAS,UACT65E,MAAO,eAET1tB,IAAK,CACH,iEACA,uBAEFqvB,SAAU,CACR,aAEA,gBACA,eAEFzsC,OAAQ,CAAC,eAAgB,UAKzB,YAAa,CACX/uC,QAAS,qCACTy6E,YAAY,EACZQ,OAAQ,CACN,YAAa,CACXj7E,QAAS,MACT65E,MAAO,eAETqE,KAAMrF,EAAMY,UAAUR,OAAY,IAAEgC,SAGxCL,YAAa,yCAEf/B,EAAMY,UAAUx+C,aAAa,OAAQ,MAAO,CAE1C8vE,OAAQ,CACN/qG,QAAS,8CACTi7E,OAAQ,CACNjnC,IAAK,CACHh0C,QAAS,4DACTi7E,OAAQpC,EAAMY,UAAUR,OAAY,IAAEgC,WAKhD,CAjFA9vF,EAAOC,QAAUy/G,EACjBA,EAAKj7G,YAAc,OACnBi7G,EAAKhwB,QAAU,kCCCf,SAASmwB,EAAQnyB,GACfA,EAAMY,UAAUuxB,QAAU,CAExB/gG,QAAS,0DACTc,OAAQ,CACN/K,QAAS,wBACTg7E,QAAQ,GAEVN,QACE,4HACFtgB,QAAS,CACPp6D,QAAS,aACT65E,MAAO,cAEToxB,MAAO,CACLjrG,QAAS,WACT65E,MAAO,SAET,kBAAmB,CACjB75E,QAAS,QACT65E,MAAO,YAETrqF,QAAS,qBACTJ,OACE,iGACFurF,SACE,6IACFC,YAAa,iBAEf/B,EAAMY,UAAUyxB,YAAcryB,EAAMY,UAAUuxB,QAC9CnyB,EAAMY,UAAU5F,GAAKgF,EAAMY,UAAUuxB,QACrCnyB,EAAMY,UAAU5iC,GAAKgiC,EAAMY,UAAUuxB,OACvC,CAnCA7/G,EAAOC,QAAU4/G,EACjBA,EAAQp7G,YAAc,UACtBo7G,EAAQnwB,QAAU,CAAC,cAAe,KAAM,qCCCxC,SAASswB,EAAKtyB,GAEZA,EAAMY,UAAU0xB,KAAO,CAGrBlhG,QAAS,CACP,CAGEjK,QACE,iHACFg7E,QAAQ,GAEV,CACEh7E,QAAS,mBACTy6E,YAAY,EACZO,QAAQ,IAKZ,uBAAwB,CACtBh7E,QAAS,iBACTg7E,QAAQ,EACRnB,MAAO,UAGT,iBAAkB,KAElBqX,SAAU,CACRlxF,QAAS,UACTg7E,QAAQ,EACRnB,MAAO,WAGTlpF,UAAW,CAITqP,QAAS,qBACT65E,MAAO,WAET,aAAc,CACZ,CAGE75E,QAAS,kBACTy6E,YAAY,GAGd,sBAGFqB,SAAU,qBACV2Y,KAAM,CACJz0F,QAAS,WACT65E,MAAO,WAETa,QACE,gHACFlrF,QAAS,qBACTJ,OAAQ,kDAERssF,SAAU,0BACVf,SAAU,+CACVC,YAAa,iBAEf/B,EAAMY,UAAU0xB,KAAK,kBAAoB,CAEvCnrG,QACE,qFACFy6E,YAAY,EACZO,QAAQ,EACRC,OAAQ,CACNkF,cAAe,CAEbngF,QACE,kEACFy6E,YAAY,EACZQ,OAAQ,CACNmF,WAAY,CACVpgF,QAAS,uBACTy6E,YAAY,EACZQ,OAAQpC,EAAMY,UAAU0xB,MAE1B,4BAA6B,CAC3BnrG,QAAS,WACT65E,MAAO,iBAIb9uE,OAAQ,WAGd,CAjGA5f,EAAOC,QAAU+/G,EACjBA,EAAKv7G,YAAc,OACnBu7G,EAAKtwB,QAAU,kCCCf,SAASuwB,EAAMvyB,IACZ,SAAWA,GACVA,EAAMY,UAAU2xB,MAAQvyB,EAAMY,UAAUpuF,OAAO,SAAU,CACvDywF,SAAU,CACR97E,QAAS,4CACTi7E,OAAQ,CACNL,YAAa,CACX56E,QAAS,QAIfw7E,SAAU,CACRx7E,QAAS,+BACTi7E,OAAQ,CACNL,YAAa,CACX56E,QAAS,QAEX26E,SAAU,CACR36E,QAAS,kBAIf,kBAAmB,CACjBA,QACE,wMACFi7E,OAAQ,CACNO,SAAU,CACRx7E,QAAS,mCACTi7E,OAAQ,CACNL,YAAa,CACX56E,QAAS,SAEX26E,SAAU,CACR36E,QAAS,kBAIf46E,YAAa,CACX56E,QAAS,mBAGb65E,MAAO,YAET,iBAAkB,CAChB75E,QACE,gNACFi7E,OAAQ,CACNL,YAAa,CACX56E,QAAS,eAGb65E,MAAO,YAET,mBAAoB,CAClB75E,QAAS,+CACTi7E,OAAQ,CACNL,YAAa,CACX56E,QAAS,iCACTi7E,OAAQ,CACNjnC,IAAK,CACHh0C,QAAS,UAKjB65E,MAAO,YAET,uBAAwB,CACtB75E,QACE,mEACFi7E,OAAQ,CACNL,YAAa,CACX56E,QAAS,iCACTi7E,OAAQ,CACNjnC,IAAK,CACHh0C,QAAS,SAIfrP,UAAW,CACTqP,QAAS,WACTi7E,OAAQ,CACNL,YAAa,CACX56E,QAAS,MAGb65E,MAAO,YAGXA,MAAO,YAET,4BAA6B,CAC3B75E,QAAS,gBACTi7E,OAAQ,CACNL,YAAa,CACX56E,QAAS,UAGb65E,MAAO,YAET,wBAAyB,CACvB75E,QAAS,eACTi7E,OAAQ,CACNL,YAAa,CACX56E,QAAS,WAGb65E,MAAO,cAGXhB,EAAMY,UAAUx+C,aACd,SACA,cACA,CACEugD,SAAU3C,EAAMY,UAAU2xB,MAAM,mBAAmBnwB,OAAiB,UAEtEpC,EAAMY,UAAU2xB,MAAM,mBAExBvyB,EAAMY,UAAU4xB,UAAYxyB,EAAMY,UAAU2xB,KAC7C,CAtHA,CAsHEvyB,EACL,CA3HA1tF,EAAOC,QAAUggH,EACjBA,EAAMx7G,YAAc,QACpBw7G,EAAMvwB,QAAU,CAAC,4CCCjB,SAASywB,EAAOzyB,IACb,SAAWA,GAOV,SAAS0yB,EAAiB9xG,EAAM+xG,GAC1B3yB,EAAMY,UAAUhgF,IAClBo/E,EAAMY,UAAUx+C,aAAaxhC,EAAM,UAAW,CAC5C,cAAe+xG,GAGrB,CACA,IAAIx3D,EAAM6kC,EAAMY,UAAUR,OAAOjlC,IAC7By3D,EAAkB,CACpBzrG,QAAS,WACTg7E,QAAQ,EACRnB,MAAO,UACPoB,OAAQ,CACNjnC,IAAKA,IAGL03D,EAAiB,CACnB1rG,QAAS,QACTg7E,QAAQ,EACRnB,MAAO,UACPoB,OAAQ,CACNjnC,IAAKA,IAGTu3D,EAAiB,SAAUE,GAC3BF,EAAiB,SAAUE,GAC3BF,EAAiB,QAASG,EAC3B,CAlCA,CAkCE7yB,EACL,CAvCA1tF,EAAOC,QAAUkgH,EACjBA,EAAO17G,YAAc,SACrB07G,EAAOzwB,QAAU,kCCCjB,SAAS8wB,EAAK9yB,GACZA,EAAMY,UAAUkyB,KAAO,CACrB1hG,QAAS,CACPjK,QAAS,sBACTg7E,QAAQ,GAEVjwE,OAAQ,CACN/K,QAAS,iBACTg7E,QAAQ,GAEV5rF,OAAQ,CAAC,6CAA8C,qBACvDivF,UAAW,CACTr+E,QAAS,sCACT65E,MAAO,YAETa,QACE,ktBACFC,SACE,6FACFC,YAAa,WAEjB,CAxBAzvF,EAAOC,QAAUugH,EACjBA,EAAK/7G,YAAc,OACnB+7G,EAAK9wB,QAAU,iCCCf,SAAS+wB,EAAO/yB,IACb,SAAWA,GACVA,EAAMY,UAAUmyB,OAAS/yB,EAAMY,UAAUpuF,OAAO,SAAU,CACxD,iBAAkB,CAChB2U,QAAS,iBACTg7E,QAAQ,EACRnB,MAAO,WAET9uE,OAAQ,CACN/K,QAAS,iCACTg7E,QAAQ,GAEV6wB,UAAW,CACT7rG,QAAS,YACT65E,MAAO,UAET2B,SAAU,YACVl5E,KAAM,CACJtC,QACE,4IACFy6E,YAAY,EACZZ,MAAO,YAET,mBAAoB,CAClB75E,QACE,sHACFy6E,YAAY,EACZZ,MAAO,YAETa,QAAS,CACP16E,QACE,ocACFy6E,YAAY,GAEdiB,SAAU,8BACV,iBAAkB,CAChB17E,QAAS,iCACTy6E,YAAY,EACZZ,MAAO,OAET,mBAAoB,CAClB75E,QAAS,mCACTy6E,YAAY,EACZZ,MAAO,aAETqD,QAAS,CACPl9E,QACE,shBACFy6E,YAAY,GAEdrrF,OAAQ,gCACRurF,SAAU,CACR,qCACA,CACE36E,QAAS,cACTy6E,YAAY,IAGhBG,YAAa,kBAEf/B,EAAMY,UAAUmyB,OAAO53D,IAAIh0C,QACzB,uJACF64E,EAAMY,UAAUmyB,OAAY,IAAE3wB,OAAO,cAAcj7E,QACjD,kGACF64E,EAAMY,UAAUmyB,OAAY,IAAE3wB,OAAO,cAAcA,OAAoB,YACrE,SACFpC,EAAMY,UAAUmyB,OAAY,IAAE3wB,OAAO,cAAcA,OAAmB,WAAI,CAExEj7E,QAAS,iDACTi7E,OAAQpC,EAAMY,UAAUmyB,OACxB/xB,MAAO,mBAET,IAAImb,EAAiB,SAAjBA,EAA2BrlF,GAC7B,MAAqB,kBAAVA,EACFA,EAEoB,kBAAlBA,EAAMthB,QACRshB,EAAMthB,QAERshB,EAAMthB,QAAQ8oF,IAAI6d,GAAgBrmG,KAAK,GAChD,EACI4kG,EAAa,SAAbA,EAAuBvZ,GAEzB,IADA,IAAIib,EAAa,GACRtpG,EAAI,EAAGA,EAAIquF,EAAOpuF,OAAQD,IAAK,CACtC,IAAIgkB,EAAQqqE,EAAOruF,GACfupG,GAAiB,EAsDrB,GArDqB,kBAAVvlF,IAEQ,QAAfA,EAAM9iB,MACN8iB,EAAMthB,QAAQ,IACY,QAA1BshB,EAAMthB,QAAQ,GAAGxB,KAG2B,OAAxC8iB,EAAMthB,QAAQ,GAAGA,QAAQ,GAAGA,QAG5B4mG,EAAWrpG,OAAS,GACpBqpG,EAAWA,EAAWrpG,OAAS,GAAGkB,UAChCkoG,EAAerlF,EAAMthB,QAAQ,GAAGA,QAAQ,KAG1C4mG,EAAW1rE,MAG2C,OAApD5Z,EAAMthB,QAAQshB,EAAMthB,QAAQzC,OAAS,GAAGyC,SAI1C4mG,EAAWroG,KAAK,CACdE,QAASkoG,EAAerlF,EAAMthB,QAAQ,GAAGA,QAAQ,IACjD8mG,aAAc,MAKpBF,EAAWrpG,OAAS,GACL,gBAAf+jB,EAAM9iB,MACY,MAAlB8iB,EAAMthB,UACJ2rF,EAAOruF,EAAI,IACY,gBAAvBquF,EAAOruF,EAAI,GAAGkB,MACY,MAA1BmtF,EAAOruF,EAAI,GAAG0C,SACd2rF,EAAOruF,EAAI,IACY,eAAvBquF,EAAOruF,EAAI,GAAGkB,MACY,MAA1BmtF,EAAOruF,EAAI,GAAG0C,QAKhB4mG,EAAWrpG,OAAS,GACpBqpG,EAAWA,EAAWrpG,OAAS,GAAGupG,aAAe,GAClC,gBAAfxlF,EAAM9iB,MACY,MAAlB8iB,EAAMthB,QAGN4mG,EAAWA,EAAWrpG,OAAS,GAAGupG,eACV,YAAfxlF,EAAM9iB,OACfqoG,GAAiB,GAVjBD,EAAWA,EAAWrpG,OAAS,GAAGupG,iBAalCD,GAAmC,kBAAVvlF,IAEzBslF,EAAWrpG,OAAS,GAC+B,IAAnDqpG,EAAWA,EAAWrpG,OAAS,GAAGupG,aAClC,CAGA,IAAIC,EAAYJ,EAAerlF,GAE7BhkB,EAAIquF,EAAOpuF,OAAS,IACM,kBAAlBouF,EAAOruF,EAAI,IACM,eAAvBquF,EAAOruF,EAAI,GAAGkB,QAEhBuoG,GAAaJ,EAAehb,EAAOruF,EAAI,IACvCquF,EAAOzpD,OAAO5kC,EAAI,EAAG,IAGrBA,EAAI,IACsB,kBAAlBquF,EAAOruF,EAAI,IACM,eAAvBquF,EAAOruF,EAAI,GAAGkB,QAEhBuoG,EAAYJ,EAAehb,EAAOruF,EAAI,IAAMypG,EAC5Cpb,EAAOzpD,OAAO5kC,EAAI,EAAG,GACrBA,KAEE,QAAQ8E,KAAK2kG,GACfpb,EAAOruF,GAAKypG,EAEZpb,EAAOruF,GAAK,IAAIktF,EAAMoB,MACpB,aACAmb,EACA,KACAA,EAGN,CAEEzlF,EAAMthB,SAAoC,kBAAlBshB,EAAMthB,SAChCklG,EAAW5jF,EAAMthB,QAErB,CACF,EACAwqF,EAAMwB,MAAMlqC,IAAI,kBAAkB,SAAU+pC,GACrB,WAAjBA,EAAIxgF,UAGR65F,EAAWrZ,EAAIF,OACjB,GACD,CA1LA,CA0LEnB,EACL,CA/LA1tF,EAAOC,QAAUwgH,EACjBA,EAAOh8G,YAAc,SACrBg8G,EAAO/wB,QAAU,kCCCjB,SAAS2e,EAAK3gB,IACX,SAAWA,GAGV,IAAIizB,EAAgB,mBAChB93D,EACF,mFACEjnD,EACF,MACAinD,EAAI3qC,OACJ,YACAyiG,EAAcziG,OACd,MACAyiG,EAAcziG,OACd,YACA2qC,EAAI3qC,OACJ,MAGE0iG,EACF,kJAAkJ1iG,OAAOzY,QACvJ,YACA,WACE,MAAO,2EACJyY,MACL,IAEA0B,EAAS,8CAA8C1B,OAO3D,SAAS2iG,EAAmBjhH,EAAOsyD,GACjCA,GAASA,GAAS,IAAIzsD,QAAQ,KAAM,IAAM,IAC1C,IAAIoP,EACF,yFAAyFqJ,OACtFzY,QAAQ,aAAa,WACpB,OAAO7D,CACT,IACC6D,QAAQ,cAAc,WACrB,OAAO7F,CACT,IACJ,OAAOqwF,OAAOp7E,EAASq9C,EACzB,CACAw7B,EAAMY,UAAU+f,KAAO,CACrBrN,OAAQ,CACNnsF,QAASo7E,OACP,6FAA6F/xE,OAAOzY,QAClG,aACA,WACE,OAAO7D,CACT,KAGJ0tF,YAAY,EACZZ,MAAO,UAET5vE,QAAS,MACT5f,IAAK,CACH2V,QAASo7E,OACP,kEAAkE/xE,OAC/DzY,QAAQ,aAAa,WACpB,OAAO7D,CACT,IACC6D,QAAQ,YAAY,WACnB,MAAO,MAAQm7G,EAAW,IAAMhhG,EAAS,GAC3C,KAEJ0vE,YAAY,EACZO,QAAQ,EACRnB,MAAO,UAETwE,UAAW,CACTr+E,QAAS,gBACTy6E,YAAY,EACZZ,MAAO,aAETjuB,SAAU,CACR5rD,QAASgsG,EACP,sJACG3iG,QAELoxE,YAAY,EACZZ,MAAO,UAETrqF,QAAS,CACPwQ,QAASgsG,EAAmB,aAAa3iG,OAAQ,KACjDoxE,YAAY,EACZZ,MAAO,aAET4a,KAAM,CACJz0F,QAASgsG,EAAmB,SAAS3iG,OAAQ,KAC7CoxE,YAAY,EACZZ,MAAO,aAET9uE,OAAQ,CACN/K,QAASgsG,EAAmBjhG,GAC5B0vE,YAAY,EACZO,QAAQ,GAEV5rF,OAAQ,CACN4Q,QAASgsG,EACP,iFACG3iG,OACH,KAEFoxE,YAAY,GAEdzmC,IAAKA,EACL4qC,UAAWktB,EACXlxB,YAAa,6BAEf/B,EAAMY,UAAUwyB,IAAMpzB,EAAMY,UAAU+f,IACvC,CAlHA,CAkHE3gB,EACL,CAvHA1tF,EAAOC,QAAUouG,EACjBA,EAAK5pG,YAAc,OACnB4pG,EAAK3e,QAAU,CAAC,sCCChB,SAASqxB,EAAKrzB,GACZA,EAAMY,UAAUyyB,KAAO,CAGrBjiG,QAAS,0BACTc,OAAQ,CACN/K,QAAS,4BACTg7E,QAAQ,GAEVN,QAAS,CACP16E,QAAS,oCACTy6E,YAAY,GAEdviE,UAAW,CACTlY,QAAS,0BACTy6E,YAAY,GAEdjrF,QAAS,qBACTmrF,SAAU,KACVC,YAAa,SAEjB,CAxBAzvF,EAAOC,QAAU8gH,EACjBA,EAAKt8G,YAAc,OACnBs8G,EAAKrxB,QAAU,kCCCf,SAASsxB,EAAItzB,IACV,SAAWA,GACV,SAASokB,EAAQv0F,GACf,OAAO,WACL,OAAOA,CACT,CACF,CACA,IAAIgyE,EACF,iXACE0xB,EAAa,SAAW1xB,EAAQrxE,OAAS,kBACzCgjG,EAAQ,oCAAoChjG,OAW5CmW,EACF,sBAVA,0GAA0GnW,OAAOzY,QAC/G,WACAqsG,EAAQoP,IAQ+B,SALzC,2DAA2DhjG,OAAOzY,QAChE,QACAqsG,EAAQmP,IAGwD,KAiBpEvzB,EAAMY,UAAU0yB,IAAM,CACpBliG,QAAS,CACP,CACEjK,QAAS,aACT65E,MAAO,eAET,WAEF9uE,OAAQ,CACN,CAEE/K,QAAS,oCACTy6E,YAAY,EACZO,QAAQ,GAEV,CAEEh7E,QAAS,iDACTy6E,YAAY,EACZO,QAAQ,IAGZl4E,KAAM,CAEJ9C,QACE,2FACFy6E,YAAY,EACZO,QAAQ,GAEVkC,QAAS,wBACT1jF,MAAO,CACLwG,QACE,4EACFy6E,YAAY,GAEd,aAAc,CAEZ,8EACA,CAIEz6E,QAASo7E,OACP,0EAA0E/xE,OACvEzY,QAAQ,UAAWqsG,EAAQz9E,IAC3B5uB,QAAQ,WAAYqsG,EAAQoP,KAEjC5xB,YAAY,EACZQ,OAAQ,MAEV,CAEEj7E,QAASo7E,OACP,uCAAuC/xE,OACpCzY,QAAQ,UAAWqsG,EAAQz9E,IAC3B5uB,QAAQ,WAAYqsG,EAAQoP,KAEjC5xB,YAAY,EACZQ,OAAQ,OAGZ,eAAgB,CACdj7E,QACE,oKACF65E,MAAO,WAETa,QAASA,EACTgB,SAAU,uBACVtsF,OACE,mHACFI,QAAS,qBACTmrF,SACE,6EACFC,YAAa,iBAEf/B,EAAMY,UAAU0yB,IAAI,cAAc59E,SAAQ,SAAUnkC,GAC/B,OAAfA,EAAI6wF,SACN7wF,EAAI6wF,OAASpC,EAAMY,UAAU0yB,IAEjC,GACD,CAtHA,CAsHEtzB,EACL,CA3HA1tF,EAAOC,QAAU+gH,EACjBA,EAAIv8G,YAAc,MAClBu8G,EAAItxB,QAAU,yBCFd,IAgBIhC,EAAS,SAAUyzB,GAGtB,IAAI7yG,EAAO,0CACP8yG,EAAW,EAGXC,EAAmB,CAAC,EAGpB16G,EAAI,CAsBPgnF,OAAQwzB,EAAMzzB,OAASyzB,EAAMzzB,MAAMC,OAsBnCC,4BAA6BuzB,EAAMzzB,OAASyzB,EAAMzzB,MAAME,4BAWxDa,KAAM,CACL9uE,OAAQ,SAASA,EAAOkvE,GACvB,OAAIA,aAAkBC,EACd,IAAIA,EAAMD,EAAOntF,KAAMie,EAAOkvE,EAAO3rF,SAAU2rF,EAAOH,OACnD5vF,MAAMF,QAAQiwF,GACjBA,EAAO7C,IAAIrsE,GAEXkvE,EAAOppF,QAAQ,KAAM,SAASA,QAAQ,KAAM,QAAQA,QAAQ,UAAW,IAEhF,EAkBA/D,KAAM,SAAUoxF,GACf,OAAO10F,OAAOC,UAAUG,SAASO,KAAK+zF,GAAGzxF,MAAM,GAAI,EACpD,EAQAigH,MAAO,SAAUriH,GAIhB,OAHKA,EAAU,MACdb,OAAOK,eAAeQ,EAAK,OAAQ,CAAEW,QAASwhH,IAExCniH,EAAU,IAClB,EAYAqB,MAAO,SAASihH,EAAUzuB,EAAG0uB,GAG5B,IAAIlhH,EAAWiB,EACf,OAHAigH,EAAUA,GAAW,CAAC,EAGd76G,EAAE8nF,KAAK/sF,KAAKoxF,IACnB,IAAK,SAEJ,GADAvxF,EAAKoF,EAAE8nF,KAAK6yB,MAAMxuB,GACd0uB,EAAQjgH,GACX,OAAOigH,EAAQjgH,GAKhB,IAAK,IAAIrC,KAHToB,EAA4C,CAAC,EAC7CkhH,EAAQjgH,GAAMjB,EAEEwyF,EACXA,EAAEx0F,eAAeY,KACpBoB,EAAMpB,GAAOqiH,EAAUzuB,EAAE5zF,GAAMsiH,IAIjC,OAAO,EAER,IAAK,QAEJ,OADAjgH,EAAKoF,EAAE8nF,KAAK6yB,MAAMxuB,GACd0uB,EAAQjgH,GACJigH,EAAQjgH,IAEhBjB,EAAQ,GACRkhH,EAAQjgH,GAAMjB,EAE2BwyF,EAAK1vD,SAAQ,SAAUmiB,EAAG/kD,GAClEF,EAAME,GAAK+gH,EAAUh8D,EAAGi8D,EACzB,IAEO,GAER,QACC,OAAO1uB,EAEV,EAUA2uB,YAAa,SAAU/iF,GACtB,KAAOA,GAAS,CACf,IAAI/f,EAAIrQ,EAAKlN,KAAKs9B,EAAQl9B,WAC1B,GAAImd,EACH,OAAOA,EAAE,GAAGlc,cAEbi8B,EAAUA,EAAQgjF,aACnB,CACA,MAAO,MACR,EASAC,YAAa,SAAUjjF,EAASnwB,GAG/BmwB,EAAQl9B,UAAYk9B,EAAQl9B,UAAUiE,QAAQwqF,OAAO3hF,EAAM,MAAO,IAIlEowB,EAAQkjF,UAAU58D,IAAI,YAAcz2C,EACrC,EASAszG,cAAe,WACd,GAAwB,qBAAblhG,SACV,OAAO,KAER,GAAI,kBAAmBA,SACtB,OAA2BA,SAAsB,cAOlD,IACC,MAAM,IAAI5c,KAmBX,CAlBE,MAAOua,GAQR,IAAIne,GAAO,qCAAqCiB,KAAKkd,EAAI4f,QAAU,IAAI,GACvE,GAAI/9B,EAAK,CACR,IAAI2hH,EAAUnhG,SAASohG,qBAAqB,UAC5C,IAAK,IAAIvhH,KAAKshH,EACb,GAAIA,EAAQthH,GAAGL,KAAOA,EACrB,OAAO2hH,EAAQthH,EAGlB,CACA,OAAO,IACR,CACD,EAqBAwhH,SAAU,SAAUtjF,EAASl9B,EAAWygH,GAGvC,IAFA,IAAIC,EAAK,MAAQ1gH,EAEVk9B,GAAS,CACf,IAAIkjF,EAAYljF,EAAQkjF,UACxB,GAAIA,EAAUvyE,SAAS7tC,GACtB,OAAO,EAER,GAAIogH,EAAUvyE,SAAS6yE,GACtB,OAAO,EAERxjF,EAAUA,EAAQgjF,aACnB,CACA,QAASO,CACV,GAUD3zB,UAAW,CAIVgV,MAAO+d,EACPc,UAAWd,EACXvnG,KAAMunG,EACNe,IAAKf,EA8BLnhH,OAAQ,SAAUqB,EAAI8gH,GACrB,IAAI/zG,EAAO3H,EAAE8nF,KAAKnuF,MAAMqG,EAAE2nF,UAAU/sF,IAEpC,IAAK,IAAIrC,KAAOmjH,EACf/zG,EAAKpP,GAAOmjH,EAAMnjH,GAGnB,OAAOoP,CACR,EA6EAwhC,aAAc,SAAUggD,EAAQwY,EAAQga,EAAQC,GAE/C,IAAIl0B,GADJk0B,EAAOA,GAA4B57G,EAAE2nF,WAClBwB,GAEf7wE,EAAM,CAAC,EAEX,IAAK,IAAIuF,KAAS6pE,EACjB,GAAIA,EAAQ/vF,eAAekmB,GAAQ,CAElC,GAAIA,GAAS8jF,EACZ,IAAK,IAAIka,KAAYF,EAChBA,EAAOhkH,eAAekkH,KACzBvjG,EAAIujG,GAAYF,EAAOE,IAMrBF,EAAOhkH,eAAekmB,KAC1BvF,EAAIuF,GAAS6pE,EAAQ7pE,GAEvB,CAGD,IAAIi+F,EAAMF,EAAKzyB,GAUf,OATAyyB,EAAKzyB,GAAU7wE,EAGftY,EAAE2nF,UAAUo0B,IAAI/7G,EAAE2nF,WAAW,SAAUpvF,EAAKU,GACvCA,IAAU6iH,GAAOvjH,GAAO4wF,IAC3Bv0E,KAAKrc,GAAO+f,EAEd,IAEOA,CACR,EAGAyjG,IAAK,SAASA,EAAI5vB,EAAGziB,EAAU3uE,EAAM8/G,GACpCA,EAAUA,GAAW,CAAC,EAEtB,IAAIF,EAAQ36G,EAAE8nF,KAAK6yB,MAEnB,IAAK,IAAI9gH,KAAKsyF,EACb,GAAIA,EAAEx0F,eAAekC,GAAI,CACxB6vE,EAAStxE,KAAK+zF,EAAGtyF,EAAGsyF,EAAEtyF,GAAIkB,GAAQlB,GAElC,IAAImC,EAAWmwF,EAAEtyF,GACbmiH,EAAeh8G,EAAE8nF,KAAK/sF,KAAKiB,GAEV,WAAjBggH,GAA8BnB,EAAQF,EAAM3+G,IAGpB,UAAjBggH,GAA6BnB,EAAQF,EAAM3+G,MACrD6+G,EAAQF,EAAM3+G,KAAa,EAC3B+/G,EAAI//G,EAAU0tE,EAAU7vE,EAAGghH,KAJ3BA,EAAQF,EAAM3+G,KAAa,EAC3B+/G,EAAI//G,EAAU0tE,EAAU,KAAMmxC,GAKhC,CAEF,GAGDzS,QAAS,CAAC,EAcV6T,aAAc,SAAU53G,EAAOqlE,GAC9B1pE,EAAEk8G,kBAAkBliG,SAAU3V,EAAOqlE,EACtC,EAiBAwyC,kBAAmB,SAAUC,EAAW93G,EAAOqlE,GAC9C,IAAI0e,EAAM,CACT1e,SAAUA,EACVyyC,UAAWA,EACXniH,SAAU,oGAGXgG,EAAEuoF,MAAMC,IAAI,sBAAuBJ,GAEnCA,EAAIg0B,SAAWjkH,MAAMT,UAAUgD,MAAMsa,MAAMozE,EAAI+zB,UAAUl8B,iBAAiBmI,EAAIpuF,WAE9EgG,EAAEuoF,MAAMC,IAAI,gCAAiCJ,GAE7C,IAAK,IAAWrwD,EAAPl+B,EAAI,EAAak+B,EAAUqwD,EAAIg0B,SAASviH,MAChDmG,EAAEq8G,iBAAiBtkF,GAAmB,IAAV1zB,EAAgB+jF,EAAI1e,SAElD,EA8BA2yC,iBAAkB,SAAUtkF,EAAS1zB,EAAOqlE,GAE3C,IAAI9hE,EAAW5H,EAAE8nF,KAAKgzB,YAAY/iF,GAC9B2vD,EAAU1nF,EAAE2nF,UAAU//E,GAG1B5H,EAAE8nF,KAAKkzB,YAAYjjF,EAASnwB,GAG5B,IAAI2yB,EAASxC,EAAQgjF,cACjBxgF,GAA4C,QAAlCA,EAAO4f,SAASr+C,eAC7BkE,EAAE8nF,KAAKkzB,YAAYzgF,EAAQ3yB,GAG5B,IAEIwgF,EAAM,CACTrwD,QAASA,EACTnwB,SAAUA,EACV8/E,QAASA,EACTt2E,KANU2mB,EAAQ5d,aASnB,SAASmiG,EAAsBC,GAC9Bn0B,EAAIm0B,gBAAkBA,EAEtBv8G,EAAEuoF,MAAMC,IAAI,gBAAiBJ,GAE7BA,EAAIrwD,QAAQ7d,UAAYkuE,EAAIm0B,gBAE5Bv8G,EAAEuoF,MAAMC,IAAI,kBAAmBJ,GAC/BpoF,EAAEuoF,MAAMC,IAAI,WAAYJ,GACxB1e,GAAYA,EAAStxE,KAAKgwF,EAAIrwD,QAC/B,CAUA,GARA/3B,EAAEuoF,MAAMC,IAAI,sBAAuBJ,IAGnC7tD,EAAS6tD,EAAIrwD,QAAQgjF,gBAC2B,QAAlCxgF,EAAO4f,SAASr+C,gBAA4By+B,EAAOiiF,aAAa,aAC7EjiF,EAAOwlB,aAAa,WAAY,MAG5BqoC,EAAIh3E,KAGR,OAFApR,EAAEuoF,MAAMC,IAAI,WAAYJ,QACxB1e,GAAYA,EAAStxE,KAAKgwF,EAAIrwD,UAM/B,GAFA/3B,EAAEuoF,MAAMC,IAAI,mBAAoBJ,GAE3BA,EAAIV,QAKT,GAAIrjF,GAASm2G,EAAMiC,OAAQ,CAC1B,IAAIC,EAAS,IAAID,OAAOz8G,EAAE6X,UAE1B6kG,EAAOC,UAAY,SAAUC,GAC5BN,EAAsBM,EAAIt+G,KAC3B,EAEAo+G,EAAOG,YAAY38B,KAAKC,UAAU,CACjCv4E,SAAUwgF,EAAIxgF,SACdwJ,KAAMg3E,EAAIh3E,KACV0rG,gBAAgB,IAElB,MACCR,EAAsBt8G,EAAE4nF,UAAUQ,EAAIh3E,KAAMg3E,EAAIV,QAASU,EAAIxgF,gBAjB7D00G,EAAsBt8G,EAAE8nF,KAAK9uE,OAAOovE,EAAIh3E,MAmB1C,EAsBAw2E,UAAW,SAAUz0E,EAAMu0E,EAAS9/E,GACnC,IAAIwgF,EAAM,CACTh3E,KAAM+B,EACNu0E,QAASA,EACT9/E,SAAUA,GAGX,GADA5H,EAAEuoF,MAAMC,IAAI,kBAAmBJ,IAC1BA,EAAIV,QACR,MAAM,IAAItqF,MAAM,iBAAmBgrF,EAAIxgF,SAAW,qBAInD,OAFAwgF,EAAIF,OAASloF,EAAE+gG,SAAS3Y,EAAIh3E,KAAMg3E,EAAIV,SACtC1nF,EAAEuoF,MAAMC,IAAI,iBAAkBJ,GACvBD,EAAMhI,UAAUngF,EAAE8nF,KAAK9uE,OAAOovE,EAAIF,QAASE,EAAIxgF,SACvD,EA0BAm5F,SAAU,SAAU5tF,EAAMu0E,GACzB,IAAI0E,EAAO1E,EAAQ0E,KACnB,GAAIA,EAAM,CACT,IAAK,IAAIvuE,KAASuuE,EACjB1E,EAAQ7pE,GAASuuE,EAAKvuE,UAGhB6pE,EAAQ0E,IAChB,CAEA,IAAI2wB,EAAY,IAAIC,EAKpB,OAJAC,EAASF,EAAWA,EAAUG,KAAM/pG,GAEpCgqG,EAAahqG,EAAM4pG,EAAWr1B,EAASq1B,EAAUG,KAAM,GAyazD,SAAiBr1G,GAChB,IAAIg1C,EAAQ,GACR5gD,EAAO4L,EAAKq1G,KAAK5hG,KACrB,KAAOrf,IAAS4L,EAAK0vE,MACpB16B,EAAM/hD,KAAKmB,EAAKhD,OAChBgD,EAAOA,EAAKqf,KAEb,OAAOuhC,CACR,CA/aS0oC,CAAQw3B,EAChB,EAOAx0B,MAAO,CACN60B,IAAK,CAAC,EAcN/+D,IAAK,SAAUvlD,EAAM4wE,GACpB,IAAI6e,EAAQvoF,EAAEuoF,MAAM60B,IAEpB70B,EAAMzvF,GAAQyvF,EAAMzvF,IAAS,GAE7ByvF,EAAMzvF,GAAMgC,KAAK4uE,EAClB,EAWA8e,IAAK,SAAU1vF,EAAMsvF,GACpB,IAAIi1B,EAAYr9G,EAAEuoF,MAAM60B,IAAItkH,GAE5B,GAAKukH,GAAcA,EAAUvjH,OAI7B,IAAK,IAAW4vE,EAAP7vE,EAAI,EAAc6vE,EAAW2zC,EAAUxjH,MAC/C6vE,EAAS0e,EAEX,GAGDD,MAAOA,GAqBR,SAASA,EAAMptF,EAAMwB,EAASwrF,EAAOu1B,GAUpC1oG,KAAK7Z,KAAOA,EASZ6Z,KAAKrY,QAAUA,EAQfqY,KAAKmzE,MAAQA,EAEbnzE,KAAK9a,OAAqC,GAA3BwjH,GAAc,IAAIxjH,MAClC,CA6EA,SAASyjH,EAAarvG,EAASkK,EAAKjF,EAAMw1E,GACzCz6E,EAAQ1T,UAAY4d,EACpB,IAAIhe,EAAQ8T,EAAQzT,KAAK0Y,GACzB,GAAI/Y,GAASuuF,GAAcvuF,EAAM,GAAI,CAEpC,IAAIojH,EAAmBpjH,EAAM,GAAGN,OAChCM,EAAMO,OAAS6iH,EACfpjH,EAAM,GAAKA,EAAM,GAAGM,MAAM8iH,EAC3B,CACA,OAAOpjH,CACR,CAgBA,SAAS+iH,EAAahqG,EAAM4pG,EAAWr1B,EAAS+1B,EAAWC,EAAUC,GACpE,IAAK,IAAI9/F,KAAS6pE,EACjB,GAAKA,EAAQ/vF,eAAekmB,IAAW6pE,EAAQ7pE,GAA/C,CAIA,IAAI+/F,EAAWl2B,EAAQ7pE,GACvB+/F,EAAWzlH,MAAMF,QAAQ2lH,GAAYA,EAAW,CAACA,GAEjD,IAAK,IAAIr/E,EAAI,EAAGA,EAAIq/E,EAAS9jH,SAAUykC,EAAG,CACzC,GAAIo/E,GAAWA,EAAQE,OAAShgG,EAAQ,IAAM0gB,EAC7C,OAGD,IAAIu/E,EAAaF,EAASr/E,GACtB4qD,EAAS20B,EAAW30B,OACpBR,IAAem1B,EAAWn1B,WAC1BO,IAAW40B,EAAW50B,OACtBnB,EAAQ+1B,EAAW/1B,MAEvB,GAAImB,IAAW40B,EAAW5vG,QAAQ24E,OAAQ,CAEzC,IAAIt7B,EAAQuyD,EAAW5vG,QAAQrW,WAAWuC,MAAM,aAAa,GAC7D0jH,EAAW5vG,QAAUo7E,OAAOw0B,EAAW5vG,QAAQqJ,OAAQg0C,EAAQ,IAChE,CAKA,IAFA,IAAIr9C,EAAU4vG,EAAW5vG,SAAW4vG,EAG/BC,EAAcN,EAAUniG,KAAMlD,EAAMslG,EACxCK,IAAgBhB,EAAUxlC,QAItBomC,GAAWvlG,GAAOulG,EAAQK,OAH9B5lG,GAAO2lG,EAAY9kH,MAAMa,OAAQikH,EAAcA,EAAYziG,KAC1D,CAMD,IAAI1E,EAAMmnG,EAAY9kH,MAEtB,GAAI8jH,EAAUjjH,OAASqZ,EAAKrZ,OAE3B,OAGD,KAAI8c,aAAeuxE,GAAnB,CAIA,IACI/tF,EADA6jH,EAAc,EAGlB,GAAI/0B,EAAQ,CAEX,KADA9uF,EAAQmjH,EAAarvG,EAASkK,EAAKjF,EAAMw1E,KAC3BvuF,EAAMO,OAASwY,EAAKrZ,OACjC,MAGD,IAAIokH,EAAO9jH,EAAMO,MACbwjH,EAAK/jH,EAAMO,MAAQP,EAAM,GAAGN,OAC5B6nC,EAAIvpB,EAIR,IADAupB,GAAKo8E,EAAY9kH,MAAMa,OAChBokH,GAAQv8E,GAEdA,IADAo8E,EAAcA,EAAYziG,MACTriB,MAAMa,OAOxB,GAHAse,EADAupB,GAAKo8E,EAAY9kH,MAAMa,OAInBikH,EAAY9kH,iBAAiBkvF,EAChC,SAID,IACC,IAAIpmC,EAAIg8D,EACRh8D,IAAMg7D,EAAUxlC,OAAS51C,EAAIw8E,GAAyB,kBAAZp8D,EAAE9oD,OAC5C8oD,EAAIA,EAAEzmC,KAEN2iG,IACAt8E,GAAKogB,EAAE9oD,MAAMa,OAEdmkH,IAGArnG,EAAMzD,EAAKzY,MAAM0d,EAAKupB,GACtBvnC,EAAMO,OAASyd,CAChB,MAEC,KADAhe,EAAQmjH,EAAarvG,EAAS,EAAG0I,EAAK+xE,IAErC,SAKEu1B,EAAO9jH,EAAMO,MAAjB,IACIyjH,EAAWhkH,EAAM,GACjBunG,EAAS/qF,EAAIlc,MAAM,EAAGwjH,GACtBrc,EAAQjrF,EAAIlc,MAAMwjH,EAAOE,EAAStkH,QAElCkkH,EAAQ5lG,EAAMxB,EAAI9c,OAClB6jH,GAAWK,EAAQL,EAAQK,QAC9BL,EAAQK,MAAQA,GAGjB,IAAIK,EAAaN,EAAY1iG,KAgB7B,GAdIsmF,IACH0c,EAAapB,EAASF,EAAWsB,EAAY1c,GAC7CvpF,GAAOupF,EAAO7nG,QAGfwkH,EAAYvB,EAAWsB,EAAYJ,GAGnCF,EAAcd,EAASF,EAAWsB,EADpB,IAAIl2B,EAAMtqE,EAAOsrE,EAASnpF,EAAE+gG,SAASqd,EAAUj1B,GAAUi1B,EAAUr2B,EAAOq2B,IAGpFvc,GACHob,EAASF,EAAWgB,EAAalc,GAG9Boc,EAAc,EAAG,CAKpB,IAAIM,EAAgB,CACnBV,MAAOhgG,EAAQ,IAAM0gB,EACrBy/E,MAAOA,GAERb,EAAahqG,EAAM4pG,EAAWr1B,EAASq2B,EAAY1iG,KAAMjD,EAAKmmG,GAG1DZ,GAAWY,EAAcP,MAAQL,EAAQK,QAC5CL,EAAQK,MAAQO,EAAcP,MAEhC,CA7FA,CA8FD,CACD,CA3IA,CA6IF,CAeA,SAAShB,IAER,IAAIE,EAAO,CAAEjkH,MAAO,KAAMoiB,KAAM,KAAMC,KAAM,MAExCi8D,EAAO,CAAEt+E,MAAO,KAAMoiB,KAAM6hG,EAAM5hG,KAAM,MAC5C4hG,EAAK5hG,KAAOi8D,EAGZ3iE,KAAKsoG,KAAOA,EAEZtoG,KAAK2iE,KAAOA,EACZ3iE,KAAK9a,OAAS,CACf,CAWA,SAASmjH,EAASp1G,EAAM5L,EAAMhD,GAE7B,IAAIqiB,EAAOrf,EAAKqf,KAEZi/B,EAAU,CAAEthD,MAAOA,EAAOoiB,KAAMpf,EAAMqf,KAAMA,GAKhD,OAJArf,EAAKqf,KAAOi/B,EACZj/B,EAAKD,KAAOk/B,EACZ1yC,EAAK/N,SAEEygD,CACR,CASA,SAAS+jE,EAAYz2G,EAAM5L,EAAMqpF,GAEhC,IADA,IAAIhqE,EAAOrf,EAAKqf,KACPzhB,EAAI,EAAGA,EAAIyrF,GAAShqE,IAASzT,EAAK0vE,KAAM19E,IAChDyhB,EAAOA,EAAKA,KAEbrf,EAAKqf,KAAOA,EACZA,EAAKD,KAAOpf,EACZ4L,EAAK/N,QAAUD,CAChB,CAiBA,GA3XA2gH,EAAMzzB,MAAQ/mF,EA+EdmoF,EAAMhI,UAAY,SAASA,EAAUgM,EAAGvkF,GACvC,GAAgB,iBAALukF,EACV,OAAOA,EAER,GAAIh0F,MAAMF,QAAQk0F,GAAI,CACrB,IAAIuV,EAAI,GAIR,OAHAvV,EAAE1vD,SAAQ,SAAUqiB,GACnB4iD,GAAKvhB,EAAUrhC,EAAGl3C,EACnB,IACO85F,CACR,CAEA,IAAItZ,EAAM,CACTrtF,KAAMoxF,EAAEpxF,KACRwB,QAAS4jF,EAAUgM,EAAE5vF,QAASqL,GAC9Bs6C,IAAK,OACLomC,QAAS,CAAC,QAAS6D,EAAEpxF,MACrBqI,WAAY,CAAC,EACbwE,SAAUA,GAGPmhF,EAAUoD,EAAEpE,MACZgB,IACC5wF,MAAMF,QAAQ8wF,GACjB5wF,MAAMT,UAAUoD,KAAKka,MAAMozE,EAAIE,QAASS,GAExCX,EAAIE,QAAQxtF,KAAKiuF,IAInB/oF,EAAEuoF,MAAMC,IAAI,OAAQJ,GAEpB,IAAIhlF,EAAa,GACjB,IAAK,IAAItK,KAAQsvF,EAAIhlF,WACpBA,GAAc,IAAMtK,EAAO,MAAQsvF,EAAIhlF,WAAWtK,IAAS,IAAIgG,QAAQ,KAAM,UAAY,IAG1F,MAAO,IAAMspF,EAAIlmC,IAAM,WAAakmC,EAAIE,QAAQzrF,KAAK,KAAO,IAAMuG,EAAa,IAAMglF,EAAI7rF,QAAU,KAAO6rF,EAAIlmC,IAAM,GACrH,GAsQKs4D,EAAMxgG,SACV,OAAKwgG,EAAM7vD,kBAKN3qD,EAAEinF,6BAENuzB,EAAM7vD,iBAAiB,WAAW,SAAUiyD,GAC3C,IAAIzpC,EAAU+M,KAAKpjE,MAAM8/F,EAAIt+G,MACzBqJ,EAAOwrE,EAAQvrE,SACfwJ,EAAO+hE,EAAQ/hE,KACf0rG,EAAiB3pC,EAAQ2pC,eAE7BtC,EAAMqC,YAAY78G,EAAE4nF,UAAUx2E,EAAMpR,EAAE2nF,UAAUhgF,GAAOA,IACnDm1G,GACHtC,EAAMvf,OAER,IAAG,GAGGj7F,GAlBCA,EAsBT,IAAI0mC,EAAS1mC,EAAE8nF,KAAKozB,gBAUpB,SAASsD,IACHx+G,EAAEgnF,QACNhnF,EAAEi8G,cAEJ,CAEA,GAdIv1E,IACH1mC,EAAE6X,SAAW6uB,EAAOltC,IAEhBktC,EAAO81E,aAAa,iBACvBx8G,EAAEgnF,QAAS,KAURhnF,EAAEgnF,OAAQ,CAOd,IAAIy3B,EAAazkG,SAASykG,WACP,YAAfA,GAA2C,gBAAfA,GAAgC/3E,GAAUA,EAAOlhC,MAChFwU,SAAS2wC,iBAAiB,mBAAoB6zD,GAE1CjgE,OAAOmgE,sBACVngE,OAAOmgE,sBAAsBF,GAE7BjgE,OAAO8jB,WAAWm8C,EAAgC,GAGrD,CAEA,OAAOx+G,CAER,CAlqCa,CAhBkB,qBAAXu+C,OACjBA,OAE6B,qBAAtBogE,mBAAqC/3B,gBAAgB+3B,kBAC1D/3B,KACA,CAAC,GA+qC+BvtF,EAAOC,UAC3CD,EAAOC,QAAUytF,GAII,qBAAXF,EAAAA,IACVA,EAAAA,EAAOE,MAAQA,oCCnrCH,SAAShoC,EAAEjB,EAAEC,GAAG,IAAI7lC,EAAE4lC,EAAEhkD,OAAOgkD,EAAEhjD,KAAKijD,GAAGD,EAAE,KAAK,EAAE5lC,GAAG,CAAC,IAAI2mC,EAAE3mC,EAAE,IAAI,EAAE4mC,EAAEhB,EAAEe,GAAG,KAAG,EAAEG,EAAEF,EAAEf,IAA0B,MAAMD,EAA7BA,EAAEe,GAAGd,EAAED,EAAE5lC,GAAG4mC,EAAE5mC,EAAE2mC,CAAc,CAAC,CAAC,SAASiD,EAAEhE,GAAG,OAAO,IAAIA,EAAEhkD,OAAO,KAAKgkD,EAAE,EAAE,CAAC,SAASiE,EAAEjE,GAAG,GAAG,IAAIA,EAAEhkD,OAAO,OAAO,KAAK,IAAIikD,EAAED,EAAE,GAAG5lC,EAAE4lC,EAAErmB,MAAM,GAAGvf,IAAI6lC,EAAE,CAACD,EAAE,GAAG5lC,EAAE4lC,EAAE,IAAI,IAAIe,EAAE,EAAEC,EAAEhB,EAAEhkD,OAAOgnE,EAAEhiB,IAAI,EAAED,EAAEiiB,GAAG,CAAC,IAAI9oD,EAAE,GAAG6mC,EAAE,GAAG,EAAEgQ,EAAE/Q,EAAE9lC,GAAGyoD,EAAEzoD,EAAE,EAAE4oD,EAAE9iB,EAAE2iB,GAAG,GAAG,EAAEzhB,EAAE6P,EAAE32C,GAAGuoD,EAAE3hB,GAAG,EAAEE,EAAE4hB,EAAE/R,IAAI/Q,EAAEe,GAAG+hB,EAAE9iB,EAAE2iB,GAAGvoD,EAAE2mC,EAAE4hB,IAAI3iB,EAAEe,GAAGgQ,EAAE/Q,EAAE9lC,GAAGE,EAAE2mC,EAAE7mC,OAAQ,MAAGyoD,EAAE3hB,GAAG,EAAEE,EAAE4hB,EAAE1oD,IAA0B,MAAM4lC,EAA7BA,EAAEe,GAAG+hB,EAAE9iB,EAAE2iB,GAAGvoD,EAAE2mC,EAAE4hB,CAAc,EAAC,CAAC,OAAO1iB,CAAC,CAC3c,SAASiB,EAAElB,EAAEC,GAAG,IAAI7lC,EAAE4lC,EAAE8gE,UAAU7gE,EAAE6gE,UAAU,OAAO,IAAI1mG,EAAEA,EAAE4lC,EAAEljD,GAAGmjD,EAAEnjD,EAAE,CAAC,GAAG,kBAAkBikH,aAAa,oBAAoBA,YAAY5iG,IAAI,CAAC,IAAI7C,EAAEylG,YAAYvlH,EAAQkzD,aAAa,WAAW,OAAOpzC,EAAE6C,KAAK,CAAC,KAAK,CAAC,IAAI0lB,EAAEgyB,KAAKqW,EAAEroC,EAAE1lB,MAAM3iB,EAAQkzD,aAAa,WAAW,OAAO7qB,EAAE1lB,MAAM+tD,CAAC,CAAC,CAAC,IAAIC,EAAE,GAAGvJ,EAAE,GAAGG,EAAE,EAAEjiB,EAAE,KAAKsrB,EAAE,EAAE3qB,GAAE,EAAGzxB,GAAE,EAAGjF,GAAE,EAAGk3C,EAAE,oBAAoBsC,WAAWA,WAAW,KAAKuB,EAAE,oBAAoBrB,aAAaA,aAAa,KAAKxB,EAAE,qBAAqB+9C,aAAaA,aAAa,KACnT,SAASj7C,EAAE/lB,GAAG,IAAI,IAAIC,EAAE+D,EAAE4e,GAAG,OAAO3iB,GAAG,CAAC,GAAG,OAAOA,EAAE2rB,SAAS3nB,EAAE2e,OAAQ,MAAG3iB,EAAEghE,WAAWjhE,GAAgD,MAA9CiE,EAAE2e,GAAG3iB,EAAE6gE,UAAU7gE,EAAEihE,eAAejgE,EAAEkrB,EAAElsB,EAAa,CAACA,EAAE+D,EAAE4e,EAAE,CAAC,CAAC,SAASqD,EAAEjmB,GAAa,GAAVj1B,GAAE,EAAGg7C,EAAE/lB,IAAOhwB,EAAE,GAAG,OAAOg0B,EAAEmoB,GAAGn8C,GAAE,EAAG5D,EAAEy2C,OAAO,CAAC,IAAI5iB,EAAE+D,EAAE4e,GAAG,OAAO3iB,GAAG6rB,EAAE7F,EAAEhmB,EAAEghE,UAAUjhE,EAAE,CAAC,CACra,SAAS6iB,EAAE7iB,EAAEC,GAAGjwB,GAAE,EAAGjF,IAAIA,GAAE,EAAG+6C,EAAEiH,GAAGA,GAAG,GAAGtrB,GAAE,EAAG,IAAIrnC,EAAEgyD,EAAE,IAAS,IAALrG,EAAE9lB,GAAOa,EAAEkD,EAAEmoB,GAAG,OAAOrrB,MAAMA,EAAEogE,eAAejhE,IAAID,IAAI4vB,MAAM,CAAC,IAAI7uB,EAAED,EAAE8qB,SAAS,GAAG,oBAAoB7qB,EAAE,CAACD,EAAE8qB,SAAS,KAAKQ,EAAEtrB,EAAEqgE,cAAc,IAAIngE,EAAED,EAAED,EAAEogE,gBAAgBjhE,GAAGA,EAAEzkD,EAAQkzD,eAAe,oBAAoB1N,EAAEF,EAAE8qB,SAAS5qB,EAAEF,IAAIkD,EAAEmoB,IAAIloB,EAAEkoB,GAAGpG,EAAE9lB,EAAE,MAAMgE,EAAEkoB,GAAGrrB,EAAEkD,EAAEmoB,EAAE,CAAC,GAAG,OAAOrrB,EAAE,IAAIkiB,GAAE,MAAO,CAAC,IAAI9oD,EAAE8pC,EAAE4e,GAAG,OAAO1oD,GAAG4xD,EAAE7F,EAAE/rD,EAAE+mG,UAAUhhE,GAAG+iB,GAAE,CAAE,CAAC,OAAOA,CAAyB,CAAvB,QAAQliB,EAAE,KAAKsrB,EAAEhyD,EAAEqnC,GAAE,CAAE,CAAC,CAD1a,qBAAqB2/D,gBAAW,IAASA,UAAUC,iBAAY,IAASD,UAAUC,WAAWC,gBAAgBF,UAAUC,WAAWC,eAAe7+C,KAAK2+C,UAAUC,YAC2Q,IACzPt0F,EAD6PujD,GAAE,EAAGC,EAAE,KAAKxD,GAAG,EAAEngD,EAAE,EAAEgkD,GAAG,EACvc,SAAShB,IAAI,QAAOp0E,EAAQkzD,eAAekiB,EAAEhkD,EAAO,CAAC,SAASylD,IAAI,GAAG,OAAO9B,EAAE,CAAC,IAAIvwB,EAAExkD,EAAQkzD,eAAekiB,EAAE5wB,EAAE,IAAIC,GAAE,EAAG,IAAIA,EAAEswB,GAAE,EAAGvwB,EAA8B,CAA3B,QAAQC,EAAElzB,KAAKujD,GAAE,EAAGC,EAAE,KAAK,CAAC,MAAMD,GAAE,CAAE,CAAO,GAAG,oBAAoBrN,EAAEl2C,EAAE,WAAWk2C,EAAEoP,EAAE,OAAO,GAAG,qBAAqBkvC,eAAe,CAAC,IAAIpnC,EAAE,IAAIonC,eAAe/zF,EAAE2sD,EAAEqnC,MAAMrnC,EAAEsnC,MAAM5C,UAAUxsC,EAAEtlD,EAAE,WAAWS,EAAEuxF,YAAY,KAAK,CAAC,MAAMhyF,EAAE,WAAWk1C,EAAEoQ,EAAE,EAAE,EAAE,SAASjmD,EAAE4zB,GAAGuwB,EAAEvwB,EAAEswB,IAAIA,GAAE,EAAGvjD,IAAI,CAAC,SAAS++C,EAAE9rB,EAAEC,GAAG8sB,EAAE9K,GAAE,WAAWjiB,EAAExkD,EAAQkzD,eAAe,GAAEzO,EAAE,CAC5dzkD,EAAQ8zD,sBAAsB,EAAE9zD,EAAQszD,2BAA2B,EAAEtzD,EAAQ4zD,qBAAqB,EAAE5zD,EAAQ0zD,wBAAwB,EAAE1zD,EAAQkmH,mBAAmB,KAAKlmH,EAAQwzD,8BAA8B,EAAExzD,EAAQ6yD,wBAAwB,SAASrO,GAAGA,EAAE4rB,SAAS,IAAI,EAAEpwE,EAAQmmH,2BAA2B,WAAW3xF,GAAGyxB,IAAIzxB,GAAE,EAAG5D,EAAEy2C,GAAG,EAC1UrnE,EAAQomH,wBAAwB,SAAS5hE,GAAG,EAAEA,GAAG,IAAIA,EAAEy1B,QAAQ97D,MAAM,mHAAmHiT,EAAE,EAAEozB,EAAE3oC,KAAKmzF,MAAM,IAAIxqD,GAAG,CAAC,EAAExkD,EAAQozD,iCAAiC,WAAW,OAAOwd,CAAC,EAAE5wE,EAAQqmH,8BAA8B,WAAW,OAAO79D,EAAEmoB,EAAE,EAAE3wE,EAAQsmH,cAAc,SAAS9hE,GAAG,OAAOosB,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAInsB,EAAE,EAAE,MAAM,QAAQA,EAAEmsB,EAAE,IAAIhyD,EAAEgyD,EAAEA,EAAEnsB,EAAE,IAAI,OAAOD,GAAe,CAAX,QAAQosB,EAAEhyD,CAAC,CAAC,EAAE5e,EAAQumH,wBAAwB,WAAW,EAC9fvmH,EAAQizD,sBAAsB,WAAW,EAAEjzD,EAAQwmH,yBAAyB,SAAShiE,EAAEC,GAAG,OAAOD,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQA,EAAE,EAAE,IAAI5lC,EAAEgyD,EAAEA,EAAEpsB,EAAE,IAAI,OAAOC,GAAe,CAAX,QAAQmsB,EAAEhyD,CAAC,CAAC,EAChM5e,EAAQ2yD,0BAA0B,SAASnO,EAAEC,EAAE7lC,GAAG,IAAI2mC,EAAEvlD,EAAQkzD,eAA8F,OAA/E,kBAAkBt0C,GAAG,OAAOA,EAAaA,EAAE,kBAAZA,EAAEA,EAAE6nG,QAA6B,EAAE7nG,EAAE2mC,EAAE3mC,EAAE2mC,EAAG3mC,EAAE2mC,EAASf,GAAG,KAAK,EAAE,IAAIgB,GAAG,EAAE,MAAM,KAAK,EAAEA,EAAE,IAAI,MAAM,KAAK,EAAEA,EAAE,WAAW,MAAM,KAAK,EAAEA,EAAE,IAAI,MAAM,QAAQA,EAAE,IAAmN,OAAzMhB,EAAE,CAACljD,GAAGimE,IAAI6I,SAAS3rB,EAAEkhE,cAAcnhE,EAAEihE,UAAU7mG,EAAE8mG,eAAvDlgE,EAAE5mC,EAAE4mC,EAAoE8/D,WAAW,GAAG1mG,EAAE2mC,GAAGf,EAAE8gE,UAAU1mG,EAAE6mC,EAAE2hB,EAAE5iB,GAAG,OAAOgE,EAAEmoB,IAAInsB,IAAIgE,EAAE4e,KAAK73C,GAAG+6C,EAAEiH,GAAGA,GAAG,GAAGhiD,GAAE,EAAG+gD,EAAE7F,EAAE7rD,EAAE2mC,MAAMf,EAAE8gE,UAAU9/D,EAAEC,EAAEkrB,EAAEnsB,GAAGhwB,GAAGyxB,IAAIzxB,GAAE,EAAG5D,EAAEy2C,KAAY7iB,CAAC,EACnexkD,EAAQ+yD,qBAAqBqhB,EAAEp0E,EAAQ0mH,sBAAsB,SAASliE,GAAG,IAAIC,EAAEmsB,EAAE,OAAO,WAAW,IAAIhyD,EAAEgyD,EAAEA,EAAEnsB,EAAE,IAAI,OAAOD,EAAE9oC,MAAMJ,KAAKhb,UAAsB,CAAX,QAAQswE,EAAEhyD,CAAC,CAAC,CAAC,qCCf7J7e,EAAOC,QAAU,EAAjBD,4BCHF,IAAIyjB,EAAQ1hB,EAAQ,MAyCpB/B,EAAOC,QA5BP,SAAuBwD,EAAOskD,GAC5B,IAKI/oC,EALA8C,EAAS,KACb,IAAKre,GAA0B,kBAAVA,EACnB,OAAOqe,EAST,IALA,IAEInf,EACA/C,EAHAwf,EAAeqE,EAAMhgB,GACrBmjH,EAAkC,oBAAb7+D,EAIhBvnD,EAAI,EAAGqmH,EAAMznG,EAAa3e,OAAQD,EAAIqmH,EAAKrmH,IAElDmC,GADAqc,EAAcI,EAAa5e,IACJmC,SACvB/C,EAAQof,EAAYpf,MAEhBgnH,EACF7+D,EAASplD,EAAU/C,EAAOof,GACjBpf,IACTkiB,IAAWA,EAAS,CAAC,GACrBA,EAAOnf,GAAY/C,GAIvB,OAAOkiB,CACT,oBCvCA9hB,EAAOC,QAIP,WAGI,IAFA,IAAIV,EAAS,CAAC,EAELiB,EAAI,EAAGA,EAAID,UAAUE,OAAQD,IAAK,CACvC,IAAI0d,EAAS3d,UAAUC,GAEvB,IAAK,IAAItB,KAAOgf,EACR5f,EAAeS,KAAKmf,EAAQhf,KAC5BK,EAAOL,GAAOgf,EAAOhf,GAGjC,CAEA,OAAOK,CACX,EAhBA,IAAIjB,EAAiBF,OAAOC,UAAUC,iCCItC0B,EAAOC,QANP,SAAgCstF,GAC9B,QAAa,IAATA,EACF,MAAM,IAAIu5B,eAAe,6DAE3B,OAAOv5B,CACT,EACyCvtF,EAAOC,QAAQ8mH,YAAa,EAAM/mH,EAAOC,QAAiB,QAAID,EAAOC,0BCD9GD,EAAOC,QALP,SAAyBumE,EAAUwgD,GACjC,KAAMxgD,aAAoBwgD,GACxB,MAAM,IAAIxpG,UAAU,oCAExB,EACkCxd,EAAOC,QAAQ8mH,YAAa,EAAM/mH,EAAOC,QAAiB,QAAID,EAAOC,0BCLvG,SAASgnH,EAAkB1nH,EAAQyB,GACjC,IAAK,IAAIR,EAAI,EAAGA,EAAIQ,EAAMP,OAAQD,IAAK,CACrC,IAAI0mH,EAAalmH,EAAMR,GACvB0mH,EAAWxnH,WAAawnH,EAAWxnH,aAAc,EACjDwnH,EAAWvnH,cAAe,EACtB,UAAWunH,IAAYA,EAAWpnH,UAAW,GACjD1B,OAAOK,eAAec,EAAQ2nH,EAAWhoH,IAAKgoH,EAChD,CACF,CASAlnH,EAAOC,QARP,SAAsB+mH,EAAaG,EAAYC,GAM7C,OALID,GAAYF,EAAkBD,EAAY3oH,UAAW8oH,GACrDC,GAAaH,EAAkBD,EAAaI,GAChDhpH,OAAOK,eAAeuoH,EAAa,YAAa,CAC9ClnH,UAAU,IAELknH,CACT,EAC+BhnH,EAAOC,QAAQ8mH,YAAa,EAAM/mH,EAAOC,QAAiB,QAAID,EAAOC,8BCjBpG,IAAIonH,EAAiB,EAAQ,MACzBC,EAA2B,EAAQ,MACnCC,EAA4B,EAAQ,MAexCvnH,EAAOC,QAdP,SAAsBunH,GACpB,IAAIC,EAA4BH,IAChC,OAAO,WACL,IACE9kH,EADEklH,EAAQL,EAAeG,GAE3B,GAAIC,EAA2B,CAC7B,IAAIE,EAAYN,EAAe9rG,MAAMlc,YACrCmD,EAAS+lD,QAAQC,UAAUk/D,EAAOnnH,UAAWonH,EAC/C,MACEnlH,EAASklH,EAAM/rG,MAAMJ,KAAMhb,WAE7B,OAAOgnH,EAA0BhsG,KAAM/Y,EACzC,CACF,EAC+BxC,EAAOC,QAAQ8mH,YAAa,EAAM/mH,EAAOC,QAAiB,QAAID,EAAOC,0BCJpGD,EAAOC,QAbP,SAAyBhB,EAAKC,EAAKU,GAWjC,OAVIV,KAAOD,EACTb,OAAOK,eAAeQ,EAAKC,EAAK,CAC9BU,MAAOA,EACPF,YAAY,EACZC,cAAc,EACdG,UAAU,IAGZb,EAAIC,GAAOU,EAENX,CACT,EACkCe,EAAOC,QAAQ8mH,YAAa,EAAM/mH,EAAOC,QAAiB,QAAID,EAAOC,8BCbvG,IAAI2nH,EAAgB,EAAQ,MAC5B,SAASC,IAcP,MAbuB,qBAAZt/D,SAA2BA,QAAQkB,KAC5CzpD,EAAOC,QAAU4nH,EAAOt/D,QAAQkB,IAAIyd,OAAQlnE,EAAOC,QAAQ8mH,YAAa,EAAM/mH,EAAOC,QAAiB,QAAID,EAAOC,UAEjHD,EAAOC,QAAU4nH,EAAO,SAActoH,EAAQoD,EAAUmlH,GACtD,IAAIx4D,EAAOs4D,EAAcroH,EAAQoD,GACjC,GAAK2sD,EAAL,CACA,IAAIy4D,EAAO3pH,OAAOO,yBAAyB2wD,EAAM3sD,GACjD,OAAIolH,EAAKt+D,IACAs+D,EAAKt+D,IAAI1qD,KAAKwB,UAAUE,OAAS,EAAIlB,EAASuoH,GAEhDC,EAAKnoH,KALK,CAMnB,EAAGI,EAAOC,QAAQ8mH,YAAa,EAAM/mH,EAAOC,QAAiB,QAAID,EAAOC,SAEnE4nH,EAAKlsG,MAAMJ,KAAMhb,UAC1B,CACAP,EAAOC,QAAU4nH,EAAM7nH,EAAOC,QAAQ8mH,YAAa,EAAM/mH,EAAOC,QAAiB,QAAID,EAAOC,0BCjB5F,SAAS+nH,EAAgBl1B,GAIvB,OAHA9yF,EAAOC,QAAU+nH,EAAkB5pH,OAAO6pH,eAAiB7pH,OAAOipH,eAAengD,OAAS,SAAyB4rB,GACjH,OAAOA,EAAEo1B,WAAa9pH,OAAOipH,eAAev0B,EAC9C,EAAG9yF,EAAOC,QAAQ8mH,YAAa,EAAM/mH,EAAOC,QAAiB,QAAID,EAAOC,QACjE+nH,EAAgBl1B,EACzB,CACA9yF,EAAOC,QAAU+nH,EAAiBhoH,EAAOC,QAAQ8mH,YAAa,EAAM/mH,EAAOC,QAAiB,QAAID,EAAOC,8BCNvG,IAAIgoH,EAAiB,EAAQ,MAiB7BjoH,EAAOC,QAhBP,SAAmBkoH,EAAUC,GAC3B,GAA0B,oBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAI5qG,UAAU,sDAEtB2qG,EAAS9pH,UAAYD,OAAOoI,OAAO4hH,GAAcA,EAAW/pH,UAAW,CACrEgB,YAAa,CACXO,MAAOuoH,EACProH,UAAU,EACVH,cAAc,KAGlBvB,OAAOK,eAAe0pH,EAAU,YAAa,CAC3CroH,UAAU,IAERsoH,GAAYH,EAAeE,EAAUC,EAC3C,EAC4BpoH,EAAOC,QAAQ8mH,YAAa,EAAM/mH,EAAOC,QAAiB,QAAID,EAAOC,0BCNjGD,EAAOC,QAXP,WACE,GAAuB,qBAAZsoD,UAA4BA,QAAQC,UAAW,OAAO,EACjE,GAAID,QAAQC,UAAU6/D,KAAM,OAAO,EACnC,GAAqB,oBAAVC,MAAsB,OAAO,EACxC,IAEE,OADA5f,QAAQrqG,UAAUstD,QAAQ5sD,KAAKwpD,QAAQC,UAAUkgD,QAAS,IAAI,WAAa,MACpE,CAGT,CAFE,MAAOjjD,GACP,OAAO,CACT,CACF,EAC4CzlD,EAAOC,QAAQ8mH,YAAa,EAAM/mH,EAAOC,QAAiB,QAAID,EAAOC,8BCXjH,IAAIsoH,EAAU,gBACVC,EAAwB,EAAQ,MASpCxoH,EAAOC,QARP,SAAoCstF,EAAMxuF,GACxC,GAAIA,IAA2B,WAAlBwpH,EAAQxpH,IAAsC,oBAATA,GAChD,OAAOA,EACF,QAAa,IAATA,EACT,MAAM,IAAIye,UAAU,4DAEtB,OAAOgrG,EAAsBj7B,EAC/B,EAC6CvtF,EAAOC,QAAQ8mH,YAAa,EAAM/mH,EAAOC,QAAiB,QAAID,EAAOC,0BCVlH,SAASwoH,EAAgB31B,EAAGxqD,GAK1B,OAJAtoC,EAAOC,QAAUwoH,EAAkBrqH,OAAO6pH,eAAiB7pH,OAAO6pH,eAAe/gD,OAAS,SAAyB4rB,EAAGxqD,GAEpH,OADAwqD,EAAEo1B,UAAY5/E,EACPwqD,CACT,EAAG9yF,EAAOC,QAAQ8mH,YAAa,EAAM/mH,EAAOC,QAAiB,QAAID,EAAOC,QACjEwoH,EAAgB31B,EAAGxqD,EAC5B,CACAtoC,EAAOC,QAAUwoH,EAAiBzoH,EAAOC,QAAQ8mH,YAAa,EAAM/mH,EAAOC,QAAiB,QAAID,EAAOC,8BCPvG,IAAIonH,EAAiB,EAAQ,MAQ7BrnH,EAAOC,QAPP,SAAwBmZ,EAAQzW,GAC9B,MAAQvE,OAAOC,UAAUC,eAAeS,KAAKqa,EAAQzW,IAEpC,QADfyW,EAASiuG,EAAejuG,MAG1B,OAAOA,CACT,EACiCpZ,EAAOC,QAAQ8mH,YAAa,EAAM/mH,EAAOC,QAAiB,QAAID,EAAOC,0BCRtG,SAASsoH,EAAQtpH,GAGf,OAAQe,EAAOC,QAAUsoH,EAAU,mBAAqBvhE,QAAU,iBAAmBA,OAAOe,SAAW,SAAU9oD,GAC/G,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAO,mBAAqB+nD,QAAU/nD,EAAII,cAAgB2nD,QAAU/nD,IAAQ+nD,OAAO3oD,UAAY,gBAAkBY,CAC1H,EAAGe,EAAOC,QAAQ8mH,YAAa,EAAM/mH,EAAOC,QAAiB,QAAID,EAAOC,QAAUsoH,EAAQtpH,EAC5F,CACAe,EAAOC,QAAUsoH,EAASvoH,EAAOC,QAAQ8mH,YAAa,EAAM/mH,EAAOC,QAAiB,QAAID,EAAOC,8iECR3FyoH,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBxlH,IAAjBylH,EACH,OAAOA,EAAa5oH,QAGrB,IAAID,EAAS0oH,EAAyBE,GAAY,CAGjD3oH,QAAS,CAAC,GAOX,OAHA6oH,EAAoBF,GAAU5oH,EAAQA,EAAOC,QAAS0oH,GAG/C3oH,EAAOC,OACf,CCrBA0oH,EAAoBvhD,EAAI,SAASpnE,GAChC,IAAI+oH,EAAS/oH,GAAUA,EAAO+mH,WAC7B,WAAa,OAAO/mH,EAAgB,OAAG,EACvC,WAAa,OAAOA,CAAQ,EAE7B,OADA2oH,EAAoBnjE,EAAEujE,EAAQ,CAAEtkE,EAAGskE,IAC5BA,CACR,ECNAJ,EAAoBnjE,EAAI,SAASvlD,EAAS+a,GACzC,IAAI,IAAI9b,KAAO8b,EACX2tG,EAAoB71B,EAAE93E,EAAY9b,KAASypH,EAAoB71B,EAAE7yF,EAASf,IAC5Ed,OAAOK,eAAewB,EAASf,EAAK,CAAEQ,YAAY,EAAM+pD,IAAKzuC,EAAW9b,IAG3E,ECPAypH,EAAoBhjE,EAAI,WACvB,GAA0B,kBAAf2nC,WAAyB,OAAOA,WAC3C,IACC,OAAO/xE,MAAQ,IAAImI,SAAS,cAAb,EAGhB,CAFE,MAAO+hC,GACR,GAAsB,kBAAXP,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxByjE,EAAoB71B,EAAI,SAAS7zF,EAAKkG,GAAQ,OAAO/G,OAAOC,UAAUC,eAAeS,KAAKE,EAAKkG,EAAO,ECCtGwjH,EAAoB/3C,EAAI,SAAS3wE,GACX,qBAAX+mD,QAA0BA,OAAOgiE,aAC1C5qH,OAAOK,eAAewB,EAAS+mD,OAAOgiE,YAAa,CAAEppH,MAAO,WAE7DxB,OAAOK,eAAewB,EAAS,aAAc,CAAEL,OAAO,GACvD,6nBCNe,SAASqpH,EAAgBhqH,EAAKC,EAAKU,GAWhD,OAVIV,KAAOD,EACTb,OAAOK,eAAeQ,EAAKC,EAAK,CAC9BU,MAAOA,EACPF,YAAY,EACZC,cAAc,EACdG,UAAU,IAGZb,EAAIC,GAAOU,EAENX,CACT,CCXA,SAASiqH,EAAQ9vG,EAAQ+vG,GACvB,IAAIjmF,EAAO9kC,OAAO8kC,KAAK9pB,GACvB,GAAIhb,OAAOgrH,sBAAuB,CAChC,IAAIC,EAAUjrH,OAAOgrH,sBAAsBhwG,GAC3C+vG,IAAmBE,EAAUA,EAAQntB,QAAO,SAAUotB,GACpD,OAAOlrH,OAAOO,yBAAyBya,EAAQkwG,GAAK5pH,UACtD,KAAKwjC,EAAKzhC,KAAKka,MAAMunB,EAAMmmF,EAC7B,CACA,OAAOnmF,CACT,CACe,SAASqmF,EAAehqH,GACrC,IAAK,IAAIiB,EAAI,EAAGA,EAAID,UAAUE,OAAQD,IAAK,CACzC,IAAI0d,EAAS,MAAQ3d,UAAUC,GAAKD,UAAUC,GAAK,CAAC,EACpDA,EAAI,EAAI0oH,EAAQ9qH,OAAO8f,IAAS,GAAIklB,SAAQ,SAAUlkC,GACpD,EAAeK,EAAQL,EAAKgf,EAAOhf,GACrC,IAAKd,OAAOorH,0BAA4BprH,OAAOqxG,iBAAiBlwG,EAAQnB,OAAOorH,0BAA0BtrG,IAAWgrG,EAAQ9qH,OAAO8f,IAASklB,SAAQ,SAAUlkC,GAC5Jd,OAAOK,eAAec,EAAQL,EAAKd,OAAOO,yBAAyBuf,EAAQhf,GAC7E,GACF,CACA,OAAOK,CACT,CCpBe,SAASkqH,EAAyBvrG,EAAQwrG,GACvD,GAAc,MAAVxrG,EAAgB,MAAO,CAAC,EAC5B,IACIhf,EAAKsB,EADLjB,ECHS,SAAuC2e,EAAQwrG,GAC5D,GAAc,MAAVxrG,EAAgB,MAAO,CAAC,EAC5B,IAEIhf,EAAKsB,EAFLjB,EAAS,CAAC,EACVoqH,EAAavrH,OAAO8kC,KAAKhlB,GAE7B,IAAK1d,EAAI,EAAGA,EAAImpH,EAAWlpH,OAAQD,IACjCtB,EAAMyqH,EAAWnpH,GACbkpH,EAAS9kH,QAAQ1F,IAAQ,IAC7BK,EAAOL,GAAOgf,EAAOhf,IAEvB,OAAOK,CACT,CDRe,CAA6B2e,EAAQwrG,GAElD,GAAItrH,OAAOgrH,sBAAuB,CAChC,IAAIQ,EAAmBxrH,OAAOgrH,sBAAsBlrG,GACpD,IAAK1d,EAAI,EAAGA,EAAIopH,EAAiBnpH,OAAQD,IACvCtB,EAAM0qH,EAAiBppH,GACnBkpH,EAAS9kH,QAAQ1F,IAAQ,GACxBd,OAAOC,UAAUwrH,qBAAqB9qH,KAAKmf,EAAQhf,KACxDK,EAAOL,GAAOgf,EAAOhf,GAEzB,CACA,OAAOK,CACT,CEfe,SAASuqH,EAAkBjrH,EAAKgoH,IAClC,MAAPA,GAAeA,EAAMhoH,EAAI4B,UAAQomH,EAAMhoH,EAAI4B,QAC/C,IAAK,IAAID,EAAI,EAAGupH,EAAO,IAAIjrH,MAAM+nH,GAAMrmH,EAAIqmH,EAAKrmH,IAC9CupH,EAAKvpH,GAAK3B,EAAI2B,GAEhB,OAAOupH,CACT,CCNe,SAASC,EAAiBC,GACvC,GAAsB,qBAAXjjE,QAAmD,MAAzBijE,EAAKjjE,OAAOe,WAA2C,MAAtBkiE,EAAK,cAAuB,OAAOnrH,MAAM+lH,KAAKoF,EACtH,CCDe,SAASC,EAA4Bp3B,EAAGq3B,GACrD,GAAKr3B,EAAL,CACA,GAAiB,kBAANA,EAAgB,OAAO,EAAiBA,EAAGq3B,GACtD,IAAI/iD,EAAIhpE,OAAOC,UAAUG,SAASO,KAAK+zF,GAAGzxF,MAAM,GAAI,GAEpD,MADU,WAAN+lE,GAAkB0rB,EAAEzzF,cAAa+nE,EAAI0rB,EAAEzzF,YAAYI,MAC7C,QAAN2nE,GAAqB,QAANA,EAAoBtoE,MAAM+lH,KAAK/xB,GACxC,cAAN1rB,GAAqB,2CAA2C9hE,KAAK8hE,GAAW,EAAiB0rB,EAAGq3B,QAAxG,CALc,CAMhB,CCJe,SAASC,EAAmBvrH,GACzC,OCJa,SAA4BA,GACzC,GAAIC,MAAMF,QAAQC,GAAM,OAAO,EAAiBA,EAClD,CDES,CAAkBA,IAAQ,EAAgBA,IAAQ,EAA2BA,IELvE,WACb,MAAM,IAAI2e,UAAU,uIACtB,CFG8F,EAC9F,CGNe,SAAS6sG,EAAgBxrH,GACtC,GAAIC,MAAMF,QAAQC,GAAM,OAAOA,CACjC,CCFe,SAASyrH,IACtB,MAAM,IAAI9sG,UAAU,4IACtB,CCEe,SAAS+sG,EAAe1rH,EAAK2B,GAC1C,OAAO,EAAe3B,ICLT,SAA+BA,EAAK2B,GACjD,IAAIgqH,EAAY,MAAP3rH,EAAc,KAAyB,qBAAXmoD,QAA0BnoD,EAAImoD,OAAOe,WAAalpD,EAAI,cAC3F,GAAU,MAAN2rH,EAAJ,CACA,IAGIC,EAAIC,EAHJC,EAAO,GACPC,GAAK,EACLC,GAAK,EAET,IACE,IAAKL,EAAKA,EAAGzrH,KAAKF,KAAQ+rH,GAAMH,EAAKD,EAAGvoG,QAAQwxD,QAC9Ck3C,EAAKlpH,KAAKgpH,EAAG7qH,QACTY,GAAKmqH,EAAKlqH,SAAWD,GAF4BoqH,GAAK,GAa9D,CATE,MAAOtsG,GACPusG,GAAK,EACLH,EAAKpsG,CACP,CAAE,QACA,IACOssG,GAAsB,MAAhBJ,EAAW,QAAWA,EAAW,QAG9C,CAFE,QACA,GAAIK,EAAI,MAAMH,CAChB,CACF,CACA,OAAOC,CApBe,CAqBxB,CDlBgC,CAAqB9rH,EAAK2B,IAAM,EAA2B3B,EAAK2B,IAAM,GACtG,CELA,IA4zEA,EA5zEa,CACX,WAAc,CACd,CACE,MAAS,iBACR,CACD,MAAS,kBACR,CACD,MAAS,cACR,CACD,MAAS,QACR,CACD,MAAS,YACR,CACD,MAAS,kBACR,CACD,MAAS,0BACR,CACD,MAAS,uBACR,CACD,MAAS,oBACR,CACD,MAAS,uBACR,CACD,MAAS,iBACR,CACD,MAAS,oBACR,CACD,MAAS,oBACR,CACD,MAAS,cACR,CACD,MAAS,eACR,CACD,MAAS,kBAEX,MAAS,CACT,CACE,SAAY,gBACZ,MAAS,4BACT,QAAU,6tBAcZ,CACE,SAAY,gBAEZ,MAAS,uBACT,QAAU,yfAWZ,CACE,SAAY,gBAEZ,MAAS,2BACT,QAAU,siBAYZ,CACE,SAAY,gBAEZ,MAAS,+BACT,QAAU,2nBAYZ,CACE,SAAY,gBAEZ,MAAS,sBACT,QAAU,mjBAWZ,CACE,SAAY,gBAEZ,MAAS,qBACT,QAAU,2rBAcZ,CACE,SAAY,gBAEZ,MAAS,qCACT,QAAU,8uBAaZ,CACE,SAAY,iBAEZ,MAAS,uBACT,QAAU,snCAkBZ,CACE,SAAY,iBAEZ,MAAS,gBACT,QAAU,6/BAkBZ,CACE,SAAY,iBAEZ,MAAS,+BACT,QAAU,y2CA6BZ,CACE,SAAY,iBAEZ,MAAS,0BACT,QAAU,85BAyBZ,CACE,SAAY,iBAEZ,MAAS,sCACT,QAAU,qlCAuBZ,CACE,SAAY,aAEZ,MAAS,eACT,QAAU,6oBAiBZ,CACE,SAAY,aAEZ,MAAS,cACT,QAAU,2nBAgBZ,CACE,SAAY,aAEZ,MAAS,iBACT,QAAU,q7BAsBZ,CACE,SAAY,aAEZ,MAAS,cACT,QAAU,izBAiBZ,CACE,SAAY,aAEZ,MAAS,eACT,QAAU,myBAiBZ,CACE,SAAY,aAEZ,MAAS,UACT,QAAU,wqBAgBZ,CACE,SAAY,aAEZ,MAAS,eACT,QAAU,o0BAoBZ,CACC,SAAY,OAEZ,MAAS,WACR,QAAU,kzCAsCZ,CACE,SAAY,OAEZ,MAAS,WACT,QAAU,6nCA0BZ,CACE,SAAY,WAEZ,MAAS,cACT,QAAU,qrIAyGZ,CACE,SAAY,WAEZ,MAAS,iBACT,QAAU,i9DA8DZ,CACE,SAAY,WAEZ,MAAS,eACT,QAAU,yjCA6BZ,CACE,SAAY,iBAEZ,MAAS,kBACT,QAAU,6jEA8DZ,CACE,SAAY,iBAEZ,MAAS,aACT,QAAU,wtBAkBZ,CACE,SAAY,iBAEZ,MAAS,mBACT,QAAU,i3BAmBZ,CACE,SAAY,yBAEZ,MAAS,kBACT,QAAU,qzBAkBZ,CACE,SAAY,yBAEZ,MAAS,uBACT,QAAU,wrBAgBZ,CACE,SAAY,yBAEZ,MAAS,iBACT,QAAU,2pBAiBZ,CACE,SAAY,yBAEZ,MAAS,cACT,QAAU,k3BAuBZ,CACE,SAAY,sBAEZ,MAAS,aACT,QAAU,0hCAsBZ,CACE,SAAY,sBAEZ,MAAS,aAET,QAAU,syBAoBZ,CACE,SAAY,sBAEZ,MAAS,aAET,QAAU,8vBAoBZ,CACE,SAAY,sBAEZ,MAAS,qBAET,QAAU,ysBAuBZ,CACE,SAAY,sBAEZ,MAAS,aAET,QAAU,gpBAgBZ,CACE,SAAY,mBAEZ,MAAS,aACT,QAAU,0kBAcZ,CACE,SAAY,mBAEZ,MAAS,aACT,QAAU,isBAeZ,CACE,SAAY,mBAEZ,MAAS,aACT,QAAU,mxBAqBZ,CACE,SAAY,mBAEZ,MAAS,WACT,QAAU,0qCAyBZ,CACE,SAAY,sBAEZ,MAAS,0BACT,QAAU,g3CAgCZ,CACE,SAAY,sBAEZ,MAAS,eACT,QAAU,6sBAiBZ,CACE,SAAY,sBAEZ,MAAS,gCACT,QAAU,m3BAmBZ,CACE,SAAY,sBAEZ,MAAS,uBACT,QAAU,6mBAiBZ,CACE,SAAY,sBAEZ,MAAS,gBAET,QAAU,u1BAwBZ,CACE,SAAY,sBAEZ,MAAS,uBACT,QAAU,ijCAwBZ,CACE,SAAY,sBAEZ,MAAS,kBACT,QAAU,sxBAiBZ,CACE,SAAY,sBAEZ,MAAS,YACT,QAAU,wzBAgBZ,CACE,SAAY,sBAEZ,MAAS,WACT,QAAU,2qBAcZ,CACE,SAAY,sBAEZ,MAAS,eACT,QAAU,o6CAiCZ,CACE,SAAY,sBAEZ,MAAS,uBACT,QAAU,2/BAqBZ,CACE,SAAY,gBAEZ,MAAS,wBACT,QAAU,uuBAgBZ,CACE,SAAY,gBAEZ,MAAS,wBACT,QAAU,6uBAeZ,CACE,SAAY,gBAEZ,MAAS,4BACT,QAAU,iwBAiBZ,CACE,SAAY,gBAGZ,MAAS,kBACT,QAAU,8qBAeZ,CACE,SAAY,gBAEZ,MAAS,qBACT,QAAU,y3BAsBZ,CACE,SAAY,gBAEZ,MAAS,gBACT,QAAU,o/BAmBZ,CACE,SAAY,gBAEZ,MAAS,iBACT,QAAU,usCA0BZ,CACE,SAAY,gBAGZ,MAAS,aACT,QAAU,4mBAeZ,CACE,SAAY,gBAGZ,MAAS,eACT,QAAU,isBAeZ,CACE,SAAY,gBAGZ,MAAS,aACT,QAAU,4mBAeZ,CACE,SAAY,gBAGZ,MAAS,cACT,QAAU,goBAeZ,CACE,SAAY,gBAGZ,MAAS,aACT,QAAU,olBAeZ,CACE,SAAY,gBAGZ,MAAS,YACT,QAAU,wnBAeZ,CACE,SAAY,gBAGZ,MAAS,eACT,QAAU,gpBAeZ,CACE,SAAY,mBAEZ,MAAS,cACT,QAAU,02BAuBZ,CACE,SAAY,mBAEZ,MAAS,qBACT,QAAU,krBAgBZ,CACE,SAAY,mBAEZ,MAAS,mBACT,QAAU,+0BAiBZ,CACE,SAAY,mBAEZ,MAAS,aACT,QAAU,wuBAqBZ,CACE,SAAY,mBAEZ,MAAS,oBACT,QAAU,m5BAkBZ,CACE,SAAY,mBAEZ,MAAS,cACT,QAAU,wxBAiBZ,CACE,SAAY,mBAEZ,MAAS,cACT,QAAU,srBAgBZ,CACE,SAAY,mBAGZ,MAAS,aACT,QAAU,svBAiBZ,CACE,SAAY,mBAEZ,MAAS,aACT,QAAU,wtBAgBZ,CACE,SAAY,aAEZ,MAAS,yBACT,QAAU,6+BAgBZ,CACE,SAAY,aAEZ,MAAS,eACT,QAAU,q3BAmBZ,CACE,SAAY,aAEZ,MAAS,YACT,QAAU,m3BAuBZ,CACE,SAAY,aAEZ,MAAS,YACT,QAAU,w1BAkBZ,CACE,SAAY,cAEZ,MAAS,eACT,QAAU,i+BA0BZ,CACE,SAAY,cAEZ,MAAS,iBACT,QAAU,mxBAcZ,CACE,SAAY,cAEZ,MAAS,aACT,QAAU,8mBAkBZ,CACE,SAAY,cAEZ,MAAS,cACT,QAAU,slBAeZ,CACE,SAAY,cAEZ,MAAS,cACT,QAAU,yfAcZ,CACE,SAAY,cAEZ,MAAS,+BACT,QAAU,gqCA+BZ,CACE,SAAY,cAEZ,MAAS,gBACT,QAAU,6tBAiBZ,CACE,SAAY,cAEZ,MAAS,yBACT,QAAU,s0BAkBZ,CACE,SAAY,gBAEZ,MAAS,kBACT,QAAU,k3CAuBZ,CACE,SAAY,gBAEZ,MAAS,YACT,QAAU,40BAuBZ,CACE,SAAY,gBAEZ,MAAS,yBAET,QAAU,i6BAsBZ,CACE,SAAY,gBAEZ,MAAS,cACT,QAAU,gtBAiBZ,CACE,SAAY,gBAEZ,MAAS,kBACT,QAAU,61BAuBd,CACI,SAAY,gBAEZ,MAAS,oBACT,QAAU,8yBAqBd,CACE,SAAY,gBAEZ,MAAS,eACT,QAAU,goBCzyEG,SAASsqH,EAAgBtkD,EAAUwgD,GAChD,KAAMxgD,aAAoBwgD,GACxB,MAAM,IAAIxpG,UAAU,oCAExB,CCJA,SAASypG,EAAkB1nH,EAAQyB,GACjC,IAAK,IAAIR,EAAI,EAAGA,EAAIQ,EAAMP,OAAQD,IAAK,CACrC,IAAI0mH,EAAalmH,EAAMR,GACvB0mH,EAAWxnH,WAAawnH,EAAWxnH,aAAc,EACjDwnH,EAAWvnH,cAAe,EACtB,UAAWunH,IAAYA,EAAWpnH,UAAW,GACjD1B,OAAOK,eAAec,EAAQ2nH,EAAWhoH,IAAKgoH,EAChD,CACF,CACe,SAAS6D,EAAa/D,EAAaG,EAAYC,GAM5D,OALID,GAAYF,EAAkBD,EAAY3oH,UAAW8oH,GACrDC,GAAaH,EAAkBD,EAAaI,GAChDhpH,OAAOK,eAAeuoH,EAAa,YAAa,CAC9ClnH,UAAU,IAELknH,CACT,eChBe,SAASyB,EAAgB31B,EAAGxqD,GAKzC,OAJAmgF,EAAkBrqH,OAAO6pH,eAAiB7pH,OAAO6pH,eAAe/gD,OAAS,SAAyB4rB,EAAGxqD,GAEnG,OADAwqD,EAAEo1B,UAAY5/E,EACPwqD,CACT,EACO21B,EAAgB31B,EAAGxqD,EAC5B,CCLe,SAAS0iF,EAAU7C,EAAUC,GAC1C,GAA0B,oBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAI5qG,UAAU,sDAEtB2qG,EAAS9pH,UAAYD,OAAOoI,OAAO4hH,GAAcA,EAAW/pH,UAAW,CACrEgB,YAAa,CACXO,MAAOuoH,EACProH,UAAU,EACVH,cAAc,KAGlBvB,OAAOK,eAAe0pH,EAAU,YAAa,CAC3CroH,UAAU,IAERsoH,GAAY,EAAeD,EAAUC,EAC3C,CChBe,SAASJ,EAAgBl1B,GAItC,OAHAk1B,EAAkB5pH,OAAO6pH,eAAiB7pH,OAAOipH,eAAengD,OAAS,SAAyB4rB,GAChG,OAAOA,EAAEo1B,WAAa9pH,OAAOipH,eAAev0B,EAC9C,EACOk1B,EAAgBl1B,EACzB,CCLe,SAASm4B,IACtB,GAAuB,qBAAZ1iE,UAA4BA,QAAQC,UAAW,OAAO,EACjE,GAAID,QAAQC,UAAU6/D,KAAM,OAAO,EACnC,GAAqB,oBAAVC,MAAsB,OAAO,EACxC,IAEE,OADA5f,QAAQrqG,UAAUstD,QAAQ5sD,KAAKwpD,QAAQC,UAAUkgD,QAAS,IAAI,WAAa,MACpE,CAGT,CAFE,MAAOjjD,GACP,OAAO,CACT,CACF,CCVe,SAAS8iE,EAAQtpH,GAG9B,OAAOspH,EAAU,mBAAqBvhE,QAAU,iBAAmBA,OAAOe,SAAW,SAAU9oD,GAC7F,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAO,mBAAqB+nD,QAAU/nD,EAAII,cAAgB2nD,QAAU/nD,IAAQ+nD,OAAO3oD,UAAY,gBAAkBY,CAC1H,EAAGspH,EAAQtpH,EACb,CCRe,SAASisH,EAAuB39B,GAC7C,QAAa,IAATA,EACF,MAAM,IAAIu5B,eAAe,6DAE3B,OAAOv5B,CACT,CCHe,SAAS49B,EAA2B59B,EAAMxuF,GACvD,GAAIA,IAA2B,WAAlBwpH,EAAQxpH,IAAsC,oBAATA,GAChD,OAAOA,EACF,QAAa,IAATA,EACT,MAAM,IAAIye,UAAU,4DAEtB,OAAO,EAAsB+vE,EAC/B,CCNe,SAAS69B,EAAa5D,GACnC,IAAIC,EAA4B,IAChC,OAAO,WACL,IACEjlH,EADEklH,EAAQ,EAAeF,GAE3B,GAAIC,EAA2B,CAC7B,IAAIE,EAAY,EAAepsG,MAAMlc,YACrCmD,EAAS+lD,QAAQC,UAAUk/D,EAAOnnH,UAAWonH,EAC/C,MACEnlH,EAASklH,EAAM/rG,MAAMJ,KAAMhb,WAE7B,OAAO,EAA0Bgb,KAAM/Y,EACzC,CACF,CCde,SAAS6oH,EAAWC,EAAQ5zB,EAAM6zB,GAa/C,OAXEF,EADE,IACW9iE,QAAQC,UAAU0e,OAElB,SAAoBokD,EAAQ5zB,EAAM6zB,GAC7C,IAAI9mE,EAAI,CAAC,MACTA,EAAEhjD,KAAKka,MAAM8oC,EAAGizC,GAChB,IACIlxB,EAAW,IADG9iD,SAASwjD,KAAKvrD,MAAM2vG,EAAQ7mE,IAG9C,OADI8mE,GAAO,EAAe/kD,EAAU+kD,EAAMltH,WACnCmoE,CACT,EAEK6kD,EAAW1vG,MAAM,KAAMpb,UAChC,CCZe,SAASirH,EAAiBD,GACvC,IAAIE,EAAwB,oBAARp1D,IAAqB,IAAIA,SAAQjzD,EAuBrD,OAtBAooH,EAAmB,SAA0BD,GAC3C,GAAc,OAAVA,ICPkCG,EDOEH,GCNsB,IAAzD7nG,SAASllB,SAASO,KAAK2sH,GAAI9mH,QAAQ,kBDMQ,OAAO2mH,ECP5C,IAA2BG,EDQtC,GAAqB,oBAAVH,EACT,MAAM,IAAI/tG,UAAU,sDAEtB,GAAsB,qBAAXiuG,EAAwB,CACjC,GAAIA,EAAO7kD,IAAI2kD,GAAQ,OAAOE,EAAOhiE,IAAI8hE,GACzCE,EAAOnjE,IAAIijE,EAAOI,EACpB,CACA,SAASA,IACP,OAAO,EAAUJ,EAAOhrH,UAAW,EAAegb,MAAMlc,YAC1D,CASA,OARAssH,EAAQttH,UAAYD,OAAOoI,OAAO+kH,EAAMltH,UAAW,CACjDgB,YAAa,CACXO,MAAO+rH,EACPjsH,YAAY,EACZI,UAAU,EACVH,cAAc,KAGX,EAAegsH,EAASJ,EACjC,EACOC,EAAiBD,EAC1B,CEfO,SAASK,EAAkBhsH,GAEhC,OAAKA,GAA0B,kBAAVA,EAKjB,aAAcA,GAAS,SAAUA,EAC5Bke,EAASle,EAAMke,UAIpB,UAAWle,GAAS,QAASA,EACxBke,EAASle,GAId,SAAUA,GAAS,WAAYA,EAC1BisH,EAAMjsH,GAIR,GAnBE,EAoBX,CAMA,SAASisH,EAAMA,GACb,OAAOvqH,EAAMuqH,GAASA,EAAM9tG,MAAQ,IAAMzc,EAAMuqH,GAASA,EAAMnuG,OACjE,CAMA,SAASI,EAASiB,GAChB,OAAO8sG,EAAM9sG,GAAOA,EAAI9d,OAAS,IAAM4qH,EAAM9sG,GAAOA,EAAIla,IAC1D,CAMA,SAASvD,EAAM1B,GACb,OAAOA,GAA0B,kBAAVA,EAAqBA,EAAQ,CACtD,CCpDO,IAAMksH,EAAY,8BASvB,WAAYvtG,EAAQwtG,EAAOC,GAAQ,gBAEjC,IAAMC,EAAQ,CAAC,KAAM,MAEjBnuG,EAAW,CAEb7c,MAAO,CAAC8c,KAAM,KAAML,OAAQ,MAE5B7Y,IAAK,CAACkZ,KAAM,KAAML,OAAQ,OAU5B,GAPA,eAEqB,kBAAVquG,IACTC,EAASD,EACTA,OAAQ3oH,GAGY,kBAAX4oH,EAAqB,CAC9B,IAAM1qH,EAAQ0qH,EAAOpnH,QAAQ,MAEd,IAAXtD,EACF2qH,EAAM,GAAKD,GAEXC,EAAM,GAAKD,EAAO3qH,MAAM,EAAGC,GAC3B2qH,EAAM,GAAKD,EAAO3qH,MAAMC,EAAQ,GAEpC,CA8FA,OA5FIyqH,IAEE,SAAUA,GAAS,aAAcA,EAC/BA,EAAMjuG,WACRA,EAAWiuG,EAAMjuG,UAIZ,UAAWiuG,GAAS,QAASA,EACpCjuG,EAAWiuG,GAGJ,SAAUA,GAAS,WAAYA,KACtCjuG,EAAS7c,MAAQ8qH,IAKrB,EAAKtsH,KAAOmsH,EAAkBG,IAAU,MACxC,EAAKjyC,QAA4B,kBAAXv7D,EAAsBA,EAAOu7D,QAAUv7D,EAC7D,EAAK2f,MAA0B,kBAAX3f,EAAsBA,EAAO2f,MAAQ,GAMzD,EAAK3f,OAAS,EAAKu7D,QAMnB,EAAKoyC,MAKL,EAAKnuG,KAAOD,EAAS7c,MAAM8c,KAK3B,EAAKL,OAASI,EAAS7c,MAAMyc,OAK7B,EAAKQ,OAAS+tG,EAAM,GAKpB,EAAKE,OAASF,EAAM,GAMpB,EAAKnuG,SAAWA,EAYhB,EAAKsuG,OAML,EAAKC,SAKL,EAAK/tB,KAKL,EAAKt9B,IAKL,EAAKsrD,KACL,CACF,CAAC,YAnIsB,CAmItB,EAnI+BvoH,QAsIlC+nH,EAAaztH,UAAUigG,KAAO,GAC9BwtB,EAAaztH,UAAUoB,KAAO,GAC9BqsH,EAAaztH,UAAUkgB,OAAS,GAChCutG,EAAaztH,UAAUy7E,QAAU,GACjCgyC,EAAaztH,UAAU6/B,MAAQ,GAC/B4tF,EAAaztH,UAAU6tH,MAAQ,KAC/BJ,EAAaztH,UAAUqf,OAAS,KAChCouG,EAAaztH,UAAU0f,KAAO,KAC9B+tG,EAAaztH,UAAU6f,OAAS,KAChC4tG,EAAaztH,UAAU8tH,OAAS,KAChCL,EAAaztH,UAAUyf,SAAW,KCtG3B,IAAMygF,EAAO,CAACguB,SASrB,SAAkBhuB,EAAMiuB,GACtB,QAAYppH,IAARopH,GAAoC,kBAARA,EAC9B,MAAM,IAAIhvG,UAAU,mCAGtBivG,EAAWluB,GACX,IAIImuB,EAJAzrH,EAAQ,EACR4D,GAAO,EACPvD,EAAQi9F,EAAK99F,OAIjB,QAAY2C,IAARopH,GAAoC,IAAfA,EAAI/rH,QAAgB+rH,EAAI/rH,OAAS89F,EAAK99F,OAAQ,CACrE,KAAOa,KACL,GAA+B,KAA3Bi9F,EAAKj/E,WAAWhe,IAGlB,GAAIorH,EAAc,CAChBzrH,EAAQK,EAAQ,EAChB,KACF,OACSuD,EAAM,IAGf6nH,GAAe,EACf7nH,EAAMvD,EAAQ,GAIlB,OAAOuD,EAAM,EAAI,GAAK05F,EAAKl9F,MAAMJ,EAAO4D,EAC1C,CAEA,GAAI2nH,IAAQjuB,EACV,MAAO,GAGT,IAAIouB,GAAoB,EACpBC,EAAWJ,EAAI/rH,OAAS,EAE5B,KAAOa,KACL,GAA+B,KAA3Bi9F,EAAKj/E,WAAWhe,IAGlB,GAAIorH,EAAc,CAChBzrH,EAAQK,EAAQ,EAChB,KACF,OAEIqrH,EAAmB,IAGrBD,GAAe,EACfC,EAAmBrrH,EAAQ,GAGzBsrH,GAAY,IAEVruB,EAAKj/E,WAAWhe,KAAWkrH,EAAIltG,WAAWstG,KACxCA,EAAW,IAGb/nH,EAAMvD,IAKRsrH,GAAY,EACZ/nH,EAAM8nH,IAMV1rH,IAAU4D,EACZA,EAAM8nH,EACG9nH,EAAM,IACfA,EAAM05F,EAAK99F,QAGb,OAAO89F,EAAKl9F,MAAMJ,EAAO4D,EAC3B,EAzF+BgoH,QA+F/B,SAAiBtuB,GAGf,GAFAkuB,EAAWluB,GAES,IAAhBA,EAAK99F,OACP,MAAO,IAGT,IAGIqsH,EAHAjoH,GAAO,EACPvD,EAAQi9F,EAAK99F,OAKjB,OAASa,GACP,GAA+B,KAA3Bi9F,EAAKj/E,WAAWhe,IAClB,GAAIwrH,EAAgB,CAClBjoH,EAAMvD,EACN,KACF,OACUwrH,IAEVA,GAAiB,GAIrB,OAAOjoH,EAAM,EACc,KAAvB05F,EAAKj/E,WAAW,GACd,IACA,IACM,IAARza,GAAoC,KAAvB05F,EAAKj/E,WAAW,GAC7B,KACAi/E,EAAKl9F,MAAM,EAAGwD,EACpB,EA/HwCkoH,QAqIxC,SAAiBxuB,GACfkuB,EAAWluB,GAEX,IASIuuB,EATAxrH,EAAQi9F,EAAK99F,OAEboE,GAAO,EACPmoH,EAAY,EACZC,GAAY,EAGZC,EAAc,EAIlB,KAAO5rH,KAAS,CACd,IAAMyW,EAAOwmF,EAAKj/E,WAAWhe,GAE7B,GAAa,KAATyW,EAWAlT,EAAM,IAGRioH,GAAiB,EACjBjoH,EAAMvD,EAAQ,GAGH,KAATyW,EAEEk1G,EAAW,EACbA,EAAW3rH,EACc,IAAhB4rH,IACTA,EAAc,GAEPD,GAAY,IAGrBC,GAAe,QAzBf,GAAIJ,EAAgB,CAClBE,EAAY1rH,EAAQ,EACpB,KACF,CAwBJ,CAEA,GACE2rH,EAAW,GACXpoH,EAAM,GAEU,IAAhBqoH,GAEiB,IAAhBA,GAAqBD,IAAapoH,EAAM,GAAKooH,IAAaD,EAAY,EAEvE,MAAO,GAGT,OAAOzuB,EAAKl9F,MAAM4rH,EAAUpoH,EAC9B,EAlMiDrB,KAwMjD,WAGY,IAFV,IAEI2pH,EAFA7rH,GAAS,EAEH,mBAHK8rH,EAAQ,yBAARA,EAAQ,gBAKvB,OAAS9rH,EAAQ8rH,EAAS3sH,QACxBgsH,EAAWW,EAAS9rH,IAEhB8rH,EAAS9rH,KACX6rH,OACa/pH,IAAX+pH,EAAuBC,EAAS9rH,GAAS6rH,EAAS,IAAMC,EAAS9rH,IAIvE,YAAkB8B,IAAX+pH,EAAuB,IAAMnrH,EAAUmrH,EAChD,EAvNuDE,IAAK,KAgO5D,SAASrrH,EAAUu8F,GACjBkuB,EAAWluB,GAEX,IAAM+uB,EAAkC,KAAvB/uB,EAAKj/E,WAAW,GAG7B1f,EAoBN,SAAyB2+F,EAAMgvB,GAC7B,IAMIx1G,EAEAy1G,EARAhrH,EAAS,GACTirH,EAAoB,EACpBC,GAAa,EACbC,EAAO,EACPrsH,GAAS,EAMb,OAASA,GAASi9F,EAAK99F,QAAQ,CAC7B,GAAIa,EAAQi9F,EAAK99F,OACfsX,EAAOwmF,EAAKj/E,WAAWhe,OAClB,IAAa,KAATyW,EACT,MAEAA,EAAO,EACT,CAEA,GAAa,KAATA,EAAuB,CACzB,GAAI21G,IAAcpsH,EAAQ,GAAc,IAATqsH,QAExB,GAAID,IAAcpsH,EAAQ,GAAc,IAATqsH,EAAY,CAChD,GACEnrH,EAAO/B,OAAS,GACM,IAAtBgtH,GACyC,KAAzCjrH,EAAO8c,WAAW9c,EAAO/B,OAAS,IACO,KAAzC+B,EAAO8c,WAAW9c,EAAO/B,OAAS,GAElC,GAAI+B,EAAO/B,OAAS,GAGlB,IAFA+sH,EAAiBhrH,EAAOqb,YAAY,QAEbrb,EAAO/B,OAAS,EAAG,CACpC+sH,EAAiB,GACnBhrH,EAAS,GACTirH,EAAoB,GAGpBA,GADAjrH,EAASA,EAAOnB,MAAM,EAAGmsH,IACE/sH,OAAS,EAAI+B,EAAOqb,YAAY,KAG7D6vG,EAAYpsH,EACZqsH,EAAO,EACP,QACF,OACK,GAAInrH,EAAO/B,OAAS,EAAG,CAC5B+B,EAAS,GACTirH,EAAoB,EACpBC,EAAYpsH,EACZqsH,EAAO,EACP,QACF,CAGEJ,IACF/qH,EAASA,EAAO/B,OAAS,EAAI+B,EAAS,MAAQ,KAC9CirH,EAAoB,EAExB,MACMjrH,EAAO/B,OAAS,EAClB+B,GAAU,IAAM+7F,EAAKl9F,MAAMqsH,EAAY,EAAGpsH,GAE1CkB,EAAS+7F,EAAKl9F,MAAMqsH,EAAY,EAAGpsH,GAGrCmsH,EAAoBnsH,EAAQosH,EAAY,EAG1CA,EAAYpsH,EACZqsH,EAAO,CACT,MAAoB,KAAT51G,GAAyB41G,GAAQ,EAC1CA,IAEAA,GAAQ,CAEZ,CAEA,OAAOnrH,CACT,CAnGcorH,CAAgBrvB,GAAO+uB,GAUnC,OARqB,IAAjB1tH,EAAMa,QAAiB6sH,IACzB1tH,EAAQ,KAGNA,EAAMa,OAAS,GAA0C,KAArC89F,EAAKj/E,WAAWi/E,EAAK99F,OAAS,KACpDb,GAAS,KAGJ0tH,EAAW,IAAM1tH,EAAQA,CAClC,CA6FA,SAAS6sH,EAAWluB,GAClB,GAAoB,kBAATA,EACT,MAAM,IAAI/gF,UACR,mCAAqCqpE,KAAKC,UAAUyX,GAG1D,CCpYO,IAAMsvB,EAAO,CAACC,IAErB,WACE,MAAO,GACT,GCgBO,SAASC,EAAMC,GACpB,OACoB,OAAlBA,GACyB,kBAAlBA,GAEPA,EAAc3gH,MAEd2gH,EAAchC,MAElB,CCvBO,SAASiC,EAAU1vB,GACxB,GAAoB,kBAATA,EACTA,EAAO,IAAI2vB,IAAI3vB,QACV,IAAKwvB,EAAMxvB,GAAO,CAEvB,IAAMngF,EAAQ,IAAIZ,UAChB,+EACE+gF,EACA,KAGJ,MADAngF,EAAMrG,KAAO,uBACPqG,CACR,CAEA,GAAsB,UAAlBmgF,EAAK4vB,SAAsB,CAE7B,IAAM/vG,EAAQ,IAAIZ,UAAU,kCAE5B,MADAY,EAAMrG,KAAO,yBACPqG,CACR,CAEA,OAMF,SAA6B4iD,GAC3B,GAAqB,KAAjBA,EAAIotD,SAAiB,CAEvB,IAAMhwG,EAAQ,IAAIZ,UAChB,wDAGF,MADAY,EAAMrG,KAAO,4BACPqG,CACR,CAEA,IAAMiwG,EAAWrtD,EAAIqtD,SACjB/sH,GAAS,EAEb,OAASA,EAAQ+sH,EAAS5tH,QACxB,GACiC,KAA/B4tH,EAAS/uG,WAAWhe,IACe,KAAnC+sH,EAAS/uG,WAAWhe,EAAQ,GAC5B,CACA,IAAMgtH,EAAQD,EAAS/uG,WAAWhe,EAAQ,GAC1C,GAAc,KAAVgtH,GAAoC,MAAVA,EAAyB,CAErD,IAAMlwG,EAAQ,IAAIZ,UAChB,uDAGF,MADAY,EAAMrG,KAAO,4BACPqG,CACR,CACF,CAGF,OAAOmwG,mBAAmBF,EAC5B,CArCSG,CAAoBjwB,EAC7B,CC0BA,IAAMrwC,EAAQ,CAAC,UAAW,OAAQ,WAAY,OAAQ,UAAW,WAEpDugE,EAAK,WAkBhB,WAAY7uH,GAEV,IAAIJ,EAFa,UAQfA,EAJGI,EAEuB,kBAAVA,GAAsB8uH,EAAO9uH,GAEnC,CAACA,MAAAA,GACFmuH,EAAMnuH,GACL,CAAC2+F,KAAM3+F,GAGPA,EARA,CAAC,EAiBb2b,KAAKtW,KAAO,CAAC,EAMbsW,KAAKiI,SAAW,GAOhBjI,KAAKozG,QAAU,GAMfpzG,KAAKuyG,IAAMD,EAAKC,MAOhBvyG,KAAK3b,MAUL2b,KAAKqzG,OASLrzG,KAAK/Y,OASL+Y,KAAKywE,IAML,IAFA,IAcI7mF,EAdA7D,GAAS,IAEJA,EAAQ4sD,EAAMztD,QAAQ,CAC7B,IAAM0E,EAAO+oD,EAAM5sD,GAIf6D,KAAQ3F,QAA6B4D,IAAlB5D,EAAQ2F,KAE7BoW,KAAKpW,GAAiB,YAATA,EAAqB,EAAI3F,EAAQ2F,IAAS3F,EAAQ2F,GAEnE,CAMA,IAAKA,KAAQ3F,EAEN0uD,EAAMvF,SAASxjD,KAAOoW,KAAKpW,GAAQ3F,EAAQ2F,GAEpD,CAuMC,OArMD,qBAIA,WACE,OAAOoW,KAAKozG,QAAQpzG,KAAKozG,QAAQluH,OAAS,EAC5C,EAEA,IAOA,SAAS89F,GACHwvB,EAAMxvB,KACRA,EAAO0vB,EAAU1vB,IAGnBswB,EAAetwB,EAAM,QAEjBhjF,KAAKgjF,OAASA,GAChBhjF,KAAKozG,QAAQltH,KAAK88F,EAEtB,GAEA,mBAGA,WACE,MAA4B,kBAAdhjF,KAAKgjF,KAAoBA,EAAKsuB,QAAQtxG,KAAKgjF,WAAQn7F,CACnE,EAEA,IAIA,SAAYypH,GACVJ,EAAWlxG,KAAKgxG,SAAU,WAC1BhxG,KAAKgjF,KAAOA,EAAK/6F,KAAKqpH,GAAW,GAAItxG,KAAKgxG,SAC5C,GAEA,oBAGA,WACE,MAA4B,kBAAdhxG,KAAKgjF,KAAoBA,EAAKguB,SAAShxG,KAAKgjF,WAAQn7F,CACpE,EAEA,IAMA,SAAampH,GACXsC,EAAetC,EAAU,YACzBuC,EAAWvC,EAAU,YACrBhxG,KAAKgjF,KAAOA,EAAK/6F,KAAK+X,KAAKsxG,SAAW,GAAIN,EAC5C,GAEA,mBAGA,WACE,MAA4B,kBAAdhxG,KAAKgjF,KAAoBA,EAAKwuB,QAAQxxG,KAAKgjF,WAAQn7F,CACnE,EAEA,IAMA,SAAY2pH,GAIV,GAHA+B,EAAW/B,EAAS,WACpBN,EAAWlxG,KAAKsxG,QAAS,WAErBE,EAAS,CACX,GAA8B,KAA1BA,EAAQztG,WAAW,GACrB,MAAM,IAAIvb,MAAM,iCAGlB,GAAIgpH,EAAQpkE,SAAS,IAAK,GACxB,MAAM,IAAI5kD,MAAM,yCAEpB,CAEAwX,KAAKgjF,KAAOA,EAAK/6F,KAAK+X,KAAKsxG,QAAStxG,KAAKwzG,MAAQhC,GAAW,IAC9D,GAEA,gBAGA,WACE,MAA4B,kBAAdxxG,KAAKgjF,KACfA,EAAKguB,SAAShxG,KAAKgjF,KAAMhjF,KAAKwxG,cAC9B3pH,CACN,EAEA,IAMA,SAAS2rH,GACPF,EAAeE,EAAM,QACrBD,EAAWC,EAAM,QACjBxzG,KAAKgjF,KAAOA,EAAK/6F,KAAK+X,KAAKsxG,SAAW,GAAIkC,GAAQxzG,KAAKwxG,SAAW,IACpE,GAEA,sBASA,SAASiC,GACP,OAAQzzG,KAAK3b,OAAS,IAAIpB,SAASwwH,EACrC,GAEA,qBAcA,SAAQzwG,EAAQwtG,EAAOC,GACrB,IAAMlyC,EAAU,IAAIgyC,EAAavtG,EAAQwtG,EAAOC,GAWhD,OATIzwG,KAAKgjF,OACPzkB,EAAQr6E,KAAO8b,KAAKgjF,KAAO,IAAMzkB,EAAQr6E,KACzCq6E,EAAQwkB,KAAO/iF,KAAKgjF,MAGtBzkB,EAAQoyC,OAAQ,EAEhB3wG,KAAKiI,SAAS/hB,KAAKq4E,GAEZA,CACT,GAEA,kBAaA,SAAKv7D,EAAQwtG,EAAOC,GAClB,IAAMlyC,EAAUv+D,KAAKu+D,QAAQv7D,EAAQwtG,EAAOC,GAI5C,OAFAlyC,EAAQoyC,MAAQ,KAETpyC,CACT,GAEA,kBAeA,SAAKv7D,EAAQwtG,EAAOC,GAClB,IAAMlyC,EAAUv+D,KAAKu+D,QAAQv7D,EAAQwtG,EAAOC,GAI5C,MAFAlyC,EAAQoyC,OAAQ,EAEVpyC,CACR,KAAC,EA9Te,GAwUlB,SAASg1C,EAAWG,EAAMxvH,GACxB,GAAIwvH,GAAQA,EAAKtmE,SAAS41C,EAAK8uB,KAC7B,MAAM,IAAItpH,MACR,IAAMtE,EAAO,uCAAyC8+F,EAAK8uB,IAAM,IAGvE,CASA,SAASwB,EAAeI,EAAMxvH,GAC5B,IAAKwvH,EACH,MAAM,IAAIlrH,MAAM,IAAMtE,EAAO,oBAEjC,CASA,SAASgtH,EAAWluB,EAAM9+F,GACxB,IAAK8+F,EACH,MAAM,IAAIx6F,MAAM,YAActE,EAAO,kCAEzC,CC/Ze,SAASyvH,EAASrwH,GAC/B,OAAO,EAAeA,IAAQ,EAAgBA,IAAQ,EAA2BA,IAAQ,GAC3F,CCCO,SAASswH,EAAK/wG,GACnB,GAAIA,EACF,MAAMA,CAEV,eCXe,SAASpf,EAAcY,GACrC,GAAqB,kBAAVA,GAAgC,OAAVA,EAChC,OAAO,EAGR,IAAMvB,EAAYD,OAAOipH,eAAeznH,GACxC,OAAsB,OAAdvB,GAAsBA,IAAcD,OAAOC,WAAkD,OAArCD,OAAOipH,eAAehpH,OAA0B2oD,OAAOgiE,eAAeppH,MAAYonD,OAAOe,YAAYnoD,EACtK,CCqFO,SAASmX,EAAKq4G,EAAY/+C,GAE/B,IAAIg/C,EAEJ,OAQA,WAAgC,2BAAZC,EAAU,yBAAVA,EAAU,gBAC5B,IAEI9sH,EAFE+sH,EAAoBH,EAAW3uH,OAAS6uH,EAAW7uH,OAIrD8uH,GACFD,EAAW7tH,KAAKgyE,GAGlB,IACEjxE,EAAS4sH,EAAWzzG,MAAMJ,KAAM+zG,EAalC,CAZE,MAAOlxG,GACP,IAAMqvF,EAAkCrvF,EAMxC,GAAImxG,GAAqBF,EACvB,MAAM5hB,EAGR,OAAOh6B,EAAKg6B,EACd,CAEK8hB,IACC/sH,aAAkB4mE,QACpB5mE,EAAOgnE,KAAKA,EAAMiK,GACTjxE,aAAkBuB,MAC3B0vE,EAAKjxE,GAELgnE,EAAKhnE,GAGX,EAMA,SAASixE,EAAKr1D,GACZ,IAAKixG,EAAQ,CACXA,GAAS,EAAI,2BAFOvtG,EAAM,iCAANA,EAAM,kBAG1BuuD,EAAQ,cAACjyD,GAAK,OAAK0D,GACrB,CACF,CAOA,SAAS0nD,EAAK5pE,GACZ6zE,EAAK,KAAM7zE,EACb,CACF,CCnIO,IAAM4vH,EAQb,SAASlgE,IACP,IAMImgE,EANEC,EDpBD,WAEL,IAAMC,EAAM,GAENC,EAAW,CAACzgC,IAKlB,WAAwB,2BAAR5sF,EAAM,yBAANA,EAAM,gBACpB,IAAIstH,GAAmB,EAEjBx/C,EAAW9tE,EAAO67B,MAExB,GAAwB,oBAAbiyC,EACT,MAAM,IAAI7yD,UAAU,2CAA6C6yD,GAWnE,SAASpuD,EAAK7D,GACZ,IAAMstG,EAAKiE,IAAME,GACbvuH,GAAS,EAEb,GAAI8c,EACFiyD,EAASjyD,OADX,CAKA,2BATsB0D,EAAM,iCAANA,EAAM,kBAU5B,OAASxgB,EAAQiB,EAAO9B,QACA,OAAlBqhB,EAAOxgB,SAAqC8B,IAAlB0e,EAAOxgB,KACnCwgB,EAAOxgB,GAASiB,EAAOjB,IAK3BiB,EAASuf,EAGL4pG,EACF30G,EAAK20G,EAAIzpG,GAAK,aAAIH,GAElBuuD,EAAQ,cAAC,MAAI,OAAKvuD,GAhBpB,CAkBF,CAjCAG,EAAI,cAAC,MAAI,SAAK1f,IAkChB,EAhDuButH,IAmDvB,SAAaC,GACX,GAA0B,oBAAfA,EACT,MAAM,IAAIvyG,UACR,+CAAiDuyG,GAKrD,OADAJ,EAAIluH,KAAKsuH,GACFH,CACT,GA1DA,OAAOA,CA2DT,CC7CuBI,GAEfC,EAAY,GAEdljG,EAAY,CAAC,EAGbmjG,GAAe,EA2BnB,OAvBAC,EAAUlrH,KA6CV,SAAc/F,EAAKU,GACjB,GAAmB,kBAARV,EAET,OAAyB,IAArBqB,UAAUE,QACZ2vH,GAAe,OAAQX,GACvB1iG,EAAU7tB,GAAOU,EACVuwH,GAIDttH,EAAI9D,KAAKguB,EAAW7tB,IAAQ6tB,EAAU7tB,IAAS,KAIzD,GAAIA,EAGF,OAFAkxH,GAAe,OAAQX,GACvB1iG,EAAY7tB,EACLixH,EAIT,OAAOpjG,CACT,EAlEAojG,EAAUtkF,YAASzoC,EACnB+sH,EAAUE,cAAWjtH,EAGrB+sH,EAAUG,OAiEV,WACE,GAAIb,EACF,OAAOU,EAGT,OAASD,EAAcD,EAAUxvH,QAAQ,CACvC,QAA+BwvH,EAAUC,IAAlCK,EAAQ,KAAK/wH,EAAO,WAE3B,IAAmB,IAAfA,EAAQ,GAAZ,EAImB,IAAfA,EAAQ,KACVA,EAAQ,QAAK4D,GAIf,IAAMotH,EAAcD,EAASxxH,KAAI,MAAbwxH,EAAQ,CAAMJ,GAAS,SAAK3wH,KAErB,oBAAhBgxH,GACTd,EAAaI,IAAIU,EAVnB,CAYF,CAKA,OAHAf,GAAS,EACTS,EAAc9rH,OAAOqsH,kBAEdN,CACT,EA1FAA,EAAUF,UAAYA,EAEtBE,EAAUL,IA+FV,SAAalwH,GAAmB,2BAATJ,EAAO,iCAAPA,EAAO,kBAE5B,IAAI6hB,EAIJ,GAFA+uG,GAAe,MAAOX,GAER,OAAV7vH,QAA4BwD,IAAVxD,QAEf,GAAqB,oBAAVA,EAChB8wH,EAAS,cAAC9wH,GAAK,OAAKJ,QACf,IAAqB,kBAAVI,EAOhB,MAAM,IAAI4d,UAAU,+BAAiC5d,EAAQ,KANzDd,MAAMF,QAAQgB,GAChB+wH,EAAQ/wH,GAERgxH,EAAUhxH,EAId,CAEIyhB,IACF0L,EAAU1L,SAAWjjB,OAAO6gC,OAAOlS,EAAU1L,UAAY,CAAC,EAAGA,IAG/D,OAAO8uG,EAMP,SAASnrE,EAAIplD,GACX,GAAqB,oBAAVA,EACT8wH,EAAU9wH,OACL,IAAqB,kBAAVA,EAQhB,MAAM,IAAI4d,UAAU,+BAAiC5d,EAAQ,KAP7D,GAAId,MAAMF,QAAQgB,GAAQ,CACxB,QAA6BA,GAAtBixH,EAAM,KAAKrxH,EAAO,WACzBkxH,EAAS,cAACG,GAAM,SAAKrxH,IACvB,MACEoxH,EAAUhxH,EAId,CACF,CAMA,SAASgxH,EAAUpuH,GACjBmuH,EAAQnuH,EAAOusG,SAEXvsG,EAAO6e,WACTA,EAAWjjB,OAAO6gC,OAAO5d,GAAY,CAAC,EAAG7e,EAAO6e,UAEpD,CAMA,SAASsvG,EAAQ5hB,GACf,IAAIztG,GAAS,EAEb,GAAgB,OAAZytG,QAAgC3rG,IAAZ2rG,OAEjB,KAAIjwG,MAAMF,QAAQmwG,GAMvB,MAAM,IAAIvxF,UAAU,oCAAsCuxF,EAAU,KALpE,OAASztG,EAAQytG,EAAQtuG,QAAQ,CAE/BukD,EADc+pD,EAAQztG,GAExB,CAGF,CACF,CAOA,SAASovH,EAAUG,EAAQjxH,GAKzB,IAJA,IAEI6kC,EAFAnjC,GAAS,IAIJA,EAAQ2uH,EAAUxvH,QACzB,GAAIwvH,EAAU3uH,GAAO,KAAOuvH,EAAQ,CAClCpsF,EAAQwrF,EAAU3uH,GAClB,KACF,CAGEmjC,GACEqsF,EAAWrsF,EAAM,KAAOqsF,EAAWlxH,KACrCA,EAAQM,GAAO,EAAMukC,EAAM,GAAI7kC,IAGjC6kC,EAAM,GAAK7kC,GAGXqwH,EAAUxuH,KAAK,MAAD,qBAAKlB,WAEvB,CACF,EApMA4vH,EAAU1sG,MAuMV,SAAek6E,GACbwyB,EAAUG,SACV,IAAMhyB,EAAOyyB,GAAMpzB,GACb9xD,EAASskF,EAAUtkF,OAGzB,GAFAmlF,GAAa,QAASnlF,GAElBolF,GAAQplF,EAAQ,SAElB,OAAO,IAAIA,EAAO7nC,OAAOs6F,GAAOA,GAAM76E,QAIxC,OAAOooB,EAAO7nC,OAAOs6F,GAAOA,EAC9B,EAnNA6xB,EAAUrpC,UAsNV,SAAmBlkF,EAAM+6F,GACvBwyB,EAAUG,SACV,IAAMhyB,EAAOyyB,GAAMpzB,GACb0yB,EAAWF,EAAUE,SAI3B,GAHAa,GAAe,YAAab,GAC5Bc,GAAWvuH,GAEPquH,GAAQZ,EAAU,WAEpB,OAAO,IAAIA,EAASztH,EAAM07F,GAAM8yB,UAIlC,OAAOf,EAASztH,EAAM07F,EACxB,EAlOA6xB,EAAUhhC,IA0OV,SAAavsF,EAAM+6F,EAAKttB,GACtB8gD,GAAWvuH,GACXutH,EAAUG,SAELjgD,GAA2B,oBAARstB,IACtBttB,EAAWstB,EACXA,OAAMv6F,GAGR,IAAKitE,EACH,OAAO,IAAIjH,QAAQioD,GAUrB,SAASA,EAAS9nD,EAAS+nD,GAUzB,SAAS79C,EAAKr1D,EAAOmzG,EAAMjzB,GACzBizB,EAAOA,GAAQ3uH,EACXwb,EACFkzG,EAAOlzG,GACEmrD,EACTA,EAAQgoD,GAGRlhD,EAAS,KAAMkhD,EAAMjzB,EAEzB,CAlBAoxB,EAAavgC,IAAIvsF,EAAMmuH,GAAMpzB,GAAMlqB,EAmBrC,CA5BA49C,EAAS,KAAMhhD,EA6BjB,EAnRA8/C,EAAUqB,QAsRV,SAAiB5uH,EAAM07F,GAErB,IAAI97F,EAEAivH,EAOJ,OALAtB,EAAUhhC,IAAIvsF,EAAM07F,EAAM7qB,GAE1Bi+C,GAAW,UAAW,MAAOD,GAGtBjvH,EAOP,SAASixE,EAAKr1D,EAAOmzG,GACnBpC,EAAK/wG,GACL5b,EAAS+uH,EACTE,GAAW,CACb,CACF,EA3SAtB,EAAUwB,QAkTV,SAAiBh0B,EAAKttB,GAKpB,GAJA8/C,EAAUG,SACVU,GAAa,UAAWb,EAAUtkF,QAClCqlF,GAAe,UAAWf,EAAUE,WAE/BhgD,EACH,OAAO,IAAIjH,QAAQioD,GAUrB,SAASA,EAAS9nD,EAAS+nD,GACzB,IAAMhzB,EAAOyyB,GAAMpzB,GA0BnB,SAASlqB,EAAKr1D,EAAOkgF,GACflgF,IAAUkgF,EACZgzB,EAAOlzG,GACEmrD,EACTA,EAAQ+0B,GAGRjuB,EAAS,KAAMiuB,EAEnB,CAjCA6xB,EAAUhhC,IAAIghC,EAAU1sG,MAAM66E,GAAOA,GAAM,SAAClgF,EAAOmzG,EAAMjzB,GACvD,IAAIlgF,GAAUmzG,GAASjzB,EAEhB,CAEL,IAAM97F,EAAS2tH,EAAUrpC,UAAUyqC,EAAMjzB,QAE1Bl7F,IAAXZ,GAAmC,OAAXA,IAsMZ,kBADI5C,EAnMY4C,IAoMJid,EAAS7f,GAnMnC0+F,EAAK1+F,MAAQ4C,EAEb87F,EAAK97F,OAASA,GAGhBixE,EAAKr1D,EAAOkgF,EACd,MAdE7qB,EAAKr1D,GA0Mf,IAA8Bxe,CA3LxB,GAiBF,CA5CAyxH,EAAS,KAAMhhD,EA6CjB,EAvWA8/C,EAAUyB,YA0WV,SAAqBj0B,GAEnB,IAAI8zB,EAEJtB,EAAUG,SACVU,GAAa,cAAeb,EAAUtkF,QACtCqlF,GAAe,cAAef,EAAUE,UAExC,IAAM/xB,EAAOyyB,GAAMpzB,GAMnB,OAJAwyB,EAAUwB,QAAQrzB,EAAM7qB,GAExBi+C,GAAW,cAAe,UAAWD,GAE9BnzB,EAMP,SAAS7qB,EAAKr1D,GACZqzG,GAAW,EACXtC,EAAK/wG,EACP,CACF,EA/XO+xG,EAIP,SAASA,IAIP,IAHA,IAAM0B,EAAcviE,IAChBhuD,GAAS,IAEJA,EAAQ2uH,EAAUxvH,QACzBoxH,EAAY/B,IAAG,MAAf+B,EAAW,EAAQ5B,EAAU3uH,KAK/B,OAFAuwH,EAAY5sH,KAAK/E,GAAO,EAAM,CAAC,EAAG6sB,IAE3B8kG,CACT,CAiXF,CA3auBviE,GAAOghE,SAExBztH,EAAM,CAAC,EAAEvE,eAkbf,SAAS2yH,GAAQrxH,EAAOH,GACtB,MACmB,oBAAVG,GAGPA,EAAMvB,YAeV,SAAcuB,GAEZ,IAAIV,EAEJ,IAAKA,KAAOU,EACV,GAAIiD,EAAI9D,KAAKa,EAAOV,GAClB,OAAO,EAIX,OAAO,CACT,CArBKgkC,CAAKtjC,EAAMvB,YAAcoB,KAAQG,EAAMvB,UAE5C,CA4BA,SAAS2yH,GAAavxH,EAAMG,GAC1B,GAAqB,oBAAVA,EACT,MAAM,IAAI4d,UAAU,WAAa/d,EAAO,qBAE5C,CASA,SAASyxH,GAAezxH,EAAMG,GAC5B,GAAqB,oBAAVA,EACT,MAAM,IAAI4d,UAAU,WAAa/d,EAAO,uBAE5C,CASA,SAAS2wH,GAAe3wH,EAAMgwH,GAC5B,GAAIA,EACF,MAAM,IAAI1rH,MACR,gBACEtE,EACA,mHAGR,CAQA,SAAS0xH,GAAWvuH,GAGlB,IAAKkuH,EAAWluH,IAA8B,kBAAdA,EAAKlB,KACnC,MAAM,IAAI8b,UAAU,uBAAyB5a,EAAO,IAGxD,CAUA,SAAS8uH,GAAWjyH,EAAMqyH,EAAWL,GACnC,IAAKA,EACH,MAAM,IAAI1tH,MACR,IAAMtE,EAAO,0BAA4BqyH,EAAY,YAG3D,CAMA,SAASf,GAAMnxH,GACb,OAOF,SAAyBA,GACvB,OAAO8oG,QACL9oG,GACmB,kBAAVA,GACP,YAAaA,GACb,aAAcA,EAEpB,CAdSmyH,CAAgBnyH,GAASA,EAAQ,IAAI6uH,EAAM7uH,EACpD,CCnjBO,SAASpB,GAASoE,EAAMpD,GAC7B,IAA4C,GAAbA,GAAW,CAAC,GAAtCwyH,gBACL,OAAOC,GAAIrvH,OADS,IAAG,GAAI,EAE7B,CAOA,SAASqvH,GAAIrvH,EAAMovH,GACjB,OACGpvH,GACiB,kBAATA,IAENA,EAAKhD,QAEHoyH,EAAkBpvH,EAAKkI,IAAM,KAE7B,aAAclI,GAAQmhH,GAAInhH,EAAKf,SAAUmwH,IACzClzH,MAAMF,QAAQgE,IAASmhH,GAAInhH,EAAMovH,KACtC,EAEJ,CAOA,SAASjO,GAAIxhH,EAAQyvH,GAKnB,IAHA,IAAIxvH,EAAS,GACTlB,GAAS,IAEJA,EAAQiB,EAAO9B,QACtB+B,EAAOlB,GAAS2wH,GAAI1vH,EAAOjB,GAAQ0wH,GAGrC,OAAOxvH,EAAOgB,KAAK,GACrB,CCtCO,SAAS4hC,GAAO52B,EAAMvN,EAAOw9B,EAAQD,GAC1C,IAII8wF,EAJEzqH,EAAM2J,EAAK/N,OACbyxH,EAAa,EAajB,GAPEjxH,EADEA,EAAQ,GACDA,EAAQ4D,EAAM,EAAIA,EAAM5D,EAEzBA,EAAQ4D,EAAMA,EAAM5D,EAG9Bw9B,EAASA,EAAS,EAAIA,EAAS,EAE3BD,EAAM/9B,OAAS,KACjB6uH,EAAaxwH,MAAM+lH,KAAKrmF,IACbz7B,QAAQ9B,EAAOw9B,GACzB,GAAG2G,OAAOzpB,MAAMnN,EAAM8gH,QAKvB,IAFI7wF,GAAQ,GAAG2G,OAAOzpB,MAAMnN,EAAM,CAACvN,EAAOw9B,IAEnCyzF,EAAa1zF,EAAM/9B,SACxB6uH,EAAa9wF,EAAMn9B,MAAM6wH,EAAYA,EAAa,MACvCnvH,QAAQ9B,EAAO,GACzB,GAAGmkC,OAAOzpB,MAAMnN,EAAM8gH,GACvB4C,GAAc,IACdjxH,GAAS,GAGf,CAcO,SAASQ,GAAK+M,EAAMgwB,GACzB,OAAIhwB,EAAK/N,OAAS,GAChB2kC,GAAO52B,EAAMA,EAAK/N,OAAQ,EAAG+9B,GACtBhwB,GAGFgwB,CACT,CC3DA,IAAMlgC,GAAiB,CAAC,EAAEA,eAQnB,SAAS6zH,GAAkBC,GAKhC,IAHA,IAAMrO,EAAM,CAAC,EACTziH,GAAS,IAEJA,EAAQ8wH,EAAW3xH,QAC1B4xH,GAAgBtO,EAAKqO,EAAW9wH,IAGlC,OAAOyiH,CACT,CASA,SAASsO,GAAgBtO,EAAKrD,GAE5B,IAAI4R,EAEJ,IAAKA,KAAQ5R,EAAW,CACtB,IACMp8C,GADQhmE,GAAeS,KAAKglH,EAAKuO,GAAQvO,EAAIuO,QAAQlvH,KACpC2gH,EAAIuO,GAAQ,CAAC,GAC9BC,EAAQ7R,EAAU4R,GAEpBv6G,OAAI,EAER,IAAKA,KAAQw6G,EAAO,CACbj0H,GAAeS,KAAKulE,EAAMvsD,KAAOusD,EAAKvsD,GAAQ,IACnD,IAAMnY,EAAQ2yH,EAAMx6G,GACpBy6G,GAEEluD,EAAKvsD,GACLjZ,MAAMF,QAAQgB,GAASA,EAAQA,EAAQ,CAACA,GAAS,GAErD,CACF,CACF,CAUA,SAAS4yH,GAAWC,EAAUjkH,GAK5B,IAJA,IAAIlN,GAAS,EAEPgnG,EAAS,KAENhnG,EAAQkN,EAAK/N,SAEE,UAApB+N,EAAKlN,GAAO0jD,IAAkBytE,EAAWnqB,GAAQ7mG,KAAK+M,EAAKlN,IAG/D8jC,GAAOqtF,EAAU,EAAG,EAAGnqB,EACzB,CCxEO,ICWMoqB,GAAaC,GAAW,YAQxBC,GAAaD,GAAW,MAexBE,GAAgBF,GAAW,cAS3BG,GAAoBH,GAAW,cAU/BI,GAAmBJ,GAAW,kBAkB9BK,GAAaL,GAAW,uBAW9B,SAASM,GAAal7G,GAC3B,OAGW,OAATA,IAAkBA,EAAO,IAAe,MAATA,EAEnC,CASO,SAASm7G,GAA0Bn7G,GACxC,OAAgB,OAATA,IAAkBA,EAAO,GAAc,KAATA,EACvC,CAeO,SAASo7G,GAAmBp7G,GACjC,OAAgB,OAATA,GAAiBA,GAAQ,CAClC,CAeO,SAASq7G,GAAcr7G,GAC5B,OAAiB,IAAVA,IAAyB,IAAVA,GAAwB,KAATA,CACvC,CAiBO,IAAMs7G,GAAoBV,GAAW,MAkB/BW,GAAqBX,GDvKhC,+vCC+KF,SAASA,GAAW7hC,GAClB,OAQA,SAAe/4E,GACb,OAAgB,OAATA,GAAiB+4E,EAAMxrF,KAAKtB,OAAOoc,aAAarI,GACzD,CACF,CCrLO,SAASw7G,GAAavjD,EAASyR,EAAI//E,EAAMmN,GAC9C,IAAM2kH,EAAQ3kH,EAAMA,EAAM,EAAIzK,OAAOqsH,kBACjCz6G,EAAO,EACX,OAGA,SAAe+B,GACb,GAAIq7G,GAAcr7G,GAEhB,OADAi4D,EAAQyjD,MAAM/xH,GACPgZ,EAAO3C,GAGhB,OAAO0pE,EAAG1pE,EACZ,EAGA,SAAS2C,EAAO3C,GACd,OAAIq7G,GAAcr7G,IAAS/B,IAASw9G,GAClCxjD,EAAQ0jD,QAAQ37G,GACT2C,IAGTs1D,EAAQ2jD,KAAKjyH,GACN+/E,EAAG1pE,GACZ,CACF,CC5BO,IAAM7U,GAAU,CACrBwkG,SAIF,SAA2B13B,GACzB,IAOIlvE,EAPE8yH,EAAe5jD,EAAQ6jD,QAC3Bt4G,KAAK0hB,OAAOu1F,WAAWsB,gBAUzB,SAAoC/7G,GAClC,GAAa,OAATA,EAEF,YADAi4D,EAAQ0jD,QAAQ37G,GAOlB,OAHAi4D,EAAQyjD,MAAM,cACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,cACNJ,GAAavjD,EAAS4jD,EAAc,aAC7C,IAGA,SAA0B77G,GAExB,OADAi4D,EAAQyjD,MAAM,aACPM,EAAUh8G,EACnB,IAnBA,OAAO67G,EAsBP,SAASG,EAAUh8G,GACjB,IAAMyM,EAAQwrD,EAAQyjD,MAAM,YAAa,CACvChwB,YAAa,OACb3iG,SAAAA,IAQF,OALIA,IACFA,EAASmhB,KAAOuC,GAGlB1jB,EAAW0jB,EACJvf,EAAK8S,EACd,CAGA,SAAS9S,EAAK8S,GACZ,OAAa,OAATA,GACFi4D,EAAQ2jD,KAAK,aACb3jD,EAAQ2jD,KAAK,kBACb3jD,EAAQ0jD,QAAQ37G,IAIdo7G,GAAmBp7G,IACrBi4D,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,aACNI,IAGT/jD,EAAQ0jD,QAAQ37G,GACT9S,EACT,CACF,GC1DO,IAAM0b,GAAW,CACtB+mF,SASF,SAA4B13B,GAC1B,IAOIgkD,EAGAC,EAGAC,EAbE3mC,EAAOhyE,KAGP2iB,EAAQ,GACVi2F,EAAY,EAUhB,OAAOlzH,EAGP,SAASA,EAAM8W,GAWb,GAAIo8G,EAAYj2F,EAAMz9B,OAAQ,CAC5B,IAAM2zH,EAAOl2F,EAAMi2F,GAEnB,OADA5mC,EAAK8mC,eAAiBD,EAAK,GACpBpkD,EAAQ6jD,QACbO,EAAK,GAAG30B,aACR60B,EACAC,EAHKvkD,CAILj4D,EACJ,CAEA,OAAOw8G,EAAmBx8G,EAC5B,CAGA,SAASu8G,EAAiBv8G,GAKxB,GAJAo8G,IAII5mC,EAAK8mC,eAAeG,WAAY,CAClCjnC,EAAK8mC,eAAeG,gBAAapxH,EAE7B4wH,GACFS,IAUF,IANA,IAII5I,EAJE6I,EAAmBnnC,EAAKonC,OAAOl0H,OACjCm0H,EAAkBF,EAKfE,KACL,GACsC,SAApCrnC,EAAKonC,OAAOC,GAAiB,IACY,cAAzCrnC,EAAKonC,OAAOC,GAAiB,GAAGlzH,KAChC,CACAmqH,EAAQt+B,EAAKonC,OAAOC,GAAiB,GAAG/vH,IACxC,KACF,CAGFgwH,EAAeV,GAIf,IAFA,IAAI7yH,EAAQozH,EAELpzH,EAAQisF,EAAKonC,OAAOl0H,QACzB8sF,EAAKonC,OAAOrzH,GAAO,GAAGuD,IAAMzG,OAAO6gC,OAAO,CAAC,EAAG4sF,GAC9CvqH,IAWF,OARA8jC,GACEmoD,EAAKonC,OACLC,EAAkB,EAClB,EACArnC,EAAKonC,OAAOtzH,MAAMqzH,IAGpBnnC,EAAKonC,OAAOl0H,OAASa,EACdizH,EAAmBx8G,EAC5B,CAEA,OAAO9W,EAAM8W,EACf,CAGA,SAASw8G,EAAmBx8G,GAM1B,GAAIo8G,IAAcj2F,EAAMz9B,OAAQ,CAI9B,IAAKuzH,EACH,OAAOc,EAAkB/8G,GAK3B,GAAIi8G,EAAUe,kBAAoBf,EAAUe,iBAAiBC,SAC3D,OAAOC,EAAUl9G,GAKnBw1E,EAAK2nC,UAAYxsB,QACfsrB,EAAUe,mBAAqBf,EAAUmB,8BAE7C,CAGA,OADA5nC,EAAK8mC,eAAiB,CAAC,EAChBrkD,EAAQ30D,MACb+5G,GACAC,EACAC,EAHKtlD,CAILj4D,EACJ,CAGA,SAASs9G,EAAqBt9G,GAG5B,OAFIi8G,GAAWS,IACfI,EAAeV,GACRW,EAAkB/8G,EAC3B,CAGA,SAASu9G,EAAsBv9G,GAG7B,OAFAw1E,EAAKtwD,OAAOgwD,KAAKM,EAAK3qE,MAAM7E,MAAQo2G,IAAcj2F,EAAMz9B,OACxDyzH,EAAkB3mC,EAAK3qE,MAAMW,OACtB0xG,EAAUl9G,EACnB,CAGA,SAAS+8G,EAAkB/8G,GAGzB,OADAw1E,EAAK8mC,eAAiB,CAAC,EAChBrkD,EAAQ6jD,QACbuB,GACAG,EACAN,EAHKjlD,CAILj4D,EACJ,CAGA,SAASw9G,EAAkBx9G,GAIzB,OAHAo8G,IACAj2F,EAAMz8B,KAAK,CAAC8rF,EAAKwnC,iBAAkBxnC,EAAK8mC,iBAEjCS,EAAkB/8G,EAC3B,CAGA,SAASk9G,EAAUl9G,GACjB,OAAa,OAATA,GACEi8G,GAAWS,IACfI,EAAe,QACf7kD,EAAQ0jD,QAAQ37G,KAIlBi8G,EAAYA,GAAazmC,EAAKtwD,OAAOkiE,KAAK5R,EAAK3qE,OAC/CotD,EAAQyjD,MAAM,YAAa,CACzBhwB,YAAa,OACb3iG,SAAUmzH,EACVuB,WAAYxB,IAEPyB,EAAa19G,GACtB,CAGA,SAAS09G,EAAa19G,GACpB,OAAa,OAATA,GACF29G,EAAa1lD,EAAQ2jD,KAAK,cAAc,GACxCkB,EAAe,QACf7kD,EAAQ0jD,QAAQ37G,IAIdo7G,GAAmBp7G,IACrBi4D,EAAQ0jD,QAAQ37G,GAChB29G,EAAa1lD,EAAQ2jD,KAAK,cAE1BQ,EAAY,EACZ5mC,EAAK2nC,eAAY9xH,EACVnC,IAGT+uE,EAAQ0jD,QAAQ37G,GACT09G,EACT,CAOA,SAASC,EAAalxG,EAAOmxG,GAC3B,IAAMC,EAASroC,EAAKsoC,YAAYrxG,GAwChC,GAvCImxG,GAAKC,EAAOn0H,KAAK,MACrB+iB,EAAM1jB,SAAWmzH,EACbA,IAAYA,EAAWhyG,KAAOuC,GAClCyvG,EAAazvG,EACbwvG,EAAU8B,WAAWtxG,EAAMvjB,OAC3B+yH,EAAUjoF,MAAM6pF,GAkCZroC,EAAKtwD,OAAOgwD,KAAKzoE,EAAMvjB,MAAM8c,MAAO,CAGtC,IAFA,IAAIzc,EAAQ0yH,EAAUW,OAAOl0H,OAEtBa,KACL,GAEE0yH,EAAUW,OAAOrzH,GAAO,GAAGL,MAAMsiB,OAAS2wG,KACxCF,EAAUW,OAAOrzH,GAAO,GAAGuD,KAC3BmvH,EAAUW,OAAOrzH,GAAO,GAAGuD,IAAI0e,OAAS2wG,GAI1C,OAcJ,IATA,IAII6B,EAGAlK,EAPE6I,EAAmBnnC,EAAKonC,OAAOl0H,OACjCm0H,EAAkBF,EAQfE,KACL,GACsC,SAApCrnC,EAAKonC,OAAOC,GAAiB,IACY,cAAzCrnC,EAAKonC,OAAOC,GAAiB,GAAGlzH,KAChC,CACA,GAAIq0H,EAAM,CACRlK,EAAQt+B,EAAKonC,OAAOC,GAAiB,GAAG/vH,IACxC,KACF,CAEAkxH,GAAO,CACT,CAOF,IAJAlB,EAAeV,GAEf7yH,EAAQozH,EAEDpzH,EAAQisF,EAAKonC,OAAOl0H,QACzB8sF,EAAKonC,OAAOrzH,GAAO,GAAGuD,IAAMzG,OAAO6gC,OAAO,CAAC,EAAG4sF,GAC9CvqH,IAGF8jC,GACEmoD,EAAKonC,OACLC,EAAkB,EAClB,EACArnC,EAAKonC,OAAOtzH,MAAMqzH,IAGpBnnC,EAAKonC,OAAOl0H,OAASa,CACvB,CACF,CAMA,SAASuzH,EAAe7+G,GAGtB,IAFA,IAAI1U,EAAQ48B,EAAMz9B,OAEXa,KAAU0U,GAAM,CACrB,IAAMyuB,EAAQvG,EAAM58B,GACpBisF,EAAK8mC,eAAiB5vF,EAAM,GAC5BA,EAAM,GAAGkvF,KAAK50H,KAAKwuF,EAAMvd,EAC3B,CAEA9xC,EAAMz9B,OAASuV,CACjB,CAEA,SAASy+G,IACPT,EAAUjoF,MAAM,CAAC,OACjBkoF,OAAa7wH,EACb4wH,OAAY5wH,EACZmqF,EAAK8mC,eAAeG,gBAAapxH,CACnC,CACF,GAjVMgyH,GAAqB,CACzB1tB,SAmVF,SAA2B13B,EAASyR,EAAIu0C,GACtC,OAAOzC,GACLvjD,EACAA,EAAQ6jD,QAAQt4G,KAAK0hB,OAAOu1F,WAAW7xG,SAAU8gE,EAAIu0C,GACrD,aACAz6G,KAAK0hB,OAAOu1F,WAAWyD,QAAQ3sB,KAAK3gD,SAAS,qBAAkBvlD,EAAY,EAE/E,GC3WO,IAAM8yH,GAAY,CACvBxuB,SAKF,SAA2B13B,EAASyR,EAAIu0C,GACtC,OAAOzC,GAAavjD,GAGpB,SAAyBj4D,GACvB,OAAgB,OAATA,GAAiBo7G,GAAmBp7G,GAAQ0pE,EAAG1pE,GAAQi+G,EAAIj+G,EACpE,GAL8C,aAMhD,EAXEo+G,SAAS,GCEJ,SAASC,GAAYzB,GA0B1B,IAxBA,IAIIt8G,EAGAg+G,EAGAC,EAGAC,EAGAjH,EAGAkH,EAGAtwB,EAtBEuwB,EAAQ,CAAC,EACXn1H,GAAS,IAuBJA,EAAQqzH,EAAOl0H,QAAQ,CAC9B,KAAOa,KAASm1H,GACdn1H,EAAQm1H,EAAMn1H,GAMhB,GAHA+W,EAAQs8G,EAAOrzH,GAIbA,GACkB,cAAlB+W,EAAM,GAAG3W,MACqB,mBAA9BizH,EAAOrzH,EAAQ,GAAG,GAAGI,QAGrB40H,EAAa,IADbE,EAAYn+G,EAAM,GAAGm9G,WAAWb,QAIPl0H,QACW,oBAAlC+1H,EAAUF,GAAY,GAAG50H,OAEzB40H,GAAc,GAIdA,EAAaE,EAAU/1H,QACW,YAAlC+1H,EAAUF,GAAY,GAAG50H,MAEzB,OAAS40H,EAAaE,EAAU/1H,QACQ,YAAlC+1H,EAAUF,GAAY,GAAG50H,MAIS,cAAlC80H,EAAUF,GAAY,GAAG50H,OAC3B80H,EAAUF,GAAY,GAAGI,6BAA8B,EACvDJ,KAMR,GAAiB,UAAbj+G,EAAM,GACJA,EAAM,GAAGorF,cACXrlG,OAAO6gC,OAAOw3F,EAAOE,GAAWhC,EAAQrzH,IACxCA,EAAQm1H,EAAMn1H,GACd4kG,GAAO,QAGN,GAAI7tF,EAAM,GAAGu+G,WAAY,CAI5B,IAHAN,EAAah1H,EACb+0H,OAAYjzH,EAELkzH,MAIoB,gBAHzBC,EAAa5B,EAAO2B,IAGP,GAAG50H,MACS,oBAAvB60H,EAAW,GAAG70H,OAEQ,UAAlB60H,EAAW,KACTF,IACF1B,EAAO0B,GAAW,GAAG30H,KAAO,mBAG9B60H,EAAW,GAAG70H,KAAO,aACrB20H,EAAYC,GAOdD,IAEFh+G,EAAM,GAAGxT,IAAMzG,OAAO6gC,OAAO,CAAC,EAAG01F,EAAO0B,GAAW,GAAGp1H,QAEtDquH,EAAaqF,EAAOtzH,MAAMg1H,EAAW/0H,IAC1ByB,QAAQsV,GACnB+sB,GAAOuvF,EAAQ0B,EAAW/0H,EAAQ+0H,EAAY,EAAG/G,GAErD,CACF,CAEA,OAAQppB,CACV,CASA,SAASywB,GAAWhC,EAAQkC,GA+B1B,IA9BA,IAiBIjB,EAGA90H,EApBE0jB,EAAQmwG,EAAOkC,GAAY,GAC3B5nD,EAAU0lD,EAAOkC,GAAY,GAC/BC,EAAgBD,EAAa,EAG3BE,EAAiB,GACjBv5F,EACJhZ,EAAMgxG,YAAcvmD,EAAQhyC,OAAOzY,EAAMi/E,aAAaj/E,EAAMvjB,OACxD+1H,EAAcx5F,EAAUm3F,OAGxB8B,EAAQ,GAGRQ,EAAO,CAAC,EAOV31H,GAAS,EAGT+8B,EAAU7Z,EACVliB,EAAS,EACTrB,EAAQ,EACNi2H,EAAS,CAACj2H,GAGTo9B,GAAS,CAEd,KAAOs2F,IAASmC,GAAe,KAAOz4F,IAItC04F,EAAet1H,KAAKq1H,GAEfz4F,EAAQm3F,aACXI,EAAS3mD,EAAQ4mD,YAAYx3F,GAExBA,EAAQpc,MACX2zG,EAAOn0H,KAAK,MAGVX,GACF08B,EAAUs4F,WAAWz3F,EAAQp9B,OAG3Bo9B,EAAQq4F,8BACVl5F,EAAU25F,oCAAqC,GAGjD35F,EAAUuO,MAAM6pF,GAEZv3F,EAAQq4F,8BACVl5F,EAAU25F,wCAAqC/zH,IAInDtC,EAAWu9B,EACXA,EAAUA,EAAQpc,IACpB,CAKA,IAFAoc,EAAU7Z,IAEDljB,EAAQ01H,EAAYv2H,QAGC,SAA1Bu2H,EAAY11H,GAAO,IACW,UAA9B01H,EAAY11H,EAAQ,GAAG,IACvB01H,EAAY11H,GAAO,GAAGI,OAASs1H,EAAY11H,EAAQ,GAAG,GAAGI,MACzDs1H,EAAY11H,GAAO,GAAGL,MAAM8c,OAASi5G,EAAY11H,GAAO,GAAGuD,IAAIkZ,OAE/D9c,EAAQK,EAAQ,EAChB41H,EAAOz1H,KAAKR,GAEZo9B,EAAQm3F,gBAAapyH,EACrBi7B,EAAQv9B,cAAWsC,EACnBi7B,EAAUA,EAAQpc,MAmBtB,IAfAub,EAAUm3F,OAAS,GAIft2F,GAEFA,EAAQm3F,gBAAapyH,EACrBi7B,EAAQv9B,cAAWsC,GAEnB8zH,EAAO94F,MAIT98B,EAAQ41H,EAAOz2H,OAERa,KAAS,CACd,IAAMD,EAAQ21H,EAAY31H,MAAM61H,EAAO51H,GAAQ41H,EAAO51H,EAAQ,IACxDL,EAAQ81H,EAAe34F,MAC7Bq4F,EAAM1zH,QAAQ,CAAC9B,EAAOA,EAAQI,EAAMZ,OAAS,IAC7C2kC,GAAOuvF,EAAQ1zH,EAAO,EAAGI,EAC3B,CAIA,IAFAC,GAAS,IAEAA,EAAQm1H,EAAMh2H,QACrBw2H,EAAK30H,EAASm0H,EAAMn1H,GAAO,IAAMgB,EAASm0H,EAAMn1H,GAAO,GACvDgB,GAAUm0H,EAAMn1H,GAAO,GAAKm1H,EAAMn1H,GAAO,GAAK,EAGhD,OAAO21H,CACT,CCvOO,IAAM/zH,GAAU,CACrBwkG,SAsBF,SAAyB13B,EAASyR,GAEhC,IAAI3gF,EACJ,OAGA,SAAeiX,GAKb,OAJAi4D,EAAQyjD,MAAM,WACd3yH,EAAWkvE,EAAQyjD,MAAM,eAAgB,CACvChwB,YAAa,YAERx+F,EAAK8S,EACd,EAGA,SAAS9S,EAAK8S,GACZ,OAAa,OAATA,EACKq/G,EAAWr/G,GAGhBo7G,GAAmBp7G,GACdi4D,EAAQ30D,MACbg8G,GACAC,EACAF,EAHKpnD,CAILj4D,IAGJi4D,EAAQ0jD,QAAQ37G,GACT9S,EACT,CAGA,SAASmyH,EAAWr/G,GAGlB,OAFAi4D,EAAQ2jD,KAAK,gBACb3jD,EAAQ2jD,KAAK,WACNlyC,EAAG1pE,EACZ,CAGA,SAASu/G,EAAgBv/G,GAQvB,OAPAi4D,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,gBACb7yH,EAASmhB,KAAO+tD,EAAQyjD,MAAM,eAAgB,CAC5ChwB,YAAa,UACb3iG,SAAAA,IAEFA,EAAWA,EAASmhB,KACbhd,CACT,CACF,EAvEEskE,QAeF,SAAwBorD,GAEtB,OADAyB,GAAYzB,GACLA,CACT,GAdM0C,GAAwB,CAC5B3vB,SAqEF,SAA8B13B,EAASyR,EAAIu0C,GACzC,IAAMzoC,EAAOhyE,KACb,OAGA,SAAwBxD,GAKtB,OAJAi4D,EAAQ2jD,KAAK,gBACb3jD,EAAQyjD,MAAM,cACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,cACNJ,GAAavjD,EAASunD,EAAU,aACzC,EAGA,SAASA,EAASx/G,GAChB,GAAa,OAATA,GAAiBo7G,GAAmBp7G,GACtC,OAAOi+G,EAAIj+G,GAGb,IAAMmmE,EAAOqP,EAAKonC,OAAOpnC,EAAKonC,OAAOl0H,OAAS,GAE9C,OACG8sF,EAAKtwD,OAAOu1F,WAAWyD,QAAQ3sB,KAAK3gD,SAAS,iBAC9Cu1B,GACiB,eAAjBA,EAAK,GAAGx8E,MACRw8E,EAAK,GAAGs5C,eAAet5C,EAAK,IAAI,GAAMz9E,QAAU,EAEzCghF,EAAG1pE,GAGLi4D,EAAQklD,UAAU3nC,EAAKtwD,OAAOu1F,WAAWrzB,KAAM62B,EAAKv0C,EAApDzR,CAAwDj4D,EACjE,CACF,EApGEo+G,SAAS,GCbJ,IAAMh3B,GAAO,CAClBuI,SAIF,SAAwB13B,GACtB,IAAMud,EAAOhyE,KACPk8G,EAAUznD,EAAQ6jD,QAEtBqC,IAmBF,SAAuBn+G,GACrB,GAAa,OAATA,EAEF,YADAi4D,EAAQ0jD,QAAQ37G,GAQlB,OAJAi4D,EAAQyjD,MAAM,mBACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,mBACbpmC,EAAKwnC,sBAAmB3xH,EACjBq0H,CACT,GA5BEznD,EAAQ6jD,QACNt4G,KAAK0hB,OAAOu1F,WAAWkF,YACvBC,EACApE,GACEvjD,EACAA,EAAQ6jD,QACNt4G,KAAK0hB,OAAOu1F,WAAWrzB,KACvBw4B,EACA3nD,EAAQ6jD,QAAQ3wH,GAASy0H,IAE3B,gBAIN,OAAOF,EAiBP,SAASE,EAAe5/G,GACtB,GAAa,OAATA,EASJ,OAJAi4D,EAAQyjD,MAAM,cACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,cACbpmC,EAAKwnC,sBAAmB3xH,EACjBq0H,EARLznD,EAAQ0jD,QAAQ37G,EASpB,CACF,GCxDO,IAAM6/G,GAAW,CACtBC,WAAYC,MAEDl4G,GAASm4G,GAAkB,UAC3Bj+G,GAAOi+G,GAAkB,QAMtC,SAASA,GAAkBvyB,GACzB,MAAO,CACLkC,SAOF,SAAwB13B,GACtB,IAAMud,EAAOhyE,KACPi3G,EAAaj3G,KAAK0hB,OAAOu1F,WAAWhtB,GACpC1rF,EAAOk2D,EAAQ6jD,QAAQrB,EAAYvxH,EAAO+2H,GAChD,OAAO/2H,EAGP,SAASA,EAAM8W,GACb,OAAOkgH,EAAQlgH,GAAQ+B,EAAK/B,GAAQigH,EAAQjgH,EAC9C,CAGA,SAASigH,EAAQjgH,GACf,GAAa,OAATA,EAOJ,OAFAi4D,EAAQyjD,MAAM,QACdzjD,EAAQ0jD,QAAQ37G,GACT9S,EANL+qE,EAAQ0jD,QAAQ37G,EAOpB,CAGA,SAAS9S,EAAK8S,GACZ,OAAIkgH,EAAQlgH,IACVi4D,EAAQ2jD,KAAK,QACN75G,EAAK/B,KAGdi4D,EAAQ0jD,QAAQ37G,GACT9S,EACT,CAMA,SAASgzH,EAAQlgH,GACf,GAAa,OAATA,EACF,OAAO,EAGT,IAAMvJ,EAAOgkH,EAAWz6G,GACpBzW,GAAS,EAEb,GAAIkN,EACF,OAASlN,EAAQkN,EAAK/N,QAAQ,CAC5B,IAAM2zH,EAAO5lH,EAAKlN,GAElB,IAAK8yH,EAAKtzH,UAAYszH,EAAKtzH,SAAS/B,KAAKwuF,EAAMA,EAAKzsF,UAClD,OAAO,CAEX,CAGF,OAAO,CACT,CACF,EAhEE+2H,WAAYC,GACA,SAAVtyB,EAAmB0yB,QAAyB90H,GAgElD,CAMA,SAAS00H,GAAeK,GACtB,OAGA,SAAwBxD,EAAQ1lD,GAC9B,IAGIwkD,EAHAnyH,GAAS,EAMb,OAASA,GAASqzH,EAAOl0H,aACT2C,IAAVqwH,EACEkB,EAAOrzH,IAAoC,SAA1BqzH,EAAOrzH,GAAO,GAAGI,OACpC+xH,EAAQnyH,EACRA,KAEQqzH,EAAOrzH,IAAoC,SAA1BqzH,EAAOrzH,GAAO,GAAGI,OAExCJ,IAAUmyH,EAAQ,IACpBkB,EAAOlB,GAAO,GAAG5uH,IAAM8vH,EAAOrzH,EAAQ,GAAG,GAAGuD,IAC5C8vH,EAAOvvF,OAAOquF,EAAQ,EAAGnyH,EAAQmyH,EAAQ,GACzCnyH,EAAQmyH,EAAQ,GAGlBA,OAAQrwH,GAIZ,OAAO+0H,EAAgBA,EAAcxD,EAAQ1lD,GAAW0lD,CAC1D,CACF,CAaA,SAASuD,GAAuBvD,EAAQ1lD,GAGtC,IAFA,IAAI4nD,EAAa,IAERA,GAAclC,EAAOl0H,QAC5B,IACGo2H,IAAelC,EAAOl0H,QACU,eAA/Bk0H,EAAOkC,GAAY,GAAGn1H,OACW,SAAnCizH,EAAOkC,EAAa,GAAG,GAAGn1H,KAC1B,CAUA,IATA,IAAMuD,EAAO0vH,EAAOkC,EAAa,GAAG,GAC9BuB,EAASnpD,EAAQ4mD,YAAY5wH,GAC/B3D,EAAQ82H,EAAO33H,OACf43H,GAAe,EACfriH,EAAO,EAGPsiH,OAAI,EAEDh3H,KAAS,CACd,IAAM28C,EAAQm6E,EAAO92H,GAErB,GAAqB,kBAAV28C,EAAoB,CAG7B,IAFAo6E,EAAcp6E,EAAMx9C,OAEyB,KAAtCw9C,EAAM3+B,WAAW+4G,EAAc,IACpCriH,IACAqiH,IAGF,GAAIA,EAAa,MACjBA,GAAe,CACjB,MACK,IAAe,IAAXp6E,EACPq6E,GAAO,EACPtiH,SACK,IAAe,IAAXioC,EAEJ,CAEL38C,IACA,KACF,CACF,CAEA,GAAI0U,EAAM,CACR,IAAMwO,EAAQ,CACZ9iB,KACEm1H,IAAelC,EAAOl0H,QAAU63H,GAAQtiH,EAAO,EAC3C,aACA,oBACN/U,MAAO,CACL8c,KAAM9Y,EAAKJ,IAAIkZ,KACfL,OAAQzY,EAAKJ,IAAI6Y,OAAS1H,EAC1BuN,OAAQte,EAAKJ,IAAI0e,OAASvN,EAC1BuiH,OAAQtzH,EAAKhE,MAAMs3H,OAASj3H,EAC5Bk3H,aAAcl3H,EACV+2H,EACApzH,EAAKhE,MAAMu3H,aAAeH,GAEhCxzH,IAAKzG,OAAO6gC,OAAO,CAAC,EAAGh6B,EAAKJ,MAE9BI,EAAKJ,IAAMzG,OAAO6gC,OAAO,CAAC,EAAGza,EAAMvjB,OAE/BgE,EAAKhE,MAAMsiB,SAAWte,EAAKJ,IAAI0e,OACjCnlB,OAAO6gC,OAAOh6B,EAAMuf,IAEpBmwG,EAAOvvF,OACLyxF,EACA,EACA,CAAC,QAASryG,EAAOyqD,GACjB,CAAC,OAAQzqD,EAAOyqD,IAElB4nD,GAAc,EAElB,CAEAA,GACF,CAGF,OAAOlC,CACT,CC3MO,SAASkD,GAAWrF,EAAYmC,EAAQ1lD,GAK7C,IAHA,IAAMogD,EAAS,GACX/tH,GAAS,IAEJA,EAAQkxH,EAAW/xH,QAAQ,CAClC,IAAM8oE,EAAUipD,EAAWlxH,GAAOu2H,WAE9BtuD,IAAY8lD,EAAO1mE,SAAS4gB,KAC9BorD,EAASprD,EAAQorD,EAAQ1lD,GACzBogD,EAAO5tH,KAAK8nE,GAEhB,CAEA,OAAOorD,CACT,CCcO,SAAS8D,GAAgBx7F,EAAQy7F,EAAY7T,GAElD,IAAIgH,EAAQztH,OAAO6gC,OACjB4lF,EACIzmH,OAAO6gC,OAAO,CAAC,EAAG4lF,GAClB,CACE9mG,KAAM,EACNL,OAAQ,EACR6F,OAAQ,GAEd,CACEg1G,OAAQ,EACRC,cAAe,IAKbG,EAAc,CAAC,EAGfC,EAAuB,GAGzBR,EAAS,GAGTl6F,EAAQ,GAUN8xC,EAAU,CACd0jD,QA2IF,SAAiB37G,GACXo7G,GAAmBp7G,IACrB8zG,EAAM9tG,OACN8tG,EAAMnuG,OAAS,EACfmuG,EAAMtoG,SAAoB,IAAVxL,EAAc,EAAI,EAClC8gH,MACmB,IAAV9gH,IACT8zG,EAAMnuG,SACNmuG,EAAMtoG,UAGJsoG,EAAM2M,aAAe,EACvB3M,EAAM0M,UAEN1M,EAAM2M,eAIF3M,EAAM2M,eAAiBJ,EAAOvM,EAAM0M,QAAQ93H,SAC9CorH,EAAM2M,cAAgB,EACtB3M,EAAM0M,WAIVtpD,EAAQnuE,SAAWiX,GAER,CACb,EArKE07G,MAwKF,SAAe/xH,EAAMswG,GAGnB,IAAMxtF,EAAQwtF,GAAU,CAAC,EAKzB,OAJAxtF,EAAM9iB,KAAOA,EACb8iB,EAAMvjB,MAAQ2hB,IACdqsD,EAAQ0lD,OAAOlzH,KAAK,CAAC,QAAS+iB,EAAOyqD,IACrC/wC,EAAMz8B,KAAK+iB,GACJA,CACT,EAhLEmvG,KAmLF,SAAcjyH,GACZ,IAAM8iB,EAAQ0Z,EAAME,MAGpB,OAFA5Z,EAAM3f,IAAM+d,IACZqsD,EAAQ0lD,OAAOlzH,KAAK,CAAC,OAAQ+iB,EAAOyqD,IAC7BzqD,CACT,EAvLEqvG,QAASiF,GA8LX,SAA+BtwE,EAAWrlD,GACxC41H,EAAUvwE,EAAWrlD,EAAK0hH,KAC5B,IA/LExpG,MAAOy9G,EAAiBE,GACxB9D,UAAW4D,EAAiBE,EAAmB,CAC7C9D,WAAW,KASTjmD,EAAU,CACdnuE,SAAU,KACViX,KAAM,KACNs8G,eAAgB,CAAC,EACjBM,OAAQ,GACR13F,OAAAA,EACA44F,YAAAA,EACA2B,eA6CF,SAAwBhzG,EAAOy0G,GAC7B,OAsYJ,SAAyBb,EAAQa,GAC/B,IAMIC,EANA53H,GAAS,EAGPkB,EAAS,GAKf,OAASlB,EAAQ82H,EAAO33H,QAAQ,CAC9B,IAAMw9C,EAAQm6E,EAAO92H,GAGjB1B,OAAK,EAET,GAAqB,kBAAVq+C,EACTr+C,EAAQq+C,OAER,OAAQA,GACN,KAAM,EACJr+C,EAAQ,KACR,MAGF,KAAM,EACJA,EAAQ,KACR,MAGF,KAAM,EACJA,EAAQ,OACR,MAGF,KAAM,EACJA,EAAQq5H,EAAa,IAAM,KAC3B,MAGF,KAAM,EACJ,IAAKA,GAAcC,EAAO,SAC1Bt5H,EAAQ,IACR,MAGF,QAEEA,EAAQoE,OAAOoc,aAAa69B,GAIlCi7E,GAAmB,IAAXj7E,EACRz7C,EAAOf,KAAK7B,EACd,CAEA,OAAO4C,EAAOgB,KAAK,GACrB,CA9bW21H,CAAgBtD,EAAYrxG,GAAQy0G,EAC7C,EA9CEr2G,IAAAA,EACAkzG,WA0DF,SAAoBl2H,GAClB+4H,EAAY/4H,EAAMme,MAAQne,EAAM8d,OAChCm7G,GACF,EA5DE9sF,MAwBF,SAAe1qC,GAIb,GAHA+2H,EAAS32H,GAAK22H,EAAQ/2H,GACtB+3H,IAEkC,OAA9BhB,EAAOA,EAAO33H,OAAS,GACzB,MAAO,GAMT,OAHAs4H,EAAUL,EAAY,GAEtBzpD,EAAQ0lD,OAASkD,GAAWe,EAAsB3pD,EAAQ0lD,OAAQ1lD,GAC3DA,EAAQ0lD,MACjB,GA5BIrxF,EAAQo1F,EAAWhxB,SAAS3oG,KAAKkwE,EAASe,GAa9C,OAJI0oD,EAAWb,YACbe,EAAqBn3H,KAAKi3H,GAGrBzpD,EA0BP,SAAS4mD,EAAYrxG,GACnB,OA6VJ,SAAqB4zG,EAAQ5zG,GAC3B,IAMIk2C,EANE2+D,EAAa70G,EAAMvjB,MAAMs3H,OACzBe,EAAmB90G,EAAMvjB,MAAMu3H,aAC/Be,EAAW/0G,EAAM3f,IAAI0zH,OACrBiB,EAAiBh1G,EAAM3f,IAAI2zH,aAK7Ba,IAAeE,EAEjB7+D,EAAO,CAAC09D,EAAOiB,GAAYh4H,MAAMi4H,EAAkBE,KAEnD9+D,EAAO09D,EAAO/2H,MAAMg4H,EAAYE,GAE5BD,GAAoB,IAEtB5+D,EAAK,GAAKA,EAAK,GAAGr5D,MAAMi4H,IAGtBE,EAAiB,GAEnB9+D,EAAKj5D,KAAK22H,EAAOmB,GAAUl4H,MAAM,EAAGm4H,KAIxC,OAAO9+D,CACT,CAxXW++D,CAAYrB,EAAQ5zG,EAC7B,CAGA,SAAS5B,IACP,OAAOxkB,OAAO6gC,OAAO,CAAC,EAAG4sF,EAC3B,CAqBA,SAASuN,IAIP,IAFA,IAAIM,EAEG7N,EAAM0M,OAASH,EAAO33H,QAAQ,CACnC,IAAMw9C,EAAQm6E,EAAOvM,EAAM0M,QAE3B,GAAqB,kBAAVt6E,EAOT,IANAy7E,EAAa7N,EAAM0M,OAEf1M,EAAM2M,aAAe,IACvB3M,EAAM2M,aAAe,GAIrB3M,EAAM0M,SAAWmB,GACjB7N,EAAM2M,aAAev6E,EAAMx9C,QAE3BmgG,EAAG3iD,EAAM3+B,WAAWusG,EAAM2M,oBAG5B53B,EAAG3iD,EAEP,CACF,CAQA,SAAS2iD,EAAG7oF,QACC3U,EACI2U,EACfurB,EAAQA,EAAMvrB,EAChB,CAkEA,SAASihH,EAAkBryH,EAAGxD,GAC5BA,EAAKsqF,SACP,CAQA,SAASqrC,EAAiBa,EAAU3nB,GAClC,OAWA,SAAcwgB,EAAYj1E,EAAaq8E,GAErC,IAAIC,EAGAC,EAGA/E,EAGA5xH,EACJ,OAAOrE,MAAMF,QAAQ4zH,GAEjBuH,EAAuBvH,GACvB,aAAcA,EACduH,EAAuB,CAACvH,IAS5B,SAA+BxmC,GAC7B,OAAO/qF,EAGP,SAASA,EAAM8W,GACb,IAAM+3F,EAAe,OAAT/3F,GAAiBi0E,EAAIj0E,GAC3BgsG,EAAe,OAAThsG,GAAiBi0E,EAAIsd,KAQjC,OAAOywB,EAPM,GAAH,SAIJj7H,MAAMF,QAAQkxG,GAAOA,EAAMA,EAAM,CAACA,GAAO,IAAE,EAC3ChxG,MAAMF,QAAQmlH,GAAOA,EAAMA,EAAM,CAACA,GAAO,KAExCgW,CAA6BhiH,EACtC,CACF,CAxBIiiH,CAAsBxH,GAgC1B,SAASuH,EAAuBvrH,GAI9B,OAHAqrH,EAAmBrrH,EACnBsrH,EAAiB,EAEG,IAAhBtrH,EAAK/N,OACAm5H,EAGFK,EAAgBzrH,EAAKsrH,GAC9B,CAQA,SAASG,EAAgBzxE,GACvB,OAGA,SAAezwC,GAKb5U,EA4ER,WACE,IAAM+2H,EAAat3G,IACbu3G,EAAgBlrD,EAAQnuE,SACxBs5H,EAAwBnrD,EAAQ8lD,iBAChCsF,EAAmBprD,EAAQ0lD,OAAOl0H,OAClC65H,EAAax7H,MAAM+lH,KAAK3mF,GAC9B,MAAO,CACLuvD,QAAAA,EACAo3B,KAAMwV,GAQR,SAAS5sC,IACPo+B,EAAQqO,EACRjrD,EAAQnuE,SAAWq5H,EACnBlrD,EAAQ8lD,iBAAmBqF,EAC3BnrD,EAAQ0lD,OAAOl0H,OAAS45H,EACxBn8F,EAAQo8F,EACRzB,GACF,CACF,CApGe0B,GACPxF,EAAmBvsE,EAEdA,EAAU2tE,UACblnD,EAAQ8lD,iBAAmBvsE,GAG7B,GACEA,EAAU/oD,MACVwvE,EAAQhyC,OAAOu1F,WAAWyD,QAAQ3sB,KAAK3gD,SAASH,EAAU/oD,MAE1D,OAAOu2H,EAAIj+G,GAGb,OAAOywC,EAAUk/C,SAAS3oG,KAIxBizG,EAAS5zG,OAAO6gC,OAAO7gC,OAAOoI,OAAOyoE,GAAU+iC,GAAU/iC,EACzDe,EACAyR,EACAu0C,EAPKxtE,CAQLzwC,EACJ,CACF,CAGA,SAAS0pE,EAAG1pE,GAGV,OAFW,EACX4hH,EAAS5E,EAAkB5xH,GACpBo6C,CACT,CAGA,SAASy4E,EAAIj+G,GAIX,OAHW,EACX5U,EAAKsqF,YAECqsC,EAAiBD,EAAiBp5H,OAC/Bw5H,EAAgBJ,EAAiBC,IAGnCF,CACT,CACF,CACF,CAOA,SAASb,EAAUvwE,EAAWq8D,GACxBr8D,EAAUqvE,aAAee,EAAqBjwE,SAASH,IACzDowE,EAAqBn3H,KAAK+mD,GAGxBA,EAAU+gB,SACZnkC,GACE6pC,EAAQ0lD,OACR9P,EACA51C,EAAQ0lD,OAAOl0H,OAASokH,EACxBr8D,EAAU+gB,QAAQ0F,EAAQ0lD,OAAOtzH,MAAMwjH,GAAO51C,IAI9CzmB,EAAUgyE,YACZvrD,EAAQ0lD,OAASnsE,EAAUgyE,UAAUvrD,EAAQ0lD,OAAQ1lD,GAEzD,CAuCA,SAAS4pD,IACHhN,EAAM9tG,QAAQ46G,GAAe9M,EAAMnuG,OAAS,IAC9CmuG,EAAMnuG,OAASi7G,EAAY9M,EAAM9tG,MACjC8tG,EAAMtoG,QAAUo1G,EAAY9M,EAAM9tG,MAAQ,EAE9C,CACF,CCneO,IAAM08G,GAAgB,CAC3Bh7H,KAAM,gBACNioG,SAIF,SAA+B13B,EAASyR,EAAIu0C,GAC1C,IAGIzpB,EAHAv2F,EAAO,EAIX,OAGA,SAAe+B,GAGb,OAFAi4D,EAAQyjD,MAAM,iBACdlnB,EAASx0F,EACFkgH,EAAQlgH,EACjB,EAGA,SAASkgH,EAAQlgH,GACf,OAAIA,IAASw0F,GACXv8B,EAAQyjD,MAAM,yBACPiH,EAAS3iH,IAGdq7G,GAAcr7G,GACTw7G,GAAavjD,EAASioD,EAAS,aAA/B1E,CAA6Cx7G,GAGlD/B,EAAO,GAAe,OAAT+B,IAAkBo7G,GAAmBp7G,GAC7Ci+G,EAAIj+G,IAGbi4D,EAAQ2jD,KAAK,iBACNlyC,EAAG1pE,GACZ,CAGA,SAAS2iH,EAAS3iH,GAChB,OAAIA,IAASw0F,GACXv8B,EAAQ0jD,QAAQ37G,GAChB/B,IACO0kH,IAGT1qD,EAAQ2jD,KAAK,yBACNsE,EAAQlgH,GACjB,CACF,GCzCO,IAAMvJ,GAAO,CAClB/O,KAAM,OACNioG,SAuBF,SAA2B13B,EAASyR,EAAIu0C,GACtC,IAAMzoC,EAAOhyE,KACP2iE,EAAOqP,EAAKonC,OAAOpnC,EAAKonC,OAAOl0H,OAAS,GAC1Ck6H,EACFz8C,GAAyB,eAAjBA,EAAK,GAAGx8E,KACZw8E,EAAK,GAAGs5C,eAAet5C,EAAK,IAAI,GAAMz9E,OACtC,EACFuV,EAAO,EACX,OAGA,SAAe+B,GACb,IAAM3J,EACJm/E,EAAK8mC,eAAe3yH,OACV,KAATqW,GAAwB,KAATA,GAAwB,KAATA,EAC3B,gBACA,eAEN,GACW,kBAAT3J,GACKm/E,EAAK8mC,eAAe9nB,QAAUx0F,IAASw1E,EAAK8mC,eAAe9nB,OAC5DqmB,GAAW76G,GACf,CAQA,GAPKw1E,EAAK8mC,eAAe3yH,OACvB6rF,EAAK8mC,eAAe3yH,KAAO0M,EAC3B4hE,EAAQyjD,MAAMrlH,EAAM,CAClBwoH,YAAY,KAIH,kBAATxoH,EAEF,OADA4hE,EAAQyjD,MAAM,kBACE,KAAT17G,GAAwB,KAATA,EAClBi4D,EAAQ30D,MAAMo/G,GAAezE,EAAK4E,EAAlC5qD,CAA4Cj4D,GAC5C6iH,EAAS7iH,GAGf,IAAKw1E,EAAK2nC,WAAsB,KAATn9G,EAGrB,OAFAi4D,EAAQyjD,MAAM,kBACdzjD,EAAQyjD,MAAM,iBACP3jC,EAAO/3E,EAElB,CAEA,OAAOi+G,EAAIj+G,EACb,EAGA,SAAS+3E,EAAO/3E,GACd,OAAI66G,GAAW76G,MAAW/B,EAAO,IAC/Bg6D,EAAQ0jD,QAAQ37G,GACT+3E,KAILvC,EAAK2nC,WAAal/G,EAAO,KAC1Bu3E,EAAK8mC,eAAe9nB,OACjBx0F,IAASw1E,EAAK8mC,eAAe9nB,OACpB,KAATx0F,GAAwB,KAATA,IAEnBi4D,EAAQ2jD,KAAK,iBACNiH,EAAS7iH,IAGXi+G,EAAIj+G,EACb,CAKA,SAAS6iH,EAAS7iH,GAKhB,OAJAi4D,EAAQyjD,MAAM,kBACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,kBACbpmC,EAAK8mC,eAAe9nB,OAAShf,EAAK8mC,eAAe9nB,QAAUx0F,EACpDi4D,EAAQ30D,MACb66G,GACA3oC,EAAK2nC,UAAYc,EAAM6E,EACvB7qD,EAAQ6jD,QACNiH,GACAC,EACAC,GAGN,CAGA,SAASH,EAAQ9iH,GAGf,OAFAw1E,EAAK8mC,eAAe4G,kBAAmB,EACvCN,IACOI,EAAYhjH,EACrB,CAGA,SAASijH,EAAYjjH,GACnB,OAAIq7G,GAAcr7G,IAChBi4D,EAAQyjD,MAAM,4BACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,4BACNoH,GAGF/E,EAAIj+G,EACb,CAGA,SAASgjH,EAAYhjH,GAInB,OAHAw1E,EAAK8mC,eAAer+G,KAClB2kH,EACAptC,EAAKiqC,eAAexnD,EAAQ2jD,KAAK,mBAAmB,GAAMlzH,OACrDghF,EAAG1pE,EACZ,CACF,EAtIE0nF,aAAc,CACZiI,SA2IJ,SAAkC13B,EAASyR,EAAIu0C,GAC7C,IAAMzoC,EAAOhyE,KAEb,OADAgyE,EAAK8mC,eAAeG,gBAAapxH,EAC1B4sE,EAAQ30D,MAAM66G,GAAW2E,EAASK,GAGzC,SAASL,EAAQ9iH,GAMf,OALAw1E,EAAK8mC,eAAe8G,kBAClB5tC,EAAK8mC,eAAe8G,mBACpB5tC,EAAK8mC,eAAe4G,iBAGf1H,GACLvjD,EACAyR,EACA,iBACA8L,EAAK8mC,eAAer+G,KAAO,EAJtBu9G,CAKLx7G,EACJ,CAGA,SAASmjH,EAASnjH,GAChB,OAAIw1E,EAAK8mC,eAAe8G,oBAAsB/H,GAAcr7G,IAC1Dw1E,EAAK8mC,eAAe8G,uBAAoB/3H,EACxCmqF,EAAK8mC,eAAe4G,sBAAmB73H,EAChCg4H,EAAiBrjH,KAG1Bw1E,EAAK8mC,eAAe8G,uBAAoB/3H,EACxCmqF,EAAK8mC,eAAe4G,sBAAmB73H,EAChC4sE,EAAQ6jD,QAAQwH,GAAiB55C,EAAI25C,EAArCprD,CAAuDj4D,GAChE,CAGA,SAASqjH,EAAiBrjH,GAKxB,OAHAw1E,EAAK8mC,eAAeG,YAAa,EAEjCjnC,EAAK2nC,eAAY9xH,EACVmwH,GACLvjD,EACAA,EAAQ6jD,QAAQrlH,GAAMizE,EAAIu0C,GAC1B,aACAzoC,EAAKtwD,OAAOu1F,WAAWyD,QAAQ3sB,KAAK3gD,SAAS,qBACzCvlD,EACA,EANCmwH,CAOLx7G,EACJ,CACF,GAzLE47G,KAuNF,SAAyB3jD,GACvBA,EAAQ2jD,KAAKp4G,KAAK84G,eAAe3yH,KACnC,GArNMo5H,GAAoC,CACxCpzB,SA0NF,SAA0C13B,EAASyR,EAAIu0C,GACrD,IAAMzoC,EAAOhyE,KACb,OAAOg4G,GACLvjD,GASF,SAAqBj4D,GACnB,IAAMmmE,EAAOqP,EAAKonC,OAAOpnC,EAAKonC,OAAOl0H,OAAS,GAC9C,OAAQ2yH,GAAcr7G,IACpBmmE,GACiB,6BAAjBA,EAAK,GAAGx8E,KACN+/E,EAAG1pE,GACHi+G,EAAIj+G,EACV,GAdE,2BACAw1E,EAAKtwD,OAAOu1F,WAAWyD,QAAQ3sB,KAAK3gD,SAAS,qBACzCvlD,EACA,EAYR,EA7OE+yH,SAAS,GAILkF,GAAkB,CACtB3zB,SAoLF,SAAwB13B,EAASyR,EAAIu0C,GACnC,IAAMzoC,EAAOhyE,KACb,OAAOg4G,GACLvjD,GAOF,SAAqBj4D,GACnB,IAAMmmE,EAAOqP,EAAKonC,OAAOpnC,EAAKonC,OAAOl0H,OAAS,GAC9C,OAAOy9E,GACY,mBAAjBA,EAAK,GAAGx8E,MACRw8E,EAAK,GAAGs5C,eAAet5C,EAAK,IAAI,GAAMz9E,SAAW8sF,EAAK8mC,eAAer+G,KACnEyrE,EAAG1pE,GACHi+G,EAAIj+G,EACV,GAZE,iBACAw1E,EAAK8mC,eAAer+G,KAAO,EAY/B,EArMEmgH,SAAS,GC3BJ,IAAMmF,GAAa,CACxB77H,KAAM,aACNioG,SAQF,SAAiC13B,EAASyR,EAAIu0C,GAC5C,IAAMzoC,EAAOhyE,KACb,OAGA,SAAexD,GACb,GAAa,KAATA,EAAa,CACf,IAAMurB,EAAQiqD,EAAK8mC,eAanB,OAXK/wF,EAAM3uB,OACTq7D,EAAQyjD,MAAM,aAAc,CAC1BmD,YAAY,IAEdtzF,EAAM3uB,MAAO,GAGfq7D,EAAQyjD,MAAM,oBACdzjD,EAAQyjD,MAAM,oBACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,oBACNnrB,CACT,CAEA,OAAOwtB,EAAIj+G,EACb,EAGA,SAASywF,EAAMzwF,GACb,OAAIq7G,GAAcr7G,IAChBi4D,EAAQyjD,MAAM,8BACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,8BACb3jD,EAAQ2jD,KAAK,oBACNlyC,IAGTzR,EAAQ2jD,KAAK,oBACNlyC,EAAG1pE,GACZ,CACF,EA9CE0nF,aAAc,CACZiI,SAgDJ,SAAwC13B,EAASyR,EAAIu0C,GACnD,OAAOzC,GACLvjD,EACAA,EAAQ6jD,QAAQyH,GAAY75C,EAAIu0C,GAChC,aACAz6G,KAAK0hB,OAAOu1F,WAAWyD,QAAQ3sB,KAAK3gD,SAAS,qBAAkBvlD,EAAY,EAE/E,GArDEuwH,KAwDF,SAAc3jD,GACZA,EAAQ2jD,KAAK,aACf,GCnDO,SAAS4H,GACdvrD,EACAyR,EACAu0C,EACAt0H,EACA85H,EACAC,EACAC,EACAC,EACA9sH,GAEA,IAAM2kH,EAAQ3kH,GAAOzK,OAAOqsH,kBACxBmL,EAAU,EACd,OAGA,SAAe7jH,GACb,GAAa,KAATA,EAMF,OALAi4D,EAAQyjD,MAAM/xH,GACdsuE,EAAQyjD,MAAM+H,GACdxrD,EAAQyjD,MAAMgI,GACdzrD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK8H,GACNI,EAGT,GAAa,OAAT9jH,GAA0B,KAATA,GAAek7G,GAAal7G,GAC/C,OAAOi+G,EAAIj+G,GASb,OANAi4D,EAAQyjD,MAAM/xH,GACdsuE,EAAQyjD,MAAMiI,GACd1rD,EAAQyjD,MAAMkI,GACd3rD,EAAQyjD,MAAM,cAAe,CAC3BhwB,YAAa,WAERq4B,EAAe/jH,EACxB,EAGA,SAAS8jH,EAA0B9jH,GACjC,OAAa,KAATA,GACFi4D,EAAQyjD,MAAMgI,GACdzrD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK8H,GACbzrD,EAAQ2jD,KAAK6H,GACbxrD,EAAQ2jD,KAAKjyH,GACN+/E,IAGTzR,EAAQyjD,MAAMkI,GACd3rD,EAAQyjD,MAAM,cAAe,CAC3BhwB,YAAa,WAERs4B,EAAoBhkH,GAC7B,CAGA,SAASgkH,EAAoBhkH,GAC3B,OAAa,KAATA,GACFi4D,EAAQ2jD,KAAK,eACb3jD,EAAQ2jD,KAAKgI,GACNE,EAA0B9jH,IAGtB,OAATA,GAA0B,KAATA,GAAeo7G,GAAmBp7G,GAC9Ci+G,EAAIj+G,IAGbi4D,EAAQ0jD,QAAQ37G,GACA,KAATA,EAAcikH,EAA4BD,EACnD,CAGA,SAASC,EAA0BjkH,GACjC,OAAa,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAChCi4D,EAAQ0jD,QAAQ37G,GACTgkH,GAGFA,EAAoBhkH,EAC7B,CAGA,SAAS+jH,EAAe/jH,GACtB,OAAa,KAATA,IACI6jH,EAAUpI,EAAcwC,EAAIj+G,IAClCi4D,EAAQ0jD,QAAQ37G,GACT+jH,GAGI,KAAT/jH,EACG6jH,KAQL5rD,EAAQ0jD,QAAQ37G,GACT+jH,IARL9rD,EAAQ2jD,KAAK,eACb3jD,EAAQ2jD,KAAKgI,GACb3rD,EAAQ2jD,KAAK+H,GACb1rD,EAAQ2jD,KAAKjyH,GACN+/E,EAAG1pE,IAOD,OAATA,GAAiBm7G,GAA0Bn7G,GACzC6jH,EAAgB5F,EAAIj+G,IACxBi4D,EAAQ2jD,KAAK,eACb3jD,EAAQ2jD,KAAKgI,GACb3rD,EAAQ2jD,KAAK+H,GACb1rD,EAAQ2jD,KAAKjyH,GACN+/E,EAAG1pE,IAGRk7G,GAAal7G,GAAci+G,EAAIj+G,IACnCi4D,EAAQ0jD,QAAQ37G,GACA,KAATA,EAAckkH,EAAuBH,EAC9C,CAGA,SAASG,EAAqBlkH,GAC5B,OAAa,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAChCi4D,EAAQ0jD,QAAQ37G,GACT+jH,GAGFA,EAAe/jH,EACxB,CACF,CCpIO,SAASmkH,GAAalsD,EAASyR,EAAIu0C,EAAKt0H,EAAMy6H,EAAYR,GAC/D,IAII12H,EAJEsoF,EAAOhyE,KACTvF,EAAO,EAIX,OAGA,SAAe+B,GAMb,OALAi4D,EAAQyjD,MAAM/xH,GACdsuE,EAAQyjD,MAAM0I,GACdnsD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAKwI,GACbnsD,EAAQyjD,MAAMkI,GACP1D,CACT,EAGA,SAASA,EAAQlgH,GACf,OACW,OAATA,GACS,KAATA,GACU,KAATA,IAAgB9S,GAQP,KAAT8S,IACE/B,GACD,2BAA4Bu3E,EAAKtwD,OAAOu1F,YAC1Cx8G,EAAO,IAEAggH,EAAIj+G,GAGA,KAATA,GACFi4D,EAAQ2jD,KAAKgI,GACb3rD,EAAQyjD,MAAM0I,GACdnsD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAKwI,GACbnsD,EAAQ2jD,KAAKjyH,GACN+/E,GAGL0xC,GAAmBp7G,IACrBi4D,EAAQyjD,MAAM,cACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,cACNsE,IAGTjoD,EAAQyjD,MAAM,cAAe,CAC3BhwB,YAAa,WAERp1F,EAAM0J,GACf,CAGA,SAAS1J,EAAM0J,GACb,OACW,OAATA,GACS,KAATA,GACS,KAATA,GACAo7G,GAAmBp7G,IACnB/B,IAAS,KAETg6D,EAAQ2jD,KAAK,eACNsE,EAAQlgH,KAGjBi4D,EAAQ0jD,QAAQ37G,GAChB9S,EAAOA,IAASmuH,GAAcr7G,GACd,KAATA,EAAcqkH,EAAc/tH,EACrC,CAGA,SAAS+tH,EAAYrkH,GACnB,OAAa,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAChCi4D,EAAQ0jD,QAAQ37G,GAChB/B,IACO3H,GAGFA,EAAM0J,EACf,CACF,CCzFO,SAASskH,GAAarsD,EAASyR,EAAIu0C,EAAKt0H,EAAMy6H,EAAYR,GAE/D,IAAIpvB,EACJ,OAGA,SAAex0F,GAMb,OALAi4D,EAAQyjD,MAAM/xH,GACdsuE,EAAQyjD,MAAM0I,GACdnsD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAKwI,GACb5vB,EAAkB,KAATx0F,EAAc,GAAKA,EACrBukH,CACT,EAGA,SAASA,EAAkBvkH,GACzB,OAAIA,IAASw0F,GACXv8B,EAAQyjD,MAAM0I,GACdnsD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAKwI,GACbnsD,EAAQ2jD,KAAKjyH,GACN+/E,IAGTzR,EAAQyjD,MAAMkI,GACPY,EAAaxkH,GACtB,CAGA,SAASwkH,EAAaxkH,GACpB,OAAIA,IAASw0F,GACXv8B,EAAQ2jD,KAAKgI,GACNW,EAAkB/vB,IAGd,OAATx0F,EACKi+G,EAAIj+G,GAGTo7G,GAAmBp7G,IACrBi4D,EAAQyjD,MAAM,cACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,cACNJ,GAAavjD,EAASusD,EAAc,gBAG7CvsD,EAAQyjD,MAAM,cAAe,CAC3BhwB,YAAa,WAER/sF,EAAMqB,GACf,CAGA,SAASrB,EAAMqB,GACb,OAAIA,IAASw0F,GAAmB,OAATx0F,GAAiBo7G,GAAmBp7G,IACzDi4D,EAAQ2jD,KAAK,eACN4I,EAAaxkH,KAGtBi4D,EAAQ0jD,QAAQ37G,GACA,KAATA,EAAcykH,EAAc9lH,EACrC,CAGA,SAAS8lH,EAAYzkH,GACnB,OAAIA,IAASw0F,GAAmB,KAATx0F,GACrBi4D,EAAQ0jD,QAAQ37G,GACTrB,GAGFA,EAAMqB,EACf,CACF,CChFO,SAAS0kH,GAAkBzsD,EAASyR,GAEzC,IAAIs0C,EACJ,OAGA,SAAS90H,EAAM8W,GACb,GAAIo7G,GAAmBp7G,GAKrB,OAJAi4D,EAAQyjD,MAAM,cACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,cACboC,GAAO,EACA90H,EAGT,GAAImyH,GAAcr7G,GAChB,OAAOw7G,GACLvjD,EACA/uE,EACA80H,EAAO,aAAe,aAHjBxC,CAILx7G,GAGJ,OAAO0pE,EAAG1pE,EACZ,CACF,CC9BO,SAAS2kH,GAAoB98H,GAClC,OACEA,EACG6F,QAAQ,cAAe,KACvBA,QAAQ,SAAU,IAMlBhD,cACAmD,aAEP,CCFO,IAAMoV,GAAa,CACxBvb,KAAM,aACNioG,SAUF,SAA4B13B,EAASyR,EAAIu0C,GACvC,IAGIpkC,EAHErE,EAAOhyE,KAIb,OAGA,SAAexD,GAEb,OADAi4D,EAAQyjD,MAAM,cACPyI,GAAan9H,KAClBwuF,EACAvd,EACA2sD,EACA3G,EACA,kBACA,wBACA,wBAPKkG,CAQLnkH,EACJ,EAGA,SAAS4kH,EAAW5kH,GAKlB,OAJA65E,EAAa8qC,GACXnvC,EAAKiqC,eAAejqC,EAAKonC,OAAOpnC,EAAKonC,OAAOl0H,OAAS,GAAG,IAAIY,MAAM,GAAI,IAG3D,KAAT0W,GACFi4D,EAAQyjD,MAAM,oBACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,oBAEN8I,GACLzsD,EACAurD,GACEvrD,EACAA,EAAQ6jD,QACN+I,GACArJ,GAAavjD,EAASw4B,EAAO,cAC7B+qB,GAAavjD,EAASw4B,EAAO,eAE/BwtB,EACA,wBACA,+BACA,qCACA,2BACA,iCAKCA,EAAIj+G,EACb,CAGA,SAASywF,EAAMzwF,GACb,OAAa,OAATA,GAAiBo7G,GAAmBp7G,IACtCi4D,EAAQ2jD,KAAK,cAERpmC,EAAKtwD,OAAOhiB,QAAQ0tC,SAASipC,IAChCrE,EAAKtwD,OAAOhiB,QAAQxZ,KAAKmwF,GAGpBnQ,EAAG1pE,IAGLi+G,EAAIj+G,EACb,CACF,GA1EM6kH,GAAiB,CACrBl1B,SA4EF,SAAuB13B,EAASyR,EAAIu0C,GAClC,OAGA,SAAej+G,GACb,OAAOm7G,GAA0Bn7G,GAC7B0kH,GAAkBzsD,EAASs4B,EAA3Bm0B,CAAmC1kH,GACnCi+G,EAAIj+G,EACV,EAGA,SAASuwF,EAAOvwF,GACd,OAAa,KAATA,GAAwB,KAATA,GAAwB,KAATA,EACzBskH,GACLrsD,EACAujD,GAAavjD,EAASw4B,EAAO,cAC7BwtB,EACA,kBACA,wBACA,wBANKqG,CAOLtkH,GAGGi+G,EAAIj+G,EACb,CAGA,SAASywF,EAAMzwF,GACb,OAAgB,OAATA,GAAiBo7G,GAAmBp7G,GAAQ0pE,EAAG1pE,GAAQi+G,EAAIj+G,EACpE,CACF,EAzGEo+G,SAAS,GCdJ,IAAM0G,GAAe,CAC1Bp9H,KAAM,eACNioG,SAUF,SAA8B13B,EAASyR,EAAIu0C,GACzC,IAAMzoC,EAAOhyE,KACb,OAGA,SAAexD,GAEb,OADAi4D,EAAQyjD,MAAM,gBACPF,GAAavjD,EAAS8sD,EAAkB,aAAc,EAAtDvJ,CAA6Dx7G,EACtE,EAGA,SAAS+kH,EAAiB/kH,GACxB,IAAMmmE,EAAOqP,EAAKonC,OAAOpnC,EAAKonC,OAAOl0H,OAAS,GAC9C,OAAOy9E,GACY,eAAjBA,EAAK,GAAGx8E,MACRw8E,EAAK,GAAGs5C,eAAet5C,EAAK,IAAI,GAAMz9E,QAAU,EAC9Cs8H,EAAYhlH,GACZi+G,EAAIj+G,EACV,CAGA,SAASglH,EAAYhlH,GACnB,OAAa,OAATA,EACKywF,EAAMzwF,GAGXo7G,GAAmBp7G,GACdi4D,EAAQ6jD,QAAQmJ,GAAiBD,EAAav0B,EAA9Cx4B,CAAqDj4D,IAG9Di4D,EAAQyjD,MAAM,iBACPvwH,EAAQ6U,GACjB,CAGA,SAAS7U,EAAQ6U,GACf,OAAa,OAATA,GAAiBo7G,GAAmBp7G,IACtCi4D,EAAQ2jD,KAAK,iBACNoJ,EAAYhlH,KAGrBi4D,EAAQ0jD,QAAQ37G,GACT7U,EACT,CAGA,SAASslG,EAAMzwF,GAEb,OADAi4D,EAAQ2jD,KAAK,gBACNlyC,EAAG1pE,EACZ,CACF,GAxDMilH,GAAkB,CACtBt1B,SA0DF,SAAiC13B,EAASyR,EAAIu0C,GAC5C,IAAMzoC,EAAOhyE,KACb,OAAOta,EAGP,SAASA,EAAM8W,GAEb,OAAIw1E,EAAKtwD,OAAOgwD,KAAKM,EAAK3qE,MAAM7E,MACvBi4G,EAAIj+G,GAGTo7G,GAAmBp7G,IACrBi4D,EAAQyjD,MAAM,cACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,cACN1yH,GAGFsyH,GAAavjD,EAAS+sD,EAAa,aAAc,EAAjDxJ,CAAwDx7G,EACjE,CAGA,SAASglH,EAAYhlH,GACnB,IAAMmmE,EAAOqP,EAAKonC,OAAOpnC,EAAKonC,OAAOl0H,OAAS,GAC9C,OAAOy9E,GACY,eAAjBA,EAAK,GAAGx8E,MACRw8E,EAAK,GAAGs5C,eAAet5C,EAAK,IAAI,GAAMz9E,QAAU,EAC9CghF,EAAG1pE,GACHo7G,GAAmBp7G,GACnB9W,EAAM8W,GACNi+G,EAAIj+G,EACV,CACF,EAzFEo+G,SAAS,GCHJ,IAAM8G,GAAa,CACxBx9H,KAAM,aACNioG,SA4DF,SAA4B13B,EAASyR,EAAIu0C,GACvC,IAAMzoC,EAAOhyE,KACTvF,EAAO,EACX,OAGA,SAAe+B,GAGb,OAFAi4D,EAAQyjD,MAAM,cACdzjD,EAAQyjD,MAAM,sBACPyJ,EAAgBnlH,EACzB,EAGA,SAASmlH,EAAgBnlH,GACvB,OAAa,KAATA,GAAe/B,IAAS,GAC1Bg6D,EAAQ0jD,QAAQ37G,GACTmlH,GAGI,OAATnlH,GAAiBm7G,GAA0Bn7G,IAC7Ci4D,EAAQ2jD,KAAK,sBACNpmC,EAAK2nC,UAAYzzC,EAAG1pE,GAAQolH,EAAaplH,IAG3Ci+G,EAAIj+G,EACb,CAGA,SAASolH,EAAaplH,GACpB,OAAa,KAATA,GACFi4D,EAAQyjD,MAAM,sBACPiH,EAAS3iH,IAGL,OAATA,GAAiBo7G,GAAmBp7G,IACtCi4D,EAAQ2jD,KAAK,cACNlyC,EAAG1pE,IAGRq7G,GAAcr7G,GACTw7G,GAAavjD,EAASmtD,EAAc,aAApC5J,CAAkDx7G,IAG3Di4D,EAAQyjD,MAAM,kBACPxuH,EAAK8S,GACd,CAGA,SAAS2iH,EAAS3iH,GAChB,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GACT2iH,IAGT1qD,EAAQ2jD,KAAK,sBACNwJ,EAAaplH,GACtB,CAGA,SAAS9S,EAAK8S,GACZ,OAAa,OAATA,GAA0B,KAATA,GAAem7G,GAA0Bn7G,IAC5Di4D,EAAQ2jD,KAAK,kBACNwJ,EAAaplH,KAGtBi4D,EAAQ0jD,QAAQ37G,GACT9S,EACT,CACF,EA/HEskE,QAIF,SAA2BorD,EAAQ1lD,GACjC,IAII/rE,EAGA4W,EAPAs9G,EAAazC,EAAOl0H,OAAS,EAC7BmzH,EAAe,EAQkB,eAAjCe,EAAOf,GAAc,GAAGlyH,OAC1BkyH,GAAgB,GAIhBwD,EAAa,EAAIxD,GACc,eAA/Be,EAAOyC,GAAY,GAAG11H,OAEtB01H,GAAc,GAIiB,uBAA/BzC,EAAOyC,GAAY,GAAG11H,OACrBkyH,IAAiBwD,EAAa,GAC5BA,EAAa,EAAIxD,GACmB,eAAnCe,EAAOyC,EAAa,GAAG,GAAG11H,QAE9B01H,GAAcxD,EAAe,IAAMwD,EAAa,EAAI,GAGlDA,EAAaxD,IACf1wH,EAAU,CACRxB,KAAM,iBACNT,MAAO0zH,EAAOf,GAAc,GAAG3yH,MAC/B4D,IAAK8vH,EAAOyC,GAAY,GAAGvyH,KAE7BiV,EAAO,CACLpY,KAAM,YACNT,MAAO0zH,EAAOf,GAAc,GAAG3yH,MAC/B4D,IAAK8vH,EAAOyC,GAAY,GAAGvyH,IAE3B4+F,YAAa,QAEfr+D,GAAOuvF,EAAQf,EAAcwD,EAAaxD,EAAe,EAAG,CAC1D,CAAC,QAAS1wH,EAAS+rE,GACnB,CAAC,QAASn1D,EAAMm1D,GAChB,CAAC,OAAQn1D,EAAMm1D,GACf,CAAC,OAAQ/rE,EAAS+rE,MAItB,OAAO0lD,CACT,GChEO,IAAMyI,GAAkB,CAC7B39H,KAAM,kBACNioG,SA+DF,SAAiC13B,EAASyR,EAAIu0C,GAC5C,IAIIzpB,EAGA8wB,EAPE9vC,EAAOhyE,KACTja,EAAQisF,EAAKonC,OAAOl0H,OAQxB,KAAOa,KAGL,GACiC,eAA/BisF,EAAKonC,OAAOrzH,GAAO,GAAGI,MACS,eAA/B6rF,EAAKonC,OAAOrzH,GAAO,GAAGI,MACS,YAA/B6rF,EAAKonC,OAAOrzH,GAAO,GAAGI,KACtB,CACA27H,EAA2C,cAA/B9vC,EAAKonC,OAAOrzH,GAAO,GAAGI,KAClC,KACF,CAGF,OAGA,SAAeqW,GACb,IAAKw1E,EAAKtwD,OAAOgwD,KAAKM,EAAK3qE,MAAM7E,QAAUwvE,EAAK2nC,WAAamI,GAI3D,OAHArtD,EAAQyjD,MAAM,qBACdzjD,EAAQyjD,MAAM,6BACdlnB,EAASx0F,EACFulH,EAAgBvlH,GAGzB,OAAOi+G,EAAIj+G,EACb,EAGA,SAASulH,EAAgBvlH,GACvB,OAAIA,IAASw0F,GACXv8B,EAAQ0jD,QAAQ37G,GACTulH,IAGTttD,EAAQ2jD,KAAK,6BACNJ,GAAavjD,EAASutD,EAAoB,aAA1ChK,CAAwDx7G,GACjE,CAGA,SAASwlH,EAAmBxlH,GAC1B,OAAa,OAATA,GAAiBo7G,GAAmBp7G,IACtCi4D,EAAQ2jD,KAAK,qBACNlyC,EAAG1pE,IAGLi+G,EAAIj+G,EACb,CACF,EAvHEyiH,UAIF,SAAkC7F,EAAQ1lD,GACxC,IAGI/rE,EAGA4W,EAGAkB,EATA1Z,EAAQqzH,EAAOl0H,OAYnB,KAAOa,KACL,GAAyB,UAArBqzH,EAAOrzH,GAAO,GAAgB,CAChC,GAA8B,YAA1BqzH,EAAOrzH,GAAO,GAAGI,KAAoB,CACvCwB,EAAU5B,EACV,KACF,CAE8B,cAA1BqzH,EAAOrzH,GAAO,GAAGI,OACnBoY,EAAOxY,EAEX,KAEgC,YAA1BqzH,EAAOrzH,GAAO,GAAGI,MAEnBizH,EAAOvvF,OAAO9jC,EAAO,GAGlB0Z,GAAwC,eAA1B25G,EAAOrzH,GAAO,GAAGI,OAClCsZ,EAAa1Z,GAKnB,IAAMorG,EAAU,CACdhrG,KAAM,gBACNT,MAAO7C,OAAO6gC,OAAO,CAAC,EAAG01F,EAAO76G,GAAM,GAAG7Y,OACzC4D,IAAKzG,OAAO6gC,OAAO,CAAC,EAAG01F,EAAOA,EAAOl0H,OAAS,GAAG,GAAGoE,MAGtD8vH,EAAO76G,GAAM,GAAGpY,KAAO,oBAGnBsZ,GACF25G,EAAOvvF,OAAOtrB,EAAM,EAAG,CAAC,QAAS4yF,EAASz9B,IAC1C0lD,EAAOvvF,OAAOpqB,EAAa,EAAG,EAAG,CAAC,OAAQ25G,EAAOzxH,GAAS,GAAI+rE,IAC9D0lD,EAAOzxH,GAAS,GAAG2B,IAAMzG,OAAO6gC,OAAO,CAAC,EAAG01F,EAAO35G,GAAY,GAAGnW,MAEjE8vH,EAAOzxH,GAAS,GAAKwpG,EAIvB,OADAioB,EAAOlzH,KAAK,CAAC,OAAQirG,EAASz9B,IACvB0lD,CACT,GC/DO,IAAM6I,GAAiB,CAC5B,UACA,UACA,QACA,OACA,WACA,aACA,OACA,UACA,SACA,MACA,WACA,KACA,UACA,SACA,MACA,MACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,QACA,WACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,KACA,OACA,SACA,SACA,KACA,OACA,OACA,OACA,WACA,MACA,WACA,KACA,WACA,SACA,IACA,QACA,UACA,UACA,QACA,QACA,KACA,QACA,KACA,QACA,QACA,KACA,QACA,MAaWC,GAAe,CAAC,MAAO,SAAU,QAAS,YClE1CC,GAAW,CACtBj+H,KAAM,WACNioG,SAkCF,SAA0B13B,EAASyR,EAAIu0C,GACrC,IAGI5nH,EAGA8wB,EAGAwvF,EAGAptH,EAGAirG,EAfEhf,EAAOhyE,KAgBb,OAGA,SAAexD,GAIb,OAHAi4D,EAAQyjD,MAAM,YACdzjD,EAAQyjD,MAAM,gBACdzjD,EAAQ0jD,QAAQ37G,GACTpD,CACT,EAGA,SAASA,EAAKoD,GACZ,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GACT4lH,GAGI,KAAT5lH,GACFi4D,EAAQ0jD,QAAQ37G,GACT6lH,GAGI,KAAT7lH,GACFi4D,EAAQ0jD,QAAQ37G,GAChB3J,EAAO,EAGAm/E,EAAK2nC,UAAYzzC,EAAKo8C,GAG3BnL,GAAW36G,IACbi4D,EAAQ0jD,QAAQ37G,GAChB22G,EAAS1qH,OAAOoc,aAAarI,GAC7BmnB,GAAW,EACJv9B,GAGFq0H,EAAIj+G,EACb,CAGA,SAAS4lH,EAAiB5lH,GACxB,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GAChB3J,EAAO,EACA0vH,GAGI,KAAT/lH,GACFi4D,EAAQ0jD,QAAQ37G,GAChB3J,EAAO,EACPsgH,EAAS,SACTptH,EAAQ,EACDy8H,GAGLrL,GAAW36G,IACbi4D,EAAQ0jD,QAAQ37G,GAChB3J,EAAO,EACAm/E,EAAK2nC,UAAYzzC,EAAKo8C,GAGxB7H,EAAIj+G,EACb,CAGA,SAAS+lH,EAAkB/lH,GACzB,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GACTw1E,EAAK2nC,UAAYzzC,EAAKo8C,GAGxB7H,EAAIj+G,EACb,CAGA,SAASgmH,EAAgBhmH,GACvB,OAAIA,IAAS22G,EAAOpvG,WAAWhe,MAC7B0uE,EAAQ0jD,QAAQ37G,GACTzW,IAAUotH,EAAOjuH,OACpB8sF,EAAK2nC,UACHzzC,EACAge,EACFs+B,GAGC/H,EAAIj+G,EACb,CAGA,SAAS6lH,EAAc7lH,GACrB,OAAI26G,GAAW36G,IACbi4D,EAAQ0jD,QAAQ37G,GAChB22G,EAAS1qH,OAAOoc,aAAarI,GACtBpW,GAGFq0H,EAAIj+G,EACb,CAGA,SAASpW,EAAQoW,GACf,OACW,OAATA,GACS,KAATA,GACS,KAATA,GACAm7G,GAA0Bn7G,GAGf,KAATA,GACAmnB,GACAu+F,GAAa90E,SAAS+lE,EAAOjsH,gBAE7B2L,EAAO,EACAm/E,EAAK2nC,UAAYzzC,EAAG1pE,GAAQ0nF,EAAa1nF,IAG9CylH,GAAe70E,SAAS+lE,EAAOjsH,gBACjC2L,EAAO,EAEM,KAAT2J,GACFi4D,EAAQ0jD,QAAQ37G,GACTimH,GAGFzwC,EAAK2nC,UAAYzzC,EAAG1pE,GAAQ0nF,EAAa1nF,KAGlD3J,EAAO,EAEAm/E,EAAK2nC,YAAc3nC,EAAKtwD,OAAOgwD,KAAKM,EAAK3qE,MAAM7E,MAClDi4G,EAAIj+G,GACJmnB,EACA++F,EAA4BlmH,GAC5BmmH,EAAwBnmH,IAGjB,KAATA,GAAe+6G,GAAkB/6G,IACnCi4D,EAAQ0jD,QAAQ37G,GAChB22G,GAAU1qH,OAAOoc,aAAarI,GACvBpW,GAGFq0H,EAAIj+G,EACb,CAGA,SAASimH,EAAiBjmH,GACxB,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GACTw1E,EAAK2nC,UAAYzzC,EAAKge,GAGxBu2B,EAAIj+G,EACb,CAGA,SAASmmH,EAAwBnmH,GAC/B,OAAIq7G,GAAcr7G,IAChBi4D,EAAQ0jD,QAAQ37G,GACTmmH,GAGFC,EAAYpmH,EACrB,CAGA,SAASkmH,EAA4BlmH,GACnC,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GACTomH,GAGI,KAATpmH,GAAwB,KAATA,GAAe26G,GAAW36G,IAC3Ci4D,EAAQ0jD,QAAQ37G,GACTqmH,GAGLhL,GAAcr7G,IAChBi4D,EAAQ0jD,QAAQ37G,GACTkmH,GAGFE,EAAYpmH,EACrB,CAGA,SAASqmH,EAAsBrmH,GAC7B,OACW,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACA+6G,GAAkB/6G,IAElBi4D,EAAQ0jD,QAAQ37G,GACTqmH,GAGFC,EAA2BtmH,EACpC,CAGA,SAASsmH,EAA2BtmH,GAClC,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GACTumH,GAGLlL,GAAcr7G,IAChBi4D,EAAQ0jD,QAAQ37G,GACTsmH,GAGFJ,EAA4BlmH,EACrC,CAGA,SAASumH,EAA6BvmH,GACpC,OACW,OAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,EAEOi+G,EAAIj+G,GAGA,KAATA,GAAwB,KAATA,GACjBi4D,EAAQ0jD,QAAQ37G,GAChBw0F,EAASx0F,EACFwmH,GAGLnL,GAAcr7G,IAChBi4D,EAAQ0jD,QAAQ37G,GACTumH,IAGT/xB,EAAS,KACFiyB,EAA+BzmH,GACxC,CAGA,SAASwmH,EAA6BxmH,GACpC,OAAa,OAATA,GAAiBo7G,GAAmBp7G,GAC/Bi+G,EAAIj+G,GAGTA,IAASw0F,GACXv8B,EAAQ0jD,QAAQ37G,GACT0mH,IAGTzuD,EAAQ0jD,QAAQ37G,GACTwmH,EACT,CAGA,SAASC,EAA+BzmH,GACtC,OACW,OAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACAm7G,GAA0Bn7G,GAEnBsmH,EAA2BtmH,IAGpCi4D,EAAQ0jD,QAAQ37G,GACTymH,EACT,CAGA,SAASC,EAAkC1mH,GACzC,OAAa,KAATA,GAAwB,KAATA,GAAeq7G,GAAcr7G,GACvCkmH,EAA4BlmH,GAG9Bi+G,EAAIj+G,EACb,CAGA,SAASomH,EAAYpmH,GACnB,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GACT2mH,GAGF1I,EAAIj+G,EACb,CAGA,SAAS2mH,EAAc3mH,GACrB,OAAIq7G,GAAcr7G,IAChBi4D,EAAQ0jD,QAAQ37G,GACT2mH,GAGO,OAAT3mH,GAAiBo7G,GAAmBp7G,GACvC0nF,EAAa1nF,GACbi+G,EAAIj+G,EACV,CAGA,SAAS0nF,EAAa1nF,GACpB,OAAa,KAATA,GAAwB,IAAT3J,GACjB4hE,EAAQ0jD,QAAQ37G,GACT4mH,GAGI,KAAT5mH,GAAwB,IAAT3J,GACjB4hE,EAAQ0jD,QAAQ37G,GACT6mH,GAGI,KAAT7mH,GAAwB,IAAT3J,GACjB4hE,EAAQ0jD,QAAQ37G,GACT8mH,GAGI,KAAT9mH,GAAwB,IAAT3J,GACjB4hE,EAAQ0jD,QAAQ37G,GACT8lH,GAGI,KAAT9lH,GAAwB,IAAT3J,GACjB4hE,EAAQ0jD,QAAQ37G,GACT+mH,IAGL3L,GAAmBp7G,IAAmB,IAAT3J,GAAuB,IAATA,EAQlC,OAAT2J,GAAiBo7G,GAAmBp7G,GAC/BgnH,EAAyBhnH,IAGlCi4D,EAAQ0jD,QAAQ37G,GACT0nF,GAZEzvB,EAAQ30D,MACb2jH,GACAH,EACAE,EAHK/uD,CAILj4D,EASN,CAGA,SAASgnH,EAAyBhnH,GAEhC,OADAi4D,EAAQ2jD,KAAK,gBACNsL,EAAkBlnH,EAC3B,CAGA,SAASknH,EAAkBlnH,GACzB,OAAa,OAATA,EACK07D,EAAK17D,GAGVo7G,GAAmBp7G,GACdi4D,EAAQ6jD,QACb,CACEnsB,SAAUw3B,EACV/I,SAAS,GAEX8I,EACAxrD,EANKzD,CAOLj4D,IAGJi4D,EAAQyjD,MAAM,gBACPh0B,EAAa1nF,GACtB,CAGA,SAASmnH,EAAYlvD,EAASyR,EAAIu0C,GAChC,OAGA,SAAej+G,GAIb,OAHAi4D,EAAQyjD,MAAM,cACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,cACNI,CACT,EAGA,SAASA,EAAUh8G,GACjB,OAAOw1E,EAAKtwD,OAAOgwD,KAAKM,EAAK3qE,MAAM7E,MAAQi4G,EAAIj+G,GAAQ0pE,EAAG1pE,EAC5D,CACF,CAGA,SAAS4mH,EAA0B5mH,GACjC,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GACT8lH,GAGFp+B,EAAa1nF,EACtB,CAGA,SAAS6mH,EAAuB7mH,GAC9B,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GAChB22G,EAAS,GACFyQ,GAGF1/B,EAAa1nF,EACtB,CAGA,SAASonH,EAAsBpnH,GAC7B,OAAa,KAATA,GAAe0lH,GAAa90E,SAAS+lE,EAAOjsH,gBAC9CutE,EAAQ0jD,QAAQ37G,GACT8mH,GAGLnM,GAAW36G,IAAS22G,EAAOjuH,OAAS,GACtCuvE,EAAQ0jD,QAAQ37G,GAChB22G,GAAU1qH,OAAOoc,aAAarI,GACvBonH,GAGF1/B,EAAa1nF,EACtB,CAGA,SAAS+mH,EAAgC/mH,GACvC,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GACT8lH,GAGFp+B,EAAa1nF,EACtB,CAGA,SAAS8lH,EAA8B9lH,GACrC,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GACT8mH,GAGI,KAAT9mH,GAAwB,IAAT3J,GACjB4hE,EAAQ0jD,QAAQ37G,GACT8lH,GAGFp+B,EAAa1nF,EACtB,CAGA,SAAS8mH,EAAkB9mH,GACzB,OAAa,OAATA,GAAiBo7G,GAAmBp7G,IACtCi4D,EAAQ2jD,KAAK,gBACNlgD,EAAK17D,KAGdi4D,EAAQ0jD,QAAQ37G,GACT8mH,EACT,CAGA,SAASprD,EAAK17D,GAEZ,OADAi4D,EAAQ2jD,KAAK,YACNlyC,EAAG1pE,EACZ,CACF,EA7gBEyiH,UAWF,SAA2B7F,GACzB,IAAIrzH,EAAQqzH,EAAOl0H,OAEnB,KAAOa,MACoB,UAArBqzH,EAAOrzH,GAAO,IAA4C,aAA1BqzH,EAAOrzH,GAAO,GAAGI,QAKnDJ,EAAQ,GAAmC,eAA9BqzH,EAAOrzH,EAAQ,GAAG,GAAGI,OAEpCizH,EAAOrzH,GAAO,GAAGL,MAAQ0zH,EAAOrzH,EAAQ,GAAG,GAAGL,MAE9C0zH,EAAOrzH,EAAQ,GAAG,GAAGL,MAAQ0zH,EAAOrzH,EAAQ,GAAG,GAAGL,MAElD0zH,EAAOvvF,OAAO9jC,EAAQ,EAAG,IAG3B,OAAOqzH,CACT,EA7BEK,UAAU,GAINgK,GAAqB,CACzBt3B,SA0gBF,SAA2B13B,EAASyR,EAAIu0C,GACtC,OAGA,SAAej+G,GAKb,OAJAi4D,EAAQ2jD,KAAK,gBACb3jD,EAAQyjD,MAAM,mBACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,mBACN3jD,EAAQ6jD,QAAQqC,GAAWz0C,EAAIu0C,EACxC,CACF,EAphBEG,SAAS,GCfJ,IAAMiJ,GAAa,CACxB3/H,KAAM,aACNioG,SAKF,SAA4B13B,EAASyR,EAAIu0C,GACvC,IAqBIzpB,EArBEhf,EAAOhyE,KAGP8jH,EAAwB,CAC5B33B,SAuKF,SAA8B13B,EAASyR,EAAIu0C,GACzC,IAAIhgH,EAAO,EACX,OAAOu9G,GACLvjD,EACAsvD,EACA,aACA/jH,KAAK0hB,OAAOu1F,WAAWyD,QAAQ3sB,KAAK3gD,SAAS,qBACzCvlD,EACA,GAIN,SAASk8H,EAAqBvnH,GAG5B,OAFAi4D,EAAQyjD,MAAM,mBACdzjD,EAAQyjD,MAAM,2BACP6J,EAAgBvlH,EACzB,CAGA,SAASulH,EAAgBvlH,GACvB,OAAIA,IAASw0F,GACXv8B,EAAQ0jD,QAAQ37G,GAChB/B,IACOsnH,GAGLtnH,EAAOupH,EAAiBvJ,EAAIj+G,IAChCi4D,EAAQ2jD,KAAK,2BACNJ,GAAavjD,EAASutD,EAAoB,aAA1ChK,CAAwDx7G,GACjE,CAGA,SAASwlH,EAAmBxlH,GAC1B,OAAa,OAATA,GAAiBo7G,GAAmBp7G,IACtCi4D,EAAQ2jD,KAAK,mBACNlyC,EAAG1pE,IAGLi+G,EAAIj+G,EACb,CACF,EA9MEo+G,SAAS,GAILqJ,EAAc,CAClB93B,SA8IF,SAA6B13B,EAASyR,EAAIu0C,GACxC,IAAMzoC,EAAOhyE,KACb,OAAOta,EAGP,SAASA,EAAM8W,GAIb,OAHAi4D,EAAQyjD,MAAM,cACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,cACNI,CACT,CAGA,SAASA,EAAUh8G,GACjB,OAAOw1E,EAAKtwD,OAAOgwD,KAAKM,EAAK3qE,MAAM7E,MAAQi4G,EAAIj+G,GAAQ0pE,EAAG1pE,EAC5D,CACF,EA7JEo+G,SAAS,GAELj4C,EAAO3iE,KAAKo5G,OAAOp5G,KAAKo5G,OAAOl0H,OAAS,GACxCg/H,EACJvhD,GAAyB,eAAjBA,EAAK,GAAGx8E,KACZw8E,EAAK,GAAGs5C,eAAet5C,EAAK,IAAI,GAAMz9E,OACtC,EACF8+H,EAAW,EAIf,OAGA,SAAexnH,GAKb,OAJAi4D,EAAQyjD,MAAM,cACdzjD,EAAQyjD,MAAM,mBACdzjD,EAAQyjD,MAAM,2BACdlnB,EAASx0F,EACF2nH,EAAa3nH,EACtB,EAGA,SAAS2nH,EAAa3nH,GACpB,OAAIA,IAASw0F,GACXv8B,EAAQ0jD,QAAQ37G,GAChBwnH,IACOG,IAGT1vD,EAAQ2jD,KAAK,2BACN4L,EAAW,EACdvJ,EAAIj+G,GACJw7G,GAAavjD,EAAS2vD,EAAU,aAAhCpM,CAA8Cx7G,GACpD,CAGA,SAAS4nH,EAAS5nH,GAChB,OAAa,OAATA,GAAiBo7G,GAAmBp7G,GAC/B6nH,EAAU7nH,IAGnBi4D,EAAQyjD,MAAM,uBACdzjD,EAAQyjD,MAAM,cAAe,CAC3BhwB,YAAa,WAERtgG,EAAK4U,GACd,CAGA,SAAS5U,EAAK4U,GACZ,OAAa,OAATA,GAAiBm7G,GAA0Bn7G,IAC7Ci4D,EAAQ2jD,KAAK,eACb3jD,EAAQ2jD,KAAK,uBACNJ,GAAavjD,EAAS6vD,EAAW,aAAjCtM,CAA+Cx7G,IAG3C,KAATA,GAAeA,IAASw0F,EAAeypB,EAAIj+G,IAC/Ci4D,EAAQ0jD,QAAQ37G,GACT5U,EACT,CAGA,SAAS08H,EAAU9nH,GACjB,OAAa,OAATA,GAAiBo7G,GAAmBp7G,GAC/B6nH,EAAU7nH,IAGnBi4D,EAAQyjD,MAAM,uBACdzjD,EAAQyjD,MAAM,cAAe,CAC3BhwB,YAAa,WAER7zC,EAAK73C,GACd,CAGA,SAAS63C,EAAK73C,GACZ,OAAa,OAATA,GAAiBo7G,GAAmBp7G,IACtCi4D,EAAQ2jD,KAAK,eACb3jD,EAAQ2jD,KAAK,uBACNiM,EAAU7nH,IAGN,KAATA,GAAeA,IAASw0F,EAAeypB,EAAIj+G,IAC/Ci4D,EAAQ0jD,QAAQ37G,GACT63C,EACT,CAGA,SAASgwE,EAAU7nH,GAEjB,OADAi4D,EAAQ2jD,KAAK,mBACNpmC,EAAK2nC,UAAYzzC,EAAG1pE,GAAQ67G,EAAa77G,EAClD,CAGA,SAAS67G,EAAa77G,GACpB,OAAa,OAATA,EACKywF,EAAMzwF,GAGXo7G,GAAmBp7G,GACdi4D,EAAQ6jD,QACb2L,EACAxvD,EAAQ6jD,QACNwL,EACA72B,EACAi3B,EACIlM,GACEvjD,EACA4jD,EACA,aACA6L,EAAgB,GAElB7L,GAENprB,EAdKx4B,CAeLj4D,IAGJi4D,EAAQyjD,MAAM,iBACP6D,EAAgBv/G,GACzB,CAGA,SAASu/G,EAAgBv/G,GACvB,OAAa,OAATA,GAAiBo7G,GAAmBp7G,IACtCi4D,EAAQ2jD,KAAK,iBACNC,EAAa77G,KAGtBi4D,EAAQ0jD,QAAQ37G,GACTu/G,EACT,CAGA,SAAS9uB,EAAMzwF,GAEb,OADAi4D,EAAQ2jD,KAAK,cACNlyC,EAAG1pE,EACZ,CA+DF,EAzNEi9G,UAAU,GCZZ,IAAMt2F,GAAU/d,SAASC,cAAc,KAMhC,SAASk/G,GAA8BlgI,GAC5C,IAAMmgI,EAAqB,IAAMngI,EAAQ,IACzC8+B,GAAQ7d,UAAYk/G,EACpB,IAAMpoH,EAAO+mB,GAAQ5d,YAUrB,OAAyC,KAArCnJ,EAAK2H,WAAW3H,EAAKlX,OAAS,IAAiC,SAAVb,KAQlD+X,IAASooH,GAA6BpoH,EAC/C,CCjBO,IAAMooH,GAAqB,CAChCtgI,KAAM,qBACNioG,SAIF,SAAoC13B,EAASyR,EAAIu0C,GAC/C,IAIInnH,EAGAvJ,EAPEioF,EAAOhyE,KACTvF,EAAO,EAOX,OAGA,SAAe+B,GAKb,OAJAi4D,EAAQyjD,MAAM,sBACdzjD,EAAQyjD,MAAM,4BACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,4BACNh/G,CACT,EAGA,SAASA,EAAKoD,GACZ,OAAa,KAATA,GACFi4D,EAAQyjD,MAAM,mCACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,mCACNqM,IAGThwD,EAAQyjD,MAAM,2BACd5kH,EAAM,GACNvJ,EAAOwtH,GACAlzH,EAAMmY,GACf,CAGA,SAASioH,EAAQjoH,GACf,OAAa,KAATA,GAAwB,MAATA,GACjBi4D,EAAQyjD,MAAM,uCACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,uCACb3jD,EAAQyjD,MAAM,2BACd5kH,EAAM,EACNvJ,EAAOutH,GACAjzH,IAGTowE,EAAQyjD,MAAM,2BACd5kH,EAAM,EACNvJ,EAAOstH,GACAhzH,EAAMmY,GACf,CAGA,SAASnY,EAAMmY,GAEb,IAAIyM,EAEJ,OAAa,KAATzM,GAAe/B,GACjBwO,EAAQwrD,EAAQ2jD,KAAK,2BAGnBruH,IAASwtH,IACRgN,GAA8BvyC,EAAKiqC,eAAehzG,KAKrDwrD,EAAQyjD,MAAM,4BACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,4BACb3jD,EAAQ2jD,KAAK,sBACNlyC,GAPEu0C,EAAIj+G,IAUXzS,EAAKyS,IAAS/B,IAASnH,GACzBmhE,EAAQ0jD,QAAQ37G,GACTnY,GAGFo2H,EAAIj+G,EACb,CACF,GC/FO,IAAMkoH,GAAkB,CAC7BxgI,KAAM,kBACNioG,SAIF,SAAiC13B,EAASyR,EAAIu0C,GAC5C,OAGA,SAAej+G,GAKb,OAJAi4D,EAAQyjD,MAAM,mBACdzjD,EAAQyjD,MAAM,gBACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,gBACNh/G,CACT,EAGA,SAASA,EAAKoD,GACZ,OAAIg7G,GAAiBh7G,IACnBi4D,EAAQyjD,MAAM,wBACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,wBACb3jD,EAAQ2jD,KAAK,mBACNlyC,GAGFu0C,EAAIj+G,EACb,CACF,GC7BO,IAAMmoH,GAAa,CACxBzgI,KAAM,aACNioG,SAIF,SAA4B13B,EAASyR,GACnC,OAGA,SAAe1pE,GAIb,OAHAi4D,EAAQyjD,MAAM,cACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,cACNJ,GAAavjD,EAASyR,EAAI,aACnC,CACF,GCNO,IAAM0+C,GAAW,CACtB1gI,KAAM,WACNioG,SAgJF,SAA0B13B,EAASyR,EAAIu0C,GACrC,IAIIoK,EAGAnlH,EAPEsyE,EAAOhyE,KACTja,EAAQisF,EAAKonC,OAAOl0H,OAQxB,KAAOa,KACL,IACkC,eAA/BisF,EAAKonC,OAAOrzH,GAAO,GAAGI,MACU,cAA/B6rF,EAAKonC,OAAOrzH,GAAO,GAAGI,QACvB6rF,EAAKonC,OAAOrzH,GAAO,GAAG++H,UACvB,CACAD,EAAa7yC,EAAKonC,OAAOrzH,GAAO,GAChC,KACF,CAGF,OAGA,SAAeyW,GACb,IAAKqoH,EACH,OAAOpK,EAAIj+G,GAGb,OAAIqoH,EAAWE,UAAkBC,EAASxoH,IAC1CkD,EAAUsyE,EAAKtwD,OAAOhiB,QAAQ0tC,SAC5B+zE,GACEnvC,EAAKiqC,eAAe,CAClBv2H,MAAOm/H,EAAWv7H,IAClBA,IAAK0oF,EAAK3qE,UAIhBotD,EAAQyjD,MAAM,YACdzjD,EAAQyjD,MAAM,eACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,eACb3jD,EAAQ2jD,KAAK,YACN6M,EACT,EAGA,SAASA,EAAczoH,GAErB,OAAa,KAATA,EACKi4D,EAAQ6jD,QACb4M,GACAh/C,EACAxmE,EAAUwmE,EAAK8+C,EAHVvwD,CAILj4D,GAGS,KAATA,EACKi4D,EAAQ6jD,QACb6M,GACAj/C,EACAxmE,EACI+0D,EAAQ6jD,QAAQ8M,GAA6Bl/C,EAAI8+C,GACjDA,EALCvwD,CAMLj4D,GAGGkD,EAAUwmE,EAAG1pE,GAAQwoH,EAASxoH,EACvC,CAGA,SAASwoH,EAASxoH,GAEhB,OADAqoH,EAAWC,WAAY,EAChBrK,EAAIj+G,EACb,CACF,EA1NEyiH,UA6CF,SAA2B7F,EAAQ1lD,GACjC,IAIIzqD,EAGA7P,EAGAitF,EAGA7yF,EAbAzN,EAAQqzH,EAAOl0H,OACf8iB,EAAS,EAcb,KAAOjiB,KAGL,GAFAkjB,EAAQmwG,EAAOrzH,GAAO,GAElBqT,EAAM,CAER,GACiB,SAAf6P,EAAM9iB,MACU,cAAf8iB,EAAM9iB,MAAwB8iB,EAAM87G,UAErC,MAIuB,UAArB3L,EAAOrzH,GAAO,IAAiC,cAAfkjB,EAAM9iB,OACxC8iB,EAAM87G,WAAY,EAEtB,MAAO,GAAI1+B,GACT,GACuB,UAArB+yB,EAAOrzH,GAAO,KACE,eAAfkjB,EAAM9iB,MAAwC,cAAf8iB,EAAM9iB,QACrC8iB,EAAM67G,YAEP1rH,EAAOrT,EAEY,cAAfkjB,EAAM9iB,MAAsB,CAC9B6hB,EAAS,EACT,KACF,MAEsB,aAAfiB,EAAM9iB,OACfkgG,EAAQtgG,GAIZ,IAAMo1G,EAAQ,CACZh1G,KAA+B,cAAzBizH,EAAOhgH,GAAM,GAAGjT,KAAuB,OAAS,QACtDT,MAAO7C,OAAO6gC,OAAO,CAAC,EAAG01F,EAAOhgH,GAAM,GAAG1T,OACzC4D,IAAKzG,OAAO6gC,OAAO,CAAC,EAAG01F,EAAOA,EAAOl0H,OAAS,GAAG,GAAGoE,MAEhDwJ,EAAQ,CACZ3M,KAAM,QACNT,MAAO7C,OAAO6gC,OAAO,CAAC,EAAG01F,EAAOhgH,GAAM,GAAG1T,OACzC4D,IAAKzG,OAAO6gC,OAAO,CAAC,EAAG01F,EAAO/yB,GAAO,GAAG/8F,MAEpCiV,EAAO,CACXpY,KAAM,YACNT,MAAO7C,OAAO6gC,OAAO,CAAC,EAAG01F,EAAOhgH,EAAO4O,EAAS,GAAG,GAAG1e,KACtDA,IAAKzG,OAAO6gC,OAAO,CAAC,EAAG01F,EAAO/yB,EAAQ,GAAG,GAAG3gG,QA+B9C,OAxBA8N,EAAQtN,GALRsN,EAAQ,CACN,CAAC,QAAS2nG,EAAOznC,GACjB,CAAC,QAAS5gE,EAAO4gE,IAGC0lD,EAAOtzH,MAAMsT,EAAO,EAAGA,EAAO4O,EAAS,IAE3DxU,EAAQtN,GAAKsN,EAAO,CAAC,CAAC,QAAS+K,EAAMm1D,KAErClgE,EAAQtN,GACNsN,EACA8oH,GACE5oD,EAAQhyC,OAAOu1F,WAAWoO,WAAWt3B,KACrCqrB,EAAOtzH,MAAMsT,EAAO4O,EAAS,EAAGq+E,EAAQ,GACxC3yB,IAIJlgE,EAAQtN,GAAKsN,EAAO,CAClB,CAAC,OAAQ+K,EAAMm1D,GACf0lD,EAAO/yB,EAAQ,GACf+yB,EAAO/yB,EAAQ,GACf,CAAC,OAAQvzF,EAAO4gE,KAGlBlgE,EAAQtN,GAAKsN,EAAO4lH,EAAOtzH,MAAMugG,EAAQ,IAEzC7yF,EAAQtN,GAAKsN,EAAO,CAAC,CAAC,OAAQ2nG,EAAOznC,KACrC7pC,GAAOuvF,EAAQhgH,EAAMggH,EAAOl0H,OAAQsO,GAC7B4lH,CACT,EA3IEkD,WAmBF,SAA4BlD,GAC1B,IAGInwG,EAHAljB,GAAS,EAKb,OAASA,EAAQqzH,EAAOl0H,QAIL,gBAHjB+jB,EAAQmwG,EAAOrzH,GAAO,IAGdI,MACS,cAAf8iB,EAAM9iB,MACS,aAAf8iB,EAAM9iB,OAGNizH,EAAOvvF,OAAO9jC,EAAQ,EAAkB,eAAfkjB,EAAM9iB,KAAwB,EAAI,GAC3D8iB,EAAM9iB,KAAO,OACbJ,KAIJ,OAAOqzH,CACT,GArCM8L,GAAoB,CACxB/4B,SAuNF,SAA0B13B,EAASyR,EAAIu0C,GACrC,OAGA,SAAej+G,GAKb,OAJAi4D,EAAQyjD,MAAM,YACdzjD,EAAQyjD,MAAM,kBACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,kBACN8I,GAAkBzsD,EAASr7D,EACpC,EAGA,SAASA,EAAKoD,GACZ,OAAa,KAATA,EACKlT,EAAIkT,GAGNwjH,GACLvrD,EACA6wD,EACA7K,EACA,sBACA,6BACA,mCACA,yBACA,4BACA,GATKuF,CAULxjH,EACJ,CAGA,SAAS8oH,EAAiB9oH,GACxB,OAAOm7G,GAA0Bn7G,GAC7B0kH,GAAkBzsD,EAAS8wD,EAA3BrE,CAAoC1kH,GACpClT,EAAIkT,EACV,CAGA,SAAS+oH,EAAQ/oH,GACf,OAAa,KAATA,GAAwB,KAATA,GAAwB,KAATA,EACzBskH,GACLrsD,EACAysD,GAAkBzsD,EAASnrE,GAC3BmxH,EACA,gBACA,sBACA,sBANKqG,CAOLtkH,GAGGlT,EAAIkT,EACb,CAGA,SAASlT,EAAIkT,GACX,OAAa,KAATA,GACFi4D,EAAQyjD,MAAM,kBACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,kBACb3jD,EAAQ2jD,KAAK,YACNlyC,GAGFu0C,EAAIj+G,EACb,CACF,GArRM2oH,GAAyB,CAC7Bh5B,SAuRF,SAA+B13B,EAASyR,EAAIu0C,GAC1C,IAAMzoC,EAAOhyE,KACb,OAGA,SAAexD,GACb,OAAOmkH,GAAan9H,KAClBwuF,EACAvd,EACA+wD,EACA/K,EACA,YACA,kBACA,kBAPKkG,CAQLnkH,EACJ,EAGA,SAASgpH,EAAWhpH,GAClB,OAAOw1E,EAAKtwD,OAAOhiB,QAAQ0tC,SACzB+zE,GACEnvC,EAAKiqC,eAAejqC,EAAKonC,OAAOpnC,EAAKonC,OAAOl0H,OAAS,GAAG,IAAIY,MAAM,GAAI,KAGtEogF,EAAG1pE,GACHi+G,EAAIj+G,EACV,CACF,GA9SM4oH,GAA8B,CAClCj5B,SAgTF,SAAoC13B,EAASyR,EAAIu0C,GAC/C,OAGA,SAAej+G,GAKb,OAJAi4D,EAAQyjD,MAAM,aACdzjD,EAAQyjD,MAAM,mBACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,mBACNh/G,CACT,EAGA,SAASA,EAAKoD,GACZ,OAAa,KAATA,GACFi4D,EAAQyjD,MAAM,mBACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,mBACb3jD,EAAQ2jD,KAAK,aACNlyC,GAGFu0C,EAAIj+G,EACb,CACF,GCtWO,IAAMipH,GAAkB,CAC7BvhI,KAAM,kBACNioG,SAKF,SAAiC13B,EAASyR,EAAIu0C,GAC5C,IAAMzoC,EAAOhyE,KACb,OAGA,SAAexD,GAKb,OAJAi4D,EAAQyjD,MAAM,cACdzjD,EAAQyjD,MAAM,oBACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,oBACNh/G,CACT,EAGA,SAASA,EAAKoD,GACZ,OAAa,KAATA,GACFi4D,EAAQyjD,MAAM,eACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,eACb3jD,EAAQ2jD,KAAK,cACNnrB,GAGFwtB,EAAIj+G,EACb,CAGA,SAASywF,EAAMzwF,GAQb,OAAgB,KAATA,GAAe,2BAA4Bw1E,EAAKtwD,OAAOu1F,WAC1DwD,EAAIj+G,GACJ0pE,EAAG1pE,EACT,CACF,EA3CE8/G,WAAYsI,GAAStI,YCUhB,SAASoJ,GAAkBlpH,GAChC,OACW,OAATA,GACAm7G,GAA0Bn7G,IAC1Bs7G,GAAkBt7G,GAEX,EAGLu7G,GAAmBv7G,GACd,OADT,CAGF,CClBO,IAAMmpH,GAAY,CACvBzhI,KAAM,YACNioG,SAwKF,SAA2B13B,EAASyR,GAClC,IAKI8qB,EALE40B,EAAmB5lH,KAAK0hB,OAAOu1F,WAAW2O,iBAAiB73B,KAC3DxoG,EAAWya,KAAKza,SAChBwnG,EAAS24B,GAAkBngI,GAIjC,OAGA,SAAeiX,GAGb,OAFAi4D,EAAQyjD,MAAM,qBACdlnB,EAASx0F,EACF2iH,EAAS3iH,EAClB,EAGA,SAAS2iH,EAAS3iH,GAChB,GAAIA,IAASw0F,EAEX,OADAv8B,EAAQ0jD,QAAQ37G,GACT2iH,EAGT,IAAMl2G,EAAQwrD,EAAQ2jD,KAAK,qBACrBnrB,EAAQy4B,GAAkBlpH,GAC1BpD,GACH6zF,GAAoB,IAAVA,GAAeF,GAAW64B,EAAiBx4E,SAAS5wC,GAC3D6pF,GACH0G,GAAsB,IAAXA,GAAgBE,GAAU24B,EAAiBx4E,SAAS7nD,GAGlE,OAFA0jB,EAAM48G,MAAQ14B,QAAmB,KAAX6D,EAAgB53F,EAAOA,IAAS2zF,IAAW1G,IACjEp9E,EAAM68G,OAAS34B,QAAmB,KAAX6D,EAAgB3K,EAAQA,IAAU4G,IAAU7zF,IAC5D8sE,EAAG1pE,EACZ,CACF,EAxME8/G,WAQF,SAA6BlD,EAAQ1lD,GACnC,IAGIt6D,EAGA+hG,EAGA58F,EAGAwnH,EAGAhE,EAGAxN,EAGAyR,EAGAh+G,EAxBAjiB,GAAS,EA6Bb,OAASA,EAAQqzH,EAAOl0H,QAEtB,GACuB,UAArBk0H,EAAOrzH,GAAO,IACY,sBAA1BqzH,EAAOrzH,GAAO,GAAGI,MACjBizH,EAAOrzH,GAAO,GAAG+/H,OAIjB,IAFA1sH,EAAOrT,EAEAqT,KAEL,GACsB,SAApBggH,EAAOhgH,GAAM,IACY,sBAAzBggH,EAAOhgH,GAAM,GAAGjT,MAChBizH,EAAOhgH,GAAM,GAAGysH,OAChBnyD,EAAQuoD,eAAe7C,EAAOhgH,GAAM,IAAI2K,WAAW,KACjD2vD,EAAQuoD,eAAe7C,EAAOrzH,GAAO,IAAIge,WAAW,GACtD,CAKA,IACGq1G,EAAOhgH,GAAM,GAAG0sH,QAAU1M,EAAOrzH,GAAO,GAAG8/H,SAC3CzM,EAAOrzH,GAAO,GAAGuD,IAAI0e,OAASoxG,EAAOrzH,GAAO,GAAGL,MAAMsiB,QAAU,MAE7DoxG,EAAOhgH,GAAM,GAAG9P,IAAI0e,OACnBoxG,EAAOhgH,GAAM,GAAG1T,MAAMsiB,OACtBoxG,EAAOrzH,GAAO,GAAGuD,IAAI0e,OACrBoxG,EAAOrzH,GAAO,GAAGL,MAAMsiB,QACzB,GAGF,SAGFusG,EACE6E,EAAOhgH,GAAM,GAAG9P,IAAI0e,OAASoxG,EAAOhgH,GAAM,GAAG1T,MAAMsiB,OAAS,GAC5DoxG,EAAOrzH,GAAO,GAAGuD,IAAI0e,OAASoxG,EAAOrzH,GAAO,GAAGL,MAAMsiB,OAAS,EAC1D,EACA,EACN,IAAMtiB,EAAQ7C,OAAO6gC,OAAO,CAAC,EAAG01F,EAAOhgH,GAAM,GAAG9P,KAC1CA,EAAMzG,OAAO6gC,OAAO,CAAC,EAAG01F,EAAOrzH,GAAO,GAAGL,OAC/CugI,GAAUvgI,GAAQ6uH,GAClB0R,GAAU38H,EAAKirH,GACfwR,EAAkB,CAChB5/H,KAAMouH,EAAM,EAAI,iBAAmB,mBACnC7uH,MAAAA,EACA4D,IAAKzG,OAAO6gC,OAAO,CAAC,EAAG01F,EAAOhgH,GAAM,GAAG9P,MAEzCy4H,EAAkB,CAChB57H,KAAMouH,EAAM,EAAI,iBAAmB,mBACnC7uH,MAAO7C,OAAO6gC,OAAO,CAAC,EAAG01F,EAAOrzH,GAAO,GAAGL,OAC1C4D,IAAAA,GAEFiV,EAAO,CACLpY,KAAMouH,EAAM,EAAI,aAAe,eAC/B7uH,MAAO7C,OAAO6gC,OAAO,CAAC,EAAG01F,EAAOhgH,GAAM,GAAG9P,KACzCA,IAAKzG,OAAO6gC,OAAO,CAAC,EAAG01F,EAAOrzH,GAAO,GAAGL,QAE1Cy1G,EAAQ,CACNh1G,KAAMouH,EAAM,EAAI,SAAW,WAC3B7uH,MAAO7C,OAAO6gC,OAAO,CAAC,EAAGqiG,EAAgBrgI,OACzC4D,IAAKzG,OAAO6gC,OAAO,CAAC,EAAGq+F,EAAgBz4H,MAEzC8vH,EAAOhgH,GAAM,GAAG9P,IAAMzG,OAAO6gC,OAAO,CAAC,EAAGqiG,EAAgBrgI,OACxD0zH,EAAOrzH,GAAO,GAAGL,MAAQ7C,OAAO6gC,OAAO,CAAC,EAAGq+F,EAAgBz4H,KAC3D08H,EAAa,GAET5M,EAAOhgH,GAAM,GAAG9P,IAAI0e,OAASoxG,EAAOhgH,GAAM,GAAG1T,MAAMsiB,SACrDg+G,EAAa9/H,GAAK8/H,EAAY,CAC5B,CAAC,QAAS5M,EAAOhgH,GAAM,GAAIs6D,GAC3B,CAAC,OAAQ0lD,EAAOhgH,GAAM,GAAIs6D,MAI9BsyD,EAAa9/H,GAAK8/H,EAAY,CAC5B,CAAC,QAAS7qB,EAAOznC,GACjB,CAAC,QAASqyD,EAAiBryD,GAC3B,CAAC,OAAQqyD,EAAiBryD,GAC1B,CAAC,QAASn1D,EAAMm1D,KAGlBsyD,EAAa9/H,GACX8/H,EACA1J,GACE5oD,EAAQhyC,OAAOu1F,WAAWoO,WAAWt3B,KACrCqrB,EAAOtzH,MAAMsT,EAAO,EAAGrT,GACvB2tE,IAIJsyD,EAAa9/H,GAAK8/H,EAAY,CAC5B,CAAC,OAAQznH,EAAMm1D,GACf,CAAC,QAASquD,EAAiBruD,GAC3B,CAAC,OAAQquD,EAAiBruD,GAC1B,CAAC,OAAQynC,EAAOznC,KAGd0lD,EAAOrzH,GAAO,GAAGuD,IAAI0e,OAASoxG,EAAOrzH,GAAO,GAAGL,MAAMsiB,QACvDA,EAAS,EACTg+G,EAAa9/H,GAAK8/H,EAAY,CAC5B,CAAC,QAAS5M,EAAOrzH,GAAO,GAAI2tE,GAC5B,CAAC,OAAQ0lD,EAAOrzH,GAAO,GAAI2tE,MAG7B1rD,EAAS,EAGX6hB,GAAOuvF,EAAQhgH,EAAO,EAAGrT,EAAQqT,EAAO,EAAG4sH,GAC3CjgI,EAAQqT,EAAO4sH,EAAW9gI,OAAS8iB,EAAS,EAC5C,KACF,CAKNjiB,GAAS,EAET,OAASA,EAAQqzH,EAAOl0H,QACQ,sBAA1Bk0H,EAAOrzH,GAAO,GAAGI,OACnBizH,EAAOrzH,GAAO,GAAGI,KAAO,QAI5B,OAAOizH,CACT,GAgDA,SAAS6M,GAAU3V,EAAOtoG,GACxBsoG,EAAMnuG,QAAU6F,EAChBsoG,EAAMtoG,QAAUA,EAChBsoG,EAAM2M,cAAgBj1G,CACxB,CC7NO,IAAMk+G,GAAW,CACtBhiI,KAAM,WACNioG,SAIF,SAA0B13B,EAASyR,EAAIu0C,GACrC,IAAIhgH,EAAO,EACX,OAGA,SAAe+B,GAMb,OALAi4D,EAAQyjD,MAAM,YACdzjD,EAAQyjD,MAAM,kBACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,kBACb3jD,EAAQyjD,MAAM,oBACP9+G,CACT,EAGA,SAASA,EAAKoD,GACZ,OAAI26G,GAAW36G,IACbi4D,EAAQ0jD,QAAQ37G,GACT2pH,GAGF1O,GAAWj7G,GAAQ4pH,EAAW5pH,GAAQi+G,EAAIj+G,EACnD,CAGA,SAAS2pH,EAAmB3pH,GAC1B,OAAgB,KAATA,GAAwB,KAATA,GAAwB,KAATA,GAAe+6G,GAAkB/6G,GAClE6pH,EAAyB7pH,GACzB4pH,EAAW5pH,EACjB,CAGA,SAAS6pH,EAAyB7pH,GAChC,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GACT8pH,IAIG,KAAT9pH,GAAwB,KAATA,GAAwB,KAATA,GAAe+6G,GAAkB/6G,KAChE/B,IAAS,IAETg6D,EAAQ0jD,QAAQ37G,GACT6pH,GAGFD,EAAW5pH,EACpB,CAGA,SAAS8pH,EAAU9pH,GACjB,OAAa,KAATA,GACFi4D,EAAQ2jD,KAAK,oBACN9uH,EAAIkT,IAGA,OAATA,GAA0B,KAATA,GAAwB,KAATA,GAAek7G,GAAal7G,GACvDi+G,EAAIj+G,IAGbi4D,EAAQ0jD,QAAQ37G,GACT8pH,EACT,CAGA,SAASF,EAAW5pH,GAClB,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GAChB/B,EAAO,EACA8rH,GAGL9O,GAAWj7G,IACbi4D,EAAQ0jD,QAAQ37G,GACT4pH,GAGF3L,EAAIj+G,EACb,CAGA,SAAS+pH,EAAiB/pH,GACxB,OAAO+6G,GAAkB/6G,GAAQgqH,EAAWhqH,GAAQi+G,EAAIj+G,EAC1D,CAGA,SAASgqH,EAAWhqH,GAClB,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GAChB/B,EAAO,EACA8rH,GAGI,KAAT/pH,GAEFi4D,EAAQ2jD,KAAK,oBAAoBjyH,KAAO,gBACjCmD,EAAIkT,IAGNiqH,EAAWjqH,EACpB,CAGA,SAASiqH,EAAWjqH,GAClB,OAAc,KAATA,GAAe+6G,GAAkB/6G,KAAU/B,IAAS,IACvDg6D,EAAQ0jD,QAAQ37G,GACA,KAATA,EAAciqH,EAAaD,GAG7B/L,EAAIj+G,EACb,CAGA,SAASlT,EAAIkT,GAKX,OAJAi4D,EAAQyjD,MAAM,kBACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,kBACb3jD,EAAQ2jD,KAAK,YACNlyC,CACT,CACF,GC3HO,IAAMwgD,GAAW,CACtBxiI,KAAM,WACNioG,SAIF,SAA0B13B,EAASyR,EAAIu0C,GACrC,IAGIzpB,EAGAmiB,EAGAptH,EAGAi8C,EAZEgwC,EAAOhyE,KAab,OAGA,SAAexD,GAIb,OAHAi4D,EAAQyjD,MAAM,YACdzjD,EAAQyjD,MAAM,gBACdzjD,EAAQ0jD,QAAQ37G,GACTpD,CACT,EAGA,SAASA,EAAKoD,GACZ,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GACTmqH,GAGI,KAATnqH,GACFi4D,EAAQ0jD,QAAQ37G,GACT6lH,GAGI,KAAT7lH,GACFi4D,EAAQ0jD,QAAQ37G,GACT6kF,GAGL81B,GAAW36G,IACbi4D,EAAQ0jD,QAAQ37G,GACToqH,GAGFnM,EAAIj+G,EACb,CAGA,SAASmqH,EAAgBnqH,GACvB,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GACTqqH,GAGI,KAATrqH,GACFi4D,EAAQ0jD,QAAQ37G,GAChB22G,EAAS,SACTptH,EAAQ,EACD+gI,GAGL3P,GAAW36G,IACbi4D,EAAQ0jD,QAAQ37G,GACTiH,GAGFg3G,EAAIj+G,EACb,CAGA,SAASqqH,EAAYrqH,GACnB,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GACTuqH,GAGFtM,EAAIj+G,EACb,CAGA,SAASuqH,EAAavqH,GACpB,OAAa,OAATA,GAA0B,KAATA,EACZi+G,EAAIj+G,GAGA,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GACTwqH,GAGFzjH,EAAQ/G,EACjB,CAGA,SAASwqH,EAAiBxqH,GACxB,OAAa,OAATA,GAA0B,KAATA,EACZi+G,EAAIj+G,GAGN+G,EAAQ/G,EACjB,CAGA,SAAS+G,EAAQ/G,GACf,OAAa,OAATA,EACKi+G,EAAIj+G,GAGA,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GACTyqH,GAGLrP,GAAmBp7G,IACrBwlC,EAAcz+B,EACP2jH,EAAa1qH,KAGtBi4D,EAAQ0jD,QAAQ37G,GACT+G,EACT,CAGA,SAAS0jH,EAAazqH,GACpB,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GACTlT,GAGFia,EAAQ/G,EACjB,CAGA,SAASsqH,EAAUtqH,GACjB,OAAIA,IAAS22G,EAAOpvG,WAAWhe,MAC7B0uE,EAAQ0jD,QAAQ37G,GACTzW,IAAUotH,EAAOjuH,OAAS0qG,EAAQk3B,GAGpCrM,EAAIj+G,EACb,CAGA,SAASozF,EAAMpzF,GACb,OAAa,OAATA,EACKi+G,EAAIj+G,GAGA,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GACT2qH,GAGLvP,GAAmBp7G,IACrBwlC,EAAc4tD,EACPs3B,EAAa1qH,KAGtBi4D,EAAQ0jD,QAAQ37G,GACTozF,EACT,CAGA,SAASu3B,EAAW3qH,GAClB,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GACT4qH,GAGFx3B,EAAMpzF,EACf,CAGA,SAAS4qH,EAAS5qH,GAChB,OAAa,KAATA,EACKlT,EAAIkT,GAGA,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GACT4qH,GAGFx3B,EAAMpzF,EACf,CAGA,SAASiH,EAAYjH,GACnB,OAAa,OAATA,GAA0B,KAATA,EACZlT,EAAIkT,GAGTo7G,GAAmBp7G,IACrBwlC,EAAcv+B,EACPyjH,EAAa1qH,KAGtBi4D,EAAQ0jD,QAAQ37G,GACTiH,EACT,CAGA,SAAS49E,EAAY7kF,GACnB,OAAa,OAATA,EACKi+G,EAAIj+G,GAGA,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GACT6qH,GAGLzP,GAAmBp7G,IACrBwlC,EAAcq/C,EACP6lC,EAAa1qH,KAGtBi4D,EAAQ0jD,QAAQ37G,GACT6kF,EACT,CAGA,SAASgmC,EAAiB7qH,GACxB,OAAgB,KAATA,EAAclT,EAAIkT,GAAQ6kF,EAAY7kF,EAC/C,CAGA,SAAS6lH,EAAc7lH,GACrB,OAAI26G,GAAW36G,IACbi4D,EAAQ0jD,QAAQ37G,GACT8qH,GAGF7M,EAAIj+G,EACb,CAGA,SAAS8qH,EAAS9qH,GAChB,OAAa,KAATA,GAAe+6G,GAAkB/6G,IACnCi4D,EAAQ0jD,QAAQ37G,GACT8qH,GAGFC,EAAgB/qH,EACzB,CAGA,SAAS+qH,EAAgB/qH,GACvB,OAAIo7G,GAAmBp7G,IACrBwlC,EAAculF,EACPL,EAAa1qH,IAGlBq7G,GAAcr7G,IAChBi4D,EAAQ0jD,QAAQ37G,GACT+qH,GAGFj+H,EAAIkT,EACb,CAGA,SAASoqH,EAAQpqH,GACf,OAAa,KAATA,GAAe+6G,GAAkB/6G,IACnCi4D,EAAQ0jD,QAAQ37G,GACToqH,GAGI,KAATpqH,GAAwB,KAATA,GAAem7G,GAA0Bn7G,GACnDgrH,EAAehrH,GAGjBi+G,EAAIj+G,EACb,CAGA,SAASgrH,EAAehrH,GACtB,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GACTlT,GAGI,KAATkT,GAAwB,KAATA,GAAe26G,GAAW36G,IAC3Ci4D,EAAQ0jD,QAAQ37G,GACTirH,GAGL7P,GAAmBp7G,IACrBwlC,EAAcwlF,EACPN,EAAa1qH,IAGlBq7G,GAAcr7G,IAChBi4D,EAAQ0jD,QAAQ37G,GACTgrH,GAGFl+H,EAAIkT,EACb,CAGA,SAASirH,EAAqBjrH,GAC5B,OACW,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACA+6G,GAAkB/6G,IAElBi4D,EAAQ0jD,QAAQ37G,GACTirH,GAGFC,EAA0BlrH,EACnC,CAGA,SAASkrH,EAA0BlrH,GACjC,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GACTmrH,GAGL/P,GAAmBp7G,IACrBwlC,EAAc0lF,EACPR,EAAa1qH,IAGlBq7G,GAAcr7G,IAChBi4D,EAAQ0jD,QAAQ37G,GACTkrH,GAGFF,EAAehrH,EACxB,CAGA,SAASmrH,EAA4BnrH,GACnC,OACW,OAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,EAEOi+G,EAAIj+G,GAGA,KAATA,GAAwB,KAATA,GACjBi4D,EAAQ0jD,QAAQ37G,GAChBw0F,EAASx0F,EACForH,GAGLhQ,GAAmBp7G,IACrBwlC,EAAc2lF,EACPT,EAAa1qH,IAGlBq7G,GAAcr7G,IAChBi4D,EAAQ0jD,QAAQ37G,GACTmrH,IAGTlzD,EAAQ0jD,QAAQ37G,GAChBw0F,OAASnpG,EACFggI,EACT,CAGA,SAASD,EAA4BprH,GACnC,OAAIA,IAASw0F,GACXv8B,EAAQ0jD,QAAQ37G,GACTsrH,GAGI,OAATtrH,EACKi+G,EAAIj+G,GAGTo7G,GAAmBp7G,IACrBwlC,EAAc4lF,EACPV,EAAa1qH,KAGtBi4D,EAAQ0jD,QAAQ37G,GACTorH,EACT,CAGA,SAASE,EAAiCtrH,GACxC,OAAa,KAATA,GAAwB,KAATA,GAAem7G,GAA0Bn7G,GACnDgrH,EAAehrH,GAGjBi+G,EAAIj+G,EACb,CAGA,SAASqrH,EAA8BrrH,GACrC,OACW,OAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,GACS,KAATA,EAEOi+G,EAAIj+G,GAGA,KAATA,GAAem7G,GAA0Bn7G,GACpCgrH,EAAehrH,IAGxBi4D,EAAQ0jD,QAAQ37G,GACTqrH,EACT,CAKA,SAASX,EAAa1qH,GAKpB,OAJAi4D,EAAQ2jD,KAAK,gBACb3jD,EAAQyjD,MAAM,cACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,cACNJ,GACLvjD,EACA+sD,EACA,aACAxvC,EAAKtwD,OAAOu1F,WAAWyD,QAAQ3sB,KAAK3gD,SAAS,qBACzCvlD,EACA,EAER,CAGA,SAAS25H,EAAYhlH,GAEnB,OADAi4D,EAAQyjD,MAAM,gBACPl2E,EAAYxlC,EACrB,CAGA,SAASlT,EAAIkT,GACX,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,gBACb3jD,EAAQ2jD,KAAK,YACNlyC,GAGFu0C,EAAIj+G,EACb,CACF,GCtdO,IAAMurH,GAAiB,CAC5B7jI,KAAM,iBACNioG,SAKF,SAAgC13B,EAASyR,EAAIu0C,GAC3C,IAAMzoC,EAAOhyE,KACb,OAGA,SAAexD,GAMb,OALAi4D,EAAQyjD,MAAM,aACdzjD,EAAQyjD,MAAM,eACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,eACb3jD,EAAQ2jD,KAAK,aACNnrB,CACT,EAGA,SAASA,EAAMzwF,GAQb,OAAgB,KAATA,GAAe,2BAA4Bw1E,EAAKtwD,OAAOu1F,WAC1DwD,EAAIj+G,GACJ0pE,EAAG1pE,EACT,CACF,EA/BE8/G,WAAYsI,GAAStI,YCHhB,IAAM0L,GAAkB,CAC7B9jI,KAAM,kBACNioG,SAIF,SAAiC13B,EAASyR,EAAIu0C,GAC5C,OAGA,SAAej+G,GAIb,OAHAi4D,EAAQyjD,MAAM,mBACdzjD,EAAQyjD,MAAM,gBACdzjD,EAAQ0jD,QAAQ37G,GACTpD,CACT,EAGA,SAASA,EAAKoD,GACZ,OAAIo7G,GAAmBp7G,IACrBi4D,EAAQ2jD,KAAK,gBACb3jD,EAAQ2jD,KAAK,mBACNlyC,EAAG1pE,IAGLi+G,EAAIj+G,EACb,CACF,GCxBO,mBAAMyrH,GAAW,CACtB/jI,KAAM,WACNioG,SA0EF,SAA0B13B,EAASyR,EAAIu0C,GACrC,IAIIhgH,EAGAwO,EANA+6G,EAAW,EAOf,OAGA,SAAexnH,GAGb,OAFAi4D,EAAQyjD,MAAM,YACdzjD,EAAQyjD,MAAM,oBACP6N,EAAgBvpH,EACzB,EAGA,SAASupH,EAAgBvpH,GACvB,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GAChBwnH,IACO+B,IAGTtxD,EAAQ2jD,KAAK,oBACNn0B,EAAIznF,GACb,CAGA,SAASynF,EAAIznF,GAEX,OAAa,OAATA,EACKi+G,EAAIj+G,GAIA,KAATA,GACFyM,EAAQwrD,EAAQyjD,MAAM,oBACtBz9G,EAAO,EACAsnH,EAAgBvlH,IAGZ,KAATA,GACFi4D,EAAQyjD,MAAM,SACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,SACNn0B,GAGL2zB,GAAmBp7G,IACrBi4D,EAAQyjD,MAAM,cACdzjD,EAAQ0jD,QAAQ37G,GAChBi4D,EAAQ2jD,KAAK,cACNn0B,IAGTxvB,EAAQyjD,MAAM,gBACPxuH,EAAK8S,GACd,CAIA,SAAS9S,EAAK8S,GACZ,OACW,OAATA,GACS,KAATA,GACS,KAATA,GACAo7G,GAAmBp7G,IAEnBi4D,EAAQ2jD,KAAK,gBACNn0B,EAAIznF,KAGbi4D,EAAQ0jD,QAAQ37G,GACT9S,EACT,CAIA,SAASq4H,EAAgBvlH,GAEvB,OAAa,KAATA,GACFi4D,EAAQ0jD,QAAQ37G,GAChB/B,IACOsnH,GAGLtnH,IAASupH,GACXvvD,EAAQ2jD,KAAK,oBACb3jD,EAAQ2jD,KAAK,YACNlyC,EAAG1pE,KAGZyM,EAAM9iB,KAAO,eACNuD,EAAK8S,GACd,CACF,EA3KEwxD,QAKF,SAAyBorD,GACvB,IAIIrzH,EAGAmyH,EAPAgQ,EAAgB9O,EAAOl0H,OAAS,EAChCijI,EAAiB,EAQrB,IACsC,eAAnC/O,EAAO+O,GAAgB,GAAGhiI,MACU,UAAnCizH,EAAO+O,GAAgB,GAAGhiI,QACO,eAAlCizH,EAAO8O,GAAe,GAAG/hI,MACU,UAAlCizH,EAAO8O,GAAe,GAAG/hI,MAI3B,IAFAJ,EAAQoiI,IAECpiI,EAAQmiI,GACf,GAA8B,iBAA1B9O,EAAOrzH,GAAO,GAAGI,KAAyB,CAE5CizH,EAAO+O,GAAgB,GAAGhiI,KAAO,kBACjCizH,EAAO8O,GAAe,GAAG/hI,KAAO,kBAChCgiI,GAAkB,EAClBD,GAAiB,EACjB,KACF,CAIJniI,EAAQoiI,EAAiB,EACzBD,IAEA,OAASniI,GAASmiI,QACFrgI,IAAVqwH,EACEnyH,IAAUmiI,GAA2C,eAA1B9O,EAAOrzH,GAAO,GAAGI,OAC9C+xH,EAAQnyH,GAGVA,IAAUmiI,GACgB,eAA1B9O,EAAOrzH,GAAO,GAAGI,OAEjBizH,EAAOlB,GAAO,GAAG/xH,KAAO,eAEpBJ,IAAUmyH,EAAQ,IACpBkB,EAAOlB,GAAO,GAAG5uH,IAAM8vH,EAAOrzH,EAAQ,GAAG,GAAGuD,IAC5C8vH,EAAOvvF,OAAOquF,EAAQ,EAAGnyH,EAAQmyH,EAAQ,GACzCgQ,GAAiBniI,EAAQmyH,EAAQ,EACjCnyH,EAAQmyH,EAAQ,GAGlBA,OAAQrwH,GAIZ,OAAOuxH,CACT,EA5DE7zH,SA+DF,SAAkBiX,GAEhB,OACW,KAATA,GACgD,oBAAhDwD,KAAKo5G,OAAOp5G,KAAKo5G,OAAOl0H,OAAS,GAAG,GAAGiB,IAE3C,GCxDO,IAAMif,IAAQ,QAClB,GAAKnS,IAAI,KACT,GAAKA,IAAI,KACT,GAAKA,IAAI,KACT,GAAKA,IAAI,KACT,GAAKA,IAAI,KACT,GAAKA,IAAI,KACT,GAAKA,IAAI,KACT,GAAKA,IAAI,KACT,GAAKA,IAAI,KACT,GAAKA,IAAI,KACT,GAAKA,IAAI,KACT,GAAKA,IAAI,KACT,GAAKA,IAAI,KACT,GAAK8sH,IAAU,IAILxH,GAAiB,KAC3B,GAAK94G,IAIK08G,IAAW,SACpB,EAAImF,IAAY,MAChB,EAAIA,IAAY,KACjB,GAAKA,IAAY,IAIP19B,IAAI,QACd,GAAK89B,IAAU,KACf,GAAKxC,IAAa,KAClB,GAAK,CAAC2C,GAAiB3C,KAAc,KACrC,GAAKiD,IAAQ,KACb,GAAKN,IAAe,KACpB,GAAK3C,IAAa,KAClB,GAAK2E,IAAU,KACf,IAAMA,IAAU,IAINx/G,IAAM,QAChB,GAAKmgH,IAAkB,KACvB,GAAKE,IAAe,IAIVnmH,IAAI,SACb,EAAIomH,IAAU,MACd,EAAIA,IAAU,MACd,EAAIA,IAAU,KACf,GAAKc,IAAe,KACpB,GAAKjB,IAAkB,KACvB,GAAKmB,IAAS,KACd,GAAK,CAACO,GAAUQ,KAAS,KACzB,GAAKqB,IAAc,KACnB,GAAK,CAACC,GAAiBtD,KAAgB,KACvC,GAAKE,IAAQ,KACb,GAAKe,IAAS,KACd,GAAKsC,IAAQ,IAIH5C,GAAa,CACxBt3B,KAAM,CAAC43B,GAAWyC,KAIPxC,GAAmB,CAC9B73B,KAAM,CAAC,GAAI,KAIA2sB,GAAU,CACrB3sB,KAAM,ICzFR,IAAMpoG,GAAS,cCJR,SAAS0iI,GAAgChkI,EAAO0vD,GACrD,IAAMv3C,EAAO3T,OAAO+e,SAASvjB,EAAO0vD,GAEpC,OAEEv3C,EAAO,GACE,KAATA,GACCA,EAAO,IAAMA,EAAO,IACpBA,EAAO,KAAOA,EAAO,KACrBA,EAAO,OAASA,EAAO,OACvBA,EAAO,OAASA,EAAO,OACL,SAAX,MAAPA,IACkB,SAAX,MAAPA,IACDA,EAAO,QAEA,SAGF/T,OAAOoc,aAAarI,EAC7B,CC3BA,IAAM8rH,GACJ,oEAWK,SAASC,GAAalkI,GAC3B,OAAOA,EAAM6F,QAAQo+H,GAA4Bh2C,GACnD,CAQA,SAASA,GAAO5nF,EAAI89H,EAAIC,GACtB,GAAID,EAEF,OAAOA,EAKT,GAAa,KAFAC,EAAG1kH,WAAW,GAEV,CACf,IAAMukG,EAAOmgB,EAAG1kH,WAAW,GACrB2kH,EAAe,MAATpgB,GAAyB,KAATA,EAC5B,OAAO+f,GAAgCI,EAAG3iI,MAAM4iI,EAAM,EAAI,GAAIA,EAAM,GAAK,GAC3E,CAEA,OAAOnE,GAA8BkE,IAAO/9H,CAC9C,CCqDA,IAAMpD,GAAM,CAAC,EAAEvE,eAOF4lI,GAcX,SAAUtkI,EAAOovH,EAAUxvH,GAMzB,MALwB,kBAAbwvH,IACTxvH,EAAUwvH,EACVA,OAAW5rH,GAejB,WAAgC,IAAd5D,EAAU,UAAH,6CAAG,CAAC,EAGrB2kI,EAASC,GACb,CACEC,WAAY,GACZC,eAAgB,CACd,WACA,WACA,UACA,YACA,UAEF7Q,MAAO,CACLgO,SAAU8C,EAAO5rH,IACjB6rH,iBAAkBC,EAClBC,cAAeD,EACfE,WAAYJ,EAAO73B,IACnB4uB,WAAYiJ,EAAOjJ,GACnB2E,gBAAiBwE,EACjB1E,mBAAoB0E,EACpBrF,WAAYmF,EAAOK,GACnBC,oBAAqBnW,EACrBoW,oBAAqBpW,EACrBmO,aAAc0H,EAAOK,EAAUlW,GAC/B8U,SAAUe,EAAOf,EAAU9U,GAC3BqW,aAAcN,EACdx/H,KAAMw/H,EACNO,cAAeP,EACfzpH,WAAYupH,EAAOvpH,GACnBiqH,4BAA6BvW,EAC7BwW,sBAAuBxW,EACvByW,sBAAuBzW,EACvB/O,SAAU4kB,EAAO5kB,GACjB4jB,gBAAiBgB,EAAOa,IACxBC,kBAAmBd,EAAOa,IAC1B1H,SAAU6G,EAAOhgI,GAAMmqH,GACvB4W,aAAcb,EACdxC,SAAUsC,EAAOhgI,GAAMmqH,GACvB6W,aAAcd,EACdznB,MAAOunB,EAAOvnB,IACd3uG,MAAOqgH,EACP/1G,KAAM4rH,EAAO5rH,IACb6sH,SAAUjB,EAAOiB,IACjBC,cAAeC,EACfC,YAAapB,EAAO/1H,GAAMo3H,GAC1BC,cAAetB,EAAO/1H,IACtB6uH,UAAWkH,EAAOlH,IAClB17G,UAAWmkH,EACXC,gBAAiBrX,EACjBsX,0BAA2BtX,EAC3BuX,oBAAqBvX,EACrBwX,cAAe3B,EAAO73B,IACtBy5B,OAAQ5B,EAAO4B,IACf1L,cAAe8J,EAAO9J,KAExB9G,KAAM,CACJgR,WAAYyB,IACZC,mBAAoBC,EACpB7E,SAAU2E,IACV1B,cAAe6B,EACf/B,iBAAkBgC,EAClBlL,WAAY8K,IACZK,qBAAsBC,EACtBC,oCAAqCC,EACrCC,gCAAiCD,EACjCE,wBAAyBC,EACzB3H,WAAYgH,EAAOY,GACnBC,gBAAiBC,EACjBrC,oBAAqBsC,EACrBrC,oBAAqBsC,EACrBpC,cAAe0B,EACf7J,aAAcuJ,EAAOiB,GACrB7D,SAAU4C,EAAOkB,GACjBvC,aAAc2B,EACdzhI,KAAMyhI,EACN1rH,WAAYorH,IACZnB,4BAA6BsC,EAC7BrC,sBAAuBsC,EACvBrC,sBAAuBsC,EACvB9nB,SAAUymB,IACV7C,gBAAiB6C,EAAOsB,GACxBrC,kBAAmBe,EAAOsB,GAC1BhK,SAAU0I,EAAOuB,GACjBrC,aAAcoB,EACdzE,SAAUmE,EAAOwB,GACjBrC,aAAcmB,EACd1pB,MAAOopB,EAAOyB,GACdx5H,MAAOy5H,EACPC,UAAWC,EACX9H,WAAY+H,EACZtvH,KAAMytH,EAAO8B,GACb1C,SAAUY,IACVT,YAAaS,IACbP,cAAeO,IACf/I,UAAW+I,IACXL,gBAAiBoC,EACjBnC,0BAA2BoC,EAC3BnC,oBAAqBoC,EACrBC,SAAUC,EACVrC,cAAeE,EAAOoC,GACtBC,0BAA2BC,EAC3BC,kBAAmBC,EACnBzC,OAAQC,IACR3L,cAAe2L,MAGnB5mI,EAAQqpI,iBAAmB,IAIvB5jI,EAAO,CAAC,EACd,OAAOmsH,EAMP,SAASA,EAAQuD,GA8Bf,IA5BA,IAAIpD,EAAO,CACT7vH,KAAM,OACNG,SAAU,IAON+tG,EAAa,GAGbk5B,EAAY,GAGZ75D,EAAU,CACd/wC,MAVY,CAACqzF,GAWb3hB,WAAAA,EACAu0B,OAAAA,EACA1Q,MAAAA,EACAE,KAAAA,EACAjF,OAAAA,EACAqa,OAAAA,EACAC,QAAAA,EACAC,QAAAA,GAEE3nI,GAAS,IAEJA,EAAQqzH,EAAOl0H,QAAQ,CAG9B,GAC4B,gBAA1Bk0H,EAAOrzH,GAAO,GAAGI,MACS,kBAA1BizH,EAAOrzH,GAAO,GAAGI,KAEjB,GAAyB,UAArBizH,EAAOrzH,GAAO,GAChBwnI,EAAUrnI,KAAKH,QAGfA,EAAQ4nI,EAAYvU,EADPmU,EAAU1qG,MACW98B,EAGxC,CAIA,IAFAA,GAAS,IAEAA,EAAQqzH,EAAOl0H,QAAQ,CAC9B,IAAM0oI,EAAUhF,EAAOxP,EAAOrzH,GAAO,IAEjCuB,GAAI9D,KAAKoqI,EAASxU,EAAOrzH,GAAO,GAAGI,OACrCynI,EAAQxU,EAAOrzH,GAAO,GAAGI,MAAM3C,KAC7BX,OAAO6gC,OACL,CACEu4F,eAAgB7C,EAAOrzH,GAAO,GAAGk2H,gBAEnCvoD,GAEF0lD,EAAOrzH,GAAO,GAGpB,CAEA,GAAIsuG,EAAWnvG,OAAS,EAAG,CACzB,IAAMy9E,EAAO0xB,EAAWA,EAAWnvG,OAAS,IAC5By9E,EAAK,IAAMkrD,IACnBrqI,KAAKkwE,OAAS7rE,EAAW86E,EAAK,GACxC,CAwBA,IAtBAqzC,EAAKzzG,SAAW,CACd7c,MAAO4qH,EACL8I,EAAOl0H,OAAS,EACZk0H,EAAO,GAAG,GAAG1zH,MACb,CACE8c,KAAM,EACNL,OAAQ,EACR6F,OAAQ,IAGhB1e,IAAKgnH,EACH8I,EAAOl0H,OAAS,EACZk0H,EAAOA,EAAOl0H,OAAS,GAAG,GAAGoE,IAC7B,CACEkZ,KAAM,EACNL,OAAQ,EACR6F,OAAQ,KAIlBjiB,GAAS,IAEAA,EAAQ6iI,EAAOE,WAAW5jI,QACjC8wH,EAAO4S,EAAOE,WAAW/iI,GAAOiwH,IAASA,EAG3C,OAAOA,CACT,CAQA,SAAS2X,EAAYvU,EAAQ1zH,EAAOR,GAiBlC,IAhBA,IAKI+kI,EAGAnP,EAGAgT,EAGAzO,EAdAt5H,EAAQL,EAAQ,EAChBqoI,GAAoB,EACpBC,GAAa,IAcRjoI,GAASb,GAAQ,CACxB,IAAM4X,EAAQs8G,EAAOrzH,GAuCrB,GApCoB,kBAAlB+W,EAAM,GAAG3W,MACS,gBAAlB2W,EAAM,GAAG3W,MACS,eAAlB2W,EAAM,GAAG3W,MAEQ,UAAb2W,EAAM,GACRixH,IAEAA,IAGF1O,OAAWx3H,GACgB,oBAAlBiV,EAAM,GAAG3W,KACD,UAAb2W,EAAM,MAENmtH,GACC5K,GACA0O,GACAD,IAEDA,EAAsB/nI,GAGxBs5H,OAAWx3H,GAGK,eAAlBiV,EAAM,GAAG3W,MACS,kBAAlB2W,EAAM,GAAG3W,MACS,mBAAlB2W,EAAM,GAAG3W,MACS,mBAAlB2W,EAAM,GAAG3W,MACS,6BAAlB2W,EAAM,GAAG3W,OAITk5H,OAAWx3H,IAITkmI,GACa,UAAbjxH,EAAM,IACY,mBAAlBA,EAAM,GAAG3W,OACY,IAAtB4nI,GACc,SAAbjxH,EAAM,KACa,kBAAlBA,EAAM,GAAG3W,MACU,gBAAlB2W,EAAM,GAAG3W,MACb,CACA,GAAI8jI,EAAU,CACZ,IAAIgE,EAAYloI,EAGhB,IAFA+0H,OAAYjzH,EAELomI,KAAa,CAClB,IAAMC,EAAY9U,EAAO6U,GAEzB,GACwB,eAAtBC,EAAU,GAAG/nI,MACS,oBAAtB+nI,EAAU,GAAG/nI,KACb,CACA,GAAqB,SAAjB+nI,EAAU,GAAe,SAEzBpT,IACF1B,EAAO0B,GAAW,GAAG30H,KAAO,kBAC5B6nI,GAAa,GAGfE,EAAU,GAAG/nI,KAAO,aACpB20H,EAAYmT,CACd,MAAO,GACiB,eAAtBC,EAAU,GAAG/nI,MACS,qBAAtB+nI,EAAU,GAAG/nI,MACS,+BAAtB+nI,EAAU,GAAG/nI,MACS,qBAAtB+nI,EAAU,GAAG/nI,MACS,mBAAtB+nI,EAAU,GAAG/nI,KAIb,KAEJ,CAGE2nI,KACEhT,GAAagT,EAAsBhT,KAGrCmP,EAASkE,SAAU,GAGrBlE,EAAS3gI,IAAMzG,OAAO6gC,OACpB,CAAC,EACDo3F,EAAY1B,EAAO0B,GAAW,GAAGp1H,MAAQoX,EAAM,GAAGxT,KAEpD8vH,EAAOvvF,OAAOixF,GAAa/0H,EAAO,EAAG,CAAC,OAAQkkI,EAAUntH,EAAM,KAC9D/W,IACAb,GACF,CAEsB,mBAAlB4X,EAAM,GAAG3W,OACX8jI,EAAW,CACT9jI,KAAM,WAENgoI,SAAS,EACTzoI,MAAO7C,OAAO6gC,OAAO,CAAC,EAAG5mB,EAAM,GAAGpX,QAGpC0zH,EAAOvvF,OAAO9jC,EAAO,EAAG,CAAC,QAASkkI,EAAUntH,EAAM,KAClD/W,IACAb,IACA4oI,OAAsBjmI,EACtBw3H,GAAW,EAEf,CACF,CAGA,OADAjG,EAAO1zH,GAAO,GAAGyoI,QAAUH,EACpB9oI,CACT,CAMA,SAASuoI,EAAQ9pI,EAAKU,GACpBqF,EAAK/F,GAAOU,CACd,CAQA,SAASqpI,EAAQ/pI,GACf,OAAO+F,EAAK/F,EACd,CAMA,SAAS2sH,EAAMrmE,GACb,MAAO,CACLznC,KAAMynC,EAAEznC,KACRL,OAAQ8nC,EAAE9nC,OACV6F,OAAQiiC,EAAEjiC,OAEd,CAOA,SAASghH,EAAO/9H,EAAQmjI,GACtB,OAAOh1H,EAOP,SAASA,EAAK6P,GACZivG,EAAM10H,KAAKwc,KAAM/U,EAAOge,GAAQA,GAC5BmlH,GAAKA,EAAI5qI,KAAKwc,KAAMiJ,EAC1B,CACF,CAGA,SAASkqG,IACPnzG,KAAK2iB,MAAMz8B,KAAK,CACdC,KAAM,WACNG,SAAU,IAEd,CAWA,SAAS4xH,EAAM7wH,EAAM4hB,EAAOolH,GAU1B,OATeruH,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GAEvCoB,SAASJ,KAAKmB,GACrB2Y,KAAK2iB,MAAMz8B,KAAKmB,GAChB2Y,KAAKq0F,WAAWnuG,KAAK,CAAC+iB,EAAOolH,IAE7BhnI,EAAKkb,SAAW,CACd7c,MAAO4qH,EAAMrnG,EAAMvjB,QAEd2B,CACT,CAMA,SAASwjI,EAAOuD,GACd,OAAO/nC,EAOP,SAASA,EAAMp9E,GACTmlH,GAAKA,EAAI5qI,KAAKwc,KAAMiJ,GACxBmvG,EAAK50H,KAAKwc,KAAMiJ,EAClB,CACF,CASA,SAASmvG,EAAKnvG,EAAOqlH,GACnB,IAAMjnI,EAAO2Y,KAAK2iB,MAAME,MAClBzpB,EAAO4G,KAAKq0F,WAAWxxE,MAE7B,IAAKzpB,EACH,MAAM,IAAI5Q,MACR,iBACEygB,EAAM9iB,KACN,MACAkqH,EAAkB,CAChB3qH,MAAOujB,EAAMvjB,MACb4D,IAAK2f,EAAM3f,MAEb,yBAYN,OAVW8P,EAAK,GAAGjT,OAAS8iB,EAAM9iB,OAC5BmoI,EACFA,EAAY9qI,KAAKwc,KAAMiJ,EAAO7P,EAAK,KAEnBA,EAAK,IAAMy0H,IACnBrqI,KAAKwc,KAAMiJ,EAAO7P,EAAK,KAInC/R,EAAKkb,SAASjZ,IAAMgnH,EAAMrnG,EAAM3f,KACzBjC,CACT,CAMA,SAASmmI,IACP,OAAOvqI,GAAS+c,KAAK2iB,MAAME,MAC7B,CAMA,SAASwnG,IACPoD,EAAQ,+BAA+B,EACzC,CAGA,SAAStD,EAAqBlhH,GACxBykH,EAAQ,iCAGR1tH,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GACxBQ,MAAQmD,OAAO+e,SAAS5H,KAAKi8G,eAAehzG,GAAQ,IAC7DwkH,EAAQ,+BAEZ,CAGA,SAAS7B,IACP,IAAMliI,EAAOsW,KAAKwtH,SAGhBxtH,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GAC5B6N,KAAOrJ,CACd,CAGA,SAASmiI,IACP,IAAMniI,EAAOsW,KAAKwtH,SAGhBxtH,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GAC5BmvD,KAAO3qD,CACd,CAGA,SAASiiI,IAEH+B,EAAQ,oBACZ1tH,KAAKmzG,SACLsa,EAAQ,kBAAkB,GAC5B,CAGA,SAAShC,IACP,IAAM/hI,EAAOsW,KAAKwtH,SAGhBxtH,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GAC5Bb,MAAQqF,EAAKQ,QAAQ,2BAA4B,IACtDujI,EAAQ,iBACV,CAGA,SAAS3B,IACP,IAAMpiI,EAAOsW,KAAKwtH,SAGhBxtH,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GAC5Bb,MAAQqF,EAAKQ,QAAQ,eAAgB,GAC5C,CAGA,SAAS+hI,EAA4BhjH,GAEnC,IAAMnW,EAAQkN,KAAKwtH,SACbnmI,EAEJ2Y,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GACjCmC,EAAKyL,MAAQA,EACbzL,EAAKgvF,WAAa8qC,GAChBnhH,KAAKi8G,eAAehzG,IACpB/hB,aACJ,CAGA,SAASglI,IACP,IAAMxiI,EAAOsW,KAAKwtH,SAGhBxtH,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GAC5BiW,MAAQzR,CACf,CAGA,SAASsiI,IACP,IAAMtiI,EAAOsW,KAAKwtH,SAGhBxtH,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GAC5BugE,IAAM/7D,CACb,CAGA,SAASqhI,EAAyB9hH,GAChC,IAAM5hB,EAEJ2Y,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GAEjC,IAAKmC,EAAKknI,MAAO,CACf,IAAMA,EAAQvuH,KAAKi8G,eAAehzG,GAAO/jB,OACzCmC,EAAKknI,MAAQA,CACf,CACF,CAGA,SAASlB,IACPI,EAAQ,gCAAgC,EAC1C,CAGA,SAASN,EAAgClkH,GAGrCjJ,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GAC5BqpI,MAAqD,KAA7CvuH,KAAKi8G,eAAehzG,GAAOlF,WAAW,GAAY,EAAI,CACrE,CAGA,SAASkpH,IACPQ,EAAQ,+BACV,CAGA,SAASvE,EAAYjgH,GACnB,IAAM0c,EAEJ3lB,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GAG7By9E,EAAOh9C,EAAOr/B,SAASq/B,EAAOr/B,SAASpB,OAAS,GAE/Cy9E,GAAsB,SAAdA,EAAKx8E,QAEhBw8E,EAAOpkE,MAEFgE,SAAW,CACd7c,MAAO4qH,EAAMrnG,EAAMvjB,QAGrBigC,EAAOr/B,SAASJ,KAAKy8E,IAGvB3iE,KAAK2iB,MAAMz8B,KAAKy8E,EAClB,CAGA,SAASwoD,EAAWliH,GAClB,IAAM05D,EAAO3iE,KAAK2iB,MAAME,MACxB8/C,EAAKt+E,OAAS2b,KAAKi8G,eAAehzG,GAClC05D,EAAKpgE,SAASjZ,IAAMgnH,EAAMrnG,EAAM3f,IAClC,CAGA,SAASojI,EAAiBzjH,GACxB,IAAMyqD,EAAU1zD,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GAG/C,GAAIwoI,EAAQ,eAIV,OAHah6D,EAAQptE,SAASotE,EAAQptE,SAASpB,OAAS,GACnDqd,SAASjZ,IAAMgnH,EAAMrnG,EAAM3f,UAChCmkI,EAAQ,gBAKPC,EAAQ,iCACT9E,EAAOG,eAAe37E,SAASsmB,EAAQvtE,QAEvC+iI,EAAY1lI,KAAKwc,KAAMiJ,GACvBkiH,EAAW3nI,KAAKwc,KAAMiJ,GAE1B,CAGA,SAASkjH,IACPsB,EAAQ,eAAe,EACzB,CAGA,SAASrB,IACP,IAAM1iI,EAAOsW,KAAKwtH,SAGhBxtH,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GAC5Bb,MAAQqF,CACf,CAGA,SAAS2iI,IACP,IAAM3iI,EAAOsW,KAAKwtH,SAGhBxtH,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GAC5Bb,MAAQqF,CACf,CAGA,SAASqiI,IACP,IAAMriI,EAAOsW,KAAKwtH,SAGhBxtH,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GAC5Bb,MAAQqF,CACf,CAGA,SAASijI,IACP,IAAMj5D,EAEJ1zD,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GAE7BwoI,EAAQ,gBACVh6D,EAAQvtE,MAAQ,YAEhButE,EAAQ86D,cAAgBd,EAAQ,kBAAoB,kBAE7Ch6D,EAAQjO,WACRiO,EAAQv4D,eAGRu4D,EAAQ2iB,kBAER3iB,EAAQ5gE,OAGjB26H,EAAQ,gBACV,CAGA,SAASnB,IACP,IAAM54D,EAEJ1zD,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GAE7BwoI,EAAQ,gBACVh6D,EAAQvtE,MAAQ,YAEhButE,EAAQ86D,cAAgBd,EAAQ,kBAAoB,kBAE7Ch6D,EAAQjO,WACRiO,EAAQv4D,eAGRu4D,EAAQ2iB,kBAER3iB,EAAQ5gE,OAGjB26H,EAAQ,gBACV,CAGA,SAAShB,EAAgBxjH,GACvB,IAAMmrB,EAEJp0B,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GAC3Bmf,EAASrE,KAAKi8G,eAAehzG,GACnCmrB,EAASthC,MAAQy1H,GAAalkH,GAC9B+vB,EAASiiD,WAAa8qC,GAAoB98G,GAAQnd,aACpD,CAGA,SAASqlI,IACP,IAAMz7F,EAEJ9wB,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GAC3Bb,EAAQ2b,KAAKwtH,SACbnmI,EAEJ2Y,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GAEjCuoI,EAAQ,eAAe,GAEL,SAAdpmI,EAAKlB,KAEPkB,EAAKf,SAAWwqC,EAASxqC,SAEzBe,EAAKkI,IAAMlL,CAEf,CAGA,SAASwoI,IACP,IAAMnjI,EAAOsW,KAAKwtH,SAGhBxtH,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GAC5BugE,IAAM/7D,CACb,CAGA,SAASojI,IACP,IAAMpjI,EAAOsW,KAAKwtH,SAGhBxtH,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GAC5BiW,MAAQzR,CACf,CAGA,SAASsjI,IACPS,EAAQ,cACV,CAGA,SAASlD,IACPkD,EAAQ,gBAAiB,YAC3B,CAGA,SAASb,EAAsB3jH,GAC7B,IAAMnW,EAAQkN,KAAKwtH,SACbnmI,EAEJ2Y,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GACjCmC,EAAKyL,MAAQA,EACbzL,EAAKgvF,WAAa8qC,GAChBnhH,KAAKi8G,eAAehzG,IACpB/hB,cACFumI,EAAQ,gBAAiB,OAC3B,CAGA,SAASpC,EAA+BpiH,GACtCwkH,EAAQ,yBAA0BxkH,EAAM9iB,KAC1C,CAGA,SAASqlI,EAA8BviH,GACrC,IAII5kB,EAJEqF,EAAOsW,KAAKi8G,eAAehzG,GAC3B9iB,EAAOunI,EAAQ,0BAKjBvnI,GACF9B,EAAQgkI,GACN3+H,EACS,oCAATvD,EAA6C,GAAK,IAEpDsnI,EAAQ,2BAKRppI,EAAQkgI,GAA8B76H,GAGxC,IAAMi5E,EAAO3iE,KAAK2iB,MAAME,MACxB8/C,EAAKt+E,OAASA,EACds+E,EAAKpgE,SAASjZ,IAAMgnH,EAAMrnG,EAAM3f,IAClC,CAGA,SAAS2hI,EAAuBhiH,GAC9BkiH,EAAW3nI,KAAKwc,KAAMiJ,GAGpBjJ,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GAC5BugE,IAAMzlD,KAAKi8G,eAAehzG,EACjC,CAGA,SAAS+hH,EAAoB/hH,GAC3BkiH,EAAW3nI,KAAKwc,KAAMiJ,GAGpBjJ,KAAK2iB,MAAM3iB,KAAK2iB,MAAMz9B,OAAS,GAC5BugE,IAAM,UAAYzlD,KAAKi8G,eAAehzG,EAC7C,CAMA,SAAS82G,IACP,MAAO,CACL55H,KAAM,aACNG,SAAU,GAEd,CAGA,SAAS+iI,IACP,MAAO,CACLljI,KAAM,OACN4M,KAAM,KACNshD,KAAM,KACNhwD,MAAO,GAEX,CAGA,SAAS4jI,IACP,MAAO,CACL9hI,KAAM,aACN9B,MAAO,GAEX,CAGA,SAASob,IACP,MAAO,CACLtZ,KAAM,aACNkwF,WAAY,GACZvjF,MAAO,KACPqI,MAAO,KACPsqD,IAAK,GAET,CAGA,SAAS2+C,IACP,MAAO,CACLj+G,KAAM,WACNG,SAAU,GAEd,CAGA,SAAS6qG,KAEP,MAAO,CACLhrG,KAAM,UACNooI,WAAO1mI,EACPvB,SAAU,GAEd,CAGA,SAASujI,KACP,MAAO,CACL1jI,KAAM,QAEV,CAGA,SAAS6C,KACP,MAAO,CACL7C,KAAM,OACN9B,MAAO,GAEX,CAGA,SAASo9G,KACP,MAAO,CACLt7G,KAAM,QACNgV,MAAO,KACPsqD,IAAK,GACLl2D,IAAK,KAET,CAGA,SAAS6N,KACP,MAAO,CACLjX,KAAM,OACNgV,MAAO,KACPsqD,IAAK,GACLn/D,SAAU,GAEd,CAMA,SAAS2M,GAAKgW,GACZ,MAAO,CACL9iB,KAAM,OACNsoI,QAAwB,gBAAfxlH,EAAM9iB,KACfT,MAAO,KAEP2lG,OAAQpiF,EAAMklH,QACd7nI,SAAU,GAEd,CAMA,SAAS2jI,GAAShhH,GAChB,MAAO,CACL9iB,KAAM,WAENklG,OAAQpiF,EAAMklH,QACdn+H,QAAS,KACT1J,SAAU,GAEd,CAGA,SAASw7H,KACP,MAAO,CACL37H,KAAM,YACNG,SAAU,GAEd,CAGA,SAASskI,KACP,MAAO,CACLzkI,KAAM,SACNG,SAAU,GAEd,CAGA,SAASiY,KACP,MAAO,CACLpY,KAAM,OACN9B,MAAO,GAEX,CAGA,SAAS66H,KACP,MAAO,CACL/4H,KAAM,gBAEV,CACF,CA9gCWuoI,CAASzqI,EAATyqI,CC9GJ,SAAqBtV,GAC1B,MAAQyB,GAAYzB,KAIpB,OAAOA,CACT,CDyGMuV,CErGC,WAA6B,IAS5BjtG,EAAS,CACbhiB,QAAS,GACTgyE,KAAM,CAAC,EACPulC,WATiBL,GAEjB,CAACgY,GAAmBzmI,QALQ,UAAH,6CAAG,CAAC,GAKM0uH,YAAc,KAQjDlvH,QAASsD,EAAOtD,IAChByd,SAAUna,EAAOma,IACjBw+E,KAAM34F,EAAO24F,IACbv/E,OAAQpZ,EAAOoZ,IACf9F,KAAMtT,EAAOsT,KAEf,OAAOmjB,EAKP,SAASz2B,EAAOixH,GACd,OAGA,SAAiB5S,GACf,OAAO4T,GAAgBx7F,EAAQw6F,EAAS5S,EAC1C,CACF,CACF,CFsEQphG,CAAMjkB,GAASmhB,WAAWorB,MHtG3B,WACL,IAOIq+F,EAPA1sH,EAAS,EACTgxG,EAAS,GAGTztH,GAAQ,EAIZ,OAGA,SAAsBrB,EAAOovH,EAAUnqH,GAErC,IAGI9D,EAGAkhB,EAGA60G,EAGAuT,EAGAtyH,EAfEqgH,EAAS,GA6Bf,IAZAx4H,EAAQ8uH,EAAS9uH,EAAMpB,SAASwwH,GAChC8H,EAAgB,EAChBpI,EAAS,GAELztH,IAC0B,QAAxBrB,EAAM0f,WAAW,IACnBw3G,IAGF71H,OAAQmC,GAGH0zH,EAAgBl3H,EAAMa,QAAQ,CAOnC,GANAS,GAAOC,UAAY21H,EAEnBuT,GADAtpI,EAAQG,GAAOE,KAAKxB,UAEOwD,IAAhBrC,EAAMO,MAAsBP,EAAMO,MAAQ1B,EAAMa,OAC3DsX,EAAOnY,EAAM0f,WAAW+qH,IAEnBtpI,EAAO,CACV2tH,EAAS9uH,EAAMyB,MAAMy1H,GACrB,KACF,CAEA,GAAa,KAAT/+G,GAAe++G,IAAkBuT,GAAeD,EAClDhS,EAAO32H,MAAM,GACb2oI,OAAmBhnI,OAYnB,OAVIgnI,IACFhS,EAAO32H,MAAM,GACb2oI,OAAmBhnI,GAGjB0zH,EAAgBuT,IAClBjS,EAAO32H,KAAK7B,EAAMyB,MAAMy1H,EAAeuT,IACvC3sH,GAAU2sH,EAAcvT,GAGlB/+G,GACN,KAAK,EACHqgH,EAAO32H,KAAK,OACZic,IACA,MAGF,KAAK,EAIH,IAHAuE,EAA+B,EAAxBnG,KAAKylE,KAAK7jE,EAAS,GAC1B06G,EAAO32H,MAAM,GAENic,IAAWuE,GAAMm2G,EAAO32H,MAAM,GAErC,MAGF,KAAK,GACH22H,EAAO32H,MAAM,GACbic,EAAS,EACT,MAGF,QACE0sH,GAAmB,EACnB1sH,EAAS,EAKfo5G,EAAgBuT,EAAc,CAChC,CAQA,OANIxlI,IACEulI,GAAkBhS,EAAO32H,MAAM,GAC/BitH,GAAQ0J,EAAO32H,KAAKitH,GACxB0J,EAAO32H,KAAK,OAGP22H,CACT,CACF,CGPwCkS,GAAa1qI,EAAOovH,GAAU,KAGpE,EAghCF,SAASoV,GAAUmG,EAAUnY,GAG3B,IAFA,IAAI9wH,GAAS,IAEJA,EAAQ8wH,EAAW3xH,QAAQ,CAClC,IAAMb,EAAQwyH,EAAW9wH,GAErBxC,MAAMF,QAAQgB,GAChBwkI,GAAUmG,EAAU3qI,GAEpB8gH,GAAU6pB,EAAU3qI,EAExB,CAEA,OAAO2qI,CACT,CAOA,SAAS7pB,GAAU6pB,EAAU7pB,GAE3B,IAAIxhH,EAEJ,IAAKA,KAAOwhH,EACV,GAAI79G,GAAI9D,KAAK2hH,EAAWxhH,GAAM,CAC5B,IAAMsP,EAAe,mBAARtP,GAAoC,eAARA,EAInColE,GAHQzhE,GAAI9D,KAAKwrI,EAAUrrI,GAAOqrI,EAASrrI,QAAOkE,KAGjCmnI,EAASrrI,GAAOsP,EAAO,GAAK,CAAC,GAC9C+jH,EAAQ7R,EAAUxhH,GAEpBqzH,IACE/jH,EAEF+7H,EAASrrI,GAAO,GAAH,SAAOolE,GAAI,EAAKiuD,IAE7Bn0H,OAAO6gC,OAAOqlC,EAAMiuD,GAG1B,CAEJ,CAGA,SAAS6W,GAAe9kE,EAAMiuD,GAC5B,MAAIjuD,EACI,IAAIvgE,MACR,iBACEugE,EAAK5iE,KACL,MACAkqH,EAAkB,CAChB3qH,MAAOqjE,EAAKrjE,MACZ4D,IAAKy/D,EAAKz/D,MAEZ,0BACA0tH,EAAM7wH,KACN,MACAkqH,EAAkB,CAChB3qH,MAAOsxH,EAAMtxH,MACb4D,IAAK0tH,EAAM1tH,MAEb,aAGE,IAAId,MACR,oCACEwuH,EAAM7wH,KACN,MACAkqH,EAAkB,CAChB3qH,MAAOsxH,EAAMtxH,MACb4D,IAAK0tH,EAAM1tH,MAEb,kBAGR,CGxtCA,OCMe,SAAqBrF,GAAS,WAkB3CpB,OAAO6gC,OAAO1jB,KAAM,CAACswB,OAhBN,SAAC8xD,GAEd,IAAMt8E,EAAmC,EAAKpc,KAAK,YAEnD,OAAOi/H,GACLvmC,EACAv/F,OAAO6gC,OAAO,CAAC,EAAG5d,EAAU7hB,EAAS,CAInC4yH,WAAY,EAAKntH,KAAK,wBAA0B,GAChD4jI,gBAAiB,EAAK5jI,KAAK,2BAA6B,KAG9D,GAGF,ECZWuiE,GAST,SAAU9lE,EAAMV,EAAOpB,GAErB,IAAIgD,EAAO,CAAClB,KAAMsC,OAAOtC,IAiBzB,YAda0B,IAAVxD,GAAiC,OAAVA,GACN,kBAAVoB,IAAsBlC,MAAMF,QAAQoC,GAI5C5C,OAAO6gC,OAAOr8B,EAAM5B,GAFpBpB,EAAQoB,EAKNlC,MAAMF,QAAQgB,GAChBgD,EAAKf,SAAWjC,OACGwD,IAAVxD,GAAiC,OAAVA,IAChCgD,EAAKhD,MAAQoE,OAAOpE,IAGfgD,CACT,ECqEW4nI,GAkBT,SAAUllI,GACR,QAAalC,IAATkC,GAA+B,OAATA,EACxB,OAAOm8E,GAGT,GAAoB,kBAATn8E,EACT,OA+ER,SAAqB+V,GACnB,OAAOovH,GAAY/oI,GAKnB,SAASA,EAAKkB,GACZ,OAAOA,GAAQA,EAAKlB,OAAS2Z,CAC/B,CACF,CAxFeqvH,CAAYplI,GAGrB,GAAoB,kBAATA,EACT,OAAOxG,MAAMF,QAAQ0G,GAAQqlI,GAAWrlI,GAgDhD,SAAsB+V,GACpB,OAAOovH,GAAY1mB,GAMnB,SAASA,EAAInhH,GAEX,IAAI1D,EAEJ,IAAKA,KAAOmc,EAEV,GAAIzY,EAAK1D,KAASmc,EAAMnc,GAAM,OAAO,EAGvC,OAAO,CACT,CACF,CAlEwD0rI,CAAatlI,GAG/D,GAAoB,oBAATA,EACT,OAAOmlI,GAAYnlI,GAGrB,MAAM,IAAIvB,MAAM,+CAClB,EAMJ,SAAS4mI,GAAW1nH,GAKlB,IAHA,IAAM/H,EAAS,GACX5Z,GAAS,IAEJA,EAAQ2hB,EAAMxiB,QACrBya,EAAO5Z,GAASkpI,GAAQvnH,EAAM3hB,IAGhC,OAAOmpI,IAOP,WACgB,IAAd,IAAInpI,GAAS,EAAC,mBADAguH,EAAU,yBAAVA,EAAU,gBAGxB,OAAShuH,EAAQ4Z,EAAOza,QAAQ,OAC9B,IAAI,EAAAya,EAAO5Z,IAAOvC,KAAI,SAACwc,MAAI,OAAK+zG,IAAa,OAAO,CACtD,CAEA,OAAO,CACT,GACF,CAqDA,SAASmb,GAAYpvH,GACnB,OAOA,WAAkC,2BAAZi0G,EAAU,yBAAVA,EAAU,gBAE9B,OAAO5mB,QAAQrtF,EAAMtc,KAAI,MAAVsc,EAAK,CAAME,MAAI,OAAK+zG,IACrC,CACF,CAGA,SAAS7tC,KACP,OAAO,CACT,CCzOO,IAsBMopD,GAcT,SAAUtZ,EAAMjsH,EAAMwlI,EAASC,GACT,oBAATzlI,GAA0C,oBAAZwlI,IACvCC,EAAUD,EAEVA,EAAUxlI,EACVA,EAAO,MAGT,IAAMuI,EAAK28H,GAAQllI,GACbkR,EAAOu0H,GAAW,EAAI,GAS5B,SAASvmI,EAAQ5B,EAAMtB,EAAO0pI,GAG5B,IAEIvrI,EAFEG,EAAwB,kBAATgD,GAA8B,OAATA,EAAgBA,EAAO,CAAC,EAIxC,kBAAfhD,EAAM8B,OACfjC,EAC2B,kBAAlBG,EAAM+B,QACT/B,EAAM+B,QACgB,kBAAf/B,EAAMH,KACbG,EAAMH,UACN2D,EAENhF,OAAOK,eAAewsI,EAAO,OAAQ,CACnCrrI,MACE,SACMA,EAAM8B,MAAQjC,EAAO,IAAMA,EAAO,IAAM,IAC9C,OAIN,OAAOwrI,EAEP,SAASA,IAEP,IAEIC,EAEA3nH,EAEA4nH,EANA3oI,EAAS,GAQb,KAAK8C,GAAQuI,EAAGjL,EAAMtB,EAAO0pI,EAAQA,EAAQvqI,OAAS,IAAM,SAC1D+B,EAsCZ,SAAkB5C,GAChB,GAAId,MAAMF,QAAQgB,GAChB,OAAOA,EAGT,GAAqB,kBAAVA,EACT,MAAO,CAtIa,KAsIFA,GAGpB,MAAO,CAACA,EACV,CAhDqBwrI,CAASN,EAAQloI,EAAMooI,IAlFxB,QAoFJxoI,EAAO,IACT,OAAOA,EAKX,GAAII,EAAKf,UA9FC,SA8FWW,EAAO,GAO1B,IALA+gB,GAAUwnH,EAAUnoI,EAAKf,SAASpB,QAAU,GAAK+V,EAEjD20H,EAAeH,EAAQtnI,OAAOd,GAGvB2gB,GAAU,GAAKA,EAAS3gB,EAAKf,SAASpB,QAAQ,CAInD,GAFAyqI,EAAY1mI,EAAQ5B,EAAKf,SAAS0hB,GAASA,EAAQ4nH,EAAvC3mI,GAnGN,QAqGF0mI,EAAU,GACZ,OAAOA,EAGT3nH,EAC0B,kBAAjB2nH,EAAU,GAAkBA,EAAU,GAAK3nH,EAAS/M,CAC/D,CAGF,OAAOhU,CACT,CACF,CAzEAgC,CAAQ+sH,EAAM,KAAM,GAApB/sH,EA0EF,ECpHG,IAAMymI,GAcT,SAAU1Z,EAAMjsH,EAAMwlI,EAASC,GACT,oBAATzlI,GAA0C,oBAAZwlI,IACvCC,EAAUD,EACVA,EAAUxlI,EACVA,EAAO,MAGTulI,GAAatZ,EAAMjsH,GAMnB,SAAkB1C,EAAMooI,GACtB,IAAM9pG,EAAS8pG,EAAQA,EAAQvqI,OAAS,GACxC,OAAOqqI,EACLloI,EACAs+B,EAASA,EAAOr/B,SAAS+C,QAAQhC,GAAQ,KACzCs+B,EAEJ,GAbmC6pG,EAcrC,EC5CSM,GAAaxf,GAAM,SACnByf,GAAWzf,GAAM,OAiB9B,SAASA,GAAMnqH,GACb,OAQA,SAAekB,GACb,IAAMipH,EAASjpH,GAAQA,EAAKkb,UAAYlb,EAAKkb,SAASpc,IAAU,CAAC,EAEjE,MAAO,CACLqc,KAAM8tG,EAAM9tG,MAAQ,KACpBL,OAAQmuG,EAAMnuG,QAAU,KACxB6F,OAAQsoG,EAAMtoG,QAAU,EAAIsoG,EAAMtoG,OAAS,KAE/C,CACF,CC1CA,IAAM1gB,GAAM,CAAC,EAAEvE,eA0Cf,SAASitI,GAAM3rI,GACb,OAAOoE,OAAOpE,GAAS,IAAIgG,aAC7B,CC1CA,IAAM/C,GAAM,CAAC,EAAEvE,eAOf,SAASktI,GAAQ/iF,EAAG7lD,GAClB,IAAMqC,EAAOrC,EAAKqC,MAAQ,CAAC,EAE3B,MACE,UAAWrC,KAETC,GAAI9D,KAAKkG,EAAM,UACfpC,GAAI9D,KAAKkG,EAAM,gBACfpC,GAAI9D,KAAKkG,EAAM,cAGVwjD,EAAEgjF,QAAQ7oI,EAAM4kE,GAAE,OAAQ5kE,EAAKhD,QAGjC6oD,EAAE7lD,EAAM,MAAOmhH,GAAIt7D,EAAG7lD,GAC/B,CAMO,SAASqvH,GAAIxpE,EAAG7lD,EAAMs+B,GAC3B,IAEIwqF,EAFEhqH,EAAOkB,GAAQA,EAAKlB,KAK1B,IAAKA,EACH,MAAM,IAAIqC,MAAM,uBAAyBnB,EAAO,KAWlD,OAAsB,oBAPpB8oH,EADE7oH,GAAI9D,KAAK0pD,EAAEijF,SAAUhqI,GAClB+mD,EAAEijF,SAAShqI,GACP+mD,EAAEkjF,aAAeljF,EAAEkjF,YAAYhjF,SAASjnD,GAC5CkqI,GAEAnjF,EAAEojF,gBAG0BngB,EAAK8f,IAAS/iF,EAAG7lD,EAAMs+B,EAC5D,CAMA,SAAS0qG,GAAWnjF,EAAG7lD,GAErB,MAAO,aAAcA,EAAO,OAAIA,GAAI,IAAEf,SAAUkiH,GAAIt7D,EAAG7lD,KAASA,CAClE,CAMO,SAASmhH,GAAIt7D,EAAGvnB,GAErB,IAAM3+B,EAAS,GAEf,GAAI,aAAc2+B,EAIhB,IAHA,IAAMp9B,EAAQo9B,EAAOr/B,SACjBP,GAAS,IAEJA,EAAQwC,EAAMrD,QAAQ,CAC7B,IAAM+B,EAASyvH,GAAIxpE,EAAG3kD,EAAMxC,GAAQ4/B,GAEpC,GAAI1+B,EAAQ,CACV,GAAIlB,GAAmC,UAA1BwC,EAAMxC,EAAQ,GAAGI,OACvB5C,MAAMF,QAAQ4D,IAA2B,SAAhBA,EAAOd,OACnCc,EAAO5C,MAAQ4C,EAAO5C,MAAM6F,QAAQ,OAAQ,MAGzC3G,MAAMF,QAAQ4D,IAA2B,YAAhBA,EAAOd,MAAoB,CACvD,IAAMmiH,EAAOrhH,EAAOX,SAAS,GAEzBgiH,GAAsB,SAAdA,EAAKniH,OACfmiH,EAAKjkH,MAAQikH,EAAKjkH,MAAM6F,QAAQ,OAAQ,IAE5C,CAGE3G,MAAMF,QAAQ4D,GAChBD,EAAOd,KAAI,MAAXc,EAAM,EAASC,IAEfD,EAAOd,KAAKe,EAEhB,CACF,CAGF,OAAOD,CACT,CChGO,SAASk4H,GAAchyE,EAAG7lD,GAC/B,OAAO6lD,EAAE7lD,EAAM,KACjB,CCCO,SAASmU,GAAKjT,EAAOgoI,GAE1B,IAAMtpI,EAAS,GACXlB,GAAS,EAMb,IAJIwqI,GACFtpI,EAAOf,KAAK+lE,GAAE,OAAQ,SAGflmE,EAAQwC,EAAMrD,QACjBa,GAAOkB,EAAOf,KAAK+lE,GAAE,OAAQ,OACjChlE,EAAOf,KAAKqC,EAAMxC,IAOpB,OAJIwqI,GAAShoI,EAAMrD,OAAS,GAC1B+B,EAAOf,KAAK+lE,GAAE,OAAQ,OAGjBhlE,CACT,CClBO,SAASgM,GAAKi6C,EAAG7lD,GAEtB,IAAM5B,EAAQ,CAAC,EACTvB,EAAOmD,EAAKonI,QAAU,KAAO,KAC7BxrG,EAAQulF,GAAIt7D,EAAG7lD,GACjBtB,GAAS,EAOb,IAL0B,kBAAfsB,EAAK3B,OAAqC,IAAf2B,EAAK3B,QACzCD,EAAMC,MAAQ2B,EAAK3B,SAIZK,EAAQk9B,EAAM/9B,QAAQ,CAC7B,IAAM2zH,EAAO51F,EAAMl9B,GAEnB,GACgB,YAAd8yH,EAAK1yH,MACY,OAAjB0yH,EAAKzyH,SACLyyH,EAAKxyH,YACL9C,MAAMF,QAAQw1H,EAAKxyH,WAAWJ,YAC9B4yH,EAAKxyH,WAAWJ,UAAUmnD,SAAS,kBACnC,CACA3nD,EAAMQ,UAAY,CAAC,sBACnB,KACF,CACF,CAEA,OAAOinD,EAAE7lD,EAAMnD,EAAMuB,EAAO+V,GAAKynB,GAAO,GAC1C,CChCO,SAASutG,GAAkBtjF,EAAG7lD,GACnC,IAAMopI,EAAgBvjF,EAAEujF,cAClBp6C,EAAa5tF,OAAOpB,EAAKgvF,YACzBtwF,EAAQ0qI,EAAcpnI,QAAQgtF,GAC9B2a,EAASvoG,QACF,IAAX1C,EAAe0qI,EAAcvqI,KAAKmwF,GAActwF,EAAQ,GAG1D,OAAOmnD,EACL7lD,EACA,IACA,CACEyK,KAAM,MAAQk/F,EACd/qG,UAAW,CAAC,gBACZD,GAAI,QAAUgrG,EACd3iG,KAAM,eAER,CAAC6+C,EAAE7lD,EAAKkb,SAAU,MAAO,CAAC0pD,GAAE,OAAQ+kC,MAExC,gBCbO,SAAS0/B,GAAOxjF,EAAG7lD,GACxB,IAAMspI,EAAUtpI,EAAKmnI,cACjBrmC,EAAS,IAQb,GANgB,cAAZwoC,EACFxoC,GAAU,KACW,SAAZwoC,IACTxoC,GAAU,KAAO9gG,EAAKyL,OAASzL,EAAKgvF,YAAc,KAGlC,mBAAdhvF,EAAKlB,KACP,OAAO8lE,GAAE,OAAQ,KAAO5kE,EAAKkI,IAAM44F,GAGrC,IAAMyoC,EAAWpoB,GAAIt7D,EAAG7lD,GAClBihH,EAAOsoB,EAAS,GAElBtoB,GAAsB,SAAdA,EAAKniH,KACfmiH,EAAKjkH,MAAQ,IAAMikH,EAAKjkH,MAExBusI,EAASppI,QAAQykE,GAAE,OAAQ,MAG7B,IAAM0W,EAAOiuD,EAASA,EAAS1rI,OAAS,GAQxC,OANIy9E,GAAsB,SAAdA,EAAKx8E,KACfw8E,EAAKt+E,OAAS8jG,EAEdyoC,EAAS1qI,KAAK+lE,GAAE,OAAQk8B,IAGnByoC,CACT,CC4DA,SAASC,GAAcxpI,GACrB,IAAMgkG,EAAShkG,EAAKgkG,OAEpB,YAAkBxjG,IAAXwjG,GAAmC,OAAXA,EAC3BhkG,EAAKf,SAASpB,OAAS,EACvBmmG,CACN,CC5FO,IAAM8kC,GAAW,CACtBp9B,WCZK,SAAoB7lD,EAAG7lD,GAC5B,OAAO6lD,EAAE7lD,EAAM,aAAcmU,GAAKgtG,GAAIt7D,EAAG7lD,IAAO,GAClD,EDWEypI,MEXK,SAAmB5jF,EAAG7lD,GAC3B,MAAO,CAAC6lD,EAAE7lD,EAAM,MAAO4kE,GAAE,OAAQ,MACnC,EFUEzvD,KGbK,SAAc0wC,EAAG7lD,GACtB,IAAMhD,EAAQgD,EAAKhD,MAAQgD,EAAKhD,MAAQ,KAAO,GAGzC0O,EAAO1L,EAAK0L,MAAQ1L,EAAK0L,KAAKvN,MAAM,uBAEpCC,EAAQ,CAAC,EAEXsN,IACFtN,EAAMQ,UAAY,CAAC,YAAc8M,IAGnC,IAAMyJ,EAAO0wC,EAAE7lD,EAAM,OAAQ5B,EAAO,CAACwmE,GAAE,OAAQ5nE,KAM/C,OAJIgD,EAAKgtD,OACP73C,EAAK9S,KAAO,CAAC2qD,KAAMhtD,EAAKgtD,OAGnBnH,EAAE7lD,EAAKkb,SAAU,MAAO,CAAC/F,GAClC,EHLE2+C,OIhBK,SAAuBjO,EAAG7lD,GAC/B,OAAO6lD,EAAE7lD,EAAM,MAAOmhH,GAAIt7D,EAAG7lD,GAC/B,EJeE+8G,SKjBK,SAAkBl3D,EAAG7lD,GAC1B,OAAO6lD,EAAE7lD,EAAM,KAAMmhH,GAAIt7D,EAAG7lD,GAC9B,ELgBEmpI,kBAAAA,GACA9uB,SMnBK,SAAkBx0D,EAAG7lD,GAK1B,IAJA,IAAM0pI,EAAe7jF,EAAE6jF,aACjBN,EAAgBvjF,EAAEujF,cACpB9pB,EAAK,EAEFA,KAAMoqB,GAAcpqB,IAE3B,IAAMtwB,EAAa5tF,OAAOk+G,GAa1B,OATA8pB,EAAcvqI,KAAKmwF,GAEnB06C,EAAa16C,GAAc,CACzBlwF,KAAM,qBACNkwF,WAAAA,EACA/vF,SAAU,CAAC,CAACH,KAAM,YAAaG,SAAUe,EAAKf,WAC9Cic,SAAUlb,EAAKkb,UAGViuH,GAAkBtjF,EAAG,CAC1B/mD,KAAM,oBACNkwF,WAAAA,EACA9zE,SAAUlb,EAAKkb,UAEnB,ENLE4uF,QOpBK,SAAiBjkD,EAAG7lD,GACzB,OAAO6lD,EAAE7lD,EAAM,IAAMA,EAAKknI,MAAO/lB,GAAIt7D,EAAG7lD,GAC1C,EPmBE2B,KQnBK,SAAckkD,EAAG7lD,GACtB,OAAO6lD,EAAE8jF,UAAY9jF,EAAEgjF,QAAQ7oI,EAAM4kE,GAAE,MAAO5kE,EAAKhD,QAAU,IAC/D,ERkBE4sI,eSpBK,SAAwB/jF,EAAG7lD,GAChC,IAAMktG,EAAMrnD,EAAEztC,WAAWpY,EAAKgvF,YAE9B,IAAKke,EACH,OAAOm8B,GAAOxjF,EAAG7lD,GAInB,IAAM5B,EAAQ,CAACb,IAAK6B,GAAU8tG,EAAI9uC,KAAO,IAAKl2D,IAAKlI,EAAKkI,KAMxD,OAJkB,OAAdglG,EAAIp5F,YAAgCtT,IAAd0sG,EAAIp5F,QAC5B1V,EAAM0V,MAAQo5F,EAAIp5F,OAGb+xC,EAAE7lD,EAAM,MAAO5B,EACxB,ETMEg8G,MUtBK,SAAev0D,EAAG7lD,GAEvB,IAAM5B,EAAQ,CAACb,IAAK6B,GAAUY,EAAKo+D,KAAMl2D,IAAKlI,EAAKkI,KAMnD,OAJmB,OAAflI,EAAK8T,YAAiCtT,IAAfR,EAAK8T,QAC9B1V,EAAM0V,MAAQ9T,EAAK8T,OAGd+xC,EAAE7lD,EAAM,MAAO5B,EACxB,EVcEyrI,WWxBK,SAAoBhkF,EAAG7lD,GAC5B,OAAO6lD,EAAE7lD,EAAM,OAAQ,CAAC4kE,GAAE,OAAQ5kE,EAAKhD,MAAM6F,QAAQ,YAAa,OACpE,EXuBEinI,cYtBK,SAAuBjkF,EAAG7lD,GAC/B,IAAMktG,EAAMrnD,EAAEztC,WAAWpY,EAAKgvF,YAE9B,IAAKke,EACH,OAAOm8B,GAAOxjF,EAAG7lD,GAInB,IAAM5B,EAAQ,CAACqM,KAAMrL,GAAU8tG,EAAI9uC,KAAO,KAM1C,OAJkB,OAAd8uC,EAAIp5F,YAAgCtT,IAAd0sG,EAAIp5F,QAC5B1V,EAAM0V,MAAQo5F,EAAIp5F,OAGb+xC,EAAE7lD,EAAM,IAAK5B,EAAO+iH,GAAIt7D,EAAG7lD,GACpC,EZQE+V,KaxBK,SAAc8vC,EAAG7lD,GAEtB,IAAM5B,EAAQ,CAACqM,KAAMrL,GAAUY,EAAKo+D,MAMpC,OAJmB,OAAfp+D,EAAK8T,YAAiCtT,IAAfR,EAAK8T,QAC9B1V,EAAM0V,MAAQ9T,EAAK8T,OAGd+xC,EAAE7lD,EAAM,IAAK5B,EAAO+iH,GAAIt7D,EAAG7lD,GACpC,EbgBE4iI,SDrBK,SAAkB/8E,EAAG7lD,EAAMs+B,GAChC,IASMm8F,EATA76H,EAASuhH,GAAIt7D,EAAG7lD,GAChBkpI,EAAQ5qG,EA0EhB,SAAmBt+B,GACjB,IAAIkpI,EAAQlpI,EAAKgkG,OACX/kG,EAAWe,EAAKf,SAClBP,GAAS,EAEb,MAAQwqI,KAAWxqI,EAAQO,EAASpB,QAClCqrI,EAAQM,GAAcvqI,EAASP,IAGjC,OAAOonG,QAAQojC,EACjB,CApFyBa,CAAUzrG,GAAUkrG,GAAcxpI,GAEnD5B,EAAQ,CAAC,EAET4rI,EAAU,GAEY,mBAAjBhqI,EAAK2I,UAKZ/I,EAAO,IACY,YAAnBA,EAAO,GAAGd,MACY,MAAtBc,EAAO,GAAGb,QAEV07H,EAAY76H,EAAO,IAEnB66H,EAAY50E,EAAE,KAAM,IAAK,IACzBjmD,EAAOO,QAAQs6H,IAGbA,EAAUx7H,SAASpB,OAAS,GAC9B48H,EAAUx7H,SAASkB,QAAQykE,GAAE,OAAQ,MAGvC61D,EAAUx7H,SAASkB,QACjB0lD,EAAE,KAAM,QAAS,CACf/mD,KAAM,WACN6J,QAAS3I,EAAK2I,QACde,UAAU,KAMdtL,EAAMQ,UAAY,CAAC,mBAKrB,IAFA,IAAIF,GAAS,IAEJA,EAAQkB,EAAO/B,QAAQ,CAC9B,IAAM+tC,EAAQhsC,EAAOlB,IAInBwqI,GACU,IAAVxqI,GACe,YAAfktC,EAAM9sC,MACY,MAAlB8sC,EAAM7sC,UAENirI,EAAQnrI,KAAK+lE,GAAE,OAAQ,OAGN,YAAfh5B,EAAM9sC,MAAwC,MAAlB8sC,EAAM7sC,SAAoBmqI,EAGxDc,EAAQnrI,KAAK+sC,GAFbo+F,EAAQnrI,KAAI,MAAZmrI,EAAO,EAASp+F,EAAM3sC,UAI1B,CAEA,IAAMq8E,EAAO17E,EAAOA,EAAO/B,OAAS,GAOpC,OAJIy9E,IAAS4tD,GAAW,YAAa5tD,GAA0B,MAAjBA,EAAKv8E,SACjDirI,EAAQnrI,KAAK+lE,GAAE,OAAQ,OAGlB/e,EAAE7lD,EAAM,KAAM5B,EAAO4rI,EAC9B,EChDEp+H,KAAAA,GACA6uH,Uc7BK,SAAmB50E,EAAG7lD,GAC3B,OAAO6lD,EAAE7lD,EAAM,IAAKmhH,GAAIt7D,EAAG7lD,GAC7B,Ed4BE2/G,Ke5BK,SAAc95D,EAAG7lD,GAEtB,OAAO6lD,EAAEgjF,QAAQ7oI,EAAM4kE,GAAE,OAAQzwD,GAAKgtG,GAAIt7D,EAAG7lD,KAC/C,Ef0BEujI,OgB/BK,SAAgB19E,EAAG7lD,GACxB,OAAO6lD,EAAE7lD,EAAM,SAAUmhH,GAAIt7D,EAAG7lD,GAClC,EhB8BEyvF,MiB3BK,SAAe5pC,EAAG7lD,GAOvB,IANA,IAAM4S,EAAO5S,EAAKf,SACdP,GAAS,EACP0V,EAAQpU,EAAKoU,OAAS,GAEtBxU,EAAS,KAENlB,EAAQkU,EAAK/U,QAAQ,CAO5B,IANA,IAAMg+F,EAAMjpF,EAAKlU,GAAOO,SAClBpC,EAAiB,IAAV6B,EAAc,KAAO,KAC9Byd,EAAMnc,EAAKoU,MAAQA,EAAMvW,OAASg+F,EAAIh+F,OAEpCosI,EAAM,GAEL9tH,KAAO,CACZ,IAAMy/E,EAAOC,EAAI1/E,GACjB8tH,EAAI9tH,GAAO0pC,EAAE+1C,EAAM/+F,EAAM,CAACuX,MAAOA,EAAM+H,IAAOy/E,EAAOulB,GAAIt7D,EAAG+1C,GAAQ,GACtE,CAEAh8F,EAAOlB,GAASmnD,EAAEjzC,EAAKlU,GAAQ,KAAMyV,GAAK81H,GAAK,GACjD,CAEA,OAAOpkF,EACL7lD,EACA,QACAmU,GACE,CAAC0xC,EAAEjmD,EAAO,GAAGsb,SAAU,QAAS/G,GAAK,CAACvU,EAAO,KAAK,KAAQkB,OACxDlB,EAAO,GACHimD,EACE,CACExnD,MAAOoqI,GAAW7oI,EAAO,IACzBqC,IAAKymI,GAAS9oI,EAAOA,EAAO/B,OAAS,KAEvC,QACAsW,GAAKvU,EAAOnB,MAAM,IAAI,IAExB,KAEN,GAGN,EjBbEyY,KkBjCK,SAAc2uC,EAAG7lD,GACtB,OAAO6lD,EAAEgjF,QACP7oI,EACA4kE,GAAE,OAAQxjE,OAAOpB,EAAKhD,OAAO6F,QAAQ,0BAA2B,OAEpE,ElB6BEg1H,cAAAA,GACAld,KAAMjZ,GACN+J,KAAM/J,GACNtpF,WAAYspF,GACZwoC,mBAAoBxoC,IAItB,SAASA,KACP,OAAO,IACT,CmBgBA,IAAMzhG,GAAM,CAAC,EAAEvE,eAQf,SAASkG,GAAQ+sH,EAAM/xH,GACrB,IAAM6hB,EAAW7hB,GAAW,CAAC,EACvB+sI,EAAYlrH,EAAS0rH,qBAAsB,EAE3CT,EAAe,CAAC,EAuBtB,OArBA7jF,EAAE8jF,UAAYA,EACd9jF,EAAEztC,W3BtEG,SAAqBpY,GAE1B,IAAMqd,EAAQ7hB,OAAOoI,OAAO,MAE5B,IAAK5D,IAASA,EAAKlB,KACjB,MAAM,IAAIqC,MAAM,wCAUlB,OAPAknI,GAAMroI,EAAM,cAAc,SAACoY,GACzB,IAAMzZ,EAAKgqI,GAAMvwH,EAAW42E,YACxBrwF,IAAOsB,GAAI9D,KAAKkhB,EAAO1e,KACzB0e,EAAM1e,GAAMyZ,EAEhB,IAUA,SAAoB42E,GAClB,IAAMrwF,EAAKgqI,GAAM35C,GACjB,OAAOrwF,GAAMsB,GAAI9D,KAAKkhB,EAAO1e,GAAM0e,EAAM1e,GAAM,IACjD,CACF,C2B2CiBma,CAAY61G,GAC3B9oE,EAAE6jF,aAAeA,EAEjB7jF,EAAEujF,cAAgB,GAClBvjF,EAAEgjF,QAAUA,EACZhjF,EAAEijF,SAAW,OAAIA,IAAarqH,EAASqqH,UACvCjjF,EAAEojF,eAAiBxqH,EAASwqH,eAC5BpjF,EAAEkjF,YAActqH,EAASsqH,YAEzBV,GAAM1Z,EAAM,sBAAsB,SAACv2G,GACjC,IAAMzZ,EAAKyC,OAAOgX,EAAW42E,YAAYhsF,cAIpC/C,GAAI9D,KAAKutI,EAAc/qI,KAC1B+qI,EAAa/qI,GAAMyZ,EAEvB,IAGOytC,EAQP,SAASgjF,EAAQnnE,EAAMiuD,GAErB,GAAIjuD,GAAQ,SAAUA,GAAQA,EAAKr/D,KAAM,CAEvC,IAAMA,EAAOq/D,EAAKr/D,KAEdA,EAAK+nI,QACY,YAAfza,EAAM7wH,OACR6wH,EAAQ,CACN7wH,KAAM,UACNC,QAAS,GACTC,WAAY,CAAC,EACbC,SAAU,KAId0wH,EAAM5wH,QAAUsD,EAAK+nI,OAGJ,YAAfza,EAAM7wH,MAAsBuD,EAAKgoI,cACnC1a,EAAM3wH,WAAa,OAAI2wH,EAAM3wH,YAAeqD,EAAKgoI,cAG/C,aAAc1a,GAASA,EAAM1wH,UAAYoD,EAAKioI,YAChD3a,EAAM1wH,SAAWoD,EAAKioI,UAE1B,CAEA,GAAI5oE,EAAM,CACR,IAAM+oB,EAAM,SAAU/oB,EAAOA,EAAO,CAACxmD,SAAUwmD,IC3H3B1hE,ED6HLyqF,IC1HhBzqF,EAAKkb,UACLlb,EAAKkb,SAAS7c,OACd2B,EAAKkb,SAAS7c,MAAM8c,MACpBnb,EAAKkb,SAAS7c,MAAMyc,QACpB9a,EAAKkb,SAASjZ,KACdjC,EAAKkb,SAASjZ,IAAIkZ,MAClBnb,EAAKkb,SAASjZ,IAAI6Y,SDqHf60G,EAAMz0G,SAAW,CAAC7c,MAAOoqI,GAAWh+C,GAAMxoF,IAAKymI,GAASj+C,IAE5D,CChIG,IAAmBzqF,EDkItB,OAAO2vH,CACT,CAOA,SAAS9pE,EAAE7lD,EAAMjB,EAASX,EAAOa,GAO/B,OANI/C,MAAMF,QAAQoC,KAChBa,EAAWb,EACXA,EAAQ,CAAC,GAIJyqI,EAAQ7oI,EAAM,CACnBlB,KAAM,UACNC,QAAAA,EACAC,WAAYZ,GAAS,CAAC,EACtBa,SAAUA,GAAY,IAE1B,CACF,CASO,SAASsrI,GAAO5b,EAAM/xH,GAC3B,IAAMipD,EAAIjkD,GAAQ+sH,EAAM/xH,GAClBoD,EAAOqvH,GAAIxpE,EAAG8oE,EAAM,MACpB6b,EExKD,SAAgB3kF,GAOrB,IANA,IAAM6jF,EAAe7jF,EAAE6jF,aACjBN,EAAgBvjF,EAAEujF,cACpB1qI,GAAS,EAEP+rI,EAAY,KAET/rI,EAAQ0qI,EAAcvrI,QAAQ,CACrC,IAAMqvG,EAAMw8B,EAAaN,EAAc1qI,GAAOsE,eAE9C,GAAKkqG,EAAL,CAIA,IAAMvD,EAASvoG,OAAO1C,EAAQ,GACxB4B,EAAU,EAAI4sG,EAAIjuG,UAElByrI,EAAgB,CACpB5rI,KAAM,OACNs/D,IAAK,SAAWurC,EAChBtnG,KAAM,CAACgoI,YAAa,CAACzrI,UAAW,CAAC,iBAAkBoI,KAAM,iBACzD/H,SAAU,CAAC,CAACH,KAAM,OAAQ9B,MAAO,YAE7Bs+E,EAAOh7E,EAAQA,EAAQzC,OAAS,GAElCy9E,GAAsB,cAAdA,EAAKx8E,KACfw8E,EAAKr8E,SAASJ,KAAK6rI,GAKnBpqI,EAAQzB,KAAK6rI,GAGfD,EAAU5rI,KAAK,CACbC,KAAM,WACNuD,KAAM,CAACgoI,YAAa,CAAC1rI,GAAI,KAAOgrG,EAAQ3iG,KAAM,gBAC9C/H,SAAUqB,EACV4a,SAAUgyF,EAAIhyF,UA1BhB,CA4BF,CAEA,OAAyB,IAArBuvH,EAAU5sI,OACL,KAGFgoD,EACL,KACA,UACA,CAACjnD,UAAW,CAAC,aAAcoI,KAAM,gBACjCmN,GACE,CACE0jH,GAAchyE,GACdj6C,GAAKi6C,EAAG,CAAC/mD,KAAM,OAAQsoI,SAAS,EAAMnoI,SAAUwrI,MAElD,GAGN,CF8GeE,CAAO9kF,GASpB,OAPI2kF,GAIFxqI,EAAKf,SAASJ,KAAK+lE,GAAE,OAAQ,MAAO4lE,GAG/BtuI,MAAMF,QAAQgE,GAAQ,CAAClB,KAAM,OAAQG,SAAUe,GAAQA,CAChE,CGvKA,IAUA,GAPI,SAAUivH,EAAaryH,GACrB,OAAOqyH,GAAe,QAASA,EAcrC,SAAgBA,EAAaryH,GAC3B,OAAO,SAACoD,EAAM07F,EAAMr8E,GAClB4vG,EAAY1iC,IAAIg+C,GAAOvqI,EAAMpD,GAAU8+F,GAAM,SAAClgF,GAC5C6D,EAAK7D,EACP,GACF,CACF,CAnBUovH,CAAO3b,EAAaryH,GA2B9B,SAAgBA,GAEd,OAAO,SAACoD,GAAI,OAAKuqI,GAAOvqI,EAAMpD,EAAQ,CACxC,CA7BUiuI,CAAO5b,EACb,iBC5BS92G,GAAM,GAOjB,WAAYpY,EAAUuC,EAAQ4E,GAAO,UACnCyR,KAAK5Y,SAAWA,EAChB4Y,KAAKrW,OAASA,EACV4E,IACFyR,KAAKzR,MAAQA,EAEjB,ICPK,SAAS5D,GAAMwV,EAAa5R,GAOjC,IALA,IAAMnH,EAAW,CAAC,EAEZuC,EAAS,CAAC,EACZ5D,GAAS,IAEJA,EAAQoa,EAAYjb,QAC3BrC,OAAO6gC,OAAOt8B,EAAU+Y,EAAYpa,GAAOqB,UAC3CvE,OAAO6gC,OAAO/5B,EAAQwW,EAAYpa,GAAO4D,QAG3C,OAAO,IAAI6V,GAAOpY,EAAUuC,EAAQ4E,EACtC,CCrBO,SAAS9H,GAAUpC,GACxB,OAAOA,EAAM6C,aACf,CFiBAsY,GAAO1c,UAAUsE,SAAW,CAAC,EAE7BoY,GAAO1c,UAAU6G,OAAS,CAAC,EAE3B6V,GAAO1c,UAAUyL,MAAQ,KG3BlB,IAAM9E,GAAI,GAMf,WAAYrC,EAAU6C,GAAW,UAE/B+V,KAAK5Y,SAAWA,EAEhB4Y,KAAK/V,UAAYA,CACnB,IAIFR,GAAK3G,UAAUyL,MAAQ,KACvB9E,GAAK3G,UAAUgG,SAAU,EACzBW,GAAK3G,UAAUoI,YAAa,EAC5BzB,GAAK3G,UAAUiG,mBAAoB,EACnCU,GAAK3G,UAAU4F,QAAS,EACxBe,GAAK3G,UAAUiF,gBAAiB,EAChC0B,GAAK3G,UAAUgF,gBAAiB,EAChC2B,GAAK3G,UAAUkF,uBAAwB,EACvCyB,GAAK3G,UAAU+L,iBAAkB,EACjCpF,GAAK3G,UAAU4c,SAAU,ECxBzB,IAAIW,GAAS,EAEAvX,GAAUwX,KACVpV,GAAaoV,KACbvX,GAAoBuX,KACpB5X,GAAS4X,KACTxY,GAAiBwY,KACjBvY,GAAiBuY,KACjBtY,GAAwBsY,KAErC,SAASA,KACP,OAAO,KAAP,IAAO,IAAOD,GAChB,CCPA,IAAMV,GAAS9c,OAAO8kC,KAAK38B,GAEdxB,GAAW,8BAQtB,WAAYpC,EAAU6C,EAAW4V,EAAMtR,GAAO,gBAC5C,IAAIxI,GAAS,EAMb,GAFAga,GAAK,EAFL,cAAM3Y,EAAU6C,IAEL,QAASsE,GAEA,kBAATsR,EACT,OAAS9Z,EAAQ4Z,GAAOza,QAAQ,CAC9B,IAAM4a,EAAQH,GAAO5Z,GACrBga,GAAK,KAAMJ,GAAO5Z,IAAS8Z,EAAO7U,EAAM8U,MAAY9U,EAAM8U,GAC5D,CACD,QACH,CAAC,YArBqB,CAASrW,IA+BjC,SAASsW,GAAK/Y,EAAQrD,EAAKU,GACrBA,IAEF2C,EAAOrD,GAAOU,EAElB,CAZAmF,GAAY1G,UAAU4c,SAAU,ECbhC,IAAMpY,GAAM,CAAC,EAAEvE,eAMR,SAASkI,GAAOwU,GAErB,IAII7V,EAJExC,EAAW,CAAC,EAEZuC,EAAS,CAAC,EAIhB,IAAKC,KAAQ6V,EAAWpZ,WACtB,GAAIiB,GAAI9D,KAAKic,EAAWpZ,WAAYuD,GAAO,CACzC,IAAMvF,EAAQob,EAAWpZ,WAAWuD,GAC9BhC,EAAO,IAAI4B,GACfI,EACA6V,EAAWtU,UAAUsU,EAAWjR,YAAc,CAAC,EAAG5E,GAClDvF,EACAob,EAAWlR,OAIXkR,EAAW5Q,iBACX4Q,EAAW5Q,gBAAgBu+C,SAASxjD,KAEpChC,EAAKiH,iBAAkB,GAGzBzH,EAASwC,GAAQhC,EAEjB+B,EAAOlD,GAAUmD,IAASA,EAC1BD,EAAOlD,GAAUmB,EAAKqC,YAAcL,CACtC,CAGF,OAAO,IAAI4V,GAAOpY,EAAUuC,EAAQ8V,EAAWlR,MACjD,CCvDO,IAAM3D,GAAQK,GAAO,CAC1BsD,MAAO,QACPpD,UAAS,SAACC,EAAGxB,GACX,MAAO,SAAWA,EAAK9D,MAAM,GAAGoB,aAClC,EACAb,WAAY,CACVoa,aAAc,KACdC,aAAc,KACdC,UAAW,KACXC,UAAW,KACXC,UAAW,KACXC,WAAY,KACZC,UAAW,QCZFlW,GAAMI,GAAO,CACxBsD,MAAO,MACPpD,UAAS,SAACC,EAAGxB,GACX,MAAO,OAASA,EAAK9D,MAAM,GAAGoB,aAChC,EACAb,WAAY,CAAC2a,QAAS,KAAMC,QAAS,KAAMC,SAAU,QCFhD,SAAS3B,GAAuB/Q,EAAYvE,GACjD,OAAOA,KAAauE,EAAaA,EAAWvE,GAAaA,CAC3D,CCAO,SAASqE,GAAyBE,EAAYpH,GACnD,OAAOmY,GAAuB/Q,EAAYpH,EAASF,cACrD,CCNO,IAAM4D,GAAQG,GAAO,CAC1BsD,MAAO,QACPC,WAAY,CAAC2S,WAAY,eACzBhW,UAAWmD,GACXjI,WAAY,CAACyE,MAAO,KAAMsW,WAAY,QCJ3BrW,GAAOE,GAAO,CACzBE,UAAS,SAACC,EAAGxB,GACX,MAAgB,SAATA,EAAkBA,EAAO,QAAUA,EAAK9D,MAAM,GAAGoB,aAC1D,EACAb,WAAY,CACVgF,qBAAsB,KACtBC,WAAYJ,GACZK,iBAAkB,KAClBC,SAAUN,GACVO,YAAaP,GACbQ,aAAchD,GACdiD,aAAcjD,GACdkD,YAAalD,GACbmD,aAAc/D,GACdgE,YAAa,KACbC,gBAAiBjE,GACjBkE,YAAa,KACbC,aAAcf,GACdgB,eAAgBpE,GAChBqE,iBAAkB,KAClBC,aAAclB,GACdmB,WAAYvE,GACZwE,YAAapB,GACbqB,aAAc,KACdC,WAAYtB,GACZuB,YAAa,KACbC,iBAAkB,KAClBC,UAAW,KACXC,eAAgB9E,GAChB+E,UAAWnE,GACXoE,SAAU,KACVC,UAAW7B,GACX8B,cAAe9B,GACf+B,oBAAqB/B,GACrBgC,gBAAiB,KACjBC,SAAUrF,GACVsF,gBAAiB,KACjBC,aAAc3E,GACd4E,YAAapC,GACbqC,aAAcrC,GACdsC,aAAc,KACdC,aAAcvC,GACdwC,oBAAqB5F,GACrB6F,aAAcjF,GACdkF,aAAclF,GACdmF,YAAanF,GACboF,aAAc5C,GACd6C,YAAarF,GACbsF,SAAU,KACVC,aAAcvF,GACdwF,aAAcxF,GACdyF,aAAczF,GACd0F,cAAe,KACfC,KAAM,QC7CGrF,GAAOiC,GAAO,CACzBsD,MAAO,OACPC,WAAY,CACVC,cAAe,iBACfC,UAAW,QACXC,QAAS,MACTC,UAAW,cAEbzD,UAAWmD,GACXO,gBAAiB,CAAC,UAAW,WAAY,QAAS,YAClDxI,WAAY,CAEVyI,KAAM,KACNC,OAAQhH,GACRiH,cAAelH,GACfmH,UAAWnH,GACXoH,OAAQ,KACRC,MAAO,KACPC,gBAAiBtG,GACjBuG,oBAAqBvG,GACrBwG,eAAgBxG,GAChByG,IAAK,KACLC,GAAI,KACJC,MAAO3G,GACP4G,eAAgB,KAChBC,aAAc7H,GACd8H,UAAW9G,GACX+G,SAAU/G,GACVgH,QAAShH,GACTiH,QAAS,KACTC,QAASlH,GACTmH,KAAM,KACNhK,UAAW6B,GACXoI,KAAMxH,GACNyH,QAAS,KACTxI,QAAS,KACTyI,gBAAiBlF,GACjBmF,SAAUvH,GACVwH,aAAcxI,GACdyI,OAAQ7H,GAASX,GACjByI,YAAa,KACb9G,KAAM,KACN+G,SAAU,KACVC,SAAU,KACVC,QAAS7H,GACT8H,MAAO9H,GACP+H,IAAK,KACLC,QAAS,KACTC,SAAUjI,GACVkI,SAAUjI,GACVkI,UAAW/F,GACXgG,QAAS,KACTC,aAAc,KACdC,KAAM,KACNC,WAAY,KACZC,YAAa,KACbC,WAAY,KACZC,eAAgB1I,GAChB2I,WAAY,KACZC,QAAS5J,GACT6J,OAAQjJ,GACRkJ,OAAQ9I,GACR+I,KAAMnJ,GACNoJ,KAAM,KACNC,SAAU,KACVC,QAASlK,GACTmK,UAAWnK,GACX9B,GAAI,KACJkM,WAAY,KACZC,YAAa,KACbC,UAAW,KACXC,UAAW,KACXC,GAAI,KACJC,MAAOzJ,GACP0J,OAAQ,KACRC,SAAU3K,GACV4K,QAAS5K,GACT6K,UAAW7J,GACX8J,SAAU9K,GACV+K,KAAM,KACNC,MAAO,KACPC,KAAM,KACNC,SAAU,KACVC,KAAM,KACNC,QAAS,KACTC,KAAMrK,GACNsK,IAAK1K,GACL2K,SAAU,KACVC,IAAK,KACLC,UAAW7K,GACX8K,MAAO,KACPC,OAAQ,KACRC,IAAK,KACLC,UAAWjL,GACXkL,SAAU9K,GACV+K,MAAO/K,GACP5E,KAAM,KACN4P,MAAO,KACPC,SAAUjL,GACVkL,WAAYlL,GACZmL,QAAS,KACTC,aAAc,KACdC,WAAY,KACZC,cAAe,KACfC,eAAgB,KAChBC,OAAQ,KACRC,SAAU,KACVC,UAAW,KACXC,iBAAkB,KAClBC,SAAU,KACVC,QAAS,KACTC,QAAS,KACTu9H,cAAe,KACft9H,cAAe,KACfu9H,kBAAmB,KACnBt9H,OAAQ,KACRC,YAAa,KACbC,MAAO,KACPC,WAAY,KACZC,OAAQ,KACRC,UAAW,KACXC,YAAa,KACbC,WAAY,KACZC,YAAa,KACbC,WAAY,KACZC,YAAa,KACbC,OAAQ,KACRC,iBAAkB,KAClBC,UAAW,KACXC,QAAS,KACTC,QAAS,KACTC,QAAS,KACTC,WAAY,KACZC,aAAc,KACdC,QAAS,KACTC,UAAW,KACXC,UAAW,KACXC,WAAY,KACZC,QAAS,KACTC,iBAAkB,KAClBC,OAAQ,KACRC,aAAc,KACdC,iBAAkB,KAClBC,UAAW,KACXC,YAAa,KACbC,UAAW,KACXC,eAAgB,KAChBC,YAAa,KACbC,aAAc,KACdC,aAAc,KACdC,YAAa,KACbC,WAAY,KACZC,YAAa,KACbC,UAAW,KACXC,UAAW,KACXC,SAAU,KACVC,WAAY,KACZC,WAAY,KACZC,QAAS,KACTC,QAAS,KACTC,OAAQ,KACRC,UAAW,KACXC,WAAY,KACZC,WAAY,KACZC,aAAc,KACdC,mBAAoB,KACpBC,QAAS,KACTC,SAAU,KACVC,SAAU,KACVC,0BAA2B,KAC3BC,SAAU,KACVC,UAAW,KACXC,SAAU,KACVC,aAAc,KACdC,UAAW,KACXC,UAAW,KACXC,SAAU,KACVC,UAAW,KACXC,aAAc,KACdC,SAAU,KACVC,qBAAsB,KACtBC,SAAU,KACVC,eAAgB,KAChBC,UAAW,KACXC,QAAS,KACTC,KAAMtQ,GACNuQ,QAAS3Q,GACT4Q,QAAS,KACTC,KAAMzR,GACN0R,YAAa,KACbC,YAAa3Q,GACb4Q,OAAQ,KACRC,QAAS,KACTC,SAAU9Q,GACV+Q,eAAgB,KAChBC,IAAKhS,GACLiS,SAAUjR,GACVkR,SAAUlR,GACVmR,KAAMvR,GACNwR,QAASxR,GACTyR,QAASrS,GACTsS,MAAO,KACPC,OAAQvR,GACRwR,SAAUxR,GACVyR,SAAUzR,GACV0R,MAAO,KACPC,KAAM/R,GACNgS,MAAO,KACPC,KAAM,KACNC,KAAMlS,GACNmS,WAAY3P,GACZtG,IAAK,KACLkW,OAAQ,KACRC,QAAS,KACTC,OAAQ,KACRtV,MAAOgD,GACPuS,KAAM,KACN/S,MAAO,KACPgT,SAAUxS,GACV1E,OAAQ,KACRmX,MAAO,KACPC,UAAW,KACXjV,KAAM,KACNkV,cAAevS,GACfwS,OAAQ,KACRjX,MAAO6G,GACPqQ,MAAO7S,GACP8S,KAAM,KAINC,MAAO,KACPC,MAAO,KACPC,QAAS7T,GACT8T,KAAM,KACNC,WAAY,KACZC,QAAS,KACTC,OAAQrT,GACRsT,YAAa,KACbC,aAAcvT,GACdwT,YAAa,KACbC,YAAa,KACbC,KAAM,KACNC,QAAS,KACTC,QAAS,KACTC,MAAO,KACPC,KAAM,KACNC,SAAU,KACVC,SAAU,KACVC,MAAO,KACPC,QAAS9T,GACT+T,QAAS/T,GACTgU,MAAO,KACPC,KAAM,KACNC,MAAO,KACPC,YAAa,KACbC,OAAQxU,GACRyU,WAAYzU,GACZ0U,KAAM,KACNC,SAAU,KACVC,OAAQ,KACRC,aAAc7U,GACd8U,YAAa9U,GACb+U,SAAU3U,GACV4U,OAAQ5U,GACR6U,QAAS7U,GACT8U,OAAQ9U,GACR+U,OAAQ,KACRC,QAAS,KACTC,OAAQ,KACRC,IAAK,KACLC,YAAavV,GACbwV,MAAO,KACPC,OAAQ,KACRC,UAAWlT,GACXmT,QAAS,KACTC,QAAS,KACTC,KAAM,KACNC,UAAW9V,GACX+V,UAAW,KACXC,QAAS,KACTC,OAAQ,KACRC,MAAO,KACPC,OAAQnW,GAGRoW,kBAAmB,KACnBC,YAAa,KACbC,SAAU,KACVC,wBAAyBnW,GACzBoW,sBAAuBpW,GACvBqW,OAAQ,KACR/X,SAAU,KACVgY,QAAS1W,GACT2W,SAAU,KACVC,aAAc,QCxSLm1F,GAAMxpG,GAAO,CACxBsD,MAAO,MACPC,WAAY,CACV6jI,aAAc,gBACdC,kBAAmB,qBACnBC,WAAY,cACZC,cAAe,iBACfC,UAAW,aACXxsI,UAAW,QACXysI,SAAU,YACVC,SAAU,YACVC,mBAAoB,sBACpBC,0BAA2B,8BAC3BC,aAAc,gBACdC,eAAgB,kBAChBviI,YAAa,cACbwiI,SAAU,WACVC,iBAAkB,oBAClBC,iBAAkB,oBAClBjgF,YAAa,eACbkgF,SAAU,YACVC,WAAY,cACZlgF,aAAc,gBACdmgF,WAAY,cACZC,SAAU,YACVC,eAAgB,mBAChBC,YAAa,eACbC,UAAW,aACXC,YAAa,eACbnhF,WAAY,cACZohF,UAAW,aACXC,2BAA4B,+BAC5BC,yBAA0B,6BAC1B9hI,SAAU,WACV+hI,UAAW,cACXC,aAAc,iBACdC,aAAc,iBACdC,eAAgB,kBAChBC,cAAe,iBACfC,cAAe,iBACfC,UAAW,aACXC,UAAW,aACXC,YAAa,eACbC,QAAS,WACTC,YAAa,gBACbC,aAAc,iBACdC,QAAS,WACTC,QAAS,WACTC,QAAS,WACTC,SAAU,YACVC,MAAO,SACPC,UAAW,cACXC,WAAY,eACZ/gI,QAAS,UACTghI,WAAY,aACZ/gI,aAAc,eACdE,cAAe,gBACf8gI,QAAS,UACT3gI,SAAU,WACVC,UAAW,YACXC,iBAAkB,mBAClBC,SAAU,WACVC,QAAS,UACTC,QAAS,UACTE,OAAQ,SACRC,YAAa,cACbC,MAAO,QACPC,WAAY,aACZC,OAAQ,SACRC,UAAW,YACXC,YAAa,cACbC,WAAY,aACZC,YAAa,cACbC,WAAY,aACZC,YAAa,cACbC,OAAQ,SACRC,iBAAkB,mBAClBC,UAAW,YACXw/H,MAAO,QACPv/H,QAAS,UACTC,QAAS,UACTC,QAAS,UACTs/H,UAAW,YACXC,WAAY,aACZr/H,aAAc,eACdC,QAAS,UACTC,UAAW,YACXC,UAAW,YACXC,WAAY,aACZC,QAAS,UACTE,OAAQ,SACRC,aAAc,eACdC,iBAAkB,mBAClBE,YAAa,cACbC,UAAW,YACXE,YAAa,cACbC,aAAc,eACdC,aAAc,eACdC,YAAa,cACbC,WAAY,aACZC,YAAa,cACbC,UAAW,YACXk+H,aAAc,eACdj+H,UAAW,YACXC,SAAU,WACVC,WAAY,aACZC,WAAY,aACZC,QAAS,UACTC,QAAS,UACTC,OAAQ,SACRC,UAAW,YACXC,WAAY,aACZC,WAAY,aACZC,aAAc,eACdw9H,SAAU,WACVt9H,QAAS,UACTC,SAAU,WACVC,SAAU,WACVE,SAAU,WACVC,UAAW,YACXC,SAAU,WACVi9H,OAAQ,SACR/8H,UAAW,YACXC,UAAW,YACXC,SAAU,WACVC,UAAW,YACXC,aAAc,eACdC,SAAU,WACVE,SAAU,WACVC,eAAgB,iBAChBC,UAAW,YACXu8H,OAAQ,SACRC,iBAAkB,oBAClBC,kBAAmB,qBACnBC,WAAY,cACZC,QAAS,WACTC,cAAe,iBACfj8H,eAAgB,iBAChBk8H,gBAAiB,mBACjBC,eAAgB,kBAChBC,UAAW,aACX9iF,YAAa,eACb+iF,sBAAuB,yBACvBC,uBAAwB,0BACxBC,gBAAiB,mBACjBC,iBAAkB,oBAClBC,cAAe,iBACfC,eAAgB,kBAChBC,iBAAkB,oBAClBjjF,cAAe,iBACfC,YAAa,eACbt4C,SAAU,WACVu7H,WAAY,cACZC,eAAgB,kBAChBC,cAAe,iBACf7mD,OAAQ,SACR8mD,kBAAmB,qBACnBC,mBAAoB,sBACpBC,YAAa,eACbC,aAAc,gBACdC,WAAY,eACZC,YAAa,eACbC,SAAU,YACVC,aAAc,gBACdC,cAAe,iBACfC,aAAc,gBACdC,SAAU,aACVC,YAAa,gBACbC,YAAa,gBACbC,YAAa,eACbC,YAAa,eACbC,QAAS,WAETC,cAAe,gBACfC,cAAe,iBAEjB1sI,UAAWoU,GACXlZ,WAAY,CACVyxI,MAAO9vI,GACPqqI,aAAc3pI,GACdqvI,WAAY,KACZC,SAAU,KACV1F,kBAAmB,KACnB2F,WAAYvvI,GACZwvI,UAAWxvI,GACX6pI,WAAY,KACZ4F,OAAQzvI,GACR4hD,cAAe,KACf8tF,cAAe,KACfC,QAAS3vI,GACT4vI,UAAW,KACX9F,cAAe,KACf+F,cAAe,KACfC,YAAa,KACbC,KAAM,KACNjyH,MAAO,KACPkyH,KAAMhwI,GACNiwI,GAAI,KACJC,SAAU,KACVnG,UAAW/pI,GACXzC,UAAW6B,GACX+wI,KAAM,KACNnG,SAAU,KACVoG,cAAe,KACfnG,SAAU,KACVh2H,MAAO,KACPi2H,mBAAoB,KACpBC,0BAA2B,KAC3BC,aAAc,KACdC,eAAgB,KAChBprI,QAAS,KACToxI,kBAAmB,KACnBC,iBAAkB,KAClBxoI,YAAa,KACbyoI,OAAQ,KACRC,GAAI,KACJC,GAAI,KACJlvF,EAAG,KACH+oF,SAAU,KACVoG,cAAe,KACfC,QAAS3wI,GACT4wI,gBAAiB5wI,GACjB6wI,UAAW,KACX/zD,QAAS,KACTg0D,IAAK,KACLC,QAAS/wI,GACTuqI,iBAAkB,KAClBjiI,SAAUlI,GACV4wI,GAAI,KACJC,GAAI,KACJC,SAAU,KACVC,SAAU,KACVC,UAAWpxI,GACXwqI,iBAAkB,KAClB5pI,IAAK,KACLwT,MAAO,KACPi9H,SAAUrxI,GACVsxI,0BAA2B,KAC3BC,KAAM,KACNhnF,YAAavqD,GACbyqI,SAAU,KACVxyC,OAAQ,KACRu5C,UAAW,KACXC,YAAa,KACb/G,WAAY,KACZlgF,aAAc,KACdknF,UAAW,KACXC,eAAgB,KAChBhH,WAAY,KACZC,SAAU,KACVC,eAAgB,KAChBC,YAAa,KACbC,UAAW,KACXC,YAAa,KACbnhF,WAAY,KACZwqD,OAAQ,KACRu9B,GAAI,KACJhxB,KAAM,KACNixB,GAAI,KACJC,GAAI,KACJC,GAAI1yI,GACJ2yI,GAAI3yI,GACJ4rI,UAAW5rI,GACX6rI,2BAA4B,KAC5BC,yBAA0B,KAC1B8G,SAAU,KACVC,kBAAmB,KACnBC,cAAe,KACfjN,QAAS,KACTkN,QAASpyI,GACTqyI,kBAAmB,KACnBC,WAAY,KACZrpI,OAAQ,KACRG,KAAM,KACNC,SAAU,KACV+hI,UAAWprI,GACXqrI,aAAcrrI,GACdsrI,aAActrI,GACd1C,GAAI,KACJi1I,YAAavyI,GACburI,eAAgB,KAChBiH,kBAAmB,KACnBC,GAAI,KACJC,IAAK,KACLC,UAAW3yI,GACXykD,EAAGzkD,GACH4yI,GAAI5yI,GACJ6yI,GAAI7yI,GACJ8yI,GAAI9yI,GACJ+yI,GAAI/yI,GACJgzI,aAAc1zI,GACd2zI,iBAAkB,KAClBC,UAAW,KACXC,WAAY,KACZC,SAAU,KACVC,QAAS,KACThpI,KAAM,KACNipI,aAAc,KACd9H,cAAe,KACfC,cAAe,KACf8H,kBAAmBvzI,GACnBwzI,MAAO,KACP9H,UAAW,KACXC,UAAW,KACXC,YAAa,KACb6H,aAAc,KACdC,YAAa,KACbC,YAAa,KACbx8H,KAAM,KACNy8H,iBAAkB,KAClBC,UAAW,KACXC,aAAc,KACdlpI,IAAK,KACLE,MAAO,KACPipI,uBAAwB,KACxBC,sBAAuB,KACvBC,UAAWj0I,GACXk0I,UAAW,KACXnpI,OAAQ,KACRC,IAAK,KACLs5B,KAAM,KACN9oC,KAAM,KACNqwI,QAAS,KACTC,YAAa,KACbC,aAAc,KACdC,QAAS,KACTC,QAAS,KACTC,QAAS,KACTC,SAAU,KACVC,MAAO,KACPC,UAAW,KACXC,WAAY,KACZ6H,WAAY,KACZC,SAAU,KACV90H,OAAQ,KACR/T,QAAS,KACTghI,WAAY,KACZ/gI,aAAc,KACdE,cAAe,KACf8gI,QAAS,KACT3gI,SAAU,KACVC,UAAW,KACXC,iBAAkB,KAClBC,SAAU,KACVC,QAAS,KACTC,QAAS,KACTE,OAAQ,KACRC,YAAa,KACbC,MAAO,KACPC,WAAY,KACZC,OAAQ,KACRC,UAAW,KACXC,YAAa,KACbC,WAAY,KACZC,YAAa,KACbC,WAAY,KACZC,YAAa,KACbC,OAAQ,KACRC,iBAAkB,KAClBC,UAAW,KACXw/H,MAAO,KACPv/H,QAAS,KACTC,QAAS,KACTC,QAAS,KACTs/H,UAAW,KACXC,WAAY,KACZr/H,aAAc,KACdC,QAAS,KACTC,UAAW,KACXC,UAAW,KACXC,WAAY,KACZC,QAAS,KACTE,OAAQ,KACRC,aAAc,KACdC,iBAAkB,KAClBE,YAAa,KACbC,UAAW,KACXE,YAAa,KACbC,aAAc,KACdC,aAAc,KACdC,YAAa,KACbC,WAAY,KACZC,YAAa,KACbC,UAAW,KACXk+H,aAAc,KACdj+H,UAAW,KACXC,SAAU,KACVC,WAAY,KACZC,WAAY,KACZC,QAAS,KACTC,QAAS,KACTC,OAAQ,KACRC,UAAW,KACXC,WAAY,KACZC,WAAY,KACZC,aAAc,KACdw9H,SAAU,KACVt9H,QAAS,KACTC,SAAU,KACVC,SAAU,KACVE,SAAU,KACVC,UAAW,KACXC,SAAU,KACVi9H,OAAQ,KACR/8H,UAAW,KACXC,UAAW,KACXC,SAAU,KACVC,UAAW,KACXC,aAAc,KACdC,SAAU,KACVE,SAAU,KACVC,eAAgB,KAChBC,UAAW,KACXu8H,OAAQ,KACR/iF,QAAS,KACTuhC,SAAU,KACVthC,MAAO,KACPoqF,OAAQ,KACRC,YAAa,KACbvsB,OAAQ,KACR5+C,SAAU,KACVorE,QAAS,KACTvH,iBAAkBhtI,GAClBitI,kBAAmBjtI,GACnBktI,WAAY,KACZC,QAAS,KACT7yC,KAAM,KACNk6C,WAAYx0I,GACZy0I,oBAAqB,KACrBC,iBAAkB,KAClBC,aAAc,KACdC,MAAO,KACP/jI,KAAMzR,GACNy1I,MAAO,KACP3F,cAAe,KACf9B,cAAe,KACf0H,OAAQ,KACRC,UAAW/0I,GACXg1I,UAAWh1I,GACXi1I,UAAWj1I,GACXk1I,cAAe,KACfC,oBAAqB,KACrBC,eAAgB,KAChBC,UAAW,KACX32I,SAAUY,GACVqtE,EAAG,KACH2oE,OAAQ,KACRnkI,eAAgB,KAChBokI,KAAM,KACNC,KAAM,KACNpkI,IAAK9R,GACLgW,IAAKhW,GACL+tI,gBAAiB,KACjBoI,YAAa,KACbC,UAAW,KACXC,mBAAoBr2I,GACpBs2I,iBAAkBt2I,GAClBu2I,cAAev2I,GACfw2I,gBAAiBx2I,GACjB+kI,SAAU,KACV0R,QAAS,KACTx3I,OAAQ,KACRy3I,OAAQ,KACRC,GAAI,KACJC,GAAI,KACJC,MAAO,KACPC,KAAM,KACN9I,eAAgB,KAChB+I,KAAM,KACNC,MAAO,KACPC,aAAc,KACdC,iBAAkBx2I,GAClBy2I,iBAAkBz2I,GAClB02I,aAAc,KACdC,QAAS,KACTr+G,YAAa,KACbs+G,aAAc,KACdC,MAAO,KACPC,MAAO,KACPC,YAAa,KACbxJ,UAAW,KACX9iF,YAAa,KACb+iF,sBAAuBxtI,GACvBytI,uBAAwBztI,GACxB2b,OAAQ,KACRq7H,OAAQ,KACRtJ,gBAAiBpuI,GACjBquI,iBAAkB,KAClBC,cAAe,KACfC,eAAgB,KAChBC,iBAAkB9tI,GAClB6qD,cAAe7qD,GACf8qD,YAAa,KACbtrD,MAAO,KACPy3I,aAAcj3I,GACdk3I,aAAc,KACdC,oBAAqB,KACrBC,WAAY,KACZC,cAAe,KACfC,qBAAsB,KACtBC,eAAgBj4I,GAChBkT,SAAUxS,GACVw3I,YAAa,KACbl8I,OAAQ,KACRm8I,QAASz3I,GACT03I,QAAS13I,GACT+tI,WAAY,KACZC,eAAgB,KAChBC,cAAe,KACf0J,WAAY,KACZxI,cAAe,KACf18H,MAAO,KACPmlI,kBAAmB,KACnBn6I,KAAM,KACN2pF,OAAQ9nF,GACRuhH,GAAI,KACJp+G,UAAW,KACXo1I,GAAI,KACJC,GAAI,KACJ5J,kBAAmBluI,GACnBmuI,mBAAoBnuI,GACpB8hC,QAAS,KACTssG,YAAa,KACbC,aAAc,KACdC,WAAYtuI,GACZ1B,OAAQ,KACRiwI,YAAavuI,GACb0uI,cAAe1uI,GACf2uI,aAAc,KACdH,SAAUxuI,GACVyuI,aAAczuI,GACdgW,QAAS,KACT44H,SAAU5uI,GACV6uI,YAAa7uI,GACb8uI,YAAa9uI,GACb+3I,QAAS,KACTC,WAAY,KACZC,WAAY,KACZplI,MAAO,KACPqlI,OAAQ,KACRnJ,YAAa,KACbC,YAAa,KACb1rE,EAAG,KACH60E,GAAI,KACJC,GAAI,KACJC,iBAAkB,KAClBpJ,QAASjvI,GACT4sE,EAAG,KACH0rE,GAAI,KACJC,GAAI,KACJC,iBAAkB,KAClBv2F,EAAG,KACHw2F,WAAY,QCliBHn4I,GAAO2B,GAAM,CAACE,GAAKD,GAAOE,GAAOC,GAAMq2I,IAAW,QAClD3sC,GAAM9pG,GAAM,CAACE,GAAKD,GAAOE,GAAOC,GAAMs2I,IAAU,OCM9C,SAASC,GAAar9I,GACnC,GAAIA,EAAQs9I,iBAAmBt9I,EAAQu9I,mBACrC,MAAM,IAAIv/H,UACR,4EAIJ,GACEhe,EAAQs9I,iBACRt9I,EAAQu9I,oBACRv9I,EAAQw9I,aAER,OAAO,SAACzrB,GACN0Z,GAAM1Z,EAAM,WAAW,SAAC3uH,EAAMtB,EAAO27I,GACnC,IAEIx+G,EAFEyC,EAAsC+7G,EAc5C,GAVIz9I,EAAQs9I,gBACVr+G,GAAUj/B,EAAQs9I,gBAAgBn0F,SAAS/lD,EAAKjB,SACvCnC,EAAQu9I,qBACjBt+G,EAASj/B,EAAQu9I,mBAAmBp0F,SAAS/lD,EAAKjB,WAG/C88B,GAAUj/B,EAAQw9I,cAAiC,kBAAV17I,IAC5Cm9B,GAAUj/B,EAAQw9I,aAAap6I,EAAMtB,EAAO4/B,IAG1CzC,GAA2B,kBAAVn9B,EAAoB,CACQ,MAA/C,GAAI9B,EAAQ09I,kBAAoBt6I,EAAKf,UACnC,EAAAq/B,EAAOr/B,UAASujC,OAAM,SAAC9jC,EAAO,GAAC,SAAKsB,EAAKf,iBAEzCq/B,EAAOr/B,SAASujC,OAAO9jC,EAAO,GAGhC,OAAOA,CACT,CAGF,GACF,CAEJ,CCjEA,IAAM67I,GAAY,CAAC,OAAQ,QAAS,SAAU,sBCIvC,SAASl/H,GAAWm/H,GAEzB,IAAIx9I,EAEFw9I,GAA0B,kBAAVA,GAAqC,SAAfA,EAAM17I,KAExC07I,EAAMx9I,OAAS,GACfw9I,EAIN,MAAwB,kBAAVx9I,GAA4D,KAAtCA,EAAM6F,QAAQ,eAAgB,GACpE,CCRA,IAAMJ,GAAQ,kBACRK,GAAO,UACPI,GAAM,SAOL,SAAShE,GAAKM,EAAQxC,GAC3B,IAAMsF,EAASlD,GAAUpC,GACrBuF,EAAOvF,EACPwF,EAAOJ,GAEX,GAAIE,KAAU9C,EAAO8C,OACnB,OAAO9C,EAAOO,SAASP,EAAO8C,OAAOA,IAGvC,GAAIA,EAAOzE,OAAS,GAA4B,SAAvByE,EAAO7D,MAAM,EAAG,IAAiBgE,GAAMC,KAAK1F,GAAQ,CAE3E,GAAwB,MAApBA,EAAM2F,OAAO,GAAY,CAE3B,IAAMwtF,EAAOnzF,EAAMyB,MAAM,GAAGoE,QAAQC,GAAMC,IAC1CR,EAAO,OAAS4tF,EAAKxtF,OAAO,GAAGK,cAAgBmtF,EAAK1xF,MAAM,EAC5D,KAAO,CAEL,IAAM0xF,EAAOnzF,EAAMyB,MAAM,GAEzB,IAAKqE,GAAKJ,KAAKytF,GAAO,CACpB,IAAIsqD,EAAStqD,EAAKttF,QAAQK,GAAKC,IAEN,MAArBs3I,EAAO93I,OAAO,KAChB83I,EAAS,IAAMA,GAGjBz9I,EAAQ,OAASy9I,CACnB,CACF,CAEAj4I,EAAOL,EACT,CAEA,OAAO,IAAIK,EAAKD,EAAMvF,EACxB,CAMA,SAASmG,GAAME,GACb,MAAO,IAAMA,EAAGxD,aAClB,CAMA,SAASkD,GAAUM,GACjB,OAAOA,EAAGV,OAAO,GAAGK,aACtB,CCnEO,IAAM03I,GAAc,CACzBzlI,QAAS,UACT02H,SAAU,WACVxgI,OAAQ,SACR4jI,gBAAiB,kBACjBC,iBAAkB,mBAClBC,cAAe,gBACfC,eAAgB,iBAChBC,iBAAkB,mBAClB1mD,OAAQ,SACRrvE,aAAc,eACdC,aAAc,eACdC,UAAW,YACXC,UAAW,YACXC,UAAW,YACXC,WAAY,aACZC,UAAW,YACXK,WAAY,cCXP,SAAS8G,GAAM7jB,GACpB,IAAM+E,EAAQX,OAAOpE,GAAS,IAAIkF,OAClC,OAAOH,EAAQA,EAAMiY,MAAM,iBAAmB,EAChD,CAQO,SAASkqE,GAAUvkF,GACxB,OAAOA,EAAOiB,KAAK,KAAKsB,MAC1B,CCPO,SAAS2e,GAAM7jB,GAWpB,IATA,IAKIiF,EAEA2f,EAPAqqE,EAAS,GACTlqF,EAAQX,OAAOpE,GAAS,IACxB0B,EAAQqD,EAAMC,QAAQ,KACtB3D,EAAQ,GAMJ4D,IACS,IAAXvD,IACFA,EAAQqD,EAAMlE,OACdoE,GAAM,KAGR2f,EAAQ7f,EAAMtD,MAAMJ,EAAOK,GAAOwD,SAEpBD,GACZgqF,EAAOptF,KAAK+iB,GAGdvjB,EAAQK,EAAQ,EAChBA,EAAQqD,EAAMC,QAAQ,IAAK3D,GAG7B,OAAO4tF,CACT,CASO,SAAS/H,GAAUvkF,EAAQ/C,GAChC,IAAI6hB,EAAW7hB,GAAW,CAAC,EAO3B,MAJkC,KAA9B+C,EAAOA,EAAO9B,OAAS,KACzB8B,EAASA,EAAOmB,OAAO,KAGlBnB,EACJiB,MACE6d,EAASk8H,SAAW,IAAM,IACzB,MACsB,IAArBl8H,EAASm8H,QAAoB,GAAK,MAEtC14I,MACL,gBC4CMjC,GAAM,CAAC,EAAEvE,eAITm/I,GAAgB,IAAI74F,IAAI,CAAC,QAAS,QAAS,QAAS,QAAS,OAM5D,SAAS84F,GAAgBzuE,EAASrsE,GAOvC,IALA,IAGI4rC,EAHE3sC,EAAW,GACb87I,GAAc,IAITA,EAAa/6I,EAAKf,SAASpB,QAGf,aAFnB+tC,EAAQ5rC,EAAKf,SAAS87I,IAEZj8I,KACRG,EAASJ,KAAKm8I,GAAQ3uE,EAASzgC,EAAOmvG,EAAY/6I,IAC1B,SAAf4rC,EAAM9sC,KASC,YAAdkB,EAAKlB,MACJ+7I,GAAc72E,IAAIhkE,EAAKjB,UACvBsc,GAAWuwB,IAEZ3sC,EAASJ,KAAK+sC,EAAM5uC,OAEE,QAAf4uC,EAAM9sC,MAAmButE,EAAQzvE,QAAQq+I,UAElDh8I,EAASJ,KAAK+sC,EAAM5uC,OAIxB,OAAOiC,CACT,CAQA,SAAS+7I,GAAQ3uE,EAASrsE,EAAMtB,EAAO4/B,GACrC,IASIv+B,EATEnD,EAAUyvE,EAAQzvE,QAClBs+I,EAAe7uE,EAAQ7sE,OAGvB3C,EAAOmD,EAAKjB,QAEZC,EAAa,CAAC,EAChBQ,EAAS07I,EASb,GAL2B,SAAvBA,EAAah0I,OAA6B,QAATrK,IACnC2C,EAAS4tG,GACT/gC,EAAQ7sE,OAASA,GAGfQ,EAAKhB,WACP,IAAKe,KAAYC,EAAKhB,WAChBiB,GAAI9D,KAAK6D,EAAKhB,WAAYe,IAC5BK,GAAYpB,EAAYe,EAAUC,EAAKhB,WAAWe,GAAWssE,GAKtD,OAATxvE,GAA0B,OAATA,GACnBwvE,EAAQ8uE,YAGV,IAAMl8I,EAAW67I,GAAgBzuE,EAASrsE,GAE7B,OAATnD,GAA0B,OAATA,GACnBwvE,EAAQ8uE,YAIV9uE,EAAQ7sE,OAAS07I,EAIjB,IA4OuB/+H,EA5OjBjB,EAAWlb,EAAKkb,UAAY,CAChC7c,MAAO,CAAC8c,KAAM,KAAML,OAAQ,KAAM6F,OAAQ,MAC1C1e,IAAK,CAACkZ,KAAM,KAAML,OAAQ,KAAM6F,OAAQ,OAEpC0zF,EACJz3G,EAAQw+I,YAAcn7I,GAAI9D,KAAKS,EAAQw+I,WAAYv+I,GAC/CD,EAAQw+I,WAAWv+I,GACnBA,EACAi1F,EAA6B,kBAAduiB,GAA0BA,IAAcgnC,EAAAA,SAE7D,IAAKC,GAAAA,mBAA2BjnC,GAC9B,MAAM,IAAIz5F,UAAU,uBAAD,OACO/d,EAAI,uCA2DhC,GAvDAmC,EAAW1C,IAAM,CACfO,EACAqe,EAAS7c,MAAM8c,KACfD,EAAS7c,MAAMyc,OACfpc,GACAkC,KAAK,KAEM,MAAT/D,GAAgBD,EAAQ2+I,aAC1Bv8I,EAAWrC,OACqB,oBAAvBC,EAAQ2+I,WACX3+I,EAAQ2+I,WACNn6I,OAAOpC,EAAWyL,MAAQ,IAC1BzK,EAAKf,SACuB,kBAArBD,EAAW8U,MAAqB9U,EAAW8U,MAAQ,MAE5DlX,EAAQ2+I,YAGH,MAAT1+I,GAAgBD,EAAQ4+I,mBAC1Bx8I,EAAWyL,KAAO7N,EAAQ4+I,iBACxBp6I,OAAOpC,EAAWyL,MAAQ,IAC1BzK,EAAKf,SACuB,kBAArBD,EAAW8U,MAAqB9U,EAAW8U,MAAQ,OAK3Dg+E,GACQ,SAATj1F,GACgB,YAAhByhC,EAAOx/B,MACY,QAAnBw/B,EAAOv/B,UAEPC,EAAW8wF,QAAS,GAInBgC,GACS,OAATj1F,GACU,OAATA,GACS,OAATA,GACS,OAATA,GACS,OAATA,GACS,OAATA,IAEFmC,EAAWg1F,MAAQxyF,OAAO+e,SAAS1jB,EAAK8F,OAAO,GAAI,KAGxC,QAAT9F,GAAkBD,EAAQ6+I,oBAC5Bz8I,EAAWzB,IAAMX,EAAQ6+I,kBACvBr6I,OAAOpC,EAAWzB,KAAO,IACzB6D,OAAOpC,EAAWkJ,KAAO,IACG,kBAArBlJ,EAAW8U,MAAqB9U,EAAW8U,MAAQ,QAIzDg+E,GAAkB,OAATj1F,GAAiC,YAAhByhC,EAAOx/B,KAAoB,CACxD,IAAMiD,EA0DV,SAAyB/B,GACvB,IAAItB,GAAS,EAEb,OAASA,EAAQsB,EAAKf,SAASpB,QAAQ,CACrC,IAAM+tC,EAAQ5rC,EAAKf,SAASP,GAE5B,GAAmB,YAAfktC,EAAM9sC,MAAwC,UAAlB8sC,EAAM7sC,QACpC,OAAO6sC,CAEX,CAEA,OAAO,IACT,CAtEkB8vG,CAAgB17I,GAC9BhB,EAAW2J,QACT5G,GAASA,EAAM/C,WAAa8mG,QAAQ/jG,EAAM/C,WAAW2J,SAAW,KAClE3J,EAAWN,MAAQi9I,GAAuBr9G,EAAQt+B,GAClDhB,EAAWooI,QAA6B,OAAnB9oG,EAAOv/B,OAC9B,CA4CA,OA1CK+yF,GAAmB,OAATj1F,GAA0B,OAATA,IAC9BmC,EAAWooI,QAAmB,OAATvqI,EACrBmC,EAAWkoI,MAAQ76D,EAAQ8uE,WAGhB,OAATt+I,GAA0B,OAATA,IACfmC,EAAWoV,QACRpV,EAAW6B,QAAO7B,EAAW6B,MAAQ,CAAC,GAE3C7B,EAAW6B,MAAM+6I,UAAY58I,EAAWoV,aACjCpV,EAAWoV,OAGf09E,IACH9yF,EAAW68I,SAAoB,OAATh/I,IAIrBi1F,GAAkB,OAATj1F,GAAiC,YAAhByhC,EAAOx/B,OACpCE,EAAW68I,SAAW/1C,QAA2B,UAAnBxnE,EAAOv/B,UAInCnC,EAAQk/I,YACV98I,EAAW,kBAsIN,EADgBmd,EArI0BjB,GAuI3C7c,MAAM8c,KACV,IACAgB,EAAI9d,MAAMyc,OACV,IACAqB,EAAIla,IAAIkZ,KACR,IACAgB,EAAIla,IAAI6Y,QAEPsuE,KAAI,SAACxmC,GAAC,OAAKxhD,OAAOwhD,EAAE,IACpBhiD,KAAK,MA7IHkxF,GAASl1F,EAAQm/I,eACpB/8I,EAAWg9I,eAAiBh8I,EAAKkb,WAI9B42E,GAASl1F,EAAQq/I,sBACpBj9I,EAAWN,MAAQi9I,GAAuBr9G,EAAQt+B,GAClDhB,EAAWk9I,aAAeP,GAAuBr9G,IAG9CwzD,IACH9yF,EAAWgB,KAAOA,GAIbf,EAASpB,OAAS,EACrBw9I,EAAAA,cAAoBhnC,EAAWr1G,EAAYC,GAC3Co8I,EAAAA,cAAoBhnC,EAAWr1G,EACrC,CAyBA,SAAS28I,GAAuBr9G,EAAQt+B,GAItC,IAHA,IAAItB,GAAS,EACT2qF,EAAQ,IAEH3qF,EAAQ4/B,EAAOr/B,SAASpB,QAC3BygC,EAAOr/B,SAASP,KAAWsB,GACK,YAAhCs+B,EAAOr/B,SAASP,GAAOI,MAAoBuqF,IAGjD,OAAOA,CACT,CAQA,SAASjpF,GAAYhC,EAAOmE,EAAMvF,EAAOytF,GACvC,IAAMlqF,EAAOrB,GAAKurF,EAAIjrF,OAAQ+C,GAC1B3C,EAAS5C,EAIE,OAAX4C,QAA8BY,IAAXZ,GAAwBA,IAAWA,IAMtD1D,MAAMF,QAAQ4D,KAChBA,EAASW,EAAKG,eAAiBnB,GAAOK,GAAUN,GAAOM,IAGnC,UAAlBW,EAAKR,UAA0C,kBAAXH,IACtCA,EAkBJ,SAAoB5C,GAElB,IAAM4C,EAAS,CAAC,EAEhB,IACEiB,GAAM7D,EAAOmoD,EAGf,CAFE,SAEF,CAEA,OAAOvlD,EAMP,SAASulD,EAAStoD,EAAM8lD,GACtB,IAAMmD,EAAyB,SAArBjpD,EAAK4B,MAAM,EAAG,GAAgB,MAAH,OAAS5B,EAAK4B,MAAM,IAAO5B,EAChE+C,EAAOkmD,EAAEjjD,QAAQ,YAAas5I,KAAkBx5F,CAClD,CACF,CAtCay5F,CAAWx8I,IAGlBW,EAAK2G,OAAS3G,EAAKR,SACrB3B,EACE6B,GAAI9D,KAAKu+I,GAAan6I,EAAKR,UACvB26I,GAAYn6I,EAAKR,UACjBQ,EAAKR,UACPH,EACKW,EAAKqC,YACdxE,EAAMmC,EAAKqC,WAAahD,GAE5B,CAgCA,SAASu8I,GAAcp4I,EAAGo9H,GACxB,OAAOA,EAAGn+H,aACZ,CCzYA,IAAM/C,GAAM,CAAC,EAAEvE,eAKT2gJ,GAAa,CACjBC,UAAW,CAACp6B,GAAI,aAAcvjH,GAAI,kCAClC49I,WAAY,CAAC59I,GAAI,wCACjBwrI,mBAAoB,CAACxrI,GAAI,wCACzB69I,WAAY,CAAC79I,GAAI,wCACjB2c,OAAQ,CAAC4mG,GAAI,WAAYvjH,GAAI,6BAC7B89I,UAAW,CACTv6B,GAAI,eACJvjH,GAAI,sDAEN+9I,aAAc,CACZx6B,GAAI,kBACJvjH,GAAI,sDAENg+I,gBAAiB,CACfz6B,GAAI,qBACJvjH,GAAI,sDAENi+I,iBAAkB,CAChB16B,GAAI,sBACJvjH,GAAI,mDAUD,SAASk+I,GAAcjgJ,GAC5B,IAAK,IAAMN,KAAO+/I,GAChB,GAAIp8I,GAAI9D,KAAKkgJ,GAAY//I,IAAQ2D,GAAI9D,KAAKS,EAASN,GAAM,CACvD,IAAMwgJ,EAAcT,GAAW//I,GAC/Bg7E,QAAQylE,KAAK,oCAAD,OAERD,EAAY56B,GAAK,QAAH,OAAY46B,EAAY56B,GAAE,gBAAkB,SAAQ,aAC9D5lH,EAAG,mBAxCf,oEAwCoC,YAAIwgJ,EAAYn+I,GAAE,4BAE3C09I,GAAW//I,EACpB,CAGF,IAAMixH,EAAYX,IACfM,IAAI8vB,IAEJ9vB,IAAItwH,EAAQqgJ,eAAiBrgJ,EAAQuvG,SAAW,IAChD+gB,IAAIgwB,GAAc,CAAC/S,oBAAoB,IACvCjd,IAAItwH,EAAQugJ,eAAiB,IAC7BjwB,IAAI+sB,GAAcr9I,GAEf8+F,EAAO,IAAImwB,EAEe,kBAArBjvH,EAAQqC,SACjBy8F,EAAK1+F,MAAQJ,EAAQqC,cACSuB,IAArB5D,EAAQqC,UAA+C,OAArBrC,EAAQqC,UACnDq4E,QAAQylE,KAAK,uEAAD,OACgEngJ,EAAQqC,SAAQ,OAI9F,IAAMm+I,EAAW7vB,EAAUqB,QAAQrB,EAAU1sG,MAAM66E,GAAOA,GAE1D,GAAsB,SAAlB0hD,EAASt+I,KACX,MAAM,IAAI8b,UAAU,0BAItB,IAAIhb,EAASy7I,EAAAA,cACXA,EAAAA,SACA,CAAC,EACDP,GAAgB,CAACl+I,QAAAA,EAAS4C,OAAQmC,GAAMw5I,UAAW,GAAIiC,IAOzD,OAJIxgJ,EAAQgC,YACVgB,EAASy7I,EAAAA,cAAoB,MAAO,CAACz8I,UAAWhC,EAAQgC,WAAYgB,IAG/DA,CACT,CCzHe,SAASy9I,KAYtB,OAXAA,GAAW7hJ,OAAO6gC,OAAS7gC,OAAO6gC,OAAOioC,OAAS,SAAU3nE,GAC1D,IAAK,IAAIiB,EAAI,EAAGA,EAAID,UAAUE,OAAQD,IAAK,CACzC,IAAI0d,EAAS3d,UAAUC,GACvB,IAAK,IAAItB,KAAOgf,EACV9f,OAAOC,UAAUC,eAAeS,KAAKmf,EAAQhf,KAC/CK,EAAOL,GAAOgf,EAAOhf,GAG3B,CACA,OAAOK,CACT,EACO0gJ,GAAStkI,MAAMJ,KAAMhb,UAC9B,CCVA,SAAS2oH,GAAQ9vG,EAAQ+vG,GAAkB,IAAIjmF,EAAO9kC,OAAO8kC,KAAK9pB,GAAS,GAAIhb,OAAOgrH,sBAAuB,CAAE,IAAIC,EAAUjrH,OAAOgrH,sBAAsBhwG,GAAS+vG,IAAmBE,EAAUA,EAAQntB,QAAO,SAAUotB,GAAO,OAAOlrH,OAAOO,yBAAyBya,EAAQkwG,GAAK5pH,UAAY,KAAKwjC,EAAKzhC,KAAKka,MAAMunB,EAAMmmF,EAAU,CAAE,OAAOnmF,CAAM,CAEpV,SAASg9G,GAAc3gJ,GAAU,IAAK,IAAIiB,EAAI,EAAGA,EAAID,UAAUE,OAAQD,IAAK,CAAE,IAAI0d,EAAS,MAAQ3d,UAAUC,GAAKD,UAAUC,GAAK,CAAC,EAAGA,EAAI,EAAI0oH,GAAQ9qH,OAAO8f,IAAS,GAAIklB,SAAQ,SAAUlkC,GAAO+pH,EAAgB1pH,EAAQL,EAAKgf,EAAOhf,GAAO,IAAKd,OAAOorH,0BAA4BprH,OAAOqxG,iBAAiBlwG,EAAQnB,OAAOorH,0BAA0BtrG,IAAWgrG,GAAQ9qH,OAAO8f,IAASklB,SAAQ,SAAUlkC,GAAOd,OAAOK,eAAec,EAAQL,EAAKd,OAAOO,yBAAyBuf,EAAQhf,GAAO,GAAI,CAAE,OAAOK,CAAQ,CFsHzfkgJ,GAAcxxE,aAAe,CAACmwE,iBPrHvB,SAAwBn7C,GAC7B,IAAMjiC,GAAOiiC,GAAO,IAAIn+F,OAClBq7I,EAAQn/E,EAAIz7D,OAAO,GAEzB,GAAc,MAAV46I,GAA2B,MAAVA,EACnB,OAAOn/E,EAGT,IAAMkxC,EAAQlxC,EAAIp8D,QAAQ,KAC1B,IAAe,IAAXstG,EACF,OAAOlxC,EAKT,IAFA,IAAI1/D,GAAS,IAEJA,EAAQ67I,GAAU18I,QAAQ,CACjC,IAAM0tH,EAAWgvB,GAAU77I,GAE3B,GACE4wG,IAAUic,EAAS1tH,QACnBugE,EAAI3/D,MAAM,EAAG8sH,EAAS1tH,QAAQgC,gBAAkB0rH,EAEhD,OAAOntD,CAEX,CAGA,OAAe,KADf1/D,EAAQ0/D,EAAIp8D,QAAQ,OACAstG,EAAQ5wG,IAKb,KADfA,EAAQ0/D,EAAIp8D,QAAQ,OACAstG,EAAQ5wG,EAJnB0/D,EASF,oBACT,GOiFAy+E,GAAcW,UAAY,CAExBv+I,SAAUyiD,GAAAA,OAEV9iD,UAAW8iD,GAAAA,OAEX04F,aAAc14F,GAAAA,KACdw4F,gBAAiBx4F,GAAAA,QAAkBA,GAAAA,QACnCy4F,mBAAoBz4F,GAAAA,QAAkBA,GAAAA,QACtC44F,iBAAkB54F,GAAAA,KAElBu7F,cAAev7F,GAAAA,QACbA,GAAAA,UAAoB,CAClBA,GAAAA,OACAA,GAAAA,KACAA,GAAAA,QAAkBA,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,WAG7Dy7F,cAAez7F,GAAAA,QACbA,GAAAA,UAAoB,CAClBA,GAAAA,OACAA,GAAAA,KACAA,GAAAA,QAAkBA,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,WAI7Do6F,UAAWp6F,GAAAA,KACXq6F,aAAcr6F,GAAAA,KACdu5F,SAAUv5F,GAAAA,KACVu6F,oBAAqBv6F,GAAAA,KACrB85F,iBAAkB95F,GAAAA,UAAoB,CAACA,GAAAA,KAAgBA,GAAAA,OACvD65F,WAAY75F,GAAAA,UAAoB,CAACA,GAAAA,KAAgBA,GAAAA,SACjD+5F,kBAAmB/5F,GAAAA,KACnB05F,WAAY15F,GAAAA,QE9Hd,IAAI+7F,GAAwB,CAAC,EAE7B,SAASC,GAAyBC,GAChC,GAA0B,IAAtBA,EAAW9/I,QAAsC,IAAtB8/I,EAAW9/I,OAAc,OAAO8/I,EAC/D,IAAIrhJ,EAAMqhJ,EAAW/8I,KAAK,KAM1B,OAJK68I,GAAsBnhJ,KACzBmhJ,GAAsBnhJ,GA3B1B,SAA8BL,GAC5B,IAAI2hJ,EAAY3hJ,EAAI4B,OACpB,OAAkB,IAAd+/I,GAAiC,IAAdA,EAAwB3hJ,EAE7B,IAAd2hJ,EAEK,CAAC3hJ,EAAI,GAAIA,EAAI,GAAI,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,KAGjF,IAAd2hJ,EACK,CAAC3hJ,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAI,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,KAGrmB2hJ,GAAa,EAGR,CAAC3hJ,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAIA,EAAI,GAAI,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,GAAI,KAAK6E,OAAO7E,EAAI,IAAK,GAAG6E,O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","sources":["../node_modules/extend/index.js","../node_modules/hast-util-parse-selector/index.js","../node_modules/hastscript/factory.js","../node_modules/hastscript/html.js","../node_modules/hastscript/index.js","../node_modules/hastscript/node_modules/comma-separated-tokens/index.js","../node_modules/hastscript/node_modules/property-information/find.js","../node_modules/hastscript/node_modules/property-information/html.js","../node_modules/hastscript/node_modules/property-information/lib/aria.js","../node_modules/hastscript/node_modules/property-information/lib/html.js","../node_modules/hastscript/node_modules/property-information/lib/util/case-insensitive-transform.js","../node_modules/hastscript/node_modules/property-information/lib/util/case-sensitive-transform.js","../node_modules/hastscript/node_modules/property-information/lib/util/create.js","../node_modules/hastscript/node_modules/property-information/lib/util/defined-info.js","../node_modules/hastscript/node_modules/property-information/lib/util/info.js","../node_modules/hastscript/node_modules/property-information/lib/util/merge.js","../node_modules/hastscript/node_modules/property-information/lib/util/schema.js","../node_modules/hastscript/node_modules/property-information/lib/util/types.js","../node_modules/hastscript/node_modules/property-information/lib/xlink.js","../node_modules/hastscript/node_modules/property-information/lib/xml.js","../node_modules/hastscript/node_modules/property-information/lib/xmlns.js","../node_modules/hastscript/node_modules/property-information/normalize.js","../node_modules/hastscript/node_modules/space-separated-tokens/index.js","../node_modules/inline-style-parser/index.js","../node_modules/is-alphabetical/index.js","../node_modules/is-alphanumerical/index.js","../node_modules/is-buffer/index.js","../node_modules/is-decimal/index.js","../node_modules/is-hexadecimal/index.js","../node_modules/mdurl/encode.js","../node_modules/parse-entities/decode-entity.browser.js","../node_modules/parse-entities/index.js","../node_modules/parse5/lib/common/doctype.js","../node_modules/parse5/lib/common/error-codes.js","../node_modules/parse5/lib/common/foreign-content.js","../node_modules/parse5/lib/common/html.js","../node_modules/parse5/lib/common/unicode.js","../node_modules/parse5/lib/extensions/error-reporting/mixin-base.js","../node_modules/parse5/lib/extensions/error-reporting/parser-mixin.js","../node_modules/parse5/lib/extensions/error-reporting/preprocessor-mixin.js","../node_modules/parse5/lib/extensions/error-reporting/tokenizer-mixin.js","../node_modules/parse5/lib/extensions/location-info/open-element-stack-mixin.js","../node_modules/parse5/lib/extensions/location-info/parser-mixin.js","../node_modules/parse5/lib/extensions/location-info/tokenizer-mixin.js","../node_modules/parse5/lib/extensions/position-tracking/preprocessor-mixin.js","../node_modules/parse5/lib/parser/formatting-element-list.js","../node_modules/parse5/lib/parser/index.js","../node_modules/parse5/lib/parser/open-element-stack.js","../node_modules/parse5/lib/tokenizer/index.js","../node_modules/parse5/lib/tokenizer/named-entity-data.js","../node_modules/parse5/lib/tokenizer/preprocessor.js","../node_modules/parse5/lib/tree-adapters/default.js","../node_modules/parse5/lib/utils/merge-options.js","../node_modules/parse5/lib/utils/mixin.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/refractor/core.js","../node_modules/refractor/index.js","../node_modules/refractor/lang/abap.js","../node_modules/refractor/lang/abnf.js","../node_modules/refractor/lang/actionscript.js","../node_modules/refractor/lang/ada.js","../node_modules/refractor/lang/agda.js","../node_modules/refractor/lang/al.js","../node_modules/refractor/lang/antlr4.js","../node_modules/refractor/lang/apacheconf.js","../node_modules/refractor/lang/apex.js","../node_modules/refractor/lang/apl.js","../node_modules/refractor/lang/applescript.js","../node_modules/refractor/lang/aql.js","../node_modules/refractor/lang/arduino.js","../node_modules/refractor/lang/arff.js","../node_modules/refractor/lang/asciidoc.js","../node_modules/refractor/lang/asm6502.js","../node_modules/refractor/lang/asmatmel.js","../node_modules/refractor/lang/aspnet.js","../node_modules/refractor/lang/autohotkey.js","../node_modules/refractor/lang/autoit.js","../node_modules/refractor/lang/avisynth.js","../node_modules/refractor/lang/avro-idl.js","../node_modules/refractor/lang/bash.js","../node_modules/refractor/lang/basic.js","../node_modules/refractor/lang/batch.js","../node_modules/refractor/lang/bbcode.js","../node_modules/refractor/lang/bicep.js","../node_modules/refractor/lang/birb.js","../node_modules/refractor/lang/bison.js","../node_modules/refractor/lang/bnf.js","../node_modules/refractor/lang/brainfuck.js","../node_modules/refractor/lang/brightscript.js","../node_modules/refractor/lang/bro.js","../node_modules/refractor/lang/bsl.js","../node_modules/refractor/lang/c.js","../node_modules/refractor/lang/cfscript.js","../node_modules/refractor/lang/chaiscript.js","../node_modules/refractor/lang/cil.js","../node_modules/refractor/lang/clike.js","../node_modules/refractor/lang/clojure.js","../node_modules/refractor/lang/cmake.js","../node_modules/refractor/lang/cobol.js","../node_modules/refractor/lang/coffeescript.js","../node_modules/refractor/lang/concurnas.js","../node_modules/refractor/lang/coq.js","../node_modules/refractor/lang/cpp.js","../node_modules/refractor/lang/crystal.js","../node_modules/refractor/lang/csharp.js","../node_modules/refractor/lang/cshtml.js","../node_modules/refractor/lang/csp.js","../node_modules/refractor/lang/css-extras.js","../node_modules/refractor/lang/css.js","../node_modules/refractor/lang/csv.js","../node_modules/refractor/lang/cypher.js","../node_modules/refractor/lang/d.js","../node_modules/refractor/lang/dart.js","../node_modules/refractor/lang/dataweave.js","../node_modules/refractor/lang/dax.js","../node_modules/refractor/lang/dhall.js","../node_modules/refractor/lang/diff.js","../node_modules/refractor/lang/django.js","../node_modules/refractor/lang/dns-zone-file.js","../node_modules/refractor/lang/docker.js","../node_modules/refractor/lang/dot.js","../node_modules/refractor/lang/ebnf.js","../node_modules/refractor/lang/editorconfig.js","../node_modules/refractor/lang/eiffel.js","../node_modules/refractor/lang/ejs.js","../node_modules/refractor/lang/elixir.js","../node_modules/refractor/lang/elm.js","../node_modules/refractor/lang/erb.js","../node_modules/refractor/lang/erlang.js","../node_modules/refractor/lang/etlua.js","../node_modules/refractor/lang/excel-formula.js","../node_modules/refractor/lang/factor.js","../node_modules/refractor/lang/false.js","../node_modules/refractor/lang/firestore-security-rules.js","../node_modules/refractor/lang/flow.js","../node_modules/refractor/lang/fortran.js","../node_modules/refractor/lang/fsharp.js","../node_modules/refractor/lang/ftl.js","../node_modules/refractor/lang/gap.js","../node_modules/refractor/lang/gcode.js","../node_modules/refractor/lang/gdscript.js","../node_modules/refractor/lang/gedcom.js","../node_modules/refractor/lang/gherkin.js","../node_modules/refractor/lang/git.js","../node_modules/refractor/lang/glsl.js","../node_modules/refractor/lang/gml.js","../node_modules/refractor/lang/gn.js","../node_modules/refractor/lang/go-module.js","../node_modules/refractor/lang/go.js","../node_modules/refractor/lang/graphql.js","../node_modules/refractor/lang/groovy.js","../node_modules/refractor/lang/haml.js","../node_modules/refractor/lang/handlebars.js","../node_modules/refractor/lang/haskell.js","../node_modules/refractor/lang/haxe.js","../node_modules/refractor/lang/hcl.js","../node_modules/refractor/lang/hlsl.js","../node_modules/refractor/lang/hoon.js","../node_modules/refractor/lang/hpkp.js","../node_modules/refractor/lang/hsts.js","../node_modules/refractor/lang/http.js","../node_modules/refractor/lang/ichigojam.js","../node_modules/refractor/lang/icon.js","../node_modules/refractor/lang/icu-message-format.js","../node_modules/refractor/lang/idris.js","../node_modules/refractor/lang/iecst.js","../node_modules/refractor/lang/ignore.js","../node_modules/refractor/lang/inform7.js","../node_modules/refractor/lang/ini.js","../node_modules/refractor/lang/io.js","../node_modules/refractor/lang/j.js","../node_modules/refractor/lang/java.js","../node_modules/refractor/lang/javadoc.js","../node_modules/refractor/lang/javadoclike.js","../node_modules/refractor/lang/javascript.js","../node_modules/refractor/lang/javastacktrace.js","../node_modules/refractor/lang/jexl.js","../node_modules/refractor/lang/jolie.js","../node_modules/refractor/lang/jq.js","../node_modules/refractor/lang/js-extras.js","../node_modules/refractor/lang/js-templates.js","../node_modules/refractor/lang/jsdoc.js","../node_modules/refractor/lang/json.js","../node_modules/refractor/lang/json5.js","../node_modules/refractor/lang/jsonp.js","../node_modules/refractor/lang/jsstacktrace.js","../node_modules/refractor/lang/jsx.js","../node_modules/refractor/lang/julia.js","../node_modules/refractor/lang/keepalived.js","../node_modules/refractor/lang/keyman.js","../node_modules/refractor/lang/kotlin.js","../node_modules/refractor/lang/kumir.js","../node_modules/refractor/lang/kusto.js","../node_modules/refractor/lang/latex.js","../node_modules/refractor/lang/latte.js","../node_modules/refractor/lang/less.js","../node_modules/refractor/lang/lilypond.js","../node_modules/refractor/lang/liquid.js","../node_modules/refractor/lang/lisp.js","../node_modules/refractor/lang/livescript.js","../node_modules/refractor/lang/llvm.js","../node_modules/refractor/lang/log.js","../node_modules/refractor/lang/lolcode.js","../node_modules/refractor/lang/lua.js","../node_modules/refractor/lang/magma.js","../node_modules/refractor/lang/makefile.js","../node_modules/refractor/lang/markdown.js","../node_modules/refractor/lang/markup-templating.js","../node_modules/refractor/lang/markup.js","../node_modules/refractor/lang/matlab.js","../node_modules/refractor/lang/maxscript.js","../node_modules/refractor/lang/mel.js","../node_modules/refractor/lang/mermaid.js","../node_modules/refractor/lang/mizar.js","../node_modules/refractor/lang/mongodb.js","../node_modules/refractor/lang/monkey.js","../node_modules/refractor/lang/moonscript.js","../node_modules/refractor/lang/n1ql.js","../node_modules/refractor/lang/n4js.js","../node_modules/refractor/lang/nand2tetris-hdl.js","../node_modules/refractor/lang/naniscript.js","../node_modules/refractor/lang/nasm.js","../node_modules/refractor/lang/neon.js","../node_modules/refractor/lang/nevod.js","../node_modules/refractor/lang/nginx.js","../node_modules/refractor/lang/nim.js","../node_modules/refractor/lang/nix.js","../node_modules/refractor/lang/nsis.js","../node_modules/refractor/lang/objectivec.js","../node_modules/refractor/lang/ocaml.js","../node_modules/refractor/lang/opencl.js","../node_modules/refractor/lang/openqasm.js","../node_modules/refractor/lang/oz.js","../node_modules/refractor/lang/parigp.js","../node_modules/refractor/lang/parser.js","../node_modules/refractor/lang/pascal.js","../node_modules/refractor/lang/pascaligo.js","../node_modules/refractor/lang/pcaxis.js","../node_modules/refractor/lang/peoplecode.js","../node_modules/refractor/lang/perl.js","../node_modules/refractor/lang/php-extras.js","../node_modules/refractor/lang/php.js","../node_modules/refractor/lang/phpdoc.js","../node_modules/refractor/lang/plsql.js","../node_modules/refractor/lang/powerquery.js","../node_modules/refractor/lang/powershell.js","../node_modules/refractor/lang/processing.js","../node_modules/refractor/lang/prolog.js","../node_modules/refractor/lang/promql.js","../node_modules/refractor/lang/properties.js","../node_modules/refractor/lang/protobuf.js","../node_modules/refractor/lang/psl.js","../node_modules/refractor/lang/pug.js","../node_modules/refractor/lang/puppet.js","../node_modules/refractor/lang/pure.js","../node_modules/refractor/lang/purebasic.js","../node_modules/refractor/lang/purescript.js","../node_modules/refractor/lang/python.js","../node_modules/refractor/lang/q.js","../node_modules/refractor/lang/qml.js","../node_modules/refractor/lang/qore.js","../node_modules/refractor/lang/qsharp.js","../node_modules/refractor/lang/r.js","../node_modules/refractor/lang/racket.js","../node_modules/refractor/lang/reason.js","../node_modules/refractor/lang/regex.js","../node_modules/refractor/lang/rego.js","../node_modules/refractor/lang/renpy.js","../node_modules/refractor/lang/rest.js","../node_modules/refractor/lang/rip.js","../node_modules/refractor/lang/roboconf.js","../node_modules/refractor/lang/robotframework.js","../node_modules/refractor/lang/ruby.js","../node_modules/refractor/lang/rust.js","../node_modules/refractor/lang/sas.js","../node_modules/refractor/lang/sass.js","../node_modules/refractor/lang/scala.js","../node_modules/refractor/lang/scheme.js","../node_modules/refractor/lang/scss.js","../node_modules/refractor/lang/shell-session.js","../node_modules/refractor/lang/smali.js","../node_modules/refractor/lang/smalltalk.js","../node_modules/refractor/lang/smarty.js","../node_modules/refractor/lang/sml.js","../node_modules/refractor/lang/solidity.js","../node_modules/refractor/lang/solution-file.js","../node_modules/refractor/lang/soy.js","../node_modules/refractor/lang/sparql.js","../node_modules/refractor/lang/splunk-spl.js","../node_modules/refractor/lang/sqf.js","../node_modules/refractor/lang/sql.js","../node_modules/refractor/lang/squirrel.js","../node_modules/refractor/lang/stan.js","../node_modules/refractor/lang/stylus.js","../node_modules/refractor/lang/swift.js","../node_modules/refractor/lang/systemd.js","../node_modules/refractor/lang/t4-cs.js","../node_modules/refractor/lang/t4-templating.js","../node_modules/refractor/lang/t4-vb.js","../node_modules/refractor/lang/tap.js","../node_modules/refractor/lang/tcl.js","../node_modules/refractor/lang/textile.js","../node_modules/refractor/lang/toml.js","../node_modules/refractor/lang/tremor.js","../node_modules/refractor/lang/tsx.js","../node_modules/refractor/lang/tt2.js","../node_modules/refractor/lang/turtle.js","../node_modules/refractor/lang/twig.js","../node_modules/refractor/lang/typescript.js","../node_modules/refractor/lang/typoscript.js","../node_modules/refractor/lang/unrealscript.js","../node_modules/refractor/lang/uorazor.js","../node_modules/refractor/lang/uri.js","../node_modules/refractor/lang/v.js","../node_modules/refractor/lang/vala.js","../node_modules/refractor/lang/vbnet.js","../node_modules/refractor/lang/velocity.js","../node_modules/refractor/lang/verilog.js","../node_modules/refractor/lang/vhdl.js","../node_modules/refractor/lang/vim.js","../node_modules/refractor/lang/visual-basic.js","../node_modules/refractor/lang/warpscript.js","../node_modules/refractor/lang/wasm.js","../node_modules/refractor/lang/web-idl.js","../node_modules/refractor/lang/wiki.js","../node_modules/refractor/lang/wolfram.js","../node_modules/refractor/lang/wren.js","../node_modules/refractor/lang/xeora.js","../node_modules/refractor/lang/xml-doc.js","../node_modules/refractor/lang/xojo.js","../node_modules/refractor/lang/xquery.js","../node_modules/refractor/lang/yaml.js","../node_modules/refractor/lang/yang.js","../node_modules/refractor/lang/zig.js","../node_modules/refractor/node_modules/prismjs/components/prism-core.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/style-to-object/index.js","../node_modules/xtend/immutable.js","../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/classCallCheck.js","../node_modules/@babel/runtime/helpers/createClass.js","../node_modules/@babel/runtime/helpers/createSuper.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../node_modules/@babel/runtime/helpers/get.js","../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/inherits.js","../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/superPropBase.js","../node_modules/@babel/runtime/helpers/typeof.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/make namespace object","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","data.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../node_modules/unist-util-stringify-position/index.js","../node_modules/vfile-message/index.js","../node_modules/vfile/lib/minpath.browser.js","../node_modules/vfile/lib/minproc.browser.js","../node_modules/vfile/lib/minurl.shared.js","../node_modules/vfile/lib/minurl.browser.js","../node_modules/vfile/lib/index.js","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/bail/index.js","../node_modules/unified/node_modules/is-plain-obj/index.js","../node_modules/trough/index.js","../node_modules/unified/lib/index.js","../node_modules/mdast-util-to-string/index.js","../node_modules/micromark-util-chunked/index.js","../node_modules/micromark-util-combine-extensions/index.js","../node_modules/micromark-util-character/lib/unicode-punctuation-regex.js","../node_modules/micromark-util-character/index.js","../node_modules/micromark-factory-space/index.js","../node_modules/micromark/lib/initialize/content.js","../node_modules/micromark/lib/initialize/document.js","../node_modules/micromark-core-commonmark/lib/blank-line.js","../node_modules/micromark-util-subtokenize/index.js","../node_modules/micromark-core-commonmark/lib/content.js","../node_modules/micromark/lib/initialize/flow.js","../node_modules/micromark/lib/initialize/text.js","../node_modules/micromark-util-resolve-all/index.js","../node_modules/micromark/lib/create-tokenizer.js","../node_modules/micromark-core-commonmark/lib/thematic-break.js","../node_modules/micromark-core-commonmark/lib/list.js","../node_modules/micromark-core-commonmark/lib/block-quote.js","../node_modules/micromark-factory-destination/index.js","../node_modules/micromark-factory-label/index.js","../node_modules/micromark-factory-title/index.js","../node_modules/micromark-factory-whitespace/index.js","../node_modules/micromark-util-normalize-identifier/index.js","../node_modules/micromark-core-commonmark/lib/definition.js","../node_modules/micromark-core-commonmark/lib/code-indented.js","../node_modules/micromark-core-commonmark/lib/heading-atx.js","../node_modules/micromark-core-commonmark/lib/setext-underline.js","../node_modules/micromark-util-html-tag-name/index.js","../node_modules/micromark-core-commonmark/lib/html-flow.js","../node_modules/micromark-core-commonmark/lib/code-fenced.js","../node_modules/decode-named-character-reference/index.dom.js","../node_modules/micromark-core-commonmark/lib/character-reference.js","../node_modules/micromark-core-commonmark/lib/character-escape.js","../node_modules/micromark-core-commonmark/lib/line-ending.js","../node_modules/micromark-core-commonmark/lib/label-end.js","../node_modules/micromark-core-commonmark/lib/label-start-image.js","../node_modules/micromark-util-classify-character/index.js","../node_modules/micromark-core-commonmark/lib/attention.js","../node_modules/micromark-core-commonmark/lib/autolink.js","../node_modules/micromark-core-commonmark/lib/html-text.js","../node_modules/micromark-core-commonmark/lib/label-start-link.js","../node_modules/micromark-core-commonmark/lib/hard-break-escape.js","../node_modules/micromark-core-commonmark/lib/code-text.js","../node_modules/micromark/lib/constructs.js","../node_modules/micromark/lib/preprocess.js","../node_modules/micromark-util-decode-numeric-character-reference/index.js","../node_modules/micromark-util-decode-string/index.js","../node_modules/mdast-util-from-markdown/lib/index.js","../node_modules/micromark/lib/postprocess.js","../node_modules/micromark/lib/parse.js","../node_modules/remark-parse/index.js","../node_modules/remark-parse/lib/index.js","../node_modules/unist-builder/index.js","../node_modules/unist-util-is/index.js","../node_modules/unist-util-visit-parents/index.js","../node_modules/unist-util-visit/index.js","../node_modules/unist-util-position/index.js","../node_modules/mdast-util-definitions/index.js","../node_modules/mdast-util-to-hast/lib/traverse.js","../node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js","../node_modules/mdast-util-to-hast/lib/wrap.js","../node_modules/mdast-util-to-hast/lib/handlers/list.js","../node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js","../node_modules/mdast-util-to-hast/lib/revert.js","../node_modules/mdast-util-to-hast/lib/handlers/list-item.js","../node_modules/mdast-util-to-hast/lib/handlers/index.js","../node_modules/mdast-util-to-hast/lib/handlers/blockquote.js","../node_modules/mdast-util-to-hast/lib/handlers/break.js","../node_modules/mdast-util-to-hast/lib/handlers/code.js","../node_modules/mdast-util-to-hast/lib/handlers/delete.js","../node_modules/mdast-util-to-hast/lib/handlers/emphasis.js","../node_modules/mdast-util-to-hast/lib/handlers/footnote.js","../node_modules/mdast-util-to-hast/lib/handlers/heading.js","../node_modules/mdast-util-to-hast/lib/handlers/html.js","../node_modules/mdast-util-to-hast/lib/handlers/image-reference.js","../node_modules/mdast-util-to-hast/lib/handlers/image.js","../node_modules/mdast-util-to-hast/lib/handlers/inline-code.js","../node_modules/mdast-util-to-hast/lib/handlers/link-reference.js","../node_modules/mdast-util-to-hast/lib/handlers/link.js","../node_modules/mdast-util-to-hast/lib/handlers/paragraph.js","../node_modules/mdast-util-to-hast/lib/handlers/root.js","../node_modules/mdast-util-to-hast/lib/handlers/strong.js","../node_modules/mdast-util-to-hast/lib/handlers/table.js","../node_modules/mdast-util-to-hast/lib/handlers/text.js","../node_modules/mdast-util-to-hast/lib/index.js","../node_modules/unist-util-generated/index.js","../node_modules/mdast-util-to-hast/lib/footer.js","../node_modules/remark-rehype/index.js","../node_modules/property-information/lib/util/schema.js","../node_modules/property-information/lib/util/merge.js","../node_modules/property-information/lib/normalize.js","../node_modules/property-information/lib/util/info.js","../node_modules/property-information/lib/util/types.js","../node_modules/property-information/lib/util/defined-info.js","../node_modules/property-information/lib/util/create.js","../node_modules/property-information/lib/xlink.js","../node_modules/property-information/lib/xml.js","../node_modules/property-information/lib/util/case-sensitive-transform.js","../node_modules/property-information/lib/util/case-insensitive-transform.js","../node_modules/property-information/lib/xmlns.js","../node_modules/property-information/lib/aria.js","../node_modules/property-information/lib/html.js","../node_modules/property-information/lib/svg.js","../node_modules/property-information/index.js","../node_modules/react-markdown/lib/rehype-filter.js","../node_modules/react-markdown/lib/uri-transformer.js","../node_modules/hast-util-whitespace/index.js","../node_modules/property-information/lib/find.js","../node_modules/property-information/lib/hast-to-react.js","../node_modules/space-separated-tokens/index.js","../node_modules/comma-separated-tokens/index.js","../node_modules/react-markdown/lib/ast-to-react.js","../node_modules/react-markdown/lib/react-markdown.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/react-syntax-highlighter/dist/esm/create-element.js","../node_modules/react-syntax-highlighter/dist/esm/checkForListedLanguage.js","../node_modules/react-syntax-highlighter/dist/esm/highlight.js","../node_modules/react-syntax-highlighter/dist/esm/styles/prism/prism.js","../node_modules/react-syntax-highlighter/dist/esm/prism.js","../node_modules/react-syntax-highlighter/dist/esm/languages/prism/supported-languages.js","../node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js","../node_modules/react-syntax-highlighter/dist/esm/styles/prism/coldark-dark.js","../node_modules/micromark-extension-gfm-footnote/lib/syntax.js","../node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js","../node_modules/micromark-extension-gfm-table/lib/syntax.js","../node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js","../node_modules/micromark-extension-gfm/index.js","../node_modules/ccount/index.js","../node_modules/mdast-util-find-and-replace/lib/index.js","../node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp/index.js","../node_modules/mdast-util-gfm-autolink-literal/index.js","../node_modules/mdast-util-to-markdown/lib/util/association.js","../node_modules/mdast-util-to-markdown/lib/util/track.js","../node_modules/mdast-util-to-markdown/lib/util/container-flow.js","../node_modules/mdast-util-to-markdown/lib/util/indent-lines.js","../node_modules/mdast-util-to-markdown/lib/util/pattern-compile.js","../node_modules/mdast-util-to-markdown/lib/util/pattern-in-scope.js","../node_modules/mdast-util-to-markdown/lib/util/safe.js","../node_modules/mdast-util-gfm-footnote/index.js","../node_modules/mdast-util-to-markdown/lib/util/container-phrasing.js","../node_modules/mdast-util-gfm-strikethrough/index.js","../node_modules/mdast-util-to-markdown/lib/handle/inline-code.js","../node_modules/markdown-table/index.js","../node_modules/mdast-util-gfm-table/lib/index.js","../node_modules/mdast-util-to-markdown/lib/handle/list-item.js","../node_modules/mdast-util-to-markdown/lib/util/check-list-item-indent.js","../node_modules/mdast-util-to-markdown/lib/util/check-bullet.js","../node_modules/mdast-util-gfm-task-list-item/index.js","../node_modules/mdast-util-gfm/lib/index.js","../node_modules/remark-gfm/index.js","../node_modules/hast-util-from-parse5/node_modules/hast-util-parse-selector/index.js","../node_modules/hast-util-from-parse5/node_modules/hastscript/lib/core.js","../node_modules/hast-util-from-parse5/node_modules/hastscript/lib/svg-case-sensitive-tag-names.js","../node_modules/hast-util-from-parse5/node_modules/hastscript/lib/svg.js","../node_modules/hast-util-from-parse5/node_modules/hastscript/lib/html.js","../node_modules/web-namespaces/index.js","../node_modules/hast-util-from-parse5/lib/index.js","../node_modules/vfile-location/index.js","../node_modules/hast-to-hyperscript/index.js","../node_modules/zwitch/index.js","../node_modules/hast-util-to-parse5/lib/index.js","../node_modules/html-void-elements/index.js","../node_modules/hast-util-raw/lib/index.js","../node_modules/rehype-raw/index.js","components/right_arrow.js","components/down_arrow.js","App.js","index.js"],"sourcesContent":["'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n","'use strict'\n\nmodule.exports = parse\n\nvar search = /[#.]/g\n\n// Create a hast element from a simple CSS selector.\nfunction parse(selector, defaultTagName) {\n var value = selector || ''\n var name = defaultTagName || 'div'\n var props = {}\n var start = 0\n var subvalue\n var previous\n var match\n\n while (start < value.length) {\n search.lastIndex = start\n match = search.exec(value)\n subvalue = value.slice(start, match ? match.index : value.length)\n\n if (subvalue) {\n if (!previous) {\n name = subvalue\n } else if (previous === '#') {\n props.id = subvalue\n } else if (props.className) {\n props.className.push(subvalue)\n } else {\n props.className = [subvalue]\n }\n\n start += subvalue.length\n }\n\n if (match) {\n previous = match[0]\n start++\n }\n }\n\n return {type: 'element', tagName: name, properties: props, children: []}\n}\n","'use strict'\n\nvar find = require('property-information/find')\nvar normalize = require('property-information/normalize')\nvar parseSelector = require('hast-util-parse-selector')\nvar spaces = require('space-separated-tokens').parse\nvar commas = require('comma-separated-tokens').parse\n\nmodule.exports = factory\n\nvar own = {}.hasOwnProperty\n\nfunction factory(schema, defaultTagName, caseSensitive) {\n var adjust = caseSensitive ? createAdjustMap(caseSensitive) : null\n\n return h\n\n // Hyperscript compatible DSL for creating virtual hast trees.\n function h(selector, properties) {\n var node = parseSelector(selector, defaultTagName)\n var children = Array.prototype.slice.call(arguments, 2)\n var name = node.tagName.toLowerCase()\n var property\n\n node.tagName = adjust && own.call(adjust, name) ? adjust[name] : name\n\n if (properties && isChildren(properties, node)) {\n children.unshift(properties)\n properties = null\n }\n\n if (properties) {\n for (property in properties) {\n addProperty(node.properties, property, properties[property])\n }\n }\n\n addChild(node.children, children)\n\n if (node.tagName === 'template') {\n node.content = {type: 'root', children: node.children}\n node.children = []\n }\n\n return node\n }\n\n function addProperty(properties, key, value) {\n var info\n var property\n var result\n\n // Ignore nullish and NaN values.\n if (value === null || value === undefined || value !== value) {\n return\n }\n\n info = find(schema, key)\n property = info.property\n result = value\n\n // Handle list values.\n if (typeof result === 'string') {\n if (info.spaceSeparated) {\n result = spaces(result)\n } else if (info.commaSeparated) {\n result = commas(result)\n } else if (info.commaOrSpaceSeparated) {\n result = spaces(commas(result).join(' '))\n }\n }\n\n // Accept `object` on style.\n if (property === 'style' && typeof value !== 'string') {\n result = style(result)\n }\n\n // Class-names (which can be added both on the `selector` and here).\n if (property === 'className' && properties.className) {\n result = properties.className.concat(result)\n }\n\n properties[property] = parsePrimitives(info, property, result)\n }\n}\n\nfunction isChildren(value, node) {\n return (\n typeof value === 'string' ||\n 'length' in value ||\n isNode(node.tagName, value)\n )\n}\n\nfunction isNode(tagName, value) {\n var type = value.type\n\n if (tagName === 'input' || !type || typeof type !== 'string') {\n return false\n }\n\n if (typeof value.children === 'object' && 'length' in value.children) {\n return true\n }\n\n type = type.toLowerCase()\n\n if (tagName === 'button') {\n return (\n type !== 'menu' &&\n type !== 'submit' &&\n type !== 'reset' &&\n type !== 'button'\n )\n }\n\n return 'value' in value\n}\n\nfunction addChild(nodes, value) {\n var index\n var length\n\n if (typeof value === 'string' || typeof value === 'number') {\n nodes.push({type: 'text', value: String(value)})\n return\n }\n\n if (typeof value === 'object' && 'length' in value) {\n index = -1\n length = value.length\n\n while (++index < length) {\n addChild(nodes, value[index])\n }\n\n return\n }\n\n if (typeof value !== 'object' || !('type' in value)) {\n throw new Error('Expected node, nodes, or string, got `' + value + '`')\n }\n\n nodes.push(value)\n}\n\n// Parse a (list of) primitives.\nfunction parsePrimitives(info, name, value) {\n var index\n var length\n var result\n\n if (typeof value !== 'object' || !('length' in value)) {\n return parsePrimitive(info, name, value)\n }\n\n length = value.length\n index = -1\n result = []\n\n while (++index < length) {\n result[index] = parsePrimitive(info, name, value[index])\n }\n\n return result\n}\n\n// Parse a single primitives.\nfunction parsePrimitive(info, name, value) {\n var result = value\n\n if (info.number || info.positiveNumber) {\n if (!isNaN(result) && result !== '') {\n result = Number(result)\n }\n } else if (info.boolean || info.overloadedBoolean) {\n // Accept `boolean` and `string`.\n if (\n typeof result === 'string' &&\n (result === '' || normalize(value) === normalize(name))\n ) {\n result = true\n }\n }\n\n return result\n}\n\nfunction style(value) {\n var result = []\n var key\n\n for (key in value) {\n result.push([key, value[key]].join(': '))\n }\n\n return result.join('; ')\n}\n\nfunction createAdjustMap(values) {\n var length = values.length\n var index = -1\n var result = {}\n var value\n\n while (++index < length) {\n value = values[index]\n result[value.toLowerCase()] = value\n }\n\n return result\n}\n","'use strict'\n\nvar schema = require('property-information/html')\nvar factory = require('./factory')\n\nvar html = factory(schema, 'div')\nhtml.displayName = 'html'\n\nmodule.exports = html\n","'use strict'\n\nmodule.exports = require('./html')\n","'use strict'\n\nexports.parse = parse\nexports.stringify = stringify\n\nvar comma = ','\nvar space = ' '\nvar empty = ''\n\n// Parse comma-separated tokens to an array.\nfunction parse(value) {\n var values = []\n var input = String(value || empty)\n var index = input.indexOf(comma)\n var lastIndex = 0\n var end = false\n var val\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n val = input.slice(lastIndex, index).trim()\n\n if (val || !end) {\n values.push(val)\n }\n\n lastIndex = index + 1\n index = input.indexOf(comma, lastIndex)\n }\n\n return values\n}\n\n// Compile an array to comma-separated tokens.\n// `options.padLeft` (default: `true`) pads a space left of each token, and\n// `options.padRight` (default: `false`) pads a space to the right of each token.\nfunction stringify(values, options) {\n var settings = options || {}\n var left = settings.padLeft === false ? empty : space\n var right = settings.padRight ? space : empty\n\n // Ensure the last empty entry is seen.\n if (values[values.length - 1] === empty) {\n values = values.concat(empty)\n }\n\n return values.join(right + comma + left).trim()\n}\n","'use strict'\n\nvar normalize = require('./normalize')\nvar DefinedInfo = require('./lib/util/defined-info')\nvar Info = require('./lib/util/info')\n\nvar data = 'data'\n\nmodule.exports = find\n\nvar valid = /^data[-\\w.:]+$/i\nvar dash = /-[a-z]/g\nvar cap = /[A-Z]/g\n\nfunction find(schema, value) {\n var normal = normalize(value)\n var prop = value\n var Type = Info\n\n if (normal in schema.normal) {\n return schema.property[schema.normal[normal]]\n }\n\n if (normal.length > 4 && normal.slice(0, 4) === data && valid.test(value)) {\n // Attribute or property.\n if (value.charAt(4) === '-') {\n prop = datasetToProperty(value)\n } else {\n value = datasetToAttribute(value)\n }\n\n Type = DefinedInfo\n }\n\n return new Type(prop, value)\n}\n\nfunction datasetToProperty(attribute) {\n var value = attribute.slice(5).replace(dash, camelcase)\n return data + value.charAt(0).toUpperCase() + value.slice(1)\n}\n\nfunction datasetToAttribute(property) {\n var value = property.slice(4)\n\n if (dash.test(value)) {\n return property\n }\n\n value = value.replace(cap, kebab)\n\n if (value.charAt(0) !== '-') {\n value = '-' + value\n }\n\n return data + value\n}\n\nfunction kebab($0) {\n return '-' + $0.toLowerCase()\n}\n\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase()\n}\n","'use strict'\n\nvar merge = require('./lib/util/merge')\nvar xlink = require('./lib/xlink')\nvar xml = require('./lib/xml')\nvar xmlns = require('./lib/xmlns')\nvar aria = require('./lib/aria')\nvar html = require('./lib/html')\n\nmodule.exports = merge([xml, xlink, xmlns, aria, html])\n","'use strict'\n\nvar types = require('./util/types')\nvar create = require('./util/create')\n\nvar booleanish = types.booleanish\nvar number = types.number\nvar spaceSeparated = types.spaceSeparated\n\nmodule.exports = create({\n transform: ariaTransform,\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n }\n})\n\nfunction ariaTransform(_, prop) {\n return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()\n}\n","'use strict'\n\nvar types = require('./util/types')\nvar create = require('./util/create')\nvar caseInsensitiveTransform = require('./util/case-insensitive-transform')\n\nvar boolean = types.boolean\nvar overloadedBoolean = types.overloadedBoolean\nvar booleanish = types.booleanish\nvar number = types.number\nvar spaceSeparated = types.spaceSeparated\nvar commaSeparated = types.commaSeparated\n\nmodule.exports = create({\n space: 'html',\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n transform: caseInsensitiveTransform,\n mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n properties: {\n // Standard Properties.\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n capture: boolean,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n cols: number,\n colSpan: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: boolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: commaSeparated,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforePrint: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextMenu: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: commaSeparated,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n\n // Legacy.\n // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n align: null, // Several. Use CSS `text-align` instead,\n aLink: null, // `<body>`. Use CSS `a:active {color}` instead\n archive: spaceSeparated, // `<object>`. List of URIs to archives\n axis: null, // `<td>` and `<th>`. Use `scope` on `<th>`\n background: null, // `<body>`. Use CSS `background-image` instead\n bgColor: null, // `<body>` and table elements. Use CSS `background-color` instead\n border: number, // `<table>`. Use CSS `border-width` instead,\n borderColor: null, // `<table>`. Use CSS `border-color` instead,\n bottomMargin: number, // `<body>`\n cellPadding: null, // `<table>`\n cellSpacing: null, // `<table>`\n char: null, // Several table elements. When `align=char`, sets the character to align on\n charOff: null, // Several table elements. When `char`, offsets the alignment\n classId: null, // `<object>`\n clear: null, // `<br>`. Use CSS `clear` instead\n code: null, // `<object>`\n codeBase: null, // `<object>`\n codeType: null, // `<object>`\n color: null, // `<font>` and `<hr>`. Use CSS instead\n compact: boolean, // Lists. Use CSS to reduce space between items instead\n declare: boolean, // `<object>`\n event: null, // `<script>`\n face: null, // `<font>`. Use CSS instead\n frame: null, // `<table>`\n frameBorder: null, // `<iframe>`. Use CSS `border` instead\n hSpace: number, // `<img>` and `<object>`\n leftMargin: number, // `<body>`\n link: null, // `<body>`. Use CSS `a:link {color: *}` instead\n longDesc: null, // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`\n lowSrc: null, // `<img>`. Use a `<picture>`\n marginHeight: number, // `<body>`\n marginWidth: number, // `<body>`\n noResize: boolean, // `<frame>`\n noHref: boolean, // `<area>`. Use no href instead of an explicit `nohref`\n noShade: boolean, // `<hr>`. Use background-color and height instead of borders\n noWrap: boolean, // `<td>` and `<th>`\n object: null, // `<applet>`\n profile: null, // `<head>`\n prompt: null, // `<isindex>`\n rev: null, // `<link>`\n rightMargin: number, // `<body>`\n rules: null, // `<table>`\n scheme: null, // `<meta>`\n scrolling: booleanish, // `<frame>`. Use overflow in the child context\n standby: null, // `<object>`\n summary: null, // `<table>`\n text: null, // `<body>`. Use CSS `color` instead\n topMargin: number, // `<body>`\n valueType: null, // `<param>`\n version: null, // `<html>`. Use a doctype.\n vAlign: null, // Several. Use CSS `vertical-align` instead\n vLink: null, // `<body>`. Use CSS `a:visited {color}` instead\n vSpace: number, // `<img>` and `<object>`\n\n // Non-standard Properties.\n allowTransparency: null,\n autoCorrect: null,\n autoSave: null,\n disablePictureInPicture: boolean,\n disableRemotePlayback: boolean,\n prefix: null,\n property: null,\n results: number,\n security: null,\n unselectable: null\n }\n})\n","'use strict'\n\nvar caseSensitiveTransform = require('./case-sensitive-transform')\n\nmodule.exports = caseInsensitiveTransform\n\nfunction caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","'use strict'\n\nmodule.exports = caseSensitiveTransform\n\nfunction caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute\n}\n","'use strict'\n\nvar normalize = require('../../normalize')\nvar Schema = require('./schema')\nvar DefinedInfo = require('./defined-info')\n\nmodule.exports = create\n\nfunction create(definition) {\n var space = definition.space\n var mustUseProperty = definition.mustUseProperty || []\n var attributes = definition.attributes || {}\n var props = definition.properties\n var transform = definition.transform\n var property = {}\n var normal = {}\n var prop\n var info\n\n for (prop in props) {\n info = new DefinedInfo(\n prop,\n transform(attributes, prop),\n props[prop],\n space\n )\n\n if (mustUseProperty.indexOf(prop) !== -1) {\n info.mustUseProperty = true\n }\n\n property[prop] = info\n\n normal[normalize(prop)] = prop\n normal[normalize(info.attribute)] = prop\n }\n\n return new Schema(property, normal, space)\n}\n","'use strict'\n\nvar Info = require('./info')\nvar types = require('./types')\n\nmodule.exports = DefinedInfo\n\nDefinedInfo.prototype = new Info()\nDefinedInfo.prototype.defined = true\n\nvar checks = [\n 'boolean',\n 'booleanish',\n 'overloadedBoolean',\n 'number',\n 'commaSeparated',\n 'spaceSeparated',\n 'commaOrSpaceSeparated'\n]\nvar checksLength = checks.length\n\nfunction DefinedInfo(property, attribute, mask, space) {\n var index = -1\n var check\n\n mark(this, 'space', space)\n\n Info.call(this, property, attribute)\n\n while (++index < checksLength) {\n check = checks[index]\n mark(this, check, (mask & types[check]) === types[check])\n }\n}\n\nfunction mark(values, key, value) {\n if (value) {\n values[key] = value\n }\n}\n","'use strict'\n\nmodule.exports = Info\n\nvar proto = Info.prototype\n\nproto.space = null\nproto.attribute = null\nproto.property = null\nproto.boolean = false\nproto.booleanish = false\nproto.overloadedBoolean = false\nproto.number = false\nproto.commaSeparated = false\nproto.spaceSeparated = false\nproto.commaOrSpaceSeparated = false\nproto.mustUseProperty = false\nproto.defined = false\n\nfunction Info(property, attribute) {\n this.property = property\n this.attribute = attribute\n}\n","'use strict'\n\nvar xtend = require('xtend')\nvar Schema = require('./schema')\n\nmodule.exports = merge\n\nfunction merge(definitions) {\n var length = definitions.length\n var property = []\n var normal = []\n var index = -1\n var info\n var space\n\n while (++index < length) {\n info = definitions[index]\n property.push(info.property)\n normal.push(info.normal)\n space = info.space\n }\n\n return new Schema(\n xtend.apply(null, property),\n xtend.apply(null, normal),\n space\n )\n}\n","'use strict'\n\nmodule.exports = Schema\n\nvar proto = Schema.prototype\n\nproto.space = null\nproto.normal = {}\nproto.property = {}\n\nfunction Schema(property, normal, space) {\n this.property = property\n this.normal = normal\n\n if (space) {\n this.space = space\n }\n}\n","'use strict'\n\nvar powers = 0\n\nexports.boolean = increment()\nexports.booleanish = increment()\nexports.overloadedBoolean = increment()\nexports.number = increment()\nexports.spaceSeparated = increment()\nexports.commaSeparated = increment()\nexports.commaOrSpaceSeparated = increment()\n\nfunction increment() {\n return Math.pow(2, ++powers)\n}\n","'use strict'\n\nvar create = require('./util/create')\n\nmodule.exports = create({\n space: 'xlink',\n transform: xlinkTransform,\n properties: {\n xLinkActuate: null,\n xLinkArcRole: null,\n xLinkHref: null,\n xLinkRole: null,\n xLinkShow: null,\n xLinkTitle: null,\n xLinkType: null\n }\n})\n\nfunction xlinkTransform(_, prop) {\n return 'xlink:' + prop.slice(5).toLowerCase()\n}\n","'use strict'\n\nvar create = require('./util/create')\n\nmodule.exports = create({\n space: 'xml',\n transform: xmlTransform,\n properties: {\n xmlLang: null,\n xmlBase: null,\n xmlSpace: null\n }\n})\n\nfunction xmlTransform(_, prop) {\n return 'xml:' + prop.slice(3).toLowerCase()\n}\n","'use strict'\n\nvar create = require('./util/create')\nvar caseInsensitiveTransform = require('./util/case-insensitive-transform')\n\nmodule.exports = create({\n space: 'xmlns',\n attributes: {\n xmlnsxlink: 'xmlns:xlink'\n },\n transform: caseInsensitiveTransform,\n properties: {\n xmlns: null,\n xmlnsXLink: null\n }\n})\n","'use strict'\n\nmodule.exports = normalize\n\nfunction normalize(value) {\n return value.toLowerCase()\n}\n","'use strict'\n\nexports.parse = parse\nexports.stringify = stringify\n\nvar empty = ''\nvar space = ' '\nvar whiteSpace = /[ \\t\\n\\r\\f]+/g\n\nfunction parse(value) {\n var input = String(value || empty).trim()\n return input === empty ? [] : input.split(whiteSpace)\n}\n\nfunction stringify(values) {\n return values.join(space).trim()\n}\n","// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nmodule.exports = function(style, options) {\n if (typeof style !== 'string') {\n throw new TypeError('First argument must be a string');\n }\n\n if (!style) return [];\n\n options = options || {};\n\n /**\n * Positional.\n */\n var lineno = 1;\n var column = 1;\n\n /**\n * Update lineno and column based on `str`.\n *\n * @param {String} str\n */\n function updatePosition(str) {\n var lines = str.match(NEWLINE_REGEX);\n if (lines) lineno += lines.length;\n var i = str.lastIndexOf(NEWLINE);\n column = ~i ? str.length - i : column + str.length;\n }\n\n /**\n * Mark position and patch `node.position`.\n *\n * @return {Function}\n */\n function position() {\n var start = { line: lineno, column: column };\n return function(node) {\n node.position = new Position(start);\n whitespace();\n return node;\n };\n }\n\n /**\n * Store position information for a node.\n *\n * @constructor\n * @property {Object} start\n * @property {Object} end\n * @property {undefined|String} source\n */\n function Position(start) {\n this.start = start;\n this.end = { line: lineno, column: column };\n this.source = options.source;\n }\n\n /**\n * Non-enumerable source string.\n */\n Position.prototype.content = style;\n\n var errorsList = [];\n\n /**\n * Error `msg`.\n *\n * @param {String} msg\n * @throws {Error}\n */\n function error(msg) {\n var err = new Error(\n options.source + ':' + lineno + ':' + column + ': ' + msg\n );\n err.reason = msg;\n err.filename = options.source;\n err.line = lineno;\n err.column = column;\n err.source = style;\n\n if (options.silent) {\n errorsList.push(err);\n } else {\n throw err;\n }\n }\n\n /**\n * Match `re` and return captures.\n *\n * @param {RegExp} re\n * @return {undefined|Array}\n */\n function match(re) {\n var m = re.exec(style);\n if (!m) return;\n var str = m[0];\n updatePosition(str);\n style = style.slice(str.length);\n return m;\n }\n\n /**\n * Parse whitespace.\n */\n function whitespace() {\n match(WHITESPACE_REGEX);\n }\n\n /**\n * Parse comments.\n *\n * @param {Object[]} [rules]\n * @return {Object[]}\n */\n function comments(rules) {\n var c;\n rules = rules || [];\n while ((c = comment())) {\n if (c !== false) {\n rules.push(c);\n }\n }\n return rules;\n }\n\n /**\n * Parse comment.\n *\n * @return {Object}\n * @throws {Error}\n */\n function comment() {\n var pos = position();\n if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n var i = 2;\n while (\n EMPTY_STRING != style.charAt(i) &&\n (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n ) {\n ++i;\n }\n i += 2;\n\n if (EMPTY_STRING === style.charAt(i - 1)) {\n return error('End of comment missing');\n }\n\n var str = style.slice(2, i - 2);\n column += 2;\n updatePosition(str);\n style = style.slice(i);\n column += 2;\n\n return pos({\n type: TYPE_COMMENT,\n comment: str\n });\n }\n\n /**\n * Parse declaration.\n *\n * @return {Object}\n * @throws {Error}\n */\n function declaration() {\n var pos = position();\n\n // prop\n var prop = match(PROPERTY_REGEX);\n if (!prop) return;\n comment();\n\n // :\n if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n // val\n var val = match(VALUE_REGEX);\n\n var ret = pos({\n type: TYPE_DECLARATION,\n property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n value: val\n ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n : EMPTY_STRING\n });\n\n // ;\n match(SEMICOLON_REGEX);\n\n return ret;\n }\n\n /**\n * Parse declarations.\n *\n * @return {Object[]}\n */\n function declarations() {\n var decls = [];\n\n comments(decls);\n\n // declarations\n var decl;\n while ((decl = declaration())) {\n if (decl !== false) {\n decls.push(decl);\n comments(decls);\n }\n }\n\n return decls;\n }\n\n whitespace();\n return declarations();\n};\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n","'use strict'\n\nmodule.exports = alphabetical\n\n// Check if the given character code, or the character code at the first\n// character, is alphabetical.\nfunction alphabetical(character) {\n var code = typeof character === 'string' ? character.charCodeAt(0) : character\n\n return (\n (code >= 97 && code <= 122) /* a-z */ ||\n (code >= 65 && code <= 90) /* A-Z */\n )\n}\n","'use strict'\n\nvar alphabetical = require('is-alphabetical')\nvar decimal = require('is-decimal')\n\nmodule.exports = alphanumerical\n\n// Check if the given character code, or the character code at the first\n// character, is alphanumerical.\nfunction alphanumerical(character) {\n return alphabetical(character) || decimal(character)\n}\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n","'use strict'\n\nmodule.exports = decimal\n\n// Check if the given character code, or the character code at the first\n// character, is decimal.\nfunction decimal(character) {\n var code = typeof character === 'string' ? character.charCodeAt(0) : character\n\n return code >= 48 && code <= 57 /* 0-9 */\n}\n","'use strict'\n\nmodule.exports = hexadecimal\n\n// Check if the given character code, or the character code at the first\n// character, is hexadecimal.\nfunction hexadecimal(character) {\n var code = typeof character === 'string' ? character.charCodeAt(0) : character\n\n return (\n (code >= 97 /* a */ && code <= 102) /* z */ ||\n (code >= 65 /* A */ && code <= 70) /* Z */ ||\n (code >= 48 /* A */ && code <= 57) /* Z */\n )\n}\n","\n'use strict';\n\n\nvar encodeCache = {};\n\n\n// Create a lookup array where anything but characters in `chars` string\n// and alphanumeric chars is percent-encoded.\n//\nfunction getEncodeCache(exclude) {\n var i, ch, cache = encodeCache[exclude];\n if (cache) { return cache; }\n\n cache = encodeCache[exclude] = [];\n\n for (i = 0; i < 128; i++) {\n ch = String.fromCharCode(i);\n\n if (/^[0-9a-z]$/i.test(ch)) {\n // always allow unencoded alphanumeric characters\n cache.push(ch);\n } else {\n cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2));\n }\n }\n\n for (i = 0; i < exclude.length; i++) {\n cache[exclude.charCodeAt(i)] = exclude[i];\n }\n\n return cache;\n}\n\n\n// Encode unsafe characters with percent-encoding, skipping already\n// encoded sequences.\n//\n// - string - string to encode\n// - exclude - list of characters to ignore (in addition to a-zA-Z0-9)\n// - keepEscaped - don't encode '%' in a correct escape sequence (default: true)\n//\nfunction encode(string, exclude, keepEscaped) {\n var i, l, code, nextCode, cache,\n result = '';\n\n if (typeof exclude !== 'string') {\n // encode(string, keepEscaped)\n keepEscaped = exclude;\n exclude = encode.defaultChars;\n }\n\n if (typeof keepEscaped === 'undefined') {\n keepEscaped = true;\n }\n\n cache = getEncodeCache(exclude);\n\n for (i = 0, l = string.length; i < l; i++) {\n code = string.charCodeAt(i);\n\n if (keepEscaped && code === 0x25 /* % */ && i + 2 < l) {\n if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) {\n result += string.slice(i, i + 3);\n i += 2;\n continue;\n }\n }\n\n if (code < 128) {\n result += cache[code];\n continue;\n }\n\n if (code >= 0xD800 && code <= 0xDFFF) {\n if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) {\n nextCode = string.charCodeAt(i + 1);\n if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) {\n result += encodeURIComponent(string[i] + string[i + 1]);\n i++;\n continue;\n }\n }\n result += '%EF%BF%BD';\n continue;\n }\n\n result += encodeURIComponent(string[i]);\n }\n\n return result;\n}\n\nencode.defaultChars = \";/?:@&=+$,-_.!~*'()#\";\nencode.componentChars = \"-_.!~*'()\";\n\n\nmodule.exports = encode;\n","'use strict'\n\n/* eslint-env browser */\n\nvar el\n\nvar semicolon = 59 // ';'\n\nmodule.exports = decodeEntity\n\nfunction decodeEntity(characters) {\n var entity = '&' + characters + ';'\n var char\n\n el = el || document.createElement('i')\n el.innerHTML = entity\n char = el.textContent\n\n // Some entities do not require the closing semicolon (`¬` - for instance),\n // which leads to situations where parsing the assumed entity of ¬it; will\n // result in the string `¬it;`. When we encounter a trailing semicolon after\n // parsing and the entity to decode was not a semicolon (`;`), we can\n // assume that the matching was incomplete\n if (char.charCodeAt(char.length - 1) === semicolon && characters !== 'semi') {\n return false\n }\n\n // If the decoded string is equal to the input, the entity was not valid\n return char === entity ? false : char\n}\n","'use strict'\n\nvar legacy = require('character-entities-legacy')\nvar invalid = require('character-reference-invalid')\nvar decimal = require('is-decimal')\nvar hexadecimal = require('is-hexadecimal')\nvar alphanumerical = require('is-alphanumerical')\nvar decodeEntity = require('./decode-entity')\n\nmodule.exports = parseEntities\n\nvar own = {}.hasOwnProperty\nvar fromCharCode = String.fromCharCode\nvar noop = Function.prototype\n\n// Default settings.\nvar defaults = {\n warning: null,\n reference: null,\n text: null,\n warningContext: null,\n referenceContext: null,\n textContext: null,\n position: {},\n additional: null,\n attribute: false,\n nonTerminated: true\n}\n\n// Characters.\nvar tab = 9 // '\\t'\nvar lineFeed = 10 // '\\n'\nvar formFeed = 12 // '\\f'\nvar space = 32 // ' '\nvar ampersand = 38 // '&'\nvar semicolon = 59 // ';'\nvar lessThan = 60 // '<'\nvar equalsTo = 61 // '='\nvar numberSign = 35 // '#'\nvar uppercaseX = 88 // 'X'\nvar lowercaseX = 120 // 'x'\nvar replacementCharacter = 65533 // '�'\n\n// Reference types.\nvar name = 'named'\nvar hexa = 'hexadecimal'\nvar deci = 'decimal'\n\n// Map of bases.\nvar bases = {}\n\nbases[hexa] = 16\nbases[deci] = 10\n\n// Map of types to tests.\n// Each type of character reference accepts different characters.\n// This test is used to detect whether a reference has ended (as the semicolon\n// is not strictly needed).\nvar tests = {}\n\ntests[name] = alphanumerical\ntests[deci] = decimal\ntests[hexa] = hexadecimal\n\n// Warning types.\nvar namedNotTerminated = 1\nvar numericNotTerminated = 2\nvar namedEmpty = 3\nvar numericEmpty = 4\nvar namedUnknown = 5\nvar numericDisallowed = 6\nvar numericProhibited = 7\n\n// Warning messages.\nvar messages = {}\n\nmessages[namedNotTerminated] =\n 'Named character references must be terminated by a semicolon'\nmessages[numericNotTerminated] =\n 'Numeric character references must be terminated by a semicolon'\nmessages[namedEmpty] = 'Named character references cannot be empty'\nmessages[numericEmpty] = 'Numeric character references cannot be empty'\nmessages[namedUnknown] = 'Named character references must be known'\nmessages[numericDisallowed] =\n 'Numeric character references cannot be disallowed'\nmessages[numericProhibited] =\n 'Numeric character references cannot be outside the permissible Unicode range'\n\n// Wrap to ensure clean parameters are given to `parse`.\nfunction parseEntities(value, options) {\n var settings = {}\n var option\n var key\n\n if (!options) {\n options = {}\n }\n\n for (key in defaults) {\n option = options[key]\n settings[key] =\n option === null || option === undefined ? defaults[key] : option\n }\n\n if (settings.position.indent || settings.position.start) {\n settings.indent = settings.position.indent || []\n settings.position = settings.position.start\n }\n\n return parse(value, settings)\n}\n\n// Parse entities.\n// eslint-disable-next-line complexity\nfunction parse(value, settings) {\n var additional = settings.additional\n var nonTerminated = settings.nonTerminated\n var handleText = settings.text\n var handleReference = settings.reference\n var handleWarning = settings.warning\n var textContext = settings.textContext\n var referenceContext = settings.referenceContext\n var warningContext = settings.warningContext\n var pos = settings.position\n var indent = settings.indent || []\n var length = value.length\n var index = 0\n var lines = -1\n var column = pos.column || 1\n var line = pos.line || 1\n var queue = ''\n var result = []\n var entityCharacters\n var namedEntity\n var terminated\n var characters\n var character\n var reference\n var following\n var warning\n var reason\n var output\n var entity\n var begin\n var start\n var type\n var test\n var prev\n var next\n var diff\n var end\n\n if (typeof additional === 'string') {\n additional = additional.charCodeAt(0)\n }\n\n // Cache the current point.\n prev = now()\n\n // Wrap `handleWarning`.\n warning = handleWarning ? parseError : noop\n\n // Ensure the algorithm walks over the first character and the end\n // (inclusive).\n index--\n length++\n\n while (++index < length) {\n // If the previous character was a newline.\n if (character === lineFeed) {\n column = indent[lines] || 1\n }\n\n character = value.charCodeAt(index)\n\n if (character === ampersand) {\n following = value.charCodeAt(index + 1)\n\n // The behaviour depends on the identity of the next character.\n if (\n following === tab ||\n following === lineFeed ||\n following === formFeed ||\n following === space ||\n following === ampersand ||\n following === lessThan ||\n following !== following ||\n (additional && following === additional)\n ) {\n // Not a character reference.\n // No characters are consumed, and nothing is returned.\n // This is not an error, either.\n queue += fromCharCode(character)\n column++\n\n continue\n }\n\n start = index + 1\n begin = start\n end = start\n\n if (following === numberSign) {\n // Numerical entity.\n end = ++begin\n\n // The behaviour further depends on the next character.\n following = value.charCodeAt(end)\n\n if (following === uppercaseX || following === lowercaseX) {\n // ASCII hex digits.\n type = hexa\n end = ++begin\n } else {\n // ASCII digits.\n type = deci\n }\n } else {\n // Named entity.\n type = name\n }\n\n entityCharacters = ''\n entity = ''\n characters = ''\n test = tests[type]\n end--\n\n while (++end < length) {\n following = value.charCodeAt(end)\n\n if (!test(following)) {\n break\n }\n\n characters += fromCharCode(following)\n\n // Check if we can match a legacy named reference.\n // If so, we cache that as the last viable named reference.\n // This ensures we do not need to walk backwards later.\n if (type === name && own.call(legacy, characters)) {\n entityCharacters = characters\n entity = legacy[characters]\n }\n }\n\n terminated = value.charCodeAt(end) === semicolon\n\n if (terminated) {\n end++\n\n namedEntity = type === name ? decodeEntity(characters) : false\n\n if (namedEntity) {\n entityCharacters = characters\n entity = namedEntity\n }\n }\n\n diff = 1 + end - start\n\n if (!terminated && !nonTerminated) {\n // Empty.\n } else if (!characters) {\n // An empty (possible) entity is valid, unless it’s numeric (thus an\n // ampersand followed by an octothorp).\n if (type !== name) {\n warning(numericEmpty, diff)\n }\n } else if (type === name) {\n // An ampersand followed by anything unknown, and not terminated, is\n // invalid.\n if (terminated && !entity) {\n warning(namedUnknown, 1)\n } else {\n // If theres something after an entity name which is not known, cap\n // the reference.\n if (entityCharacters !== characters) {\n end = begin + entityCharacters.length\n diff = 1 + end - begin\n terminated = false\n }\n\n // If the reference is not terminated, warn.\n if (!terminated) {\n reason = entityCharacters ? namedNotTerminated : namedEmpty\n\n if (settings.attribute) {\n following = value.charCodeAt(end)\n\n if (following === equalsTo) {\n warning(reason, diff)\n entity = null\n } else if (alphanumerical(following)) {\n entity = null\n } else {\n warning(reason, diff)\n }\n } else {\n warning(reason, diff)\n }\n }\n }\n\n reference = entity\n } else {\n if (!terminated) {\n // All non-terminated numeric entities are not rendered, and trigger a\n // warning.\n warning(numericNotTerminated, diff)\n }\n\n // When terminated and number, parse as either hexadecimal or decimal.\n reference = parseInt(characters, bases[type])\n\n // Trigger a warning when the parsed number is prohibited, and replace\n // with replacement character.\n if (prohibited(reference)) {\n warning(numericProhibited, diff)\n reference = fromCharCode(replacementCharacter)\n } else if (reference in invalid) {\n // Trigger a warning when the parsed number is disallowed, and replace\n // by an alternative.\n warning(numericDisallowed, diff)\n reference = invalid[reference]\n } else {\n // Parse the number.\n output = ''\n\n // Trigger a warning when the parsed number should not be used.\n if (disallowed(reference)) {\n warning(numericDisallowed, diff)\n }\n\n // Stringify the number.\n if (reference > 0xffff) {\n reference -= 0x10000\n output += fromCharCode((reference >>> (10 & 0x3ff)) | 0xd800)\n reference = 0xdc00 | (reference & 0x3ff)\n }\n\n reference = output + fromCharCode(reference)\n }\n }\n\n // Found it!\n // First eat the queued characters as normal text, then eat an entity.\n if (reference) {\n flush()\n\n prev = now()\n index = end - 1\n column += end - start + 1\n result.push(reference)\n next = now()\n next.offset++\n\n if (handleReference) {\n handleReference.call(\n referenceContext,\n reference,\n {start: prev, end: next},\n value.slice(start - 1, end)\n )\n }\n\n prev = next\n } else {\n // If we could not find a reference, queue the checked characters (as\n // normal characters), and move the pointer to their end.\n // This is possible because we can be certain neither newlines nor\n // ampersands are included.\n characters = value.slice(start - 1, end)\n queue += characters\n column += characters.length\n index = end - 1\n }\n } else {\n // Handle anything other than an ampersand, including newlines and EOF.\n if (\n character === 10 // Line feed\n ) {\n line++\n lines++\n column = 0\n }\n\n if (character === character) {\n queue += fromCharCode(character)\n column++\n } else {\n flush()\n }\n }\n }\n\n // Return the reduced nodes.\n return result.join('')\n\n // Get current position.\n function now() {\n return {\n line: line,\n column: column,\n offset: index + (pos.offset || 0)\n }\n }\n\n // “Throw” a parse-error: a warning.\n function parseError(code, offset) {\n var position = now()\n\n position.column += offset\n position.offset += offset\n\n handleWarning.call(warningContext, messages[code], position, code)\n }\n\n // Flush `queue` (normal text).\n // Macro invoked before each entity and at the end of `value`.\n // Does nothing when `queue` is empty.\n function flush() {\n if (queue) {\n result.push(queue)\n\n if (handleText) {\n handleText.call(textContext, queue, {start: prev, end: now()})\n }\n\n queue = ''\n }\n }\n}\n\n// Check if `character` is outside the permissible unicode range.\nfunction prohibited(code) {\n return (code >= 0xd800 && code <= 0xdfff) || code > 0x10ffff\n}\n\n// Check if `character` is disallowed.\nfunction disallowed(code) {\n return (\n (code >= 0x0001 && code <= 0x0008) ||\n code === 0x000b ||\n (code >= 0x000d && code <= 0x001f) ||\n (code >= 0x007f && code <= 0x009f) ||\n (code >= 0xfdd0 && code <= 0xfdef) ||\n (code & 0xffff) === 0xffff ||\n (code & 0xffff) === 0xfffe\n )\n}\n","'use strict';\n\nconst { DOCUMENT_MODE } = require('./html');\n\n//Const\nconst VALID_DOCTYPE_NAME = 'html';\nconst VALID_SYSTEM_ID = 'about:legacy-compat';\nconst QUIRKS_MODE_SYSTEM_ID = 'http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd';\n\nconst QUIRKS_MODE_PUBLIC_ID_PREFIXES = [\n '+//silmaril//dtd html pro v0r11 19970101//',\n '-//as//dtd html 3.0 aswedit + extensions//',\n '-//advasoft ltd//dtd html 3.0 aswedit + extensions//',\n '-//ietf//dtd html 2.0 level 1//',\n '-//ietf//dtd html 2.0 level 2//',\n '-//ietf//dtd html 2.0 strict level 1//',\n '-//ietf//dtd html 2.0 strict level 2//',\n '-//ietf//dtd html 2.0 strict//',\n '-//ietf//dtd html 2.0//',\n '-//ietf//dtd html 2.1e//',\n '-//ietf//dtd html 3.0//',\n '-//ietf//dtd html 3.2 final//',\n '-//ietf//dtd html 3.2//',\n '-//ietf//dtd html 3//',\n '-//ietf//dtd html level 0//',\n '-//ietf//dtd html level 1//',\n '-//ietf//dtd html level 2//',\n '-//ietf//dtd html level 3//',\n '-//ietf//dtd html strict level 0//',\n '-//ietf//dtd html strict level 1//',\n '-//ietf//dtd html strict level 2//',\n '-//ietf//dtd html strict level 3//',\n '-//ietf//dtd html strict//',\n '-//ietf//dtd html//',\n '-//metrius//dtd metrius presentational//',\n '-//microsoft//dtd internet explorer 2.0 html strict//',\n '-//microsoft//dtd internet explorer 2.0 html//',\n '-//microsoft//dtd internet explorer 2.0 tables//',\n '-//microsoft//dtd internet explorer 3.0 html strict//',\n '-//microsoft//dtd internet explorer 3.0 html//',\n '-//microsoft//dtd internet explorer 3.0 tables//',\n '-//netscape comm. corp.//dtd html//',\n '-//netscape comm. corp.//dtd strict html//',\n \"-//o'reilly and associates//dtd html 2.0//\",\n \"-//o'reilly and associates//dtd html extended 1.0//\",\n \"-//o'reilly and associates//dtd html extended relaxed 1.0//\",\n '-//sq//dtd html 2.0 hotmetal + extensions//',\n '-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//',\n '-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//',\n '-//spyglass//dtd html 2.0 extended//',\n '-//sun microsystems corp.//dtd hotjava html//',\n '-//sun microsystems corp.//dtd hotjava strict html//',\n '-//w3c//dtd html 3 1995-03-24//',\n '-//w3c//dtd html 3.2 draft//',\n '-//w3c//dtd html 3.2 final//',\n '-//w3c//dtd html 3.2//',\n '-//w3c//dtd html 3.2s draft//',\n '-//w3c//dtd html 4.0 frameset//',\n '-//w3c//dtd html 4.0 transitional//',\n '-//w3c//dtd html experimental 19960712//',\n '-//w3c//dtd html experimental 970421//',\n '-//w3c//dtd w3 html//',\n '-//w3o//dtd w3 html 3.0//',\n '-//webtechs//dtd mozilla html 2.0//',\n '-//webtechs//dtd mozilla html//'\n];\n\nconst QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES = QUIRKS_MODE_PUBLIC_ID_PREFIXES.concat([\n '-//w3c//dtd html 4.01 frameset//',\n '-//w3c//dtd html 4.01 transitional//'\n]);\n\nconst QUIRKS_MODE_PUBLIC_IDS = ['-//w3o//dtd w3 html strict 3.0//en//', '-/w3c/dtd html 4.0 transitional/en', 'html'];\nconst LIMITED_QUIRKS_PUBLIC_ID_PREFIXES = ['-//w3c//dtd xhtml 1.0 frameset//', '-//w3c//dtd xhtml 1.0 transitional//'];\n\nconst LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES = LIMITED_QUIRKS_PUBLIC_ID_PREFIXES.concat([\n '-//w3c//dtd html 4.01 frameset//',\n '-//w3c//dtd html 4.01 transitional//'\n]);\n\n//Utils\nfunction enquoteDoctypeId(id) {\n const quote = id.indexOf('\"') !== -1 ? \"'\" : '\"';\n\n return quote + id + quote;\n}\n\nfunction hasPrefix(publicId, prefixes) {\n for (let i = 0; i < prefixes.length; i++) {\n if (publicId.indexOf(prefixes[i]) === 0) {\n return true;\n }\n }\n\n return false;\n}\n\n//API\nexports.isConforming = function(token) {\n return (\n token.name === VALID_DOCTYPE_NAME &&\n token.publicId === null &&\n (token.systemId === null || token.systemId === VALID_SYSTEM_ID)\n );\n};\n\nexports.getDocumentMode = function(token) {\n if (token.name !== VALID_DOCTYPE_NAME) {\n return DOCUMENT_MODE.QUIRKS;\n }\n\n const systemId = token.systemId;\n\n if (systemId && systemId.toLowerCase() === QUIRKS_MODE_SYSTEM_ID) {\n return DOCUMENT_MODE.QUIRKS;\n }\n\n let publicId = token.publicId;\n\n if (publicId !== null) {\n publicId = publicId.toLowerCase();\n\n if (QUIRKS_MODE_PUBLIC_IDS.indexOf(publicId) > -1) {\n return DOCUMENT_MODE.QUIRKS;\n }\n\n let prefixes = systemId === null ? QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES : QUIRKS_MODE_PUBLIC_ID_PREFIXES;\n\n if (hasPrefix(publicId, prefixes)) {\n return DOCUMENT_MODE.QUIRKS;\n }\n\n prefixes =\n systemId === null ? LIMITED_QUIRKS_PUBLIC_ID_PREFIXES : LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES;\n\n if (hasPrefix(publicId, prefixes)) {\n return DOCUMENT_MODE.LIMITED_QUIRKS;\n }\n }\n\n return DOCUMENT_MODE.NO_QUIRKS;\n};\n\nexports.serializeContent = function(name, publicId, systemId) {\n let str = '!DOCTYPE ';\n\n if (name) {\n str += name;\n }\n\n if (publicId) {\n str += ' PUBLIC ' + enquoteDoctypeId(publicId);\n } else if (systemId) {\n str += ' SYSTEM';\n }\n\n if (systemId !== null) {\n str += ' ' + enquoteDoctypeId(systemId);\n }\n\n return str;\n};\n","'use strict';\n\nmodule.exports = {\n controlCharacterInInputStream: 'control-character-in-input-stream',\n noncharacterInInputStream: 'noncharacter-in-input-stream',\n surrogateInInputStream: 'surrogate-in-input-stream',\n nonVoidHtmlElementStartTagWithTrailingSolidus: 'non-void-html-element-start-tag-with-trailing-solidus',\n endTagWithAttributes: 'end-tag-with-attributes',\n endTagWithTrailingSolidus: 'end-tag-with-trailing-solidus',\n unexpectedSolidusInTag: 'unexpected-solidus-in-tag',\n unexpectedNullCharacter: 'unexpected-null-character',\n unexpectedQuestionMarkInsteadOfTagName: 'unexpected-question-mark-instead-of-tag-name',\n invalidFirstCharacterOfTagName: 'invalid-first-character-of-tag-name',\n unexpectedEqualsSignBeforeAttributeName: 'unexpected-equals-sign-before-attribute-name',\n missingEndTagName: 'missing-end-tag-name',\n unexpectedCharacterInAttributeName: 'unexpected-character-in-attribute-name',\n unknownNamedCharacterReference: 'unknown-named-character-reference',\n missingSemicolonAfterCharacterReference: 'missing-semicolon-after-character-reference',\n unexpectedCharacterAfterDoctypeSystemIdentifier: 'unexpected-character-after-doctype-system-identifier',\n unexpectedCharacterInUnquotedAttributeValue: 'unexpected-character-in-unquoted-attribute-value',\n eofBeforeTagName: 'eof-before-tag-name',\n eofInTag: 'eof-in-tag',\n missingAttributeValue: 'missing-attribute-value',\n missingWhitespaceBetweenAttributes: 'missing-whitespace-between-attributes',\n missingWhitespaceAfterDoctypePublicKeyword: 'missing-whitespace-after-doctype-public-keyword',\n missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers:\n 'missing-whitespace-between-doctype-public-and-system-identifiers',\n missingWhitespaceAfterDoctypeSystemKeyword: 'missing-whitespace-after-doctype-system-keyword',\n missingQuoteBeforeDoctypePublicIdentifier: 'missing-quote-before-doctype-public-identifier',\n missingQuoteBeforeDoctypeSystemIdentifier: 'missing-quote-before-doctype-system-identifier',\n missingDoctypePublicIdentifier: 'missing-doctype-public-identifier',\n missingDoctypeSystemIdentifier: 'missing-doctype-system-identifier',\n abruptDoctypePublicIdentifier: 'abrupt-doctype-public-identifier',\n abruptDoctypeSystemIdentifier: 'abrupt-doctype-system-identifier',\n cdataInHtmlContent: 'cdata-in-html-content',\n incorrectlyOpenedComment: 'incorrectly-opened-comment',\n eofInScriptHtmlCommentLikeText: 'eof-in-script-html-comment-like-text',\n eofInDoctype: 'eof-in-doctype',\n nestedComment: 'nested-comment',\n abruptClosingOfEmptyComment: 'abrupt-closing-of-empty-comment',\n eofInComment: 'eof-in-comment',\n incorrectlyClosedComment: 'incorrectly-closed-comment',\n eofInCdata: 'eof-in-cdata',\n absenceOfDigitsInNumericCharacterReference: 'absence-of-digits-in-numeric-character-reference',\n nullCharacterReference: 'null-character-reference',\n surrogateCharacterReference: 'surrogate-character-reference',\n characterReferenceOutsideUnicodeRange: 'character-reference-outside-unicode-range',\n controlCharacterReference: 'control-character-reference',\n noncharacterCharacterReference: 'noncharacter-character-reference',\n missingWhitespaceBeforeDoctypeName: 'missing-whitespace-before-doctype-name',\n missingDoctypeName: 'missing-doctype-name',\n invalidCharacterSequenceAfterDoctypeName: 'invalid-character-sequence-after-doctype-name',\n duplicateAttribute: 'duplicate-attribute',\n nonConformingDoctype: 'non-conforming-doctype',\n missingDoctype: 'missing-doctype',\n misplacedDoctype: 'misplaced-doctype',\n endTagWithoutMatchingOpenElement: 'end-tag-without-matching-open-element',\n closingOfElementWithOpenChildElements: 'closing-of-element-with-open-child-elements',\n disallowedContentInNoscriptInHead: 'disallowed-content-in-noscript-in-head',\n openElementsLeftAfterEof: 'open-elements-left-after-eof',\n abandonedHeadElementChild: 'abandoned-head-element-child',\n misplacedStartTagForHeadElement: 'misplaced-start-tag-for-head-element',\n nestedNoscriptInHead: 'nested-noscript-in-head',\n eofInElementThatCanContainOnlyText: 'eof-in-element-that-can-contain-only-text'\n};\n","'use strict';\n\nconst Tokenizer = require('../tokenizer');\nconst HTML = require('./html');\n\n//Aliases\nconst $ = HTML.TAG_NAMES;\nconst NS = HTML.NAMESPACES;\nconst ATTRS = HTML.ATTRS;\n\n//MIME types\nconst MIME_TYPES = {\n TEXT_HTML: 'text/html',\n APPLICATION_XML: 'application/xhtml+xml'\n};\n\n//Attributes\nconst DEFINITION_URL_ATTR = 'definitionurl';\nconst ADJUSTED_DEFINITION_URL_ATTR = 'definitionURL';\nconst SVG_ATTRS_ADJUSTMENT_MAP = {\n attributename: 'attributeName',\n attributetype: 'attributeType',\n basefrequency: 'baseFrequency',\n baseprofile: 'baseProfile',\n calcmode: 'calcMode',\n clippathunits: 'clipPathUnits',\n diffuseconstant: 'diffuseConstant',\n edgemode: 'edgeMode',\n filterunits: 'filterUnits',\n glyphref: 'glyphRef',\n gradienttransform: 'gradientTransform',\n gradientunits: 'gradientUnits',\n kernelmatrix: 'kernelMatrix',\n kernelunitlength: 'kernelUnitLength',\n keypoints: 'keyPoints',\n keysplines: 'keySplines',\n keytimes: 'keyTimes',\n lengthadjust: 'lengthAdjust',\n limitingconeangle: 'limitingConeAngle',\n markerheight: 'markerHeight',\n markerunits: 'markerUnits',\n markerwidth: 'markerWidth',\n maskcontentunits: 'maskContentUnits',\n maskunits: 'maskUnits',\n numoctaves: 'numOctaves',\n pathlength: 'pathLength',\n patterncontentunits: 'patternContentUnits',\n patterntransform: 'patternTransform',\n patternunits: 'patternUnits',\n pointsatx: 'pointsAtX',\n pointsaty: 'pointsAtY',\n pointsatz: 'pointsAtZ',\n preservealpha: 'preserveAlpha',\n preserveaspectratio: 'preserveAspectRatio',\n primitiveunits: 'primitiveUnits',\n refx: 'refX',\n refy: 'refY',\n repeatcount: 'repeatCount',\n repeatdur: 'repeatDur',\n requiredextensions: 'requiredExtensions',\n requiredfeatures: 'requiredFeatures',\n specularconstant: 'specularConstant',\n specularexponent: 'specularExponent',\n spreadmethod: 'spreadMethod',\n startoffset: 'startOffset',\n stddeviation: 'stdDeviation',\n stitchtiles: 'stitchTiles',\n surfacescale: 'surfaceScale',\n systemlanguage: 'systemLanguage',\n tablevalues: 'tableValues',\n targetx: 'targetX',\n targety: 'targetY',\n textlength: 'textLength',\n viewbox: 'viewBox',\n viewtarget: 'viewTarget',\n xchannelselector: 'xChannelSelector',\n ychannelselector: 'yChannelSelector',\n zoomandpan: 'zoomAndPan'\n};\n\nconst XML_ATTRS_ADJUSTMENT_MAP = {\n 'xlink:actuate': { prefix: 'xlink', name: 'actuate', namespace: NS.XLINK },\n 'xlink:arcrole': { prefix: 'xlink', name: 'arcrole', namespace: NS.XLINK },\n 'xlink:href': { prefix: 'xlink', name: 'href', namespace: NS.XLINK },\n 'xlink:role': { prefix: 'xlink', name: 'role', namespace: NS.XLINK },\n 'xlink:show': { prefix: 'xlink', name: 'show', namespace: NS.XLINK },\n 'xlink:title': { prefix: 'xlink', name: 'title', namespace: NS.XLINK },\n 'xlink:type': { prefix: 'xlink', name: 'type', namespace: NS.XLINK },\n 'xml:base': { prefix: 'xml', name: 'base', namespace: NS.XML },\n 'xml:lang': { prefix: 'xml', name: 'lang', namespace: NS.XML },\n 'xml:space': { prefix: 'xml', name: 'space', namespace: NS.XML },\n xmlns: { prefix: '', name: 'xmlns', namespace: NS.XMLNS },\n 'xmlns:xlink': { prefix: 'xmlns', name: 'xlink', namespace: NS.XMLNS }\n};\n\n//SVG tag names adjustment map\nconst SVG_TAG_NAMES_ADJUSTMENT_MAP = (exports.SVG_TAG_NAMES_ADJUSTMENT_MAP = {\n altglyph: 'altGlyph',\n altglyphdef: 'altGlyphDef',\n altglyphitem: 'altGlyphItem',\n animatecolor: 'animateColor',\n animatemotion: 'animateMotion',\n animatetransform: 'animateTransform',\n clippath: 'clipPath',\n feblend: 'feBlend',\n fecolormatrix: 'feColorMatrix',\n fecomponenttransfer: 'feComponentTransfer',\n fecomposite: 'feComposite',\n feconvolvematrix: 'feConvolveMatrix',\n fediffuselighting: 'feDiffuseLighting',\n fedisplacementmap: 'feDisplacementMap',\n fedistantlight: 'feDistantLight',\n feflood: 'feFlood',\n fefunca: 'feFuncA',\n fefuncb: 'feFuncB',\n fefuncg: 'feFuncG',\n fefuncr: 'feFuncR',\n fegaussianblur: 'feGaussianBlur',\n feimage: 'feImage',\n femerge: 'feMerge',\n femergenode: 'feMergeNode',\n femorphology: 'feMorphology',\n feoffset: 'feOffset',\n fepointlight: 'fePointLight',\n fespecularlighting: 'feSpecularLighting',\n fespotlight: 'feSpotLight',\n fetile: 'feTile',\n feturbulence: 'feTurbulence',\n foreignobject: 'foreignObject',\n glyphref: 'glyphRef',\n lineargradient: 'linearGradient',\n radialgradient: 'radialGradient',\n textpath: 'textPath'\n});\n\n//Tags that causes exit from foreign content\nconst EXITS_FOREIGN_CONTENT = {\n [$.B]: true,\n [$.BIG]: true,\n [$.BLOCKQUOTE]: true,\n [$.BODY]: true,\n [$.BR]: true,\n [$.CENTER]: true,\n [$.CODE]: true,\n [$.DD]: true,\n [$.DIV]: true,\n [$.DL]: true,\n [$.DT]: true,\n [$.EM]: true,\n [$.EMBED]: true,\n [$.H1]: true,\n [$.H2]: true,\n [$.H3]: true,\n [$.H4]: true,\n [$.H5]: true,\n [$.H6]: true,\n [$.HEAD]: true,\n [$.HR]: true,\n [$.I]: true,\n [$.IMG]: true,\n [$.LI]: true,\n [$.LISTING]: true,\n [$.MENU]: true,\n [$.META]: true,\n [$.NOBR]: true,\n [$.OL]: true,\n [$.P]: true,\n [$.PRE]: true,\n [$.RUBY]: true,\n [$.S]: true,\n [$.SMALL]: true,\n [$.SPAN]: true,\n [$.STRONG]: true,\n [$.STRIKE]: true,\n [$.SUB]: true,\n [$.SUP]: true,\n [$.TABLE]: true,\n [$.TT]: true,\n [$.U]: true,\n [$.UL]: true,\n [$.VAR]: true\n};\n\n//Check exit from foreign content\nexports.causesExit = function(startTagToken) {\n const tn = startTagToken.tagName;\n const isFontWithAttrs =\n tn === $.FONT &&\n (Tokenizer.getTokenAttr(startTagToken, ATTRS.COLOR) !== null ||\n Tokenizer.getTokenAttr(startTagToken, ATTRS.SIZE) !== null ||\n Tokenizer.getTokenAttr(startTagToken, ATTRS.FACE) !== null);\n\n return isFontWithAttrs ? true : EXITS_FOREIGN_CONTENT[tn];\n};\n\n//Token adjustments\nexports.adjustTokenMathMLAttrs = function(token) {\n for (let i = 0; i < token.attrs.length; i++) {\n if (token.attrs[i].name === DEFINITION_URL_ATTR) {\n token.attrs[i].name = ADJUSTED_DEFINITION_URL_ATTR;\n break;\n }\n }\n};\n\nexports.adjustTokenSVGAttrs = function(token) {\n for (let i = 0; i < token.attrs.length; i++) {\n const adjustedAttrName = SVG_ATTRS_ADJUSTMENT_MAP[token.attrs[i].name];\n\n if (adjustedAttrName) {\n token.attrs[i].name = adjustedAttrName;\n }\n }\n};\n\nexports.adjustTokenXMLAttrs = function(token) {\n for (let i = 0; i < token.attrs.length; i++) {\n const adjustedAttrEntry = XML_ATTRS_ADJUSTMENT_MAP[token.attrs[i].name];\n\n if (adjustedAttrEntry) {\n token.attrs[i].prefix = adjustedAttrEntry.prefix;\n token.attrs[i].name = adjustedAttrEntry.name;\n token.attrs[i].namespace = adjustedAttrEntry.namespace;\n }\n }\n};\n\nexports.adjustTokenSVGTagName = function(token) {\n const adjustedTagName = SVG_TAG_NAMES_ADJUSTMENT_MAP[token.tagName];\n\n if (adjustedTagName) {\n token.tagName = adjustedTagName;\n }\n};\n\n//Integration points\nfunction isMathMLTextIntegrationPoint(tn, ns) {\n return ns === NS.MATHML && (tn === $.MI || tn === $.MO || tn === $.MN || tn === $.MS || tn === $.MTEXT);\n}\n\nfunction isHtmlIntegrationPoint(tn, ns, attrs) {\n if (ns === NS.MATHML && tn === $.ANNOTATION_XML) {\n for (let i = 0; i < attrs.length; i++) {\n if (attrs[i].name === ATTRS.ENCODING) {\n const value = attrs[i].value.toLowerCase();\n\n return value === MIME_TYPES.TEXT_HTML || value === MIME_TYPES.APPLICATION_XML;\n }\n }\n }\n\n return ns === NS.SVG && (tn === $.FOREIGN_OBJECT || tn === $.DESC || tn === $.TITLE);\n}\n\nexports.isIntegrationPoint = function(tn, ns, attrs, foreignNS) {\n if ((!foreignNS || foreignNS === NS.HTML) && isHtmlIntegrationPoint(tn, ns, attrs)) {\n return true;\n }\n\n if ((!foreignNS || foreignNS === NS.MATHML) && isMathMLTextIntegrationPoint(tn, ns)) {\n return true;\n }\n\n return false;\n};\n","'use strict';\n\nconst NS = (exports.NAMESPACES = {\n HTML: 'http://www.w3.org/1999/xhtml',\n MATHML: 'http://www.w3.org/1998/Math/MathML',\n SVG: 'http://www.w3.org/2000/svg',\n XLINK: 'http://www.w3.org/1999/xlink',\n XML: 'http://www.w3.org/XML/1998/namespace',\n XMLNS: 'http://www.w3.org/2000/xmlns/'\n});\n\nexports.ATTRS = {\n TYPE: 'type',\n ACTION: 'action',\n ENCODING: 'encoding',\n PROMPT: 'prompt',\n NAME: 'name',\n COLOR: 'color',\n FACE: 'face',\n SIZE: 'size'\n};\n\nexports.DOCUMENT_MODE = {\n NO_QUIRKS: 'no-quirks',\n QUIRKS: 'quirks',\n LIMITED_QUIRKS: 'limited-quirks'\n};\n\nconst $ = (exports.TAG_NAMES = {\n A: 'a',\n ADDRESS: 'address',\n ANNOTATION_XML: 'annotation-xml',\n APPLET: 'applet',\n AREA: 'area',\n ARTICLE: 'article',\n ASIDE: 'aside',\n\n B: 'b',\n BASE: 'base',\n BASEFONT: 'basefont',\n BGSOUND: 'bgsound',\n BIG: 'big',\n BLOCKQUOTE: 'blockquote',\n BODY: 'body',\n BR: 'br',\n BUTTON: 'button',\n\n CAPTION: 'caption',\n CENTER: 'center',\n CODE: 'code',\n COL: 'col',\n COLGROUP: 'colgroup',\n\n DD: 'dd',\n DESC: 'desc',\n DETAILS: 'details',\n DIALOG: 'dialog',\n DIR: 'dir',\n DIV: 'div',\n DL: 'dl',\n DT: 'dt',\n\n EM: 'em',\n EMBED: 'embed',\n\n FIELDSET: 'fieldset',\n FIGCAPTION: 'figcaption',\n FIGURE: 'figure',\n FONT: 'font',\n FOOTER: 'footer',\n FOREIGN_OBJECT: 'foreignObject',\n FORM: 'form',\n FRAME: 'frame',\n FRAMESET: 'frameset',\n\n H1: 'h1',\n H2: 'h2',\n H3: 'h3',\n H4: 'h4',\n H5: 'h5',\n H6: 'h6',\n HEAD: 'head',\n HEADER: 'header',\n HGROUP: 'hgroup',\n HR: 'hr',\n HTML: 'html',\n\n I: 'i',\n IMG: 'img',\n IMAGE: 'image',\n INPUT: 'input',\n IFRAME: 'iframe',\n\n KEYGEN: 'keygen',\n\n LABEL: 'label',\n LI: 'li',\n LINK: 'link',\n LISTING: 'listing',\n\n MAIN: 'main',\n MALIGNMARK: 'malignmark',\n MARQUEE: 'marquee',\n MATH: 'math',\n MENU: 'menu',\n META: 'meta',\n MGLYPH: 'mglyph',\n MI: 'mi',\n MO: 'mo',\n MN: 'mn',\n MS: 'ms',\n MTEXT: 'mtext',\n\n NAV: 'nav',\n NOBR: 'nobr',\n NOFRAMES: 'noframes',\n NOEMBED: 'noembed',\n NOSCRIPT: 'noscript',\n\n OBJECT: 'object',\n OL: 'ol',\n OPTGROUP: 'optgroup',\n OPTION: 'option',\n\n P: 'p',\n PARAM: 'param',\n PLAINTEXT: 'plaintext',\n PRE: 'pre',\n\n RB: 'rb',\n RP: 'rp',\n RT: 'rt',\n RTC: 'rtc',\n RUBY: 'ruby',\n\n S: 's',\n SCRIPT: 'script',\n SECTION: 'section',\n SELECT: 'select',\n SOURCE: 'source',\n SMALL: 'small',\n SPAN: 'span',\n STRIKE: 'strike',\n STRONG: 'strong',\n STYLE: 'style',\n SUB: 'sub',\n SUMMARY: 'summary',\n SUP: 'sup',\n\n TABLE: 'table',\n TBODY: 'tbody',\n TEMPLATE: 'template',\n TEXTAREA: 'textarea',\n TFOOT: 'tfoot',\n TD: 'td',\n TH: 'th',\n THEAD: 'thead',\n TITLE: 'title',\n TR: 'tr',\n TRACK: 'track',\n TT: 'tt',\n\n U: 'u',\n UL: 'ul',\n\n SVG: 'svg',\n\n VAR: 'var',\n\n WBR: 'wbr',\n\n XMP: 'xmp'\n});\n\nexports.SPECIAL_ELEMENTS = {\n [NS.HTML]: {\n [$.ADDRESS]: true,\n [$.APPLET]: true,\n [$.AREA]: true,\n [$.ARTICLE]: true,\n [$.ASIDE]: true,\n [$.BASE]: true,\n [$.BASEFONT]: true,\n [$.BGSOUND]: true,\n [$.BLOCKQUOTE]: true,\n [$.BODY]: true,\n [$.BR]: true,\n [$.BUTTON]: true,\n [$.CAPTION]: true,\n [$.CENTER]: true,\n [$.COL]: true,\n [$.COLGROUP]: true,\n [$.DD]: true,\n [$.DETAILS]: true,\n [$.DIR]: true,\n [$.DIV]: true,\n [$.DL]: true,\n [$.DT]: true,\n [$.EMBED]: true,\n [$.FIELDSET]: true,\n [$.FIGCAPTION]: true,\n [$.FIGURE]: true,\n [$.FOOTER]: true,\n [$.FORM]: true,\n [$.FRAME]: true,\n [$.FRAMESET]: true,\n [$.H1]: true,\n [$.H2]: true,\n [$.H3]: true,\n [$.H4]: true,\n [$.H5]: true,\n [$.H6]: true,\n [$.HEAD]: true,\n [$.HEADER]: true,\n [$.HGROUP]: true,\n [$.HR]: true,\n [$.HTML]: true,\n [$.IFRAME]: true,\n [$.IMG]: true,\n [$.INPUT]: true,\n [$.LI]: true,\n [$.LINK]: true,\n [$.LISTING]: true,\n [$.MAIN]: true,\n [$.MARQUEE]: true,\n [$.MENU]: true,\n [$.META]: true,\n [$.NAV]: true,\n [$.NOEMBED]: true,\n [$.NOFRAMES]: true,\n [$.NOSCRIPT]: true,\n [$.OBJECT]: true,\n [$.OL]: true,\n [$.P]: true,\n [$.PARAM]: true,\n [$.PLAINTEXT]: true,\n [$.PRE]: true,\n [$.SCRIPT]: true,\n [$.SECTION]: true,\n [$.SELECT]: true,\n [$.SOURCE]: true,\n [$.STYLE]: true,\n [$.SUMMARY]: true,\n [$.TABLE]: true,\n [$.TBODY]: true,\n [$.TD]: true,\n [$.TEMPLATE]: true,\n [$.TEXTAREA]: true,\n [$.TFOOT]: true,\n [$.TH]: true,\n [$.THEAD]: true,\n [$.TITLE]: true,\n [$.TR]: true,\n [$.TRACK]: true,\n [$.UL]: true,\n [$.WBR]: true,\n [$.XMP]: true\n },\n [NS.MATHML]: {\n [$.MI]: true,\n [$.MO]: true,\n [$.MN]: true,\n [$.MS]: true,\n [$.MTEXT]: true,\n [$.ANNOTATION_XML]: true\n },\n [NS.SVG]: {\n [$.TITLE]: true,\n [$.FOREIGN_OBJECT]: true,\n [$.DESC]: true\n }\n};\n","'use strict';\n\nconst UNDEFINED_CODE_POINTS = [\n 0xfffe,\n 0xffff,\n 0x1fffe,\n 0x1ffff,\n 0x2fffe,\n 0x2ffff,\n 0x3fffe,\n 0x3ffff,\n 0x4fffe,\n 0x4ffff,\n 0x5fffe,\n 0x5ffff,\n 0x6fffe,\n 0x6ffff,\n 0x7fffe,\n 0x7ffff,\n 0x8fffe,\n 0x8ffff,\n 0x9fffe,\n 0x9ffff,\n 0xafffe,\n 0xaffff,\n 0xbfffe,\n 0xbffff,\n 0xcfffe,\n 0xcffff,\n 0xdfffe,\n 0xdffff,\n 0xefffe,\n 0xeffff,\n 0xffffe,\n 0xfffff,\n 0x10fffe,\n 0x10ffff\n];\n\nexports.REPLACEMENT_CHARACTER = '\\uFFFD';\n\nexports.CODE_POINTS = {\n EOF: -1,\n NULL: 0x00,\n TABULATION: 0x09,\n CARRIAGE_RETURN: 0x0d,\n LINE_FEED: 0x0a,\n FORM_FEED: 0x0c,\n SPACE: 0x20,\n EXCLAMATION_MARK: 0x21,\n QUOTATION_MARK: 0x22,\n NUMBER_SIGN: 0x23,\n AMPERSAND: 0x26,\n APOSTROPHE: 0x27,\n HYPHEN_MINUS: 0x2d,\n SOLIDUS: 0x2f,\n DIGIT_0: 0x30,\n DIGIT_9: 0x39,\n SEMICOLON: 0x3b,\n LESS_THAN_SIGN: 0x3c,\n EQUALS_SIGN: 0x3d,\n GREATER_THAN_SIGN: 0x3e,\n QUESTION_MARK: 0x3f,\n LATIN_CAPITAL_A: 0x41,\n LATIN_CAPITAL_F: 0x46,\n LATIN_CAPITAL_X: 0x58,\n LATIN_CAPITAL_Z: 0x5a,\n RIGHT_SQUARE_BRACKET: 0x5d,\n GRAVE_ACCENT: 0x60,\n LATIN_SMALL_A: 0x61,\n LATIN_SMALL_F: 0x66,\n LATIN_SMALL_X: 0x78,\n LATIN_SMALL_Z: 0x7a,\n REPLACEMENT_CHARACTER: 0xfffd\n};\n\nexports.CODE_POINT_SEQUENCES = {\n DASH_DASH_STRING: [0x2d, 0x2d], //--\n DOCTYPE_STRING: [0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45], //DOCTYPE\n CDATA_START_STRING: [0x5b, 0x43, 0x44, 0x41, 0x54, 0x41, 0x5b], //[CDATA[\n SCRIPT_STRING: [0x73, 0x63, 0x72, 0x69, 0x70, 0x74], //script\n PUBLIC_STRING: [0x50, 0x55, 0x42, 0x4c, 0x49, 0x43], //PUBLIC\n SYSTEM_STRING: [0x53, 0x59, 0x53, 0x54, 0x45, 0x4d] //SYSTEM\n};\n\n//Surrogates\nexports.isSurrogate = function(cp) {\n return cp >= 0xd800 && cp <= 0xdfff;\n};\n\nexports.isSurrogatePair = function(cp) {\n return cp >= 0xdc00 && cp <= 0xdfff;\n};\n\nexports.getSurrogatePairCodePoint = function(cp1, cp2) {\n return (cp1 - 0xd800) * 0x400 + 0x2400 + cp2;\n};\n\n//NOTE: excluding NULL and ASCII whitespace\nexports.isControlCodePoint = function(cp) {\n return (\n (cp !== 0x20 && cp !== 0x0a && cp !== 0x0d && cp !== 0x09 && cp !== 0x0c && cp >= 0x01 && cp <= 0x1f) ||\n (cp >= 0x7f && cp <= 0x9f)\n );\n};\n\nexports.isUndefinedCodePoint = function(cp) {\n return (cp >= 0xfdd0 && cp <= 0xfdef) || UNDEFINED_CODE_POINTS.indexOf(cp) > -1;\n};\n","'use strict';\n\nconst Mixin = require('../../utils/mixin');\n\nclass ErrorReportingMixinBase extends Mixin {\n constructor(host, opts) {\n super(host);\n\n this.posTracker = null;\n this.onParseError = opts.onParseError;\n }\n\n _setErrorLocation(err) {\n err.startLine = err.endLine = this.posTracker.line;\n err.startCol = err.endCol = this.posTracker.col;\n err.startOffset = err.endOffset = this.posTracker.offset;\n }\n\n _reportError(code) {\n const err = {\n code: code,\n startLine: -1,\n startCol: -1,\n startOffset: -1,\n endLine: -1,\n endCol: -1,\n endOffset: -1\n };\n\n this._setErrorLocation(err);\n this.onParseError(err);\n }\n\n _getOverriddenMethods(mxn) {\n return {\n _err(code) {\n mxn._reportError(code);\n }\n };\n }\n}\n\nmodule.exports = ErrorReportingMixinBase;\n","'use strict';\n\nconst ErrorReportingMixinBase = require('./mixin-base');\nconst ErrorReportingTokenizerMixin = require('./tokenizer-mixin');\nconst LocationInfoTokenizerMixin = require('../location-info/tokenizer-mixin');\nconst Mixin = require('../../utils/mixin');\n\nclass ErrorReportingParserMixin extends ErrorReportingMixinBase {\n constructor(parser, opts) {\n super(parser, opts);\n\n this.opts = opts;\n this.ctLoc = null;\n this.locBeforeToken = false;\n }\n\n _setErrorLocation(err) {\n if (this.ctLoc) {\n err.startLine = this.ctLoc.startLine;\n err.startCol = this.ctLoc.startCol;\n err.startOffset = this.ctLoc.startOffset;\n\n err.endLine = this.locBeforeToken ? this.ctLoc.startLine : this.ctLoc.endLine;\n err.endCol = this.locBeforeToken ? this.ctLoc.startCol : this.ctLoc.endCol;\n err.endOffset = this.locBeforeToken ? this.ctLoc.startOffset : this.ctLoc.endOffset;\n }\n }\n\n _getOverriddenMethods(mxn, orig) {\n return {\n _bootstrap(document, fragmentContext) {\n orig._bootstrap.call(this, document, fragmentContext);\n\n Mixin.install(this.tokenizer, ErrorReportingTokenizerMixin, mxn.opts);\n Mixin.install(this.tokenizer, LocationInfoTokenizerMixin);\n },\n\n _processInputToken(token) {\n mxn.ctLoc = token.location;\n\n orig._processInputToken.call(this, token);\n },\n\n _err(code, options) {\n mxn.locBeforeToken = options && options.beforeToken;\n mxn._reportError(code);\n }\n };\n }\n}\n\nmodule.exports = ErrorReportingParserMixin;\n","'use strict';\n\nconst ErrorReportingMixinBase = require('./mixin-base');\nconst PositionTrackingPreprocessorMixin = require('../position-tracking/preprocessor-mixin');\nconst Mixin = require('../../utils/mixin');\n\nclass ErrorReportingPreprocessorMixin extends ErrorReportingMixinBase {\n constructor(preprocessor, opts) {\n super(preprocessor, opts);\n\n this.posTracker = Mixin.install(preprocessor, PositionTrackingPreprocessorMixin);\n this.lastErrOffset = -1;\n }\n\n _reportError(code) {\n //NOTE: avoid reporting error twice on advance/retreat\n if (this.lastErrOffset !== this.posTracker.offset) {\n this.lastErrOffset = this.posTracker.offset;\n super._reportError(code);\n }\n }\n}\n\nmodule.exports = ErrorReportingPreprocessorMixin;\n","'use strict';\n\nconst ErrorReportingMixinBase = require('./mixin-base');\nconst ErrorReportingPreprocessorMixin = require('./preprocessor-mixin');\nconst Mixin = require('../../utils/mixin');\n\nclass ErrorReportingTokenizerMixin extends ErrorReportingMixinBase {\n constructor(tokenizer, opts) {\n super(tokenizer, opts);\n\n const preprocessorMixin = Mixin.install(tokenizer.preprocessor, ErrorReportingPreprocessorMixin, opts);\n\n this.posTracker = preprocessorMixin.posTracker;\n }\n}\n\nmodule.exports = ErrorReportingTokenizerMixin;\n","'use strict';\n\nconst Mixin = require('../../utils/mixin');\n\nclass LocationInfoOpenElementStackMixin extends Mixin {\n constructor(stack, opts) {\n super(stack);\n\n this.onItemPop = opts.onItemPop;\n }\n\n _getOverriddenMethods(mxn, orig) {\n return {\n pop() {\n mxn.onItemPop(this.current);\n orig.pop.call(this);\n },\n\n popAllUpToHtmlElement() {\n for (let i = this.stackTop; i > 0; i--) {\n mxn.onItemPop(this.items[i]);\n }\n\n orig.popAllUpToHtmlElement.call(this);\n },\n\n remove(element) {\n mxn.onItemPop(this.current);\n orig.remove.call(this, element);\n }\n };\n }\n}\n\nmodule.exports = LocationInfoOpenElementStackMixin;\n","'use strict';\n\nconst Mixin = require('../../utils/mixin');\nconst Tokenizer = require('../../tokenizer');\nconst LocationInfoTokenizerMixin = require('./tokenizer-mixin');\nconst LocationInfoOpenElementStackMixin = require('./open-element-stack-mixin');\nconst HTML = require('../../common/html');\n\n//Aliases\nconst $ = HTML.TAG_NAMES;\n\nclass LocationInfoParserMixin extends Mixin {\n constructor(parser) {\n super(parser);\n\n this.parser = parser;\n this.treeAdapter = this.parser.treeAdapter;\n this.posTracker = null;\n this.lastStartTagToken = null;\n this.lastFosterParentingLocation = null;\n this.currentToken = null;\n }\n\n _setStartLocation(element) {\n let loc = null;\n\n if (this.lastStartTagToken) {\n loc = Object.assign({}, this.lastStartTagToken.location);\n loc.startTag = this.lastStartTagToken.location;\n }\n\n this.treeAdapter.setNodeSourceCodeLocation(element, loc);\n }\n\n _setEndLocation(element, closingToken) {\n const loc = this.treeAdapter.getNodeSourceCodeLocation(element);\n\n if (loc) {\n if (closingToken.location) {\n const ctLoc = closingToken.location;\n const tn = this.treeAdapter.getTagName(element);\n\n // NOTE: For cases like <p> <p> </p> - First 'p' closes without a closing\n // tag and for cases like <td> <p> </td> - 'p' closes without a closing tag.\n const isClosingEndTag = closingToken.type === Tokenizer.END_TAG_TOKEN && tn === closingToken.tagName;\n const endLoc = {};\n if (isClosingEndTag) {\n endLoc.endTag = Object.assign({}, ctLoc);\n endLoc.endLine = ctLoc.endLine;\n endLoc.endCol = ctLoc.endCol;\n endLoc.endOffset = ctLoc.endOffset;\n } else {\n endLoc.endLine = ctLoc.startLine;\n endLoc.endCol = ctLoc.startCol;\n endLoc.endOffset = ctLoc.startOffset;\n }\n\n this.treeAdapter.updateNodeSourceCodeLocation(element, endLoc);\n }\n }\n }\n\n _getOverriddenMethods(mxn, orig) {\n return {\n _bootstrap(document, fragmentContext) {\n orig._bootstrap.call(this, document, fragmentContext);\n\n mxn.lastStartTagToken = null;\n mxn.lastFosterParentingLocation = null;\n mxn.currentToken = null;\n\n const tokenizerMixin = Mixin.install(this.tokenizer, LocationInfoTokenizerMixin);\n\n mxn.posTracker = tokenizerMixin.posTracker;\n\n Mixin.install(this.openElements, LocationInfoOpenElementStackMixin, {\n onItemPop: function(element) {\n mxn._setEndLocation(element, mxn.currentToken);\n }\n });\n },\n\n _runParsingLoop(scriptHandler) {\n orig._runParsingLoop.call(this, scriptHandler);\n\n // NOTE: generate location info for elements\n // that remains on open element stack\n for (let i = this.openElements.stackTop; i >= 0; i--) {\n mxn._setEndLocation(this.openElements.items[i], mxn.currentToken);\n }\n },\n\n //Token processing\n _processTokenInForeignContent(token) {\n mxn.currentToken = token;\n orig._processTokenInForeignContent.call(this, token);\n },\n\n _processToken(token) {\n mxn.currentToken = token;\n orig._processToken.call(this, token);\n\n //NOTE: <body> and <html> are never popped from the stack, so we need to updated\n //their end location explicitly.\n const requireExplicitUpdate =\n token.type === Tokenizer.END_TAG_TOKEN &&\n (token.tagName === $.HTML || (token.tagName === $.BODY && this.openElements.hasInScope($.BODY)));\n\n if (requireExplicitUpdate) {\n for (let i = this.openElements.stackTop; i >= 0; i--) {\n const element = this.openElements.items[i];\n\n if (this.treeAdapter.getTagName(element) === token.tagName) {\n mxn._setEndLocation(element, token);\n break;\n }\n }\n }\n },\n\n //Doctype\n _setDocumentType(token) {\n orig._setDocumentType.call(this, token);\n\n const documentChildren = this.treeAdapter.getChildNodes(this.document);\n const cnLength = documentChildren.length;\n\n for (let i = 0; i < cnLength; i++) {\n const node = documentChildren[i];\n\n if (this.treeAdapter.isDocumentTypeNode(node)) {\n this.treeAdapter.setNodeSourceCodeLocation(node, token.location);\n break;\n }\n }\n },\n\n //Elements\n _attachElementToTree(element) {\n //NOTE: _attachElementToTree is called from _appendElement, _insertElement and _insertTemplate methods.\n //So we will use token location stored in this methods for the element.\n mxn._setStartLocation(element);\n mxn.lastStartTagToken = null;\n orig._attachElementToTree.call(this, element);\n },\n\n _appendElement(token, namespaceURI) {\n mxn.lastStartTagToken = token;\n orig._appendElement.call(this, token, namespaceURI);\n },\n\n _insertElement(token, namespaceURI) {\n mxn.lastStartTagToken = token;\n orig._insertElement.call(this, token, namespaceURI);\n },\n\n _insertTemplate(token) {\n mxn.lastStartTagToken = token;\n orig._insertTemplate.call(this, token);\n\n const tmplContent = this.treeAdapter.getTemplateContent(this.openElements.current);\n\n this.treeAdapter.setNodeSourceCodeLocation(tmplContent, null);\n },\n\n _insertFakeRootElement() {\n orig._insertFakeRootElement.call(this);\n this.treeAdapter.setNodeSourceCodeLocation(this.openElements.current, null);\n },\n\n //Comments\n _appendCommentNode(token, parent) {\n orig._appendCommentNode.call(this, token, parent);\n\n const children = this.treeAdapter.getChildNodes(parent);\n const commentNode = children[children.length - 1];\n\n this.treeAdapter.setNodeSourceCodeLocation(commentNode, token.location);\n },\n\n //Text\n _findFosterParentingLocation() {\n //NOTE: store last foster parenting location, so we will be able to find inserted text\n //in case of foster parenting\n mxn.lastFosterParentingLocation = orig._findFosterParentingLocation.call(this);\n\n return mxn.lastFosterParentingLocation;\n },\n\n _insertCharacters(token) {\n orig._insertCharacters.call(this, token);\n\n const hasFosterParent = this._shouldFosterParentOnInsertion();\n\n const parent =\n (hasFosterParent && mxn.lastFosterParentingLocation.parent) ||\n this.openElements.currentTmplContent ||\n this.openElements.current;\n\n const siblings = this.treeAdapter.getChildNodes(parent);\n\n const textNodeIdx =\n hasFosterParent && mxn.lastFosterParentingLocation.beforeElement\n ? siblings.indexOf(mxn.lastFosterParentingLocation.beforeElement) - 1\n : siblings.length - 1;\n\n const textNode = siblings[textNodeIdx];\n\n //NOTE: if we have location assigned by another token, then just update end position\n const tnLoc = this.treeAdapter.getNodeSourceCodeLocation(textNode);\n\n if (tnLoc) {\n const { endLine, endCol, endOffset } = token.location;\n this.treeAdapter.updateNodeSourceCodeLocation(textNode, { endLine, endCol, endOffset });\n } else {\n this.treeAdapter.setNodeSourceCodeLocation(textNode, token.location);\n }\n }\n };\n }\n}\n\nmodule.exports = LocationInfoParserMixin;\n","'use strict';\n\nconst Mixin = require('../../utils/mixin');\nconst Tokenizer = require('../../tokenizer');\nconst PositionTrackingPreprocessorMixin = require('../position-tracking/preprocessor-mixin');\n\nclass LocationInfoTokenizerMixin extends Mixin {\n constructor(tokenizer) {\n super(tokenizer);\n\n this.tokenizer = tokenizer;\n this.posTracker = Mixin.install(tokenizer.preprocessor, PositionTrackingPreprocessorMixin);\n this.currentAttrLocation = null;\n this.ctLoc = null;\n }\n\n _getCurrentLocation() {\n return {\n startLine: this.posTracker.line,\n startCol: this.posTracker.col,\n startOffset: this.posTracker.offset,\n endLine: -1,\n endCol: -1,\n endOffset: -1\n };\n }\n\n _attachCurrentAttrLocationInfo() {\n this.currentAttrLocation.endLine = this.posTracker.line;\n this.currentAttrLocation.endCol = this.posTracker.col;\n this.currentAttrLocation.endOffset = this.posTracker.offset;\n\n const currentToken = this.tokenizer.currentToken;\n const currentAttr = this.tokenizer.currentAttr;\n\n if (!currentToken.location.attrs) {\n currentToken.location.attrs = Object.create(null);\n }\n\n currentToken.location.attrs[currentAttr.name] = this.currentAttrLocation;\n }\n\n _getOverriddenMethods(mxn, orig) {\n const methods = {\n _createStartTagToken() {\n orig._createStartTagToken.call(this);\n this.currentToken.location = mxn.ctLoc;\n },\n\n _createEndTagToken() {\n orig._createEndTagToken.call(this);\n this.currentToken.location = mxn.ctLoc;\n },\n\n _createCommentToken() {\n orig._createCommentToken.call(this);\n this.currentToken.location = mxn.ctLoc;\n },\n\n _createDoctypeToken(initialName) {\n orig._createDoctypeToken.call(this, initialName);\n this.currentToken.location = mxn.ctLoc;\n },\n\n _createCharacterToken(type, ch) {\n orig._createCharacterToken.call(this, type, ch);\n this.currentCharacterToken.location = mxn.ctLoc;\n },\n\n _createEOFToken() {\n orig._createEOFToken.call(this);\n this.currentToken.location = mxn._getCurrentLocation();\n },\n\n _createAttr(attrNameFirstCh) {\n orig._createAttr.call(this, attrNameFirstCh);\n mxn.currentAttrLocation = mxn._getCurrentLocation();\n },\n\n _leaveAttrName(toState) {\n orig._leaveAttrName.call(this, toState);\n mxn._attachCurrentAttrLocationInfo();\n },\n\n _leaveAttrValue(toState) {\n orig._leaveAttrValue.call(this, toState);\n mxn._attachCurrentAttrLocationInfo();\n },\n\n _emitCurrentToken() {\n const ctLoc = this.currentToken.location;\n\n //NOTE: if we have pending character token make it's end location equal to the\n //current token's start location.\n if (this.currentCharacterToken) {\n this.currentCharacterToken.location.endLine = ctLoc.startLine;\n this.currentCharacterToken.location.endCol = ctLoc.startCol;\n this.currentCharacterToken.location.endOffset = ctLoc.startOffset;\n }\n\n if (this.currentToken.type === Tokenizer.EOF_TOKEN) {\n ctLoc.endLine = ctLoc.startLine;\n ctLoc.endCol = ctLoc.startCol;\n ctLoc.endOffset = ctLoc.startOffset;\n } else {\n ctLoc.endLine = mxn.posTracker.line;\n ctLoc.endCol = mxn.posTracker.col + 1;\n ctLoc.endOffset = mxn.posTracker.offset + 1;\n }\n\n orig._emitCurrentToken.call(this);\n },\n\n _emitCurrentCharacterToken() {\n const ctLoc = this.currentCharacterToken && this.currentCharacterToken.location;\n\n //NOTE: if we have character token and it's location wasn't set in the _emitCurrentToken(),\n //then set it's location at the current preprocessor position.\n //We don't need to increment preprocessor position, since character token\n //emission is always forced by the start of the next character token here.\n //So, we already have advanced position.\n if (ctLoc && ctLoc.endOffset === -1) {\n ctLoc.endLine = mxn.posTracker.line;\n ctLoc.endCol = mxn.posTracker.col;\n ctLoc.endOffset = mxn.posTracker.offset;\n }\n\n orig._emitCurrentCharacterToken.call(this);\n }\n };\n\n //NOTE: patch initial states for each mode to obtain token start position\n Object.keys(Tokenizer.MODE).forEach(modeName => {\n const state = Tokenizer.MODE[modeName];\n\n methods[state] = function(cp) {\n mxn.ctLoc = mxn._getCurrentLocation();\n orig[state].call(this, cp);\n };\n });\n\n return methods;\n }\n}\n\nmodule.exports = LocationInfoTokenizerMixin;\n","'use strict';\n\nconst Mixin = require('../../utils/mixin');\n\nclass PositionTrackingPreprocessorMixin extends Mixin {\n constructor(preprocessor) {\n super(preprocessor);\n\n this.preprocessor = preprocessor;\n this.isEol = false;\n this.lineStartPos = 0;\n this.droppedBufferSize = 0;\n\n this.offset = 0;\n this.col = 0;\n this.line = 1;\n }\n\n _getOverriddenMethods(mxn, orig) {\n return {\n advance() {\n const pos = this.pos + 1;\n const ch = this.html[pos];\n\n //NOTE: LF should be in the last column of the line\n if (mxn.isEol) {\n mxn.isEol = false;\n mxn.line++;\n mxn.lineStartPos = pos;\n }\n\n if (ch === '\\n' || (ch === '\\r' && this.html[pos + 1] !== '\\n')) {\n mxn.isEol = true;\n }\n\n mxn.col = pos - mxn.lineStartPos + 1;\n mxn.offset = mxn.droppedBufferSize + pos;\n\n return orig.advance.call(this);\n },\n\n retreat() {\n orig.retreat.call(this);\n\n mxn.isEol = false;\n mxn.col = this.pos - mxn.lineStartPos + 1;\n },\n\n dropParsedChunk() {\n const prevPos = this.pos;\n\n orig.dropParsedChunk.call(this);\n\n const reduction = prevPos - this.pos;\n\n mxn.lineStartPos -= reduction;\n mxn.droppedBufferSize += reduction;\n mxn.offset = mxn.droppedBufferSize + this.pos;\n }\n };\n }\n}\n\nmodule.exports = PositionTrackingPreprocessorMixin;\n","'use strict';\n\n//Const\nconst NOAH_ARK_CAPACITY = 3;\n\n//List of formatting elements\nclass FormattingElementList {\n constructor(treeAdapter) {\n this.length = 0;\n this.entries = [];\n this.treeAdapter = treeAdapter;\n this.bookmark = null;\n }\n\n //Noah Ark's condition\n //OPTIMIZATION: at first we try to find possible candidates for exclusion using\n //lightweight heuristics without thorough attributes check.\n _getNoahArkConditionCandidates(newElement) {\n const candidates = [];\n\n if (this.length >= NOAH_ARK_CAPACITY) {\n const neAttrsLength = this.treeAdapter.getAttrList(newElement).length;\n const neTagName = this.treeAdapter.getTagName(newElement);\n const neNamespaceURI = this.treeAdapter.getNamespaceURI(newElement);\n\n for (let i = this.length - 1; i >= 0; i--) {\n const entry = this.entries[i];\n\n if (entry.type === FormattingElementList.MARKER_ENTRY) {\n break;\n }\n\n const element = entry.element;\n const elementAttrs = this.treeAdapter.getAttrList(element);\n\n const isCandidate =\n this.treeAdapter.getTagName(element) === neTagName &&\n this.treeAdapter.getNamespaceURI(element) === neNamespaceURI &&\n elementAttrs.length === neAttrsLength;\n\n if (isCandidate) {\n candidates.push({ idx: i, attrs: elementAttrs });\n }\n }\n }\n\n return candidates.length < NOAH_ARK_CAPACITY ? [] : candidates;\n }\n\n _ensureNoahArkCondition(newElement) {\n const candidates = this._getNoahArkConditionCandidates(newElement);\n let cLength = candidates.length;\n\n if (cLength) {\n const neAttrs = this.treeAdapter.getAttrList(newElement);\n const neAttrsLength = neAttrs.length;\n const neAttrsMap = Object.create(null);\n\n //NOTE: build attrs map for the new element so we can perform fast lookups\n for (let i = 0; i < neAttrsLength; i++) {\n const neAttr = neAttrs[i];\n\n neAttrsMap[neAttr.name] = neAttr.value;\n }\n\n for (let i = 0; i < neAttrsLength; i++) {\n for (let j = 0; j < cLength; j++) {\n const cAttr = candidates[j].attrs[i];\n\n if (neAttrsMap[cAttr.name] !== cAttr.value) {\n candidates.splice(j, 1);\n cLength--;\n }\n\n if (candidates.length < NOAH_ARK_CAPACITY) {\n return;\n }\n }\n }\n\n //NOTE: remove bottommost candidates until Noah's Ark condition will not be met\n for (let i = cLength - 1; i >= NOAH_ARK_CAPACITY - 1; i--) {\n this.entries.splice(candidates[i].idx, 1);\n this.length--;\n }\n }\n }\n\n //Mutations\n insertMarker() {\n this.entries.push({ type: FormattingElementList.MARKER_ENTRY });\n this.length++;\n }\n\n pushElement(element, token) {\n this._ensureNoahArkCondition(element);\n\n this.entries.push({\n type: FormattingElementList.ELEMENT_ENTRY,\n element: element,\n token: token\n });\n\n this.length++;\n }\n\n insertElementAfterBookmark(element, token) {\n let bookmarkIdx = this.length - 1;\n\n for (; bookmarkIdx >= 0; bookmarkIdx--) {\n if (this.entries[bookmarkIdx] === this.bookmark) {\n break;\n }\n }\n\n this.entries.splice(bookmarkIdx + 1, 0, {\n type: FormattingElementList.ELEMENT_ENTRY,\n element: element,\n token: token\n });\n\n this.length++;\n }\n\n removeEntry(entry) {\n for (let i = this.length - 1; i >= 0; i--) {\n if (this.entries[i] === entry) {\n this.entries.splice(i, 1);\n this.length--;\n break;\n }\n }\n }\n\n clearToLastMarker() {\n while (this.length) {\n const entry = this.entries.pop();\n\n this.length--;\n\n if (entry.type === FormattingElementList.MARKER_ENTRY) {\n break;\n }\n }\n }\n\n //Search\n getElementEntryInScopeWithTagName(tagName) {\n for (let i = this.length - 1; i >= 0; i--) {\n const entry = this.entries[i];\n\n if (entry.type === FormattingElementList.MARKER_ENTRY) {\n return null;\n }\n\n if (this.treeAdapter.getTagName(entry.element) === tagName) {\n return entry;\n }\n }\n\n return null;\n }\n\n getElementEntry(element) {\n for (let i = this.length - 1; i >= 0; i--) {\n const entry = this.entries[i];\n\n if (entry.type === FormattingElementList.ELEMENT_ENTRY && entry.element === element) {\n return entry;\n }\n }\n\n return null;\n }\n}\n\n//Entry types\nFormattingElementList.MARKER_ENTRY = 'MARKER_ENTRY';\nFormattingElementList.ELEMENT_ENTRY = 'ELEMENT_ENTRY';\n\nmodule.exports = FormattingElementList;\n","'use strict';\n\nconst Tokenizer = require('../tokenizer');\nconst OpenElementStack = require('./open-element-stack');\nconst FormattingElementList = require('./formatting-element-list');\nconst LocationInfoParserMixin = require('../extensions/location-info/parser-mixin');\nconst ErrorReportingParserMixin = require('../extensions/error-reporting/parser-mixin');\nconst Mixin = require('../utils/mixin');\nconst defaultTreeAdapter = require('../tree-adapters/default');\nconst mergeOptions = require('../utils/merge-options');\nconst doctype = require('../common/doctype');\nconst foreignContent = require('../common/foreign-content');\nconst ERR = require('../common/error-codes');\nconst unicode = require('../common/unicode');\nconst HTML = require('../common/html');\n\n//Aliases\nconst $ = HTML.TAG_NAMES;\nconst NS = HTML.NAMESPACES;\nconst ATTRS = HTML.ATTRS;\n\nconst DEFAULT_OPTIONS = {\n scriptingEnabled: true,\n sourceCodeLocationInfo: false,\n onParseError: null,\n treeAdapter: defaultTreeAdapter\n};\n\n//Misc constants\nconst HIDDEN_INPUT_TYPE = 'hidden';\n\n//Adoption agency loops iteration count\nconst AA_OUTER_LOOP_ITER = 8;\nconst AA_INNER_LOOP_ITER = 3;\n\n//Insertion modes\nconst INITIAL_MODE = 'INITIAL_MODE';\nconst BEFORE_HTML_MODE = 'BEFORE_HTML_MODE';\nconst BEFORE_HEAD_MODE = 'BEFORE_HEAD_MODE';\nconst IN_HEAD_MODE = 'IN_HEAD_MODE';\nconst IN_HEAD_NO_SCRIPT_MODE = 'IN_HEAD_NO_SCRIPT_MODE';\nconst AFTER_HEAD_MODE = 'AFTER_HEAD_MODE';\nconst IN_BODY_MODE = 'IN_BODY_MODE';\nconst TEXT_MODE = 'TEXT_MODE';\nconst IN_TABLE_MODE = 'IN_TABLE_MODE';\nconst IN_TABLE_TEXT_MODE = 'IN_TABLE_TEXT_MODE';\nconst IN_CAPTION_MODE = 'IN_CAPTION_MODE';\nconst IN_COLUMN_GROUP_MODE = 'IN_COLUMN_GROUP_MODE';\nconst IN_TABLE_BODY_MODE = 'IN_TABLE_BODY_MODE';\nconst IN_ROW_MODE = 'IN_ROW_MODE';\nconst IN_CELL_MODE = 'IN_CELL_MODE';\nconst IN_SELECT_MODE = 'IN_SELECT_MODE';\nconst IN_SELECT_IN_TABLE_MODE = 'IN_SELECT_IN_TABLE_MODE';\nconst IN_TEMPLATE_MODE = 'IN_TEMPLATE_MODE';\nconst AFTER_BODY_MODE = 'AFTER_BODY_MODE';\nconst IN_FRAMESET_MODE = 'IN_FRAMESET_MODE';\nconst AFTER_FRAMESET_MODE = 'AFTER_FRAMESET_MODE';\nconst AFTER_AFTER_BODY_MODE = 'AFTER_AFTER_BODY_MODE';\nconst AFTER_AFTER_FRAMESET_MODE = 'AFTER_AFTER_FRAMESET_MODE';\n\n//Insertion mode reset map\nconst INSERTION_MODE_RESET_MAP = {\n [$.TR]: IN_ROW_MODE,\n [$.TBODY]: IN_TABLE_BODY_MODE,\n [$.THEAD]: IN_TABLE_BODY_MODE,\n [$.TFOOT]: IN_TABLE_BODY_MODE,\n [$.CAPTION]: IN_CAPTION_MODE,\n [$.COLGROUP]: IN_COLUMN_GROUP_MODE,\n [$.TABLE]: IN_TABLE_MODE,\n [$.BODY]: IN_BODY_MODE,\n [$.FRAMESET]: IN_FRAMESET_MODE\n};\n\n//Template insertion mode switch map\nconst TEMPLATE_INSERTION_MODE_SWITCH_MAP = {\n [$.CAPTION]: IN_TABLE_MODE,\n [$.COLGROUP]: IN_TABLE_MODE,\n [$.TBODY]: IN_TABLE_MODE,\n [$.TFOOT]: IN_TABLE_MODE,\n [$.THEAD]: IN_TABLE_MODE,\n [$.COL]: IN_COLUMN_GROUP_MODE,\n [$.TR]: IN_TABLE_BODY_MODE,\n [$.TD]: IN_ROW_MODE,\n [$.TH]: IN_ROW_MODE\n};\n\n//Token handlers map for insertion modes\nconst TOKEN_HANDLERS = {\n [INITIAL_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenInInitialMode,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenInInitialMode,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: doctypeInInitialMode,\n [Tokenizer.START_TAG_TOKEN]: tokenInInitialMode,\n [Tokenizer.END_TAG_TOKEN]: tokenInInitialMode,\n [Tokenizer.EOF_TOKEN]: tokenInInitialMode\n },\n [BEFORE_HTML_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenBeforeHtml,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenBeforeHtml,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagBeforeHtml,\n [Tokenizer.END_TAG_TOKEN]: endTagBeforeHtml,\n [Tokenizer.EOF_TOKEN]: tokenBeforeHtml\n },\n [BEFORE_HEAD_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenBeforeHead,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenBeforeHead,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: misplacedDoctype,\n [Tokenizer.START_TAG_TOKEN]: startTagBeforeHead,\n [Tokenizer.END_TAG_TOKEN]: endTagBeforeHead,\n [Tokenizer.EOF_TOKEN]: tokenBeforeHead\n },\n [IN_HEAD_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenInHead,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenInHead,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: misplacedDoctype,\n [Tokenizer.START_TAG_TOKEN]: startTagInHead,\n [Tokenizer.END_TAG_TOKEN]: endTagInHead,\n [Tokenizer.EOF_TOKEN]: tokenInHead\n },\n [IN_HEAD_NO_SCRIPT_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenInHeadNoScript,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenInHeadNoScript,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: misplacedDoctype,\n [Tokenizer.START_TAG_TOKEN]: startTagInHeadNoScript,\n [Tokenizer.END_TAG_TOKEN]: endTagInHeadNoScript,\n [Tokenizer.EOF_TOKEN]: tokenInHeadNoScript\n },\n [AFTER_HEAD_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenAfterHead,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenAfterHead,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: misplacedDoctype,\n [Tokenizer.START_TAG_TOKEN]: startTagAfterHead,\n [Tokenizer.END_TAG_TOKEN]: endTagAfterHead,\n [Tokenizer.EOF_TOKEN]: tokenAfterHead\n },\n [IN_BODY_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: characterInBody,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInBody,\n [Tokenizer.END_TAG_TOKEN]: endTagInBody,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [TEXT_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.NULL_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: ignoreToken,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: ignoreToken,\n [Tokenizer.END_TAG_TOKEN]: endTagInText,\n [Tokenizer.EOF_TOKEN]: eofInText\n },\n [IN_TABLE_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.NULL_CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInTable,\n [Tokenizer.END_TAG_TOKEN]: endTagInTable,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [IN_TABLE_TEXT_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: characterInTableText,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInTableText,\n [Tokenizer.COMMENT_TOKEN]: tokenInTableText,\n [Tokenizer.DOCTYPE_TOKEN]: tokenInTableText,\n [Tokenizer.START_TAG_TOKEN]: tokenInTableText,\n [Tokenizer.END_TAG_TOKEN]: tokenInTableText,\n [Tokenizer.EOF_TOKEN]: tokenInTableText\n },\n [IN_CAPTION_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: characterInBody,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInCaption,\n [Tokenizer.END_TAG_TOKEN]: endTagInCaption,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [IN_COLUMN_GROUP_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenInColumnGroup,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenInColumnGroup,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInColumnGroup,\n [Tokenizer.END_TAG_TOKEN]: endTagInColumnGroup,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [IN_TABLE_BODY_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.NULL_CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInTableBody,\n [Tokenizer.END_TAG_TOKEN]: endTagInTableBody,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [IN_ROW_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.NULL_CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: characterInTable,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInRow,\n [Tokenizer.END_TAG_TOKEN]: endTagInRow,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [IN_CELL_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: characterInBody,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInCell,\n [Tokenizer.END_TAG_TOKEN]: endTagInCell,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [IN_SELECT_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInSelect,\n [Tokenizer.END_TAG_TOKEN]: endTagInSelect,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [IN_SELECT_IN_TABLE_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInSelectInTable,\n [Tokenizer.END_TAG_TOKEN]: endTagInSelectInTable,\n [Tokenizer.EOF_TOKEN]: eofInBody\n },\n [IN_TEMPLATE_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: characterInBody,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInTemplate,\n [Tokenizer.END_TAG_TOKEN]: endTagInTemplate,\n [Tokenizer.EOF_TOKEN]: eofInTemplate\n },\n [AFTER_BODY_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenAfterBody,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenAfterBody,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,\n [Tokenizer.COMMENT_TOKEN]: appendCommentToRootHtmlElement,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagAfterBody,\n [Tokenizer.END_TAG_TOKEN]: endTagAfterBody,\n [Tokenizer.EOF_TOKEN]: stopParsing\n },\n [IN_FRAMESET_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagInFrameset,\n [Tokenizer.END_TAG_TOKEN]: endTagInFrameset,\n [Tokenizer.EOF_TOKEN]: stopParsing\n },\n [AFTER_FRAMESET_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: insertCharacters,\n [Tokenizer.COMMENT_TOKEN]: appendComment,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagAfterFrameset,\n [Tokenizer.END_TAG_TOKEN]: endTagAfterFrameset,\n [Tokenizer.EOF_TOKEN]: stopParsing\n },\n [AFTER_AFTER_BODY_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: tokenAfterAfterBody,\n [Tokenizer.NULL_CHARACTER_TOKEN]: tokenAfterAfterBody,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,\n [Tokenizer.COMMENT_TOKEN]: appendCommentToDocument,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagAfterAfterBody,\n [Tokenizer.END_TAG_TOKEN]: tokenAfterAfterBody,\n [Tokenizer.EOF_TOKEN]: stopParsing\n },\n [AFTER_AFTER_FRAMESET_MODE]: {\n [Tokenizer.CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.NULL_CHARACTER_TOKEN]: ignoreToken,\n [Tokenizer.WHITESPACE_CHARACTER_TOKEN]: whitespaceCharacterInBody,\n [Tokenizer.COMMENT_TOKEN]: appendCommentToDocument,\n [Tokenizer.DOCTYPE_TOKEN]: ignoreToken,\n [Tokenizer.START_TAG_TOKEN]: startTagAfterAfterFrameset,\n [Tokenizer.END_TAG_TOKEN]: ignoreToken,\n [Tokenizer.EOF_TOKEN]: stopParsing\n }\n};\n\n//Parser\nclass Parser {\n constructor(options) {\n this.options = mergeOptions(DEFAULT_OPTIONS, options);\n\n this.treeAdapter = this.options.treeAdapter;\n this.pendingScript = null;\n\n if (this.options.sourceCodeLocationInfo) {\n Mixin.install(this, LocationInfoParserMixin);\n }\n\n if (this.options.onParseError) {\n Mixin.install(this, ErrorReportingParserMixin, { onParseError: this.options.onParseError });\n }\n }\n\n // API\n parse(html) {\n const document = this.treeAdapter.createDocument();\n\n this._bootstrap(document, null);\n this.tokenizer.write(html, true);\n this._runParsingLoop(null);\n\n return document;\n }\n\n parseFragment(html, fragmentContext) {\n //NOTE: use <template> element as a fragment context if context element was not provided,\n //so we will parse in \"forgiving\" manner\n if (!fragmentContext) {\n fragmentContext = this.treeAdapter.createElement($.TEMPLATE, NS.HTML, []);\n }\n\n //NOTE: create fake element which will be used as 'document' for fragment parsing.\n //This is important for jsdom there 'document' can't be recreated, therefore\n //fragment parsing causes messing of the main `document`.\n const documentMock = this.treeAdapter.createElement('documentmock', NS.HTML, []);\n\n this._bootstrap(documentMock, fragmentContext);\n\n if (this.treeAdapter.getTagName(fragmentContext) === $.TEMPLATE) {\n this._pushTmplInsertionMode(IN_TEMPLATE_MODE);\n }\n\n this._initTokenizerForFragmentParsing();\n this._insertFakeRootElement();\n this._resetInsertionMode();\n this._findFormInFragmentContext();\n this.tokenizer.write(html, true);\n this._runParsingLoop(null);\n\n const rootElement = this.treeAdapter.getFirstChild(documentMock);\n const fragment = this.treeAdapter.createDocumentFragment();\n\n this._adoptNodes(rootElement, fragment);\n\n return fragment;\n }\n\n //Bootstrap parser\n _bootstrap(document, fragmentContext) {\n this.tokenizer = new Tokenizer(this.options);\n\n this.stopped = false;\n\n this.insertionMode = INITIAL_MODE;\n this.originalInsertionMode = '';\n\n this.document = document;\n this.fragmentContext = fragmentContext;\n\n this.headElement = null;\n this.formElement = null;\n\n this.openElements = new OpenElementStack(this.document, this.treeAdapter);\n this.activeFormattingElements = new FormattingElementList(this.treeAdapter);\n\n this.tmplInsertionModeStack = [];\n this.tmplInsertionModeStackTop = -1;\n this.currentTmplInsertionMode = null;\n\n this.pendingCharacterTokens = [];\n this.hasNonWhitespacePendingCharacterToken = false;\n\n this.framesetOk = true;\n this.skipNextNewLine = false;\n this.fosterParentingEnabled = false;\n }\n\n //Errors\n _err() {\n // NOTE: err reporting is noop by default. Enabled by mixin.\n }\n\n //Parsing loop\n _runParsingLoop(scriptHandler) {\n while (!this.stopped) {\n this._setupTokenizerCDATAMode();\n\n const token = this.tokenizer.getNextToken();\n\n if (token.type === Tokenizer.HIBERNATION_TOKEN) {\n break;\n }\n\n if (this.skipNextNewLine) {\n this.skipNextNewLine = false;\n\n if (token.type === Tokenizer.WHITESPACE_CHARACTER_TOKEN && token.chars[0] === '\\n') {\n if (token.chars.length === 1) {\n continue;\n }\n\n token.chars = token.chars.substr(1);\n }\n }\n\n this._processInputToken(token);\n\n if (scriptHandler && this.pendingScript) {\n break;\n }\n }\n }\n\n runParsingLoopForCurrentChunk(writeCallback, scriptHandler) {\n this._runParsingLoop(scriptHandler);\n\n if (scriptHandler && this.pendingScript) {\n const script = this.pendingScript;\n\n this.pendingScript = null;\n\n scriptHandler(script);\n\n return;\n }\n\n if (writeCallback) {\n writeCallback();\n }\n }\n\n //Text parsing\n _setupTokenizerCDATAMode() {\n const current = this._getAdjustedCurrentElement();\n\n this.tokenizer.allowCDATA =\n current &&\n current !== this.document &&\n this.treeAdapter.getNamespaceURI(current) !== NS.HTML &&\n !this._isIntegrationPoint(current);\n }\n\n _switchToTextParsing(currentToken, nextTokenizerState) {\n this._insertElement(currentToken, NS.HTML);\n this.tokenizer.state = nextTokenizerState;\n this.originalInsertionMode = this.insertionMode;\n this.insertionMode = TEXT_MODE;\n }\n\n switchToPlaintextParsing() {\n this.insertionMode = TEXT_MODE;\n this.originalInsertionMode = IN_BODY_MODE;\n this.tokenizer.state = Tokenizer.MODE.PLAINTEXT;\n }\n\n //Fragment parsing\n _getAdjustedCurrentElement() {\n return this.openElements.stackTop === 0 && this.fragmentContext\n ? this.fragmentContext\n : this.openElements.current;\n }\n\n _findFormInFragmentContext() {\n let node = this.fragmentContext;\n\n do {\n if (this.treeAdapter.getTagName(node) === $.FORM) {\n this.formElement = node;\n break;\n }\n\n node = this.treeAdapter.getParentNode(node);\n } while (node);\n }\n\n _initTokenizerForFragmentParsing() {\n if (this.treeAdapter.getNamespaceURI(this.fragmentContext) === NS.HTML) {\n const tn = this.treeAdapter.getTagName(this.fragmentContext);\n\n if (tn === $.TITLE || tn === $.TEXTAREA) {\n this.tokenizer.state = Tokenizer.MODE.RCDATA;\n } else if (\n tn === $.STYLE ||\n tn === $.XMP ||\n tn === $.IFRAME ||\n tn === $.NOEMBED ||\n tn === $.NOFRAMES ||\n tn === $.NOSCRIPT\n ) {\n this.tokenizer.state = Tokenizer.MODE.RAWTEXT;\n } else if (tn === $.SCRIPT) {\n this.tokenizer.state = Tokenizer.MODE.SCRIPT_DATA;\n } else if (tn === $.PLAINTEXT) {\n this.tokenizer.state = Tokenizer.MODE.PLAINTEXT;\n }\n }\n }\n\n //Tree mutation\n _setDocumentType(token) {\n const name = token.name || '';\n const publicId = token.publicId || '';\n const systemId = token.systemId || '';\n\n this.treeAdapter.setDocumentType(this.document, name, publicId, systemId);\n }\n\n _attachElementToTree(element) {\n if (this._shouldFosterParentOnInsertion()) {\n this._fosterParentElement(element);\n } else {\n const parent = this.openElements.currentTmplContent || this.openElements.current;\n\n this.treeAdapter.appendChild(parent, element);\n }\n }\n\n _appendElement(token, namespaceURI) {\n const element = this.treeAdapter.createElement(token.tagName, namespaceURI, token.attrs);\n\n this._attachElementToTree(element);\n }\n\n _insertElement(token, namespaceURI) {\n const element = this.treeAdapter.createElement(token.tagName, namespaceURI, token.attrs);\n\n this._attachElementToTree(element);\n this.openElements.push(element);\n }\n\n _insertFakeElement(tagName) {\n const element = this.treeAdapter.createElement(tagName, NS.HTML, []);\n\n this._attachElementToTree(element);\n this.openElements.push(element);\n }\n\n _insertTemplate(token) {\n const tmpl = this.treeAdapter.createElement(token.tagName, NS.HTML, token.attrs);\n const content = this.treeAdapter.createDocumentFragment();\n\n this.treeAdapter.setTemplateContent(tmpl, content);\n this._attachElementToTree(tmpl);\n this.openElements.push(tmpl);\n }\n\n _insertFakeRootElement() {\n const element = this.treeAdapter.createElement($.HTML, NS.HTML, []);\n\n this.treeAdapter.appendChild(this.openElements.current, element);\n this.openElements.push(element);\n }\n\n _appendCommentNode(token, parent) {\n const commentNode = this.treeAdapter.createCommentNode(token.data);\n\n this.treeAdapter.appendChild(parent, commentNode);\n }\n\n _insertCharacters(token) {\n if (this._shouldFosterParentOnInsertion()) {\n this._fosterParentText(token.chars);\n } else {\n const parent = this.openElements.currentTmplContent || this.openElements.current;\n\n this.treeAdapter.insertText(parent, token.chars);\n }\n }\n\n _adoptNodes(donor, recipient) {\n for (let child = this.treeAdapter.getFirstChild(donor); child; child = this.treeAdapter.getFirstChild(donor)) {\n this.treeAdapter.detachNode(child);\n this.treeAdapter.appendChild(recipient, child);\n }\n }\n\n //Token processing\n _shouldProcessTokenInForeignContent(token) {\n const current = this._getAdjustedCurrentElement();\n\n if (!current || current === this.document) {\n return false;\n }\n\n const ns = this.treeAdapter.getNamespaceURI(current);\n\n if (ns === NS.HTML) {\n return false;\n }\n\n if (\n this.treeAdapter.getTagName(current) === $.ANNOTATION_XML &&\n ns === NS.MATHML &&\n token.type === Tokenizer.START_TAG_TOKEN &&\n token.tagName === $.SVG\n ) {\n return false;\n }\n\n const isCharacterToken =\n token.type === Tokenizer.CHARACTER_TOKEN ||\n token.type === Tokenizer.NULL_CHARACTER_TOKEN ||\n token.type === Tokenizer.WHITESPACE_CHARACTER_TOKEN;\n\n const isMathMLTextStartTag =\n token.type === Tokenizer.START_TAG_TOKEN && token.tagName !== $.MGLYPH && token.tagName !== $.MALIGNMARK;\n\n if ((isMathMLTextStartTag || isCharacterToken) && this._isIntegrationPoint(current, NS.MATHML)) {\n return false;\n }\n\n if (\n (token.type === Tokenizer.START_TAG_TOKEN || isCharacterToken) &&\n this._isIntegrationPoint(current, NS.HTML)\n ) {\n return false;\n }\n\n return token.type !== Tokenizer.EOF_TOKEN;\n }\n\n _processToken(token) {\n TOKEN_HANDLERS[this.insertionMode][token.type](this, token);\n }\n\n _processTokenInBodyMode(token) {\n TOKEN_HANDLERS[IN_BODY_MODE][token.type](this, token);\n }\n\n _processTokenInForeignContent(token) {\n if (token.type === Tokenizer.CHARACTER_TOKEN) {\n characterInForeignContent(this, token);\n } else if (token.type === Tokenizer.NULL_CHARACTER_TOKEN) {\n nullCharacterInForeignContent(this, token);\n } else if (token.type === Tokenizer.WHITESPACE_CHARACTER_TOKEN) {\n insertCharacters(this, token);\n } else if (token.type === Tokenizer.COMMENT_TOKEN) {\n appendComment(this, token);\n } else if (token.type === Tokenizer.START_TAG_TOKEN) {\n startTagInForeignContent(this, token);\n } else if (token.type === Tokenizer.END_TAG_TOKEN) {\n endTagInForeignContent(this, token);\n }\n }\n\n _processInputToken(token) {\n if (this._shouldProcessTokenInForeignContent(token)) {\n this._processTokenInForeignContent(token);\n } else {\n this._processToken(token);\n }\n\n if (token.type === Tokenizer.START_TAG_TOKEN && token.selfClosing && !token.ackSelfClosing) {\n this._err(ERR.nonVoidHtmlElementStartTagWithTrailingSolidus);\n }\n }\n\n //Integration points\n _isIntegrationPoint(element, foreignNS) {\n const tn = this.treeAdapter.getTagName(element);\n const ns = this.treeAdapter.getNamespaceURI(element);\n const attrs = this.treeAdapter.getAttrList(element);\n\n return foreignContent.isIntegrationPoint(tn, ns, attrs, foreignNS);\n }\n\n //Active formatting elements reconstruction\n _reconstructActiveFormattingElements() {\n const listLength = this.activeFormattingElements.length;\n\n if (listLength) {\n let unopenIdx = listLength;\n let entry = null;\n\n do {\n unopenIdx--;\n entry = this.activeFormattingElements.entries[unopenIdx];\n\n if (entry.type === FormattingElementList.MARKER_ENTRY || this.openElements.contains(entry.element)) {\n unopenIdx++;\n break;\n }\n } while (unopenIdx > 0);\n\n for (let i = unopenIdx; i < listLength; i++) {\n entry = this.activeFormattingElements.entries[i];\n this._insertElement(entry.token, this.treeAdapter.getNamespaceURI(entry.element));\n entry.element = this.openElements.current;\n }\n }\n }\n\n //Close elements\n _closeTableCell() {\n this.openElements.generateImpliedEndTags();\n this.openElements.popUntilTableCellPopped();\n this.activeFormattingElements.clearToLastMarker();\n this.insertionMode = IN_ROW_MODE;\n }\n\n _closePElement() {\n this.openElements.generateImpliedEndTagsWithExclusion($.P);\n this.openElements.popUntilTagNamePopped($.P);\n }\n\n //Insertion modes\n _resetInsertionMode() {\n for (let i = this.openElements.stackTop, last = false; i >= 0; i--) {\n let element = this.openElements.items[i];\n\n if (i === 0) {\n last = true;\n\n if (this.fragmentContext) {\n element = this.fragmentContext;\n }\n }\n\n const tn = this.treeAdapter.getTagName(element);\n const newInsertionMode = INSERTION_MODE_RESET_MAP[tn];\n\n if (newInsertionMode) {\n this.insertionMode = newInsertionMode;\n break;\n } else if (!last && (tn === $.TD || tn === $.TH)) {\n this.insertionMode = IN_CELL_MODE;\n break;\n } else if (!last && tn === $.HEAD) {\n this.insertionMode = IN_HEAD_MODE;\n break;\n } else if (tn === $.SELECT) {\n this._resetInsertionModeForSelect(i);\n break;\n } else if (tn === $.TEMPLATE) {\n this.insertionMode = this.currentTmplInsertionMode;\n break;\n } else if (tn === $.HTML) {\n this.insertionMode = this.headElement ? AFTER_HEAD_MODE : BEFORE_HEAD_MODE;\n break;\n } else if (last) {\n this.insertionMode = IN_BODY_MODE;\n break;\n }\n }\n }\n\n _resetInsertionModeForSelect(selectIdx) {\n if (selectIdx > 0) {\n for (let i = selectIdx - 1; i > 0; i--) {\n const ancestor = this.openElements.items[i];\n const tn = this.treeAdapter.getTagName(ancestor);\n\n if (tn === $.TEMPLATE) {\n break;\n } else if (tn === $.TABLE) {\n this.insertionMode = IN_SELECT_IN_TABLE_MODE;\n return;\n }\n }\n }\n\n this.insertionMode = IN_SELECT_MODE;\n }\n\n _pushTmplInsertionMode(mode) {\n this.tmplInsertionModeStack.push(mode);\n this.tmplInsertionModeStackTop++;\n this.currentTmplInsertionMode = mode;\n }\n\n _popTmplInsertionMode() {\n this.tmplInsertionModeStack.pop();\n this.tmplInsertionModeStackTop--;\n this.currentTmplInsertionMode = this.tmplInsertionModeStack[this.tmplInsertionModeStackTop];\n }\n\n //Foster parenting\n _isElementCausesFosterParenting(element) {\n const tn = this.treeAdapter.getTagName(element);\n\n return tn === $.TABLE || tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD || tn === $.TR;\n }\n\n _shouldFosterParentOnInsertion() {\n return this.fosterParentingEnabled && this._isElementCausesFosterParenting(this.openElements.current);\n }\n\n _findFosterParentingLocation() {\n const location = {\n parent: null,\n beforeElement: null\n };\n\n for (let i = this.openElements.stackTop; i >= 0; i--) {\n const openElement = this.openElements.items[i];\n const tn = this.treeAdapter.getTagName(openElement);\n const ns = this.treeAdapter.getNamespaceURI(openElement);\n\n if (tn === $.TEMPLATE && ns === NS.HTML) {\n location.parent = this.treeAdapter.getTemplateContent(openElement);\n break;\n } else if (tn === $.TABLE) {\n location.parent = this.treeAdapter.getParentNode(openElement);\n\n if (location.parent) {\n location.beforeElement = openElement;\n } else {\n location.parent = this.openElements.items[i - 1];\n }\n\n break;\n }\n }\n\n if (!location.parent) {\n location.parent = this.openElements.items[0];\n }\n\n return location;\n }\n\n _fosterParentElement(element) {\n const location = this._findFosterParentingLocation();\n\n if (location.beforeElement) {\n this.treeAdapter.insertBefore(location.parent, element, location.beforeElement);\n } else {\n this.treeAdapter.appendChild(location.parent, element);\n }\n }\n\n _fosterParentText(chars) {\n const location = this._findFosterParentingLocation();\n\n if (location.beforeElement) {\n this.treeAdapter.insertTextBefore(location.parent, chars, location.beforeElement);\n } else {\n this.treeAdapter.insertText(location.parent, chars);\n }\n }\n\n //Special elements\n _isSpecialElement(element) {\n const tn = this.treeAdapter.getTagName(element);\n const ns = this.treeAdapter.getNamespaceURI(element);\n\n return HTML.SPECIAL_ELEMENTS[ns][tn];\n }\n}\n\nmodule.exports = Parser;\n\n//Adoption agency algorithm\n//(see: http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#adoptionAgency)\n//------------------------------------------------------------------\n\n//Steps 5-8 of the algorithm\nfunction aaObtainFormattingElementEntry(p, token) {\n let formattingElementEntry = p.activeFormattingElements.getElementEntryInScopeWithTagName(token.tagName);\n\n if (formattingElementEntry) {\n if (!p.openElements.contains(formattingElementEntry.element)) {\n p.activeFormattingElements.removeEntry(formattingElementEntry);\n formattingElementEntry = null;\n } else if (!p.openElements.hasInScope(token.tagName)) {\n formattingElementEntry = null;\n }\n } else {\n genericEndTagInBody(p, token);\n }\n\n return formattingElementEntry;\n}\n\n//Steps 9 and 10 of the algorithm\nfunction aaObtainFurthestBlock(p, formattingElementEntry) {\n let furthestBlock = null;\n\n for (let i = p.openElements.stackTop; i >= 0; i--) {\n const element = p.openElements.items[i];\n\n if (element === formattingElementEntry.element) {\n break;\n }\n\n if (p._isSpecialElement(element)) {\n furthestBlock = element;\n }\n }\n\n if (!furthestBlock) {\n p.openElements.popUntilElementPopped(formattingElementEntry.element);\n p.activeFormattingElements.removeEntry(formattingElementEntry);\n }\n\n return furthestBlock;\n}\n\n//Step 13 of the algorithm\nfunction aaInnerLoop(p, furthestBlock, formattingElement) {\n let lastElement = furthestBlock;\n let nextElement = p.openElements.getCommonAncestor(furthestBlock);\n\n for (let i = 0, element = nextElement; element !== formattingElement; i++, element = nextElement) {\n //NOTE: store next element for the next loop iteration (it may be deleted from the stack by step 9.5)\n nextElement = p.openElements.getCommonAncestor(element);\n\n const elementEntry = p.activeFormattingElements.getElementEntry(element);\n const counterOverflow = elementEntry && i >= AA_INNER_LOOP_ITER;\n const shouldRemoveFromOpenElements = !elementEntry || counterOverflow;\n\n if (shouldRemoveFromOpenElements) {\n if (counterOverflow) {\n p.activeFormattingElements.removeEntry(elementEntry);\n }\n\n p.openElements.remove(element);\n } else {\n element = aaRecreateElementFromEntry(p, elementEntry);\n\n if (lastElement === furthestBlock) {\n p.activeFormattingElements.bookmark = elementEntry;\n }\n\n p.treeAdapter.detachNode(lastElement);\n p.treeAdapter.appendChild(element, lastElement);\n lastElement = element;\n }\n }\n\n return lastElement;\n}\n\n//Step 13.7 of the algorithm\nfunction aaRecreateElementFromEntry(p, elementEntry) {\n const ns = p.treeAdapter.getNamespaceURI(elementEntry.element);\n const newElement = p.treeAdapter.createElement(elementEntry.token.tagName, ns, elementEntry.token.attrs);\n\n p.openElements.replace(elementEntry.element, newElement);\n elementEntry.element = newElement;\n\n return newElement;\n}\n\n//Step 14 of the algorithm\nfunction aaInsertLastNodeInCommonAncestor(p, commonAncestor, lastElement) {\n if (p._isElementCausesFosterParenting(commonAncestor)) {\n p._fosterParentElement(lastElement);\n } else {\n const tn = p.treeAdapter.getTagName(commonAncestor);\n const ns = p.treeAdapter.getNamespaceURI(commonAncestor);\n\n if (tn === $.TEMPLATE && ns === NS.HTML) {\n commonAncestor = p.treeAdapter.getTemplateContent(commonAncestor);\n }\n\n p.treeAdapter.appendChild(commonAncestor, lastElement);\n }\n}\n\n//Steps 15-19 of the algorithm\nfunction aaReplaceFormattingElement(p, furthestBlock, formattingElementEntry) {\n const ns = p.treeAdapter.getNamespaceURI(formattingElementEntry.element);\n const token = formattingElementEntry.token;\n const newElement = p.treeAdapter.createElement(token.tagName, ns, token.attrs);\n\n p._adoptNodes(furthestBlock, newElement);\n p.treeAdapter.appendChild(furthestBlock, newElement);\n\n p.activeFormattingElements.insertElementAfterBookmark(newElement, formattingElementEntry.token);\n p.activeFormattingElements.removeEntry(formattingElementEntry);\n\n p.openElements.remove(formattingElementEntry.element);\n p.openElements.insertAfter(furthestBlock, newElement);\n}\n\n//Algorithm entry point\nfunction callAdoptionAgency(p, token) {\n let formattingElementEntry;\n\n for (let i = 0; i < AA_OUTER_LOOP_ITER; i++) {\n formattingElementEntry = aaObtainFormattingElementEntry(p, token, formattingElementEntry);\n\n if (!formattingElementEntry) {\n break;\n }\n\n const furthestBlock = aaObtainFurthestBlock(p, formattingElementEntry);\n\n if (!furthestBlock) {\n break;\n }\n\n p.activeFormattingElements.bookmark = formattingElementEntry;\n\n const lastElement = aaInnerLoop(p, furthestBlock, formattingElementEntry.element);\n const commonAncestor = p.openElements.getCommonAncestor(formattingElementEntry.element);\n\n p.treeAdapter.detachNode(lastElement);\n aaInsertLastNodeInCommonAncestor(p, commonAncestor, lastElement);\n aaReplaceFormattingElement(p, furthestBlock, formattingElementEntry);\n }\n}\n\n//Generic token handlers\n//------------------------------------------------------------------\nfunction ignoreToken() {\n //NOTE: do nothing =)\n}\n\nfunction misplacedDoctype(p) {\n p._err(ERR.misplacedDoctype);\n}\n\nfunction appendComment(p, token) {\n p._appendCommentNode(token, p.openElements.currentTmplContent || p.openElements.current);\n}\n\nfunction appendCommentToRootHtmlElement(p, token) {\n p._appendCommentNode(token, p.openElements.items[0]);\n}\n\nfunction appendCommentToDocument(p, token) {\n p._appendCommentNode(token, p.document);\n}\n\nfunction insertCharacters(p, token) {\n p._insertCharacters(token);\n}\n\nfunction stopParsing(p) {\n p.stopped = true;\n}\n\n// The \"initial\" insertion mode\n//------------------------------------------------------------------\nfunction doctypeInInitialMode(p, token) {\n p._setDocumentType(token);\n\n const mode = token.forceQuirks ? HTML.DOCUMENT_MODE.QUIRKS : doctype.getDocumentMode(token);\n\n if (!doctype.isConforming(token)) {\n p._err(ERR.nonConformingDoctype);\n }\n\n p.treeAdapter.setDocumentMode(p.document, mode);\n\n p.insertionMode = BEFORE_HTML_MODE;\n}\n\nfunction tokenInInitialMode(p, token) {\n p._err(ERR.missingDoctype, { beforeToken: true });\n p.treeAdapter.setDocumentMode(p.document, HTML.DOCUMENT_MODE.QUIRKS);\n p.insertionMode = BEFORE_HTML_MODE;\n p._processToken(token);\n}\n\n// The \"before html\" insertion mode\n//------------------------------------------------------------------\nfunction startTagBeforeHtml(p, token) {\n if (token.tagName === $.HTML) {\n p._insertElement(token, NS.HTML);\n p.insertionMode = BEFORE_HEAD_MODE;\n } else {\n tokenBeforeHtml(p, token);\n }\n}\n\nfunction endTagBeforeHtml(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML || tn === $.HEAD || tn === $.BODY || tn === $.BR) {\n tokenBeforeHtml(p, token);\n }\n}\n\nfunction tokenBeforeHtml(p, token) {\n p._insertFakeRootElement();\n p.insertionMode = BEFORE_HEAD_MODE;\n p._processToken(token);\n}\n\n// The \"before head\" insertion mode\n//------------------------------------------------------------------\nfunction startTagBeforeHead(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (tn === $.HEAD) {\n p._insertElement(token, NS.HTML);\n p.headElement = p.openElements.current;\n p.insertionMode = IN_HEAD_MODE;\n } else {\n tokenBeforeHead(p, token);\n }\n}\n\nfunction endTagBeforeHead(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HEAD || tn === $.BODY || tn === $.HTML || tn === $.BR) {\n tokenBeforeHead(p, token);\n } else {\n p._err(ERR.endTagWithoutMatchingOpenElement);\n }\n}\n\nfunction tokenBeforeHead(p, token) {\n p._insertFakeElement($.HEAD);\n p.headElement = p.openElements.current;\n p.insertionMode = IN_HEAD_MODE;\n p._processToken(token);\n}\n\n// The \"in head\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInHead(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (tn === $.BASE || tn === $.BASEFONT || tn === $.BGSOUND || tn === $.LINK || tn === $.META) {\n p._appendElement(token, NS.HTML);\n token.ackSelfClosing = true;\n } else if (tn === $.TITLE) {\n p._switchToTextParsing(token, Tokenizer.MODE.RCDATA);\n } else if (tn === $.NOSCRIPT) {\n if (p.options.scriptingEnabled) {\n p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT);\n } else {\n p._insertElement(token, NS.HTML);\n p.insertionMode = IN_HEAD_NO_SCRIPT_MODE;\n }\n } else if (tn === $.NOFRAMES || tn === $.STYLE) {\n p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT);\n } else if (tn === $.SCRIPT) {\n p._switchToTextParsing(token, Tokenizer.MODE.SCRIPT_DATA);\n } else if (tn === $.TEMPLATE) {\n p._insertTemplate(token, NS.HTML);\n p.activeFormattingElements.insertMarker();\n p.framesetOk = false;\n p.insertionMode = IN_TEMPLATE_MODE;\n p._pushTmplInsertionMode(IN_TEMPLATE_MODE);\n } else if (tn === $.HEAD) {\n p._err(ERR.misplacedStartTagForHeadElement);\n } else {\n tokenInHead(p, token);\n }\n}\n\nfunction endTagInHead(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HEAD) {\n p.openElements.pop();\n p.insertionMode = AFTER_HEAD_MODE;\n } else if (tn === $.BODY || tn === $.BR || tn === $.HTML) {\n tokenInHead(p, token);\n } else if (tn === $.TEMPLATE) {\n if (p.openElements.tmplCount > 0) {\n p.openElements.generateImpliedEndTagsThoroughly();\n\n if (p.openElements.currentTagName !== $.TEMPLATE) {\n p._err(ERR.closingOfElementWithOpenChildElements);\n }\n\n p.openElements.popUntilTagNamePopped($.TEMPLATE);\n p.activeFormattingElements.clearToLastMarker();\n p._popTmplInsertionMode();\n p._resetInsertionMode();\n } else {\n p._err(ERR.endTagWithoutMatchingOpenElement);\n }\n } else {\n p._err(ERR.endTagWithoutMatchingOpenElement);\n }\n}\n\nfunction tokenInHead(p, token) {\n p.openElements.pop();\n p.insertionMode = AFTER_HEAD_MODE;\n p._processToken(token);\n}\n\n// The \"in head no script\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInHeadNoScript(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (\n tn === $.BASEFONT ||\n tn === $.BGSOUND ||\n tn === $.HEAD ||\n tn === $.LINK ||\n tn === $.META ||\n tn === $.NOFRAMES ||\n tn === $.STYLE\n ) {\n startTagInHead(p, token);\n } else if (tn === $.NOSCRIPT) {\n p._err(ERR.nestedNoscriptInHead);\n } else {\n tokenInHeadNoScript(p, token);\n }\n}\n\nfunction endTagInHeadNoScript(p, token) {\n const tn = token.tagName;\n\n if (tn === $.NOSCRIPT) {\n p.openElements.pop();\n p.insertionMode = IN_HEAD_MODE;\n } else if (tn === $.BR) {\n tokenInHeadNoScript(p, token);\n } else {\n p._err(ERR.endTagWithoutMatchingOpenElement);\n }\n}\n\nfunction tokenInHeadNoScript(p, token) {\n const errCode =\n token.type === Tokenizer.EOF_TOKEN ? ERR.openElementsLeftAfterEof : ERR.disallowedContentInNoscriptInHead;\n\n p._err(errCode);\n p.openElements.pop();\n p.insertionMode = IN_HEAD_MODE;\n p._processToken(token);\n}\n\n// The \"after head\" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterHead(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (tn === $.BODY) {\n p._insertElement(token, NS.HTML);\n p.framesetOk = false;\n p.insertionMode = IN_BODY_MODE;\n } else if (tn === $.FRAMESET) {\n p._insertElement(token, NS.HTML);\n p.insertionMode = IN_FRAMESET_MODE;\n } else if (\n tn === $.BASE ||\n tn === $.BASEFONT ||\n tn === $.BGSOUND ||\n tn === $.LINK ||\n tn === $.META ||\n tn === $.NOFRAMES ||\n tn === $.SCRIPT ||\n tn === $.STYLE ||\n tn === $.TEMPLATE ||\n tn === $.TITLE\n ) {\n p._err(ERR.abandonedHeadElementChild);\n p.openElements.push(p.headElement);\n startTagInHead(p, token);\n p.openElements.remove(p.headElement);\n } else if (tn === $.HEAD) {\n p._err(ERR.misplacedStartTagForHeadElement);\n } else {\n tokenAfterHead(p, token);\n }\n}\n\nfunction endTagAfterHead(p, token) {\n const tn = token.tagName;\n\n if (tn === $.BODY || tn === $.HTML || tn === $.BR) {\n tokenAfterHead(p, token);\n } else if (tn === $.TEMPLATE) {\n endTagInHead(p, token);\n } else {\n p._err(ERR.endTagWithoutMatchingOpenElement);\n }\n}\n\nfunction tokenAfterHead(p, token) {\n p._insertFakeElement($.BODY);\n p.insertionMode = IN_BODY_MODE;\n p._processToken(token);\n}\n\n// The \"in body\" insertion mode\n//------------------------------------------------------------------\nfunction whitespaceCharacterInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertCharacters(token);\n}\n\nfunction characterInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertCharacters(token);\n p.framesetOk = false;\n}\n\nfunction htmlStartTagInBody(p, token) {\n if (p.openElements.tmplCount === 0) {\n p.treeAdapter.adoptAttributes(p.openElements.items[0], token.attrs);\n }\n}\n\nfunction bodyStartTagInBody(p, token) {\n const bodyElement = p.openElements.tryPeekProperlyNestedBodyElement();\n\n if (bodyElement && p.openElements.tmplCount === 0) {\n p.framesetOk = false;\n p.treeAdapter.adoptAttributes(bodyElement, token.attrs);\n }\n}\n\nfunction framesetStartTagInBody(p, token) {\n const bodyElement = p.openElements.tryPeekProperlyNestedBodyElement();\n\n if (p.framesetOk && bodyElement) {\n p.treeAdapter.detachNode(bodyElement);\n p.openElements.popAllUpToHtmlElement();\n p._insertElement(token, NS.HTML);\n p.insertionMode = IN_FRAMESET_MODE;\n }\n}\n\nfunction addressStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n p._insertElement(token, NS.HTML);\n}\n\nfunction numberedHeaderStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n const tn = p.openElements.currentTagName;\n\n if (tn === $.H1 || tn === $.H2 || tn === $.H3 || tn === $.H4 || tn === $.H5 || tn === $.H6) {\n p.openElements.pop();\n }\n\n p._insertElement(token, NS.HTML);\n}\n\nfunction preStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n p._insertElement(token, NS.HTML);\n //NOTE: If the next token is a U+000A LINE FEED (LF) character token, then ignore that token and move\n //on to the next one. (Newlines at the start of pre blocks are ignored as an authoring convenience.)\n p.skipNextNewLine = true;\n p.framesetOk = false;\n}\n\nfunction formStartTagInBody(p, token) {\n const inTemplate = p.openElements.tmplCount > 0;\n\n if (!p.formElement || inTemplate) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n p._insertElement(token, NS.HTML);\n\n if (!inTemplate) {\n p.formElement = p.openElements.current;\n }\n }\n}\n\nfunction listItemStartTagInBody(p, token) {\n p.framesetOk = false;\n\n const tn = token.tagName;\n\n for (let i = p.openElements.stackTop; i >= 0; i--) {\n const element = p.openElements.items[i];\n const elementTn = p.treeAdapter.getTagName(element);\n let closeTn = null;\n\n if (tn === $.LI && elementTn === $.LI) {\n closeTn = $.LI;\n } else if ((tn === $.DD || tn === $.DT) && (elementTn === $.DD || elementTn === $.DT)) {\n closeTn = elementTn;\n }\n\n if (closeTn) {\n p.openElements.generateImpliedEndTagsWithExclusion(closeTn);\n p.openElements.popUntilTagNamePopped(closeTn);\n break;\n }\n\n if (elementTn !== $.ADDRESS && elementTn !== $.DIV && elementTn !== $.P && p._isSpecialElement(element)) {\n break;\n }\n }\n\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n p._insertElement(token, NS.HTML);\n}\n\nfunction plaintextStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n p._insertElement(token, NS.HTML);\n p.tokenizer.state = Tokenizer.MODE.PLAINTEXT;\n}\n\nfunction buttonStartTagInBody(p, token) {\n if (p.openElements.hasInScope($.BUTTON)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped($.BUTTON);\n }\n\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n p.framesetOk = false;\n}\n\nfunction aStartTagInBody(p, token) {\n const activeElementEntry = p.activeFormattingElements.getElementEntryInScopeWithTagName($.A);\n\n if (activeElementEntry) {\n callAdoptionAgency(p, token);\n p.openElements.remove(activeElementEntry.element);\n p.activeFormattingElements.removeEntry(activeElementEntry);\n }\n\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n p.activeFormattingElements.pushElement(p.openElements.current, token);\n}\n\nfunction bStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n p.activeFormattingElements.pushElement(p.openElements.current, token);\n}\n\nfunction nobrStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n\n if (p.openElements.hasInScope($.NOBR)) {\n callAdoptionAgency(p, token);\n p._reconstructActiveFormattingElements();\n }\n\n p._insertElement(token, NS.HTML);\n p.activeFormattingElements.pushElement(p.openElements.current, token);\n}\n\nfunction appletStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n p.activeFormattingElements.insertMarker();\n p.framesetOk = false;\n}\n\nfunction tableStartTagInBody(p, token) {\n if (\n p.treeAdapter.getDocumentMode(p.document) !== HTML.DOCUMENT_MODE.QUIRKS &&\n p.openElements.hasInButtonScope($.P)\n ) {\n p._closePElement();\n }\n\n p._insertElement(token, NS.HTML);\n p.framesetOk = false;\n p.insertionMode = IN_TABLE_MODE;\n}\n\nfunction areaStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._appendElement(token, NS.HTML);\n p.framesetOk = false;\n token.ackSelfClosing = true;\n}\n\nfunction inputStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._appendElement(token, NS.HTML);\n\n const inputType = Tokenizer.getTokenAttr(token, ATTRS.TYPE);\n\n if (!inputType || inputType.toLowerCase() !== HIDDEN_INPUT_TYPE) {\n p.framesetOk = false;\n }\n\n token.ackSelfClosing = true;\n}\n\nfunction paramStartTagInBody(p, token) {\n p._appendElement(token, NS.HTML);\n token.ackSelfClosing = true;\n}\n\nfunction hrStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n p._appendElement(token, NS.HTML);\n p.framesetOk = false;\n token.ackSelfClosing = true;\n}\n\nfunction imageStartTagInBody(p, token) {\n token.tagName = $.IMG;\n areaStartTagInBody(p, token);\n}\n\nfunction textareaStartTagInBody(p, token) {\n p._insertElement(token, NS.HTML);\n //NOTE: If the next token is a U+000A LINE FEED (LF) character token, then ignore that token and move\n //on to the next one. (Newlines at the start of textarea elements are ignored as an authoring convenience.)\n p.skipNextNewLine = true;\n p.tokenizer.state = Tokenizer.MODE.RCDATA;\n p.originalInsertionMode = p.insertionMode;\n p.framesetOk = false;\n p.insertionMode = TEXT_MODE;\n}\n\nfunction xmpStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n p._reconstructActiveFormattingElements();\n p.framesetOk = false;\n p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT);\n}\n\nfunction iframeStartTagInBody(p, token) {\n p.framesetOk = false;\n p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT);\n}\n\n//NOTE: here we assume that we always act as an user agent with enabled plugins, so we parse\n//<noembed> as a rawtext.\nfunction noembedStartTagInBody(p, token) {\n p._switchToTextParsing(token, Tokenizer.MODE.RAWTEXT);\n}\n\nfunction selectStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n p.framesetOk = false;\n\n if (\n p.insertionMode === IN_TABLE_MODE ||\n p.insertionMode === IN_CAPTION_MODE ||\n p.insertionMode === IN_TABLE_BODY_MODE ||\n p.insertionMode === IN_ROW_MODE ||\n p.insertionMode === IN_CELL_MODE\n ) {\n p.insertionMode = IN_SELECT_IN_TABLE_MODE;\n } else {\n p.insertionMode = IN_SELECT_MODE;\n }\n}\n\nfunction optgroupStartTagInBody(p, token) {\n if (p.openElements.currentTagName === $.OPTION) {\n p.openElements.pop();\n }\n\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n}\n\nfunction rbStartTagInBody(p, token) {\n if (p.openElements.hasInScope($.RUBY)) {\n p.openElements.generateImpliedEndTags();\n }\n\n p._insertElement(token, NS.HTML);\n}\n\nfunction rtStartTagInBody(p, token) {\n if (p.openElements.hasInScope($.RUBY)) {\n p.openElements.generateImpliedEndTagsWithExclusion($.RTC);\n }\n\n p._insertElement(token, NS.HTML);\n}\n\nfunction menuStartTagInBody(p, token) {\n if (p.openElements.hasInButtonScope($.P)) {\n p._closePElement();\n }\n\n p._insertElement(token, NS.HTML);\n}\n\nfunction mathStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n\n foreignContent.adjustTokenMathMLAttrs(token);\n foreignContent.adjustTokenXMLAttrs(token);\n\n if (token.selfClosing) {\n p._appendElement(token, NS.MATHML);\n } else {\n p._insertElement(token, NS.MATHML);\n }\n\n token.ackSelfClosing = true;\n}\n\nfunction svgStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n\n foreignContent.adjustTokenSVGAttrs(token);\n foreignContent.adjustTokenXMLAttrs(token);\n\n if (token.selfClosing) {\n p._appendElement(token, NS.SVG);\n } else {\n p._insertElement(token, NS.SVG);\n }\n\n token.ackSelfClosing = true;\n}\n\nfunction genericStartTagInBody(p, token) {\n p._reconstructActiveFormattingElements();\n p._insertElement(token, NS.HTML);\n}\n\n//OPTIMIZATION: Integer comparisons are low-cost, so we can use very fast tag name length filters here.\n//It's faster than using dictionary.\nfunction startTagInBody(p, token) {\n const tn = token.tagName;\n\n switch (tn.length) {\n case 1:\n if (tn === $.I || tn === $.S || tn === $.B || tn === $.U) {\n bStartTagInBody(p, token);\n } else if (tn === $.P) {\n addressStartTagInBody(p, token);\n } else if (tn === $.A) {\n aStartTagInBody(p, token);\n } else {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 2:\n if (tn === $.DL || tn === $.OL || tn === $.UL) {\n addressStartTagInBody(p, token);\n } else if (tn === $.H1 || tn === $.H2 || tn === $.H3 || tn === $.H4 || tn === $.H5 || tn === $.H6) {\n numberedHeaderStartTagInBody(p, token);\n } else if (tn === $.LI || tn === $.DD || tn === $.DT) {\n listItemStartTagInBody(p, token);\n } else if (tn === $.EM || tn === $.TT) {\n bStartTagInBody(p, token);\n } else if (tn === $.BR) {\n areaStartTagInBody(p, token);\n } else if (tn === $.HR) {\n hrStartTagInBody(p, token);\n } else if (tn === $.RB) {\n rbStartTagInBody(p, token);\n } else if (tn === $.RT || tn === $.RP) {\n rtStartTagInBody(p, token);\n } else if (tn !== $.TH && tn !== $.TD && tn !== $.TR) {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 3:\n if (tn === $.DIV || tn === $.DIR || tn === $.NAV) {\n addressStartTagInBody(p, token);\n } else if (tn === $.PRE) {\n preStartTagInBody(p, token);\n } else if (tn === $.BIG) {\n bStartTagInBody(p, token);\n } else if (tn === $.IMG || tn === $.WBR) {\n areaStartTagInBody(p, token);\n } else if (tn === $.XMP) {\n xmpStartTagInBody(p, token);\n } else if (tn === $.SVG) {\n svgStartTagInBody(p, token);\n } else if (tn === $.RTC) {\n rbStartTagInBody(p, token);\n } else if (tn !== $.COL) {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 4:\n if (tn === $.HTML) {\n htmlStartTagInBody(p, token);\n } else if (tn === $.BASE || tn === $.LINK || tn === $.META) {\n startTagInHead(p, token);\n } else if (tn === $.BODY) {\n bodyStartTagInBody(p, token);\n } else if (tn === $.MAIN || tn === $.MENU) {\n addressStartTagInBody(p, token);\n } else if (tn === $.FORM) {\n formStartTagInBody(p, token);\n } else if (tn === $.CODE || tn === $.FONT) {\n bStartTagInBody(p, token);\n } else if (tn === $.NOBR) {\n nobrStartTagInBody(p, token);\n } else if (tn === $.AREA) {\n areaStartTagInBody(p, token);\n } else if (tn === $.MATH) {\n mathStartTagInBody(p, token);\n } else if (tn === $.MENU) {\n menuStartTagInBody(p, token);\n } else if (tn !== $.HEAD) {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 5:\n if (tn === $.STYLE || tn === $.TITLE) {\n startTagInHead(p, token);\n } else if (tn === $.ASIDE) {\n addressStartTagInBody(p, token);\n } else if (tn === $.SMALL) {\n bStartTagInBody(p, token);\n } else if (tn === $.TABLE) {\n tableStartTagInBody(p, token);\n } else if (tn === $.EMBED) {\n areaStartTagInBody(p, token);\n } else if (tn === $.INPUT) {\n inputStartTagInBody(p, token);\n } else if (tn === $.PARAM || tn === $.TRACK) {\n paramStartTagInBody(p, token);\n } else if (tn === $.IMAGE) {\n imageStartTagInBody(p, token);\n } else if (tn !== $.FRAME && tn !== $.TBODY && tn !== $.TFOOT && tn !== $.THEAD) {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 6:\n if (tn === $.SCRIPT) {\n startTagInHead(p, token);\n } else if (\n tn === $.CENTER ||\n tn === $.FIGURE ||\n tn === $.FOOTER ||\n tn === $.HEADER ||\n tn === $.HGROUP ||\n tn === $.DIALOG\n ) {\n addressStartTagInBody(p, token);\n } else if (tn === $.BUTTON) {\n buttonStartTagInBody(p, token);\n } else if (tn === $.STRIKE || tn === $.STRONG) {\n bStartTagInBody(p, token);\n } else if (tn === $.APPLET || tn === $.OBJECT) {\n appletStartTagInBody(p, token);\n } else if (tn === $.KEYGEN) {\n areaStartTagInBody(p, token);\n } else if (tn === $.SOURCE) {\n paramStartTagInBody(p, token);\n } else if (tn === $.IFRAME) {\n iframeStartTagInBody(p, token);\n } else if (tn === $.SELECT) {\n selectStartTagInBody(p, token);\n } else if (tn === $.OPTION) {\n optgroupStartTagInBody(p, token);\n } else {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 7:\n if (tn === $.BGSOUND) {\n startTagInHead(p, token);\n } else if (\n tn === $.DETAILS ||\n tn === $.ADDRESS ||\n tn === $.ARTICLE ||\n tn === $.SECTION ||\n tn === $.SUMMARY\n ) {\n addressStartTagInBody(p, token);\n } else if (tn === $.LISTING) {\n preStartTagInBody(p, token);\n } else if (tn === $.MARQUEE) {\n appletStartTagInBody(p, token);\n } else if (tn === $.NOEMBED) {\n noembedStartTagInBody(p, token);\n } else if (tn !== $.CAPTION) {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 8:\n if (tn === $.BASEFONT) {\n startTagInHead(p, token);\n } else if (tn === $.FRAMESET) {\n framesetStartTagInBody(p, token);\n } else if (tn === $.FIELDSET) {\n addressStartTagInBody(p, token);\n } else if (tn === $.TEXTAREA) {\n textareaStartTagInBody(p, token);\n } else if (tn === $.TEMPLATE) {\n startTagInHead(p, token);\n } else if (tn === $.NOSCRIPT) {\n if (p.options.scriptingEnabled) {\n noembedStartTagInBody(p, token);\n } else {\n genericStartTagInBody(p, token);\n }\n } else if (tn === $.OPTGROUP) {\n optgroupStartTagInBody(p, token);\n } else if (tn !== $.COLGROUP) {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 9:\n if (tn === $.PLAINTEXT) {\n plaintextStartTagInBody(p, token);\n } else {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n case 10:\n if (tn === $.BLOCKQUOTE || tn === $.FIGCAPTION) {\n addressStartTagInBody(p, token);\n } else {\n genericStartTagInBody(p, token);\n }\n\n break;\n\n default:\n genericStartTagInBody(p, token);\n }\n}\n\nfunction bodyEndTagInBody(p) {\n if (p.openElements.hasInScope($.BODY)) {\n p.insertionMode = AFTER_BODY_MODE;\n }\n}\n\nfunction htmlEndTagInBody(p, token) {\n if (p.openElements.hasInScope($.BODY)) {\n p.insertionMode = AFTER_BODY_MODE;\n p._processToken(token);\n }\n}\n\nfunction addressEndTagInBody(p, token) {\n const tn = token.tagName;\n\n if (p.openElements.hasInScope(tn)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped(tn);\n }\n}\n\nfunction formEndTagInBody(p) {\n const inTemplate = p.openElements.tmplCount > 0;\n const formElement = p.formElement;\n\n if (!inTemplate) {\n p.formElement = null;\n }\n\n if ((formElement || inTemplate) && p.openElements.hasInScope($.FORM)) {\n p.openElements.generateImpliedEndTags();\n\n if (inTemplate) {\n p.openElements.popUntilTagNamePopped($.FORM);\n } else {\n p.openElements.remove(formElement);\n }\n }\n}\n\nfunction pEndTagInBody(p) {\n if (!p.openElements.hasInButtonScope($.P)) {\n p._insertFakeElement($.P);\n }\n\n p._closePElement();\n}\n\nfunction liEndTagInBody(p) {\n if (p.openElements.hasInListItemScope($.LI)) {\n p.openElements.generateImpliedEndTagsWithExclusion($.LI);\n p.openElements.popUntilTagNamePopped($.LI);\n }\n}\n\nfunction ddEndTagInBody(p, token) {\n const tn = token.tagName;\n\n if (p.openElements.hasInScope(tn)) {\n p.openElements.generateImpliedEndTagsWithExclusion(tn);\n p.openElements.popUntilTagNamePopped(tn);\n }\n}\n\nfunction numberedHeaderEndTagInBody(p) {\n if (p.openElements.hasNumberedHeaderInScope()) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilNumberedHeaderPopped();\n }\n}\n\nfunction appletEndTagInBody(p, token) {\n const tn = token.tagName;\n\n if (p.openElements.hasInScope(tn)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped(tn);\n p.activeFormattingElements.clearToLastMarker();\n }\n}\n\nfunction brEndTagInBody(p) {\n p._reconstructActiveFormattingElements();\n p._insertFakeElement($.BR);\n p.openElements.pop();\n p.framesetOk = false;\n}\n\nfunction genericEndTagInBody(p, token) {\n const tn = token.tagName;\n\n for (let i = p.openElements.stackTop; i > 0; i--) {\n const element = p.openElements.items[i];\n\n if (p.treeAdapter.getTagName(element) === tn) {\n p.openElements.generateImpliedEndTagsWithExclusion(tn);\n p.openElements.popUntilElementPopped(element);\n break;\n }\n\n if (p._isSpecialElement(element)) {\n break;\n }\n }\n}\n\n//OPTIMIZATION: Integer comparisons are low-cost, so we can use very fast tag name length filters here.\n//It's faster than using dictionary.\nfunction endTagInBody(p, token) {\n const tn = token.tagName;\n\n switch (tn.length) {\n case 1:\n if (tn === $.A || tn === $.B || tn === $.I || tn === $.S || tn === $.U) {\n callAdoptionAgency(p, token);\n } else if (tn === $.P) {\n pEndTagInBody(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n case 2:\n if (tn === $.DL || tn === $.UL || tn === $.OL) {\n addressEndTagInBody(p, token);\n } else if (tn === $.LI) {\n liEndTagInBody(p, token);\n } else if (tn === $.DD || tn === $.DT) {\n ddEndTagInBody(p, token);\n } else if (tn === $.H1 || tn === $.H2 || tn === $.H3 || tn === $.H4 || tn === $.H5 || tn === $.H6) {\n numberedHeaderEndTagInBody(p, token);\n } else if (tn === $.BR) {\n brEndTagInBody(p, token);\n } else if (tn === $.EM || tn === $.TT) {\n callAdoptionAgency(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n case 3:\n if (tn === $.BIG) {\n callAdoptionAgency(p, token);\n } else if (tn === $.DIR || tn === $.DIV || tn === $.NAV || tn === $.PRE) {\n addressEndTagInBody(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n case 4:\n if (tn === $.BODY) {\n bodyEndTagInBody(p, token);\n } else if (tn === $.HTML) {\n htmlEndTagInBody(p, token);\n } else if (tn === $.FORM) {\n formEndTagInBody(p, token);\n } else if (tn === $.CODE || tn === $.FONT || tn === $.NOBR) {\n callAdoptionAgency(p, token);\n } else if (tn === $.MAIN || tn === $.MENU) {\n addressEndTagInBody(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n case 5:\n if (tn === $.ASIDE) {\n addressEndTagInBody(p, token);\n } else if (tn === $.SMALL) {\n callAdoptionAgency(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n case 6:\n if (\n tn === $.CENTER ||\n tn === $.FIGURE ||\n tn === $.FOOTER ||\n tn === $.HEADER ||\n tn === $.HGROUP ||\n tn === $.DIALOG\n ) {\n addressEndTagInBody(p, token);\n } else if (tn === $.APPLET || tn === $.OBJECT) {\n appletEndTagInBody(p, token);\n } else if (tn === $.STRIKE || tn === $.STRONG) {\n callAdoptionAgency(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n case 7:\n if (\n tn === $.ADDRESS ||\n tn === $.ARTICLE ||\n tn === $.DETAILS ||\n tn === $.SECTION ||\n tn === $.SUMMARY ||\n tn === $.LISTING\n ) {\n addressEndTagInBody(p, token);\n } else if (tn === $.MARQUEE) {\n appletEndTagInBody(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n case 8:\n if (tn === $.FIELDSET) {\n addressEndTagInBody(p, token);\n } else if (tn === $.TEMPLATE) {\n endTagInHead(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n case 10:\n if (tn === $.BLOCKQUOTE || tn === $.FIGCAPTION) {\n addressEndTagInBody(p, token);\n } else {\n genericEndTagInBody(p, token);\n }\n\n break;\n\n default:\n genericEndTagInBody(p, token);\n }\n}\n\nfunction eofInBody(p, token) {\n if (p.tmplInsertionModeStackTop > -1) {\n eofInTemplate(p, token);\n } else {\n p.stopped = true;\n }\n}\n\n// The \"text\" insertion mode\n//------------------------------------------------------------------\nfunction endTagInText(p, token) {\n if (token.tagName === $.SCRIPT) {\n p.pendingScript = p.openElements.current;\n }\n\n p.openElements.pop();\n p.insertionMode = p.originalInsertionMode;\n}\n\nfunction eofInText(p, token) {\n p._err(ERR.eofInElementThatCanContainOnlyText);\n p.openElements.pop();\n p.insertionMode = p.originalInsertionMode;\n p._processToken(token);\n}\n\n// The \"in table\" insertion mode\n//------------------------------------------------------------------\nfunction characterInTable(p, token) {\n const curTn = p.openElements.currentTagName;\n\n if (curTn === $.TABLE || curTn === $.TBODY || curTn === $.TFOOT || curTn === $.THEAD || curTn === $.TR) {\n p.pendingCharacterTokens = [];\n p.hasNonWhitespacePendingCharacterToken = false;\n p.originalInsertionMode = p.insertionMode;\n p.insertionMode = IN_TABLE_TEXT_MODE;\n p._processToken(token);\n } else {\n tokenInTable(p, token);\n }\n}\n\nfunction captionStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p.activeFormattingElements.insertMarker();\n p._insertElement(token, NS.HTML);\n p.insertionMode = IN_CAPTION_MODE;\n}\n\nfunction colgroupStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p._insertElement(token, NS.HTML);\n p.insertionMode = IN_COLUMN_GROUP_MODE;\n}\n\nfunction colStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p._insertFakeElement($.COLGROUP);\n p.insertionMode = IN_COLUMN_GROUP_MODE;\n p._processToken(token);\n}\n\nfunction tbodyStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p._insertElement(token, NS.HTML);\n p.insertionMode = IN_TABLE_BODY_MODE;\n}\n\nfunction tdStartTagInTable(p, token) {\n p.openElements.clearBackToTableContext();\n p._insertFakeElement($.TBODY);\n p.insertionMode = IN_TABLE_BODY_MODE;\n p._processToken(token);\n}\n\nfunction tableStartTagInTable(p, token) {\n if (p.openElements.hasInTableScope($.TABLE)) {\n p.openElements.popUntilTagNamePopped($.TABLE);\n p._resetInsertionMode();\n p._processToken(token);\n }\n}\n\nfunction inputStartTagInTable(p, token) {\n const inputType = Tokenizer.getTokenAttr(token, ATTRS.TYPE);\n\n if (inputType && inputType.toLowerCase() === HIDDEN_INPUT_TYPE) {\n p._appendElement(token, NS.HTML);\n } else {\n tokenInTable(p, token);\n }\n\n token.ackSelfClosing = true;\n}\n\nfunction formStartTagInTable(p, token) {\n if (!p.formElement && p.openElements.tmplCount === 0) {\n p._insertElement(token, NS.HTML);\n p.formElement = p.openElements.current;\n p.openElements.pop();\n }\n}\n\nfunction startTagInTable(p, token) {\n const tn = token.tagName;\n\n switch (tn.length) {\n case 2:\n if (tn === $.TD || tn === $.TH || tn === $.TR) {\n tdStartTagInTable(p, token);\n } else {\n tokenInTable(p, token);\n }\n\n break;\n\n case 3:\n if (tn === $.COL) {\n colStartTagInTable(p, token);\n } else {\n tokenInTable(p, token);\n }\n\n break;\n\n case 4:\n if (tn === $.FORM) {\n formStartTagInTable(p, token);\n } else {\n tokenInTable(p, token);\n }\n\n break;\n\n case 5:\n if (tn === $.TABLE) {\n tableStartTagInTable(p, token);\n } else if (tn === $.STYLE) {\n startTagInHead(p, token);\n } else if (tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD) {\n tbodyStartTagInTable(p, token);\n } else if (tn === $.INPUT) {\n inputStartTagInTable(p, token);\n } else {\n tokenInTable(p, token);\n }\n\n break;\n\n case 6:\n if (tn === $.SCRIPT) {\n startTagInHead(p, token);\n } else {\n tokenInTable(p, token);\n }\n\n break;\n\n case 7:\n if (tn === $.CAPTION) {\n captionStartTagInTable(p, token);\n } else {\n tokenInTable(p, token);\n }\n\n break;\n\n case 8:\n if (tn === $.COLGROUP) {\n colgroupStartTagInTable(p, token);\n } else if (tn === $.TEMPLATE) {\n startTagInHead(p, token);\n } else {\n tokenInTable(p, token);\n }\n\n break;\n\n default:\n tokenInTable(p, token);\n }\n}\n\nfunction endTagInTable(p, token) {\n const tn = token.tagName;\n\n if (tn === $.TABLE) {\n if (p.openElements.hasInTableScope($.TABLE)) {\n p.openElements.popUntilTagNamePopped($.TABLE);\n p._resetInsertionMode();\n }\n } else if (tn === $.TEMPLATE) {\n endTagInHead(p, token);\n } else if (\n tn !== $.BODY &&\n tn !== $.CAPTION &&\n tn !== $.COL &&\n tn !== $.COLGROUP &&\n tn !== $.HTML &&\n tn !== $.TBODY &&\n tn !== $.TD &&\n tn !== $.TFOOT &&\n tn !== $.TH &&\n tn !== $.THEAD &&\n tn !== $.TR\n ) {\n tokenInTable(p, token);\n }\n}\n\nfunction tokenInTable(p, token) {\n const savedFosterParentingState = p.fosterParentingEnabled;\n\n p.fosterParentingEnabled = true;\n p._processTokenInBodyMode(token);\n p.fosterParentingEnabled = savedFosterParentingState;\n}\n\n// The \"in table text\" insertion mode\n//------------------------------------------------------------------\nfunction whitespaceCharacterInTableText(p, token) {\n p.pendingCharacterTokens.push(token);\n}\n\nfunction characterInTableText(p, token) {\n p.pendingCharacterTokens.push(token);\n p.hasNonWhitespacePendingCharacterToken = true;\n}\n\nfunction tokenInTableText(p, token) {\n let i = 0;\n\n if (p.hasNonWhitespacePendingCharacterToken) {\n for (; i < p.pendingCharacterTokens.length; i++) {\n tokenInTable(p, p.pendingCharacterTokens[i]);\n }\n } else {\n for (; i < p.pendingCharacterTokens.length; i++) {\n p._insertCharacters(p.pendingCharacterTokens[i]);\n }\n }\n\n p.insertionMode = p.originalInsertionMode;\n p._processToken(token);\n}\n\n// The \"in caption\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInCaption(p, token) {\n const tn = token.tagName;\n\n if (\n tn === $.CAPTION ||\n tn === $.COL ||\n tn === $.COLGROUP ||\n tn === $.TBODY ||\n tn === $.TD ||\n tn === $.TFOOT ||\n tn === $.TH ||\n tn === $.THEAD ||\n tn === $.TR\n ) {\n if (p.openElements.hasInTableScope($.CAPTION)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped($.CAPTION);\n p.activeFormattingElements.clearToLastMarker();\n p.insertionMode = IN_TABLE_MODE;\n p._processToken(token);\n }\n } else {\n startTagInBody(p, token);\n }\n}\n\nfunction endTagInCaption(p, token) {\n const tn = token.tagName;\n\n if (tn === $.CAPTION || tn === $.TABLE) {\n if (p.openElements.hasInTableScope($.CAPTION)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped($.CAPTION);\n p.activeFormattingElements.clearToLastMarker();\n p.insertionMode = IN_TABLE_MODE;\n\n if (tn === $.TABLE) {\n p._processToken(token);\n }\n }\n } else if (\n tn !== $.BODY &&\n tn !== $.COL &&\n tn !== $.COLGROUP &&\n tn !== $.HTML &&\n tn !== $.TBODY &&\n tn !== $.TD &&\n tn !== $.TFOOT &&\n tn !== $.TH &&\n tn !== $.THEAD &&\n tn !== $.TR\n ) {\n endTagInBody(p, token);\n }\n}\n\n// The \"in column group\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInColumnGroup(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (tn === $.COL) {\n p._appendElement(token, NS.HTML);\n token.ackSelfClosing = true;\n } else if (tn === $.TEMPLATE) {\n startTagInHead(p, token);\n } else {\n tokenInColumnGroup(p, token);\n }\n}\n\nfunction endTagInColumnGroup(p, token) {\n const tn = token.tagName;\n\n if (tn === $.COLGROUP) {\n if (p.openElements.currentTagName === $.COLGROUP) {\n p.openElements.pop();\n p.insertionMode = IN_TABLE_MODE;\n }\n } else if (tn === $.TEMPLATE) {\n endTagInHead(p, token);\n } else if (tn !== $.COL) {\n tokenInColumnGroup(p, token);\n }\n}\n\nfunction tokenInColumnGroup(p, token) {\n if (p.openElements.currentTagName === $.COLGROUP) {\n p.openElements.pop();\n p.insertionMode = IN_TABLE_MODE;\n p._processToken(token);\n }\n}\n\n// The \"in table body\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInTableBody(p, token) {\n const tn = token.tagName;\n\n if (tn === $.TR) {\n p.openElements.clearBackToTableBodyContext();\n p._insertElement(token, NS.HTML);\n p.insertionMode = IN_ROW_MODE;\n } else if (tn === $.TH || tn === $.TD) {\n p.openElements.clearBackToTableBodyContext();\n p._insertFakeElement($.TR);\n p.insertionMode = IN_ROW_MODE;\n p._processToken(token);\n } else if (\n tn === $.CAPTION ||\n tn === $.COL ||\n tn === $.COLGROUP ||\n tn === $.TBODY ||\n tn === $.TFOOT ||\n tn === $.THEAD\n ) {\n if (p.openElements.hasTableBodyContextInTableScope()) {\n p.openElements.clearBackToTableBodyContext();\n p.openElements.pop();\n p.insertionMode = IN_TABLE_MODE;\n p._processToken(token);\n }\n } else {\n startTagInTable(p, token);\n }\n}\n\nfunction endTagInTableBody(p, token) {\n const tn = token.tagName;\n\n if (tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD) {\n if (p.openElements.hasInTableScope(tn)) {\n p.openElements.clearBackToTableBodyContext();\n p.openElements.pop();\n p.insertionMode = IN_TABLE_MODE;\n }\n } else if (tn === $.TABLE) {\n if (p.openElements.hasTableBodyContextInTableScope()) {\n p.openElements.clearBackToTableBodyContext();\n p.openElements.pop();\n p.insertionMode = IN_TABLE_MODE;\n p._processToken(token);\n }\n } else if (\n (tn !== $.BODY && tn !== $.CAPTION && tn !== $.COL && tn !== $.COLGROUP) ||\n (tn !== $.HTML && tn !== $.TD && tn !== $.TH && tn !== $.TR)\n ) {\n endTagInTable(p, token);\n }\n}\n\n// The \"in row\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInRow(p, token) {\n const tn = token.tagName;\n\n if (tn === $.TH || tn === $.TD) {\n p.openElements.clearBackToTableRowContext();\n p._insertElement(token, NS.HTML);\n p.insertionMode = IN_CELL_MODE;\n p.activeFormattingElements.insertMarker();\n } else if (\n tn === $.CAPTION ||\n tn === $.COL ||\n tn === $.COLGROUP ||\n tn === $.TBODY ||\n tn === $.TFOOT ||\n tn === $.THEAD ||\n tn === $.TR\n ) {\n if (p.openElements.hasInTableScope($.TR)) {\n p.openElements.clearBackToTableRowContext();\n p.openElements.pop();\n p.insertionMode = IN_TABLE_BODY_MODE;\n p._processToken(token);\n }\n } else {\n startTagInTable(p, token);\n }\n}\n\nfunction endTagInRow(p, token) {\n const tn = token.tagName;\n\n if (tn === $.TR) {\n if (p.openElements.hasInTableScope($.TR)) {\n p.openElements.clearBackToTableRowContext();\n p.openElements.pop();\n p.insertionMode = IN_TABLE_BODY_MODE;\n }\n } else if (tn === $.TABLE) {\n if (p.openElements.hasInTableScope($.TR)) {\n p.openElements.clearBackToTableRowContext();\n p.openElements.pop();\n p.insertionMode = IN_TABLE_BODY_MODE;\n p._processToken(token);\n }\n } else if (tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD) {\n if (p.openElements.hasInTableScope(tn) || p.openElements.hasInTableScope($.TR)) {\n p.openElements.clearBackToTableRowContext();\n p.openElements.pop();\n p.insertionMode = IN_TABLE_BODY_MODE;\n p._processToken(token);\n }\n } else if (\n (tn !== $.BODY && tn !== $.CAPTION && tn !== $.COL && tn !== $.COLGROUP) ||\n (tn !== $.HTML && tn !== $.TD && tn !== $.TH)\n ) {\n endTagInTable(p, token);\n }\n}\n\n// The \"in cell\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInCell(p, token) {\n const tn = token.tagName;\n\n if (\n tn === $.CAPTION ||\n tn === $.COL ||\n tn === $.COLGROUP ||\n tn === $.TBODY ||\n tn === $.TD ||\n tn === $.TFOOT ||\n tn === $.TH ||\n tn === $.THEAD ||\n tn === $.TR\n ) {\n if (p.openElements.hasInTableScope($.TD) || p.openElements.hasInTableScope($.TH)) {\n p._closeTableCell();\n p._processToken(token);\n }\n } else {\n startTagInBody(p, token);\n }\n}\n\nfunction endTagInCell(p, token) {\n const tn = token.tagName;\n\n if (tn === $.TD || tn === $.TH) {\n if (p.openElements.hasInTableScope(tn)) {\n p.openElements.generateImpliedEndTags();\n p.openElements.popUntilTagNamePopped(tn);\n p.activeFormattingElements.clearToLastMarker();\n p.insertionMode = IN_ROW_MODE;\n }\n } else if (tn === $.TABLE || tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD || tn === $.TR) {\n if (p.openElements.hasInTableScope(tn)) {\n p._closeTableCell();\n p._processToken(token);\n }\n } else if (tn !== $.BODY && tn !== $.CAPTION && tn !== $.COL && tn !== $.COLGROUP && tn !== $.HTML) {\n endTagInBody(p, token);\n }\n}\n\n// The \"in select\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInSelect(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (tn === $.OPTION) {\n if (p.openElements.currentTagName === $.OPTION) {\n p.openElements.pop();\n }\n\n p._insertElement(token, NS.HTML);\n } else if (tn === $.OPTGROUP) {\n if (p.openElements.currentTagName === $.OPTION) {\n p.openElements.pop();\n }\n\n if (p.openElements.currentTagName === $.OPTGROUP) {\n p.openElements.pop();\n }\n\n p._insertElement(token, NS.HTML);\n } else if (tn === $.INPUT || tn === $.KEYGEN || tn === $.TEXTAREA || tn === $.SELECT) {\n if (p.openElements.hasInSelectScope($.SELECT)) {\n p.openElements.popUntilTagNamePopped($.SELECT);\n p._resetInsertionMode();\n\n if (tn !== $.SELECT) {\n p._processToken(token);\n }\n }\n } else if (tn === $.SCRIPT || tn === $.TEMPLATE) {\n startTagInHead(p, token);\n }\n}\n\nfunction endTagInSelect(p, token) {\n const tn = token.tagName;\n\n if (tn === $.OPTGROUP) {\n const prevOpenElement = p.openElements.items[p.openElements.stackTop - 1];\n const prevOpenElementTn = prevOpenElement && p.treeAdapter.getTagName(prevOpenElement);\n\n if (p.openElements.currentTagName === $.OPTION && prevOpenElementTn === $.OPTGROUP) {\n p.openElements.pop();\n }\n\n if (p.openElements.currentTagName === $.OPTGROUP) {\n p.openElements.pop();\n }\n } else if (tn === $.OPTION) {\n if (p.openElements.currentTagName === $.OPTION) {\n p.openElements.pop();\n }\n } else if (tn === $.SELECT && p.openElements.hasInSelectScope($.SELECT)) {\n p.openElements.popUntilTagNamePopped($.SELECT);\n p._resetInsertionMode();\n } else if (tn === $.TEMPLATE) {\n endTagInHead(p, token);\n }\n}\n\n//12.2.5.4.17 The \"in select in table\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInSelectInTable(p, token) {\n const tn = token.tagName;\n\n if (\n tn === $.CAPTION ||\n tn === $.TABLE ||\n tn === $.TBODY ||\n tn === $.TFOOT ||\n tn === $.THEAD ||\n tn === $.TR ||\n tn === $.TD ||\n tn === $.TH\n ) {\n p.openElements.popUntilTagNamePopped($.SELECT);\n p._resetInsertionMode();\n p._processToken(token);\n } else {\n startTagInSelect(p, token);\n }\n}\n\nfunction endTagInSelectInTable(p, token) {\n const tn = token.tagName;\n\n if (\n tn === $.CAPTION ||\n tn === $.TABLE ||\n tn === $.TBODY ||\n tn === $.TFOOT ||\n tn === $.THEAD ||\n tn === $.TR ||\n tn === $.TD ||\n tn === $.TH\n ) {\n if (p.openElements.hasInTableScope(tn)) {\n p.openElements.popUntilTagNamePopped($.SELECT);\n p._resetInsertionMode();\n p._processToken(token);\n }\n } else {\n endTagInSelect(p, token);\n }\n}\n\n// The \"in template\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInTemplate(p, token) {\n const tn = token.tagName;\n\n if (\n tn === $.BASE ||\n tn === $.BASEFONT ||\n tn === $.BGSOUND ||\n tn === $.LINK ||\n tn === $.META ||\n tn === $.NOFRAMES ||\n tn === $.SCRIPT ||\n tn === $.STYLE ||\n tn === $.TEMPLATE ||\n tn === $.TITLE\n ) {\n startTagInHead(p, token);\n } else {\n const newInsertionMode = TEMPLATE_INSERTION_MODE_SWITCH_MAP[tn] || IN_BODY_MODE;\n\n p._popTmplInsertionMode();\n p._pushTmplInsertionMode(newInsertionMode);\n p.insertionMode = newInsertionMode;\n p._processToken(token);\n }\n}\n\nfunction endTagInTemplate(p, token) {\n if (token.tagName === $.TEMPLATE) {\n endTagInHead(p, token);\n }\n}\n\nfunction eofInTemplate(p, token) {\n if (p.openElements.tmplCount > 0) {\n p.openElements.popUntilTagNamePopped($.TEMPLATE);\n p.activeFormattingElements.clearToLastMarker();\n p._popTmplInsertionMode();\n p._resetInsertionMode();\n p._processToken(token);\n } else {\n p.stopped = true;\n }\n}\n\n// The \"after body\" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterBody(p, token) {\n if (token.tagName === $.HTML) {\n startTagInBody(p, token);\n } else {\n tokenAfterBody(p, token);\n }\n}\n\nfunction endTagAfterBody(p, token) {\n if (token.tagName === $.HTML) {\n if (!p.fragmentContext) {\n p.insertionMode = AFTER_AFTER_BODY_MODE;\n }\n } else {\n tokenAfterBody(p, token);\n }\n}\n\nfunction tokenAfterBody(p, token) {\n p.insertionMode = IN_BODY_MODE;\n p._processToken(token);\n}\n\n// The \"in frameset\" insertion mode\n//------------------------------------------------------------------\nfunction startTagInFrameset(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (tn === $.FRAMESET) {\n p._insertElement(token, NS.HTML);\n } else if (tn === $.FRAME) {\n p._appendElement(token, NS.HTML);\n token.ackSelfClosing = true;\n } else if (tn === $.NOFRAMES) {\n startTagInHead(p, token);\n }\n}\n\nfunction endTagInFrameset(p, token) {\n if (token.tagName === $.FRAMESET && !p.openElements.isRootHtmlElementCurrent()) {\n p.openElements.pop();\n\n if (!p.fragmentContext && p.openElements.currentTagName !== $.FRAMESET) {\n p.insertionMode = AFTER_FRAMESET_MODE;\n }\n }\n}\n\n// The \"after frameset\" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterFrameset(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (tn === $.NOFRAMES) {\n startTagInHead(p, token);\n }\n}\n\nfunction endTagAfterFrameset(p, token) {\n if (token.tagName === $.HTML) {\n p.insertionMode = AFTER_AFTER_FRAMESET_MODE;\n }\n}\n\n// The \"after after body\" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterAfterBody(p, token) {\n if (token.tagName === $.HTML) {\n startTagInBody(p, token);\n } else {\n tokenAfterAfterBody(p, token);\n }\n}\n\nfunction tokenAfterAfterBody(p, token) {\n p.insertionMode = IN_BODY_MODE;\n p._processToken(token);\n}\n\n// The \"after after frameset\" insertion mode\n//------------------------------------------------------------------\nfunction startTagAfterAfterFrameset(p, token) {\n const tn = token.tagName;\n\n if (tn === $.HTML) {\n startTagInBody(p, token);\n } else if (tn === $.NOFRAMES) {\n startTagInHead(p, token);\n }\n}\n\n// The rules for parsing tokens in foreign content\n//------------------------------------------------------------------\nfunction nullCharacterInForeignContent(p, token) {\n token.chars = unicode.REPLACEMENT_CHARACTER;\n p._insertCharacters(token);\n}\n\nfunction characterInForeignContent(p, token) {\n p._insertCharacters(token);\n p.framesetOk = false;\n}\n\nfunction startTagInForeignContent(p, token) {\n if (foreignContent.causesExit(token) && !p.fragmentContext) {\n while (\n p.treeAdapter.getNamespaceURI(p.openElements.current) !== NS.HTML &&\n !p._isIntegrationPoint(p.openElements.current)\n ) {\n p.openElements.pop();\n }\n\n p._processToken(token);\n } else {\n const current = p._getAdjustedCurrentElement();\n const currentNs = p.treeAdapter.getNamespaceURI(current);\n\n if (currentNs === NS.MATHML) {\n foreignContent.adjustTokenMathMLAttrs(token);\n } else if (currentNs === NS.SVG) {\n foreignContent.adjustTokenSVGTagName(token);\n foreignContent.adjustTokenSVGAttrs(token);\n }\n\n foreignContent.adjustTokenXMLAttrs(token);\n\n if (token.selfClosing) {\n p._appendElement(token, currentNs);\n } else {\n p._insertElement(token, currentNs);\n }\n\n token.ackSelfClosing = true;\n }\n}\n\nfunction endTagInForeignContent(p, token) {\n for (let i = p.openElements.stackTop; i > 0; i--) {\n const element = p.openElements.items[i];\n\n if (p.treeAdapter.getNamespaceURI(element) === NS.HTML) {\n p._processToken(token);\n break;\n }\n\n if (p.treeAdapter.getTagName(element).toLowerCase() === token.tagName) {\n p.openElements.popUntilElementPopped(element);\n break;\n }\n }\n}\n","'use strict';\n\nconst HTML = require('../common/html');\n\n//Aliases\nconst $ = HTML.TAG_NAMES;\nconst NS = HTML.NAMESPACES;\n\n//Element utils\n\n//OPTIMIZATION: Integer comparisons are low-cost, so we can use very fast tag name length filters here.\n//It's faster than using dictionary.\nfunction isImpliedEndTagRequired(tn) {\n switch (tn.length) {\n case 1:\n return tn === $.P;\n\n case 2:\n return tn === $.RB || tn === $.RP || tn === $.RT || tn === $.DD || tn === $.DT || tn === $.LI;\n\n case 3:\n return tn === $.RTC;\n\n case 6:\n return tn === $.OPTION;\n\n case 8:\n return tn === $.OPTGROUP;\n }\n\n return false;\n}\n\nfunction isImpliedEndTagRequiredThoroughly(tn) {\n switch (tn.length) {\n case 1:\n return tn === $.P;\n\n case 2:\n return (\n tn === $.RB ||\n tn === $.RP ||\n tn === $.RT ||\n tn === $.DD ||\n tn === $.DT ||\n tn === $.LI ||\n tn === $.TD ||\n tn === $.TH ||\n tn === $.TR\n );\n\n case 3:\n return tn === $.RTC;\n\n case 5:\n return tn === $.TBODY || tn === $.TFOOT || tn === $.THEAD;\n\n case 6:\n return tn === $.OPTION;\n\n case 7:\n return tn === $.CAPTION;\n\n case 8:\n return tn === $.OPTGROUP || tn === $.COLGROUP;\n }\n\n return false;\n}\n\nfunction isScopingElement(tn, ns) {\n switch (tn.length) {\n case 2:\n if (tn === $.TD || tn === $.TH) {\n return ns === NS.HTML;\n } else if (tn === $.MI || tn === $.MO || tn === $.MN || tn === $.MS) {\n return ns === NS.MATHML;\n }\n\n break;\n\n case 4:\n if (tn === $.HTML) {\n return ns === NS.HTML;\n } else if (tn === $.DESC) {\n return ns === NS.SVG;\n }\n\n break;\n\n case 5:\n if (tn === $.TABLE) {\n return ns === NS.HTML;\n } else if (tn === $.MTEXT) {\n return ns === NS.MATHML;\n } else if (tn === $.TITLE) {\n return ns === NS.SVG;\n }\n\n break;\n\n case 6:\n return (tn === $.APPLET || tn === $.OBJECT) && ns === NS.HTML;\n\n case 7:\n return (tn === $.CAPTION || tn === $.MARQUEE) && ns === NS.HTML;\n\n case 8:\n return tn === $.TEMPLATE && ns === NS.HTML;\n\n case 13:\n return tn === $.FOREIGN_OBJECT && ns === NS.SVG;\n\n case 14:\n return tn === $.ANNOTATION_XML && ns === NS.MATHML;\n }\n\n return false;\n}\n\n//Stack of open elements\nclass OpenElementStack {\n constructor(document, treeAdapter) {\n this.stackTop = -1;\n this.items = [];\n this.current = document;\n this.currentTagName = null;\n this.currentTmplContent = null;\n this.tmplCount = 0;\n this.treeAdapter = treeAdapter;\n }\n\n //Index of element\n _indexOf(element) {\n let idx = -1;\n\n for (let i = this.stackTop; i >= 0; i--) {\n if (this.items[i] === element) {\n idx = i;\n break;\n }\n }\n return idx;\n }\n\n //Update current element\n _isInTemplate() {\n return this.currentTagName === $.TEMPLATE && this.treeAdapter.getNamespaceURI(this.current) === NS.HTML;\n }\n\n _updateCurrentElement() {\n this.current = this.items[this.stackTop];\n this.currentTagName = this.current && this.treeAdapter.getTagName(this.current);\n\n this.currentTmplContent = this._isInTemplate() ? this.treeAdapter.getTemplateContent(this.current) : null;\n }\n\n //Mutations\n push(element) {\n this.items[++this.stackTop] = element;\n this._updateCurrentElement();\n\n if (this._isInTemplate()) {\n this.tmplCount++;\n }\n }\n\n pop() {\n this.stackTop--;\n\n if (this.tmplCount > 0 && this._isInTemplate()) {\n this.tmplCount--;\n }\n\n this._updateCurrentElement();\n }\n\n replace(oldElement, newElement) {\n const idx = this._indexOf(oldElement);\n\n this.items[idx] = newElement;\n\n if (idx === this.stackTop) {\n this._updateCurrentElement();\n }\n }\n\n insertAfter(referenceElement, newElement) {\n const insertionIdx = this._indexOf(referenceElement) + 1;\n\n this.items.splice(insertionIdx, 0, newElement);\n\n if (insertionIdx === ++this.stackTop) {\n this._updateCurrentElement();\n }\n }\n\n popUntilTagNamePopped(tagName) {\n while (this.stackTop > -1) {\n const tn = this.currentTagName;\n const ns = this.treeAdapter.getNamespaceURI(this.current);\n\n this.pop();\n\n if (tn === tagName && ns === NS.HTML) {\n break;\n }\n }\n }\n\n popUntilElementPopped(element) {\n while (this.stackTop > -1) {\n const poppedElement = this.current;\n\n this.pop();\n\n if (poppedElement === element) {\n break;\n }\n }\n }\n\n popUntilNumberedHeaderPopped() {\n while (this.stackTop > -1) {\n const tn = this.currentTagName;\n const ns = this.treeAdapter.getNamespaceURI(this.current);\n\n this.pop();\n\n if (\n tn === $.H1 ||\n tn === $.H2 ||\n tn === $.H3 ||\n tn === $.H4 ||\n tn === $.H5 ||\n (tn === $.H6 && ns === NS.HTML)\n ) {\n break;\n }\n }\n }\n\n popUntilTableCellPopped() {\n while (this.stackTop > -1) {\n const tn = this.currentTagName;\n const ns = this.treeAdapter.getNamespaceURI(this.current);\n\n this.pop();\n\n if (tn === $.TD || (tn === $.TH && ns === NS.HTML)) {\n break;\n }\n }\n }\n\n popAllUpToHtmlElement() {\n //NOTE: here we assume that root <html> element is always first in the open element stack, so\n //we perform this fast stack clean up.\n this.stackTop = 0;\n this._updateCurrentElement();\n }\n\n clearBackToTableContext() {\n while (\n (this.currentTagName !== $.TABLE && this.currentTagName !== $.TEMPLATE && this.currentTagName !== $.HTML) ||\n this.treeAdapter.getNamespaceURI(this.current) !== NS.HTML\n ) {\n this.pop();\n }\n }\n\n clearBackToTableBodyContext() {\n while (\n (this.currentTagName !== $.TBODY &&\n this.currentTagName !== $.TFOOT &&\n this.currentTagName !== $.THEAD &&\n this.currentTagName !== $.TEMPLATE &&\n this.currentTagName !== $.HTML) ||\n this.treeAdapter.getNamespaceURI(this.current) !== NS.HTML\n ) {\n this.pop();\n }\n }\n\n clearBackToTableRowContext() {\n while (\n (this.currentTagName !== $.TR && this.currentTagName !== $.TEMPLATE && this.currentTagName !== $.HTML) ||\n this.treeAdapter.getNamespaceURI(this.current) !== NS.HTML\n ) {\n this.pop();\n }\n }\n\n remove(element) {\n for (let i = this.stackTop; i >= 0; i--) {\n if (this.items[i] === element) {\n this.items.splice(i, 1);\n this.stackTop--;\n this._updateCurrentElement();\n break;\n }\n }\n }\n\n //Search\n tryPeekProperlyNestedBodyElement() {\n //Properly nested <body> element (should be second element in stack).\n const element = this.items[1];\n\n return element && this.treeAdapter.getTagName(element) === $.BODY ? element : null;\n }\n\n contains(element) {\n return this._indexOf(element) > -1;\n }\n\n getCommonAncestor(element) {\n let elementIdx = this._indexOf(element);\n\n return --elementIdx >= 0 ? this.items[elementIdx] : null;\n }\n\n isRootHtmlElementCurrent() {\n return this.stackTop === 0 && this.currentTagName === $.HTML;\n }\n\n //Element in scope\n hasInScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.treeAdapter.getTagName(this.items[i]);\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n\n if (tn === tagName && ns === NS.HTML) {\n return true;\n }\n\n if (isScopingElement(tn, ns)) {\n return false;\n }\n }\n\n return true;\n }\n\n hasNumberedHeaderInScope() {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.treeAdapter.getTagName(this.items[i]);\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n\n if (\n (tn === $.H1 || tn === $.H2 || tn === $.H3 || tn === $.H4 || tn === $.H5 || tn === $.H6) &&\n ns === NS.HTML\n ) {\n return true;\n }\n\n if (isScopingElement(tn, ns)) {\n return false;\n }\n }\n\n return true;\n }\n\n hasInListItemScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.treeAdapter.getTagName(this.items[i]);\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n\n if (tn === tagName && ns === NS.HTML) {\n return true;\n }\n\n if (((tn === $.UL || tn === $.OL) && ns === NS.HTML) || isScopingElement(tn, ns)) {\n return false;\n }\n }\n\n return true;\n }\n\n hasInButtonScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.treeAdapter.getTagName(this.items[i]);\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n\n if (tn === tagName && ns === NS.HTML) {\n return true;\n }\n\n if ((tn === $.BUTTON && ns === NS.HTML) || isScopingElement(tn, ns)) {\n return false;\n }\n }\n\n return true;\n }\n\n hasInTableScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.treeAdapter.getTagName(this.items[i]);\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n\n if (ns !== NS.HTML) {\n continue;\n }\n\n if (tn === tagName) {\n return true;\n }\n\n if (tn === $.TABLE || tn === $.TEMPLATE || tn === $.HTML) {\n return false;\n }\n }\n\n return true;\n }\n\n hasTableBodyContextInTableScope() {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.treeAdapter.getTagName(this.items[i]);\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n\n if (ns !== NS.HTML) {\n continue;\n }\n\n if (tn === $.TBODY || tn === $.THEAD || tn === $.TFOOT) {\n return true;\n }\n\n if (tn === $.TABLE || tn === $.HTML) {\n return false;\n }\n }\n\n return true;\n }\n\n hasInSelectScope(tagName) {\n for (let i = this.stackTop; i >= 0; i--) {\n const tn = this.treeAdapter.getTagName(this.items[i]);\n const ns = this.treeAdapter.getNamespaceURI(this.items[i]);\n\n if (ns !== NS.HTML) {\n continue;\n }\n\n if (tn === tagName) {\n return true;\n }\n\n if (tn !== $.OPTION && tn !== $.OPTGROUP) {\n return false;\n }\n }\n\n return true;\n }\n\n //Implied end tags\n generateImpliedEndTags() {\n while (isImpliedEndTagRequired(this.currentTagName)) {\n this.pop();\n }\n }\n\n generateImpliedEndTagsThoroughly() {\n while (isImpliedEndTagRequiredThoroughly(this.currentTagName)) {\n this.pop();\n }\n }\n\n generateImpliedEndTagsWithExclusion(exclusionTagName) {\n while (isImpliedEndTagRequired(this.currentTagName) && this.currentTagName !== exclusionTagName) {\n this.pop();\n }\n }\n}\n\nmodule.exports = OpenElementStack;\n","'use strict';\n\nconst Preprocessor = require('./preprocessor');\nconst unicode = require('../common/unicode');\nconst neTree = require('./named-entity-data');\nconst ERR = require('../common/error-codes');\n\n//Aliases\nconst $ = unicode.CODE_POINTS;\nconst $$ = unicode.CODE_POINT_SEQUENCES;\n\n//C1 Unicode control character reference replacements\nconst C1_CONTROLS_REFERENCE_REPLACEMENTS = {\n 0x80: 0x20ac,\n 0x82: 0x201a,\n 0x83: 0x0192,\n 0x84: 0x201e,\n 0x85: 0x2026,\n 0x86: 0x2020,\n 0x87: 0x2021,\n 0x88: 0x02c6,\n 0x89: 0x2030,\n 0x8a: 0x0160,\n 0x8b: 0x2039,\n 0x8c: 0x0152,\n 0x8e: 0x017d,\n 0x91: 0x2018,\n 0x92: 0x2019,\n 0x93: 0x201c,\n 0x94: 0x201d,\n 0x95: 0x2022,\n 0x96: 0x2013,\n 0x97: 0x2014,\n 0x98: 0x02dc,\n 0x99: 0x2122,\n 0x9a: 0x0161,\n 0x9b: 0x203a,\n 0x9c: 0x0153,\n 0x9e: 0x017e,\n 0x9f: 0x0178\n};\n\n// Named entity tree flags\nconst HAS_DATA_FLAG = 1 << 0;\nconst DATA_DUPLET_FLAG = 1 << 1;\nconst HAS_BRANCHES_FLAG = 1 << 2;\nconst MAX_BRANCH_MARKER_VALUE = HAS_DATA_FLAG | DATA_DUPLET_FLAG | HAS_BRANCHES_FLAG;\n\n//States\nconst DATA_STATE = 'DATA_STATE';\nconst RCDATA_STATE = 'RCDATA_STATE';\nconst RAWTEXT_STATE = 'RAWTEXT_STATE';\nconst SCRIPT_DATA_STATE = 'SCRIPT_DATA_STATE';\nconst PLAINTEXT_STATE = 'PLAINTEXT_STATE';\nconst TAG_OPEN_STATE = 'TAG_OPEN_STATE';\nconst END_TAG_OPEN_STATE = 'END_TAG_OPEN_STATE';\nconst TAG_NAME_STATE = 'TAG_NAME_STATE';\nconst RCDATA_LESS_THAN_SIGN_STATE = 'RCDATA_LESS_THAN_SIGN_STATE';\nconst RCDATA_END_TAG_OPEN_STATE = 'RCDATA_END_TAG_OPEN_STATE';\nconst RCDATA_END_TAG_NAME_STATE = 'RCDATA_END_TAG_NAME_STATE';\nconst RAWTEXT_LESS_THAN_SIGN_STATE = 'RAWTEXT_LESS_THAN_SIGN_STATE';\nconst RAWTEXT_END_TAG_OPEN_STATE = 'RAWTEXT_END_TAG_OPEN_STATE';\nconst RAWTEXT_END_TAG_NAME_STATE = 'RAWTEXT_END_TAG_NAME_STATE';\nconst SCRIPT_DATA_LESS_THAN_SIGN_STATE = 'SCRIPT_DATA_LESS_THAN_SIGN_STATE';\nconst SCRIPT_DATA_END_TAG_OPEN_STATE = 'SCRIPT_DATA_END_TAG_OPEN_STATE';\nconst SCRIPT_DATA_END_TAG_NAME_STATE = 'SCRIPT_DATA_END_TAG_NAME_STATE';\nconst SCRIPT_DATA_ESCAPE_START_STATE = 'SCRIPT_DATA_ESCAPE_START_STATE';\nconst SCRIPT_DATA_ESCAPE_START_DASH_STATE = 'SCRIPT_DATA_ESCAPE_START_DASH_STATE';\nconst SCRIPT_DATA_ESCAPED_STATE = 'SCRIPT_DATA_ESCAPED_STATE';\nconst SCRIPT_DATA_ESCAPED_DASH_STATE = 'SCRIPT_DATA_ESCAPED_DASH_STATE';\nconst SCRIPT_DATA_ESCAPED_DASH_DASH_STATE = 'SCRIPT_DATA_ESCAPED_DASH_DASH_STATE';\nconst SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE = 'SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE';\nconst SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE = 'SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE';\nconst SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE = 'SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE';\nconst SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE = 'SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE';\nconst SCRIPT_DATA_DOUBLE_ESCAPED_STATE = 'SCRIPT_DATA_DOUBLE_ESCAPED_STATE';\nconst SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE = 'SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE';\nconst SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE = 'SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE';\nconst SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE = 'SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE';\nconst SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE = 'SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE';\nconst BEFORE_ATTRIBUTE_NAME_STATE = 'BEFORE_ATTRIBUTE_NAME_STATE';\nconst ATTRIBUTE_NAME_STATE = 'ATTRIBUTE_NAME_STATE';\nconst AFTER_ATTRIBUTE_NAME_STATE = 'AFTER_ATTRIBUTE_NAME_STATE';\nconst BEFORE_ATTRIBUTE_VALUE_STATE = 'BEFORE_ATTRIBUTE_VALUE_STATE';\nconst ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE = 'ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE';\nconst ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE = 'ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE';\nconst ATTRIBUTE_VALUE_UNQUOTED_STATE = 'ATTRIBUTE_VALUE_UNQUOTED_STATE';\nconst AFTER_ATTRIBUTE_VALUE_QUOTED_STATE = 'AFTER_ATTRIBUTE_VALUE_QUOTED_STATE';\nconst SELF_CLOSING_START_TAG_STATE = 'SELF_CLOSING_START_TAG_STATE';\nconst BOGUS_COMMENT_STATE = 'BOGUS_COMMENT_STATE';\nconst MARKUP_DECLARATION_OPEN_STATE = 'MARKUP_DECLARATION_OPEN_STATE';\nconst COMMENT_START_STATE = 'COMMENT_START_STATE';\nconst COMMENT_START_DASH_STATE = 'COMMENT_START_DASH_STATE';\nconst COMMENT_STATE = 'COMMENT_STATE';\nconst COMMENT_LESS_THAN_SIGN_STATE = 'COMMENT_LESS_THAN_SIGN_STATE';\nconst COMMENT_LESS_THAN_SIGN_BANG_STATE = 'COMMENT_LESS_THAN_SIGN_BANG_STATE';\nconst COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE = 'COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE';\nconst COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE = 'COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE';\nconst COMMENT_END_DASH_STATE = 'COMMENT_END_DASH_STATE';\nconst COMMENT_END_STATE = 'COMMENT_END_STATE';\nconst COMMENT_END_BANG_STATE = 'COMMENT_END_BANG_STATE';\nconst DOCTYPE_STATE = 'DOCTYPE_STATE';\nconst BEFORE_DOCTYPE_NAME_STATE = 'BEFORE_DOCTYPE_NAME_STATE';\nconst DOCTYPE_NAME_STATE = 'DOCTYPE_NAME_STATE';\nconst AFTER_DOCTYPE_NAME_STATE = 'AFTER_DOCTYPE_NAME_STATE';\nconst AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE = 'AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE';\nconst BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE = 'BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE';\nconst DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE = 'DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE';\nconst DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE = 'DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE';\nconst AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE = 'AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE';\nconst BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE = 'BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE';\nconst AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE = 'AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE';\nconst BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE = 'BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE';\nconst DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE = 'DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE';\nconst DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE = 'DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE';\nconst AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE = 'AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE';\nconst BOGUS_DOCTYPE_STATE = 'BOGUS_DOCTYPE_STATE';\nconst CDATA_SECTION_STATE = 'CDATA_SECTION_STATE';\nconst CDATA_SECTION_BRACKET_STATE = 'CDATA_SECTION_BRACKET_STATE';\nconst CDATA_SECTION_END_STATE = 'CDATA_SECTION_END_STATE';\nconst CHARACTER_REFERENCE_STATE = 'CHARACTER_REFERENCE_STATE';\nconst NAMED_CHARACTER_REFERENCE_STATE = 'NAMED_CHARACTER_REFERENCE_STATE';\nconst AMBIGUOUS_AMPERSAND_STATE = 'AMBIGUOS_AMPERSAND_STATE';\nconst NUMERIC_CHARACTER_REFERENCE_STATE = 'NUMERIC_CHARACTER_REFERENCE_STATE';\nconst HEXADEMICAL_CHARACTER_REFERENCE_START_STATE = 'HEXADEMICAL_CHARACTER_REFERENCE_START_STATE';\nconst DECIMAL_CHARACTER_REFERENCE_START_STATE = 'DECIMAL_CHARACTER_REFERENCE_START_STATE';\nconst HEXADEMICAL_CHARACTER_REFERENCE_STATE = 'HEXADEMICAL_CHARACTER_REFERENCE_STATE';\nconst DECIMAL_CHARACTER_REFERENCE_STATE = 'DECIMAL_CHARACTER_REFERENCE_STATE';\nconst NUMERIC_CHARACTER_REFERENCE_END_STATE = 'NUMERIC_CHARACTER_REFERENCE_END_STATE';\n\n//Utils\n\n//OPTIMIZATION: these utility functions should not be moved out of this module. V8 Crankshaft will not inline\n//this functions if they will be situated in another module due to context switch.\n//Always perform inlining check before modifying this functions ('node --trace-inlining').\nfunction isWhitespace(cp) {\n return cp === $.SPACE || cp === $.LINE_FEED || cp === $.TABULATION || cp === $.FORM_FEED;\n}\n\nfunction isAsciiDigit(cp) {\n return cp >= $.DIGIT_0 && cp <= $.DIGIT_9;\n}\n\nfunction isAsciiUpper(cp) {\n return cp >= $.LATIN_CAPITAL_A && cp <= $.LATIN_CAPITAL_Z;\n}\n\nfunction isAsciiLower(cp) {\n return cp >= $.LATIN_SMALL_A && cp <= $.LATIN_SMALL_Z;\n}\n\nfunction isAsciiLetter(cp) {\n return isAsciiLower(cp) || isAsciiUpper(cp);\n}\n\nfunction isAsciiAlphaNumeric(cp) {\n return isAsciiLetter(cp) || isAsciiDigit(cp);\n}\n\nfunction isAsciiUpperHexDigit(cp) {\n return cp >= $.LATIN_CAPITAL_A && cp <= $.LATIN_CAPITAL_F;\n}\n\nfunction isAsciiLowerHexDigit(cp) {\n return cp >= $.LATIN_SMALL_A && cp <= $.LATIN_SMALL_F;\n}\n\nfunction isAsciiHexDigit(cp) {\n return isAsciiDigit(cp) || isAsciiUpperHexDigit(cp) || isAsciiLowerHexDigit(cp);\n}\n\nfunction toAsciiLowerCodePoint(cp) {\n return cp + 0x0020;\n}\n\n//NOTE: String.fromCharCode() function can handle only characters from BMP subset.\n//So, we need to workaround this manually.\n//(see: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/fromCharCode#Getting_it_to_work_with_higher_values)\nfunction toChar(cp) {\n if (cp <= 0xffff) {\n return String.fromCharCode(cp);\n }\n\n cp -= 0x10000;\n return String.fromCharCode(((cp >>> 10) & 0x3ff) | 0xd800) + String.fromCharCode(0xdc00 | (cp & 0x3ff));\n}\n\nfunction toAsciiLowerChar(cp) {\n return String.fromCharCode(toAsciiLowerCodePoint(cp));\n}\n\nfunction findNamedEntityTreeBranch(nodeIx, cp) {\n const branchCount = neTree[++nodeIx];\n let lo = ++nodeIx;\n let hi = lo + branchCount - 1;\n\n while (lo <= hi) {\n const mid = (lo + hi) >>> 1;\n const midCp = neTree[mid];\n\n if (midCp < cp) {\n lo = mid + 1;\n } else if (midCp > cp) {\n hi = mid - 1;\n } else {\n return neTree[mid + branchCount];\n }\n }\n\n return -1;\n}\n\n//Tokenizer\nclass Tokenizer {\n constructor() {\n this.preprocessor = new Preprocessor();\n\n this.tokenQueue = [];\n\n this.allowCDATA = false;\n\n this.state = DATA_STATE;\n this.returnState = '';\n\n this.charRefCode = -1;\n this.tempBuff = [];\n this.lastStartTagName = '';\n\n this.consumedAfterSnapshot = -1;\n this.active = false;\n\n this.currentCharacterToken = null;\n this.currentToken = null;\n this.currentAttr = null;\n }\n\n //Errors\n _err() {\n // NOTE: err reporting is noop by default. Enabled by mixin.\n }\n\n _errOnNextCodePoint(err) {\n this._consume();\n this._err(err);\n this._unconsume();\n }\n\n //API\n getNextToken() {\n while (!this.tokenQueue.length && this.active) {\n this.consumedAfterSnapshot = 0;\n\n const cp = this._consume();\n\n if (!this._ensureHibernation()) {\n this[this.state](cp);\n }\n }\n\n return this.tokenQueue.shift();\n }\n\n write(chunk, isLastChunk) {\n this.active = true;\n this.preprocessor.write(chunk, isLastChunk);\n }\n\n insertHtmlAtCurrentPos(chunk) {\n this.active = true;\n this.preprocessor.insertHtmlAtCurrentPos(chunk);\n }\n\n //Hibernation\n _ensureHibernation() {\n if (this.preprocessor.endOfChunkHit) {\n for (; this.consumedAfterSnapshot > 0; this.consumedAfterSnapshot--) {\n this.preprocessor.retreat();\n }\n\n this.active = false;\n this.tokenQueue.push({ type: Tokenizer.HIBERNATION_TOKEN });\n\n return true;\n }\n\n return false;\n }\n\n //Consumption\n _consume() {\n this.consumedAfterSnapshot++;\n return this.preprocessor.advance();\n }\n\n _unconsume() {\n this.consumedAfterSnapshot--;\n this.preprocessor.retreat();\n }\n\n _reconsumeInState(state) {\n this.state = state;\n this._unconsume();\n }\n\n _consumeSequenceIfMatch(pattern, startCp, caseSensitive) {\n let consumedCount = 0;\n let isMatch = true;\n const patternLength = pattern.length;\n let patternPos = 0;\n let cp = startCp;\n let patternCp = void 0;\n\n for (; patternPos < patternLength; patternPos++) {\n if (patternPos > 0) {\n cp = this._consume();\n consumedCount++;\n }\n\n if (cp === $.EOF) {\n isMatch = false;\n break;\n }\n\n patternCp = pattern[patternPos];\n\n if (cp !== patternCp && (caseSensitive || cp !== toAsciiLowerCodePoint(patternCp))) {\n isMatch = false;\n break;\n }\n }\n\n if (!isMatch) {\n while (consumedCount--) {\n this._unconsume();\n }\n }\n\n return isMatch;\n }\n\n //Temp buffer\n _isTempBufferEqualToScriptString() {\n if (this.tempBuff.length !== $$.SCRIPT_STRING.length) {\n return false;\n }\n\n for (let i = 0; i < this.tempBuff.length; i++) {\n if (this.tempBuff[i] !== $$.SCRIPT_STRING[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n //Token creation\n _createStartTagToken() {\n this.currentToken = {\n type: Tokenizer.START_TAG_TOKEN,\n tagName: '',\n selfClosing: false,\n ackSelfClosing: false,\n attrs: []\n };\n }\n\n _createEndTagToken() {\n this.currentToken = {\n type: Tokenizer.END_TAG_TOKEN,\n tagName: '',\n selfClosing: false,\n attrs: []\n };\n }\n\n _createCommentToken() {\n this.currentToken = {\n type: Tokenizer.COMMENT_TOKEN,\n data: ''\n };\n }\n\n _createDoctypeToken(initialName) {\n this.currentToken = {\n type: Tokenizer.DOCTYPE_TOKEN,\n name: initialName,\n forceQuirks: false,\n publicId: null,\n systemId: null\n };\n }\n\n _createCharacterToken(type, ch) {\n this.currentCharacterToken = {\n type: type,\n chars: ch\n };\n }\n\n _createEOFToken() {\n this.currentToken = { type: Tokenizer.EOF_TOKEN };\n }\n\n //Tag attributes\n _createAttr(attrNameFirstCh) {\n this.currentAttr = {\n name: attrNameFirstCh,\n value: ''\n };\n }\n\n _leaveAttrName(toState) {\n if (Tokenizer.getTokenAttr(this.currentToken, this.currentAttr.name) === null) {\n this.currentToken.attrs.push(this.currentAttr);\n } else {\n this._err(ERR.duplicateAttribute);\n }\n\n this.state = toState;\n }\n\n _leaveAttrValue(toState) {\n this.state = toState;\n }\n\n //Token emission\n _emitCurrentToken() {\n this._emitCurrentCharacterToken();\n\n const ct = this.currentToken;\n\n this.currentToken = null;\n\n //NOTE: store emited start tag's tagName to determine is the following end tag token is appropriate.\n if (ct.type === Tokenizer.START_TAG_TOKEN) {\n this.lastStartTagName = ct.tagName;\n } else if (ct.type === Tokenizer.END_TAG_TOKEN) {\n if (ct.attrs.length > 0) {\n this._err(ERR.endTagWithAttributes);\n }\n\n if (ct.selfClosing) {\n this._err(ERR.endTagWithTrailingSolidus);\n }\n }\n\n this.tokenQueue.push(ct);\n }\n\n _emitCurrentCharacterToken() {\n if (this.currentCharacterToken) {\n this.tokenQueue.push(this.currentCharacterToken);\n this.currentCharacterToken = null;\n }\n }\n\n _emitEOFToken() {\n this._createEOFToken();\n this._emitCurrentToken();\n }\n\n //Characters emission\n\n //OPTIMIZATION: specification uses only one type of character tokens (one token per character).\n //This causes a huge memory overhead and a lot of unnecessary parser loops. parse5 uses 3 groups of characters.\n //If we have a sequence of characters that belong to the same group, parser can process it\n //as a single solid character token.\n //So, there are 3 types of character tokens in parse5:\n //1)NULL_CHARACTER_TOKEN - \\u0000-character sequences (e.g. '\\u0000\\u0000\\u0000')\n //2)WHITESPACE_CHARACTER_TOKEN - any whitespace/new-line character sequences (e.g. '\\n \\r\\t \\f')\n //3)CHARACTER_TOKEN - any character sequence which don't belong to groups 1 and 2 (e.g. 'abcdef1234@@#$%^')\n _appendCharToCurrentCharacterToken(type, ch) {\n if (this.currentCharacterToken && this.currentCharacterToken.type !== type) {\n this._emitCurrentCharacterToken();\n }\n\n if (this.currentCharacterToken) {\n this.currentCharacterToken.chars += ch;\n } else {\n this._createCharacterToken(type, ch);\n }\n }\n\n _emitCodePoint(cp) {\n let type = Tokenizer.CHARACTER_TOKEN;\n\n if (isWhitespace(cp)) {\n type = Tokenizer.WHITESPACE_CHARACTER_TOKEN;\n } else if (cp === $.NULL) {\n type = Tokenizer.NULL_CHARACTER_TOKEN;\n }\n\n this._appendCharToCurrentCharacterToken(type, toChar(cp));\n }\n\n _emitSeveralCodePoints(codePoints) {\n for (let i = 0; i < codePoints.length; i++) {\n this._emitCodePoint(codePoints[i]);\n }\n }\n\n //NOTE: used then we emit character explicitly. This is always a non-whitespace and a non-null character.\n //So we can avoid additional checks here.\n _emitChars(ch) {\n this._appendCharToCurrentCharacterToken(Tokenizer.CHARACTER_TOKEN, ch);\n }\n\n // Character reference helpers\n _matchNamedCharacterReference(startCp) {\n let result = null;\n let excess = 1;\n let i = findNamedEntityTreeBranch(0, startCp);\n\n this.tempBuff.push(startCp);\n\n while (i > -1) {\n const current = neTree[i];\n const inNode = current < MAX_BRANCH_MARKER_VALUE;\n const nodeWithData = inNode && current & HAS_DATA_FLAG;\n\n if (nodeWithData) {\n //NOTE: we use greedy search, so we continue lookup at this point\n result = current & DATA_DUPLET_FLAG ? [neTree[++i], neTree[++i]] : [neTree[++i]];\n excess = 0;\n }\n\n const cp = this._consume();\n\n this.tempBuff.push(cp);\n excess++;\n\n if (cp === $.EOF) {\n break;\n }\n\n if (inNode) {\n i = current & HAS_BRANCHES_FLAG ? findNamedEntityTreeBranch(i, cp) : -1;\n } else {\n i = cp === current ? ++i : -1;\n }\n }\n\n while (excess--) {\n this.tempBuff.pop();\n this._unconsume();\n }\n\n return result;\n }\n\n _isCharacterReferenceInAttribute() {\n return (\n this.returnState === ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE ||\n this.returnState === ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE ||\n this.returnState === ATTRIBUTE_VALUE_UNQUOTED_STATE\n );\n }\n\n _isCharacterReferenceAttributeQuirk(withSemicolon) {\n if (!withSemicolon && this._isCharacterReferenceInAttribute()) {\n const nextCp = this._consume();\n\n this._unconsume();\n\n return nextCp === $.EQUALS_SIGN || isAsciiAlphaNumeric(nextCp);\n }\n\n return false;\n }\n\n _flushCodePointsConsumedAsCharacterReference() {\n if (this._isCharacterReferenceInAttribute()) {\n for (let i = 0; i < this.tempBuff.length; i++) {\n this.currentAttr.value += toChar(this.tempBuff[i]);\n }\n } else {\n this._emitSeveralCodePoints(this.tempBuff);\n }\n\n this.tempBuff = [];\n }\n\n // State machine\n\n // Data state\n //------------------------------------------------------------------\n [DATA_STATE](cp) {\n this.preprocessor.dropParsedChunk();\n\n if (cp === $.LESS_THAN_SIGN) {\n this.state = TAG_OPEN_STATE;\n } else if (cp === $.AMPERSAND) {\n this.returnState = DATA_STATE;\n this.state = CHARACTER_REFERENCE_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this._emitCodePoint(cp);\n } else if (cp === $.EOF) {\n this._emitEOFToken();\n } else {\n this._emitCodePoint(cp);\n }\n }\n\n // RCDATA state\n //------------------------------------------------------------------\n [RCDATA_STATE](cp) {\n this.preprocessor.dropParsedChunk();\n\n if (cp === $.AMPERSAND) {\n this.returnState = RCDATA_STATE;\n this.state = CHARACTER_REFERENCE_STATE;\n } else if (cp === $.LESS_THAN_SIGN) {\n this.state = RCDATA_LESS_THAN_SIGN_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._emitEOFToken();\n } else {\n this._emitCodePoint(cp);\n }\n }\n\n // RAWTEXT state\n //------------------------------------------------------------------\n [RAWTEXT_STATE](cp) {\n this.preprocessor.dropParsedChunk();\n\n if (cp === $.LESS_THAN_SIGN) {\n this.state = RAWTEXT_LESS_THAN_SIGN_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._emitEOFToken();\n } else {\n this._emitCodePoint(cp);\n }\n }\n\n // Script data state\n //------------------------------------------------------------------\n [SCRIPT_DATA_STATE](cp) {\n this.preprocessor.dropParsedChunk();\n\n if (cp === $.LESS_THAN_SIGN) {\n this.state = SCRIPT_DATA_LESS_THAN_SIGN_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._emitEOFToken();\n } else {\n this._emitCodePoint(cp);\n }\n }\n\n // PLAINTEXT state\n //------------------------------------------------------------------\n [PLAINTEXT_STATE](cp) {\n this.preprocessor.dropParsedChunk();\n\n if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._emitEOFToken();\n } else {\n this._emitCodePoint(cp);\n }\n }\n\n // Tag open state\n //------------------------------------------------------------------\n [TAG_OPEN_STATE](cp) {\n if (cp === $.EXCLAMATION_MARK) {\n this.state = MARKUP_DECLARATION_OPEN_STATE;\n } else if (cp === $.SOLIDUS) {\n this.state = END_TAG_OPEN_STATE;\n } else if (isAsciiLetter(cp)) {\n this._createStartTagToken();\n this._reconsumeInState(TAG_NAME_STATE);\n } else if (cp === $.QUESTION_MARK) {\n this._err(ERR.unexpectedQuestionMarkInsteadOfTagName);\n this._createCommentToken();\n this._reconsumeInState(BOGUS_COMMENT_STATE);\n } else if (cp === $.EOF) {\n this._err(ERR.eofBeforeTagName);\n this._emitChars('<');\n this._emitEOFToken();\n } else {\n this._err(ERR.invalidFirstCharacterOfTagName);\n this._emitChars('<');\n this._reconsumeInState(DATA_STATE);\n }\n }\n\n // End tag open state\n //------------------------------------------------------------------\n [END_TAG_OPEN_STATE](cp) {\n if (isAsciiLetter(cp)) {\n this._createEndTagToken();\n this._reconsumeInState(TAG_NAME_STATE);\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.missingEndTagName);\n this.state = DATA_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofBeforeTagName);\n this._emitChars('</');\n this._emitEOFToken();\n } else {\n this._err(ERR.invalidFirstCharacterOfTagName);\n this._createCommentToken();\n this._reconsumeInState(BOGUS_COMMENT_STATE);\n }\n }\n\n // Tag name state\n //------------------------------------------------------------------\n [TAG_NAME_STATE](cp) {\n if (isWhitespace(cp)) {\n this.state = BEFORE_ATTRIBUTE_NAME_STATE;\n } else if (cp === $.SOLIDUS) {\n this.state = SELF_CLOSING_START_TAG_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (isAsciiUpper(cp)) {\n this.currentToken.tagName += toAsciiLowerChar(cp);\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentToken.tagName += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n } else {\n this.currentToken.tagName += toChar(cp);\n }\n }\n\n // RCDATA less-than sign state\n //------------------------------------------------------------------\n [RCDATA_LESS_THAN_SIGN_STATE](cp) {\n if (cp === $.SOLIDUS) {\n this.tempBuff = [];\n this.state = RCDATA_END_TAG_OPEN_STATE;\n } else {\n this._emitChars('<');\n this._reconsumeInState(RCDATA_STATE);\n }\n }\n\n // RCDATA end tag open state\n //------------------------------------------------------------------\n [RCDATA_END_TAG_OPEN_STATE](cp) {\n if (isAsciiLetter(cp)) {\n this._createEndTagToken();\n this._reconsumeInState(RCDATA_END_TAG_NAME_STATE);\n } else {\n this._emitChars('</');\n this._reconsumeInState(RCDATA_STATE);\n }\n }\n\n // RCDATA end tag name state\n //------------------------------------------------------------------\n [RCDATA_END_TAG_NAME_STATE](cp) {\n if (isAsciiUpper(cp)) {\n this.currentToken.tagName += toAsciiLowerChar(cp);\n this.tempBuff.push(cp);\n } else if (isAsciiLower(cp)) {\n this.currentToken.tagName += toChar(cp);\n this.tempBuff.push(cp);\n } else {\n if (this.lastStartTagName === this.currentToken.tagName) {\n if (isWhitespace(cp)) {\n this.state = BEFORE_ATTRIBUTE_NAME_STATE;\n return;\n }\n\n if (cp === $.SOLIDUS) {\n this.state = SELF_CLOSING_START_TAG_STATE;\n return;\n }\n\n if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n this._emitCurrentToken();\n return;\n }\n }\n\n this._emitChars('</');\n this._emitSeveralCodePoints(this.tempBuff);\n this._reconsumeInState(RCDATA_STATE);\n }\n }\n\n // RAWTEXT less-than sign state\n //------------------------------------------------------------------\n [RAWTEXT_LESS_THAN_SIGN_STATE](cp) {\n if (cp === $.SOLIDUS) {\n this.tempBuff = [];\n this.state = RAWTEXT_END_TAG_OPEN_STATE;\n } else {\n this._emitChars('<');\n this._reconsumeInState(RAWTEXT_STATE);\n }\n }\n\n // RAWTEXT end tag open state\n //------------------------------------------------------------------\n [RAWTEXT_END_TAG_OPEN_STATE](cp) {\n if (isAsciiLetter(cp)) {\n this._createEndTagToken();\n this._reconsumeInState(RAWTEXT_END_TAG_NAME_STATE);\n } else {\n this._emitChars('</');\n this._reconsumeInState(RAWTEXT_STATE);\n }\n }\n\n // RAWTEXT end tag name state\n //------------------------------------------------------------------\n [RAWTEXT_END_TAG_NAME_STATE](cp) {\n if (isAsciiUpper(cp)) {\n this.currentToken.tagName += toAsciiLowerChar(cp);\n this.tempBuff.push(cp);\n } else if (isAsciiLower(cp)) {\n this.currentToken.tagName += toChar(cp);\n this.tempBuff.push(cp);\n } else {\n if (this.lastStartTagName === this.currentToken.tagName) {\n if (isWhitespace(cp)) {\n this.state = BEFORE_ATTRIBUTE_NAME_STATE;\n return;\n }\n\n if (cp === $.SOLIDUS) {\n this.state = SELF_CLOSING_START_TAG_STATE;\n return;\n }\n\n if (cp === $.GREATER_THAN_SIGN) {\n this._emitCurrentToken();\n this.state = DATA_STATE;\n return;\n }\n }\n\n this._emitChars('</');\n this._emitSeveralCodePoints(this.tempBuff);\n this._reconsumeInState(RAWTEXT_STATE);\n }\n }\n\n // Script data less-than sign state\n //------------------------------------------------------------------\n [SCRIPT_DATA_LESS_THAN_SIGN_STATE](cp) {\n if (cp === $.SOLIDUS) {\n this.tempBuff = [];\n this.state = SCRIPT_DATA_END_TAG_OPEN_STATE;\n } else if (cp === $.EXCLAMATION_MARK) {\n this.state = SCRIPT_DATA_ESCAPE_START_STATE;\n this._emitChars('<!');\n } else {\n this._emitChars('<');\n this._reconsumeInState(SCRIPT_DATA_STATE);\n }\n }\n\n // Script data end tag open state\n //------------------------------------------------------------------\n [SCRIPT_DATA_END_TAG_OPEN_STATE](cp) {\n if (isAsciiLetter(cp)) {\n this._createEndTagToken();\n this._reconsumeInState(SCRIPT_DATA_END_TAG_NAME_STATE);\n } else {\n this._emitChars('</');\n this._reconsumeInState(SCRIPT_DATA_STATE);\n }\n }\n\n // Script data end tag name state\n //------------------------------------------------------------------\n [SCRIPT_DATA_END_TAG_NAME_STATE](cp) {\n if (isAsciiUpper(cp)) {\n this.currentToken.tagName += toAsciiLowerChar(cp);\n this.tempBuff.push(cp);\n } else if (isAsciiLower(cp)) {\n this.currentToken.tagName += toChar(cp);\n this.tempBuff.push(cp);\n } else {\n if (this.lastStartTagName === this.currentToken.tagName) {\n if (isWhitespace(cp)) {\n this.state = BEFORE_ATTRIBUTE_NAME_STATE;\n return;\n } else if (cp === $.SOLIDUS) {\n this.state = SELF_CLOSING_START_TAG_STATE;\n return;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._emitCurrentToken();\n this.state = DATA_STATE;\n return;\n }\n }\n\n this._emitChars('</');\n this._emitSeveralCodePoints(this.tempBuff);\n this._reconsumeInState(SCRIPT_DATA_STATE);\n }\n }\n\n // Script data escape start state\n //------------------------------------------------------------------\n [SCRIPT_DATA_ESCAPE_START_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = SCRIPT_DATA_ESCAPE_START_DASH_STATE;\n this._emitChars('-');\n } else {\n this._reconsumeInState(SCRIPT_DATA_STATE);\n }\n }\n\n // Script data escape start dash state\n //------------------------------------------------------------------\n [SCRIPT_DATA_ESCAPE_START_DASH_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = SCRIPT_DATA_ESCAPED_DASH_DASH_STATE;\n this._emitChars('-');\n } else {\n this._reconsumeInState(SCRIPT_DATA_STATE);\n }\n }\n\n // Script data escaped state\n //------------------------------------------------------------------\n [SCRIPT_DATA_ESCAPED_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = SCRIPT_DATA_ESCAPED_DASH_STATE;\n this._emitChars('-');\n } else if (cp === $.LESS_THAN_SIGN) {\n this.state = SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n } else {\n this._emitCodePoint(cp);\n }\n }\n\n // Script data escaped dash state\n //------------------------------------------------------------------\n [SCRIPT_DATA_ESCAPED_DASH_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = SCRIPT_DATA_ESCAPED_DASH_DASH_STATE;\n this._emitChars('-');\n } else if (cp === $.LESS_THAN_SIGN) {\n this.state = SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.state = SCRIPT_DATA_ESCAPED_STATE;\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n } else {\n this.state = SCRIPT_DATA_ESCAPED_STATE;\n this._emitCodePoint(cp);\n }\n }\n\n // Script data escaped dash dash state\n //------------------------------------------------------------------\n [SCRIPT_DATA_ESCAPED_DASH_DASH_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this._emitChars('-');\n } else if (cp === $.LESS_THAN_SIGN) {\n this.state = SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this.state = SCRIPT_DATA_STATE;\n this._emitChars('>');\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.state = SCRIPT_DATA_ESCAPED_STATE;\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n } else {\n this.state = SCRIPT_DATA_ESCAPED_STATE;\n this._emitCodePoint(cp);\n }\n }\n\n // Script data escaped less-than sign state\n //------------------------------------------------------------------\n [SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE](cp) {\n if (cp === $.SOLIDUS) {\n this.tempBuff = [];\n this.state = SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE;\n } else if (isAsciiLetter(cp)) {\n this.tempBuff = [];\n this._emitChars('<');\n this._reconsumeInState(SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE);\n } else {\n this._emitChars('<');\n this._reconsumeInState(SCRIPT_DATA_ESCAPED_STATE);\n }\n }\n\n // Script data escaped end tag open state\n //------------------------------------------------------------------\n [SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE](cp) {\n if (isAsciiLetter(cp)) {\n this._createEndTagToken();\n this._reconsumeInState(SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE);\n } else {\n this._emitChars('</');\n this._reconsumeInState(SCRIPT_DATA_ESCAPED_STATE);\n }\n }\n\n // Script data escaped end tag name state\n //------------------------------------------------------------------\n [SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE](cp) {\n if (isAsciiUpper(cp)) {\n this.currentToken.tagName += toAsciiLowerChar(cp);\n this.tempBuff.push(cp);\n } else if (isAsciiLower(cp)) {\n this.currentToken.tagName += toChar(cp);\n this.tempBuff.push(cp);\n } else {\n if (this.lastStartTagName === this.currentToken.tagName) {\n if (isWhitespace(cp)) {\n this.state = BEFORE_ATTRIBUTE_NAME_STATE;\n return;\n }\n\n if (cp === $.SOLIDUS) {\n this.state = SELF_CLOSING_START_TAG_STATE;\n return;\n }\n\n if (cp === $.GREATER_THAN_SIGN) {\n this._emitCurrentToken();\n this.state = DATA_STATE;\n return;\n }\n }\n\n this._emitChars('</');\n this._emitSeveralCodePoints(this.tempBuff);\n this._reconsumeInState(SCRIPT_DATA_ESCAPED_STATE);\n }\n }\n\n // Script data double escape start state\n //------------------------------------------------------------------\n [SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE](cp) {\n if (isWhitespace(cp) || cp === $.SOLIDUS || cp === $.GREATER_THAN_SIGN) {\n this.state = this._isTempBufferEqualToScriptString()\n ? SCRIPT_DATA_DOUBLE_ESCAPED_STATE\n : SCRIPT_DATA_ESCAPED_STATE;\n this._emitCodePoint(cp);\n } else if (isAsciiUpper(cp)) {\n this.tempBuff.push(toAsciiLowerCodePoint(cp));\n this._emitCodePoint(cp);\n } else if (isAsciiLower(cp)) {\n this.tempBuff.push(cp);\n this._emitCodePoint(cp);\n } else {\n this._reconsumeInState(SCRIPT_DATA_ESCAPED_STATE);\n }\n }\n\n // Script data double escaped state\n //------------------------------------------------------------------\n [SCRIPT_DATA_DOUBLE_ESCAPED_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE;\n this._emitChars('-');\n } else if (cp === $.LESS_THAN_SIGN) {\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE;\n this._emitChars('<');\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n } else {\n this._emitCodePoint(cp);\n }\n }\n\n // Script data double escaped dash state\n //------------------------------------------------------------------\n [SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE;\n this._emitChars('-');\n } else if (cp === $.LESS_THAN_SIGN) {\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE;\n this._emitChars('<');\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_STATE;\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n } else {\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_STATE;\n this._emitCodePoint(cp);\n }\n }\n\n // Script data double escaped dash dash state\n //------------------------------------------------------------------\n [SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this._emitChars('-');\n } else if (cp === $.LESS_THAN_SIGN) {\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE;\n this._emitChars('<');\n } else if (cp === $.GREATER_THAN_SIGN) {\n this.state = SCRIPT_DATA_STATE;\n this._emitChars('>');\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_STATE;\n this._emitChars(unicode.REPLACEMENT_CHARACTER);\n } else if (cp === $.EOF) {\n this._err(ERR.eofInScriptHtmlCommentLikeText);\n this._emitEOFToken();\n } else {\n this.state = SCRIPT_DATA_DOUBLE_ESCAPED_STATE;\n this._emitCodePoint(cp);\n }\n }\n\n // Script data double escaped less-than sign state\n //------------------------------------------------------------------\n [SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE](cp) {\n if (cp === $.SOLIDUS) {\n this.tempBuff = [];\n this.state = SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE;\n this._emitChars('/');\n } else {\n this._reconsumeInState(SCRIPT_DATA_DOUBLE_ESCAPED_STATE);\n }\n }\n\n // Script data double escape end state\n //------------------------------------------------------------------\n [SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE](cp) {\n if (isWhitespace(cp) || cp === $.SOLIDUS || cp === $.GREATER_THAN_SIGN) {\n this.state = this._isTempBufferEqualToScriptString()\n ? SCRIPT_DATA_ESCAPED_STATE\n : SCRIPT_DATA_DOUBLE_ESCAPED_STATE;\n\n this._emitCodePoint(cp);\n } else if (isAsciiUpper(cp)) {\n this.tempBuff.push(toAsciiLowerCodePoint(cp));\n this._emitCodePoint(cp);\n } else if (isAsciiLower(cp)) {\n this.tempBuff.push(cp);\n this._emitCodePoint(cp);\n } else {\n this._reconsumeInState(SCRIPT_DATA_DOUBLE_ESCAPED_STATE);\n }\n }\n\n // Before attribute name state\n //------------------------------------------------------------------\n [BEFORE_ATTRIBUTE_NAME_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (cp === $.SOLIDUS || cp === $.GREATER_THAN_SIGN || cp === $.EOF) {\n this._reconsumeInState(AFTER_ATTRIBUTE_NAME_STATE);\n } else if (cp === $.EQUALS_SIGN) {\n this._err(ERR.unexpectedEqualsSignBeforeAttributeName);\n this._createAttr('=');\n this.state = ATTRIBUTE_NAME_STATE;\n } else {\n this._createAttr('');\n this._reconsumeInState(ATTRIBUTE_NAME_STATE);\n }\n }\n\n // Attribute name state\n //------------------------------------------------------------------\n [ATTRIBUTE_NAME_STATE](cp) {\n if (isWhitespace(cp) || cp === $.SOLIDUS || cp === $.GREATER_THAN_SIGN || cp === $.EOF) {\n this._leaveAttrName(AFTER_ATTRIBUTE_NAME_STATE);\n this._unconsume();\n } else if (cp === $.EQUALS_SIGN) {\n this._leaveAttrName(BEFORE_ATTRIBUTE_VALUE_STATE);\n } else if (isAsciiUpper(cp)) {\n this.currentAttr.name += toAsciiLowerChar(cp);\n } else if (cp === $.QUOTATION_MARK || cp === $.APOSTROPHE || cp === $.LESS_THAN_SIGN) {\n this._err(ERR.unexpectedCharacterInAttributeName);\n this.currentAttr.name += toChar(cp);\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentAttr.name += unicode.REPLACEMENT_CHARACTER;\n } else {\n this.currentAttr.name += toChar(cp);\n }\n }\n\n // After attribute name state\n //------------------------------------------------------------------\n [AFTER_ATTRIBUTE_NAME_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (cp === $.SOLIDUS) {\n this.state = SELF_CLOSING_START_TAG_STATE;\n } else if (cp === $.EQUALS_SIGN) {\n this.state = BEFORE_ATTRIBUTE_VALUE_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n } else {\n this._createAttr('');\n this._reconsumeInState(ATTRIBUTE_NAME_STATE);\n }\n }\n\n // Before attribute value state\n //------------------------------------------------------------------\n [BEFORE_ATTRIBUTE_VALUE_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (cp === $.QUOTATION_MARK) {\n this.state = ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE;\n } else if (cp === $.APOSTROPHE) {\n this.state = ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.missingAttributeValue);\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else {\n this._reconsumeInState(ATTRIBUTE_VALUE_UNQUOTED_STATE);\n }\n }\n\n // Attribute value (double-quoted) state\n //------------------------------------------------------------------\n [ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE](cp) {\n if (cp === $.QUOTATION_MARK) {\n this.state = AFTER_ATTRIBUTE_VALUE_QUOTED_STATE;\n } else if (cp === $.AMPERSAND) {\n this.returnState = ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE;\n this.state = CHARACTER_REFERENCE_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentAttr.value += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n } else {\n this.currentAttr.value += toChar(cp);\n }\n }\n\n // Attribute value (single-quoted) state\n //------------------------------------------------------------------\n [ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE](cp) {\n if (cp === $.APOSTROPHE) {\n this.state = AFTER_ATTRIBUTE_VALUE_QUOTED_STATE;\n } else if (cp === $.AMPERSAND) {\n this.returnState = ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE;\n this.state = CHARACTER_REFERENCE_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentAttr.value += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n } else {\n this.currentAttr.value += toChar(cp);\n }\n }\n\n // Attribute value (unquoted) state\n //------------------------------------------------------------------\n [ATTRIBUTE_VALUE_UNQUOTED_STATE](cp) {\n if (isWhitespace(cp)) {\n this._leaveAttrValue(BEFORE_ATTRIBUTE_NAME_STATE);\n } else if (cp === $.AMPERSAND) {\n this.returnState = ATTRIBUTE_VALUE_UNQUOTED_STATE;\n this.state = CHARACTER_REFERENCE_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._leaveAttrValue(DATA_STATE);\n this._emitCurrentToken();\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentAttr.value += unicode.REPLACEMENT_CHARACTER;\n } else if (\n cp === $.QUOTATION_MARK ||\n cp === $.APOSTROPHE ||\n cp === $.LESS_THAN_SIGN ||\n cp === $.EQUALS_SIGN ||\n cp === $.GRAVE_ACCENT\n ) {\n this._err(ERR.unexpectedCharacterInUnquotedAttributeValue);\n this.currentAttr.value += toChar(cp);\n } else if (cp === $.EOF) {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n } else {\n this.currentAttr.value += toChar(cp);\n }\n }\n\n // After attribute value (quoted) state\n //------------------------------------------------------------------\n [AFTER_ATTRIBUTE_VALUE_QUOTED_STATE](cp) {\n if (isWhitespace(cp)) {\n this._leaveAttrValue(BEFORE_ATTRIBUTE_NAME_STATE);\n } else if (cp === $.SOLIDUS) {\n this._leaveAttrValue(SELF_CLOSING_START_TAG_STATE);\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._leaveAttrValue(DATA_STATE);\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n } else {\n this._err(ERR.missingWhitespaceBetweenAttributes);\n this._reconsumeInState(BEFORE_ATTRIBUTE_NAME_STATE);\n }\n }\n\n // Self-closing start tag state\n //------------------------------------------------------------------\n [SELF_CLOSING_START_TAG_STATE](cp) {\n if (cp === $.GREATER_THAN_SIGN) {\n this.currentToken.selfClosing = true;\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInTag);\n this._emitEOFToken();\n } else {\n this._err(ERR.unexpectedSolidusInTag);\n this._reconsumeInState(BEFORE_ATTRIBUTE_NAME_STATE);\n }\n }\n\n // Bogus comment state\n //------------------------------------------------------------------\n [BOGUS_COMMENT_STATE](cp) {\n if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._emitCurrentToken();\n this._emitEOFToken();\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentToken.data += unicode.REPLACEMENT_CHARACTER;\n } else {\n this.currentToken.data += toChar(cp);\n }\n }\n\n // Markup declaration open state\n //------------------------------------------------------------------\n [MARKUP_DECLARATION_OPEN_STATE](cp) {\n if (this._consumeSequenceIfMatch($$.DASH_DASH_STRING, cp, true)) {\n this._createCommentToken();\n this.state = COMMENT_START_STATE;\n } else if (this._consumeSequenceIfMatch($$.DOCTYPE_STRING, cp, false)) {\n this.state = DOCTYPE_STATE;\n } else if (this._consumeSequenceIfMatch($$.CDATA_START_STRING, cp, true)) {\n if (this.allowCDATA) {\n this.state = CDATA_SECTION_STATE;\n } else {\n this._err(ERR.cdataInHtmlContent);\n this._createCommentToken();\n this.currentToken.data = '[CDATA[';\n this.state = BOGUS_COMMENT_STATE;\n }\n }\n\n //NOTE: sequence lookup can be abrupted by hibernation. In that case lookup\n //results are no longer valid and we will need to start over.\n else if (!this._ensureHibernation()) {\n this._err(ERR.incorrectlyOpenedComment);\n this._createCommentToken();\n this._reconsumeInState(BOGUS_COMMENT_STATE);\n }\n }\n\n // Comment start state\n //------------------------------------------------------------------\n [COMMENT_START_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = COMMENT_START_DASH_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.abruptClosingOfEmptyComment);\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else {\n this._reconsumeInState(COMMENT_STATE);\n }\n }\n\n // Comment start dash state\n //------------------------------------------------------------------\n [COMMENT_START_DASH_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = COMMENT_END_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.abruptClosingOfEmptyComment);\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInComment);\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.data += '-';\n this._reconsumeInState(COMMENT_STATE);\n }\n }\n\n // Comment state\n //------------------------------------------------------------------\n [COMMENT_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = COMMENT_END_DASH_STATE;\n } else if (cp === $.LESS_THAN_SIGN) {\n this.currentToken.data += '<';\n this.state = COMMENT_LESS_THAN_SIGN_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentToken.data += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInComment);\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.data += toChar(cp);\n }\n }\n\n // Comment less-than sign state\n //------------------------------------------------------------------\n [COMMENT_LESS_THAN_SIGN_STATE](cp) {\n if (cp === $.EXCLAMATION_MARK) {\n this.currentToken.data += '!';\n this.state = COMMENT_LESS_THAN_SIGN_BANG_STATE;\n } else if (cp === $.LESS_THAN_SIGN) {\n this.currentToken.data += '!';\n } else {\n this._reconsumeInState(COMMENT_STATE);\n }\n }\n\n // Comment less-than sign bang state\n //------------------------------------------------------------------\n [COMMENT_LESS_THAN_SIGN_BANG_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE;\n } else {\n this._reconsumeInState(COMMENT_STATE);\n }\n }\n\n // Comment less-than sign bang dash state\n //------------------------------------------------------------------\n [COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE;\n } else {\n this._reconsumeInState(COMMENT_END_DASH_STATE);\n }\n }\n\n // Comment less-than sign bang dash dash state\n //------------------------------------------------------------------\n [COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE](cp) {\n if (cp !== $.GREATER_THAN_SIGN && cp !== $.EOF) {\n this._err(ERR.nestedComment);\n }\n\n this._reconsumeInState(COMMENT_END_STATE);\n }\n\n // Comment end dash state\n //------------------------------------------------------------------\n [COMMENT_END_DASH_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.state = COMMENT_END_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInComment);\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.data += '-';\n this._reconsumeInState(COMMENT_STATE);\n }\n }\n\n // Comment end state\n //------------------------------------------------------------------\n [COMMENT_END_STATE](cp) {\n if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EXCLAMATION_MARK) {\n this.state = COMMENT_END_BANG_STATE;\n } else if (cp === $.HYPHEN_MINUS) {\n this.currentToken.data += '-';\n } else if (cp === $.EOF) {\n this._err(ERR.eofInComment);\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.data += '--';\n this._reconsumeInState(COMMENT_STATE);\n }\n }\n\n // Comment end bang state\n //------------------------------------------------------------------\n [COMMENT_END_BANG_STATE](cp) {\n if (cp === $.HYPHEN_MINUS) {\n this.currentToken.data += '--!';\n this.state = COMMENT_END_DASH_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.incorrectlyClosedComment);\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInComment);\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.data += '--!';\n this._reconsumeInState(COMMENT_STATE);\n }\n }\n\n // DOCTYPE state\n //------------------------------------------------------------------\n [DOCTYPE_STATE](cp) {\n if (isWhitespace(cp)) {\n this.state = BEFORE_DOCTYPE_NAME_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._reconsumeInState(BEFORE_DOCTYPE_NAME_STATE);\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this._createDoctypeToken(null);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._err(ERR.missingWhitespaceBeforeDoctypeName);\n this._reconsumeInState(BEFORE_DOCTYPE_NAME_STATE);\n }\n }\n\n // Before DOCTYPE name state\n //------------------------------------------------------------------\n [BEFORE_DOCTYPE_NAME_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (isAsciiUpper(cp)) {\n this._createDoctypeToken(toAsciiLowerChar(cp));\n this.state = DOCTYPE_NAME_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this._createDoctypeToken(unicode.REPLACEMENT_CHARACTER);\n this.state = DOCTYPE_NAME_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.missingDoctypeName);\n this._createDoctypeToken(null);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this.state = DATA_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this._createDoctypeToken(null);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._createDoctypeToken(toChar(cp));\n this.state = DOCTYPE_NAME_STATE;\n }\n }\n\n // DOCTYPE name state\n //------------------------------------------------------------------\n [DOCTYPE_NAME_STATE](cp) {\n if (isWhitespace(cp)) {\n this.state = AFTER_DOCTYPE_NAME_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (isAsciiUpper(cp)) {\n this.currentToken.name += toAsciiLowerChar(cp);\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentToken.name += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.name += toChar(cp);\n }\n }\n\n // After DOCTYPE name state\n //------------------------------------------------------------------\n [AFTER_DOCTYPE_NAME_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else if (this._consumeSequenceIfMatch($$.PUBLIC_STRING, cp, false)) {\n this.state = AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE;\n } else if (this._consumeSequenceIfMatch($$.SYSTEM_STRING, cp, false)) {\n this.state = AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE;\n }\n //NOTE: sequence lookup can be abrupted by hibernation. In that case lookup\n //results are no longer valid and we will need to start over.\n else if (!this._ensureHibernation()) {\n this._err(ERR.invalidCharacterSequenceAfterDoctypeName);\n this.currentToken.forceQuirks = true;\n this._reconsumeInState(BOGUS_DOCTYPE_STATE);\n }\n }\n\n // After DOCTYPE public keyword state\n //------------------------------------------------------------------\n [AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE](cp) {\n if (isWhitespace(cp)) {\n this.state = BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE;\n } else if (cp === $.QUOTATION_MARK) {\n this._err(ERR.missingWhitespaceAfterDoctypePublicKeyword);\n this.currentToken.publicId = '';\n this.state = DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE;\n } else if (cp === $.APOSTROPHE) {\n this._err(ERR.missingWhitespaceAfterDoctypePublicKeyword);\n this.currentToken.publicId = '';\n this.state = DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.missingDoctypePublicIdentifier);\n this.currentToken.forceQuirks = true;\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._err(ERR.missingQuoteBeforeDoctypePublicIdentifier);\n this.currentToken.forceQuirks = true;\n this._reconsumeInState(BOGUS_DOCTYPE_STATE);\n }\n }\n\n // Before DOCTYPE public identifier state\n //------------------------------------------------------------------\n [BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (cp === $.QUOTATION_MARK) {\n this.currentToken.publicId = '';\n this.state = DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE;\n } else if (cp === $.APOSTROPHE) {\n this.currentToken.publicId = '';\n this.state = DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.missingDoctypePublicIdentifier);\n this.currentToken.forceQuirks = true;\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._err(ERR.missingQuoteBeforeDoctypePublicIdentifier);\n this.currentToken.forceQuirks = true;\n this._reconsumeInState(BOGUS_DOCTYPE_STATE);\n }\n }\n\n // DOCTYPE public identifier (double-quoted) state\n //------------------------------------------------------------------\n [DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE](cp) {\n if (cp === $.QUOTATION_MARK) {\n this.state = AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentToken.publicId += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.abruptDoctypePublicIdentifier);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this.state = DATA_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.publicId += toChar(cp);\n }\n }\n\n // DOCTYPE public identifier (single-quoted) state\n //------------------------------------------------------------------\n [DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE](cp) {\n if (cp === $.APOSTROPHE) {\n this.state = AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentToken.publicId += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.abruptDoctypePublicIdentifier);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this.state = DATA_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.publicId += toChar(cp);\n }\n }\n\n // After DOCTYPE public identifier state\n //------------------------------------------------------------------\n [AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE](cp) {\n if (isWhitespace(cp)) {\n this.state = BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.QUOTATION_MARK) {\n this._err(ERR.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers);\n this.currentToken.systemId = '';\n this.state = DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE;\n } else if (cp === $.APOSTROPHE) {\n this._err(ERR.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers);\n this.currentToken.systemId = '';\n this.state = DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n this.currentToken.forceQuirks = true;\n this._reconsumeInState(BOGUS_DOCTYPE_STATE);\n }\n }\n\n // Between DOCTYPE public and system identifiers state\n //------------------------------------------------------------------\n [BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (cp === $.GREATER_THAN_SIGN) {\n this._emitCurrentToken();\n this.state = DATA_STATE;\n } else if (cp === $.QUOTATION_MARK) {\n this.currentToken.systemId = '';\n this.state = DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE;\n } else if (cp === $.APOSTROPHE) {\n this.currentToken.systemId = '';\n this.state = DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n this.currentToken.forceQuirks = true;\n this._reconsumeInState(BOGUS_DOCTYPE_STATE);\n }\n }\n\n // After DOCTYPE system keyword state\n //------------------------------------------------------------------\n [AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE](cp) {\n if (isWhitespace(cp)) {\n this.state = BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE;\n } else if (cp === $.QUOTATION_MARK) {\n this._err(ERR.missingWhitespaceAfterDoctypeSystemKeyword);\n this.currentToken.systemId = '';\n this.state = DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE;\n } else if (cp === $.APOSTROPHE) {\n this._err(ERR.missingWhitespaceAfterDoctypeSystemKeyword);\n this.currentToken.systemId = '';\n this.state = DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.missingDoctypeSystemIdentifier);\n this.currentToken.forceQuirks = true;\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n this.currentToken.forceQuirks = true;\n this._reconsumeInState(BOGUS_DOCTYPE_STATE);\n }\n }\n\n // Before DOCTYPE system identifier state\n //------------------------------------------------------------------\n [BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (cp === $.QUOTATION_MARK) {\n this.currentToken.systemId = '';\n this.state = DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE;\n } else if (cp === $.APOSTROPHE) {\n this.currentToken.systemId = '';\n this.state = DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.missingDoctypeSystemIdentifier);\n this.currentToken.forceQuirks = true;\n this.state = DATA_STATE;\n this._emitCurrentToken();\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._err(ERR.missingQuoteBeforeDoctypeSystemIdentifier);\n this.currentToken.forceQuirks = true;\n this._reconsumeInState(BOGUS_DOCTYPE_STATE);\n }\n }\n\n // DOCTYPE system identifier (double-quoted) state\n //------------------------------------------------------------------\n [DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE](cp) {\n if (cp === $.QUOTATION_MARK) {\n this.state = AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentToken.systemId += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.abruptDoctypeSystemIdentifier);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this.state = DATA_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.systemId += toChar(cp);\n }\n }\n\n // DOCTYPE system identifier (single-quoted) state\n //------------------------------------------------------------------\n [DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE](cp) {\n if (cp === $.APOSTROPHE) {\n this.state = AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n this.currentToken.systemId += unicode.REPLACEMENT_CHARACTER;\n } else if (cp === $.GREATER_THAN_SIGN) {\n this._err(ERR.abruptDoctypeSystemIdentifier);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this.state = DATA_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this.currentToken.systemId += toChar(cp);\n }\n }\n\n // After DOCTYPE system identifier state\n //------------------------------------------------------------------\n [AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE](cp) {\n if (isWhitespace(cp)) {\n return;\n }\n\n if (cp === $.GREATER_THAN_SIGN) {\n this._emitCurrentToken();\n this.state = DATA_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInDoctype);\n this.currentToken.forceQuirks = true;\n this._emitCurrentToken();\n this._emitEOFToken();\n } else {\n this._err(ERR.unexpectedCharacterAfterDoctypeSystemIdentifier);\n this._reconsumeInState(BOGUS_DOCTYPE_STATE);\n }\n }\n\n // Bogus DOCTYPE state\n //------------------------------------------------------------------\n [BOGUS_DOCTYPE_STATE](cp) {\n if (cp === $.GREATER_THAN_SIGN) {\n this._emitCurrentToken();\n this.state = DATA_STATE;\n } else if (cp === $.NULL) {\n this._err(ERR.unexpectedNullCharacter);\n } else if (cp === $.EOF) {\n this._emitCurrentToken();\n this._emitEOFToken();\n }\n }\n\n // CDATA section state\n //------------------------------------------------------------------\n [CDATA_SECTION_STATE](cp) {\n if (cp === $.RIGHT_SQUARE_BRACKET) {\n this.state = CDATA_SECTION_BRACKET_STATE;\n } else if (cp === $.EOF) {\n this._err(ERR.eofInCdata);\n this._emitEOFToken();\n } else {\n this._emitCodePoint(cp);\n }\n }\n\n // CDATA section bracket state\n //------------------------------------------------------------------\n [CDATA_SECTION_BRACKET_STATE](cp) {\n if (cp === $.RIGHT_SQUARE_BRACKET) {\n this.state = CDATA_SECTION_END_STATE;\n } else {\n this._emitChars(']');\n this._reconsumeInState(CDATA_SECTION_STATE);\n }\n }\n\n // CDATA section end state\n //------------------------------------------------------------------\n [CDATA_SECTION_END_STATE](cp) {\n if (cp === $.GREATER_THAN_SIGN) {\n this.state = DATA_STATE;\n } else if (cp === $.RIGHT_SQUARE_BRACKET) {\n this._emitChars(']');\n } else {\n this._emitChars(']]');\n this._reconsumeInState(CDATA_SECTION_STATE);\n }\n }\n\n // Character reference state\n //------------------------------------------------------------------\n [CHARACTER_REFERENCE_STATE](cp) {\n this.tempBuff = [$.AMPERSAND];\n\n if (cp === $.NUMBER_SIGN) {\n this.tempBuff.push(cp);\n this.state = NUMERIC_CHARACTER_REFERENCE_STATE;\n } else if (isAsciiAlphaNumeric(cp)) {\n this._reconsumeInState(NAMED_CHARACTER_REFERENCE_STATE);\n } else {\n this._flushCodePointsConsumedAsCharacterReference();\n this._reconsumeInState(this.returnState);\n }\n }\n\n // Named character reference state\n //------------------------------------------------------------------\n [NAMED_CHARACTER_REFERENCE_STATE](cp) {\n const matchResult = this._matchNamedCharacterReference(cp);\n\n //NOTE: matching can be abrupted by hibernation. In that case match\n //results are no longer valid and we will need to start over.\n if (this._ensureHibernation()) {\n this.tempBuff = [$.AMPERSAND];\n } else if (matchResult) {\n const withSemicolon = this.tempBuff[this.tempBuff.length - 1] === $.SEMICOLON;\n\n if (!this._isCharacterReferenceAttributeQuirk(withSemicolon)) {\n if (!withSemicolon) {\n this._errOnNextCodePoint(ERR.missingSemicolonAfterCharacterReference);\n }\n\n this.tempBuff = matchResult;\n }\n\n this._flushCodePointsConsumedAsCharacterReference();\n this.state = this.returnState;\n } else {\n this._flushCodePointsConsumedAsCharacterReference();\n this.state = AMBIGUOUS_AMPERSAND_STATE;\n }\n }\n\n // Ambiguos ampersand state\n //------------------------------------------------------------------\n [AMBIGUOUS_AMPERSAND_STATE](cp) {\n if (isAsciiAlphaNumeric(cp)) {\n if (this._isCharacterReferenceInAttribute()) {\n this.currentAttr.value += toChar(cp);\n } else {\n this._emitCodePoint(cp);\n }\n } else {\n if (cp === $.SEMICOLON) {\n this._err(ERR.unknownNamedCharacterReference);\n }\n\n this._reconsumeInState(this.returnState);\n }\n }\n\n // Numeric character reference state\n //------------------------------------------------------------------\n [NUMERIC_CHARACTER_REFERENCE_STATE](cp) {\n this.charRefCode = 0;\n\n if (cp === $.LATIN_SMALL_X || cp === $.LATIN_CAPITAL_X) {\n this.tempBuff.push(cp);\n this.state = HEXADEMICAL_CHARACTER_REFERENCE_START_STATE;\n } else {\n this._reconsumeInState(DECIMAL_CHARACTER_REFERENCE_START_STATE);\n }\n }\n\n // Hexademical character reference start state\n //------------------------------------------------------------------\n [HEXADEMICAL_CHARACTER_REFERENCE_START_STATE](cp) {\n if (isAsciiHexDigit(cp)) {\n this._reconsumeInState(HEXADEMICAL_CHARACTER_REFERENCE_STATE);\n } else {\n this._err(ERR.absenceOfDigitsInNumericCharacterReference);\n this._flushCodePointsConsumedAsCharacterReference();\n this._reconsumeInState(this.returnState);\n }\n }\n\n // Decimal character reference start state\n //------------------------------------------------------------------\n [DECIMAL_CHARACTER_REFERENCE_START_STATE](cp) {\n if (isAsciiDigit(cp)) {\n this._reconsumeInState(DECIMAL_CHARACTER_REFERENCE_STATE);\n } else {\n this._err(ERR.absenceOfDigitsInNumericCharacterReference);\n this._flushCodePointsConsumedAsCharacterReference();\n this._reconsumeInState(this.returnState);\n }\n }\n\n // Hexademical character reference state\n //------------------------------------------------------------------\n [HEXADEMICAL_CHARACTER_REFERENCE_STATE](cp) {\n if (isAsciiUpperHexDigit(cp)) {\n this.charRefCode = this.charRefCode * 16 + cp - 0x37;\n } else if (isAsciiLowerHexDigit(cp)) {\n this.charRefCode = this.charRefCode * 16 + cp - 0x57;\n } else if (isAsciiDigit(cp)) {\n this.charRefCode = this.charRefCode * 16 + cp - 0x30;\n } else if (cp === $.SEMICOLON) {\n this.state = NUMERIC_CHARACTER_REFERENCE_END_STATE;\n } else {\n this._err(ERR.missingSemicolonAfterCharacterReference);\n this._reconsumeInState(NUMERIC_CHARACTER_REFERENCE_END_STATE);\n }\n }\n\n // Decimal character reference state\n //------------------------------------------------------------------\n [DECIMAL_CHARACTER_REFERENCE_STATE](cp) {\n if (isAsciiDigit(cp)) {\n this.charRefCode = this.charRefCode * 10 + cp - 0x30;\n } else if (cp === $.SEMICOLON) {\n this.state = NUMERIC_CHARACTER_REFERENCE_END_STATE;\n } else {\n this._err(ERR.missingSemicolonAfterCharacterReference);\n this._reconsumeInState(NUMERIC_CHARACTER_REFERENCE_END_STATE);\n }\n }\n\n // Numeric character reference end state\n //------------------------------------------------------------------\n [NUMERIC_CHARACTER_REFERENCE_END_STATE]() {\n if (this.charRefCode === $.NULL) {\n this._err(ERR.nullCharacterReference);\n this.charRefCode = $.REPLACEMENT_CHARACTER;\n } else if (this.charRefCode > 0x10ffff) {\n this._err(ERR.characterReferenceOutsideUnicodeRange);\n this.charRefCode = $.REPLACEMENT_CHARACTER;\n } else if (unicode.isSurrogate(this.charRefCode)) {\n this._err(ERR.surrogateCharacterReference);\n this.charRefCode = $.REPLACEMENT_CHARACTER;\n } else if (unicode.isUndefinedCodePoint(this.charRefCode)) {\n this._err(ERR.noncharacterCharacterReference);\n } else if (unicode.isControlCodePoint(this.charRefCode) || this.charRefCode === $.CARRIAGE_RETURN) {\n this._err(ERR.controlCharacterReference);\n\n const replacement = C1_CONTROLS_REFERENCE_REPLACEMENTS[this.charRefCode];\n\n if (replacement) {\n this.charRefCode = replacement;\n }\n }\n\n this.tempBuff = [this.charRefCode];\n\n this._flushCodePointsConsumedAsCharacterReference();\n this._reconsumeInState(this.returnState);\n }\n}\n\n//Token types\nTokenizer.CHARACTER_TOKEN = 'CHARACTER_TOKEN';\nTokenizer.NULL_CHARACTER_TOKEN = 'NULL_CHARACTER_TOKEN';\nTokenizer.WHITESPACE_CHARACTER_TOKEN = 'WHITESPACE_CHARACTER_TOKEN';\nTokenizer.START_TAG_TOKEN = 'START_TAG_TOKEN';\nTokenizer.END_TAG_TOKEN = 'END_TAG_TOKEN';\nTokenizer.COMMENT_TOKEN = 'COMMENT_TOKEN';\nTokenizer.DOCTYPE_TOKEN = 'DOCTYPE_TOKEN';\nTokenizer.EOF_TOKEN = 'EOF_TOKEN';\nTokenizer.HIBERNATION_TOKEN = 'HIBERNATION_TOKEN';\n\n//Tokenizer initial states for different modes\nTokenizer.MODE = {\n DATA: DATA_STATE,\n RCDATA: RCDATA_STATE,\n RAWTEXT: RAWTEXT_STATE,\n SCRIPT_DATA: SCRIPT_DATA_STATE,\n PLAINTEXT: PLAINTEXT_STATE\n};\n\n//Static\nTokenizer.getTokenAttr = function(token, attrName) {\n for (let i = token.attrs.length - 1; i >= 0; i--) {\n if (token.attrs[i].name === attrName) {\n return token.attrs[i].value;\n }\n }\n\n return null;\n};\n\nmodule.exports = Tokenizer;\n","'use strict';\n\n//NOTE: this file contains auto-generated array mapped radix tree that is used for the named entity references consumption\n//(details: https://github.com/inikulin/parse5/tree/master/scripts/generate-named-entity-data/README.md)\nmodule.exports = new Uint16Array([4,52,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,106,303,412,810,1432,1701,1796,1987,2114,2360,2420,2484,3170,3251,4140,4393,4575,4610,5106,5512,5728,6117,6274,6315,6345,6427,6516,7002,7910,8733,9323,9870,10170,10631,10893,11318,11386,11467,12773,13092,14474,14922,15448,15542,16419,17666,18166,18611,19004,19095,19298,19397,4,16,69,77,97,98,99,102,103,108,109,110,111,112,114,115,116,117,140,150,158,169,176,194,199,210,216,222,226,242,256,266,283,294,108,105,103,5,198,1,59,148,1,198,80,5,38,1,59,156,1,38,99,117,116,101,5,193,1,59,167,1,193,114,101,118,101,59,1,258,4,2,105,121,182,191,114,99,5,194,1,59,189,1,194,59,1,1040,114,59,3,55349,56580,114,97,118,101,5,192,1,59,208,1,192,112,104,97,59,1,913,97,99,114,59,1,256,100,59,1,10835,4,2,103,112,232,237,111,110,59,1,260,102,59,3,55349,56632,112,108,121,70,117,110,99,116,105,111,110,59,1,8289,105,110,103,5,197,1,59,264,1,197,4,2,99,115,272,277,114,59,3,55349,56476,105,103,110,59,1,8788,105,108,100,101,5,195,1,59,292,1,195,109,108,5,196,1,59,301,1,196,4,8,97,99,101,102,111,114,115,117,321,350,354,383,388,394,400,405,4,2,99,114,327,336,107,115,108,97,115,104,59,1,8726,4,2,118,119,342,345,59,1,10983,101,100,59,1,8966,121,59,1,1041,4,3,99,114,116,362,369,379,97,117,115,101,59,1,8757,110,111,117,108,108,105,115,59,1,8492,97,59,1,914,114,59,3,55349,56581,112,102,59,3,55349,56633,101,118,101,59,1,728,99,114,59,1,8492,109,112,101,113,59,1,8782,4,14,72,79,97,99,100,101,102,104,105,108,111,114,115,117,442,447,456,504,542,547,569,573,577,616,678,784,790,796,99,121,59,1,1063,80,89,5,169,1,59,454,1,169,4,3,99,112,121,464,470,497,117,116,101,59,1,262,4,2,59,105,476,478,1,8914,116,97,108,68,105,102,102,101,114,101,110,116,105,97,108,68,59,1,8517,108,101,121,115,59,1,8493,4,4,97,101,105,111,514,520,530,535,114,111,110,59,1,268,100,105,108,5,199,1,59,528,1,199,114,99,59,1,264,110,105,110,116,59,1,8752,111,116,59,1,266,4,2,100,110,553,560,105,108,108,97,59,1,184,116,101,114,68,111,116,59,1,183,114,59,1,8493,105,59,1,935,114,99,108,101,4,4,68,77,80,84,591,596,603,609,111,116,59,1,8857,105,110,117,115,59,1,8854,108,117,115,59,1,8853,105,109,101,115,59,1,8855,111,4,2,99,115,623,646,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8754,101,67,117,114,108,121,4,2,68,81,658,671,111,117,98,108,101,81,117,111,116,101,59,1,8221,117,111,116,101,59,1,8217,4,4,108,110,112,117,688,701,736,753,111,110,4,2,59,101,696,698,1,8759,59,1,10868,4,3,103,105,116,709,717,722,114,117,101,110,116,59,1,8801,110,116,59,1,8751,111,117,114,73,110,116,101,103,114,97,108,59,1,8750,4,2,102,114,742,745,59,1,8450,111,100,117,99,116,59,1,8720,110,116,101,114,67,108,111,99,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8755,111,115,115,59,1,10799,99,114,59,3,55349,56478,112,4,2,59,67,803,805,1,8915,97,112,59,1,8781,4,11,68,74,83,90,97,99,101,102,105,111,115,834,850,855,860,865,888,903,916,921,1011,1415,4,2,59,111,840,842,1,8517,116,114,97,104,100,59,1,10513,99,121,59,1,1026,99,121,59,1,1029,99,121,59,1,1039,4,3,103,114,115,873,879,883,103,101,114,59,1,8225,114,59,1,8609,104,118,59,1,10980,4,2,97,121,894,900,114,111,110,59,1,270,59,1,1044,108,4,2,59,116,910,912,1,8711,97,59,1,916,114,59,3,55349,56583,4,2,97,102,927,998,4,2,99,109,933,992,114,105,116,105,99,97,108,4,4,65,68,71,84,950,957,978,985,99,117,116,101,59,1,180,111,4,2,116,117,964,967,59,1,729,98,108,101,65,99,117,116,101,59,1,733,114,97,118,101,59,1,96,105,108,100,101,59,1,732,111,110,100,59,1,8900,102,101,114,101,110,116,105,97,108,68,59,1,8518,4,4,112,116,117,119,1021,1026,1048,1249,102,59,3,55349,56635,4,3,59,68,69,1034,1036,1041,1,168,111,116,59,1,8412,113,117,97,108,59,1,8784,98,108,101,4,6,67,68,76,82,85,86,1065,1082,1101,1189,1211,1236,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8751,111,4,2,116,119,1089,1092,59,1,168,110,65,114,114,111,119,59,1,8659,4,2,101,111,1107,1141,102,116,4,3,65,82,84,1117,1124,1136,114,114,111,119,59,1,8656,105,103,104,116,65,114,114,111,119,59,1,8660,101,101,59,1,10980,110,103,4,2,76,82,1149,1177,101,102,116,4,2,65,82,1158,1165,114,114,111,119,59,1,10232,105,103,104,116,65,114,114,111,119,59,1,10234,105,103,104,116,65,114,114,111,119,59,1,10233,105,103,104,116,4,2,65,84,1199,1206,114,114,111,119,59,1,8658,101,101,59,1,8872,112,4,2,65,68,1218,1225,114,114,111,119,59,1,8657,111,119,110,65,114,114,111,119,59,1,8661,101,114,116,105,99,97,108,66,97,114,59,1,8741,110,4,6,65,66,76,82,84,97,1264,1292,1299,1352,1391,1408,114,114,111,119,4,3,59,66,85,1276,1278,1283,1,8595,97,114,59,1,10515,112,65,114,114,111,119,59,1,8693,114,101,118,101,59,1,785,101,102,116,4,3,82,84,86,1310,1323,1334,105,103,104,116,86,101,99,116,111,114,59,1,10576,101,101,86,101,99,116,111,114,59,1,10590,101,99,116,111,114,4,2,59,66,1345,1347,1,8637,97,114,59,1,10582,105,103,104,116,4,2,84,86,1362,1373,101,101,86,101,99,116,111,114,59,1,10591,101,99,116,111,114,4,2,59,66,1384,1386,1,8641,97,114,59,1,10583,101,101,4,2,59,65,1399,1401,1,8868,114,114,111,119,59,1,8615,114,114,111,119,59,1,8659,4,2,99,116,1421,1426,114,59,3,55349,56479,114,111,107,59,1,272,4,16,78,84,97,99,100,102,103,108,109,111,112,113,115,116,117,120,1466,1470,1478,1489,1515,1520,1525,1536,1544,1593,1609,1617,1650,1664,1668,1677,71,59,1,330,72,5,208,1,59,1476,1,208,99,117,116,101,5,201,1,59,1487,1,201,4,3,97,105,121,1497,1503,1512,114,111,110,59,1,282,114,99,5,202,1,59,1510,1,202,59,1,1069,111,116,59,1,278,114,59,3,55349,56584,114,97,118,101,5,200,1,59,1534,1,200,101,109,101,110,116,59,1,8712,4,2,97,112,1550,1555,99,114,59,1,274,116,121,4,2,83,86,1563,1576,109,97,108,108,83,113,117,97,114,101,59,1,9723,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9643,4,2,103,112,1599,1604,111,110,59,1,280,102,59,3,55349,56636,115,105,108,111,110,59,1,917,117,4,2,97,105,1624,1640,108,4,2,59,84,1631,1633,1,10869,105,108,100,101,59,1,8770,108,105,98,114,105,117,109,59,1,8652,4,2,99,105,1656,1660,114,59,1,8496,109,59,1,10867,97,59,1,919,109,108,5,203,1,59,1675,1,203,4,2,105,112,1683,1689,115,116,115,59,1,8707,111,110,101,110,116,105,97,108,69,59,1,8519,4,5,99,102,105,111,115,1713,1717,1722,1762,1791,121,59,1,1060,114,59,3,55349,56585,108,108,101,100,4,2,83,86,1732,1745,109,97,108,108,83,113,117,97,114,101,59,1,9724,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9642,4,3,112,114,117,1770,1775,1781,102,59,3,55349,56637,65,108,108,59,1,8704,114,105,101,114,116,114,102,59,1,8497,99,114,59,1,8497,4,12,74,84,97,98,99,100,102,103,111,114,115,116,1822,1827,1834,1848,1855,1877,1882,1887,1890,1896,1978,1984,99,121,59,1,1027,5,62,1,59,1832,1,62,109,109,97,4,2,59,100,1843,1845,1,915,59,1,988,114,101,118,101,59,1,286,4,3,101,105,121,1863,1869,1874,100,105,108,59,1,290,114,99,59,1,284,59,1,1043,111,116,59,1,288,114,59,3,55349,56586,59,1,8921,112,102,59,3,55349,56638,101,97,116,101,114,4,6,69,70,71,76,83,84,1915,1933,1944,1953,1959,1971,113,117,97,108,4,2,59,76,1925,1927,1,8805,101,115,115,59,1,8923,117,108,108,69,113,117,97,108,59,1,8807,114,101,97,116,101,114,59,1,10914,101,115,115,59,1,8823,108,97,110,116,69,113,117,97,108,59,1,10878,105,108,100,101,59,1,8819,99,114,59,3,55349,56482,59,1,8811,4,8,65,97,99,102,105,111,115,117,2005,2012,2026,2032,2036,2049,2073,2089,82,68,99,121,59,1,1066,4,2,99,116,2018,2023,101,107,59,1,711,59,1,94,105,114,99,59,1,292,114,59,1,8460,108,98,101,114,116,83,112,97,99,101,59,1,8459,4,2,112,114,2055,2059,102,59,1,8461,105,122,111,110,116,97,108,76,105,110,101,59,1,9472,4,2,99,116,2079,2083,114,59,1,8459,114,111,107,59,1,294,109,112,4,2,68,69,2097,2107,111,119,110,72,117,109,112,59,1,8782,113,117,97,108,59,1,8783,4,14,69,74,79,97,99,100,102,103,109,110,111,115,116,117,2144,2149,2155,2160,2171,2189,2194,2198,2209,2245,2307,2329,2334,2341,99,121,59,1,1045,108,105,103,59,1,306,99,121,59,1,1025,99,117,116,101,5,205,1,59,2169,1,205,4,2,105,121,2177,2186,114,99,5,206,1,59,2184,1,206,59,1,1048,111,116,59,1,304,114,59,1,8465,114,97,118,101,5,204,1,59,2207,1,204,4,3,59,97,112,2217,2219,2238,1,8465,4,2,99,103,2225,2229,114,59,1,298,105,110,97,114,121,73,59,1,8520,108,105,101,115,59,1,8658,4,2,116,118,2251,2281,4,2,59,101,2257,2259,1,8748,4,2,103,114,2265,2271,114,97,108,59,1,8747,115,101,99,116,105,111,110,59,1,8898,105,115,105,98,108,101,4,2,67,84,2293,2300,111,109,109,97,59,1,8291,105,109,101,115,59,1,8290,4,3,103,112,116,2315,2320,2325,111,110,59,1,302,102,59,3,55349,56640,97,59,1,921,99,114,59,1,8464,105,108,100,101,59,1,296,4,2,107,109,2347,2352,99,121,59,1,1030,108,5,207,1,59,2358,1,207,4,5,99,102,111,115,117,2372,2386,2391,2397,2414,4,2,105,121,2378,2383,114,99,59,1,308,59,1,1049,114,59,3,55349,56589,112,102,59,3,55349,56641,4,2,99,101,2403,2408,114,59,3,55349,56485,114,99,121,59,1,1032,107,99,121,59,1,1028,4,7,72,74,97,99,102,111,115,2436,2441,2446,2452,2467,2472,2478,99,121,59,1,1061,99,121,59,1,1036,112,112,97,59,1,922,4,2,101,121,2458,2464,100,105,108,59,1,310,59,1,1050,114,59,3,55349,56590,112,102,59,3,55349,56642,99,114,59,3,55349,56486,4,11,74,84,97,99,101,102,108,109,111,115,116,2508,2513,2520,2562,2585,2981,2986,3004,3011,3146,3167,99,121,59,1,1033,5,60,1,59,2518,1,60,4,5,99,109,110,112,114,2532,2538,2544,2548,2558,117,116,101,59,1,313,98,100,97,59,1,923,103,59,1,10218,108,97,99,101,116,114,102,59,1,8466,114,59,1,8606,4,3,97,101,121,2570,2576,2582,114,111,110,59,1,317,100,105,108,59,1,315,59,1,1051,4,2,102,115,2591,2907,116,4,10,65,67,68,70,82,84,85,86,97,114,2614,2663,2672,2728,2735,2760,2820,2870,2888,2895,4,2,110,114,2620,2633,103,108,101,66,114,97,99,107,101,116,59,1,10216,114,111,119,4,3,59,66,82,2644,2646,2651,1,8592,97,114,59,1,8676,105,103,104,116,65,114,114,111,119,59,1,8646,101,105,108,105,110,103,59,1,8968,111,4,2,117,119,2679,2692,98,108,101,66,114,97,99,107,101,116,59,1,10214,110,4,2,84,86,2699,2710,101,101,86,101,99,116,111,114,59,1,10593,101,99,116,111,114,4,2,59,66,2721,2723,1,8643,97,114,59,1,10585,108,111,111,114,59,1,8970,105,103,104,116,4,2,65,86,2745,2752,114,114,111,119,59,1,8596,101,99,116,111,114,59,1,10574,4,2,101,114,2766,2792,101,4,3,59,65,86,2775,2777,2784,1,8867,114,114,111,119,59,1,8612,101,99,116,111,114,59,1,10586,105,97,110,103,108,101,4,3,59,66,69,2806,2808,2813,1,8882,97,114,59,1,10703,113,117,97,108,59,1,8884,112,4,3,68,84,86,2829,2841,2852,111,119,110,86,101,99,116,111,114,59,1,10577,101,101,86,101,99,116,111,114,59,1,10592,101,99,116,111,114,4,2,59,66,2863,2865,1,8639,97,114,59,1,10584,101,99,116,111,114,4,2,59,66,2881,2883,1,8636,97,114,59,1,10578,114,114,111,119,59,1,8656,105,103,104,116,97,114,114,111,119,59,1,8660,115,4,6,69,70,71,76,83,84,2922,2936,2947,2956,2962,2974,113,117,97,108,71,114,101,97,116,101,114,59,1,8922,117,108,108,69,113,117,97,108,59,1,8806,114,101,97,116,101,114,59,1,8822,101,115,115,59,1,10913,108,97,110,116,69,113,117,97,108,59,1,10877,105,108,100,101,59,1,8818,114,59,3,55349,56591,4,2,59,101,2992,2994,1,8920,102,116,97,114,114,111,119,59,1,8666,105,100,111,116,59,1,319,4,3,110,112,119,3019,3110,3115,103,4,4,76,82,108,114,3030,3058,3070,3098,101,102,116,4,2,65,82,3039,3046,114,114,111,119,59,1,10229,105,103,104,116,65,114,114,111,119,59,1,10231,105,103,104,116,65,114,114,111,119,59,1,10230,101,102,116,4,2,97,114,3079,3086,114,114,111,119,59,1,10232,105,103,104,116,97,114,114,111,119,59,1,10234,105,103,104,116,97,114,114,111,119,59,1,10233,102,59,3,55349,56643,101,114,4,2,76,82,3123,3134,101,102,116,65,114,114,111,119,59,1,8601,105,103,104,116,65,114,114,111,119,59,1,8600,4,3,99,104,116,3154,3158,3161,114,59,1,8466,59,1,8624,114,111,107,59,1,321,59,1,8810,4,8,97,99,101,102,105,111,115,117,3188,3192,3196,3222,3227,3237,3243,3248,112,59,1,10501,121,59,1,1052,4,2,100,108,3202,3213,105,117,109,83,112,97,99,101,59,1,8287,108,105,110,116,114,102,59,1,8499,114,59,3,55349,56592,110,117,115,80,108,117,115,59,1,8723,112,102,59,3,55349,56644,99,114,59,1,8499,59,1,924,4,9,74,97,99,101,102,111,115,116,117,3271,3276,3283,3306,3422,3427,4120,4126,4137,99,121,59,1,1034,99,117,116,101,59,1,323,4,3,97,101,121,3291,3297,3303,114,111,110,59,1,327,100,105,108,59,1,325,59,1,1053,4,3,103,115,119,3314,3380,3415,97,116,105,118,101,4,3,77,84,86,3327,3340,3365,101,100,105,117,109,83,112,97,99,101,59,1,8203,104,105,4,2,99,110,3348,3357,107,83,112,97,99,101,59,1,8203,83,112,97,99,101,59,1,8203,101,114,121,84,104,105,110,83,112,97,99,101,59,1,8203,116,101,100,4,2,71,76,3389,3405,114,101,97,116,101,114,71,114,101,97,116,101,114,59,1,8811,101,115,115,76,101,115,115,59,1,8810,76,105,110,101,59,1,10,114,59,3,55349,56593,4,4,66,110,112,116,3437,3444,3460,3464,114,101,97,107,59,1,8288,66,114,101,97,107,105,110,103,83,112,97,99,101,59,1,160,102,59,1,8469,4,13,59,67,68,69,71,72,76,78,80,82,83,84,86,3492,3494,3517,3536,3578,3657,3685,3784,3823,3860,3915,4066,4107,1,10988,4,2,111,117,3500,3510,110,103,114,117,101,110,116,59,1,8802,112,67,97,112,59,1,8813,111,117,98,108,101,86,101,114,116,105,99,97,108,66,97,114,59,1,8742,4,3,108,113,120,3544,3552,3571,101,109,101,110,116,59,1,8713,117,97,108,4,2,59,84,3561,3563,1,8800,105,108,100,101,59,3,8770,824,105,115,116,115,59,1,8708,114,101,97,116,101,114,4,7,59,69,70,71,76,83,84,3600,3602,3609,3621,3631,3637,3650,1,8815,113,117,97,108,59,1,8817,117,108,108,69,113,117,97,108,59,3,8807,824,114,101,97,116,101,114,59,3,8811,824,101,115,115,59,1,8825,108,97,110,116,69,113,117,97,108,59,3,10878,824,105,108,100,101,59,1,8821,117,109,112,4,2,68,69,3666,3677,111,119,110,72,117,109,112,59,3,8782,824,113,117,97,108,59,3,8783,824,101,4,2,102,115,3692,3724,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3709,3711,3717,1,8938,97,114,59,3,10703,824,113,117,97,108,59,1,8940,115,4,6,59,69,71,76,83,84,3739,3741,3748,3757,3764,3777,1,8814,113,117,97,108,59,1,8816,114,101,97,116,101,114,59,1,8824,101,115,115,59,3,8810,824,108,97,110,116,69,113,117,97,108,59,3,10877,824,105,108,100,101,59,1,8820,101,115,116,101,100,4,2,71,76,3795,3812,114,101,97,116,101,114,71,114,101,97,116,101,114,59,3,10914,824,101,115,115,76,101,115,115,59,3,10913,824,114,101,99,101,100,101,115,4,3,59,69,83,3838,3840,3848,1,8832,113,117,97,108,59,3,10927,824,108,97,110,116,69,113,117,97,108,59,1,8928,4,2,101,105,3866,3881,118,101,114,115,101,69,108,101,109,101,110,116,59,1,8716,103,104,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3900,3902,3908,1,8939,97,114,59,3,10704,824,113,117,97,108,59,1,8941,4,2,113,117,3921,3973,117,97,114,101,83,117,4,2,98,112,3933,3952,115,101,116,4,2,59,69,3942,3945,3,8847,824,113,117,97,108,59,1,8930,101,114,115,101,116,4,2,59,69,3963,3966,3,8848,824,113,117,97,108,59,1,8931,4,3,98,99,112,3981,4000,4045,115,101,116,4,2,59,69,3990,3993,3,8834,8402,113,117,97,108,59,1,8840,99,101,101,100,115,4,4,59,69,83,84,4015,4017,4025,4037,1,8833,113,117,97,108,59,3,10928,824,108,97,110,116,69,113,117,97,108,59,1,8929,105,108,100,101,59,3,8831,824,101,114,115,101,116,4,2,59,69,4056,4059,3,8835,8402,113,117,97,108,59,1,8841,105,108,100,101,4,4,59,69,70,84,4080,4082,4089,4100,1,8769,113,117,97,108,59,1,8772,117,108,108,69,113,117,97,108,59,1,8775,105,108,100,101,59,1,8777,101,114,116,105,99,97,108,66,97,114,59,1,8740,99,114,59,3,55349,56489,105,108,100,101,5,209,1,59,4135,1,209,59,1,925,4,14,69,97,99,100,102,103,109,111,112,114,115,116,117,118,4170,4176,4187,4205,4212,4217,4228,4253,4259,4292,4295,4316,4337,4346,108,105,103,59,1,338,99,117,116,101,5,211,1,59,4185,1,211,4,2,105,121,4193,4202,114,99,5,212,1,59,4200,1,212,59,1,1054,98,108,97,99,59,1,336,114,59,3,55349,56594,114,97,118,101,5,210,1,59,4226,1,210,4,3,97,101,105,4236,4241,4246,99,114,59,1,332,103,97,59,1,937,99,114,111,110,59,1,927,112,102,59,3,55349,56646,101,110,67,117,114,108,121,4,2,68,81,4272,4285,111,117,98,108,101,81,117,111,116,101,59,1,8220,117,111,116,101,59,1,8216,59,1,10836,4,2,99,108,4301,4306,114,59,3,55349,56490,97,115,104,5,216,1,59,4314,1,216,105,4,2,108,109,4323,4332,100,101,5,213,1,59,4330,1,213,101,115,59,1,10807,109,108,5,214,1,59,4344,1,214,101,114,4,2,66,80,4354,4380,4,2,97,114,4360,4364,114,59,1,8254,97,99,4,2,101,107,4372,4375,59,1,9182,101,116,59,1,9140,97,114,101,110,116,104,101,115,105,115,59,1,9180,4,9,97,99,102,104,105,108,111,114,115,4413,4422,4426,4431,4435,4438,4448,4471,4561,114,116,105,97,108,68,59,1,8706,121,59,1,1055,114,59,3,55349,56595,105,59,1,934,59,1,928,117,115,77,105,110,117,115,59,1,177,4,2,105,112,4454,4467,110,99,97,114,101,112,108,97,110,101,59,1,8460,102,59,1,8473,4,4,59,101,105,111,4481,4483,4526,4531,1,10939,99,101,100,101,115,4,4,59,69,83,84,4498,4500,4507,4519,1,8826,113,117,97,108,59,1,10927,108,97,110,116,69,113,117,97,108,59,1,8828,105,108,100,101,59,1,8830,109,101,59,1,8243,4,2,100,112,4537,4543,117,99,116,59,1,8719,111,114,116,105,111,110,4,2,59,97,4555,4557,1,8759,108,59,1,8733,4,2,99,105,4567,4572,114,59,3,55349,56491,59,1,936,4,4,85,102,111,115,4585,4594,4599,4604,79,84,5,34,1,59,4592,1,34,114,59,3,55349,56596,112,102,59,1,8474,99,114,59,3,55349,56492,4,12,66,69,97,99,101,102,104,105,111,114,115,117,4636,4642,4650,4681,4704,4763,4767,4771,5047,5069,5081,5094,97,114,114,59,1,10512,71,5,174,1,59,4648,1,174,4,3,99,110,114,4658,4664,4668,117,116,101,59,1,340,103,59,1,10219,114,4,2,59,116,4675,4677,1,8608,108,59,1,10518,4,3,97,101,121,4689,4695,4701,114,111,110,59,1,344,100,105,108,59,1,342,59,1,1056,4,2,59,118,4710,4712,1,8476,101,114,115,101,4,2,69,85,4722,4748,4,2,108,113,4728,4736,101,109,101,110,116,59,1,8715,117,105,108,105,98,114,105,117,109,59,1,8651,112,69,113,117,105,108,105,98,114,105,117,109,59,1,10607,114,59,1,8476,111,59,1,929,103,104,116,4,8,65,67,68,70,84,85,86,97,4792,4840,4849,4905,4912,4972,5022,5040,4,2,110,114,4798,4811,103,108,101,66,114,97,99,107,101,116,59,1,10217,114,111,119,4,3,59,66,76,4822,4824,4829,1,8594,97,114,59,1,8677,101,102,116,65,114,114,111,119,59,1,8644,101,105,108,105,110,103,59,1,8969,111,4,2,117,119,4856,4869,98,108,101,66,114,97,99,107,101,116,59,1,10215,110,4,2,84,86,4876,4887,101,101,86,101,99,116,111,114,59,1,10589,101,99,116,111,114,4,2,59,66,4898,4900,1,8642,97,114,59,1,10581,108,111,111,114,59,1,8971,4,2,101,114,4918,4944,101,4,3,59,65,86,4927,4929,4936,1,8866,114,114,111,119,59,1,8614,101,99,116,111,114,59,1,10587,105,97,110,103,108,101,4,3,59,66,69,4958,4960,4965,1,8883,97,114,59,1,10704,113,117,97,108,59,1,8885,112,4,3,68,84,86,4981,4993,5004,111,119,110,86,101,99,116,111,114,59,1,10575,101,101,86,101,99,116,111,114,59,1,10588,101,99,116,111,114,4,2,59,66,5015,5017,1,8638,97,114,59,1,10580,101,99,116,111,114,4,2,59,66,5033,5035,1,8640,97,114,59,1,10579,114,114,111,119,59,1,8658,4,2,112,117,5053,5057,102,59,1,8477,110,100,73,109,112,108,105,101,115,59,1,10608,105,103,104,116,97,114,114,111,119,59,1,8667,4,2,99,104,5087,5091,114,59,1,8475,59,1,8625,108,101,68,101,108,97,121,101,100,59,1,10740,4,13,72,79,97,99,102,104,105,109,111,113,115,116,117,5134,5150,5157,5164,5198,5203,5259,5265,5277,5283,5374,5380,5385,4,2,67,99,5140,5146,72,99,121,59,1,1065,121,59,1,1064,70,84,99,121,59,1,1068,99,117,116,101,59,1,346,4,5,59,97,101,105,121,5176,5178,5184,5190,5195,1,10940,114,111,110,59,1,352,100,105,108,59,1,350,114,99,59,1,348,59,1,1057,114,59,3,55349,56598,111,114,116,4,4,68,76,82,85,5216,5227,5238,5250,111,119,110,65,114,114,111,119,59,1,8595,101,102,116,65,114,114,111,119,59,1,8592,105,103,104,116,65,114,114,111,119,59,1,8594,112,65,114,114,111,119,59,1,8593,103,109,97,59,1,931,97,108,108,67,105,114,99,108,101,59,1,8728,112,102,59,3,55349,56650,4,2,114,117,5289,5293,116,59,1,8730,97,114,101,4,4,59,73,83,85,5306,5308,5322,5367,1,9633,110,116,101,114,115,101,99,116,105,111,110,59,1,8851,117,4,2,98,112,5329,5347,115,101,116,4,2,59,69,5338,5340,1,8847,113,117,97,108,59,1,8849,101,114,115,101,116,4,2,59,69,5358,5360,1,8848,113,117,97,108,59,1,8850,110,105,111,110,59,1,8852,99,114,59,3,55349,56494,97,114,59,1,8902,4,4,98,99,109,112,5395,5420,5475,5478,4,2,59,115,5401,5403,1,8912,101,116,4,2,59,69,5411,5413,1,8912,113,117,97,108,59,1,8838,4,2,99,104,5426,5468,101,101,100,115,4,4,59,69,83,84,5440,5442,5449,5461,1,8827,113,117,97,108,59,1,10928,108,97,110,116,69,113,117,97,108,59,1,8829,105,108,100,101,59,1,8831,84,104,97,116,59,1,8715,59,1,8721,4,3,59,101,115,5486,5488,5507,1,8913,114,115,101,116,4,2,59,69,5498,5500,1,8835,113,117,97,108,59,1,8839,101,116,59,1,8913,4,11,72,82,83,97,99,102,104,105,111,114,115,5536,5546,5552,5567,5579,5602,5607,5655,5695,5701,5711,79,82,78,5,222,1,59,5544,1,222,65,68,69,59,1,8482,4,2,72,99,5558,5563,99,121,59,1,1035,121,59,1,1062,4,2,98,117,5573,5576,59,1,9,59,1,932,4,3,97,101,121,5587,5593,5599,114,111,110,59,1,356,100,105,108,59,1,354,59,1,1058,114,59,3,55349,56599,4,2,101,105,5613,5631,4,2,114,116,5619,5627,101,102,111,114,101,59,1,8756,97,59,1,920,4,2,99,110,5637,5647,107,83,112,97,99,101,59,3,8287,8202,83,112,97,99,101,59,1,8201,108,100,101,4,4,59,69,70,84,5668,5670,5677,5688,1,8764,113,117,97,108,59,1,8771,117,108,108,69,113,117,97,108,59,1,8773,105,108,100,101,59,1,8776,112,102,59,3,55349,56651,105,112,108,101,68,111,116,59,1,8411,4,2,99,116,5717,5722,114,59,3,55349,56495,114,111,107,59,1,358,4,14,97,98,99,100,102,103,109,110,111,112,114,115,116,117,5758,5789,5805,5823,5830,5835,5846,5852,5921,5937,6089,6095,6101,6108,4,2,99,114,5764,5774,117,116,101,5,218,1,59,5772,1,218,114,4,2,59,111,5781,5783,1,8607,99,105,114,59,1,10569,114,4,2,99,101,5796,5800,121,59,1,1038,118,101,59,1,364,4,2,105,121,5811,5820,114,99,5,219,1,59,5818,1,219,59,1,1059,98,108,97,99,59,1,368,114,59,3,55349,56600,114,97,118,101,5,217,1,59,5844,1,217,97,99,114,59,1,362,4,2,100,105,5858,5905,101,114,4,2,66,80,5866,5892,4,2,97,114,5872,5876,114,59,1,95,97,99,4,2,101,107,5884,5887,59,1,9183,101,116,59,1,9141,97,114,101,110,116,104,101,115,105,115,59,1,9181,111,110,4,2,59,80,5913,5915,1,8899,108,117,115,59,1,8846,4,2,103,112,5927,5932,111,110,59,1,370,102,59,3,55349,56652,4,8,65,68,69,84,97,100,112,115,5955,5985,5996,6009,6026,6033,6044,6075,114,114,111,119,4,3,59,66,68,5967,5969,5974,1,8593,97,114,59,1,10514,111,119,110,65,114,114,111,119,59,1,8645,111,119,110,65,114,114,111,119,59,1,8597,113,117,105,108,105,98,114,105,117,109,59,1,10606,101,101,4,2,59,65,6017,6019,1,8869,114,114,111,119,59,1,8613,114,114,111,119,59,1,8657,111,119,110,97,114,114,111,119,59,1,8661,101,114,4,2,76,82,6052,6063,101,102,116,65,114,114,111,119,59,1,8598,105,103,104,116,65,114,114,111,119,59,1,8599,105,4,2,59,108,6082,6084,1,978,111,110,59,1,933,105,110,103,59,1,366,99,114,59,3,55349,56496,105,108,100,101,59,1,360,109,108,5,220,1,59,6115,1,220,4,9,68,98,99,100,101,102,111,115,118,6137,6143,6148,6152,6166,6250,6255,6261,6267,97,115,104,59,1,8875,97,114,59,1,10987,121,59,1,1042,97,115,104,4,2,59,108,6161,6163,1,8873,59,1,10982,4,2,101,114,6172,6175,59,1,8897,4,3,98,116,121,6183,6188,6238,97,114,59,1,8214,4,2,59,105,6194,6196,1,8214,99,97,108,4,4,66,76,83,84,6209,6214,6220,6231,97,114,59,1,8739,105,110,101,59,1,124,101,112,97,114,97,116,111,114,59,1,10072,105,108,100,101,59,1,8768,84,104,105,110,83,112,97,99,101,59,1,8202,114,59,3,55349,56601,112,102,59,3,55349,56653,99,114,59,3,55349,56497,100,97,115,104,59,1,8874,4,5,99,101,102,111,115,6286,6292,6298,6303,6309,105,114,99,59,1,372,100,103,101,59,1,8896,114,59,3,55349,56602,112,102,59,3,55349,56654,99,114,59,3,55349,56498,4,4,102,105,111,115,6325,6330,6333,6339,114,59,3,55349,56603,59,1,926,112,102,59,3,55349,56655,99,114,59,3,55349,56499,4,9,65,73,85,97,99,102,111,115,117,6365,6370,6375,6380,6391,6405,6410,6416,6422,99,121,59,1,1071,99,121,59,1,1031,99,121,59,1,1070,99,117,116,101,5,221,1,59,6389,1,221,4,2,105,121,6397,6402,114,99,59,1,374,59,1,1067,114,59,3,55349,56604,112,102,59,3,55349,56656,99,114,59,3,55349,56500,109,108,59,1,376,4,8,72,97,99,100,101,102,111,115,6445,6450,6457,6472,6477,6501,6505,6510,99,121,59,1,1046,99,117,116,101,59,1,377,4,2,97,121,6463,6469,114,111,110,59,1,381,59,1,1047,111,116,59,1,379,4,2,114,116,6483,6497,111,87,105,100,116,104,83,112,97,99,101,59,1,8203,97,59,1,918,114,59,1,8488,112,102,59,1,8484,99,114,59,3,55349,56501,4,16,97,98,99,101,102,103,108,109,110,111,112,114,115,116,117,119,6550,6561,6568,6612,6622,6634,6645,6672,6699,6854,6870,6923,6933,6963,6974,6983,99,117,116,101,5,225,1,59,6559,1,225,114,101,118,101,59,1,259,4,6,59,69,100,105,117,121,6582,6584,6588,6591,6600,6609,1,8766,59,3,8766,819,59,1,8767,114,99,5,226,1,59,6598,1,226,116,101,5,180,1,59,6607,1,180,59,1,1072,108,105,103,5,230,1,59,6620,1,230,4,2,59,114,6628,6630,1,8289,59,3,55349,56606,114,97,118,101,5,224,1,59,6643,1,224,4,2,101,112,6651,6667,4,2,102,112,6657,6663,115,121,109,59,1,8501,104,59,1,8501,104,97,59,1,945,4,2,97,112,6678,6692,4,2,99,108,6684,6688,114,59,1,257,103,59,1,10815,5,38,1,59,6697,1,38,4,2,100,103,6705,6737,4,5,59,97,100,115,118,6717,6719,6724,6727,6734,1,8743,110,100,59,1,10837,59,1,10844,108,111,112,101,59,1,10840,59,1,10842,4,7,59,101,108,109,114,115,122,6753,6755,6758,6762,6814,6835,6848,1,8736,59,1,10660,101,59,1,8736,115,100,4,2,59,97,6770,6772,1,8737,4,8,97,98,99,100,101,102,103,104,6790,6793,6796,6799,6802,6805,6808,6811,59,1,10664,59,1,10665,59,1,10666,59,1,10667,59,1,10668,59,1,10669,59,1,10670,59,1,10671,116,4,2,59,118,6821,6823,1,8735,98,4,2,59,100,6830,6832,1,8894,59,1,10653,4,2,112,116,6841,6845,104,59,1,8738,59,1,197,97,114,114,59,1,9084,4,2,103,112,6860,6865,111,110,59,1,261,102,59,3,55349,56658,4,7,59,69,97,101,105,111,112,6886,6888,6891,6897,6900,6904,6908,1,8776,59,1,10864,99,105,114,59,1,10863,59,1,8778,100,59,1,8779,115,59,1,39,114,111,120,4,2,59,101,6917,6919,1,8776,113,59,1,8778,105,110,103,5,229,1,59,6931,1,229,4,3,99,116,121,6941,6946,6949,114,59,3,55349,56502,59,1,42,109,112,4,2,59,101,6957,6959,1,8776,113,59,1,8781,105,108,100,101,5,227,1,59,6972,1,227,109,108,5,228,1,59,6981,1,228,4,2,99,105,6989,6997,111,110,105,110,116,59,1,8755,110,116,59,1,10769,4,16,78,97,98,99,100,101,102,105,107,108,110,111,112,114,115,117,7036,7041,7119,7135,7149,7155,7219,7224,7347,7354,7463,7489,7786,7793,7814,7866,111,116,59,1,10989,4,2,99,114,7047,7094,107,4,4,99,101,112,115,7058,7064,7073,7080,111,110,103,59,1,8780,112,115,105,108,111,110,59,1,1014,114,105,109,101,59,1,8245,105,109,4,2,59,101,7088,7090,1,8765,113,59,1,8909,4,2,118,119,7100,7105,101,101,59,1,8893,101,100,4,2,59,103,7113,7115,1,8965,101,59,1,8965,114,107,4,2,59,116,7127,7129,1,9141,98,114,107,59,1,9142,4,2,111,121,7141,7146,110,103,59,1,8780,59,1,1073,113,117,111,59,1,8222,4,5,99,109,112,114,116,7167,7181,7188,7193,7199,97,117,115,4,2,59,101,7176,7178,1,8757,59,1,8757,112,116,121,118,59,1,10672,115,105,59,1,1014,110,111,117,59,1,8492,4,3,97,104,119,7207,7210,7213,59,1,946,59,1,8502,101,101,110,59,1,8812,114,59,3,55349,56607,103,4,7,99,111,115,116,117,118,119,7241,7262,7288,7305,7328,7335,7340,4,3,97,105,117,7249,7253,7258,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,4,3,100,112,116,7270,7275,7281,111,116,59,1,10752,108,117,115,59,1,10753,105,109,101,115,59,1,10754,4,2,113,116,7294,7300,99,117,112,59,1,10758,97,114,59,1,9733,114,105,97,110,103,108,101,4,2,100,117,7318,7324,111,119,110,59,1,9661,112,59,1,9651,112,108,117,115,59,1,10756,101,101,59,1,8897,101,100,103,101,59,1,8896,97,114,111,119,59,1,10509,4,3,97,107,111,7362,7436,7458,4,2,99,110,7368,7432,107,4,3,108,115,116,7377,7386,7394,111,122,101,110,103,101,59,1,10731,113,117,97,114,101,59,1,9642,114,105,97,110,103,108,101,4,4,59,100,108,114,7411,7413,7419,7425,1,9652,111,119,110,59,1,9662,101,102,116,59,1,9666,105,103,104,116,59,1,9656,107,59,1,9251,4,2,49,51,7442,7454,4,2,50,52,7448,7451,59,1,9618,59,1,9617,52,59,1,9619,99,107,59,1,9608,4,2,101,111,7469,7485,4,2,59,113,7475,7478,3,61,8421,117,105,118,59,3,8801,8421,116,59,1,8976,4,4,112,116,119,120,7499,7504,7517,7523,102,59,3,55349,56659,4,2,59,116,7510,7512,1,8869,111,109,59,1,8869,116,105,101,59,1,8904,4,12,68,72,85,86,98,100,104,109,112,116,117,118,7549,7571,7597,7619,7655,7660,7682,7708,7715,7721,7728,7750,4,4,76,82,108,114,7559,7562,7565,7568,59,1,9559,59,1,9556,59,1,9558,59,1,9555,4,5,59,68,85,100,117,7583,7585,7588,7591,7594,1,9552,59,1,9574,59,1,9577,59,1,9572,59,1,9575,4,4,76,82,108,114,7607,7610,7613,7616,59,1,9565,59,1,9562,59,1,9564,59,1,9561,4,7,59,72,76,82,104,108,114,7635,7637,7640,7643,7646,7649,7652,1,9553,59,1,9580,59,1,9571,59,1,9568,59,1,9579,59,1,9570,59,1,9567,111,120,59,1,10697,4,4,76,82,108,114,7670,7673,7676,7679,59,1,9557,59,1,9554,59,1,9488,59,1,9484,4,5,59,68,85,100,117,7694,7696,7699,7702,7705,1,9472,59,1,9573,59,1,9576,59,1,9516,59,1,9524,105,110,117,115,59,1,8863,108,117,115,59,1,8862,105,109,101,115,59,1,8864,4,4,76,82,108,114,7738,7741,7744,7747,59,1,9563,59,1,9560,59,1,9496,59,1,9492,4,7,59,72,76,82,104,108,114,7766,7768,7771,7774,7777,7780,7783,1,9474,59,1,9578,59,1,9569,59,1,9566,59,1,9532,59,1,9508,59,1,9500,114,105,109,101,59,1,8245,4,2,101,118,7799,7804,118,101,59,1,728,98,97,114,5,166,1,59,7812,1,166,4,4,99,101,105,111,7824,7829,7834,7846,114,59,3,55349,56503,109,105,59,1,8271,109,4,2,59,101,7841,7843,1,8765,59,1,8909,108,4,3,59,98,104,7855,7857,7860,1,92,59,1,10693,115,117,98,59,1,10184,4,2,108,109,7872,7885,108,4,2,59,101,7879,7881,1,8226,116,59,1,8226,112,4,3,59,69,101,7894,7896,7899,1,8782,59,1,10926,4,2,59,113,7905,7907,1,8783,59,1,8783,4,15,97,99,100,101,102,104,105,108,111,114,115,116,117,119,121,7942,8021,8075,8080,8121,8126,8157,8279,8295,8430,8446,8485,8491,8707,8726,4,3,99,112,114,7950,7956,8007,117,116,101,59,1,263,4,6,59,97,98,99,100,115,7970,7972,7977,7984,7998,8003,1,8745,110,100,59,1,10820,114,99,117,112,59,1,10825,4,2,97,117,7990,7994,112,59,1,10827,112,59,1,10823,111,116,59,1,10816,59,3,8745,65024,4,2,101,111,8013,8017,116,59,1,8257,110,59,1,711,4,4,97,101,105,117,8031,8046,8056,8061,4,2,112,114,8037,8041,115,59,1,10829,111,110,59,1,269,100,105,108,5,231,1,59,8054,1,231,114,99,59,1,265,112,115,4,2,59,115,8069,8071,1,10828,109,59,1,10832,111,116,59,1,267,4,3,100,109,110,8088,8097,8104,105,108,5,184,1,59,8095,1,184,112,116,121,118,59,1,10674,116,5,162,2,59,101,8112,8114,1,162,114,100,111,116,59,1,183,114,59,3,55349,56608,4,3,99,101,105,8134,8138,8154,121,59,1,1095,99,107,4,2,59,109,8146,8148,1,10003,97,114,107,59,1,10003,59,1,967,114,4,7,59,69,99,101,102,109,115,8174,8176,8179,8258,8261,8268,8273,1,9675,59,1,10691,4,3,59,101,108,8187,8189,8193,1,710,113,59,1,8791,101,4,2,97,100,8200,8223,114,114,111,119,4,2,108,114,8210,8216,101,102,116,59,1,8634,105,103,104,116,59,1,8635,4,5,82,83,97,99,100,8235,8238,8241,8246,8252,59,1,174,59,1,9416,115,116,59,1,8859,105,114,99,59,1,8858,97,115,104,59,1,8861,59,1,8791,110,105,110,116,59,1,10768,105,100,59,1,10991,99,105,114,59,1,10690,117,98,115,4,2,59,117,8288,8290,1,9827,105,116,59,1,9827,4,4,108,109,110,112,8305,8326,8376,8400,111,110,4,2,59,101,8313,8315,1,58,4,2,59,113,8321,8323,1,8788,59,1,8788,4,2,109,112,8332,8344,97,4,2,59,116,8339,8341,1,44,59,1,64,4,3,59,102,108,8352,8354,8358,1,8705,110,59,1,8728,101,4,2,109,120,8365,8371,101,110,116,59,1,8705,101,115,59,1,8450,4,2,103,105,8382,8395,4,2,59,100,8388,8390,1,8773,111,116,59,1,10861,110,116,59,1,8750,4,3,102,114,121,8408,8412,8417,59,3,55349,56660,111,100,59,1,8720,5,169,2,59,115,8424,8426,1,169,114,59,1,8471,4,2,97,111,8436,8441,114,114,59,1,8629,115,115,59,1,10007,4,2,99,117,8452,8457,114,59,3,55349,56504,4,2,98,112,8463,8474,4,2,59,101,8469,8471,1,10959,59,1,10961,4,2,59,101,8480,8482,1,10960,59,1,10962,100,111,116,59,1,8943,4,7,100,101,108,112,114,118,119,8507,8522,8536,8550,8600,8697,8702,97,114,114,4,2,108,114,8516,8519,59,1,10552,59,1,10549,4,2,112,115,8528,8532,114,59,1,8926,99,59,1,8927,97,114,114,4,2,59,112,8545,8547,1,8630,59,1,10557,4,6,59,98,99,100,111,115,8564,8566,8573,8587,8592,8596,1,8746,114,99,97,112,59,1,10824,4,2,97,117,8579,8583,112,59,1,10822,112,59,1,10826,111,116,59,1,8845,114,59,1,10821,59,3,8746,65024,4,4,97,108,114,118,8610,8623,8663,8672,114,114,4,2,59,109,8618,8620,1,8631,59,1,10556,121,4,3,101,118,119,8632,8651,8656,113,4,2,112,115,8639,8645,114,101,99,59,1,8926,117,99,99,59,1,8927,101,101,59,1,8910,101,100,103,101,59,1,8911,101,110,5,164,1,59,8670,1,164,101,97,114,114,111,119,4,2,108,114,8684,8690,101,102,116,59,1,8630,105,103,104,116,59,1,8631,101,101,59,1,8910,101,100,59,1,8911,4,2,99,105,8713,8721,111,110,105,110,116,59,1,8754,110,116,59,1,8753,108,99,116,121,59,1,9005,4,19,65,72,97,98,99,100,101,102,104,105,106,108,111,114,115,116,117,119,122,8773,8778,8783,8821,8839,8854,8887,8914,8930,8944,9036,9041,9058,9197,9227,9258,9281,9297,9305,114,114,59,1,8659,97,114,59,1,10597,4,4,103,108,114,115,8793,8799,8805,8809,103,101,114,59,1,8224,101,116,104,59,1,8504,114,59,1,8595,104,4,2,59,118,8816,8818,1,8208,59,1,8867,4,2,107,108,8827,8834,97,114,111,119,59,1,10511,97,99,59,1,733,4,2,97,121,8845,8851,114,111,110,59,1,271,59,1,1076,4,3,59,97,111,8862,8864,8880,1,8518,4,2,103,114,8870,8876,103,101,114,59,1,8225,114,59,1,8650,116,115,101,113,59,1,10871,4,3,103,108,109,8895,8902,8907,5,176,1,59,8900,1,176,116,97,59,1,948,112,116,121,118,59,1,10673,4,2,105,114,8920,8926,115,104,116,59,1,10623,59,3,55349,56609,97,114,4,2,108,114,8938,8941,59,1,8643,59,1,8642,4,5,97,101,103,115,118,8956,8986,8989,8996,9001,109,4,3,59,111,115,8965,8967,8983,1,8900,110,100,4,2,59,115,8975,8977,1,8900,117,105,116,59,1,9830,59,1,9830,59,1,168,97,109,109,97,59,1,989,105,110,59,1,8946,4,3,59,105,111,9009,9011,9031,1,247,100,101,5,247,2,59,111,9020,9022,1,247,110,116,105,109,101,115,59,1,8903,110,120,59,1,8903,99,121,59,1,1106,99,4,2,111,114,9048,9053,114,110,59,1,8990,111,112,59,1,8973,4,5,108,112,116,117,119,9070,9076,9081,9130,9144,108,97,114,59,1,36,102,59,3,55349,56661,4,5,59,101,109,112,115,9093,9095,9109,9116,9122,1,729,113,4,2,59,100,9102,9104,1,8784,111,116,59,1,8785,105,110,117,115,59,1,8760,108,117,115,59,1,8724,113,117,97,114,101,59,1,8865,98,108,101,98,97,114,119,101,100,103,101,59,1,8966,110,4,3,97,100,104,9153,9160,9172,114,114,111,119,59,1,8595,111,119,110,97,114,114,111,119,115,59,1,8650,97,114,112,111,111,110,4,2,108,114,9184,9190,101,102,116,59,1,8643,105,103,104,116,59,1,8642,4,2,98,99,9203,9211,107,97,114,111,119,59,1,10512,4,2,111,114,9217,9222,114,110,59,1,8991,111,112,59,1,8972,4,3,99,111,116,9235,9248,9252,4,2,114,121,9241,9245,59,3,55349,56505,59,1,1109,108,59,1,10742,114,111,107,59,1,273,4,2,100,114,9264,9269,111,116,59,1,8945,105,4,2,59,102,9276,9278,1,9663,59,1,9662,4,2,97,104,9287,9292,114,114,59,1,8693,97,114,59,1,10607,97,110,103,108,101,59,1,10662,4,2,99,105,9311,9315,121,59,1,1119,103,114,97,114,114,59,1,10239,4,18,68,97,99,100,101,102,103,108,109,110,111,112,113,114,115,116,117,120,9361,9376,9398,9439,9444,9447,9462,9495,9531,9585,9598,9614,9659,9755,9771,9792,9808,9826,4,2,68,111,9367,9372,111,116,59,1,10871,116,59,1,8785,4,2,99,115,9382,9392,117,116,101,5,233,1,59,9390,1,233,116,101,114,59,1,10862,4,4,97,105,111,121,9408,9414,9430,9436,114,111,110,59,1,283,114,4,2,59,99,9421,9423,1,8790,5,234,1,59,9428,1,234,108,111,110,59,1,8789,59,1,1101,111,116,59,1,279,59,1,8519,4,2,68,114,9453,9458,111,116,59,1,8786,59,3,55349,56610,4,3,59,114,115,9470,9472,9482,1,10906,97,118,101,5,232,1,59,9480,1,232,4,2,59,100,9488,9490,1,10902,111,116,59,1,10904,4,4,59,105,108,115,9505,9507,9515,9518,1,10905,110,116,101,114,115,59,1,9191,59,1,8467,4,2,59,100,9524,9526,1,10901,111,116,59,1,10903,4,3,97,112,115,9539,9544,9564,99,114,59,1,275,116,121,4,3,59,115,118,9554,9556,9561,1,8709,101,116,59,1,8709,59,1,8709,112,4,2,49,59,9571,9583,4,2,51,52,9577,9580,59,1,8196,59,1,8197,1,8195,4,2,103,115,9591,9594,59,1,331,112,59,1,8194,4,2,103,112,9604,9609,111,110,59,1,281,102,59,3,55349,56662,4,3,97,108,115,9622,9635,9640,114,4,2,59,115,9629,9631,1,8917,108,59,1,10723,117,115,59,1,10865,105,4,3,59,108,118,9649,9651,9656,1,949,111,110,59,1,949,59,1,1013,4,4,99,115,117,118,9669,9686,9716,9747,4,2,105,111,9675,9680,114,99,59,1,8790,108,111,110,59,1,8789,4,2,105,108,9692,9696,109,59,1,8770,97,110,116,4,2,103,108,9705,9710,116,114,59,1,10902,101,115,115,59,1,10901,4,3,97,101,105,9724,9729,9734,108,115,59,1,61,115,116,59,1,8799,118,4,2,59,68,9741,9743,1,8801,68,59,1,10872,112,97,114,115,108,59,1,10725,4,2,68,97,9761,9766,111,116,59,1,8787,114,114,59,1,10609,4,3,99,100,105,9779,9783,9788,114,59,1,8495,111,116,59,1,8784,109,59,1,8770,4,2,97,104,9798,9801,59,1,951,5,240,1,59,9806,1,240,4,2,109,114,9814,9822,108,5,235,1,59,9820,1,235,111,59,1,8364,4,3,99,105,112,9834,9838,9843,108,59,1,33,115,116,59,1,8707,4,2,101,111,9849,9859,99,116,97,116,105,111,110,59,1,8496,110,101,110,116,105,97,108,101,59,1,8519,4,12,97,99,101,102,105,106,108,110,111,112,114,115,9896,9910,9914,9921,9954,9960,9967,9989,9994,10027,10036,10164,108,108,105,110,103,100,111,116,115,101,113,59,1,8786,121,59,1,1092,109,97,108,101,59,1,9792,4,3,105,108,114,9929,9935,9950,108,105,103,59,1,64259,4,2,105,108,9941,9945,103,59,1,64256,105,103,59,1,64260,59,3,55349,56611,108,105,103,59,1,64257,108,105,103,59,3,102,106,4,3,97,108,116,9975,9979,9984,116,59,1,9837,105,103,59,1,64258,110,115,59,1,9649,111,102,59,1,402,4,2,112,114,10000,10005,102,59,3,55349,56663,4,2,97,107,10011,10016,108,108,59,1,8704,4,2,59,118,10022,10024,1,8916,59,1,10969,97,114,116,105,110,116,59,1,10765,4,2,97,111,10042,10159,4,2,99,115,10048,10155,4,6,49,50,51,52,53,55,10062,10102,10114,10135,10139,10151,4,6,50,51,52,53,54,56,10076,10083,10086,10093,10096,10099,5,189,1,59,10081,1,189,59,1,8531,5,188,1,59,10091,1,188,59,1,8533,59,1,8537,59,1,8539,4,2,51,53,10108,10111,59,1,8532,59,1,8534,4,3,52,53,56,10122,10129,10132,5,190,1,59,10127,1,190,59,1,8535,59,1,8540,53,59,1,8536,4,2,54,56,10145,10148,59,1,8538,59,1,8541,56,59,1,8542,108,59,1,8260,119,110,59,1,8994,99,114,59,3,55349,56507,4,17,69,97,98,99,100,101,102,103,105,106,108,110,111,114,115,116,118,10206,10217,10247,10254,10268,10273,10358,10363,10374,10380,10385,10406,10458,10464,10470,10497,10610,4,2,59,108,10212,10214,1,8807,59,1,10892,4,3,99,109,112,10225,10231,10244,117,116,101,59,1,501,109,97,4,2,59,100,10239,10241,1,947,59,1,989,59,1,10886,114,101,118,101,59,1,287,4,2,105,121,10260,10265,114,99,59,1,285,59,1,1075,111,116,59,1,289,4,4,59,108,113,115,10283,10285,10288,10308,1,8805,59,1,8923,4,3,59,113,115,10296,10298,10301,1,8805,59,1,8807,108,97,110,116,59,1,10878,4,4,59,99,100,108,10318,10320,10324,10345,1,10878,99,59,1,10921,111,116,4,2,59,111,10332,10334,1,10880,4,2,59,108,10340,10342,1,10882,59,1,10884,4,2,59,101,10351,10354,3,8923,65024,115,59,1,10900,114,59,3,55349,56612,4,2,59,103,10369,10371,1,8811,59,1,8921,109,101,108,59,1,8503,99,121,59,1,1107,4,4,59,69,97,106,10395,10397,10400,10403,1,8823,59,1,10898,59,1,10917,59,1,10916,4,4,69,97,101,115,10416,10419,10434,10453,59,1,8809,112,4,2,59,112,10426,10428,1,10890,114,111,120,59,1,10890,4,2,59,113,10440,10442,1,10888,4,2,59,113,10448,10450,1,10888,59,1,8809,105,109,59,1,8935,112,102,59,3,55349,56664,97,118,101,59,1,96,4,2,99,105,10476,10480,114,59,1,8458,109,4,3,59,101,108,10489,10491,10494,1,8819,59,1,10894,59,1,10896,5,62,6,59,99,100,108,113,114,10512,10514,10527,10532,10538,10545,1,62,4,2,99,105,10520,10523,59,1,10919,114,59,1,10874,111,116,59,1,8919,80,97,114,59,1,10645,117,101,115,116,59,1,10876,4,5,97,100,101,108,115,10557,10574,10579,10599,10605,4,2,112,114,10563,10570,112,114,111,120,59,1,10886,114,59,1,10616,111,116,59,1,8919,113,4,2,108,113,10586,10592,101,115,115,59,1,8923,108,101,115,115,59,1,10892,101,115,115,59,1,8823,105,109,59,1,8819,4,2,101,110,10616,10626,114,116,110,101,113,113,59,3,8809,65024,69,59,3,8809,65024,4,10,65,97,98,99,101,102,107,111,115,121,10653,10658,10713,10718,10724,10760,10765,10786,10850,10875,114,114,59,1,8660,4,4,105,108,109,114,10668,10674,10678,10684,114,115,112,59,1,8202,102,59,1,189,105,108,116,59,1,8459,4,2,100,114,10690,10695,99,121,59,1,1098,4,3,59,99,119,10703,10705,10710,1,8596,105,114,59,1,10568,59,1,8621,97,114,59,1,8463,105,114,99,59,1,293,4,3,97,108,114,10732,10748,10754,114,116,115,4,2,59,117,10741,10743,1,9829,105,116,59,1,9829,108,105,112,59,1,8230,99,111,110,59,1,8889,114,59,3,55349,56613,115,4,2,101,119,10772,10779,97,114,111,119,59,1,10533,97,114,111,119,59,1,10534,4,5,97,109,111,112,114,10798,10803,10809,10839,10844,114,114,59,1,8703,116,104,116,59,1,8763,107,4,2,108,114,10816,10827,101,102,116,97,114,114,111,119,59,1,8617,105,103,104,116,97,114,114,111,119,59,1,8618,102,59,3,55349,56665,98,97,114,59,1,8213,4,3,99,108,116,10858,10863,10869,114,59,3,55349,56509,97,115,104,59,1,8463,114,111,107,59,1,295,4,2,98,112,10881,10887,117,108,108,59,1,8259,104,101,110,59,1,8208,4,15,97,99,101,102,103,105,106,109,110,111,112,113,115,116,117,10925,10936,10958,10977,10990,11001,11039,11045,11101,11192,11220,11226,11237,11285,11299,99,117,116,101,5,237,1,59,10934,1,237,4,3,59,105,121,10944,10946,10955,1,8291,114,99,5,238,1,59,10953,1,238,59,1,1080,4,2,99,120,10964,10968,121,59,1,1077,99,108,5,161,1,59,10975,1,161,4,2,102,114,10983,10986,59,1,8660,59,3,55349,56614,114,97,118,101,5,236,1,59,10999,1,236,4,4,59,105,110,111,11011,11013,11028,11034,1,8520,4,2,105,110,11019,11024,110,116,59,1,10764,116,59,1,8749,102,105,110,59,1,10716,116,97,59,1,8489,108,105,103,59,1,307,4,3,97,111,112,11053,11092,11096,4,3,99,103,116,11061,11065,11088,114,59,1,299,4,3,101,108,112,11073,11076,11082,59,1,8465,105,110,101,59,1,8464,97,114,116,59,1,8465,104,59,1,305,102,59,1,8887,101,100,59,1,437,4,5,59,99,102,111,116,11113,11115,11121,11136,11142,1,8712,97,114,101,59,1,8453,105,110,4,2,59,116,11129,11131,1,8734,105,101,59,1,10717,100,111,116,59,1,305,4,5,59,99,101,108,112,11154,11156,11161,11179,11186,1,8747,97,108,59,1,8890,4,2,103,114,11167,11173,101,114,115,59,1,8484,99,97,108,59,1,8890,97,114,104,107,59,1,10775,114,111,100,59,1,10812,4,4,99,103,112,116,11202,11206,11211,11216,121,59,1,1105,111,110,59,1,303,102,59,3,55349,56666,97,59,1,953,114,111,100,59,1,10812,117,101,115,116,5,191,1,59,11235,1,191,4,2,99,105,11243,11248,114,59,3,55349,56510,110,4,5,59,69,100,115,118,11261,11263,11266,11271,11282,1,8712,59,1,8953,111,116,59,1,8949,4,2,59,118,11277,11279,1,8948,59,1,8947,59,1,8712,4,2,59,105,11291,11293,1,8290,108,100,101,59,1,297,4,2,107,109,11305,11310,99,121,59,1,1110,108,5,239,1,59,11316,1,239,4,6,99,102,109,111,115,117,11332,11346,11351,11357,11363,11380,4,2,105,121,11338,11343,114,99,59,1,309,59,1,1081,114,59,3,55349,56615,97,116,104,59,1,567,112,102,59,3,55349,56667,4,2,99,101,11369,11374,114,59,3,55349,56511,114,99,121,59,1,1112,107,99,121,59,1,1108,4,8,97,99,102,103,104,106,111,115,11404,11418,11433,11438,11445,11450,11455,11461,112,112,97,4,2,59,118,11413,11415,1,954,59,1,1008,4,2,101,121,11424,11430,100,105,108,59,1,311,59,1,1082,114,59,3,55349,56616,114,101,101,110,59,1,312,99,121,59,1,1093,99,121,59,1,1116,112,102,59,3,55349,56668,99,114,59,3,55349,56512,4,23,65,66,69,72,97,98,99,100,101,102,103,104,106,108,109,110,111,112,114,115,116,117,118,11515,11538,11544,11555,11560,11721,11780,11818,11868,12136,12160,12171,12203,12208,12246,12275,12327,12509,12523,12569,12641,12732,12752,4,3,97,114,116,11523,11528,11532,114,114,59,1,8666,114,59,1,8656,97,105,108,59,1,10523,97,114,114,59,1,10510,4,2,59,103,11550,11552,1,8806,59,1,10891,97,114,59,1,10594,4,9,99,101,103,109,110,112,113,114,116,11580,11586,11594,11600,11606,11624,11627,11636,11694,117,116,101,59,1,314,109,112,116,121,118,59,1,10676,114,97,110,59,1,8466,98,100,97,59,1,955,103,4,3,59,100,108,11615,11617,11620,1,10216,59,1,10641,101,59,1,10216,59,1,10885,117,111,5,171,1,59,11634,1,171,114,4,8,59,98,102,104,108,112,115,116,11655,11657,11669,11673,11677,11681,11685,11690,1,8592,4,2,59,102,11663,11665,1,8676,115,59,1,10527,115,59,1,10525,107,59,1,8617,112,59,1,8619,108,59,1,10553,105,109,59,1,10611,108,59,1,8610,4,3,59,97,101,11702,11704,11709,1,10923,105,108,59,1,10521,4,2,59,115,11715,11717,1,10925,59,3,10925,65024,4,3,97,98,114,11729,11734,11739,114,114,59,1,10508,114,107,59,1,10098,4,2,97,107,11745,11758,99,4,2,101,107,11752,11755,59,1,123,59,1,91,4,2,101,115,11764,11767,59,1,10635,108,4,2,100,117,11774,11777,59,1,10639,59,1,10637,4,4,97,101,117,121,11790,11796,11811,11815,114,111,110,59,1,318,4,2,100,105,11802,11807,105,108,59,1,316,108,59,1,8968,98,59,1,123,59,1,1083,4,4,99,113,114,115,11828,11832,11845,11864,97,59,1,10550,117,111,4,2,59,114,11840,11842,1,8220,59,1,8222,4,2,100,117,11851,11857,104,97,114,59,1,10599,115,104,97,114,59,1,10571,104,59,1,8626,4,5,59,102,103,113,115,11880,11882,12008,12011,12031,1,8804,116,4,5,97,104,108,114,116,11895,11913,11935,11947,11996,114,114,111,119,4,2,59,116,11905,11907,1,8592,97,105,108,59,1,8610,97,114,112,111,111,110,4,2,100,117,11925,11931,111,119,110,59,1,8637,112,59,1,8636,101,102,116,97,114,114,111,119,115,59,1,8647,105,103,104,116,4,3,97,104,115,11959,11974,11984,114,114,111,119,4,2,59,115,11969,11971,1,8596,59,1,8646,97,114,112,111,111,110,115,59,1,8651,113,117,105,103,97,114,114,111,119,59,1,8621,104,114,101,101,116,105,109,101,115,59,1,8907,59,1,8922,4,3,59,113,115,12019,12021,12024,1,8804,59,1,8806,108,97,110,116,59,1,10877,4,5,59,99,100,103,115,12043,12045,12049,12070,12083,1,10877,99,59,1,10920,111,116,4,2,59,111,12057,12059,1,10879,4,2,59,114,12065,12067,1,10881,59,1,10883,4,2,59,101,12076,12079,3,8922,65024,115,59,1,10899,4,5,97,100,101,103,115,12095,12103,12108,12126,12131,112,112,114,111,120,59,1,10885,111,116,59,1,8918,113,4,2,103,113,12115,12120,116,114,59,1,8922,103,116,114,59,1,10891,116,114,59,1,8822,105,109,59,1,8818,4,3,105,108,114,12144,12150,12156,115,104,116,59,1,10620,111,111,114,59,1,8970,59,3,55349,56617,4,2,59,69,12166,12168,1,8822,59,1,10897,4,2,97,98,12177,12198,114,4,2,100,117,12184,12187,59,1,8637,4,2,59,108,12193,12195,1,8636,59,1,10602,108,107,59,1,9604,99,121,59,1,1113,4,5,59,97,99,104,116,12220,12222,12227,12235,12241,1,8810,114,114,59,1,8647,111,114,110,101,114,59,1,8990,97,114,100,59,1,10603,114,105,59,1,9722,4,2,105,111,12252,12258,100,111,116,59,1,320,117,115,116,4,2,59,97,12267,12269,1,9136,99,104,101,59,1,9136,4,4,69,97,101,115,12285,12288,12303,12322,59,1,8808,112,4,2,59,112,12295,12297,1,10889,114,111,120,59,1,10889,4,2,59,113,12309,12311,1,10887,4,2,59,113,12317,12319,1,10887,59,1,8808,105,109,59,1,8934,4,8,97,98,110,111,112,116,119,122,12345,12359,12364,12421,12446,12467,12474,12490,4,2,110,114,12351,12355,103,59,1,10220,114,59,1,8701,114,107,59,1,10214,103,4,3,108,109,114,12373,12401,12409,101,102,116,4,2,97,114,12382,12389,114,114,111,119,59,1,10229,105,103,104,116,97,114,114,111,119,59,1,10231,97,112,115,116,111,59,1,10236,105,103,104,116,97,114,114,111,119,59,1,10230,112,97,114,114,111,119,4,2,108,114,12433,12439,101,102,116,59,1,8619,105,103,104,116,59,1,8620,4,3,97,102,108,12454,12458,12462,114,59,1,10629,59,3,55349,56669,117,115,59,1,10797,105,109,101,115,59,1,10804,4,2,97,98,12480,12485,115,116,59,1,8727,97,114,59,1,95,4,3,59,101,102,12498,12500,12506,1,9674,110,103,101,59,1,9674,59,1,10731,97,114,4,2,59,108,12517,12519,1,40,116,59,1,10643,4,5,97,99,104,109,116,12535,12540,12548,12561,12564,114,114,59,1,8646,111,114,110,101,114,59,1,8991,97,114,4,2,59,100,12556,12558,1,8651,59,1,10605,59,1,8206,114,105,59,1,8895,4,6,97,99,104,105,113,116,12583,12589,12594,12597,12614,12635,113,117,111,59,1,8249,114,59,3,55349,56513,59,1,8624,109,4,3,59,101,103,12606,12608,12611,1,8818,59,1,10893,59,1,10895,4,2,98,117,12620,12623,59,1,91,111,4,2,59,114,12630,12632,1,8216,59,1,8218,114,111,107,59,1,322,5,60,8,59,99,100,104,105,108,113,114,12660,12662,12675,12680,12686,12692,12698,12705,1,60,4,2,99,105,12668,12671,59,1,10918,114,59,1,10873,111,116,59,1,8918,114,101,101,59,1,8907,109,101,115,59,1,8905,97,114,114,59,1,10614,117,101,115,116,59,1,10875,4,2,80,105,12711,12716,97,114,59,1,10646,4,3,59,101,102,12724,12726,12729,1,9667,59,1,8884,59,1,9666,114,4,2,100,117,12739,12746,115,104,97,114,59,1,10570,104,97,114,59,1,10598,4,2,101,110,12758,12768,114,116,110,101,113,113,59,3,8808,65024,69,59,3,8808,65024,4,14,68,97,99,100,101,102,104,105,108,110,111,112,115,117,12803,12809,12893,12908,12914,12928,12933,12937,13011,13025,13032,13049,13052,13069,68,111,116,59,1,8762,4,4,99,108,112,114,12819,12827,12849,12887,114,5,175,1,59,12825,1,175,4,2,101,116,12833,12836,59,1,9794,4,2,59,101,12842,12844,1,10016,115,101,59,1,10016,4,2,59,115,12855,12857,1,8614,116,111,4,4,59,100,108,117,12869,12871,12877,12883,1,8614,111,119,110,59,1,8615,101,102,116,59,1,8612,112,59,1,8613,107,101,114,59,1,9646,4,2,111,121,12899,12905,109,109,97,59,1,10793,59,1,1084,97,115,104,59,1,8212,97,115,117,114,101,100,97,110,103,108,101,59,1,8737,114,59,3,55349,56618,111,59,1,8487,4,3,99,100,110,12945,12954,12985,114,111,5,181,1,59,12952,1,181,4,4,59,97,99,100,12964,12966,12971,12976,1,8739,115,116,59,1,42,105,114,59,1,10992,111,116,5,183,1,59,12983,1,183,117,115,4,3,59,98,100,12995,12997,13000,1,8722,59,1,8863,4,2,59,117,13006,13008,1,8760,59,1,10794,4,2,99,100,13017,13021,112,59,1,10971,114,59,1,8230,112,108,117,115,59,1,8723,4,2,100,112,13038,13044,101,108,115,59,1,8871,102,59,3,55349,56670,59,1,8723,4,2,99,116,13058,13063,114,59,3,55349,56514,112,111,115,59,1,8766,4,3,59,108,109,13077,13079,13087,1,956,116,105,109,97,112,59,1,8888,97,112,59,1,8888,4,24,71,76,82,86,97,98,99,100,101,102,103,104,105,106,108,109,111,112,114,115,116,117,118,119,13142,13165,13217,13229,13247,13330,13359,13414,13420,13508,13513,13579,13602,13626,13631,13762,13767,13855,13936,13995,14214,14285,14312,14432,4,2,103,116,13148,13152,59,3,8921,824,4,2,59,118,13158,13161,3,8811,8402,59,3,8811,824,4,3,101,108,116,13173,13200,13204,102,116,4,2,97,114,13181,13188,114,114,111,119,59,1,8653,105,103,104,116,97,114,114,111,119,59,1,8654,59,3,8920,824,4,2,59,118,13210,13213,3,8810,8402,59,3,8810,824,105,103,104,116,97,114,114,111,119,59,1,8655,4,2,68,100,13235,13241,97,115,104,59,1,8879,97,115,104,59,1,8878,4,5,98,99,110,112,116,13259,13264,13270,13275,13308,108,97,59,1,8711,117,116,101,59,1,324,103,59,3,8736,8402,4,5,59,69,105,111,112,13287,13289,13293,13298,13302,1,8777,59,3,10864,824,100,59,3,8779,824,115,59,1,329,114,111,120,59,1,8777,117,114,4,2,59,97,13316,13318,1,9838,108,4,2,59,115,13325,13327,1,9838,59,1,8469,4,2,115,117,13336,13344,112,5,160,1,59,13342,1,160,109,112,4,2,59,101,13352,13355,3,8782,824,59,3,8783,824,4,5,97,101,111,117,121,13371,13385,13391,13407,13411,4,2,112,114,13377,13380,59,1,10819,111,110,59,1,328,100,105,108,59,1,326,110,103,4,2,59,100,13399,13401,1,8775,111,116,59,3,10861,824,112,59,1,10818,59,1,1085,97,115,104,59,1,8211,4,7,59,65,97,100,113,115,120,13436,13438,13443,13466,13472,13478,13494,1,8800,114,114,59,1,8663,114,4,2,104,114,13450,13454,107,59,1,10532,4,2,59,111,13460,13462,1,8599,119,59,1,8599,111,116,59,3,8784,824,117,105,118,59,1,8802,4,2,101,105,13484,13489,97,114,59,1,10536,109,59,3,8770,824,105,115,116,4,2,59,115,13503,13505,1,8708,59,1,8708,114,59,3,55349,56619,4,4,69,101,115,116,13523,13527,13563,13568,59,3,8807,824,4,3,59,113,115,13535,13537,13559,1,8817,4,3,59,113,115,13545,13547,13551,1,8817,59,3,8807,824,108,97,110,116,59,3,10878,824,59,3,10878,824,105,109,59,1,8821,4,2,59,114,13574,13576,1,8815,59,1,8815,4,3,65,97,112,13587,13592,13597,114,114,59,1,8654,114,114,59,1,8622,97,114,59,1,10994,4,3,59,115,118,13610,13612,13623,1,8715,4,2,59,100,13618,13620,1,8956,59,1,8954,59,1,8715,99,121,59,1,1114,4,7,65,69,97,100,101,115,116,13647,13652,13656,13661,13665,13737,13742,114,114,59,1,8653,59,3,8806,824,114,114,59,1,8602,114,59,1,8229,4,4,59,102,113,115,13675,13677,13703,13725,1,8816,116,4,2,97,114,13684,13691,114,114,111,119,59,1,8602,105,103,104,116,97,114,114,111,119,59,1,8622,4,3,59,113,115,13711,13713,13717,1,8816,59,3,8806,824,108,97,110,116,59,3,10877,824,4,2,59,115,13731,13734,3,10877,824,59,1,8814,105,109,59,1,8820,4,2,59,114,13748,13750,1,8814,105,4,2,59,101,13757,13759,1,8938,59,1,8940,105,100,59,1,8740,4,2,112,116,13773,13778,102,59,3,55349,56671,5,172,3,59,105,110,13787,13789,13829,1,172,110,4,4,59,69,100,118,13800,13802,13806,13812,1,8713,59,3,8953,824,111,116,59,3,8949,824,4,3,97,98,99,13820,13823,13826,59,1,8713,59,1,8951,59,1,8950,105,4,2,59,118,13836,13838,1,8716,4,3,97,98,99,13846,13849,13852,59,1,8716,59,1,8958,59,1,8957,4,3,97,111,114,13863,13892,13899,114,4,4,59,97,115,116,13874,13876,13883,13888,1,8742,108,108,101,108,59,1,8742,108,59,3,11005,8421,59,3,8706,824,108,105,110,116,59,1,10772,4,3,59,99,101,13907,13909,13914,1,8832,117,101,59,1,8928,4,2,59,99,13920,13923,3,10927,824,4,2,59,101,13929,13931,1,8832,113,59,3,10927,824,4,4,65,97,105,116,13946,13951,13971,13982,114,114,59,1,8655,114,114,4,3,59,99,119,13961,13963,13967,1,8603,59,3,10547,824,59,3,8605,824,103,104,116,97,114,114,111,119,59,1,8603,114,105,4,2,59,101,13990,13992,1,8939,59,1,8941,4,7,99,104,105,109,112,113,117,14011,14036,14060,14080,14085,14090,14106,4,4,59,99,101,114,14021,14023,14028,14032,1,8833,117,101,59,1,8929,59,3,10928,824,59,3,55349,56515,111,114,116,4,2,109,112,14045,14050,105,100,59,1,8740,97,114,97,108,108,101,108,59,1,8742,109,4,2,59,101,14067,14069,1,8769,4,2,59,113,14075,14077,1,8772,59,1,8772,105,100,59,1,8740,97,114,59,1,8742,115,117,4,2,98,112,14098,14102,101,59,1,8930,101,59,1,8931,4,3,98,99,112,14114,14157,14171,4,4,59,69,101,115,14124,14126,14130,14133,1,8836,59,3,10949,824,59,1,8840,101,116,4,2,59,101,14141,14144,3,8834,8402,113,4,2,59,113,14151,14153,1,8840,59,3,10949,824,99,4,2,59,101,14164,14166,1,8833,113,59,3,10928,824,4,4,59,69,101,115,14181,14183,14187,14190,1,8837,59,3,10950,824,59,1,8841,101,116,4,2,59,101,14198,14201,3,8835,8402,113,4,2,59,113,14208,14210,1,8841,59,3,10950,824,4,4,103,105,108,114,14224,14228,14238,14242,108,59,1,8825,108,100,101,5,241,1,59,14236,1,241,103,59,1,8824,105,97,110,103,108,101,4,2,108,114,14254,14269,101,102,116,4,2,59,101,14263,14265,1,8938,113,59,1,8940,105,103,104,116,4,2,59,101,14279,14281,1,8939,113,59,1,8941,4,2,59,109,14291,14293,1,957,4,3,59,101,115,14301,14303,14308,1,35,114,111,59,1,8470,112,59,1,8199,4,9,68,72,97,100,103,105,108,114,115,14332,14338,14344,14349,14355,14369,14376,14408,14426,97,115,104,59,1,8877,97,114,114,59,1,10500,112,59,3,8781,8402,97,115,104,59,1,8876,4,2,101,116,14361,14365,59,3,8805,8402,59,3,62,8402,110,102,105,110,59,1,10718,4,3,65,101,116,14384,14389,14393,114,114,59,1,10498,59,3,8804,8402,4,2,59,114,14399,14402,3,60,8402,105,101,59,3,8884,8402,4,2,65,116,14414,14419,114,114,59,1,10499,114,105,101,59,3,8885,8402,105,109,59,3,8764,8402,4,3,65,97,110,14440,14445,14468,114,114,59,1,8662,114,4,2,104,114,14452,14456,107,59,1,10531,4,2,59,111,14462,14464,1,8598,119,59,1,8598,101,97,114,59,1,10535,4,18,83,97,99,100,101,102,103,104,105,108,109,111,112,114,115,116,117,118,14512,14515,14535,14560,14597,14603,14618,14643,14657,14662,14701,14741,14747,14769,14851,14877,14907,14916,59,1,9416,4,2,99,115,14521,14531,117,116,101,5,243,1,59,14529,1,243,116,59,1,8859,4,2,105,121,14541,14557,114,4,2,59,99,14548,14550,1,8858,5,244,1,59,14555,1,244,59,1,1086,4,5,97,98,105,111,115,14572,14577,14583,14587,14591,115,104,59,1,8861,108,97,99,59,1,337,118,59,1,10808,116,59,1,8857,111,108,100,59,1,10684,108,105,103,59,1,339,4,2,99,114,14609,14614,105,114,59,1,10687,59,3,55349,56620,4,3,111,114,116,14626,14630,14640,110,59,1,731,97,118,101,5,242,1,59,14638,1,242,59,1,10689,4,2,98,109,14649,14654,97,114,59,1,10677,59,1,937,110,116,59,1,8750,4,4,97,99,105,116,14672,14677,14693,14698,114,114,59,1,8634,4,2,105,114,14683,14687,114,59,1,10686,111,115,115,59,1,10683,110,101,59,1,8254,59,1,10688,4,3,97,101,105,14709,14714,14719,99,114,59,1,333,103,97,59,1,969,4,3,99,100,110,14727,14733,14736,114,111,110,59,1,959,59,1,10678,117,115,59,1,8854,112,102,59,3,55349,56672,4,3,97,101,108,14755,14759,14764,114,59,1,10679,114,112,59,1,10681,117,115,59,1,8853,4,7,59,97,100,105,111,115,118,14785,14787,14792,14831,14837,14841,14848,1,8744,114,114,59,1,8635,4,4,59,101,102,109,14802,14804,14817,14824,1,10845,114,4,2,59,111,14811,14813,1,8500,102,59,1,8500,5,170,1,59,14822,1,170,5,186,1,59,14829,1,186,103,111,102,59,1,8886,114,59,1,10838,108,111,112,101,59,1,10839,59,1,10843,4,3,99,108,111,14859,14863,14873,114,59,1,8500,97,115,104,5,248,1,59,14871,1,248,108,59,1,8856,105,4,2,108,109,14884,14893,100,101,5,245,1,59,14891,1,245,101,115,4,2,59,97,14901,14903,1,8855,115,59,1,10806,109,108,5,246,1,59,14914,1,246,98,97,114,59,1,9021,4,12,97,99,101,102,104,105,108,109,111,114,115,117,14948,14992,14996,15033,15038,15068,15090,15189,15192,15222,15427,15441,114,4,4,59,97,115,116,14959,14961,14976,14989,1,8741,5,182,2,59,108,14968,14970,1,182,108,101,108,59,1,8741,4,2,105,108,14982,14986,109,59,1,10995,59,1,11005,59,1,8706,121,59,1,1087,114,4,5,99,105,109,112,116,15009,15014,15019,15024,15027,110,116,59,1,37,111,100,59,1,46,105,108,59,1,8240,59,1,8869,101,110,107,59,1,8241,114,59,3,55349,56621,4,3,105,109,111,15046,15057,15063,4,2,59,118,15052,15054,1,966,59,1,981,109,97,116,59,1,8499,110,101,59,1,9742,4,3,59,116,118,15076,15078,15087,1,960,99,104,102,111,114,107,59,1,8916,59,1,982,4,2,97,117,15096,15119,110,4,2,99,107,15103,15115,107,4,2,59,104,15110,15112,1,8463,59,1,8462,118,59,1,8463,115,4,9,59,97,98,99,100,101,109,115,116,15140,15142,15148,15151,15156,15168,15171,15179,15184,1,43,99,105,114,59,1,10787,59,1,8862,105,114,59,1,10786,4,2,111,117,15162,15165,59,1,8724,59,1,10789,59,1,10866,110,5,177,1,59,15177,1,177,105,109,59,1,10790,119,111,59,1,10791,59,1,177,4,3,105,112,117,15200,15208,15213,110,116,105,110,116,59,1,10773,102,59,3,55349,56673,110,100,5,163,1,59,15220,1,163,4,10,59,69,97,99,101,105,110,111,115,117,15244,15246,15249,15253,15258,15334,15347,15367,15416,15421,1,8826,59,1,10931,112,59,1,10935,117,101,59,1,8828,4,2,59,99,15264,15266,1,10927,4,6,59,97,99,101,110,115,15280,15282,15290,15299,15303,15329,1,8826,112,112,114,111,120,59,1,10935,117,114,108,121,101,113,59,1,8828,113,59,1,10927,4,3,97,101,115,15311,15319,15324,112,112,114,111,120,59,1,10937,113,113,59,1,10933,105,109,59,1,8936,105,109,59,1,8830,109,101,4,2,59,115,15342,15344,1,8242,59,1,8473,4,3,69,97,115,15355,15358,15362,59,1,10933,112,59,1,10937,105,109,59,1,8936,4,3,100,102,112,15375,15378,15404,59,1,8719,4,3,97,108,115,15386,15392,15398,108,97,114,59,1,9006,105,110,101,59,1,8978,117,114,102,59,1,8979,4,2,59,116,15410,15412,1,8733,111,59,1,8733,105,109,59,1,8830,114,101,108,59,1,8880,4,2,99,105,15433,15438,114,59,3,55349,56517,59,1,968,110,99,115,112,59,1,8200,4,6,102,105,111,112,115,117,15462,15467,15472,15478,15485,15491,114,59,3,55349,56622,110,116,59,1,10764,112,102,59,3,55349,56674,114,105,109,101,59,1,8279,99,114,59,3,55349,56518,4,3,97,101,111,15499,15520,15534,116,4,2,101,105,15506,15515,114,110,105,111,110,115,59,1,8461,110,116,59,1,10774,115,116,4,2,59,101,15528,15530,1,63,113,59,1,8799,116,5,34,1,59,15540,1,34,4,21,65,66,72,97,98,99,100,101,102,104,105,108,109,110,111,112,114,115,116,117,120,15586,15609,15615,15620,15796,15855,15893,15931,15977,16001,16039,16183,16204,16222,16228,16285,16312,16318,16363,16408,16416,4,3,97,114,116,15594,15599,15603,114,114,59,1,8667,114,59,1,8658,97,105,108,59,1,10524,97,114,114,59,1,10511,97,114,59,1,10596,4,7,99,100,101,110,113,114,116,15636,15651,15656,15664,15687,15696,15770,4,2,101,117,15642,15646,59,3,8765,817,116,101,59,1,341,105,99,59,1,8730,109,112,116,121,118,59,1,10675,103,4,4,59,100,101,108,15675,15677,15680,15683,1,10217,59,1,10642,59,1,10661,101,59,1,10217,117,111,5,187,1,59,15694,1,187,114,4,11,59,97,98,99,102,104,108,112,115,116,119,15721,15723,15727,15739,15742,15746,15750,15754,15758,15763,15767,1,8594,112,59,1,10613,4,2,59,102,15733,15735,1,8677,115,59,1,10528,59,1,10547,115,59,1,10526,107,59,1,8618,112,59,1,8620,108,59,1,10565,105,109,59,1,10612,108,59,1,8611,59,1,8605,4,2,97,105,15776,15781,105,108,59,1,10522,111,4,2,59,110,15788,15790,1,8758,97,108,115,59,1,8474,4,3,97,98,114,15804,15809,15814,114,114,59,1,10509,114,107,59,1,10099,4,2,97,107,15820,15833,99,4,2,101,107,15827,15830,59,1,125,59,1,93,4,2,101,115,15839,15842,59,1,10636,108,4,2,100,117,15849,15852,59,1,10638,59,1,10640,4,4,97,101,117,121,15865,15871,15886,15890,114,111,110,59,1,345,4,2,100,105,15877,15882,105,108,59,1,343,108,59,1,8969,98,59,1,125,59,1,1088,4,4,99,108,113,115,15903,15907,15914,15927,97,59,1,10551,100,104,97,114,59,1,10601,117,111,4,2,59,114,15922,15924,1,8221,59,1,8221,104,59,1,8627,4,3,97,99,103,15939,15966,15970,108,4,4,59,105,112,115,15950,15952,15957,15963,1,8476,110,101,59,1,8475,97,114,116,59,1,8476,59,1,8477,116,59,1,9645,5,174,1,59,15975,1,174,4,3,105,108,114,15985,15991,15997,115,104,116,59,1,10621,111,111,114,59,1,8971,59,3,55349,56623,4,2,97,111,16007,16028,114,4,2,100,117,16014,16017,59,1,8641,4,2,59,108,16023,16025,1,8640,59,1,10604,4,2,59,118,16034,16036,1,961,59,1,1009,4,3,103,110,115,16047,16167,16171,104,116,4,6,97,104,108,114,115,116,16063,16081,16103,16130,16143,16155,114,114,111,119,4,2,59,116,16073,16075,1,8594,97,105,108,59,1,8611,97,114,112,111,111,110,4,2,100,117,16093,16099,111,119,110,59,1,8641,112,59,1,8640,101,102,116,4,2,97,104,16112,16120,114,114,111,119,115,59,1,8644,97,114,112,111,111,110,115,59,1,8652,105,103,104,116,97,114,114,111,119,115,59,1,8649,113,117,105,103,97,114,114,111,119,59,1,8605,104,114,101,101,116,105,109,101,115,59,1,8908,103,59,1,730,105,110,103,100,111,116,115,101,113,59,1,8787,4,3,97,104,109,16191,16196,16201,114,114,59,1,8644,97,114,59,1,8652,59,1,8207,111,117,115,116,4,2,59,97,16214,16216,1,9137,99,104,101,59,1,9137,109,105,100,59,1,10990,4,4,97,98,112,116,16238,16252,16257,16278,4,2,110,114,16244,16248,103,59,1,10221,114,59,1,8702,114,107,59,1,10215,4,3,97,102,108,16265,16269,16273,114,59,1,10630,59,3,55349,56675,117,115,59,1,10798,105,109,101,115,59,1,10805,4,2,97,112,16291,16304,114,4,2,59,103,16298,16300,1,41,116,59,1,10644,111,108,105,110,116,59,1,10770,97,114,114,59,1,8649,4,4,97,99,104,113,16328,16334,16339,16342,113,117,111,59,1,8250,114,59,3,55349,56519,59,1,8625,4,2,98,117,16348,16351,59,1,93,111,4,2,59,114,16358,16360,1,8217,59,1,8217,4,3,104,105,114,16371,16377,16383,114,101,101,59,1,8908,109,101,115,59,1,8906,105,4,4,59,101,102,108,16394,16396,16399,16402,1,9657,59,1,8885,59,1,9656,116,114,105,59,1,10702,108,117,104,97,114,59,1,10600,59,1,8478,4,19,97,98,99,100,101,102,104,105,108,109,111,112,113,114,115,116,117,119,122,16459,16466,16472,16572,16590,16672,16687,16746,16844,16850,16924,16963,16988,17115,17121,17154,17206,17614,17656,99,117,116,101,59,1,347,113,117,111,59,1,8218,4,10,59,69,97,99,101,105,110,112,115,121,16494,16496,16499,16513,16518,16531,16536,16556,16564,16569,1,8827,59,1,10932,4,2,112,114,16505,16508,59,1,10936,111,110,59,1,353,117,101,59,1,8829,4,2,59,100,16524,16526,1,10928,105,108,59,1,351,114,99,59,1,349,4,3,69,97,115,16544,16547,16551,59,1,10934,112,59,1,10938,105,109,59,1,8937,111,108,105,110,116,59,1,10771,105,109,59,1,8831,59,1,1089,111,116,4,3,59,98,101,16582,16584,16587,1,8901,59,1,8865,59,1,10854,4,7,65,97,99,109,115,116,120,16606,16611,16634,16642,16646,16652,16668,114,114,59,1,8664,114,4,2,104,114,16618,16622,107,59,1,10533,4,2,59,111,16628,16630,1,8600,119,59,1,8600,116,5,167,1,59,16640,1,167,105,59,1,59,119,97,114,59,1,10537,109,4,2,105,110,16659,16665,110,117,115,59,1,8726,59,1,8726,116,59,1,10038,114,4,2,59,111,16679,16682,3,55349,56624,119,110,59,1,8994,4,4,97,99,111,121,16697,16702,16716,16739,114,112,59,1,9839,4,2,104,121,16708,16713,99,121,59,1,1097,59,1,1096,114,116,4,2,109,112,16724,16729,105,100,59,1,8739,97,114,97,108,108,101,108,59,1,8741,5,173,1,59,16744,1,173,4,2,103,109,16752,16770,109,97,4,3,59,102,118,16762,16764,16767,1,963,59,1,962,59,1,962,4,8,59,100,101,103,108,110,112,114,16788,16790,16795,16806,16817,16828,16832,16838,1,8764,111,116,59,1,10858,4,2,59,113,16801,16803,1,8771,59,1,8771,4,2,59,69,16812,16814,1,10910,59,1,10912,4,2,59,69,16823,16825,1,10909,59,1,10911,101,59,1,8774,108,117,115,59,1,10788,97,114,114,59,1,10610,97,114,114,59,1,8592,4,4,97,101,105,116,16860,16883,16891,16904,4,2,108,115,16866,16878,108,115,101,116,109,105,110,117,115,59,1,8726,104,112,59,1,10803,112,97,114,115,108,59,1,10724,4,2,100,108,16897,16900,59,1,8739,101,59,1,8995,4,2,59,101,16910,16912,1,10922,4,2,59,115,16918,16920,1,10924,59,3,10924,65024,4,3,102,108,112,16932,16938,16958,116,99,121,59,1,1100,4,2,59,98,16944,16946,1,47,4,2,59,97,16952,16954,1,10692,114,59,1,9023,102,59,3,55349,56676,97,4,2,100,114,16970,16985,101,115,4,2,59,117,16978,16980,1,9824,105,116,59,1,9824,59,1,8741,4,3,99,115,117,16996,17028,17089,4,2,97,117,17002,17015,112,4,2,59,115,17009,17011,1,8851,59,3,8851,65024,112,4,2,59,115,17022,17024,1,8852,59,3,8852,65024,117,4,2,98,112,17035,17062,4,3,59,101,115,17043,17045,17048,1,8847,59,1,8849,101,116,4,2,59,101,17056,17058,1,8847,113,59,1,8849,4,3,59,101,115,17070,17072,17075,1,8848,59,1,8850,101,116,4,2,59,101,17083,17085,1,8848,113,59,1,8850,4,3,59,97,102,17097,17099,17112,1,9633,114,4,2,101,102,17106,17109,59,1,9633,59,1,9642,59,1,9642,97,114,114,59,1,8594,4,4,99,101,109,116,17131,17136,17142,17148,114,59,3,55349,56520,116,109,110,59,1,8726,105,108,101,59,1,8995,97,114,102,59,1,8902,4,2,97,114,17160,17172,114,4,2,59,102,17167,17169,1,9734,59,1,9733,4,2,97,110,17178,17202,105,103,104,116,4,2,101,112,17188,17197,112,115,105,108,111,110,59,1,1013,104,105,59,1,981,115,59,1,175,4,5,98,99,109,110,112,17218,17351,17420,17423,17427,4,9,59,69,100,101,109,110,112,114,115,17238,17240,17243,17248,17261,17267,17279,17285,17291,1,8834,59,1,10949,111,116,59,1,10941,4,2,59,100,17254,17256,1,8838,111,116,59,1,10947,117,108,116,59,1,10945,4,2,69,101,17273,17276,59,1,10955,59,1,8842,108,117,115,59,1,10943,97,114,114,59,1,10617,4,3,101,105,117,17299,17335,17339,116,4,3,59,101,110,17308,17310,17322,1,8834,113,4,2,59,113,17317,17319,1,8838,59,1,10949,101,113,4,2,59,113,17330,17332,1,8842,59,1,10955,109,59,1,10951,4,2,98,112,17345,17348,59,1,10965,59,1,10963,99,4,6,59,97,99,101,110,115,17366,17368,17376,17385,17389,17415,1,8827,112,112,114,111,120,59,1,10936,117,114,108,121,101,113,59,1,8829,113,59,1,10928,4,3,97,101,115,17397,17405,17410,112,112,114,111,120,59,1,10938,113,113,59,1,10934,105,109,59,1,8937,105,109,59,1,8831,59,1,8721,103,59,1,9834,4,13,49,50,51,59,69,100,101,104,108,109,110,112,115,17455,17462,17469,17476,17478,17481,17496,17509,17524,17530,17536,17548,17554,5,185,1,59,17460,1,185,5,178,1,59,17467,1,178,5,179,1,59,17474,1,179,1,8835,59,1,10950,4,2,111,115,17487,17491,116,59,1,10942,117,98,59,1,10968,4,2,59,100,17502,17504,1,8839,111,116,59,1,10948,115,4,2,111,117,17516,17520,108,59,1,10185,98,59,1,10967,97,114,114,59,1,10619,117,108,116,59,1,10946,4,2,69,101,17542,17545,59,1,10956,59,1,8843,108,117,115,59,1,10944,4,3,101,105,117,17562,17598,17602,116,4,3,59,101,110,17571,17573,17585,1,8835,113,4,2,59,113,17580,17582,1,8839,59,1,10950,101,113,4,2,59,113,17593,17595,1,8843,59,1,10956,109,59,1,10952,4,2,98,112,17608,17611,59,1,10964,59,1,10966,4,3,65,97,110,17622,17627,17650,114,114,59,1,8665,114,4,2,104,114,17634,17638,107,59,1,10534,4,2,59,111,17644,17646,1,8601,119,59,1,8601,119,97,114,59,1,10538,108,105,103,5,223,1,59,17664,1,223,4,13,97,98,99,100,101,102,104,105,111,112,114,115,119,17694,17709,17714,17737,17742,17749,17754,17860,17905,17957,17964,18090,18122,4,2,114,117,17700,17706,103,101,116,59,1,8982,59,1,964,114,107,59,1,9140,4,3,97,101,121,17722,17728,17734,114,111,110,59,1,357,100,105,108,59,1,355,59,1,1090,111,116,59,1,8411,108,114,101,99,59,1,8981,114,59,3,55349,56625,4,4,101,105,107,111,17764,17805,17836,17851,4,2,114,116,17770,17786,101,4,2,52,102,17777,17780,59,1,8756,111,114,101,59,1,8756,97,4,3,59,115,118,17795,17797,17802,1,952,121,109,59,1,977,59,1,977,4,2,99,110,17811,17831,107,4,2,97,115,17818,17826,112,112,114,111,120,59,1,8776,105,109,59,1,8764,115,112,59,1,8201,4,2,97,115,17842,17846,112,59,1,8776,105,109,59,1,8764,114,110,5,254,1,59,17858,1,254,4,3,108,109,110,17868,17873,17901,100,101,59,1,732,101,115,5,215,3,59,98,100,17884,17886,17898,1,215,4,2,59,97,17892,17894,1,8864,114,59,1,10801,59,1,10800,116,59,1,8749,4,3,101,112,115,17913,17917,17953,97,59,1,10536,4,4,59,98,99,102,17927,17929,17934,17939,1,8868,111,116,59,1,9014,105,114,59,1,10993,4,2,59,111,17945,17948,3,55349,56677,114,107,59,1,10970,97,59,1,10537,114,105,109,101,59,1,8244,4,3,97,105,112,17972,17977,18082,100,101,59,1,8482,4,7,97,100,101,109,112,115,116,17993,18051,18056,18059,18066,18072,18076,110,103,108,101,4,5,59,100,108,113,114,18009,18011,18017,18032,18035,1,9653,111,119,110,59,1,9663,101,102,116,4,2,59,101,18026,18028,1,9667,113,59,1,8884,59,1,8796,105,103,104,116,4,2,59,101,18045,18047,1,9657,113,59,1,8885,111,116,59,1,9708,59,1,8796,105,110,117,115,59,1,10810,108,117,115,59,1,10809,98,59,1,10701,105,109,101,59,1,10811,101,122,105,117,109,59,1,9186,4,3,99,104,116,18098,18111,18116,4,2,114,121,18104,18108,59,3,55349,56521,59,1,1094,99,121,59,1,1115,114,111,107,59,1,359,4,2,105,111,18128,18133,120,116,59,1,8812,104,101,97,100,4,2,108,114,18143,18154,101,102,116,97,114,114,111,119,59,1,8606,105,103,104,116,97,114,114,111,119,59,1,8608,4,18,65,72,97,98,99,100,102,103,104,108,109,111,112,114,115,116,117,119,18204,18209,18214,18234,18250,18268,18292,18308,18319,18343,18379,18397,18413,18504,18547,18553,18584,18603,114,114,59,1,8657,97,114,59,1,10595,4,2,99,114,18220,18230,117,116,101,5,250,1,59,18228,1,250,114,59,1,8593,114,4,2,99,101,18241,18245,121,59,1,1118,118,101,59,1,365,4,2,105,121,18256,18265,114,99,5,251,1,59,18263,1,251,59,1,1091,4,3,97,98,104,18276,18281,18287,114,114,59,1,8645,108,97,99,59,1,369,97,114,59,1,10606,4,2,105,114,18298,18304,115,104,116,59,1,10622,59,3,55349,56626,114,97,118,101,5,249,1,59,18317,1,249,4,2,97,98,18325,18338,114,4,2,108,114,18332,18335,59,1,8639,59,1,8638,108,107,59,1,9600,4,2,99,116,18349,18374,4,2,111,114,18355,18369,114,110,4,2,59,101,18363,18365,1,8988,114,59,1,8988,111,112,59,1,8975,114,105,59,1,9720,4,2,97,108,18385,18390,99,114,59,1,363,5,168,1,59,18395,1,168,4,2,103,112,18403,18408,111,110,59,1,371,102,59,3,55349,56678,4,6,97,100,104,108,115,117,18427,18434,18445,18470,18475,18494,114,114,111,119,59,1,8593,111,119,110,97,114,114,111,119,59,1,8597,97,114,112,111,111,110,4,2,108,114,18457,18463,101,102,116,59,1,8639,105,103,104,116,59,1,8638,117,115,59,1,8846,105,4,3,59,104,108,18484,18486,18489,1,965,59,1,978,111,110,59,1,965,112,97,114,114,111,119,115,59,1,8648,4,3,99,105,116,18512,18537,18542,4,2,111,114,18518,18532,114,110,4,2,59,101,18526,18528,1,8989,114,59,1,8989,111,112,59,1,8974,110,103,59,1,367,114,105,59,1,9721,99,114,59,3,55349,56522,4,3,100,105,114,18561,18566,18572,111,116,59,1,8944,108,100,101,59,1,361,105,4,2,59,102,18579,18581,1,9653,59,1,9652,4,2,97,109,18590,18595,114,114,59,1,8648,108,5,252,1,59,18601,1,252,97,110,103,108,101,59,1,10663,4,15,65,66,68,97,99,100,101,102,108,110,111,112,114,115,122,18643,18648,18661,18667,18847,18851,18857,18904,18909,18915,18931,18937,18943,18949,18996,114,114,59,1,8661,97,114,4,2,59,118,18656,18658,1,10984,59,1,10985,97,115,104,59,1,8872,4,2,110,114,18673,18679,103,114,116,59,1,10652,4,7,101,107,110,112,114,115,116,18695,18704,18711,18720,18742,18754,18810,112,115,105,108,111,110,59,1,1013,97,112,112,97,59,1,1008,111,116,104,105,110,103,59,1,8709,4,3,104,105,114,18728,18732,18735,105,59,1,981,59,1,982,111,112,116,111,59,1,8733,4,2,59,104,18748,18750,1,8597,111,59,1,1009,4,2,105,117,18760,18766,103,109,97,59,1,962,4,2,98,112,18772,18791,115,101,116,110,101,113,4,2,59,113,18784,18787,3,8842,65024,59,3,10955,65024,115,101,116,110,101,113,4,2,59,113,18803,18806,3,8843,65024,59,3,10956,65024,4,2,104,114,18816,18822,101,116,97,59,1,977,105,97,110,103,108,101,4,2,108,114,18834,18840,101,102,116,59,1,8882,105,103,104,116,59,1,8883,121,59,1,1074,97,115,104,59,1,8866,4,3,101,108,114,18865,18884,18890,4,3,59,98,101,18873,18875,18880,1,8744,97,114,59,1,8891,113,59,1,8794,108,105,112,59,1,8942,4,2,98,116,18896,18901,97,114,59,1,124,59,1,124,114,59,3,55349,56627,116,114,105,59,1,8882,115,117,4,2,98,112,18923,18927,59,3,8834,8402,59,3,8835,8402,112,102,59,3,55349,56679,114,111,112,59,1,8733,116,114,105,59,1,8883,4,2,99,117,18955,18960,114,59,3,55349,56523,4,2,98,112,18966,18981,110,4,2,69,101,18973,18977,59,3,10955,65024,59,3,8842,65024,110,4,2,69,101,18988,18992,59,3,10956,65024,59,3,8843,65024,105,103,122,97,103,59,1,10650,4,7,99,101,102,111,112,114,115,19020,19026,19061,19066,19072,19075,19089,105,114,99,59,1,373,4,2,100,105,19032,19055,4,2,98,103,19038,19043,97,114,59,1,10847,101,4,2,59,113,19050,19052,1,8743,59,1,8793,101,114,112,59,1,8472,114,59,3,55349,56628,112,102,59,3,55349,56680,59,1,8472,4,2,59,101,19081,19083,1,8768,97,116,104,59,1,8768,99,114,59,3,55349,56524,4,14,99,100,102,104,105,108,109,110,111,114,115,117,118,119,19125,19146,19152,19157,19173,19176,19192,19197,19202,19236,19252,19269,19286,19291,4,3,97,105,117,19133,19137,19142,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,116,114,105,59,1,9661,114,59,3,55349,56629,4,2,65,97,19163,19168,114,114,59,1,10234,114,114,59,1,10231,59,1,958,4,2,65,97,19182,19187,114,114,59,1,10232,114,114,59,1,10229,97,112,59,1,10236,105,115,59,1,8955,4,3,100,112,116,19210,19215,19230,111,116,59,1,10752,4,2,102,108,19221,19225,59,3,55349,56681,117,115,59,1,10753,105,109,101,59,1,10754,4,2,65,97,19242,19247,114,114,59,1,10233,114,114,59,1,10230,4,2,99,113,19258,19263,114,59,3,55349,56525,99,117,112,59,1,10758,4,2,112,116,19275,19281,108,117,115,59,1,10756,114,105,59,1,9651,101,101,59,1,8897,101,100,103,101,59,1,8896,4,8,97,99,101,102,105,111,115,117,19316,19335,19349,19357,19362,19367,19373,19379,99,4,2,117,121,19323,19332,116,101,5,253,1,59,19330,1,253,59,1,1103,4,2,105,121,19341,19346,114,99,59,1,375,59,1,1099,110,5,165,1,59,19355,1,165,114,59,3,55349,56630,99,121,59,1,1111,112,102,59,3,55349,56682,99,114,59,3,55349,56526,4,2,99,109,19385,19389,121,59,1,1102,108,5,255,1,59,19395,1,255,4,10,97,99,100,101,102,104,105,111,115,119,19419,19426,19441,19446,19462,19467,19472,19480,19486,19492,99,117,116,101,59,1,378,4,2,97,121,19432,19438,114,111,110,59,1,382,59,1,1079,111,116,59,1,380,4,2,101,116,19452,19458,116,114,102,59,1,8488,97,59,1,950,114,59,3,55349,56631,99,121,59,1,1078,103,114,97,114,114,59,1,8669,112,102,59,3,55349,56683,99,114,59,3,55349,56527,4,2,106,110,19498,19501,59,1,8205,106,59,1,8204]);","'use strict';\n\nconst unicode = require('../common/unicode');\nconst ERR = require('../common/error-codes');\n\n//Aliases\nconst $ = unicode.CODE_POINTS;\n\n//Const\nconst DEFAULT_BUFFER_WATERLINE = 1 << 16;\n\n//Preprocessor\n//NOTE: HTML input preprocessing\n//(see: http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#preprocessing-the-input-stream)\nclass Preprocessor {\n constructor() {\n this.html = null;\n\n this.pos = -1;\n this.lastGapPos = -1;\n this.lastCharPos = -1;\n\n this.gapStack = [];\n\n this.skipNextNewLine = false;\n\n this.lastChunkWritten = false;\n this.endOfChunkHit = false;\n this.bufferWaterline = DEFAULT_BUFFER_WATERLINE;\n }\n\n _err() {\n // NOTE: err reporting is noop by default. Enabled by mixin.\n }\n\n _addGap() {\n this.gapStack.push(this.lastGapPos);\n this.lastGapPos = this.pos;\n }\n\n _processSurrogate(cp) {\n //NOTE: try to peek a surrogate pair\n if (this.pos !== this.lastCharPos) {\n const nextCp = this.html.charCodeAt(this.pos + 1);\n\n if (unicode.isSurrogatePair(nextCp)) {\n //NOTE: we have a surrogate pair. Peek pair character and recalculate code point.\n this.pos++;\n\n //NOTE: add gap that should be avoided during retreat\n this._addGap();\n\n return unicode.getSurrogatePairCodePoint(cp, nextCp);\n }\n }\n\n //NOTE: we are at the end of a chunk, therefore we can't infer surrogate pair yet.\n else if (!this.lastChunkWritten) {\n this.endOfChunkHit = true;\n return $.EOF;\n }\n\n //NOTE: isolated surrogate\n this._err(ERR.surrogateInInputStream);\n\n return cp;\n }\n\n dropParsedChunk() {\n if (this.pos > this.bufferWaterline) {\n this.lastCharPos -= this.pos;\n this.html = this.html.substring(this.pos);\n this.pos = 0;\n this.lastGapPos = -1;\n this.gapStack = [];\n }\n }\n\n write(chunk, isLastChunk) {\n if (this.html) {\n this.html += chunk;\n } else {\n this.html = chunk;\n }\n\n this.lastCharPos = this.html.length - 1;\n this.endOfChunkHit = false;\n this.lastChunkWritten = isLastChunk;\n }\n\n insertHtmlAtCurrentPos(chunk) {\n this.html = this.html.substring(0, this.pos + 1) + chunk + this.html.substring(this.pos + 1, this.html.length);\n\n this.lastCharPos = this.html.length - 1;\n this.endOfChunkHit = false;\n }\n\n advance() {\n this.pos++;\n\n if (this.pos > this.lastCharPos) {\n this.endOfChunkHit = !this.lastChunkWritten;\n return $.EOF;\n }\n\n let cp = this.html.charCodeAt(this.pos);\n\n //NOTE: any U+000A LINE FEED (LF) characters that immediately follow a U+000D CARRIAGE RETURN (CR) character\n //must be ignored.\n if (this.skipNextNewLine && cp === $.LINE_FEED) {\n this.skipNextNewLine = false;\n this._addGap();\n return this.advance();\n }\n\n //NOTE: all U+000D CARRIAGE RETURN (CR) characters must be converted to U+000A LINE FEED (LF) characters\n if (cp === $.CARRIAGE_RETURN) {\n this.skipNextNewLine = true;\n return $.LINE_FEED;\n }\n\n this.skipNextNewLine = false;\n\n if (unicode.isSurrogate(cp)) {\n cp = this._processSurrogate(cp);\n }\n\n //OPTIMIZATION: first check if code point is in the common allowed\n //range (ASCII alphanumeric, whitespaces, big chunk of BMP)\n //before going into detailed performance cost validation.\n const isCommonValidRange =\n (cp > 0x1f && cp < 0x7f) || cp === $.LINE_FEED || cp === $.CARRIAGE_RETURN || (cp > 0x9f && cp < 0xfdd0);\n\n if (!isCommonValidRange) {\n this._checkForProblematicCharacters(cp);\n }\n\n return cp;\n }\n\n _checkForProblematicCharacters(cp) {\n if (unicode.isControlCodePoint(cp)) {\n this._err(ERR.controlCharacterInInputStream);\n } else if (unicode.isUndefinedCodePoint(cp)) {\n this._err(ERR.noncharacterInInputStream);\n }\n }\n\n retreat() {\n if (this.pos === this.lastGapPos) {\n this.lastGapPos = this.gapStack.pop();\n this.pos--;\n }\n\n this.pos--;\n }\n}\n\nmodule.exports = Preprocessor;\n","'use strict';\n\nconst { DOCUMENT_MODE } = require('../common/html');\n\n//Node construction\nexports.createDocument = function() {\n return {\n nodeName: '#document',\n mode: DOCUMENT_MODE.NO_QUIRKS,\n childNodes: []\n };\n};\n\nexports.createDocumentFragment = function() {\n return {\n nodeName: '#document-fragment',\n childNodes: []\n };\n};\n\nexports.createElement = function(tagName, namespaceURI, attrs) {\n return {\n nodeName: tagName,\n tagName: tagName,\n attrs: attrs,\n namespaceURI: namespaceURI,\n childNodes: [],\n parentNode: null\n };\n};\n\nexports.createCommentNode = function(data) {\n return {\n nodeName: '#comment',\n data: data,\n parentNode: null\n };\n};\n\nconst createTextNode = function(value) {\n return {\n nodeName: '#text',\n value: value,\n parentNode: null\n };\n};\n\n//Tree mutation\nconst appendChild = (exports.appendChild = function(parentNode, newNode) {\n parentNode.childNodes.push(newNode);\n newNode.parentNode = parentNode;\n});\n\nconst insertBefore = (exports.insertBefore = function(parentNode, newNode, referenceNode) {\n const insertionIdx = parentNode.childNodes.indexOf(referenceNode);\n\n parentNode.childNodes.splice(insertionIdx, 0, newNode);\n newNode.parentNode = parentNode;\n});\n\nexports.setTemplateContent = function(templateElement, contentElement) {\n templateElement.content = contentElement;\n};\n\nexports.getTemplateContent = function(templateElement) {\n return templateElement.content;\n};\n\nexports.setDocumentType = function(document, name, publicId, systemId) {\n let doctypeNode = null;\n\n for (let i = 0; i < document.childNodes.length; i++) {\n if (document.childNodes[i].nodeName === '#documentType') {\n doctypeNode = document.childNodes[i];\n break;\n }\n }\n\n if (doctypeNode) {\n doctypeNode.name = name;\n doctypeNode.publicId = publicId;\n doctypeNode.systemId = systemId;\n } else {\n appendChild(document, {\n nodeName: '#documentType',\n name: name,\n publicId: publicId,\n systemId: systemId\n });\n }\n};\n\nexports.setDocumentMode = function(document, mode) {\n document.mode = mode;\n};\n\nexports.getDocumentMode = function(document) {\n return document.mode;\n};\n\nexports.detachNode = function(node) {\n if (node.parentNode) {\n const idx = node.parentNode.childNodes.indexOf(node);\n\n node.parentNode.childNodes.splice(idx, 1);\n node.parentNode = null;\n }\n};\n\nexports.insertText = function(parentNode, text) {\n if (parentNode.childNodes.length) {\n const prevNode = parentNode.childNodes[parentNode.childNodes.length - 1];\n\n if (prevNode.nodeName === '#text') {\n prevNode.value += text;\n return;\n }\n }\n\n appendChild(parentNode, createTextNode(text));\n};\n\nexports.insertTextBefore = function(parentNode, text, referenceNode) {\n const prevNode = parentNode.childNodes[parentNode.childNodes.indexOf(referenceNode) - 1];\n\n if (prevNode && prevNode.nodeName === '#text') {\n prevNode.value += text;\n } else {\n insertBefore(parentNode, createTextNode(text), referenceNode);\n }\n};\n\nexports.adoptAttributes = function(recipient, attrs) {\n const recipientAttrsMap = [];\n\n for (let i = 0; i < recipient.attrs.length; i++) {\n recipientAttrsMap.push(recipient.attrs[i].name);\n }\n\n for (let j = 0; j < attrs.length; j++) {\n if (recipientAttrsMap.indexOf(attrs[j].name) === -1) {\n recipient.attrs.push(attrs[j]);\n }\n }\n};\n\n//Tree traversing\nexports.getFirstChild = function(node) {\n return node.childNodes[0];\n};\n\nexports.getChildNodes = function(node) {\n return node.childNodes;\n};\n\nexports.getParentNode = function(node) {\n return node.parentNode;\n};\n\nexports.getAttrList = function(element) {\n return element.attrs;\n};\n\n//Node data\nexports.getTagName = function(element) {\n return element.tagName;\n};\n\nexports.getNamespaceURI = function(element) {\n return element.namespaceURI;\n};\n\nexports.getTextNodeContent = function(textNode) {\n return textNode.value;\n};\n\nexports.getCommentNodeContent = function(commentNode) {\n return commentNode.data;\n};\n\nexports.getDocumentTypeNodeName = function(doctypeNode) {\n return doctypeNode.name;\n};\n\nexports.getDocumentTypeNodePublicId = function(doctypeNode) {\n return doctypeNode.publicId;\n};\n\nexports.getDocumentTypeNodeSystemId = function(doctypeNode) {\n return doctypeNode.systemId;\n};\n\n//Node types\nexports.isTextNode = function(node) {\n return node.nodeName === '#text';\n};\n\nexports.isCommentNode = function(node) {\n return node.nodeName === '#comment';\n};\n\nexports.isDocumentTypeNode = function(node) {\n return node.nodeName === '#documentType';\n};\n\nexports.isElementNode = function(node) {\n return !!node.tagName;\n};\n\n// Source code location\nexports.setNodeSourceCodeLocation = function(node, location) {\n node.sourceCodeLocation = location;\n};\n\nexports.getNodeSourceCodeLocation = function(node) {\n return node.sourceCodeLocation;\n};\n\nexports.updateNodeSourceCodeLocation = function(node, endLocation) {\n node.sourceCodeLocation = Object.assign(node.sourceCodeLocation, endLocation);\n};\n","'use strict';\n\nmodule.exports = function mergeOptions(defaults, options) {\n options = options || Object.create(null);\n\n return [defaults, options].reduce((merged, optObj) => {\n Object.keys(optObj).forEach(key => {\n merged[key] = optObj[key];\n });\n\n return merged;\n }, Object.create(null));\n};\n","'use strict';\n\nclass Mixin {\n constructor(host) {\n const originalMethods = {};\n const overriddenMethods = this._getOverriddenMethods(this, originalMethods);\n\n for (const key of Object.keys(overriddenMethods)) {\n if (typeof overriddenMethods[key] === 'function') {\n originalMethods[key] = host[key];\n host[key] = overriddenMethods[key];\n }\n }\n }\n\n _getOverriddenMethods() {\n throw new Error('Not implemented');\n }\n}\n\nMixin.install = function(host, Ctor, opts) {\n if (!host.__mixins) {\n host.__mixins = [];\n }\n\n for (let i = 0; i < host.__mixins.length; i++) {\n if (host.__mixins[i].constructor === Ctor) {\n return host.__mixins[i];\n }\n }\n\n const mixin = new Ctor(host, opts);\n\n host.__mixins.push(mixin);\n\n return mixin;\n};\n\nmodule.exports = Mixin;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[: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][: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]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;function Lg(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}var Mg=Uf(null),Ng=null,Og=null,Pg=null;function Qg(){Pg=Og=Ng=null}function Rg(a){var b=Mg.current;E(Mg);a._currentValue=b}\nfunction Sg(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}function Tg(a,b){Ng=a;Pg=Og=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(Ug=!0),a.firstContext=null)}\nfunction Vg(a){var b=a._currentValue;if(Pg!==a)if(a={context:a,memoizedValue:b,next:null},null===Og){if(null===Ng)throw Error(p(308));Og=a;Ng.dependencies={lanes:0,firstContext:a}}else Og=Og.next=a;return b}var Wg=null;function Xg(a){null===Wg?Wg=[a]:Wg.push(a)}function Yg(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,Xg(b)):(c.next=e.next,e.next=c);b.interleaved=c;return Zg(a,d)}\nfunction Zg(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var $g=!1;function ah(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction bh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function ch(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction dh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return Zg(a,c)}e=d.interleaved;null===e?(b.next=b,Xg(d)):(b.next=e.next,e.next=b);d.interleaved=b;return Zg(a,c)}function eh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction fh(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction gh(a,b,c,d){var e=a.updateQueue;$g=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:$g=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);hh|=g;a.lanes=g;a.memoizedState=q}}\nfunction ih(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var jh=(new aa.Component).refs;function kh(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar nh={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=L(),d=\nlh(a),e=ch(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=dh(a,e,d);null!==b&&(mh(b,a,d,c),eh(b,a,d))}};function oh(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction ph(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=Vg(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=nh;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction qh(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&nh.enqueueReplaceState(b,b.state,null)}\nfunction rh(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=jh;ah(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=Vg(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(kh(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&nh.enqueueReplaceState(e,e.state,null),gh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}\nfunction sh(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;b===jh&&(b=e.refs={});null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction th(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function uh(a){var b=a._init;return b(a._payload)}\nfunction vh(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=wh(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=xh(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&uh(f)===b.type))return d=e(b,c.props),d.ref=sh(a,b,c),d.return=a,d;d=yh(c.type,c.key,c.props,null,a.mode,d);d.ref=sh(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=zh(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Ah(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=xh(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=yh(b.type,b.key,b.props,null,a.mode,c),\nc.ref=sh(a,null,b),c.return=a,c;case wa:return b=zh(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Ah(b,a.mode,c,null),b.return=a,b;th(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);th(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);th(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;a<Nh.length;a++)Nh[a]._workInProgressVersionPrimary=null;Nh.length=0}var Ph=ua.ReactCurrentDispatcher,Qh=ua.ReactCurrentBatchConfig,Rh=0,N=null,O=null,P=null,Sh=!1,Th=!1,Uh=0,Vh=0;function Q(){throw Error(p(321));}function Wh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Xh(a,b,c,d,e,f){Rh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Ph.current=null===a||null===a.memoizedState?Yh:Zh;a=c(d,e);if(Th){f=0;do{Th=!1;Uh=0;if(25<=f)throw Error(p(301));f+=1;P=O=null;b.updateQueue=null;Ph.current=$h;a=c(d,e)}while(Th)}Ph.current=ai;b=null!==O&&null!==O.next;Rh=0;P=O=N=null;Sh=!1;if(b)throw Error(p(300));return a}function bi(){var a=0!==Uh;Uh=0;return a}\nfunction ci(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function di(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(p(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction ei(a,b){return\"function\"===typeof b?b(a):b}\nfunction fi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Rh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;N.lanes|=m;hh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(Ug=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,N.lanes|=f,hh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction gi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(Ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function hi(){}\nfunction ii(a,b){var c=N,d=di(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,Ug=!0);d=d.queue;ji(ki.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==P&&P.memoizedState.tag&1){c.flags|=2048;li(9,mi.bind(null,c,d,e,b),void 0,null);if(null===R)throw Error(p(349));0!==(Rh&30)||ni(c,b,e)}return e}function ni(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction mi(a,b,c,d){b.value=c;b.getSnapshot=d;oi(b)&&pi(a)}function ki(a,b,c){return c(function(){oi(b)&&pi(a)})}function oi(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function pi(a){var b=Zg(a,1);null!==b&&mh(b,a,1,-1)}\nfunction qi(a){var b=ci();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ei,lastRenderedState:a};b.queue=a;a=a.dispatch=ri.bind(null,N,a);return[b.memoizedState,a]}\nfunction li(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function si(){return di().memoizedState}function ti(a,b,c,d){var e=ci();N.flags|=a;e.memoizedState=li(1|b,c,void 0,void 0===d?null:d)}\nfunction ui(a,b,c,d){var e=di();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&Wh(d,g.deps)){e.memoizedState=li(b,c,f,d);return}}N.flags|=a;e.memoizedState=li(1|b,c,f,d)}function vi(a,b){return ti(8390656,8,a,b)}function ji(a,b){return ui(2048,8,a,b)}function wi(a,b){return ui(4,2,a,b)}function xi(a,b){return ui(4,4,a,b)}\nfunction yi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function zi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ui(4,4,yi.bind(null,b,a),c)}function Ai(){}function Bi(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Ci(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Di(a,b,c){if(0===(Rh&21))return a.baseState&&(a.baseState=!1,Ug=!0),a.memoizedState=c;He(c,b)||(c=yc(),N.lanes|=c,hh|=c,a.baseState=!0);return b}function Ei(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Vh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Zh={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:fi,useRef:si,useState:function(){return fi(ei)},\nuseDebugValue:Ai,useDeferredValue:function(a){var b=di();return Di(b,O.memoizedState,a)},useTransition:function(){var a=fi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1},$h={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:gi,useRef:si,useState:function(){return gi(ei)},useDebugValue:Ai,useDeferredValue:function(a){var b=di();return null===\nO?b.memoizedState=a:Di(b,O.memoizedState,a)},useTransition:function(){var a=gi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1};function Ki(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}function Li(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}\nfunction Mi(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Ni=\"function\"===typeof WeakMap?WeakMap:Map;function Oi(a,b,c){c=ch(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Pi||(Pi=!0,Qi=d);Mi(a,b)};return c}\nfunction Ri(a,b,c){c=ch(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Mi(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Mi(a,b);\"function\"!==typeof d&&(null===Si?Si=new Set([this]):Si.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Ti(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Ni;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ui.bind(null,a,b,c),b.then(a,a))}function Vi(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Wi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=ch(-1,1),b.tag=2,dh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Xi=ua.ReactCurrentOwner,Ug=!1;function Yi(a,b,c,d){b.child=null===a?Ch(b,null,c,d):Bh(b,a.child,c,d)}\nfunction Zi(a,b,c,d,e){c=c.render;var f=b.ref;Tg(b,e);d=Xh(a,b,c,d,f,e);c=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&c&&vg(b);b.flags|=1;Yi(a,b,d,e);return b.child}\nfunction aj(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!bj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,cj(a,b,f,d,e);a=yh(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return $i(a,b,e)}b.flags|=1;a=wh(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction cj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(Ug=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(Ug=!0);else return b.lanes=a.lanes,$i(a,b,e)}return dj(a,b,c,d,e)}\nfunction ej(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(fj,gj),gj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(fj,gj),gj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(fj,gj);gj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(fj,gj),gj|=d;Yi(a,b,e,c);return b.child}function hj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function dj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);Tg(b,e);c=Xh(a,b,c,d,f,e);d=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&d&&vg(b);b.flags|=1;Yi(a,b,c,e);return b.child}\nfunction ij(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;Tg(b,e);if(null===b.stateNode)jj(a,b),ph(b,c,d),rh(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=Vg(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&qh(b,g,d,l);$g=!1;var r=b.memoizedState;g.state=r;gh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||$g?(\"function\"===typeof m&&(kh(b,c,m,d),k=b.memoizedState),(h=$g||oh(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;bh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Lg(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=Vg(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&qh(b,g,d,k);$g=!1;r=b.memoizedState;g.state=r;gh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||$g?(\"function\"===typeof y&&(kh(b,c,y,d),n=b.memoizedState),(l=$g||oh(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return kj(a,b,c,d,f,e)}\nfunction kj(a,b,c,d,e,f){hj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),$i(a,b,f);d=b.stateNode;Xi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Bh(b,a.child,null,f),b.child=Bh(b,null,h,f)):Yi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function lj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);Ih(a,b.containerInfo)}\nfunction mj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Yi(a,b,c,d);return b.child}var nj={dehydrated:null,treeContext:null,retryLane:0};function oj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction pj(a,b,c){var d=b.pendingProps,e=M.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(M,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=qj(g,d,0,null),a=Ah(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=oj(c),b.memoizedState=nj,a):rj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return sj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=wh(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=wh(h,f):(f=Ah(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?oj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=nj;return d}f=a.child;a=f.sibling;d=wh(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction rj(a,b){b=qj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function tj(a,b,c,d){null!==d&&Jg(d);Bh(b,a.child,null,c);a=rj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction sj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Li(Error(p(422))),tj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=qj({mode:\"visible\",children:d.children},e,0,null);f=Ah(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Bh(b,a.child,null,g);b.child.memoizedState=oj(g);b.memoizedState=nj;return f}if(0===(b.mode&1))return tj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Li(f,d,void 0);return tj(a,b,g,d)}h=0!==(g&a.childLanes);if(Ug||h){d=R;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,Zg(a,e),mh(d,a,e,-1))}uj();d=Li(Error(p(421)));return tj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=vj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=rj(b,d.children);b.flags|=4096;return b}function wj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);Sg(a.return,b,c)}\nfunction xj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction yj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Yi(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&wj(a,c,b);else if(19===a.tag)wj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(M,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Mh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);xj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Mh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}xj(b,!0,c,null,f);break;case \"together\":xj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction jj(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function $i(a,b,c){null!==a&&(b.dependencies=a.dependencies);hh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=wh(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=wh(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction zj(a,b,c){switch(b.tag){case 3:lj(b);Ig();break;case 5:Kh(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:Ih(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Mg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(M,M.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return pj(a,b,c);G(M,M.current&1);a=$i(a,b,c);return null!==a?a.sibling:null}G(M,M.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return yj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(M,M.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,ej(a,b,c)}return $i(a,b,c)}var Aj,Bj,Cj,Dj;\nAj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Bj=function(){};\nCj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;Hh(Eh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Dj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Ej(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Fj(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;Jh();E(Wf);E(H);Oh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Gj(zg),zg=null));Bj(a,b);S(b);return null;case 5:Lh(b);var e=Hh(Gh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Cj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Dj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=Hh(Gh.current);Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(M);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Gj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(M.current&1)?0===T&&(T=3):uj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return Jh(),\nBj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return Rg(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(M);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Ej(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Mh(a);if(null!==g){b.flags|=128;Ej(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(M,M.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Hj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Yj=!1;break a;case 3:X=h.stateNode.containerInfo;Yj=!0;break a;case 4:X=h.stateNode.containerInfo;Yj=!0;break a}h=h.return}if(null===X)throw Error(p(160));ak(f,g,e);X=null;Yj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)ek(b,a),b=b.sibling}\nfunction ek(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:dk(b,a);fk(a);if(d&4){try{Qj(3,a,a.return),Rj(3,a)}catch(t){W(a,a.return,t)}try{Qj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);break;case 5:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:dk(b,a);fk(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:dk(b,a);fk(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:dk(b,a);fk(a);break;case 13:dk(b,a);fk(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(gk=B()));d&4&&bk(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,dk(b,a),U=l):dk(b,a);fk(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Qj(4,r,r.return);break;case 1:Mj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Mj(r,r.return);break;case 22:if(null!==r.memoizedState){hk(q);continue}}null!==y?(y.return=r,V=y):hk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:dk(b,a);fk(a);d&4&&bk(a);break;case 21:break;default:dk(b,\na),fk(a)}}function fk(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Uj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Vj(a);Xj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Vj(a);Wj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function ik(a,b,c){V=a;jk(a,b,c)}\nfunction jk(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Kj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Kj;var l=U;Kj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?kk(e):null!==k?(k.return=g,V=k):kk(e);for(;null!==f;)V=f,jk(f,b,c),f=f.sibling;V=e;Kj=h;U=l}lk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):lk(a,b,c)}}\nfunction lk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Rj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Lg(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&ih(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}ih(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Sj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function hk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction kk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Rj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Sj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Sj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar mk=Math.ceil,nk=ua.ReactCurrentDispatcher,ok=ua.ReactCurrentOwner,pk=ua.ReactCurrentBatchConfig,K=0,R=null,Y=null,Z=0,gj=0,fj=Uf(0),T=0,qk=null,hh=0,rk=0,sk=0,tk=null,uk=null,gk=0,Hj=Infinity,vk=null,Pi=!1,Qi=null,Si=null,wk=!1,xk=null,yk=0,zk=0,Ak=null,Bk=-1,Ck=0;function L(){return 0!==(K&6)?B():-1!==Bk?Bk:Bk=B()}\nfunction lh(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Ck&&(Ck=yc()),Ck;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function mh(a,b,c,d){if(50<zk)throw zk=0,Ak=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==R)a===R&&(0===(K&2)&&(rk|=c),4===T&&Dk(a,Z)),Ek(a,d),1===c&&0===K&&0===(b.mode&1)&&(Hj=B()+500,fg&&jg())}\nfunction Ek(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===R?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Fk.bind(null,a)):hg(Fk.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Gk(c,Hk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Hk(a,b){Bk=-1;Ck=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Ik()&&a.callbackNode!==c)return null;var d=uc(a,a===R?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Jk(a,d);else{b=d;var e=K;K|=2;var f=Kk();if(R!==a||Z!==b)vk=null,Hj=B()+500,Lk(a,b);do try{Mk();break}catch(h){Nk(a,h)}while(1);Qg();nk.current=f;K=e;null!==Y?b=0:(R=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Ok(a,e)));if(1===b)throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;if(6===b)Dk(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Pk(e)&&(b=Jk(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Ok(a,f))),1===b))throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Qk(a,uk,vk);break;case 3:Dk(a,d);if((d&130023424)===d&&(b=gk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){L();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),b);break}Qk(a,uk,vk);break;case 4:Dk(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),d);break}Qk(a,uk,vk);break;case 5:Qk(a,uk,vk);break;default:throw Error(p(329));}}}Ek(a,B());return a.callbackNode===c?Hk.bind(null,a):null}\nfunction Ok(a,b){var c=tk;a.current.memoizedState.isDehydrated&&(Lk(a,b).flags|=256);a=Jk(a,b);2!==a&&(b=uk,uk=c,null!==b&&Gj(b));return a}function Gj(a){null===uk?uk=a:uk.push.apply(uk,a)}\nfunction Pk(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Dk(a,b){b&=~sk;b&=~rk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Fk(a){if(0!==(K&6))throw Error(p(327));Ik();var b=uc(a,0);if(0===(b&1))return Ek(a,B()),null;var c=Jk(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Ok(a,d))}if(1===c)throw c=qk,Lk(a,0),Dk(a,b),Ek(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Qk(a,uk,vk);Ek(a,B());return null}\nfunction Rk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Hj=B()+500,fg&&jg())}}function Sk(a){null!==xk&&0===xk.tag&&0===(K&6)&&Ik();var b=K;K|=1;var c=pk.transition,d=C;try{if(pk.transition=null,C=1,a)return a()}finally{C=d,pk.transition=c,K=b,0===(K&6)&&jg()}}function Ij(){gj=fj.current;E(fj)}\nfunction Lk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:Jh();E(Wf);E(H);Oh();break;case 5:Lh(d);break;case 4:Jh();break;case 13:E(M);break;case 19:E(M);break;case 10:Rg(d.type._context);break;case 22:case 23:Ij()}c=c.return}R=a;Y=a=wh(a.current,null);Z=gj=b;T=0;qk=null;sk=rk=hh=0;uk=tk=null;if(null!==Wg){for(b=\n0;b<Wg.length;b++)if(c=Wg[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}Wg=null}return a}\nfunction Nk(a,b){do{var c=Y;try{Qg();Ph.current=ai;if(Sh){for(var d=N.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Sh=!1}Rh=0;P=O=N=null;Th=!1;Uh=0;ok.current=null;if(null===c||null===c.return){T=1;qk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Vi(g);if(null!==y){y.flags&=-257;Wi(y,g,h,f,b);y.mode&1&&Ti(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Ti(f,l,b);uj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Vi(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Wi(J,g,h,f,b);Jg(Ki(k,h));break a}}f=k=Ki(k,h);4!==T&&(T=2);null===tk?tk=[f]:tk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Oi(f,k,b);fh(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Si||!Si.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Ri(f,h,b);fh(f,F);break a}}f=f.return}while(null!==f)}Tk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Kk(){var a=nk.current;nk.current=ai;return null===a?ai:a}\nfunction uj(){if(0===T||3===T||2===T)T=4;null===R||0===(hh&268435455)&&0===(rk&268435455)||Dk(R,Z)}function Jk(a,b){var c=K;K|=2;var d=Kk();if(R!==a||Z!==b)vk=null,Lk(a,b);do try{Uk();break}catch(e){Nk(a,e)}while(1);Qg();K=c;nk.current=d;if(null!==Y)throw Error(p(261));R=null;Z=0;return T}function Uk(){for(;null!==Y;)Vk(Y)}function Mk(){for(;null!==Y&&!cc();)Vk(Y)}function Vk(a){var b=Wk(a.alternate,a,gj);a.memoizedProps=a.pendingProps;null===b?Tk(a):Y=b;ok.current=null}\nfunction Tk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Fj(c,b,gj),null!==c){Y=c;return}}else{c=Jj(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Qk(a,b,c){var d=C,e=pk.transition;try{pk.transition=null,C=1,Xk(a,b,c,d)}finally{pk.transition=e,C=d}return null}\nfunction Xk(a,b,c,d){do Ik();while(null!==xk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===R&&(Y=R=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||wk||(wk=!0,Gk(hc,function(){Ik();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=pk.transition;pk.transition=null;\nvar g=C;C=1;var h=K;K|=4;ok.current=null;Pj(a,c);ek(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;ik(c,a,e);dc();K=h;C=g;pk.transition=f}else a.current=c;wk&&(wk=!1,xk=a,yk=e);f=a.pendingLanes;0===f&&(Si=null);mc(c.stateNode,d);Ek(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Pi)throw Pi=!1,a=Qi,Qi=null,a;0!==(yk&1)&&0!==a.tag&&Ik();f=a.pendingLanes;0!==(f&1)?a===Ak?zk++:(zk=0,Ak=a):zk=0;jg();return null}\nfunction Ik(){if(null!==xk){var a=Dc(yk),b=pk.transition,c=C;try{pk.transition=null;C=16>a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Qj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Tj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Qj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Rj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,pk.transition=b}}return!1}function Yk(a,b,c){b=Ki(c,b);b=Oi(a,b,1);a=dh(a,b,1);b=L();null!==a&&(Ac(a,1,b),Ek(a,b))}\nfunction W(a,b,c){if(3===a.tag)Yk(a,a,c);else for(;null!==b;){if(3===b.tag){Yk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Si||!Si.has(d))){a=Ki(c,a);a=Ri(b,a,1);b=dh(b,a,1);a=L();null!==b&&(Ac(b,1,a),Ek(b,a));break}}b=b.return}}\nfunction Ui(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=L();a.pingedLanes|=a.suspendedLanes&c;R===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction el(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction fl(a,b,c,d,e,f,g,h,k){a=cl(c,d,!0,a,e,f,g,h,k);a.context=el(null);c=a.current;d=L();e=lh(c);f=ch(d,e);f.callback=void 0!==b&&null!==b?b:null;dh(c,f,e);a.current.lanes=e;Ac(a,e,d);Ek(a,d);return a}function gl(a,b,c,d){var e=b.current,f=L(),g=lh(e);c=el(c);null===b.context?b.context=c:b.pendingContext=c;b=ch(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=dh(e,b,g);null!==a&&(mh(a,e,g,f),eh(a,e,g));return g}\nfunction hl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function il(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function jl(a,b){il(a,b);(a=a.alternate)&&il(a,b)}function kl(){return null}var ll=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ml(a){this._internalRoot=a}\nnl.prototype.render=ml.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));gl(a,b,null,null)};nl.prototype.unmount=ml.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Sk(function(){gl(null,a,null,null)});b[uf]=null}};function nl(a){this._internalRoot=a}\nnl.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function pl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function ql(){}\nfunction rl(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=hl(g);f.call(a)}}var g=fl(b,d,a,0,null,!1,!1,\"\",ql);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Sk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=hl(k);h.call(a)}}var k=cl(a,0,!1,null,null,!1,!1,\"\",ql);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Sk(function(){gl(b,k,c,d)});return k}\nfunction sl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=hl(g);h.call(a)}}gl(b,g,a,e)}else g=rl(c,b,a,e,d);return hl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Ek(b,B()),0===(K&6)&&(Hj=B()+500,jg()))}break;case 13:Sk(function(){var b=Zg(a,1);if(null!==b){var c=L();mh(b,a,1,c)}}),jl(a,1)}};\nFc=function(a){if(13===a.tag){var b=Zg(a,134217728);if(null!==b){var c=L();mh(b,a,134217728,c)}jl(a,134217728)}};Gc=function(a){if(13===a.tag){var b=lh(a),c=Zg(a,b);if(null!==c){var d=L();mh(c,a,b,d)}jl(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Rk;Hb=Sk;\nvar tl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Rk]},ul={findFiberByHostInstance:Wc,bundleType:0,version:\"18.2.0\",rendererPackageName:\"react-dom\"};\nvar vl={bundleType:ul.bundleType,version:ul.version,rendererPackageName:ul.rendererPackageName,rendererConfig:ul.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:ul.findFiberByHostInstance||\nkl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.2.0-next-9e3b772b8-20220608\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var wl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!wl.isDisabled&&wl.supportsFiber)try{kc=wl.inject(vl),lc=wl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!ol(b))throw Error(p(200));return dl(a,b,null,c)};exports.createRoot=function(a,b){if(!ol(a))throw Error(p(299));var c=!1,d=\"\",e=ll;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=cl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ml(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Sk(a)};exports.hydrate=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!ol(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=ll;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=fl(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new nl(b)};exports.render=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!pl(a))throw Error(p(40));return a._reactRootContainer?(Sk(function(){sl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Rk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!pl(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return sl(a,b,c,!1,d)};exports.version=\"18.2.0-next-9e3b772b8-20220608\";\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","/** @license React v17.0.2\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=60103,c=60106,d=60107,e=60108,f=60114,g=60109,h=60110,k=60112,l=60113,m=60120,n=60115,p=60116,q=60121,r=60122,u=60117,v=60129,w=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var x=Symbol.for;b=x(\"react.element\");c=x(\"react.portal\");d=x(\"react.fragment\");e=x(\"react.strict_mode\");f=x(\"react.profiler\");g=x(\"react.provider\");h=x(\"react.context\");k=x(\"react.forward_ref\");l=x(\"react.suspense\");m=x(\"react.suspense_list\");n=x(\"react.memo\");p=x(\"react.lazy\");q=x(\"react.block\");r=x(\"react.server.block\");u=x(\"react.fundamental\");v=x(\"react.debug_trace_mode\");w=x(\"react.legacy_hidden\")}\nfunction y(a){if(\"object\"===typeof a&&null!==a){var t=a.$$typeof;switch(t){case b:switch(a=a.type,a){case d:case f:case e:case l:case m:return a;default:switch(a=a&&a.$$typeof,a){case h:case k:case p:case n:case g:return a;default:return t}}case c:return t}}}var z=g,A=b,B=k,C=d,D=p,E=n,F=c,G=f,H=e,I=l;exports.ContextConsumer=h;exports.ContextProvider=z;exports.Element=A;exports.ForwardRef=B;exports.Fragment=C;exports.Lazy=D;exports.Memo=E;exports.Portal=F;exports.Profiler=G;exports.StrictMode=H;\nexports.Suspense=I;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return y(a)===h};exports.isContextProvider=function(a){return y(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return y(a)===k};exports.isFragment=function(a){return y(a)===d};exports.isLazy=function(a){return y(a)===p};exports.isMemo=function(a){return y(a)===n};\nexports.isPortal=function(a){return y(a)===c};exports.isProfiler=function(a){return y(a)===f};exports.isStrictMode=function(a){return y(a)===e};exports.isSuspense=function(a){return y(a)===l};exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===v||a===e||a===l||a===m||a===w||\"object\"===typeof a&&null!==a&&(a.$$typeof===p||a.$$typeof===n||a.$$typeof===g||a.$$typeof===h||a.$$typeof===k||a.$$typeof===u||a.$$typeof===q||a[0]===r)?!0:!1};\nexports.typeOf=y;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};exports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;\nexports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=function(){throw Error(\"act(...) is not supported in production builds of React.\");};\nexports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};exports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};\nexports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};exports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};\nexports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.2.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","'use strict'\n\n/* global window, self */\n\n// istanbul ignore next - Don't allow Prism to run on page load in browser or\n// to start messaging from workers.\nvar ctx =\n typeof globalThis === 'object'\n ? globalThis\n : typeof self === 'object'\n ? self\n : typeof window === 'object'\n ? window\n : typeof global === 'object'\n ? global\n : {}\n\nvar restore = capture()\n\nctx.Prism = {manual: true, disableWorkerMessageHandler: true}\n\n// Load all stuff in `prism.js` itself, except for `prism-file-highlight.js`.\n// The wrapped non-leaky grammars are loaded instead of Prism’s originals.\nvar h = require('hastscript')\nvar decode = require('parse-entities')\nvar Prism = require('prismjs/components/prism-core')\nvar markup = require('./lang/markup')\nvar css = require('./lang/css')\nvar clike = require('./lang/clike')\nvar js = require('./lang/javascript')\n\nrestore()\n\nvar own = {}.hasOwnProperty\n\n// Inherit.\nfunction Refractor() {}\n\nRefractor.prototype = Prism\n\n// Construct.\nvar refract = new Refractor()\n\n// Expose.\nmodule.exports = refract\n\n// Create.\nrefract.highlight = highlight\nrefract.register = register\nrefract.alias = alias\nrefract.registered = registered\nrefract.listLanguages = listLanguages\n\n// Register bundled grammars.\nregister(markup)\nregister(css)\nregister(clike)\nregister(js)\n\nrefract.util.encode = encode\nrefract.Token.stringify = stringify\n\nfunction register(grammar) {\n if (typeof grammar !== 'function' || !grammar.displayName) {\n throw new Error('Expected `function` for `grammar`, got `' + grammar + '`')\n }\n\n // Do not duplicate registrations.\n if (refract.languages[grammar.displayName] === undefined) {\n grammar(refract)\n }\n}\n\nfunction alias(name, alias) {\n var languages = refract.languages\n var map = name\n var key\n var list\n var length\n var index\n\n if (alias) {\n map = {}\n map[name] = alias\n }\n\n for (key in map) {\n list = map[key]\n list = typeof list === 'string' ? [list] : list\n length = list.length\n index = -1\n\n while (++index < length) {\n languages[list[index]] = languages[key]\n }\n }\n}\n\nfunction highlight(value, name) {\n var sup = Prism.highlight\n var grammar\n\n if (typeof value !== 'string') {\n throw new Error('Expected `string` for `value`, got `' + value + '`')\n }\n\n // `name` is a grammar object.\n if (refract.util.type(name) === 'Object') {\n grammar = name\n name = null\n } else {\n if (typeof name !== 'string') {\n throw new Error('Expected `string` for `name`, got `' + name + '`')\n }\n\n if (own.call(refract.languages, name)) {\n grammar = refract.languages[name]\n } else {\n throw new Error('Unknown language: `' + name + '` is not registered')\n }\n }\n\n return sup.call(this, value, grammar, name)\n}\n\nfunction registered(language) {\n if (typeof language !== 'string') {\n throw new Error('Expected `string` for `language`, got `' + language + '`')\n }\n\n return own.call(refract.languages, language)\n}\n\nfunction listLanguages() {\n var languages = refract.languages\n var list = []\n var language\n\n for (language in languages) {\n if (\n own.call(languages, language) &&\n typeof languages[language] === 'object'\n ) {\n list.push(language)\n }\n }\n\n return list\n}\n\nfunction stringify(value, language, parent) {\n var env\n\n if (typeof value === 'string') {\n return {type: 'text', value: value}\n }\n\n if (refract.util.type(value) === 'Array') {\n return stringifyAll(value, language)\n }\n\n env = {\n type: value.type,\n content: refract.Token.stringify(value.content, language, parent),\n tag: 'span',\n classes: ['token', value.type],\n attributes: {},\n language: language,\n parent: parent\n }\n\n if (value.alias) {\n env.classes = env.classes.concat(value.alias)\n }\n\n refract.hooks.run('wrap', env)\n\n return h(\n env.tag + '.' + env.classes.join('.'),\n attributes(env.attributes),\n env.content\n )\n}\n\nfunction stringifyAll(values, language) {\n var result = []\n var length = values.length\n var index = -1\n var value\n\n while (++index < length) {\n value = values[index]\n\n if (value !== '' && value !== null && value !== undefined) {\n result.push(value)\n }\n }\n\n index = -1\n length = result.length\n\n while (++index < length) {\n value = result[index]\n result[index] = refract.Token.stringify(value, language, result)\n }\n\n return result\n}\n\nfunction encode(tokens) {\n return tokens\n}\n\nfunction attributes(attrs) {\n var key\n\n for (key in attrs) {\n attrs[key] = decode(attrs[key])\n }\n\n return attrs\n}\n\nfunction capture() {\n var defined = 'Prism' in ctx\n /* istanbul ignore next */\n var current = defined ? ctx.Prism : undefined\n\n return restore\n\n function restore() {\n /* istanbul ignore else - Clean leaks after Prism. */\n if (defined) {\n ctx.Prism = current\n } else {\n delete ctx.Prism\n }\n\n defined = undefined\n current = undefined\n }\n}\n","'use strict'\n\nvar refractor = require('./core.js')\n\nmodule.exports = refractor\n\nrefractor.register(require('./lang/abap.js'))\nrefractor.register(require('./lang/abnf.js'))\nrefractor.register(require('./lang/actionscript.js'))\nrefractor.register(require('./lang/ada.js'))\nrefractor.register(require('./lang/agda.js'))\nrefractor.register(require('./lang/al.js'))\nrefractor.register(require('./lang/antlr4.js'))\nrefractor.register(require('./lang/apacheconf.js'))\nrefractor.register(require('./lang/apex.js'))\nrefractor.register(require('./lang/apl.js'))\nrefractor.register(require('./lang/applescript.js'))\nrefractor.register(require('./lang/aql.js'))\nrefractor.register(require('./lang/arduino.js'))\nrefractor.register(require('./lang/arff.js'))\nrefractor.register(require('./lang/asciidoc.js'))\nrefractor.register(require('./lang/asm6502.js'))\nrefractor.register(require('./lang/asmatmel.js'))\nrefractor.register(require('./lang/aspnet.js'))\nrefractor.register(require('./lang/autohotkey.js'))\nrefractor.register(require('./lang/autoit.js'))\nrefractor.register(require('./lang/avisynth.js'))\nrefractor.register(require('./lang/avro-idl.js'))\nrefractor.register(require('./lang/bash.js'))\nrefractor.register(require('./lang/basic.js'))\nrefractor.register(require('./lang/batch.js'))\nrefractor.register(require('./lang/bbcode.js'))\nrefractor.register(require('./lang/bicep.js'))\nrefractor.register(require('./lang/birb.js'))\nrefractor.register(require('./lang/bison.js'))\nrefractor.register(require('./lang/bnf.js'))\nrefractor.register(require('./lang/brainfuck.js'))\nrefractor.register(require('./lang/brightscript.js'))\nrefractor.register(require('./lang/bro.js'))\nrefractor.register(require('./lang/bsl.js'))\nrefractor.register(require('./lang/c.js'))\nrefractor.register(require('./lang/cfscript.js'))\nrefractor.register(require('./lang/chaiscript.js'))\nrefractor.register(require('./lang/cil.js'))\nrefractor.register(require('./lang/clojure.js'))\nrefractor.register(require('./lang/cmake.js'))\nrefractor.register(require('./lang/cobol.js'))\nrefractor.register(require('./lang/coffeescript.js'))\nrefractor.register(require('./lang/concurnas.js'))\nrefractor.register(require('./lang/coq.js'))\nrefractor.register(require('./lang/cpp.js'))\nrefractor.register(require('./lang/crystal.js'))\nrefractor.register(require('./lang/csharp.js'))\nrefractor.register(require('./lang/cshtml.js'))\nrefractor.register(require('./lang/csp.js'))\nrefractor.register(require('./lang/css-extras.js'))\nrefractor.register(require('./lang/csv.js'))\nrefractor.register(require('./lang/cypher.js'))\nrefractor.register(require('./lang/d.js'))\nrefractor.register(require('./lang/dart.js'))\nrefractor.register(require('./lang/dataweave.js'))\nrefractor.register(require('./lang/dax.js'))\nrefractor.register(require('./lang/dhall.js'))\nrefractor.register(require('./lang/diff.js'))\nrefractor.register(require('./lang/django.js'))\nrefractor.register(require('./lang/dns-zone-file.js'))\nrefractor.register(require('./lang/docker.js'))\nrefractor.register(require('./lang/dot.js'))\nrefractor.register(require('./lang/ebnf.js'))\nrefractor.register(require('./lang/editorconfig.js'))\nrefractor.register(require('./lang/eiffel.js'))\nrefractor.register(require('./lang/ejs.js'))\nrefractor.register(require('./lang/elixir.js'))\nrefractor.register(require('./lang/elm.js'))\nrefractor.register(require('./lang/erb.js'))\nrefractor.register(require('./lang/erlang.js'))\nrefractor.register(require('./lang/etlua.js'))\nrefractor.register(require('./lang/excel-formula.js'))\nrefractor.register(require('./lang/factor.js'))\nrefractor.register(require('./lang/false.js'))\nrefractor.register(require('./lang/firestore-security-rules.js'))\nrefractor.register(require('./lang/flow.js'))\nrefractor.register(require('./lang/fortran.js'))\nrefractor.register(require('./lang/fsharp.js'))\nrefractor.register(require('./lang/ftl.js'))\nrefractor.register(require('./lang/gap.js'))\nrefractor.register(require('./lang/gcode.js'))\nrefractor.register(require('./lang/gdscript.js'))\nrefractor.register(require('./lang/gedcom.js'))\nrefractor.register(require('./lang/gherkin.js'))\nrefractor.register(require('./lang/git.js'))\nrefractor.register(require('./lang/glsl.js'))\nrefractor.register(require('./lang/gml.js'))\nrefractor.register(require('./lang/gn.js'))\nrefractor.register(require('./lang/go-module.js'))\nrefractor.register(require('./lang/go.js'))\nrefractor.register(require('./lang/graphql.js'))\nrefractor.register(require('./lang/groovy.js'))\nrefractor.register(require('./lang/haml.js'))\nrefractor.register(require('./lang/handlebars.js'))\nrefractor.register(require('./lang/haskell.js'))\nrefractor.register(require('./lang/haxe.js'))\nrefractor.register(require('./lang/hcl.js'))\nrefractor.register(require('./lang/hlsl.js'))\nrefractor.register(require('./lang/hoon.js'))\nrefractor.register(require('./lang/hpkp.js'))\nrefractor.register(require('./lang/hsts.js'))\nrefractor.register(require('./lang/http.js'))\nrefractor.register(require('./lang/ichigojam.js'))\nrefractor.register(require('./lang/icon.js'))\nrefractor.register(require('./lang/icu-message-format.js'))\nrefractor.register(require('./lang/idris.js'))\nrefractor.register(require('./lang/iecst.js'))\nrefractor.register(require('./lang/ignore.js'))\nrefractor.register(require('./lang/inform7.js'))\nrefractor.register(require('./lang/ini.js'))\nrefractor.register(require('./lang/io.js'))\nrefractor.register(require('./lang/j.js'))\nrefractor.register(require('./lang/java.js'))\nrefractor.register(require('./lang/javadoc.js'))\nrefractor.register(require('./lang/javadoclike.js'))\nrefractor.register(require('./lang/javastacktrace.js'))\nrefractor.register(require('./lang/jexl.js'))\nrefractor.register(require('./lang/jolie.js'))\nrefractor.register(require('./lang/jq.js'))\nrefractor.register(require('./lang/js-extras.js'))\nrefractor.register(require('./lang/js-templates.js'))\nrefractor.register(require('./lang/jsdoc.js'))\nrefractor.register(require('./lang/json.js'))\nrefractor.register(require('./lang/json5.js'))\nrefractor.register(require('./lang/jsonp.js'))\nrefractor.register(require('./lang/jsstacktrace.js'))\nrefractor.register(require('./lang/jsx.js'))\nrefractor.register(require('./lang/julia.js'))\nrefractor.register(require('./lang/keepalived.js'))\nrefractor.register(require('./lang/keyman.js'))\nrefractor.register(require('./lang/kotlin.js'))\nrefractor.register(require('./lang/kumir.js'))\nrefractor.register(require('./lang/kusto.js'))\nrefractor.register(require('./lang/latex.js'))\nrefractor.register(require('./lang/latte.js'))\nrefractor.register(require('./lang/less.js'))\nrefractor.register(require('./lang/lilypond.js'))\nrefractor.register(require('./lang/liquid.js'))\nrefractor.register(require('./lang/lisp.js'))\nrefractor.register(require('./lang/livescript.js'))\nrefractor.register(require('./lang/llvm.js'))\nrefractor.register(require('./lang/log.js'))\nrefractor.register(require('./lang/lolcode.js'))\nrefractor.register(require('./lang/lua.js'))\nrefractor.register(require('./lang/magma.js'))\nrefractor.register(require('./lang/makefile.js'))\nrefractor.register(require('./lang/markdown.js'))\nrefractor.register(require('./lang/markup-templating.js'))\nrefractor.register(require('./lang/matlab.js'))\nrefractor.register(require('./lang/maxscript.js'))\nrefractor.register(require('./lang/mel.js'))\nrefractor.register(require('./lang/mermaid.js'))\nrefractor.register(require('./lang/mizar.js'))\nrefractor.register(require('./lang/mongodb.js'))\nrefractor.register(require('./lang/monkey.js'))\nrefractor.register(require('./lang/moonscript.js'))\nrefractor.register(require('./lang/n1ql.js'))\nrefractor.register(require('./lang/n4js.js'))\nrefractor.register(require('./lang/nand2tetris-hdl.js'))\nrefractor.register(require('./lang/naniscript.js'))\nrefractor.register(require('./lang/nasm.js'))\nrefractor.register(require('./lang/neon.js'))\nrefractor.register(require('./lang/nevod.js'))\nrefractor.register(require('./lang/nginx.js'))\nrefractor.register(require('./lang/nim.js'))\nrefractor.register(require('./lang/nix.js'))\nrefractor.register(require('./lang/nsis.js'))\nrefractor.register(require('./lang/objectivec.js'))\nrefractor.register(require('./lang/ocaml.js'))\nrefractor.register(require('./lang/opencl.js'))\nrefractor.register(require('./lang/openqasm.js'))\nrefractor.register(require('./lang/oz.js'))\nrefractor.register(require('./lang/parigp.js'))\nrefractor.register(require('./lang/parser.js'))\nrefractor.register(require('./lang/pascal.js'))\nrefractor.register(require('./lang/pascaligo.js'))\nrefractor.register(require('./lang/pcaxis.js'))\nrefractor.register(require('./lang/peoplecode.js'))\nrefractor.register(require('./lang/perl.js'))\nrefractor.register(require('./lang/php-extras.js'))\nrefractor.register(require('./lang/php.js'))\nrefractor.register(require('./lang/phpdoc.js'))\nrefractor.register(require('./lang/plsql.js'))\nrefractor.register(require('./lang/powerquery.js'))\nrefractor.register(require('./lang/powershell.js'))\nrefractor.register(require('./lang/processing.js'))\nrefractor.register(require('./lang/prolog.js'))\nrefractor.register(require('./lang/promql.js'))\nrefractor.register(require('./lang/properties.js'))\nrefractor.register(require('./lang/protobuf.js'))\nrefractor.register(require('./lang/psl.js'))\nrefractor.register(require('./lang/pug.js'))\nrefractor.register(require('./lang/puppet.js'))\nrefractor.register(require('./lang/pure.js'))\nrefractor.register(require('./lang/purebasic.js'))\nrefractor.register(require('./lang/purescript.js'))\nrefractor.register(require('./lang/python.js'))\nrefractor.register(require('./lang/q.js'))\nrefractor.register(require('./lang/qml.js'))\nrefractor.register(require('./lang/qore.js'))\nrefractor.register(require('./lang/qsharp.js'))\nrefractor.register(require('./lang/r.js'))\nrefractor.register(require('./lang/racket.js'))\nrefractor.register(require('./lang/reason.js'))\nrefractor.register(require('./lang/regex.js'))\nrefractor.register(require('./lang/rego.js'))\nrefractor.register(require('./lang/renpy.js'))\nrefractor.register(require('./lang/rest.js'))\nrefractor.register(require('./lang/rip.js'))\nrefractor.register(require('./lang/roboconf.js'))\nrefractor.register(require('./lang/robotframework.js'))\nrefractor.register(require('./lang/ruby.js'))\nrefractor.register(require('./lang/rust.js'))\nrefractor.register(require('./lang/sas.js'))\nrefractor.register(require('./lang/sass.js'))\nrefractor.register(require('./lang/scala.js'))\nrefractor.register(require('./lang/scheme.js'))\nrefractor.register(require('./lang/scss.js'))\nrefractor.register(require('./lang/shell-session.js'))\nrefractor.register(require('./lang/smali.js'))\nrefractor.register(require('./lang/smalltalk.js'))\nrefractor.register(require('./lang/smarty.js'))\nrefractor.register(require('./lang/sml.js'))\nrefractor.register(require('./lang/solidity.js'))\nrefractor.register(require('./lang/solution-file.js'))\nrefractor.register(require('./lang/soy.js'))\nrefractor.register(require('./lang/sparql.js'))\nrefractor.register(require('./lang/splunk-spl.js'))\nrefractor.register(require('./lang/sqf.js'))\nrefractor.register(require('./lang/sql.js'))\nrefractor.register(require('./lang/squirrel.js'))\nrefractor.register(require('./lang/stan.js'))\nrefractor.register(require('./lang/stylus.js'))\nrefractor.register(require('./lang/swift.js'))\nrefractor.register(require('./lang/systemd.js'))\nrefractor.register(require('./lang/t4-cs.js'))\nrefractor.register(require('./lang/t4-templating.js'))\nrefractor.register(require('./lang/t4-vb.js'))\nrefractor.register(require('./lang/tap.js'))\nrefractor.register(require('./lang/tcl.js'))\nrefractor.register(require('./lang/textile.js'))\nrefractor.register(require('./lang/toml.js'))\nrefractor.register(require('./lang/tremor.js'))\nrefractor.register(require('./lang/tsx.js'))\nrefractor.register(require('./lang/tt2.js'))\nrefractor.register(require('./lang/turtle.js'))\nrefractor.register(require('./lang/twig.js'))\nrefractor.register(require('./lang/typescript.js'))\nrefractor.register(require('./lang/typoscript.js'))\nrefractor.register(require('./lang/unrealscript.js'))\nrefractor.register(require('./lang/uorazor.js'))\nrefractor.register(require('./lang/uri.js'))\nrefractor.register(require('./lang/v.js'))\nrefractor.register(require('./lang/vala.js'))\nrefractor.register(require('./lang/vbnet.js'))\nrefractor.register(require('./lang/velocity.js'))\nrefractor.register(require('./lang/verilog.js'))\nrefractor.register(require('./lang/vhdl.js'))\nrefractor.register(require('./lang/vim.js'))\nrefractor.register(require('./lang/visual-basic.js'))\nrefractor.register(require('./lang/warpscript.js'))\nrefractor.register(require('./lang/wasm.js'))\nrefractor.register(require('./lang/web-idl.js'))\nrefractor.register(require('./lang/wiki.js'))\nrefractor.register(require('./lang/wolfram.js'))\nrefractor.register(require('./lang/wren.js'))\nrefractor.register(require('./lang/xeora.js'))\nrefractor.register(require('./lang/xml-doc.js'))\nrefractor.register(require('./lang/xojo.js'))\nrefractor.register(require('./lang/xquery.js'))\nrefractor.register(require('./lang/yaml.js'))\nrefractor.register(require('./lang/yang.js'))\nrefractor.register(require('./lang/zig.js'))\n","'use strict'\n\nmodule.exports = abap\nabap.displayName = 'abap'\nabap.aliases = []\nfunction abap(Prism) {\n Prism.languages.abap = {\n comment: /^\\*.*/m,\n string: /(`|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n 'string-template': {\n pattern: /([|}])(?:\\\\.|[^\\\\|{\\r\\n])*(?=[|{])/,\n lookbehind: true,\n alias: 'string'\n },\n /* End Of Line comments should not interfere with strings when the\nquote character occurs within them. We assume a string being highlighted\ninside an EOL comment is more acceptable than the opposite.\n*/\n 'eol-comment': {\n pattern: /(^|\\s)\".*/m,\n lookbehind: true,\n alias: 'comment'\n },\n keyword: {\n pattern:\n /(\\s|\\.|^)(?:SCIENTIFIC_WITH_LEADING_ZERO|SCALE_PRESERVING_SCIENTIFIC|RMC_COMMUNICATION_FAILURE|END-ENHANCEMENT-SECTION|MULTIPLY-CORRESPONDING|SUBTRACT-CORRESPONDING|VERIFICATION-MESSAGE|DIVIDE-CORRESPONDING|ENHANCEMENT-SECTION|CURRENCY_CONVERSION|RMC_SYSTEM_FAILURE|START-OF-SELECTION|MOVE-CORRESPONDING|RMC_INVALID_STATUS|CUSTOMER-FUNCTION|END-OF-DEFINITION|ENHANCEMENT-POINT|SYSTEM-EXCEPTIONS|ADD-CORRESPONDING|SCALE_PRESERVING|SELECTION-SCREEN|CURSOR-SELECTION|END-OF-SELECTION|LOAD-OF-PROGRAM|SCROLL-BOUNDARY|SELECTION-TABLE|EXCEPTION-TABLE|IMPLEMENTATIONS|PARAMETER-TABLE|RIGHT-JUSTIFIED|UNIT_CONVERSION|AUTHORITY-CHECK|LIST-PROCESSING|SIGN_AS_POSTFIX|COL_BACKGROUND|IMPLEMENTATION|INTERFACE-POOL|TRANSFORMATION|IDENTIFICATION|ENDENHANCEMENT|LINE-SELECTION|INITIALIZATION|LEFT-JUSTIFIED|SELECT-OPTIONS|SELECTION-SETS|COMMUNICATION|CORRESPONDING|DECIMAL_SHIFT|PRINT-CONTROL|VALUE-REQUEST|CHAIN-REQUEST|FUNCTION-POOL|FIELD-SYMBOLS|FUNCTIONALITY|INVERTED-DATE|SELECTION-SET|CLASS-METHODS|OUTPUT-LENGTH|CLASS-CODING|COL_NEGATIVE|ERRORMESSAGE|FIELD-GROUPS|HELP-REQUEST|NO-EXTENSION|NO-TOPOFPAGE|REDEFINITION|DISPLAY-MODE|ENDINTERFACE|EXIT-COMMAND|FIELD-SYMBOL|NO-SCROLLING|SHORTDUMP-ID|ACCESSPOLICY|CLASS-EVENTS|COL_POSITIVE|DECLARATIONS|ENHANCEMENTS|FILTER-TABLE|SWITCHSTATES|SYNTAX-CHECK|TRANSPORTING|ASYNCHRONOUS|SYNTAX-TRACE|TOKENIZATION|USER-COMMAND|WITH-HEADING|ABAP-SOURCE|BREAK-POINT|CHAIN-INPUT|COMPRESSION|FIXED-POINT|NEW-SECTION|NON-UNICODE|OCCURRENCES|RESPONSIBLE|SYSTEM-CALL|TRACE-TABLE|ABBREVIATED|CHAR-TO-HEX|END-OF-FILE|ENDFUNCTION|ENVIRONMENT|ASSOCIATION|COL_HEADING|EDITOR-CALL|END-OF-PAGE|ENGINEERING|IMPLEMENTED|INTENSIFIED|RADIOBUTTON|SYSTEM-EXIT|TOP-OF-PAGE|TRANSACTION|APPLICATION|CONCATENATE|DESTINATION|ENHANCEMENT|IMMEDIATELY|NO-GROUPING|PRECOMPILED|REPLACEMENT|TITLE-LINES|ACTIVATION|BYTE-ORDER|CLASS-POOL|CONNECTION|CONVERSION|DEFINITION|DEPARTMENT|EXPIRATION|INHERITING|MESSAGE-ID|NO-HEADING|PERFORMING|QUEUE-ONLY|RIGHTSPACE|SCIENTIFIC|STATUSINFO|STRUCTURES|SYNCPOINTS|WITH-TITLE|ATTRIBUTES|BOUNDARIES|CLASS-DATA|COL_NORMAL|DD\\/MM\\/YYYY|DESCENDING|INTERFACES|LINE-COUNT|MM\\/DD\\/YYYY|NON-UNIQUE|PRESERVING|SELECTIONS|STATEMENTS|SUBROUTINE|TRUNCATION|TYPE-POOLS|ARITHMETIC|BACKGROUND|ENDPROVIDE|EXCEPTIONS|IDENTIFIER|INDEX-LINE|OBLIGATORY|PARAMETERS|PERCENTAGE|PUSHBUTTON|RESOLUTION|COMPONENTS|DEALLOCATE|DISCONNECT|DUPLICATES|FIRST-LINE|HEAD-LINES|NO-DISPLAY|OCCURRENCE|RESPECTING|RETURNCODE|SUBMATCHES|TRACE-FILE|ASCENDING|BYPASSING|ENDMODULE|EXCEPTION|EXCLUDING|EXPORTING|INCREMENT|MATCHCODE|PARAMETER|PARTIALLY|PREFERRED|REFERENCE|REPLACING|RETURNING|SELECTION|SEPARATED|SPECIFIED|STATEMENT|TIMESTAMP|TYPE-POOL|ACCEPTING|APPENDAGE|ASSIGNING|COL_GROUP|COMPARING|CONSTANTS|DANGEROUS|IMPORTING|INSTANCES|LEFTSPACE|LOG-POINT|QUICKINFO|READ-ONLY|SCROLLING|SQLSCRIPT|STEP-LOOP|TOP-LINES|TRANSLATE|APPENDING|AUTHORITY|CHARACTER|COMPONENT|CONDITION|DIRECTORY|DUPLICATE|MESSAGING|RECEIVING|SUBSCREEN|ACCORDING|COL_TOTAL|END-LINES|ENDMETHOD|ENDSELECT|EXPANDING|EXTENSION|INCLUDING|INFOTYPES|INTERFACE|INTERVALS|LINE-SIZE|PF-STATUS|PROCEDURE|PROTECTED|REQUESTED|RESUMABLE|RIGHTPLUS|SAP-SPOOL|SECONDARY|STRUCTURE|SUBSTRING|TABLEVIEW|NUMOFCHAR|ADJACENT|ANALYSIS|ASSIGNED|BACKWARD|CHANNELS|CHECKBOX|CONTINUE|CRITICAL|DATAINFO|DD\\/MM\\/YY|DURATION|ENCODING|ENDCLASS|FUNCTION|LEFTPLUS|LINEFEED|MM\\/DD\\/YY|OVERFLOW|RECEIVED|SKIPPING|SORTABLE|STANDARD|SUBTRACT|SUPPRESS|TABSTRIP|TITLEBAR|TRUNCATE|UNASSIGN|WHENEVER|ANALYZER|COALESCE|COMMENTS|CONDENSE|DECIMALS|DEFERRED|ENDWHILE|EXPLICIT|KEYWORDS|MESSAGES|POSITION|PRIORITY|RECEIVER|RENAMING|TIMEZONE|TRAILING|ALLOCATE|CENTERED|CIRCULAR|CONTROLS|CURRENCY|DELETING|DESCRIBE|DISTANCE|ENDCATCH|EXPONENT|EXTENDED|GENERATE|IGNORING|INCLUDES|INTERNAL|MAJOR-ID|MODIFIER|NEW-LINE|OPTIONAL|PROPERTY|ROLLBACK|STARTING|SUPPLIED|ABSTRACT|CHANGING|CONTEXTS|CREATING|CUSTOMER|DATABASE|DAYLIGHT|DEFINING|DISTINCT|DIVISION|ENABLING|ENDCHAIN|ESCAPING|HARMLESS|IMPLICIT|INACTIVE|LANGUAGE|MINOR-ID|MULTIPLY|NEW-PAGE|NO-TITLE|POS_HIGH|SEPARATE|TEXTPOOL|TRANSFER|SELECTOR|DBMAXLEN|ITERATOR|ARCHIVE|BIT-XOR|BYTE-CO|COLLECT|COMMENT|CURRENT|DEFAULT|DISPLAY|ENDFORM|EXTRACT|LEADING|LISTBOX|LOCATOR|MEMBERS|METHODS|NESTING|POS_LOW|PROCESS|PROVIDE|RAISING|RESERVE|SECONDS|SUMMARY|VISIBLE|BETWEEN|BIT-AND|BYTE-CS|CLEANUP|COMPUTE|CONTROL|CONVERT|DATASET|ENDCASE|FORWARD|HEADERS|HOTSPOT|INCLUDE|INVERSE|KEEPING|NO-ZERO|OBJECTS|OVERLAY|PADDING|PATTERN|PROGRAM|REFRESH|SECTION|SUMMING|TESTING|VERSION|WINDOWS|WITHOUT|BIT-NOT|BYTE-CA|BYTE-NA|CASTING|CONTEXT|COUNTRY|DYNAMIC|ENABLED|ENDLOOP|EXECUTE|FRIENDS|HANDLER|HEADING|INITIAL|\\*-INPUT|LOGFILE|MAXIMUM|MINIMUM|NO-GAPS|NO-SIGN|PRAGMAS|PRIMARY|PRIVATE|REDUCED|REPLACE|REQUEST|RESULTS|UNICODE|WARNING|ALIASES|BYTE-CN|BYTE-NS|CALLING|COL_KEY|COLUMNS|CONNECT|ENDEXEC|ENTRIES|EXCLUDE|FILTERS|FURTHER|HELP-ID|LOGICAL|MAPPING|MESSAGE|NAMETAB|OPTIONS|PACKAGE|PERFORM|RECEIVE|STATICS|VARYING|BINDING|CHARLEN|GREATER|XSTRLEN|ACCEPT|APPEND|DETAIL|ELSEIF|ENDING|ENDTRY|FORMAT|FRAMES|GIVING|HASHED|HEADER|IMPORT|INSERT|MARGIN|MODULE|NATIVE|OBJECT|OFFSET|REMOTE|RESUME|SAVING|SIMPLE|SUBMIT|TABBED|TOKENS|UNIQUE|UNPACK|UPDATE|WINDOW|YELLOW|ACTUAL|ASPECT|CENTER|CURSOR|DELETE|DIALOG|DIVIDE|DURING|ERRORS|EVENTS|EXTEND|FILTER|HANDLE|HAVING|IGNORE|LITTLE|MEMORY|NO-GAP|OCCURS|OPTION|PERSON|PLACES|PUBLIC|REDUCE|REPORT|RESULT|SINGLE|SORTED|SWITCH|SYNTAX|TARGET|VALUES|WRITER|ASSERT|BLOCKS|BOUNDS|BUFFER|CHANGE|COLUMN|COMMIT|CONCAT|COPIES|CREATE|DDMMYY|DEFINE|ENDIAN|ESCAPE|EXPAND|KERNEL|LAYOUT|LEGACY|LEVELS|MMDDYY|NUMBER|OUTPUT|RANGES|READER|RETURN|SCREEN|SEARCH|SELECT|SHARED|SOURCE|STABLE|STATIC|SUBKEY|SUFFIX|TABLES|UNWIND|YYMMDD|ASSIGN|BACKUP|BEFORE|BINARY|BIT-OR|BLANKS|CLIENT|CODING|COMMON|DEMAND|DYNPRO|EXCEPT|EXISTS|EXPORT|FIELDS|GLOBAL|GROUPS|LENGTH|LOCALE|MEDIUM|METHOD|MODIFY|NESTED|OTHERS|REJECT|SCROLL|SUPPLY|SYMBOL|ENDFOR|STRLEN|ALIGN|BEGIN|BOUND|ENDAT|ENTRY|EVENT|FINAL|FLUSH|GRANT|INNER|SHORT|USING|WRITE|AFTER|BLACK|BLOCK|CLOCK|COLOR|COUNT|DUMMY|EMPTY|ENDDO|ENDON|GREEN|INDEX|INOUT|LEAVE|LEVEL|LINES|MODIF|ORDER|OUTER|RANGE|RESET|RETRY|RIGHT|SMART|SPLIT|STYLE|TABLE|THROW|UNDER|UNTIL|UPPER|UTF-8|WHERE|ALIAS|BLANK|CLEAR|CLOSE|EXACT|FETCH|FIRST|FOUND|GROUP|LLANG|LOCAL|OTHER|REGEX|SPOOL|TITLE|TYPES|VALID|WHILE|ALPHA|BOXED|CATCH|CHAIN|CHECK|CLASS|COVER|ENDIF|EQUIV|FIELD|FLOOR|FRAME|INPUT|LOWER|MATCH|NODES|PAGES|PRINT|RAISE|ROUND|SHIFT|SPACE|SPOTS|STAMP|STATE|TASKS|TIMES|TRMAC|ULINE|UNION|VALUE|WIDTH|EQUAL|LOG10|TRUNC|BLOB|CASE|CEIL|CLOB|COND|EXIT|FILE|GAPS|HOLD|INCL|INTO|KEEP|KEYS|LAST|LINE|LONG|LPAD|MAIL|MODE|OPEN|PINK|READ|ROWS|TEST|THEN|ZERO|AREA|BACK|BADI|BYTE|CAST|EDIT|EXEC|FAIL|FIND|FKEQ|FONT|FREE|GKEQ|HIDE|INIT|ITNO|LATE|LOOP|MAIN|MARK|MOVE|NEXT|NULL|RISK|ROLE|UNIT|WAIT|ZONE|BASE|CALL|CODE|DATA|DATE|FKGE|GKGE|HIGH|KIND|LEFT|LIST|MASK|MESH|NAME|NODE|PACK|PAGE|POOL|SEND|SIGN|SIZE|SOME|STOP|TASK|TEXT|TIME|USER|VARY|WITH|WORD|BLUE|CONV|COPY|DEEP|ELSE|FORM|FROM|HINT|ICON|JOIN|LIKE|LOAD|ONLY|PART|SCAN|SKIP|SORT|TYPE|UNIX|VIEW|WHEN|WORK|ACOS|ASIN|ATAN|COSH|EACH|FRAC|LESS|RTTI|SINH|SQRT|TANH|AVG|BIT|DIV|ISO|LET|OUT|PAD|SQL|ALL|CI_|CPI|END|LOB|LPI|MAX|MIN|NEW|OLE|RUN|SET|\\?TO|YES|ABS|ADD|AND|BIG|FOR|HDB|JOB|LOW|NOT|SAP|TRY|VIA|XML|ANY|GET|IDS|KEY|MOD|OFF|PUT|RAW|RED|REF|SUM|TAB|XSD|CNT|COS|EXP|LOG|SIN|TAN|XOR|AT|CO|CP|DO|GT|ID|IF|NS|OR|BT|CA|CS|GE|NA|NB|EQ|IN|LT|NE|NO|OF|ON|PF|TO|AS|BY|CN|IS|LE|NP|UP|E|I|M|O|Z|C|X)\\b/i,\n lookbehind: true\n },\n /* Numbers can be only integers. Decimal or Hex appear only as strings */\n number: /\\b\\d+\\b/,\n /* Operators must always be surrounded by whitespace, they cannot be put\nadjacent to operands.\n*/\n operator: {\n pattern: /(\\s)(?:\\*\\*?|<[=>]?|>=?|\\?=|[-+\\/=])(?=\\s)/,\n lookbehind: true\n },\n 'string-operator': {\n pattern: /(\\s)&&?(?=\\s)/,\n lookbehind: true,\n /* The official editor highlights */\n alias: 'keyword'\n },\n 'token-operator': [\n {\n /* Special operators used to access structure components, class methods/attributes, etc. */\n pattern: /(\\w)(?:->?|=>|[~|{}])(?=\\w)/,\n lookbehind: true,\n alias: 'punctuation'\n },\n {\n /* Special tokens used do delimit string templates */\n pattern: /[|{}]/,\n alias: 'punctuation'\n }\n ],\n punctuation: /[,.:()]/\n }\n}\n","'use strict'\n\nmodule.exports = abnf\nabnf.displayName = 'abnf'\nabnf.aliases = []\nfunction abnf(Prism) {\n ;(function (Prism) {\n var coreRules =\n '(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)'\n Prism.languages.abnf = {\n comment: /;.*/,\n string: {\n pattern: /(?:%[is])?\"[^\"\\n\\r]*\"/,\n greedy: true,\n inside: {\n punctuation: /^%[is]/\n }\n },\n range: {\n pattern: /%(?:b[01]+-[01]+|d\\d+-\\d+|x[A-F\\d]+-[A-F\\d]+)/i,\n alias: 'number'\n },\n terminal: {\n pattern:\n /%(?:b[01]+(?:\\.[01]+)*|d\\d+(?:\\.\\d+)*|x[A-F\\d]+(?:\\.[A-F\\d]+)*)/i,\n alias: 'number'\n },\n repetition: {\n pattern: /(^|[^\\w-])(?:\\d*\\*\\d*|\\d+)/,\n lookbehind: true,\n alias: 'operator'\n },\n definition: {\n pattern: /(^[ \\t]*)(?:[a-z][\\w-]*|<[^<>\\r\\n]*>)(?=\\s*=)/m,\n lookbehind: true,\n alias: 'keyword',\n inside: {\n punctuation: /<|>/\n }\n },\n 'core-rule': {\n pattern: RegExp(\n '(?:(^|[^<\\\\w-])' + coreRules + '|<' + coreRules + '>)(?![\\\\w-])',\n 'i'\n ),\n lookbehind: true,\n alias: ['rule', 'constant'],\n inside: {\n punctuation: /<|>/\n }\n },\n rule: {\n pattern: /(^|[^<\\w-])[a-z][\\w-]*|<[^<>\\r\\n]*>/i,\n lookbehind: true,\n inside: {\n punctuation: /<|>/\n }\n },\n operator: /=\\/?|\\//,\n punctuation: /[()\\[\\]]/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = actionscript\nactionscript.displayName = 'actionscript'\nactionscript.aliases = []\nfunction actionscript(Prism) {\n Prism.languages.actionscript = Prism.languages.extend('javascript', {\n keyword:\n /\\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\\b/,\n operator: /\\+\\+|--|(?:[+\\-*\\/%^]|&&?|\\|\\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/\n })\n Prism.languages.actionscript['class-name'].alias = 'function' // doesn't work with AS because AS is too complex\n delete Prism.languages.actionscript['parameter']\n delete Prism.languages.actionscript['literal-property']\n if (Prism.languages.markup) {\n Prism.languages.insertBefore('actionscript', 'string', {\n xml: {\n pattern:\n /(^|[^.])<\\/?\\w+(?:\\s+[^\\s>\\/=]+=(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2)*\\s*\\/?>/,\n lookbehind: true,\n inside: Prism.languages.markup\n }\n })\n }\n}\n","'use strict'\n\nmodule.exports = ada\nada.displayName = 'ada'\nada.aliases = []\nfunction ada(Prism) {\n Prism.languages.ada = {\n comment: /--.*/,\n string: /\"(?:\"\"|[^\"\\r\\f\\n])*\"/,\n number: [\n {\n pattern:\n /\\b\\d(?:_?\\d)*#[\\dA-F](?:_?[\\dA-F])*(?:\\.[\\dA-F](?:_?[\\dA-F])*)?#(?:E[+-]?\\d(?:_?\\d)*)?/i\n },\n {\n pattern: /\\b\\d(?:_?\\d)*(?:\\.\\d(?:_?\\d)*)?(?:E[+-]?\\d(?:_?\\d)*)?\\b/i\n }\n ],\n 'attr-name': /\\b'\\w+/,\n keyword:\n /\\b(?:abort|abs|abstract|accept|access|aliased|all|and|array|at|begin|body|case|constant|declare|delay|delta|digits|do|else|elsif|end|entry|exception|exit|for|function|generic|goto|if|in|interface|is|limited|loop|mod|new|not|null|of|others|out|overriding|package|pragma|private|procedure|protected|raise|range|record|rem|renames|requeue|return|reverse|select|separate|some|subtype|synchronized|tagged|task|terminate|then|type|until|use|when|while|with|xor)\\b/i,\n boolean: /\\b(?:false|true)\\b/i,\n operator: /<[=>]?|>=?|=>?|:=|\\/=?|\\*\\*?|[&+-]/,\n punctuation: /\\.\\.?|[,;():]/,\n char: /'.'/,\n variable: /\\b[a-z](?:\\w)*\\b/i\n }\n}\n","'use strict'\n\nmodule.exports = agda\nagda.displayName = 'agda'\nagda.aliases = []\nfunction agda(Prism) {\n ;(function (Prism) {\n Prism.languages.agda = {\n comment: /\\{-[\\s\\S]*?(?:-\\}|$)|--.*/,\n string: {\n pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n\"])*\"/,\n greedy: true\n },\n punctuation: /[(){}⦃⦄.;@]/,\n 'class-name': {\n pattern: /((?:data|record) +)\\S+/,\n lookbehind: true\n },\n function: {\n pattern: /(^[ \\t]*)(?!\\s)[^:\\r\\n]+(?=:)/m,\n lookbehind: true\n },\n operator: {\n pattern: /(^\\s*|\\s)(?:[=|:∀→λ\\\\?_]|->)(?=\\s)/,\n lookbehind: true\n },\n keyword:\n /\\b(?:Set|abstract|constructor|data|eta-equality|field|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\\b/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = al\nal.displayName = 'al'\nal.aliases = []\nfunction al(Prism) {\n // based on https://github.com/microsoft/AL/blob/master/grammar/alsyntax.tmlanguage\n Prism.languages.al = {\n comment: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n string: {\n pattern: /'(?:''|[^'\\r\\n])*'(?!')|\"(?:\"\"|[^\"\\r\\n])*\"(?!\")/,\n greedy: true\n },\n function: {\n pattern:\n /(\\b(?:event|procedure|trigger)\\s+|(?:^|[^.])\\.\\s*)[a-z_]\\w*(?=\\s*\\()/i,\n lookbehind: true\n },\n keyword: [\n // keywords\n /\\b(?:array|asserterror|begin|break|case|do|downto|else|end|event|exit|for|foreach|function|if|implements|in|indataset|interface|internal|local|of|procedure|program|protected|repeat|runonclient|securityfiltering|suppressdispose|temporary|then|to|trigger|until|var|while|with|withevents)\\b/i, // objects and metadata that are used like keywords\n /\\b(?:action|actions|addafter|addbefore|addfirst|addlast|area|assembly|chartpart|codeunit|column|controladdin|cuegroup|customizes|dataitem|dataset|dotnet|elements|enum|enumextension|extends|field|fieldattribute|fieldelement|fieldgroup|fieldgroups|fields|filter|fixed|grid|group|key|keys|label|labels|layout|modify|moveafter|movebefore|movefirst|movelast|page|pagecustomization|pageextension|part|profile|query|repeater|report|requestpage|schema|separator|systempart|table|tableelement|tableextension|textattribute|textelement|type|usercontrol|value|xmlport)\\b/i\n ],\n number:\n /\\b(?:0x[\\da-f]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?)(?:F|LL?|U(?:LL?)?)?\\b/i,\n boolean: /\\b(?:false|true)\\b/i,\n variable: /\\b(?:Curr(?:FieldNo|Page|Report)|x?Rec|RequestOptionsPage)\\b/,\n 'class-name':\n /\\b(?:automation|biginteger|bigtext|blob|boolean|byte|char|clienttype|code|completiontriggererrorlevel|connectiontype|database|dataclassification|datascope|date|dateformula|datetime|decimal|defaultlayout|dialog|dictionary|dotnetassembly|dotnettypedeclaration|duration|errorinfo|errortype|executioncontext|executionmode|fieldclass|fieldref|fieldtype|file|filterpagebuilder|guid|httpclient|httpcontent|httpheaders|httprequestmessage|httpresponsemessage|instream|integer|joker|jsonarray|jsonobject|jsontoken|jsonvalue|keyref|list|moduledependencyinfo|moduleinfo|none|notification|notificationscope|objecttype|option|outstream|pageresult|record|recordid|recordref|reportformat|securityfilter|sessionsettings|tableconnectiontype|tablefilter|testaction|testfield|testfilterfield|testpage|testpermissions|testrequestpage|text|textbuilder|textconst|textencoding|time|transactionmodel|transactiontype|variant|verbosity|version|view|views|webserviceactioncontext|webserviceactionresultcode|xmlattribute|xmlattributecollection|xmlcdata|xmlcomment|xmldeclaration|xmldocument|xmldocumenttype|xmlelement|xmlnamespacemanager|xmlnametable|xmlnode|xmlnodelist|xmlprocessinginstruction|xmlreadoptions|xmltext|xmlwriteoptions)\\b/i,\n operator: /\\.\\.|:[=:]|[-+*/]=?|<>|[<>]=?|=|\\b(?:and|div|mod|not|or|xor)\\b/i,\n punctuation: /[()\\[\\]{}:.;,]/\n }\n}\n","'use strict'\n\nmodule.exports = antlr4\nantlr4.displayName = 'antlr4'\nantlr4.aliases = ['g4']\nfunction antlr4(Prism) {\n Prism.languages.antlr4 = {\n comment: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n string: {\n pattern: /'(?:\\\\.|[^\\\\'\\r\\n])*'/,\n greedy: true\n },\n 'character-class': {\n pattern: /\\[(?:\\\\.|[^\\\\\\]\\r\\n])*\\]/,\n greedy: true,\n alias: 'regex',\n inside: {\n range: {\n pattern: /([^[]|(?:^|[^\\\\])(?:\\\\\\\\)*\\\\\\[)-(?!\\])/,\n lookbehind: true,\n alias: 'punctuation'\n },\n escape:\n /\\\\(?:u(?:[a-fA-F\\d]{4}|\\{[a-fA-F\\d]+\\})|[pP]\\{[=\\w-]+\\}|[^\\r\\nupP])/,\n punctuation: /[\\[\\]]/\n }\n },\n action: {\n pattern: /\\{(?:[^{}]|\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})*\\})*\\}/,\n greedy: true,\n inside: {\n content: {\n // this might be C, C++, Python, Java, C#, or any other language ANTLR4 compiles to\n pattern: /(\\{)[\\s\\S]+(?=\\})/,\n lookbehind: true\n },\n punctuation: /[{}]/\n }\n },\n command: {\n pattern:\n /(->\\s*(?!\\s))(?:\\s*(?:,\\s*)?\\b[a-z]\\w*(?:\\s*\\([^()\\r\\n]*\\))?)+(?=\\s*;)/i,\n lookbehind: true,\n inside: {\n function: /\\b\\w+(?=\\s*(?:[,(]|$))/,\n punctuation: /[,()]/\n }\n },\n annotation: {\n pattern: /@\\w+(?:::\\w+)*/,\n alias: 'keyword'\n },\n label: {\n pattern: /#[ \\t]*\\w+/,\n alias: 'punctuation'\n },\n keyword:\n /\\b(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|parser|returns|throws|tokens)\\b/,\n definition: [\n {\n pattern: /\\b[a-z]\\w*(?=\\s*:)/,\n alias: ['rule', 'class-name']\n },\n {\n pattern: /\\b[A-Z]\\w*(?=\\s*:)/,\n alias: ['token', 'constant']\n }\n ],\n constant: /\\b[A-Z][A-Z_]*\\b/,\n operator: /\\.\\.|->|[|~]|[*+?]\\??/,\n punctuation: /[;:()=]/\n }\n Prism.languages.g4 = Prism.languages.antlr4\n}\n","'use strict'\n\nmodule.exports = apacheconf\napacheconf.displayName = 'apacheconf'\napacheconf.aliases = []\nfunction apacheconf(Prism) {\n Prism.languages.apacheconf = {\n comment: /#.*/,\n 'directive-inline': {\n pattern:\n /(^[\\t ]*)\\b(?:AcceptFilter|AcceptPathInfo|AccessFileName|Action|Add(?:Alt|AltByEncoding|AltByType|Charset|DefaultCharset|Description|Encoding|Handler|Icon|IconByEncoding|IconByType|InputFilter|Language|ModuleInfo|OutputFilter|OutputFilterByType|Type)|Alias|AliasMatch|Allow(?:CONNECT|EncodedSlashes|Methods|Override|OverrideList)?|Anonymous(?:_LogEmail|_MustGiveEmail|_NoUserID|_VerifyEmail)?|AsyncRequestWorkerFactor|Auth(?:BasicAuthoritative|BasicFake|BasicProvider|BasicUseDigestAlgorithm|DBDUserPWQuery|DBDUserRealmQuery|DBMGroupFile|DBMType|DBMUserFile|Digest(?:Algorithm|Domain|NonceLifetime|Provider|Qop|ShmemSize)|Form(?:Authoritative|Body|DisableNoStore|FakeBasicAuth|Location|LoginRequiredLocation|LoginSuccessLocation|LogoutLocation|Method|Mimetype|Password|Provider|SitePassphrase|Size|Username)|GroupFile|LDAP(?:AuthorizePrefix|BindAuthoritative|BindDN|BindPassword|CharsetConfig|CompareAsUser|CompareDNOnServer|DereferenceAliases|GroupAttribute|GroupAttributeIsDN|InitialBindAsUser|InitialBindPattern|MaxSubGroupDepth|RemoteUserAttribute|RemoteUserIsDN|SearchAsUser|SubGroupAttribute|SubGroupClass|Url)|Merging|Name|nCache(?:Context|Enable|ProvideFor|SOCache|Timeout)|nzFcgiCheckAuthnProvider|nzFcgiDefineProvider|Type|UserFile|zDBDLoginToReferer|zDBDQuery|zDBDRedirectQuery|zDBMType|zSendForbiddenOnFailure)|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferedLogs|BufferSize|Cache(?:DefaultExpire|DetailHeader|DirLength|DirLevels|Disable|Enable|File|Header|IgnoreCacheControl|IgnoreHeaders|IgnoreNoLastMod|IgnoreQueryString|IgnoreURLSessionIdentifiers|KeyBaseURL|LastModifiedFactor|Lock|LockMaxAge|LockPath|MaxExpire|MaxFileSize|MinExpire|MinFileSize|NegotiatedDocs|QuickHandler|ReadSize|ReadTime|Root|Socache(?:MaxSize|MaxTime|MinTime|ReadSize|ReadTime)?|StaleOnError|StoreExpired|StoreNoStore|StorePrivate)|CGIDScriptTimeout|CGIMapExtension|CharsetDefault|CharsetOptions|CharsetSourceEnc|CheckCaseOnly|CheckSpelling|ChrootDir|ContentDigest|CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking|CoreDumpDirectory|CustomLog|Dav|DavDepthInfinity|DavGenericLockDB|DavLockDB|DavMinTimeout|DBDExptime|DBDInitSQL|DBDKeep|DBDMax|DBDMin|DBDParams|DBDPersist|DBDPrepareSQL|DBDriver|DefaultIcon|DefaultLanguage|DefaultRuntimeDir|DefaultType|Define|Deflate(?:BufferSize|CompressionLevel|FilterNote|InflateLimitRequestBody|InflateRatio(?:Burst|Limit)|MemLevel|WindowSize)|Deny|DirectoryCheckHandler|DirectoryIndex|DirectoryIndexRedirect|DirectorySlash|DocumentRoot|DTracePrivileges|DumpIOInput|DumpIOOutput|EnableExceptionHook|EnableMMAP|EnableSendfile|Error|ErrorDocument|ErrorLog|ErrorLogFormat|Example|ExpiresActive|ExpiresByType|ExpiresDefault|ExtendedStatus|ExtFilterDefine|ExtFilterOptions|FallbackResource|FileETag|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace|ForceLanguagePriority|ForceType|ForensicLog|GprofDir|GracefulShutdownTimeout|Group|Header|HeaderName|Heartbeat(?:Address|Listen|MaxServers|Storage)|HostnameLookups|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|Index(?:HeadInsert|Ignore|IgnoreReset|Options|OrderDefault|StyleSheet)|InputSed|ISAPI(?:AppendLogToErrors|AppendLogToQuery|CacheFile|FakeAsync|LogNotSupported|ReadAheadBuffer)|KeepAlive|KeepAliveTimeout|KeptBodySize|LanguagePriority|LDAP(?:CacheEntries|CacheTTL|ConnectionPoolTTL|ConnectionTimeout|LibraryDebug|OpCacheEntries|OpCacheTTL|ReferralHopLimit|Referrals|Retries|RetryDelay|SharedCacheFile|SharedCacheSize|Timeout|TrustedClientCert|TrustedGlobalCert|TrustedMode|VerifyServerCert)|Limit(?:InternalRecursion|Request(?:Body|Fields|FieldSize|Line)|XMLRequestBody)|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|Lua(?:Hook(?:AccessChecker|AuthChecker|CheckUserID|Fixups|InsertFilter|Log|MapToStorage|TranslateName|TypeChecker)|Inherit|InputFilter|MapHandler|OutputFilter|PackageCPath|PackagePath|QuickHandler|Root|Scope)|Max(?:ConnectionsPerChild|KeepAliveRequests|MemFree|RangeOverlaps|RangeReversals|Ranges|RequestWorkers|SpareServers|SpareThreads|Threads)|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|MMapFile|ModemStandard|ModMimeUsePathInfo|MultiviewsMatch|Mutex|NameVirtualHost|NoProxy|NWSSLTrustedCerts|NWSSLUpgradeable|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|Proxy(?:AddHeaders|BadHeader|Block|Domain|ErrorOverride|ExpressDBMFile|ExpressDBMType|ExpressEnable|FtpDirCharset|FtpEscapeWildcards|FtpListOnWildcard|HTML(?:BufSize|CharsetOut|DocType|Enable|Events|Extended|Fixups|Interp|Links|Meta|StripComments|URLMap)|IOBufferSize|MaxForwards|Pass(?:Inherit|InterpolateEnv|Match|Reverse|ReverseCookieDomain|ReverseCookiePath)?|PreserveHost|ReceiveBufferSize|Remote|RemoteMatch|Requests|SCGIInternalRedirect|SCGISendfile|Set|SourceAddress|Status|Timeout|Via)|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIP(?:Header|InternalProxy|InternalProxyList|ProxiesHeader|TrustedProxy|TrustedProxyList)|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|Rewrite(?:Base|Cond|Engine|Map|Options|Rule)|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScoreBoardFile|Script(?:Alias|AliasMatch|InterpreterSource|Log|LogBuffer|LogLength|Sock)?|SecureListen|SeeRequestTail|SendBufferSize|Server(?:Admin|Alias|Limit|Name|Path|Root|Signature|Tokens)|Session(?:Cookie(?:Name|Name2|Remove)|Crypto(?:Cipher|Driver|Passphrase|PassphraseFile)|DBD(?:CookieName|CookieName2|CookieRemove|DeleteLabel|InsertLabel|PerUser|SelectLabel|UpdateLabel)|Env|Exclude|Header|Include|MaxAge)?|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|SSIEndTag|SSIErrorMsg|SSIETag|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSL(?:CACertificateFile|CACertificatePath|CADNRequestFile|CADNRequestPath|CARevocationCheck|CARevocationFile|CARevocationPath|CertificateChainFile|CertificateFile|CertificateKeyFile|CipherSuite|Compression|CryptoDevice|Engine|FIPS|HonorCipherOrder|InsecureRenegotiation|OCSP(?:DefaultResponder|Enable|OverrideResponder|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|UseRequestNonce)|OpenSSLConfCmd|Options|PassPhraseDialog|Protocol|Proxy(?:CACertificateFile|CACertificatePath|CARevocation(?:Check|File|Path)|CheckPeer(?:CN|Expire|Name)|CipherSuite|Engine|MachineCertificate(?:ChainFile|File|Path)|Protocol|Verify|VerifyDepth)|RandomSeed|RenegBufferSize|Require|RequireSSL|Session(?:Cache|CacheTimeout|TicketKeyFile|Tickets)|SRPUnknownUserSeed|SRPVerifierFile|Stapling(?:Cache|ErrorCacheTimeout|FakeTryLater|ForceURL|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|ReturnResponderErrors|StandardCacheTimeout)|StrictSNIVHostCheck|UserName|UseStapling|VerifyClient|VerifyDepth)|StartServers|StartThreads|Substitute|Suexec|SuexecUserGroup|ThreadLimit|ThreadsPerChild|ThreadStackSize|TimeOut|TraceEnable|TransferLog|TypesConfig|UnDefine|UndefMacro|UnsetEnv|Use|UseCanonicalName|UseCanonicalPhysicalPort|User|UserDir|VHostCGIMode|VHostCGIPrivs|VHostGroup|VHostPrivs|VHostSecure|VHostUser|Virtual(?:DocumentRoot|ScriptAlias)(?:IP)?|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\\b/im,\n lookbehind: true,\n alias: 'property'\n },\n 'directive-block': {\n pattern:\n /<\\/?\\b(?:Auth[nz]ProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|Require(?:All|Any|None)|VirtualHost)\\b.*>/i,\n inside: {\n 'directive-block': {\n pattern: /^<\\/?\\w+/,\n inside: {\n punctuation: /^<\\/?/\n },\n alias: 'tag'\n },\n 'directive-block-parameter': {\n pattern: /.*[^>]/,\n inside: {\n punctuation: /:/,\n string: {\n pattern: /(\"|').*\\1/,\n inside: {\n variable: /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/\n }\n }\n },\n alias: 'attr-value'\n },\n punctuation: />/\n },\n alias: 'tag'\n },\n 'directive-flags': {\n pattern: /\\[(?:[\\w=],?)+\\]/,\n alias: 'keyword'\n },\n string: {\n pattern: /(\"|').*\\1/,\n inside: {\n variable: /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/\n }\n },\n variable: /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/,\n regex: /\\^?.*\\$|\\^.*\\$?/\n }\n}\n","'use strict'\nvar refractorSql = require('./sql.js')\nmodule.exports = apex\napex.displayName = 'apex'\napex.aliases = []\nfunction apex(Prism) {\n Prism.register(refractorSql)\n ;(function (Prism) {\n var keywords =\n /\\b(?:(?:after|before)(?=\\s+[a-z])|abstract|activate|and|any|array|as|asc|autonomous|begin|bigdecimal|blob|boolean|break|bulk|by|byte|case|cast|catch|char|class|collect|commit|const|continue|currency|date|datetime|decimal|default|delete|desc|do|double|else|end|enum|exception|exit|export|extends|final|finally|float|for|from|get(?=\\s*[{};])|global|goto|group|having|hint|if|implements|import|in|inner|insert|instanceof|int|integer|interface|into|join|like|limit|list|long|loop|map|merge|new|not|null|nulls|number|object|of|on|or|outer|override|package|parallel|pragma|private|protected|public|retrieve|return|rollback|select|set|short|sObject|sort|static|string|super|switch|synchronized|system|testmethod|then|this|throw|time|transaction|transient|trigger|try|undelete|update|upsert|using|virtual|void|webservice|when|where|while|(?:inherited|with|without)\\s+sharing)\\b/i\n var className =\n /\\b(?:(?=[a-z_]\\w*\\s*[<\\[])|(?!<keyword>))[A-Z_]\\w*(?:\\s*\\.\\s*[A-Z_]\\w*)*\\b(?:\\s*(?:\\[\\s*\\]|<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>))*/.source.replace(\n /<keyword>/g,\n function () {\n return keywords.source\n }\n )\n /** @param {string} pattern */\n function insertClassName(pattern) {\n return RegExp(\n pattern.replace(/<CLASS-NAME>/g, function () {\n return className\n }),\n 'i'\n )\n }\n var classNameInside = {\n keyword: keywords,\n punctuation: /[()\\[\\]{};,:.<>]/\n }\n Prism.languages.apex = {\n comment: Prism.languages.clike.comment,\n string: Prism.languages.clike.string,\n sql: {\n pattern: /((?:[=,({:]|\\breturn)\\s*)\\[[^\\[\\]]*\\]/i,\n lookbehind: true,\n greedy: true,\n alias: 'language-sql',\n inside: Prism.languages.sql\n },\n annotation: {\n pattern: /@\\w+\\b/,\n alias: 'punctuation'\n },\n 'class-name': [\n {\n pattern: insertClassName(\n /(\\b(?:class|enum|extends|implements|instanceof|interface|new|trigger\\s+\\w+\\s+on)\\s+)<CLASS-NAME>/\n .source\n ),\n lookbehind: true,\n inside: classNameInside\n },\n {\n // cast\n pattern: insertClassName(\n /(\\(\\s*)<CLASS-NAME>(?=\\s*\\)\\s*[\\w(])/.source\n ),\n lookbehind: true,\n inside: classNameInside\n },\n {\n // variable/parameter declaration and return types\n pattern: insertClassName(/<CLASS-NAME>(?=\\s*\\w+\\s*[;=,(){:])/.source),\n inside: classNameInside\n }\n ],\n trigger: {\n pattern: /(\\btrigger\\s+)\\w+\\b/i,\n lookbehind: true,\n alias: 'class-name'\n },\n keyword: keywords,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n boolean: /\\b(?:false|true)\\b/i,\n number: /(?:\\B\\.\\d+|\\b\\d+(?:\\.\\d+|L)?)\\b/i,\n operator:\n /[!=](?:==?)?|\\?\\.?|&&|\\|\\||--|\\+\\+|[-+*/^&|]=?|:|<<?=?|>{1,3}=?/,\n punctuation: /[()\\[\\]{};,.]/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = apl\napl.displayName = 'apl'\napl.aliases = []\nfunction apl(Prism) {\n Prism.languages.apl = {\n comment: /(?:⍝|#[! ]).*$/m,\n string: {\n pattern: /'(?:[^'\\r\\n]|'')*'/,\n greedy: true\n },\n number:\n /¯?(?:\\d*\\.?\\b\\d+(?:e[+¯]?\\d+)?|¯|∞)(?:j¯?(?:(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:e[+¯]?\\d+)?|¯|∞))?/i,\n statement: /:[A-Z][a-z][A-Za-z]*\\b/,\n 'system-function': {\n pattern: /⎕[A-Z]+/i,\n alias: 'function'\n },\n constant: /[⍬⌾#⎕⍞]/,\n function: /[-+×÷⌈⌊∣|⍳⍸?*⍟○!⌹<≤=>≥≠≡≢∊⍷∪∩~∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⊆⊇⌷⍋⍒⊤⊥⍕⍎⊣⊢⍁⍂≈⍯↗¤→]/,\n 'monadic-operator': {\n pattern: /[\\\\\\/⌿⍀¨⍨⌶&∥]/,\n alias: 'operator'\n },\n 'dyadic-operator': {\n pattern: /[.⍣⍠⍤∘⌸@⌺⍥]/,\n alias: 'operator'\n },\n assignment: {\n pattern: /←/,\n alias: 'keyword'\n },\n punctuation: /[\\[;\\]()◇⋄]/,\n dfn: {\n pattern: /[{}⍺⍵⍶⍹∇⍫:]/,\n alias: 'builtin'\n }\n }\n}\n","'use strict'\n\nmodule.exports = applescript\napplescript.displayName = 'applescript'\napplescript.aliases = []\nfunction applescript(Prism) {\n Prism.languages.applescript = {\n comment: [\n // Allow one level of nesting\n /\\(\\*(?:\\(\\*(?:[^*]|\\*(?!\\)))*\\*\\)|(?!\\(\\*)[\\s\\S])*?\\*\\)/,\n /--.+/,\n /#.+/\n ],\n string: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n number: /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e-?\\d+)?\\b/i,\n operator: [\n /[&=≠≤≥*+\\-\\/÷^]|[<>]=?/,\n /\\b(?:(?:begin|end|start)s? with|(?:contains?|(?:does not|doesn't) contain)|(?:is|isn't|is not) (?:contained by|in)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:comes|(?:does not|doesn't) come) (?:after|before)|(?:is|isn't|is not) equal(?: to)?|(?:(?:does not|doesn't) equal|equal to|equals|is not|isn't)|(?:a )?(?:ref(?: to)?|reference to)|(?:and|as|div|mod|not|or))\\b/\n ],\n keyword:\n /\\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\\b/,\n 'class-name':\n /\\b(?:POSIX file|RGB color|alias|application|boolean|centimeters|centimetres|class|constant|cubic centimeters|cubic centimetres|cubic feet|cubic inches|cubic meters|cubic metres|cubic yards|date|degrees Celsius|degrees Fahrenheit|degrees Kelvin|feet|file|gallons|grams|inches|integer|kilograms|kilometers|kilometres|list|liters|litres|meters|metres|miles|number|ounces|pounds|quarts|real|record|reference|script|square feet|square kilometers|square kilometres|square meters|square metres|square miles|square yards|text|yards)\\b/,\n punctuation: /[{}():,¬«»《》]/\n }\n}\n","'use strict'\n\nmodule.exports = aql\naql.displayName = 'aql'\naql.aliases = []\nfunction aql(Prism) {\n Prism.languages.aql = {\n comment: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n property: {\n pattern:\n /([{,]\\s*)(?:(?!\\d)\\w+|([\"'´`])(?:(?!\\2)[^\\\\\\r\\n]|\\\\.)*\\2)(?=\\s*:)/,\n lookbehind: true,\n greedy: true\n },\n string: {\n pattern: /([\"'])(?:(?!\\1)[^\\\\\\r\\n]|\\\\.)*\\1/,\n greedy: true\n },\n identifier: {\n pattern: /([´`])(?:(?!\\1)[^\\\\\\r\\n]|\\\\.)*\\1/,\n greedy: true\n },\n variable: /@@?\\w+/,\n keyword: [\n {\n pattern: /(\\bWITH\\s+)COUNT(?=\\s+INTO\\b)/i,\n lookbehind: true\n },\n /\\b(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_PATHS|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WINDOW|WITH)\\b/i, // pseudo keywords get a lookbehind to avoid false positives\n {\n pattern: /(^|[^\\w.[])(?:KEEP|PRUNE|SEARCH|TO)\\b/i,\n lookbehind: true\n },\n {\n pattern: /(^|[^\\w.[])(?:CURRENT|NEW|OLD)\\b/,\n lookbehind: true\n },\n {\n pattern: /\\bOPTIONS(?=\\s*\\{)/i\n }\n ],\n function: /\\b(?!\\d)\\w+(?=\\s*\\()/,\n boolean: /\\b(?:false|true)\\b/i,\n range: {\n pattern: /\\.\\./,\n alias: 'operator'\n },\n number: [\n /\\b0b[01]+/i,\n /\\b0x[0-9a-f]+/i,\n /(?:\\B\\.\\d+|\\b(?:0|[1-9]\\d*)(?:\\.\\d+)?)(?:e[+-]?\\d+)?/i\n ],\n operator: /\\*{2,}|[=!]~|[!=<>]=?|&&|\\|\\||[-+*/%]/,\n punctuation: /::|[?.:,;()[\\]{}]/\n }\n}\n","'use strict'\nvar refractorCpp = require('./cpp.js')\nmodule.exports = arduino\narduino.displayName = 'arduino'\narduino.aliases = ['ino']\nfunction arduino(Prism) {\n Prism.register(refractorCpp)\n Prism.languages.arduino = Prism.languages.extend('cpp', {\n keyword:\n /\\b(?:String|array|bool|boolean|break|byte|case|catch|continue|default|do|double|else|finally|for|function|goto|if|in|instanceof|int|integer|long|loop|new|null|return|setup|string|switch|throw|try|void|while|word)\\b/,\n constant:\n /\\b(?:ANALOG_MESSAGE|DEFAULT|DIGITAL_MESSAGE|EXTERNAL|FIRMATA_STRING|HIGH|INPUT|INPUT_PULLUP|INTERNAL|INTERNAL1V1|INTERNAL2V56|LED_BUILTIN|LOW|OUTPUT|REPORT_ANALOG|REPORT_DIGITAL|SET_PIN_MODE|SYSEX_START|SYSTEM_RESET)\\b/,\n builtin:\n /\\b(?:Audio|BSSID|Bridge|Client|Console|EEPROM|Esplora|EsploraTFT|Ethernet|EthernetClient|EthernetServer|EthernetUDP|File|FileIO|FileSystem|Firmata|GPRS|GSM|GSMBand|GSMClient|GSMModem|GSMPIN|GSMScanner|GSMServer|GSMVoiceCall|GSM_SMS|HttpClient|IPAddress|IRread|Keyboard|KeyboardController|LiquidCrystal|LiquidCrystal_I2C|Mailbox|Mouse|MouseController|PImage|Process|RSSI|RobotControl|RobotMotor|SD|SPI|SSID|Scheduler|Serial|Server|Servo|SoftwareSerial|Stepper|Stream|TFT|Task|USBHost|WiFi|WiFiClient|WiFiServer|WiFiUDP|Wire|YunClient|YunServer|abs|addParameter|analogRead|analogReadResolution|analogReference|analogWrite|analogWriteResolution|answerCall|attach|attachGPRS|attachInterrupt|attached|autoscroll|available|background|beep|begin|beginPacket|beginSD|beginSMS|beginSpeaker|beginTFT|beginTransmission|beginWrite|bit|bitClear|bitRead|bitSet|bitWrite|blink|blinkVersion|buffer|changePIN|checkPIN|checkPUK|checkReg|circle|cityNameRead|cityNameWrite|clear|clearScreen|click|close|compassRead|config|connect|connected|constrain|cos|countryNameRead|countryNameWrite|createChar|cursor|debugPrint|delay|delayMicroseconds|detach|detachInterrupt|digitalRead|digitalWrite|disconnect|display|displayLogos|drawBMP|drawCompass|encryptionType|end|endPacket|endSMS|endTransmission|endWrite|exists|exitValue|fill|find|findUntil|flush|gatewayIP|get|getAsynchronously|getBand|getButton|getCurrentCarrier|getIMEI|getKey|getModifiers|getOemKey|getPINUsed|getResult|getSignalStrength|getSocket|getVoiceCallStatus|getXChange|getYChange|hangCall|height|highByte|home|image|interrupts|isActionDone|isDirectory|isListening|isPIN|isPressed|isValid|keyPressed|keyReleased|keyboardRead|knobRead|leftToRight|line|lineFollowConfig|listen|listenOnLocalhost|loadImage|localIP|lowByte|macAddress|maintain|map|max|messageAvailable|micros|millis|min|mkdir|motorsStop|motorsWrite|mouseDragged|mouseMoved|mousePressed|mouseReleased|move|noAutoscroll|noBlink|noBuffer|noCursor|noDisplay|noFill|noInterrupts|noListenOnLocalhost|noStroke|noTone|onReceive|onRequest|open|openNextFile|overflow|parseCommand|parseFloat|parseInt|parsePacket|pauseMode|peek|pinMode|playFile|playMelody|point|pointTo|position|pow|prepare|press|print|printFirmwareVersion|printVersion|println|process|processInput|pulseIn|put|random|randomSeed|read|readAccelerometer|readBlue|readButton|readBytes|readBytesUntil|readGreen|readJoystickButton|readJoystickSwitch|readJoystickX|readJoystickY|readLightSensor|readMessage|readMicrophone|readNetworks|readRed|readSlider|readString|readStringUntil|readTemperature|ready|rect|release|releaseAll|remoteIP|remoteNumber|remotePort|remove|requestFrom|retrieveCallingNumber|rewindDirectory|rightToLeft|rmdir|robotNameRead|robotNameWrite|run|runAsynchronously|runShellCommand|runShellCommandAsynchronously|running|scanNetworks|scrollDisplayLeft|scrollDisplayRight|seek|sendAnalog|sendDigitalPortPair|sendDigitalPorts|sendString|sendSysex|serialEvent|setBand|setBitOrder|setClockDivider|setCursor|setDNS|setDataMode|setFirmwareVersion|setMode|setPINUsed|setSpeed|setTextSize|setTimeout|shiftIn|shiftOut|shutdown|sin|size|sqrt|startLoop|step|stop|stroke|subnetMask|switchPIN|tan|tempoWrite|text|tone|transfer|tuneWrite|turn|updateIR|userNameRead|userNameWrite|voiceCall|waitContinue|width|write|writeBlue|writeGreen|writeJSON|writeMessage|writeMicroseconds|writeRGB|writeRed|yield)\\b/\n })\n Prism.languages.ino = Prism.languages.arduino\n}\n","'use strict'\n\nmodule.exports = arff\narff.displayName = 'arff'\narff.aliases = []\nfunction arff(Prism) {\n Prism.languages.arff = {\n comment: /%.*/,\n string: {\n pattern: /([\"'])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n keyword: /@(?:attribute|data|end|relation)\\b/i,\n number: /\\b\\d+(?:\\.\\d+)?\\b/,\n punctuation: /[{},]/\n }\n}\n","'use strict'\n\nmodule.exports = asciidoc\nasciidoc.displayName = 'asciidoc'\nasciidoc.aliases = ['adoc']\nfunction asciidoc(Prism) {\n ;(function (Prism) {\n var attributes = {\n pattern:\n /(^[ \\t]*)\\[(?!\\[)(?:([\"'$`])(?:(?!\\2)[^\\\\]|\\\\.)*\\2|\\[(?:[^\\[\\]\\\\]|\\\\.)*\\]|[^\\[\\]\\\\\"'$`]|\\\\.)*\\]/m,\n lookbehind: true,\n inside: {\n quoted: {\n pattern: /([$`])(?:(?!\\1)[^\\\\]|\\\\.)*\\1/,\n inside: {\n punctuation: /^[$`]|[$`]$/\n }\n },\n interpreted: {\n pattern: /'(?:[^'\\\\]|\\\\.)*'/,\n inside: {\n punctuation: /^'|'$/ // See rest below\n }\n },\n string: /\"(?:[^\"\\\\]|\\\\.)*\"/,\n variable: /\\w+(?==)/,\n punctuation: /^\\[|\\]$|,/,\n operator: /=/,\n // The negative look-ahead prevents blank matches\n 'attr-value': /(?!^\\s+$).+/\n }\n }\n var asciidoc = (Prism.languages.asciidoc = {\n 'comment-block': {\n pattern: /^(\\/{4,})(?:\\r?\\n|\\r)(?:[\\s\\S]*(?:\\r?\\n|\\r))??\\1/m,\n alias: 'comment'\n },\n table: {\n pattern: /^\\|={3,}(?:(?:\\r?\\n|\\r(?!\\n)).*)*?(?:\\r?\\n|\\r)\\|={3,}$/m,\n inside: {\n specifiers: {\n pattern:\n /(?:(?:(?:\\d+(?:\\.\\d+)?|\\.\\d+)[+*](?:[<^>](?:\\.[<^>])?|\\.[<^>])?|[<^>](?:\\.[<^>])?|\\.[<^>])[a-z]*|[a-z]+)(?=\\|)/,\n alias: 'attr-value'\n },\n punctuation: {\n pattern: /(^|[^\\\\])[|!]=*/,\n lookbehind: true\n } // See rest below\n }\n },\n 'passthrough-block': {\n pattern: /^(\\+{4,})(?:\\r?\\n|\\r)(?:[\\s\\S]*(?:\\r?\\n|\\r))??\\1$/m,\n inside: {\n punctuation: /^\\++|\\++$/ // See rest below\n }\n },\n // Literal blocks and listing blocks\n 'literal-block': {\n pattern: /^(-{4,}|\\.{4,})(?:\\r?\\n|\\r)(?:[\\s\\S]*(?:\\r?\\n|\\r))??\\1$/m,\n inside: {\n punctuation: /^(?:-+|\\.+)|(?:-+|\\.+)$/ // See rest below\n }\n },\n // Sidebar blocks, quote blocks, example blocks and open blocks\n 'other-block': {\n pattern:\n /^(--|\\*{4,}|_{4,}|={4,})(?:\\r?\\n|\\r)(?:[\\s\\S]*(?:\\r?\\n|\\r))??\\1$/m,\n inside: {\n punctuation: /^(?:-+|\\*+|_+|=+)|(?:-+|\\*+|_+|=+)$/ // See rest below\n }\n },\n // list-punctuation and list-label must appear before indented-block\n 'list-punctuation': {\n pattern:\n /(^[ \\t]*)(?:-|\\*{1,5}|\\.{1,5}|(?:[a-z]|\\d+)\\.|[xvi]+\\))(?= )/im,\n lookbehind: true,\n alias: 'punctuation'\n },\n 'list-label': {\n pattern: /(^[ \\t]*)[a-z\\d].+(?::{2,4}|;;)(?=\\s)/im,\n lookbehind: true,\n alias: 'symbol'\n },\n 'indented-block': {\n pattern: /((\\r?\\n|\\r)\\2)([ \\t]+)\\S.*(?:(?:\\r?\\n|\\r)\\3.+)*(?=\\2{2}|$)/,\n lookbehind: true\n },\n comment: /^\\/\\/.*/m,\n title: {\n pattern:\n /^.+(?:\\r?\\n|\\r)(?:={3,}|-{3,}|~{3,}|\\^{3,}|\\+{3,})$|^={1,5} .+|^\\.(?![\\s.]).*/m,\n alias: 'important',\n inside: {\n punctuation: /^(?:\\.|=+)|(?:=+|-+|~+|\\^+|\\++)$/ // See rest below\n }\n },\n 'attribute-entry': {\n pattern: /^:[^:\\r\\n]+:(?: .*?(?: \\+(?:\\r?\\n|\\r).*?)*)?$/m,\n alias: 'tag'\n },\n attributes: attributes,\n hr: {\n pattern: /^'{3,}$/m,\n alias: 'punctuation'\n },\n 'page-break': {\n pattern: /^<{3,}$/m,\n alias: 'punctuation'\n },\n admonition: {\n pattern: /^(?:CAUTION|IMPORTANT|NOTE|TIP|WARNING):/m,\n alias: 'keyword'\n },\n callout: [\n {\n pattern: /(^[ \\t]*)<?\\d*>/m,\n lookbehind: true,\n alias: 'symbol'\n },\n {\n pattern: /<\\d+>/,\n alias: 'symbol'\n }\n ],\n macro: {\n pattern:\n /\\b[a-z\\d][a-z\\d-]*::?(?:[^\\s\\[\\]]*\\[(?:[^\\]\\\\\"']|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*\\1|\\\\.)*\\])/,\n inside: {\n function: /^[a-z\\d-]+(?=:)/,\n punctuation: /^::?/,\n attributes: {\n pattern: /(?:\\[(?:[^\\]\\\\\"']|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*\\1|\\\\.)*\\])/,\n inside: attributes.inside\n }\n }\n },\n inline: {\n /*\nThe initial look-behind prevents the highlighting of escaped quoted text.\nQuoted text can be multi-line but cannot span an empty line.\nAll quoted text can have attributes before [foobar, 'foobar', baz=\"bar\"].\nFirst, we handle the constrained quotes.\nThose must be bounded by non-word chars and cannot have spaces between the delimiter and the first char.\nThey are, in order: _emphasis_, ``double quotes'', `single quotes', `monospace`, 'emphasis', *strong*, +monospace+ and #unquoted#\nThen we handle the unconstrained quotes.\nThose do not have the restrictions of the constrained quotes.\nThey are, in order: __emphasis__, **strong**, ++monospace++, +++passthrough+++, ##unquoted##, $$passthrough$$, ~subscript~, ^superscript^, {attribute-reference}, [[anchor]], [[[bibliography anchor]]], <<xref>>, (((indexes))) and ((indexes))\n*/\n pattern:\n /(^|[^\\\\])(?:(?:\\B\\[(?:[^\\]\\\\\"']|([\"'])(?:(?!\\2)[^\\\\]|\\\\.)*\\2|\\\\.)*\\])?(?:\\b_(?!\\s)(?: _|[^_\\\\\\r\\n]|\\\\.)+(?:(?:\\r?\\n|\\r)(?: _|[^_\\\\\\r\\n]|\\\\.)+)*_\\b|\\B``(?!\\s).+?(?:(?:\\r?\\n|\\r).+?)*''\\B|\\B`(?!\\s)(?:[^`'\\s]|\\s+\\S)+['`]\\B|\\B(['*+#])(?!\\s)(?: \\3|(?!\\3)[^\\\\\\r\\n]|\\\\.)+(?:(?:\\r?\\n|\\r)(?: \\3|(?!\\3)[^\\\\\\r\\n]|\\\\.)+)*\\3\\B)|(?:\\[(?:[^\\]\\\\\"']|([\"'])(?:(?!\\4)[^\\\\]|\\\\.)*\\4|\\\\.)*\\])?(?:(__|\\*\\*|\\+\\+\\+?|##|\\$\\$|[~^]).+?(?:(?:\\r?\\n|\\r).+?)*\\5|\\{[^}\\r\\n]+\\}|\\[\\[\\[?.+?(?:(?:\\r?\\n|\\r).+?)*\\]?\\]\\]|<<.+?(?:(?:\\r?\\n|\\r).+?)*>>|\\(\\(\\(?.+?(?:(?:\\r?\\n|\\r).+?)*\\)?\\)\\)))/m,\n lookbehind: true,\n inside: {\n attributes: attributes,\n url: {\n pattern: /^(?:\\[\\[\\[?.+?\\]?\\]\\]|<<.+?>>)$/,\n inside: {\n punctuation: /^(?:\\[\\[\\[?|<<)|(?:\\]\\]\\]?|>>)$/\n }\n },\n 'attribute-ref': {\n pattern: /^\\{.+\\}$/,\n inside: {\n variable: {\n pattern: /(^\\{)[a-z\\d,+_-]+/,\n lookbehind: true\n },\n operator: /^[=?!#%@$]|!(?=[:}])/,\n punctuation: /^\\{|\\}$|::?/\n }\n },\n italic: {\n pattern: /^(['_])[\\s\\S]+\\1$/,\n inside: {\n punctuation: /^(?:''?|__?)|(?:''?|__?)$/\n }\n },\n bold: {\n pattern: /^\\*[\\s\\S]+\\*$/,\n inside: {\n punctuation: /^\\*\\*?|\\*\\*?$/\n }\n },\n punctuation:\n /^(?:``?|\\+{1,3}|##?|\\$\\$|[~^]|\\(\\(\\(?)|(?:''?|\\+{1,3}|##?|\\$\\$|[~^`]|\\)?\\)\\))$/\n }\n },\n replacement: {\n pattern: /\\((?:C|R|TM)\\)/,\n alias: 'builtin'\n },\n entity: /&#?[\\da-z]{1,8};/i,\n 'line-continuation': {\n pattern: /(^| )\\+$/m,\n lookbehind: true,\n alias: 'punctuation'\n }\n }) // Allow some nesting. There is no recursion though, so cloning should not be needed.\n function copyFromAsciiDoc(keys) {\n keys = keys.split(' ')\n var o = {}\n for (var i = 0, l = keys.length; i < l; i++) {\n o[keys[i]] = asciidoc[keys[i]]\n }\n return o\n }\n attributes.inside['interpreted'].inside.rest = copyFromAsciiDoc(\n 'macro inline replacement entity'\n )\n asciidoc['passthrough-block'].inside.rest = copyFromAsciiDoc('macro')\n asciidoc['literal-block'].inside.rest = copyFromAsciiDoc('callout')\n asciidoc['table'].inside.rest = copyFromAsciiDoc(\n 'comment-block passthrough-block literal-block other-block list-punctuation indented-block comment title attribute-entry attributes hr page-break admonition list-label callout macro inline replacement entity line-continuation'\n )\n asciidoc['other-block'].inside.rest = copyFromAsciiDoc(\n 'table list-punctuation indented-block comment attribute-entry attributes hr page-break admonition list-label macro inline replacement entity line-continuation'\n )\n asciidoc['title'].inside.rest = copyFromAsciiDoc(\n 'macro inline replacement entity'\n ) // Plugin to make entity title show the real entity, idea by Roman Komarov\n Prism.hooks.add('wrap', function (env) {\n if (env.type === 'entity') {\n env.attributes['title'] = env.content.value.replace(/&/, '&')\n }\n })\n Prism.languages.adoc = Prism.languages.asciidoc\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = asm6502\nasm6502.displayName = 'asm6502'\nasm6502.aliases = []\nfunction asm6502(Prism) {\n Prism.languages.asm6502 = {\n comment: /;.*/,\n directive: {\n pattern: /\\.\\w+(?= )/,\n alias: 'property'\n },\n string: /([\"'`])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n 'op-code': {\n pattern:\n /\\b(?:ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA|adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya)\\b/,\n alias: 'keyword'\n },\n 'hex-number': {\n pattern: /#?\\$[\\da-f]{1,4}\\b/i,\n alias: 'number'\n },\n 'binary-number': {\n pattern: /#?%[01]+\\b/,\n alias: 'number'\n },\n 'decimal-number': {\n pattern: /#?\\b\\d+\\b/,\n alias: 'number'\n },\n register: {\n pattern: /\\b[xya]\\b/i,\n alias: 'variable'\n },\n punctuation: /[(),:]/\n }\n}\n","'use strict'\n\nmodule.exports = asmatmel\nasmatmel.displayName = 'asmatmel'\nasmatmel.aliases = []\nfunction asmatmel(Prism) {\n Prism.languages.asmatmel = {\n comment: {\n pattern: /;.*/,\n greedy: true\n },\n string: {\n pattern: /([\"'`])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n constant: /\\b(?:PORT[A-Z]|DDR[A-Z]|(?:DD|P)[A-Z](?:\\d|[0-2]\\d|3[01]))\\b/,\n directive: {\n pattern: /\\.\\w+(?= )/,\n alias: 'property'\n },\n 'r-register': {\n pattern: /\\br(?:\\d|[12]\\d|3[01])\\b/,\n alias: 'variable'\n },\n 'op-code': {\n pattern:\n /\\b(?:ADC|ADD|ADIW|AND|ANDI|ASR|BCLR|BLD|BRBC|BRBS|BRCC|BRCS|BREAK|BREQ|BRGE|BRHC|BRHS|BRID|BRIE|BRLO|BRLT|BRMI|BRNE|BRPL|BRSH|BRTC|BRTS|BRVC|BRVS|BSET|BST|CALL|CBI|CBR|CLC|CLH|CLI|CLN|CLR|CLS|CLT|CLV|CLZ|COM|CP|CPC|CPI|CPSE|DEC|DES|EICALL|EIJMP|ELPM|EOR|FMUL|FMULS|FMULSU|ICALL|IJMP|IN|INC|JMP|LAC|LAS|LAT|LD|LD[A-Za-z0-9]|LPM|LSL|LSR|MOV|MOVW|MUL|MULS|MULSU|NEG|NOP|OR|ORI|OUT|POP|PUSH|RCALL|RET|RETI|RJMP|ROL|ROR|SBC|SBCI|SBI|SBIC|SBIS|SBIW|SBR|SBRC|SBRS|SEC|SEH|SEI|SEN|SER|SES|SET|SEV|SEZ|SLEEP|SPM|ST|ST[A-Z0-9]|SUB|SUBI|SWAP|TST|WDR|XCH|adc|add|adiw|and|andi|asr|bclr|bld|brbc|brbs|brcc|brcs|break|breq|brge|brhc|brhs|brid|brie|brlo|brlt|brmi|brne|brpl|brsh|brtc|brts|brvc|brvs|bset|bst|call|cbi|cbr|clc|clh|cli|cln|clr|cls|clt|clv|clz|com|cp|cpc|cpi|cpse|dec|des|eicall|eijmp|elpm|eor|fmul|fmuls|fmulsu|icall|ijmp|in|inc|jmp|lac|las|lat|ld|ld[a-z0-9]|lpm|lsl|lsr|mov|movw|mul|muls|mulsu|neg|nop|or|ori|out|pop|push|rcall|ret|reti|rjmp|rol|ror|sbc|sbci|sbi|sbic|sbis|sbiw|sbr|sbrc|sbrs|sec|seh|sei|sen|ser|ses|set|sev|sez|sleep|spm|st|st[a-zA-Z0-9]|sub|subi|swap|tst|wdr|xch)\\b/,\n alias: 'keyword'\n },\n 'hex-number': {\n pattern: /#?\\$[\\da-f]{2,4}\\b/i,\n alias: 'number'\n },\n 'binary-number': {\n pattern: /#?%[01]+\\b/,\n alias: 'number'\n },\n 'decimal-number': {\n pattern: /#?\\b\\d+\\b/,\n alias: 'number'\n },\n register: {\n pattern: /\\b[acznvshtixy]\\b/i,\n alias: 'variable'\n },\n operator: />>=?|<<=?|&&?|\\|\\|?|[-+*/%&|^!=<>?]=?/,\n punctuation: /[(),:]/\n }\n}\n","'use strict'\nvar refractorCsharp = require('./csharp.js')\nmodule.exports = aspnet\naspnet.displayName = 'aspnet'\naspnet.aliases = []\nfunction aspnet(Prism) {\n Prism.register(refractorCsharp)\n Prism.languages.aspnet = Prism.languages.extend('markup', {\n 'page-directive': {\n pattern: /<%\\s*@.*%>/,\n alias: 'tag',\n inside: {\n 'page-directive': {\n pattern:\n /<%\\s*@\\s*(?:Assembly|Control|Implements|Import|Master(?:Type)?|OutputCache|Page|PreviousPageType|Reference|Register)?|%>/i,\n alias: 'tag'\n },\n rest: Prism.languages.markup.tag.inside\n }\n },\n directive: {\n pattern: /<%.*%>/,\n alias: 'tag',\n inside: {\n directive: {\n pattern: /<%\\s*?[$=%#:]{0,2}|%>/,\n alias: 'tag'\n },\n rest: Prism.languages.csharp\n }\n }\n }) // Regexp copied from prism-markup, with a negative look-ahead added\n Prism.languages.aspnet.tag.pattern =\n /<(?!%)\\/?[^\\s>\\/]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/ // match directives of attribute value foo=\"<% Bar %>\"\n Prism.languages.insertBefore(\n 'inside',\n 'punctuation',\n {\n directive: Prism.languages.aspnet['directive']\n },\n Prism.languages.aspnet.tag.inside['attr-value']\n )\n Prism.languages.insertBefore('aspnet', 'comment', {\n 'asp-comment': {\n pattern: /<%--[\\s\\S]*?--%>/,\n alias: ['asp', 'comment']\n }\n }) // script runat=\"server\" contains csharp, not javascript\n Prism.languages.insertBefore(\n 'aspnet',\n Prism.languages.javascript ? 'script' : 'tag',\n {\n 'asp-script': {\n pattern:\n /(<script(?=.*runat=['\"]?server\\b)[^>]*>)[\\s\\S]*?(?=<\\/script>)/i,\n lookbehind: true,\n alias: ['asp', 'script'],\n inside: Prism.languages.csharp || {}\n }\n }\n )\n}\n","'use strict'\n\nmodule.exports = autohotkey\nautohotkey.displayName = 'autohotkey'\nautohotkey.aliases = []\nfunction autohotkey(Prism) {\n // NOTES - follows first-first highlight method, block is locked after highlight, different from SyntaxHl\n Prism.languages.autohotkey = {\n comment: [\n {\n pattern: /(^|\\s);.*/,\n lookbehind: true\n },\n {\n pattern:\n /(^[\\t ]*)\\/\\*(?:[\\r\\n](?![ \\t]*\\*\\/)|[^\\r\\n])*(?:[\\r\\n][ \\t]*\\*\\/)?/m,\n lookbehind: true,\n greedy: true\n }\n ],\n tag: {\n // labels\n pattern: /^([ \\t]*)[^\\s,`\":]+(?=:[ \\t]*$)/m,\n lookbehind: true\n },\n string: /\"(?:[^\"\\n\\r]|\"\")*\"/,\n variable: /%\\w+%/,\n number: /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,\n operator:\n /\\?|\\/\\/?=?|:=|\\|[=|]?|&[=&]?|\\+[=+]?|-[=-]?|\\*[=*]?|<(?:<=?|>|=)?|>>?=?|[.^!=~]=?|\\b(?:AND|NOT|OR)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n selector:\n /\\b(?:AutoTrim|BlockInput|Break|Click|ClipWait|Continue|Control|ControlClick|ControlFocus|ControlGet|ControlGetFocus|ControlGetPos|ControlGetText|ControlMove|ControlSend|ControlSendRaw|ControlSetText|CoordMode|Critical|DetectHiddenText|DetectHiddenWindows|Drive|DriveGet|DriveSpaceFree|EnvAdd|EnvDiv|EnvGet|EnvMult|EnvSet|EnvSub|EnvUpdate|Exit|ExitApp|FileAppend|FileCopy|FileCopyDir|FileCreateDir|FileCreateShortcut|FileDelete|FileEncoding|FileGetAttrib|FileGetShortcut|FileGetSize|FileGetTime|FileGetVersion|FileInstall|FileMove|FileMoveDir|FileRead|FileReadLine|FileRecycle|FileRecycleEmpty|FileRemoveDir|FileSelectFile|FileSelectFolder|FileSetAttrib|FileSetTime|FormatTime|GetKeyState|Gosub|Goto|GroupActivate|GroupAdd|GroupClose|GroupDeactivate|Gui|GuiControl|GuiControlGet|Hotkey|ImageSearch|IniDelete|IniRead|IniWrite|Input|InputBox|KeyWait|ListHotkeys|ListLines|ListVars|Loop|Menu|MouseClick|MouseClickDrag|MouseGetPos|MouseMove|MsgBox|OnExit|OutputDebug|Pause|PixelGetColor|PixelSearch|PostMessage|Process|Progress|Random|RegDelete|RegRead|RegWrite|Reload|Repeat|Return|Run|RunAs|RunWait|Send|SendEvent|SendInput|SendMessage|SendMode|SendPlay|SendRaw|SetBatchLines|SetCapslockState|SetControlDelay|SetDefaultMouseSpeed|SetEnv|SetFormat|SetKeyDelay|SetMouseDelay|SetNumlockState|SetRegView|SetScrollLockState|SetStoreCapslockMode|SetTimer|SetTitleMatchMode|SetWinDelay|SetWorkingDir|Shutdown|Sleep|Sort|SoundBeep|SoundGet|SoundGetWaveVolume|SoundPlay|SoundSet|SoundSetWaveVolume|SplashImage|SplashTextOff|SplashTextOn|SplitPath|StatusBarGetText|StatusBarWait|StringCaseSense|StringGetPos|StringLeft|StringLen|StringLower|StringMid|StringReplace|StringRight|StringSplit|StringTrimLeft|StringTrimRight|StringUpper|Suspend|SysGet|Thread|ToolTip|Transform|TrayTip|URLDownloadToFile|WinActivate|WinActivateBottom|WinClose|WinGet|WinGetActiveStats|WinGetActiveTitle|WinGetClass|WinGetPos|WinGetText|WinGetTitle|WinHide|WinKill|WinMaximize|WinMenuSelectItem|WinMinimize|WinMinimizeAll|WinMinimizeAllUndo|WinMove|WinRestore|WinSet|WinSetTitle|WinShow|WinWait|WinWaitActive|WinWaitClose|WinWaitNotActive)\\b/i,\n constant:\n /\\b(?:a_ahkpath|a_ahkversion|a_appdata|a_appdatacommon|a_autotrim|a_batchlines|a_caretx|a_carety|a_computername|a_controldelay|a_cursor|a_dd|a_ddd|a_dddd|a_defaultmousespeed|a_desktop|a_desktopcommon|a_detecthiddentext|a_detecthiddenwindows|a_endchar|a_eventinfo|a_exitreason|a_fileencoding|a_formatfloat|a_formatinteger|a_gui|a_guicontrol|a_guicontrolevent|a_guievent|a_guiheight|a_guiwidth|a_guix|a_guiy|a_hour|a_iconfile|a_iconhidden|a_iconnumber|a_icontip|a_index|a_ipaddress1|a_ipaddress2|a_ipaddress3|a_ipaddress4|a_is64bitos|a_isadmin|a_iscompiled|a_iscritical|a_ispaused|a_issuspended|a_isunicode|a_keydelay|a_language|a_lasterror|a_linefile|a_linenumber|a_loopfield|a_loopfileattrib|a_loopfiledir|a_loopfileext|a_loopfilefullpath|a_loopfilelongpath|a_loopfilename|a_loopfileshortname|a_loopfileshortpath|a_loopfilesize|a_loopfilesizekb|a_loopfilesizemb|a_loopfiletimeaccessed|a_loopfiletimecreated|a_loopfiletimemodified|a_loopreadline|a_loopregkey|a_loopregname|a_loopregsubkey|a_loopregtimemodified|a_loopregtype|a_mday|a_min|a_mm|a_mmm|a_mmmm|a_mon|a_mousedelay|a_msec|a_mydocuments|a_now|a_nowutc|a_numbatchlines|a_ostype|a_osversion|a_priorhotkey|a_priorkey|a_programfiles|a_programs|a_programscommon|a_ptrsize|a_regview|a_screendpi|a_screenheight|a_screenwidth|a_scriptdir|a_scriptfullpath|a_scripthwnd|a_scriptname|a_sec|a_space|a_startmenu|a_startmenucommon|a_startup|a_startupcommon|a_stringcasesense|a_tab|a_temp|a_thisfunc|a_thishotkey|a_thislabel|a_thismenu|a_thismenuitem|a_thismenuitempos|a_tickcount|a_timeidle|a_timeidlephysical|a_timesincepriorhotkey|a_timesincethishotkey|a_titlematchmode|a_titlematchmodespeed|a_username|a_wday|a_windelay|a_windir|a_workingdir|a_yday|a_year|a_yweek|a_yyyy|clipboard|clipboardall|comspec|errorlevel|programfiles)\\b/i,\n builtin:\n /\\b(?:abs|acos|asc|asin|atan|ceil|chr|class|comobjactive|comobjarray|comobjconnect|comobjcreate|comobjerror|comobjflags|comobjget|comobjquery|comobjtype|comobjvalue|cos|dllcall|exp|fileexist|Fileopen|floor|format|il_add|il_create|il_destroy|instr|isfunc|islabel|IsObject|ln|log|ltrim|lv_add|lv_delete|lv_deletecol|lv_getcount|lv_getnext|lv_gettext|lv_insert|lv_insertcol|lv_modify|lv_modifycol|lv_setimagelist|mod|numget|numput|onmessage|regexmatch|regexreplace|registercallback|round|rtrim|sb_seticon|sb_setparts|sb_settext|sin|sqrt|strlen|strreplace|strsplit|substr|tan|tv_add|tv_delete|tv_get|tv_getchild|tv_getcount|tv_getnext|tv_getparent|tv_getprev|tv_getselection|tv_gettext|tv_modify|varsetcapacity|winactive|winexist|__Call|__Get|__New|__Set)\\b/i,\n symbol:\n /\\b(?:alt|altdown|altup|appskey|backspace|browser_back|browser_favorites|browser_forward|browser_home|browser_refresh|browser_search|browser_stop|bs|capslock|ctrl|ctrlbreak|ctrldown|ctrlup|del|delete|down|end|enter|esc|escape|f1|f10|f11|f12|f13|f14|f15|f16|f17|f18|f19|f2|f20|f21|f22|f23|f24|f3|f4|f5|f6|f7|f8|f9|home|ins|insert|joy1|joy10|joy11|joy12|joy13|joy14|joy15|joy16|joy17|joy18|joy19|joy2|joy20|joy21|joy22|joy23|joy24|joy25|joy26|joy27|joy28|joy29|joy3|joy30|joy31|joy32|joy4|joy5|joy6|joy7|joy8|joy9|joyaxes|joybuttons|joyinfo|joyname|joypov|joyr|joyu|joyv|joyx|joyy|joyz|lalt|launch_app1|launch_app2|launch_mail|launch_media|lbutton|lcontrol|lctrl|left|lshift|lwin|lwindown|lwinup|mbutton|media_next|media_play_pause|media_prev|media_stop|numlock|numpad0|numpad1|numpad2|numpad3|numpad4|numpad5|numpad6|numpad7|numpad8|numpad9|numpadadd|numpadclear|numpaddel|numpaddiv|numpaddot|numpaddown|numpadend|numpadenter|numpadhome|numpadins|numpadleft|numpadmult|numpadpgdn|numpadpgup|numpadright|numpadsub|numpadup|pgdn|pgup|printscreen|ralt|rbutton|rcontrol|rctrl|right|rshift|rwin|rwindown|rwinup|scrolllock|shift|shiftdown|shiftup|space|tab|up|volume_down|volume_mute|volume_up|wheeldown|wheelleft|wheelright|wheelup|xbutton1|xbutton2)\\b/i,\n important:\n /#\\b(?:AllowSameLineComments|ClipboardTimeout|CommentFlag|DerefChar|ErrorStdOut|EscapeChar|HotkeyInterval|HotkeyModifierTimeout|Hotstring|If|IfTimeout|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Include|IncludeAgain|InputLevel|InstallKeybdHook|InstallMouseHook|KeyHistory|MaxHotkeysPerInterval|MaxMem|MaxThreads|MaxThreadsBuffer|MaxThreadsPerHotkey|MenuMaskKey|NoEnv|NoTrayIcon|Persistent|SingleInstance|UseHook|Warn|WinActivateForce)\\b/i,\n keyword:\n /\\b(?:Abort|AboveNormal|Add|ahk_class|ahk_exe|ahk_group|ahk_id|ahk_pid|All|Alnum|Alpha|AltSubmit|AltTab|AltTabAndMenu|AltTabMenu|AltTabMenuDismiss|AlwaysOnTop|AutoSize|Background|BackgroundTrans|BelowNormal|between|BitAnd|BitNot|BitOr|BitShiftLeft|BitShiftRight|BitXOr|Bold|Border|Button|ByRef|Catch|Checkbox|Checked|CheckedGray|Choose|ChooseString|Close|Color|ComboBox|Contains|ControlList|Count|Date|DateTime|Days|DDL|Default|DeleteAll|Delimiter|Deref|Destroy|Digit|Disable|Disabled|DropDownList|Edit|Eject|Else|Enable|Enabled|Error|Exist|Expand|ExStyle|FileSystem|Finally|First|Flash|Float|FloatFast|Focus|Font|for|global|Grid|Group|GroupBox|GuiClose|GuiContextMenu|GuiDropFiles|GuiEscape|GuiSize|Hdr|Hidden|Hide|High|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|Hours|HScroll|Icon|IconSmall|ID|IDLast|If|IfEqual|IfExist|IfGreater|IfGreaterOrEqual|IfInString|IfLess|IfLessOrEqual|IfMsgBox|IfNotEqual|IfNotExist|IfNotInString|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Ignore|ImageList|in|Integer|IntegerFast|Interrupt|is|italic|Join|Label|LastFound|LastFoundExist|Limit|Lines|List|ListBox|ListView|local|Lock|Logoff|Low|Lower|Lowercase|MainWindow|Margin|Maximize|MaximizeBox|MaxSize|Minimize|MinimizeBox|MinMax|MinSize|Minutes|MonthCal|Mouse|Move|Multi|NA|No|NoActivate|NoDefault|NoHide|NoIcon|NoMainWindow|norm|Normal|NoSort|NoSortHdr|NoStandard|Not|NoTab|NoTimers|Number|Off|Ok|On|OwnDialogs|Owner|Parse|Password|Picture|Pixel|Pos|Pow|Priority|ProcessName|Radio|Range|Read|ReadOnly|Realtime|Redraw|Region|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|Relative|Rename|Report|Resize|Restore|Retry|RGB|Screen|Seconds|Section|Serial|SetLabel|ShiftAltTab|Show|Single|Slider|SortDesc|Standard|static|Status|StatusBar|StatusCD|strike|Style|Submit|SysMenu|Tab2|TabStop|Text|Theme|Throw|Tile|ToggleCheck|ToggleEnable|ToolWindow|Top|Topmost|TransColor|Transparent|Tray|TreeView|Try|TryAgain|Type|UnCheck|underline|Unicode|Unlock|Until|UpDown|Upper|Uppercase|UseErrorLevel|Vis|VisFirst|Visible|VScroll|Wait|WaitClose|WantCtrlA|WantF2|WantReturn|While|Wrap|Xdigit|xm|xp|xs|Yes|ym|yp|ys)\\b/i,\n function: /[^(); \\t,\\n+*\\-=?>:\\\\\\/<&%\\[\\]]+(?=\\()/,\n punctuation: /[{}[\\]():,]/\n }\n}\n","'use strict'\n\nmodule.exports = autoit\nautoit.displayName = 'autoit'\nautoit.aliases = []\nfunction autoit(Prism) {\n Prism.languages.autoit = {\n comment: [\n /;.*/,\n {\n // The multi-line comments delimiters can actually be commented out with \";\"\n pattern:\n /(^[\\t ]*)#(?:comments-start|cs)[\\s\\S]*?^[ \\t]*#(?:ce|comments-end)/m,\n lookbehind: true\n }\n ],\n url: {\n pattern: /(^[\\t ]*#include\\s+)(?:<[^\\r\\n>]+>|\"[^\\r\\n\"]+\")/m,\n lookbehind: true\n },\n string: {\n pattern: /([\"'])(?:\\1\\1|(?!\\1)[^\\r\\n])*\\1/,\n greedy: true,\n inside: {\n variable: /([%$@])\\w+\\1/\n }\n },\n directive: {\n pattern: /(^[\\t ]*)#[\\w-]+/m,\n lookbehind: true,\n alias: 'keyword'\n },\n function: /\\b\\w+(?=\\()/,\n // Variables and macros\n variable: /[$@]\\w+/,\n keyword:\n /\\b(?:Case|Const|Continue(?:Case|Loop)|Default|Dim|Do|Else(?:If)?|End(?:Func|If|Select|Switch|With)|Enum|Exit(?:Loop)?|For|Func|Global|If|In|Local|Next|Null|ReDim|Select|Static|Step|Switch|Then|To|Until|Volatile|WEnd|While|With)\\b/i,\n number: /\\b(?:0x[\\da-f]+|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b/i,\n boolean: /\\b(?:False|True)\\b/i,\n operator: /<[=>]?|[-+*\\/=&>]=?|[?^]|\\b(?:And|Not|Or)\\b/i,\n punctuation: /[\\[\\]().,:]/\n }\n}\n","'use strict'\n\nmodule.exports = avisynth\navisynth.displayName = 'avisynth'\navisynth.aliases = ['avs']\nfunction avisynth(Prism) {\n // http://avisynth.nl/index.php/The_full_AviSynth_grammar\n ;(function (Prism) {\n function replace(pattern, replacements) {\n return pattern.replace(/<<(\\d+)>>/g, function (m, index) {\n return replacements[+index]\n })\n }\n function re(pattern, replacements, flags) {\n return RegExp(replace(pattern, replacements), flags || '')\n }\n var types = /bool|clip|float|int|string|val/.source\n var internals = [\n // bools\n /is(?:bool|clip|float|int|string)|defined|(?:(?:internal)?function|var)?exists?/\n .source, // control\n /apply|assert|default|eval|import|nop|select|undefined/.source, // global\n /opt_(?:allowfloataudio|avipadscanlines|dwchannelmask|enable_(?:b64a|planartopackedrgb|v210|y3_10_10|y3_10_16)|usewaveextensible|vdubplanarhack)|set(?:cachemode|maxcpu|memorymax|planarlegacyalignment|workingdir)/\n .source, // conv\n /hex(?:value)?|value/.source, // numeric\n /abs|ceil|continued(?:denominator|numerator)?|exp|floor|fmod|frac|log(?:10)?|max|min|muldiv|pi|pow|rand|round|sign|spline|sqrt/\n .source, // trig\n /a?sinh?|a?cosh?|a?tan[2h]?/.source, // bit\n /(?:bit(?:and|not|x?or|[lr]?shift[aslu]?|sh[lr]|sa[lr]|[lr]rotatel?|ro[rl]|te?st|set(?:count)?|cl(?:ea)?r|ch(?:an)?ge?))/\n .source, // runtime\n /average(?:[bgr]|chroma[uv]|luma)|(?:[rgb]|chroma[uv]|luma|rgb|[yuv](?=difference(?:fromprevious|tonext)))difference(?:fromprevious|tonext)?|[yuvrgb]plane(?:median|min|max|minmaxdifference)/\n .source, // script\n /getprocessinfo|logmsg|script(?:dir(?:utf8)?|file(?:utf8)?|name(?:utf8)?)|setlogparams/\n .source, // string\n /chr|(?:fill|find|left|mid|replace|rev|right)str|format|[lu]case|ord|str(?:cmpi?|fromutf8|len|toutf8)|time|trim(?:all|left|right)/\n .source, // version\n /isversionorgreater|version(?:number|string)/.source, // helper\n /buildpixeltype|colorspacenametopixeltype/.source, // avsplus\n /addautoloaddir|on(?:cpu|cuda)|prefetch|setfiltermtmode/.source\n ].join('|')\n var properties = [\n // content\n /has(?:audio|video)/.source, // resolution\n /height|width/.source, // framerate\n /frame(?:count|rate)|framerate(?:denominator|numerator)/.source, // interlacing\n /getparity|is(?:field|frame)based/.source, // color format\n /bitspercomponent|componentsize|hasalpha|is(?:planar(?:rgba?)?|interleaved|rgb(?:24|32|48|64)?|y(?:8|u(?:va?|y2))?|yv(?:12|16|24|411)|420|422|444|packedrgb)|numcomponents|pixeltype/\n .source, // audio\n /audio(?:bits|channels|duration|length(?:[fs]|hi|lo)?|rate)|isaudio(?:float|int)/\n .source\n ].join('|')\n var filters = [\n // source\n /avi(?:file)?source|directshowsource|image(?:reader|source|sourceanim)|opendmlsource|segmented(?:avisource|directshowsource)|wavsource/\n .source, // color\n /coloryuv|convertbacktoyuy2|convertto(?:RGB(?:24|32|48|64)|(?:planar)?RGBA?|Y8?|YV(?:12|16|24|411)|YUVA?(?:411|420|422|444)|YUY2)|fixluminance|gr[ae]yscale|invert|levels|limiter|mergea?rgb|merge(?:chroma|luma)|rgbadjust|show(?:alpha|blue|green|red)|swapuv|tweak|[uv]toy8?|ytouv/\n .source, // overlay\n /(?:colorkey|reset)mask|layer|mask(?:hs)?|merge|overlay|subtract/.source, // geometry\n /addborders|(?:bicubic|bilinear|blackman|gauss|lanczos4|lanczos|point|sinc|spline(?:16|36|64))resize|crop(?:bottom)?|flip(?:horizontal|vertical)|(?:horizontal|vertical)?reduceby2|letterbox|skewrows|turn(?:180|left|right)/\n .source, // pixel\n /blur|fixbrokenchromaupsampling|generalconvolution|(?:spatial|temporal)soften|sharpen/\n .source, // timeline\n /trim|(?:un)?alignedsplice|(?:assume|assumescaled|change|convert)FPS|(?:delete|duplicate)frame|dissolve|fade(?:in|io|out)[02]?|freezeframe|interleave|loop|reverse|select(?:even|odd|(?:range)?every)/\n .source, // interlace\n /assume[bt]ff|assume(?:field|frame)based|bob|complementparity|doubleweave|peculiarblend|pulldown|separate(?:columns|fields|rows)|swapfields|weave(?:columns|rows)?/\n .source, // audio\n /amplify(?:db)?|assumesamplerate|audiodub(?:ex)?|audiotrim|convertaudioto(?:(?:8|16|24|32)bit|float)|converttomono|delayaudio|ensurevbrmp3sync|get(?:left|right)?channel|kill(?:audio|video)|mergechannels|mixaudio|monotostereo|normalize|resampleaudio|ssrc|supereq|timestretch/\n .source, // conditional\n /animate|applyrange|conditional(?:filter|reader|select)|frameevaluate|scriptclip|tcp(?:server|source)|writefile(?:end|if|start)?/\n .source, // export\n /imagewriter/.source, // debug\n /blackness|blankclip|colorbars(?:hd)?|compare|dumpfiltergraph|echo|histogram|info|messageclip|preroll|setgraphanalysis|show(?:framenumber|smpte|time)|showfiveversions|stack(?:horizontal|vertical)|subtitle|tone|version/\n .source\n ].join('|')\n var allinternals = [internals, properties, filters].join('|')\n Prism.languages.avisynth = {\n comment: [\n {\n // Matches [* *] nestable block comments, but only supports 1 level of nested comments\n // /\\[\\*(?:[^\\[*]|\\[(?!\\*)|\\*(?!\\])|<self>)*\\*\\]/\n pattern:\n /(^|[^\\\\])\\[\\*(?:[^\\[*]|\\[(?!\\*)|\\*(?!\\])|\\[\\*(?:[^\\[*]|\\[(?!\\*)|\\*(?!\\]))*\\*\\])*\\*\\]/,\n lookbehind: true,\n greedy: true\n },\n {\n // Matches /* */ block comments\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true,\n greedy: true\n },\n {\n // Matches # comments\n pattern: /(^|[^\\\\$])#.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n // Handle before strings because optional arguments are surrounded by double quotes\n argument: {\n pattern: re(/\\b(?:<<0>>)\\s+(\"?)\\w+\\1/.source, [types], 'i'),\n inside: {\n keyword: /^\\w+/\n }\n },\n // Optional argument assignment\n 'argument-label': {\n pattern: /([,(][\\s\\\\]*)\\w+\\s*=(?!=)/,\n lookbehind: true,\n inside: {\n 'argument-name': {\n pattern: /^\\w+/,\n alias: 'punctuation'\n },\n punctuation: /=$/\n }\n },\n string: [\n {\n // triple double-quoted\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: true\n },\n {\n // single double-quoted\n pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n greedy: true,\n inside: {\n constant: {\n // These *are* case-sensitive!\n pattern:\n /\\b(?:DEFAULT_MT_MODE|(?:MAINSCRIPT|PROGRAM|SCRIPT)DIR|(?:MACHINE|USER)_(?:CLASSIC|PLUS)_PLUGINS)\\b/\n }\n }\n }\n ],\n // The special \"last\" variable that takes the value of the last implicitly returned clip\n variable: /\\b(?:last)\\b/i,\n boolean: /\\b(?:false|no|true|yes)\\b/i,\n keyword:\n /\\b(?:catch|else|for|function|global|if|return|try|while|__END__)\\b/i,\n constant: /\\bMT_(?:MULTI_INSTANCE|NICE_FILTER|SERIALIZED|SPECIAL_MT)\\b/,\n // AviSynth's internal functions, filters, and properties\n 'builtin-function': {\n pattern: re(/\\b(?:<<0>>)\\b/.source, [allinternals], 'i'),\n alias: 'function'\n },\n 'type-cast': {\n pattern: re(/\\b(?:<<0>>)(?=\\s*\\()/.source, [types], 'i'),\n alias: 'keyword'\n },\n // External/user-defined filters\n function: {\n pattern: /\\b[a-z_]\\w*(?=\\s*\\()|(\\.)[a-z_]\\w*\\b/i,\n lookbehind: true\n },\n // Matches a \\ as the first or last character on a line\n 'line-continuation': {\n pattern: /(^[ \\t]*)\\\\|\\\\(?=[ \\t]*$)/m,\n lookbehind: true,\n alias: 'punctuation'\n },\n number:\n /\\B\\$(?:[\\da-f]{6}|[\\da-f]{8})\\b|(?:(?:\\b|\\B-)\\d+(?:\\.\\d*)?\\b|\\B\\.\\d+\\b)/i,\n operator: /\\+\\+?|[!=<>]=?|&&|\\|\\||[?:*/%-]/,\n punctuation: /[{}\\[\\]();,.]/\n }\n Prism.languages.avs = Prism.languages.avisynth\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = avroIdl\navroIdl.displayName = 'avroIdl'\navroIdl.aliases = []\nfunction avroIdl(Prism) {\n // GitHub: https://github.com/apache/avro\n // Docs: https://avro.apache.org/docs/current/idl.html\n Prism.languages['avro-idl'] = {\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n greedy: true\n },\n string: {\n pattern: /(^|[^\\\\])\"(?:[^\\r\\n\"\\\\]|\\\\.)*\"/,\n lookbehind: true,\n greedy: true\n },\n annotation: {\n pattern: /@(?:[$\\w.-]|`[^\\r\\n`]+`)+/,\n greedy: true,\n alias: 'function'\n },\n 'function-identifier': {\n pattern: /`[^\\r\\n`]+`(?=\\s*\\()/,\n greedy: true,\n alias: 'function'\n },\n identifier: {\n pattern: /`[^\\r\\n`]+`/,\n greedy: true\n },\n 'class-name': {\n pattern: /(\\b(?:enum|error|protocol|record|throws)\\b\\s+)[$\\w]+/,\n lookbehind: true,\n greedy: true\n },\n keyword:\n /\\b(?:array|boolean|bytes|date|decimal|double|enum|error|false|fixed|float|idl|import|int|local_timestamp_ms|long|map|null|oneway|protocol|record|schema|string|throws|time_ms|timestamp_ms|true|union|uuid|void)\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n number: [\n {\n pattern:\n /(^|[^\\w.])-?(?:(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|0x(?:[a-f0-9]+(?:\\.[a-f0-9]*)?|\\.[a-f0-9]+)(?:p[+-]?\\d+)?)[dfl]?(?![\\w.])/i,\n lookbehind: true\n },\n /-?\\b(?:Infinity|NaN)\\b/\n ],\n operator: /=/,\n punctuation: /[()\\[\\]{}<>.:,;-]/\n }\n Prism.languages.avdl = Prism.languages['avro-idl']\n}\n","'use strict'\n\nmodule.exports = bash\nbash.displayName = 'bash'\nbash.aliases = ['shell']\nfunction bash(Prism) {\n ;(function (Prism) {\n // $ set | grep '^[A-Z][^[:space:]]*=' | cut -d= -f1 | tr '\\n' '|'\n // + LC_ALL, RANDOM, REPLY, SECONDS.\n // + make sure PS1..4 are here as they are not always set,\n // - some useless things.\n var envVars =\n '\\\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\\\b'\n var commandAfterHeredoc = {\n pattern: /(^([\"']?)\\w+\\2)[ \\t]+\\S.*/,\n lookbehind: true,\n alias: 'punctuation',\n // this looks reasonably well in all themes\n inside: null // see below\n }\n var insideString = {\n bash: commandAfterHeredoc,\n environment: {\n pattern: RegExp('\\\\$' + envVars),\n alias: 'constant'\n },\n variable: [\n // [0]: Arithmetic Environment\n {\n pattern: /\\$?\\(\\([\\s\\S]+?\\)\\)/,\n greedy: true,\n inside: {\n // If there is a $ sign at the beginning highlight $(( and )) as variable\n variable: [\n {\n pattern: /(^\\$\\(\\([\\s\\S]+)\\)\\)/,\n lookbehind: true\n },\n /^\\$\\(\\(/\n ],\n number:\n /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,\n // Operators according to https://www.gnu.org/software/bash/manual/bashref.html#Shell-Arithmetic\n operator:\n /--|\\+\\+|\\*\\*=?|<<=?|>>=?|&&|\\|\\||[=!+\\-*/%<>^&|]=?|[?~:]/,\n // If there is no $ sign at the beginning highlight (( and )) as punctuation\n punctuation: /\\(\\(?|\\)\\)?|,|;/\n }\n }, // [1]: Command Substitution\n {\n pattern: /\\$\\((?:\\([^)]+\\)|[^()])+\\)|`[^`]+`/,\n greedy: true,\n inside: {\n variable: /^\\$\\(|^`|\\)$|`$/\n }\n }, // [2]: Brace expansion\n {\n pattern: /\\$\\{[^}]+\\}/,\n greedy: true,\n inside: {\n operator: /:[-=?+]?|[!\\/]|##?|%%?|\\^\\^?|,,?/,\n punctuation: /[\\[\\]]/,\n environment: {\n pattern: RegExp('(\\\\{)' + envVars),\n lookbehind: true,\n alias: 'constant'\n }\n }\n },\n /\\$(?:\\w+|[#?*!@$])/\n ],\n // Escape sequences from echo and printf's manuals, and escaped quotes.\n entity:\n /\\\\(?:[abceEfnrtv\\\\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/\n }\n Prism.languages.bash = {\n shebang: {\n pattern: /^#!\\s*\\/.*/,\n alias: 'important'\n },\n comment: {\n pattern: /(^|[^\"{\\\\$])#.*/,\n lookbehind: true\n },\n 'function-name': [\n // a) function foo {\n // b) foo() {\n // c) function foo() {\n // but not “foo {”\n {\n // a) and c)\n pattern: /(\\bfunction\\s+)[\\w-]+(?=(?:\\s*\\(?:\\s*\\))?\\s*\\{)/,\n lookbehind: true,\n alias: 'function'\n },\n {\n // b)\n pattern: /\\b[\\w-]+(?=\\s*\\(\\s*\\)\\s*\\{)/,\n alias: 'function'\n }\n ],\n // Highlight variable names as variables in for and select beginnings.\n 'for-or-select': {\n pattern: /(\\b(?:for|select)\\s+)\\w+(?=\\s+in\\s)/,\n alias: 'variable',\n lookbehind: true\n },\n // Highlight variable names as variables in the left-hand part\n // of assignments (“=” and “+=”).\n 'assign-left': {\n pattern: /(^|[\\s;|&]|[<>]\\()\\w+(?=\\+?=)/,\n inside: {\n environment: {\n pattern: RegExp('(^|[\\\\s;|&]|[<>]\\\\()' + envVars),\n lookbehind: true,\n alias: 'constant'\n }\n },\n alias: 'variable',\n lookbehind: true\n },\n string: [\n // Support for Here-documents https://en.wikipedia.org/wiki/Here_document\n {\n pattern: /((?:^|[^<])<<-?\\s*)(\\w+)\\s[\\s\\S]*?(?:\\r?\\n|\\r)\\2/,\n lookbehind: true,\n greedy: true,\n inside: insideString\n }, // Here-document with quotes around the tag\n // → No expansion (so no “inside”).\n {\n pattern: /((?:^|[^<])<<-?\\s*)([\"'])(\\w+)\\2\\s[\\s\\S]*?(?:\\r?\\n|\\r)\\3/,\n lookbehind: true,\n greedy: true,\n inside: {\n bash: commandAfterHeredoc\n }\n }, // “Normal” string\n {\n // https://www.gnu.org/software/bash/manual/html_node/Double-Quotes.html\n pattern:\n /(^|[^\\\\](?:\\\\\\\\)*)\"(?:\\\\[\\s\\S]|\\$\\([^)]+\\)|\\$(?!\\()|`[^`]+`|[^\"\\\\`$])*\"/,\n lookbehind: true,\n greedy: true,\n inside: insideString\n },\n {\n // https://www.gnu.org/software/bash/manual/html_node/Single-Quotes.html\n pattern: /(^|[^$\\\\])'[^']*'/,\n lookbehind: true,\n greedy: true\n },\n {\n // https://www.gnu.org/software/bash/manual/html_node/ANSI_002dC-Quoting.html\n pattern: /\\$'(?:[^'\\\\]|\\\\[\\s\\S])*'/,\n greedy: true,\n inside: {\n entity: insideString.entity\n }\n }\n ],\n environment: {\n pattern: RegExp('\\\\$?' + envVars),\n alias: 'constant'\n },\n variable: insideString.variable,\n function: {\n pattern:\n /(^|[\\s;|&]|[<>]\\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\\s;|&])/,\n lookbehind: true\n },\n keyword: {\n pattern:\n /(^|[\\s;|&]|[<>]\\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\\s;|&])/,\n lookbehind: true\n },\n // https://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html\n builtin: {\n pattern:\n /(^|[\\s;|&]|[<>]\\()(?:\\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\\s;|&])/,\n lookbehind: true,\n // Alias added to make those easier to distinguish from strings.\n alias: 'class-name'\n },\n boolean: {\n pattern: /(^|[\\s;|&]|[<>]\\()(?:false|true)(?=$|[)\\s;|&])/,\n lookbehind: true\n },\n 'file-descriptor': {\n pattern: /\\B&\\d\\b/,\n alias: 'important'\n },\n operator: {\n // Lots of redirections here, but not just that.\n pattern:\n /\\d?<>|>\\||\\+=|=[=~]?|!=?|<<[<-]?|[&\\d]?>>|\\d[<>]&?|[<>][&=]?|&[>&]?|\\|[&|]?/,\n inside: {\n 'file-descriptor': {\n pattern: /^\\d/,\n alias: 'important'\n }\n }\n },\n punctuation: /\\$?\\(\\(?|\\)\\)?|\\.\\.|[{}[\\];\\\\]/,\n number: {\n pattern: /(^|\\s)(?:[1-9]\\d*|0)(?:[.,]\\d+)?\\b/,\n lookbehind: true\n }\n }\n commandAfterHeredoc.inside = Prism.languages.bash\n /* Patterns in command substitution. */\n var toBeCopied = [\n 'comment',\n 'function-name',\n 'for-or-select',\n 'assign-left',\n 'string',\n 'environment',\n 'function',\n 'keyword',\n 'builtin',\n 'boolean',\n 'file-descriptor',\n 'operator',\n 'punctuation',\n 'number'\n ]\n var inside = insideString.variable[1].inside\n for (var i = 0; i < toBeCopied.length; i++) {\n inside[toBeCopied[i]] = Prism.languages.bash[toBeCopied[i]]\n }\n Prism.languages.shell = Prism.languages.bash\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = basic\nbasic.displayName = 'basic'\nbasic.aliases = []\nfunction basic(Prism) {\n Prism.languages.basic = {\n comment: {\n pattern: /(?:!|REM\\b).+/i,\n inside: {\n keyword: /^REM/i\n }\n },\n string: {\n pattern: /\"(?:\"\"|[!#$%&'()*,\\/:;<=>?^\\w +\\-.])*\"/,\n greedy: true\n },\n number: /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:E[+-]?\\d+)?/i,\n keyword:\n /\\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SELECT CASE|SHARED|SHELL|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\\$|\\b)/i,\n function:\n /\\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\\$|\\b)/i,\n operator: /<[=>]?|>=?|[+\\-*\\/^=&]|\\b(?:AND|EQV|IMP|NOT|OR|XOR)\\b/i,\n punctuation: /[,;:()]/\n }\n}\n","'use strict'\n\nmodule.exports = batch\nbatch.displayName = 'batch'\nbatch.aliases = []\nfunction batch(Prism) {\n ;(function (Prism) {\n var variable = /%%?[~:\\w]+%?|!\\S+!/\n var parameter = {\n pattern: /\\/[a-z?]+(?=[ :]|$):?|-[a-z]\\b|--[a-z-]+\\b/im,\n alias: 'attr-name',\n inside: {\n punctuation: /:/\n }\n }\n var string = /\"(?:[\\\\\"]\"|[^\"])*\"(?!\")/\n var number = /(?:\\b|-)\\d+\\b/\n Prism.languages.batch = {\n comment: [\n /^::.*/m,\n {\n pattern: /((?:^|[&(])[ \\t]*)rem\\b(?:[^^&)\\r\\n]|\\^(?:\\r\\n|[\\s\\S]))*/im,\n lookbehind: true\n }\n ],\n label: {\n pattern: /^:.*/m,\n alias: 'property'\n },\n command: [\n {\n // FOR command\n pattern:\n /((?:^|[&(])[ \\t]*)for(?: \\/[a-z?](?:[ :](?:\"[^\"]*\"|[^\\s\"/]\\S*))?)* \\S+ in \\([^)]+\\) do/im,\n lookbehind: true,\n inside: {\n keyword: /\\b(?:do|in)\\b|^for\\b/i,\n string: string,\n parameter: parameter,\n variable: variable,\n number: number,\n punctuation: /[()',]/\n }\n },\n {\n // IF command\n pattern:\n /((?:^|[&(])[ \\t]*)if(?: \\/[a-z?](?:[ :](?:\"[^\"]*\"|[^\\s\"/]\\S*))?)* (?:not )?(?:cmdextversion \\d+|defined \\w+|errorlevel \\d+|exist \\S+|(?:\"[^\"]*\"|(?!\")(?:(?!==)\\S)+)?(?:==| (?:equ|geq|gtr|leq|lss|neq) )(?:\"[^\"]*\"|[^\\s\"]\\S*))/im,\n lookbehind: true,\n inside: {\n keyword:\n /\\b(?:cmdextversion|defined|errorlevel|exist|not)\\b|^if\\b/i,\n string: string,\n parameter: parameter,\n variable: variable,\n number: number,\n operator: /\\^|==|\\b(?:equ|geq|gtr|leq|lss|neq)\\b/i\n }\n },\n {\n // ELSE command\n pattern: /((?:^|[&()])[ \\t]*)else\\b/im,\n lookbehind: true,\n inside: {\n keyword: /^else\\b/i\n }\n },\n {\n // SET command\n pattern:\n /((?:^|[&(])[ \\t]*)set(?: \\/[a-z](?:[ :](?:\"[^\"]*\"|[^\\s\"/]\\S*))?)* (?:[^^&)\\r\\n]|\\^(?:\\r\\n|[\\s\\S]))*/im,\n lookbehind: true,\n inside: {\n keyword: /^set\\b/i,\n string: string,\n parameter: parameter,\n variable: [variable, /\\w+(?=(?:[*\\/%+\\-&^|]|<<|>>)?=)/],\n number: number,\n operator: /[*\\/%+\\-&^|]=?|<<=?|>>=?|[!~_=]/,\n punctuation: /[()',]/\n }\n },\n {\n // Other commands\n pattern:\n /((?:^|[&(])[ \\t]*@?)\\w+\\b(?:\"(?:[\\\\\"]\"|[^\"])*\"(?!\")|[^\"^&)\\r\\n]|\\^(?:\\r\\n|[\\s\\S]))*/m,\n lookbehind: true,\n inside: {\n keyword: /^\\w+\\b/,\n string: string,\n parameter: parameter,\n label: {\n pattern: /(^\\s*):\\S+/m,\n lookbehind: true,\n alias: 'property'\n },\n variable: variable,\n number: number,\n operator: /\\^/\n }\n }\n ],\n operator: /[&@]/,\n punctuation: /[()']/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = bbcode\nbbcode.displayName = 'bbcode'\nbbcode.aliases = ['shortcode']\nfunction bbcode(Prism) {\n Prism.languages.bbcode = {\n tag: {\n pattern:\n /\\[\\/?[^\\s=\\]]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\"\\]=]+))?(?:\\s+[^\\s=\\]]+\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\"\\]=]+))*\\s*\\]/,\n inside: {\n tag: {\n pattern: /^\\[\\/?[^\\s=\\]]+/,\n inside: {\n punctuation: /^\\[\\/?/\n }\n },\n 'attr-value': {\n pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\"\\]=]+)/,\n inside: {\n punctuation: [\n /^=/,\n {\n pattern: /^(\\s*)[\"']|[\"']$/,\n lookbehind: true\n }\n ]\n }\n },\n punctuation: /\\]/,\n 'attr-name': /[^\\s=\\]]+/\n }\n }\n }\n Prism.languages.shortcode = Prism.languages.bbcode\n}\n","'use strict'\n\nmodule.exports = bicep\nbicep.displayName = 'bicep'\nbicep.aliases = []\nfunction bicep(Prism) {\n // based loosely upon: https://github.com/Azure/bicep/blob/main/src/textmate/bicep.tmlanguage\n Prism.languages.bicep = {\n comment: [\n {\n // multiline comments eg /* ASDF */\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true,\n greedy: true\n },\n {\n // singleline comments eg // ASDF\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n property: [\n {\n pattern: /([\\r\\n][ \\t]*)[a-z_]\\w*(?=[ \\t]*:)/i,\n lookbehind: true\n },\n {\n pattern: /([\\r\\n][ \\t]*)'(?:\\\\.|\\$(?!\\{)|[^'\\\\\\r\\n$])*'(?=[ \\t]*:)/,\n lookbehind: true,\n greedy: true\n }\n ],\n string: [\n {\n pattern: /'''[^'][\\s\\S]*?'''/,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\'])'(?:\\\\.|\\$(?!\\{)|[^'\\\\\\r\\n$])*'/,\n lookbehind: true,\n greedy: true\n }\n ],\n 'interpolated-string': {\n pattern: /(^|[^\\\\'])'(?:\\\\.|\\$(?:(?!\\{)|\\{[^{}\\r\\n]*\\})|[^'\\\\\\r\\n$])*'/,\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /\\$\\{[^{}\\r\\n]*\\}/,\n inside: {\n expression: {\n pattern: /(^\\$\\{)[\\s\\S]+(?=\\}$)/,\n lookbehind: true\n },\n punctuation: /^\\$\\{|\\}$/\n }\n },\n string: /[\\s\\S]+/\n }\n },\n datatype: {\n pattern: /(\\b(?:output|param)\\b[ \\t]+\\w+[ \\t]+)\\w+\\b/,\n lookbehind: true,\n alias: 'class-name'\n },\n boolean: /\\b(?:false|true)\\b/,\n // https://github.com/Azure/bicep/blob/114a3251b4e6e30082a58729f19a8cc4e374ffa6/src/textmate/bicep.tmlanguage#L184\n keyword:\n /\\b(?:existing|for|if|in|module|null|output|param|resource|targetScope|var)\\b/,\n decorator: /@\\w+\\b/,\n function: /\\b[a-z_]\\w*(?=[ \\t]*\\()/i,\n number: /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:E[+-]?\\d+)?/i,\n operator:\n /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/,\n punctuation: /[{}[\\];(),.:]/\n }\n Prism.languages.bicep['interpolated-string'].inside['interpolation'].inside[\n 'expression'\n ].inside = Prism.languages.bicep\n}\n","'use strict'\n\nmodule.exports = birb\nbirb.displayName = 'birb'\nbirb.aliases = []\nfunction birb(Prism) {\n Prism.languages.birb = Prism.languages.extend('clike', {\n string: {\n pattern: /r?(\"|')(?:\\\\.|(?!\\1)[^\\\\])*\\1/,\n greedy: true\n },\n 'class-name': [\n /\\b[A-Z](?:[\\d_]*[a-zA-Z]\\w*)?\\b/, // matches variable and function return types (parameters as well).\n /\\b(?:[A-Z]\\w*|(?!(?:var|void)\\b)[a-z]\\w*)(?=\\s+\\w+\\s*[;,=()])/\n ],\n keyword:\n /\\b(?:assert|break|case|class|const|default|else|enum|final|follows|for|grab|if|nest|new|next|noSeeb|return|static|switch|throw|var|void|while)\\b/,\n operator: /\\+\\+|--|&&|\\|\\||<<=?|>>=?|~(?:\\/=?)?|[+\\-*\\/%&^|=!<>]=?|\\?|:/,\n variable: /\\b[a-z_]\\w*\\b/\n })\n Prism.languages.insertBefore('birb', 'function', {\n metadata: {\n pattern: /<\\w+>/,\n greedy: true,\n alias: 'symbol'\n }\n })\n}\n","'use strict'\nvar refractorC = require('./c.js')\nmodule.exports = bison\nbison.displayName = 'bison'\nbison.aliases = []\nfunction bison(Prism) {\n Prism.register(refractorC)\n Prism.languages.bison = Prism.languages.extend('c', {})\n Prism.languages.insertBefore('bison', 'comment', {\n bison: {\n // This should match all the beginning of the file\n // including the prologue(s), the bison declarations and\n // the grammar rules.\n pattern: /^(?:[^%]|%(?!%))*%%[\\s\\S]*?%%/,\n inside: {\n c: {\n // Allow for one level of nested braces\n pattern: /%\\{[\\s\\S]*?%\\}|\\{(?:\\{[^}]*\\}|[^{}])*\\}/,\n inside: {\n delimiter: {\n pattern: /^%?\\{|%?\\}$/,\n alias: 'punctuation'\n },\n 'bison-variable': {\n pattern: /[$@](?:<[^\\s>]+>)?[\\w$]+/,\n alias: 'variable',\n inside: {\n punctuation: /<|>/\n }\n },\n rest: Prism.languages.c\n }\n },\n comment: Prism.languages.c.comment,\n string: Prism.languages.c.string,\n property: /\\S+(?=:)/,\n keyword: /%\\w+/,\n number: {\n pattern: /(^|[^@])\\b(?:0x[\\da-f]+|\\d+)/i,\n lookbehind: true\n },\n punctuation: /%[%?]|[|:;\\[\\]<>]/\n }\n }\n })\n}\n","'use strict'\n\nmodule.exports = bnf\nbnf.displayName = 'bnf'\nbnf.aliases = ['rbnf']\nfunction bnf(Prism) {\n Prism.languages.bnf = {\n string: {\n pattern: /\"[^\\r\\n\"]*\"|'[^\\r\\n']*'/\n },\n definition: {\n pattern: /<[^<>\\r\\n\\t]+>(?=\\s*::=)/,\n alias: ['rule', 'keyword'],\n inside: {\n punctuation: /^<|>$/\n }\n },\n rule: {\n pattern: /<[^<>\\r\\n\\t]+>/,\n inside: {\n punctuation: /^<|>$/\n }\n },\n operator: /::=|[|()[\\]{}*+?]|\\.{3}/\n }\n Prism.languages.rbnf = Prism.languages.bnf\n}\n","'use strict'\n\nmodule.exports = brainfuck\nbrainfuck.displayName = 'brainfuck'\nbrainfuck.aliases = []\nfunction brainfuck(Prism) {\n Prism.languages.brainfuck = {\n pointer: {\n pattern: /<|>/,\n alias: 'keyword'\n },\n increment: {\n pattern: /\\+/,\n alias: 'inserted'\n },\n decrement: {\n pattern: /-/,\n alias: 'deleted'\n },\n branching: {\n pattern: /\\[|\\]/,\n alias: 'important'\n },\n operator: /[.,]/,\n comment: /\\S+/\n }\n}\n","'use strict'\n\nmodule.exports = brightscript\nbrightscript.displayName = 'brightscript'\nbrightscript.aliases = []\nfunction brightscript(Prism) {\n Prism.languages.brightscript = {\n comment: /(?:\\brem|').*/i,\n 'directive-statement': {\n pattern: /(^[\\t ]*)#(?:const|else(?:[\\t ]+if)?|end[\\t ]+if|error|if).*/im,\n lookbehind: true,\n alias: 'property',\n inside: {\n 'error-message': {\n pattern: /(^#error).+/,\n lookbehind: true\n },\n directive: {\n pattern: /^#(?:const|else(?:[\\t ]+if)?|end[\\t ]+if|error|if)/,\n alias: 'keyword'\n },\n expression: {\n pattern: /[\\s\\S]+/,\n inside: null // see below\n }\n }\n },\n property: {\n pattern:\n /([\\r\\n{,][\\t ]*)(?:(?!\\d)\\w+|\"(?:[^\"\\r\\n]|\"\")*\"(?!\"))(?=[ \\t]*:)/,\n lookbehind: true,\n greedy: true\n },\n string: {\n pattern: /\"(?:[^\"\\r\\n]|\"\")*\"(?!\")/,\n greedy: true\n },\n 'class-name': {\n pattern: /(\\bAs[\\t ]+)\\w+/i,\n lookbehind: true\n },\n keyword:\n /\\b(?:As|Dim|Each|Else|Elseif|End|Exit|For|Function|Goto|If|In|Print|Return|Step|Stop|Sub|Then|To|While)\\b/i,\n boolean: /\\b(?:false|true)\\b/i,\n function: /\\b(?!\\d)\\w+(?=[\\t ]*\\()/,\n number: /(?:\\b\\d+(?:\\.\\d+)?(?:[ed][+-]\\d+)?|&h[a-f\\d]+)\\b[%&!#]?/i,\n operator:\n /--|\\+\\+|>>=?|<<=?|<>|[-+*/\\\\<>]=?|[:^=?]|\\b(?:and|mod|not|or)\\b/i,\n punctuation: /[.,;()[\\]{}]/,\n constant: /\\b(?:LINE_NUM)\\b/i\n }\n Prism.languages.brightscript['directive-statement'].inside.expression.inside =\n Prism.languages.brightscript\n}\n","'use strict'\n\nmodule.exports = bro\nbro.displayName = 'bro'\nbro.aliases = []\nfunction bro(Prism) {\n Prism.languages.bro = {\n comment: {\n pattern: /(^|[^\\\\$])#.*/,\n lookbehind: true,\n inside: {\n italic: /\\b(?:FIXME|TODO|XXX)\\b/\n }\n },\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n boolean: /\\b[TF]\\b/,\n function: {\n pattern: /(\\b(?:event|function|hook)[ \\t]+)\\w+(?:::\\w+)?/,\n lookbehind: true\n },\n builtin:\n /(?:@(?:load(?:-(?:plugin|sigs))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME))|(?:&?(?:add_func|create_expire|default|delete_func|encrypt|error_handler|expire_func|group|log|mergeable|optional|persistent|priority|raw_output|read_expire|redef|rotate_interval|rotate_size|synchronized|type_column|write_expire))/,\n constant: {\n pattern: /(\\bconst[ \\t]+)\\w+/i,\n lookbehind: true\n },\n keyword:\n /\\b(?:add|addr|alarm|any|bool|break|const|continue|count|delete|double|else|enum|event|export|file|for|function|global|hook|if|in|int|interval|local|module|next|of|opaque|pattern|port|print|record|return|schedule|set|string|subnet|table|time|timeout|using|vector|when)\\b/,\n operator: /--?|\\+\\+?|!=?=?|<=?|>=?|==?=?|&&|\\|\\|?|\\?|\\*|\\/|~|\\^|%/,\n number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n punctuation: /[{}[\\];(),.:]/\n }\n}\n","'use strict'\n\nmodule.exports = bsl\nbsl.displayName = 'bsl'\nbsl.aliases = []\nfunction bsl(Prism) {\n /* eslint-disable no-misleading-character-class */\n // 1C:Enterprise\n // https://github.com/Diversus23/\n //\n Prism.languages.bsl = {\n comment: /\\/\\/.*/,\n string: [\n // Строки\n // Strings\n {\n pattern: /\"(?:[^\"]|\"\")*\"(?!\")/,\n greedy: true\n }, // Дата и время\n // Date & time\n {\n pattern: /'(?:[^'\\r\\n\\\\]|\\\\.)*'/\n }\n ],\n keyword: [\n {\n // RU\n pattern:\n /(^|[^\\w\\u0400-\\u0484\\u0487-\\u052f\\u1d2b\\u1d78\\u2de0-\\u2dff\\ua640-\\ua69f\\ufe2e\\ufe2f])(?:пока|для|новый|прервать|попытка|исключение|вызватьисключение|иначе|конецпопытки|неопределено|функция|перем|возврат|конецфункции|если|иначеесли|процедура|конецпроцедуры|тогда|знач|экспорт|конецесли|из|каждого|истина|ложь|по|цикл|конеццикла|выполнить)(?![\\w\\u0400-\\u0484\\u0487-\\u052f\\u1d2b\\u1d78\\u2de0-\\u2dff\\ua640-\\ua69f\\ufe2e\\ufe2f])/i,\n lookbehind: true\n },\n {\n // EN\n pattern:\n /\\b(?:break|do|each|else|elseif|enddo|endfunction|endif|endprocedure|endtry|except|execute|export|false|for|function|if|in|new|null|procedure|raise|return|then|to|true|try|undefined|val|var|while)\\b/i\n }\n ],\n number: {\n pattern:\n /(^(?=\\d)|[^\\w\\u0400-\\u0484\\u0487-\\u052f\\u1d2b\\u1d78\\u2de0-\\u2dff\\ua640-\\ua69f\\ufe2e\\ufe2f])(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:E[+-]?\\d+)?/i,\n lookbehind: true\n },\n operator: [\n /[<>+\\-*/]=?|[%=]/, // RU\n {\n pattern:\n /(^|[^\\w\\u0400-\\u0484\\u0487-\\u052f\\u1d2b\\u1d78\\u2de0-\\u2dff\\ua640-\\ua69f\\ufe2e\\ufe2f])(?:и|или|не)(?![\\w\\u0400-\\u0484\\u0487-\\u052f\\u1d2b\\u1d78\\u2de0-\\u2dff\\ua640-\\ua69f\\ufe2e\\ufe2f])/i,\n lookbehind: true\n }, // EN\n {\n pattern: /\\b(?:and|not|or)\\b/i\n }\n ],\n punctuation: /\\(\\.|\\.\\)|[()\\[\\]:;,.]/,\n directive: [\n // Теги препроцессора вида &Клиент, &Сервер, ...\n // Preprocessor tags of the type &Client, &Server, ...\n {\n pattern: /^([ \\t]*)&.*/m,\n lookbehind: true,\n greedy: true,\n alias: 'important'\n }, // Инструкции препроцессора вида:\n // #Если Сервер Тогда\n // ...\n // #КонецЕсли\n // Preprocessor instructions of the form:\n // #If Server Then\n // ...\n // #EndIf\n {\n pattern: /^([ \\t]*)#.*/gm,\n lookbehind: true,\n greedy: true,\n alias: 'important'\n }\n ]\n }\n Prism.languages.oscript = Prism.languages['bsl']\n}\n","'use strict'\n\nmodule.exports = c\nc.displayName = 'c'\nc.aliases = []\nfunction c(Prism) {\n Prism.languages.c = Prism.languages.extend('clike', {\n comment: {\n pattern:\n /\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n greedy: true\n },\n string: {\n // https://en.cppreference.com/w/c/language/string_literal\n pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n greedy: true\n },\n 'class-name': {\n pattern:\n /(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/,\n lookbehind: true\n },\n keyword:\n /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n number:\n /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i,\n operator: />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/\n })\n Prism.languages.insertBefore('c', 'string', {\n char: {\n // https://en.cppreference.com/w/c/language/character_constant\n pattern: /'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n]){0,32}'/,\n greedy: true\n }\n })\n Prism.languages.insertBefore('c', 'string', {\n macro: {\n // allow for multiline macro definitions\n // spaces after the # character compile fine with gcc\n pattern:\n /(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n lookbehind: true,\n greedy: true,\n alias: 'property',\n inside: {\n string: [\n {\n // highlight the path of the include statement as a string\n pattern: /^(#\\s*include\\s*)<[^>]+>/,\n lookbehind: true\n },\n Prism.languages.c['string']\n ],\n char: Prism.languages.c['char'],\n comment: Prism.languages.c['comment'],\n 'macro-name': [\n {\n pattern: /(^#\\s*define\\s+)\\w+\\b(?!\\()/i,\n lookbehind: true\n },\n {\n pattern: /(^#\\s*define\\s+)\\w+\\b(?=\\()/i,\n lookbehind: true,\n alias: 'function'\n }\n ],\n // highlight macro directives as keywords\n directive: {\n pattern: /^(#\\s*)[a-z]+/,\n lookbehind: true,\n alias: 'keyword'\n },\n 'directive-hash': /^#/,\n punctuation: /##|\\\\(?=[\\r\\n])/,\n expression: {\n pattern: /\\S[\\s\\S]*/,\n inside: Prism.languages.c\n }\n }\n }\n })\n Prism.languages.insertBefore('c', 'function', {\n // highlight predefined macros as constants\n constant:\n /\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/\n })\n delete Prism.languages.c['boolean']\n}\n","'use strict'\n\nmodule.exports = cfscript\ncfscript.displayName = 'cfscript'\ncfscript.aliases = []\nfunction cfscript(Prism) {\n // https://cfdocs.org/script\n Prism.languages.cfscript = Prism.languages.extend('clike', {\n comment: [\n {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true,\n inside: {\n annotation: {\n pattern: /(?:^|[^.])@[\\w\\.]+/,\n alias: 'punctuation'\n }\n }\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n keyword:\n /\\b(?:abstract|break|catch|component|continue|default|do|else|extends|final|finally|for|function|if|in|include|package|private|property|public|remote|required|rethrow|return|static|switch|throw|try|var|while|xml)\\b(?!\\s*=)/,\n operator: [\n /\\+\\+|--|&&|\\|\\||::|=>|[!=]==|<=?|>=?|[-+*/%&|^!=<>]=?|\\?(?:\\.|:)?|[?:]/,\n /\\b(?:and|contains|eq|equal|eqv|gt|gte|imp|is|lt|lte|mod|not|or|xor)\\b/\n ],\n scope: {\n pattern:\n /\\b(?:application|arguments|cgi|client|cookie|local|session|super|this|variables)\\b/,\n alias: 'global'\n },\n type: {\n pattern:\n /\\b(?:any|array|binary|boolean|date|guid|numeric|query|string|struct|uuid|void|xml)\\b/,\n alias: 'builtin'\n }\n })\n Prism.languages.insertBefore('cfscript', 'keyword', {\n // This must be declared before keyword because we use \"function\" inside the lookahead\n 'function-variable': {\n pattern:\n /[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n alias: 'function'\n }\n })\n delete Prism.languages.cfscript['class-name']\n Prism.languages.cfc = Prism.languages['cfscript']\n}\n","'use strict'\nvar refractorCpp = require('./cpp.js')\nmodule.exports = chaiscript\nchaiscript.displayName = 'chaiscript'\nchaiscript.aliases = []\nfunction chaiscript(Prism) {\n Prism.register(refractorCpp)\n Prism.languages.chaiscript = Prism.languages.extend('clike', {\n string: {\n pattern: /(^|[^\\\\])'(?:[^'\\\\]|\\\\[\\s\\S])*'/,\n lookbehind: true,\n greedy: true\n },\n 'class-name': [\n {\n // e.g. class Rectangle { ... }\n pattern: /(\\bclass\\s+)\\w+/,\n lookbehind: true\n },\n {\n // e.g. attr Rectangle::height, def Rectangle::area() { ... }\n pattern: /(\\b(?:attr|def)\\s+)\\w+(?=\\s*::)/,\n lookbehind: true\n }\n ],\n keyword:\n /\\b(?:attr|auto|break|case|catch|class|continue|def|default|else|finally|for|fun|global|if|return|switch|this|try|var|while)\\b/,\n number: [Prism.languages.cpp.number, /\\b(?:Infinity|NaN)\\b/],\n operator:\n />>=?|<<=?|\\|\\||&&|:[:=]?|--|\\+\\+|[=!<>+\\-*/%|&^]=?|[?~]|`[^`\\r\\n]{1,4}`/\n })\n Prism.languages.insertBefore('chaiscript', 'operator', {\n 'parameter-type': {\n // e.g. def foo(int x, Vector y) {...}\n pattern: /([,(]\\s*)\\w+(?=\\s+\\w)/,\n lookbehind: true,\n alias: 'class-name'\n }\n })\n Prism.languages.insertBefore('chaiscript', 'string', {\n 'string-interpolation': {\n pattern:\n /(^|[^\\\\])\"(?:[^\"$\\\\]|\\\\[\\s\\S]|\\$(?!\\{)|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})*\\})*\"/,\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})*\\}/,\n lookbehind: true,\n inside: {\n 'interpolation-expression': {\n pattern: /(^\\$\\{)[\\s\\S]+(?=\\}$)/,\n lookbehind: true,\n inside: Prism.languages.chaiscript\n },\n 'interpolation-punctuation': {\n pattern: /^\\$\\{|\\}$/,\n alias: 'punctuation'\n }\n }\n },\n string: /[\\s\\S]+/\n }\n }\n })\n}\n","'use strict'\n\nmodule.exports = cil\ncil.displayName = 'cil'\ncil.aliases = []\nfunction cil(Prism) {\n Prism.languages.cil = {\n comment: /\\/\\/.*/,\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n directive: {\n pattern: /(^|\\W)\\.[a-z]+(?=\\s)/,\n lookbehind: true,\n alias: 'class-name'\n },\n // Actually an assembly reference\n variable: /\\[[\\w\\.]+\\]/,\n keyword:\n /\\b(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|u?int(?:8|16|32|64)?|iant|idispatch|implements|import|initonly|instance|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)\\b/,\n function:\n /\\b(?:(?:constrained|no|readonly|tail|unaligned|volatile)\\.)?(?:conv\\.(?:[iu][1248]?|ovf\\.[iu][1248]?(?:\\.un)?|r\\.un|r4|r8)|ldc\\.(?:i4(?:\\.\\d+|\\.[mM]1|\\.s)?|i8|r4|r8)|ldelem(?:\\.[iu][1248]?|\\.r[48]|\\.ref|a)?|ldind\\.(?:[iu][1248]?|r[48]|ref)|stelem\\.?(?:i[1248]?|r[48]|ref)?|stind\\.(?:i[1248]?|r[48]|ref)?|end(?:fault|filter|finally)|ldarg(?:\\.[0-3s]|a(?:\\.s)?)?|ldloc(?:\\.\\d+|\\.s)?|sub(?:\\.ovf(?:\\.un)?)?|mul(?:\\.ovf(?:\\.un)?)?|add(?:\\.ovf(?:\\.un)?)?|stloc(?:\\.[0-3s])?|refany(?:type|val)|blt(?:\\.un)?(?:\\.s)?|ble(?:\\.un)?(?:\\.s)?|bgt(?:\\.un)?(?:\\.s)?|bge(?:\\.un)?(?:\\.s)?|unbox(?:\\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\\.s)?|bne\\.un(?:\\.s)?|ldloca(?:\\.s)?|brzero(?:\\.s)?|brtrue(?:\\.s)?|brnull(?:\\.s)?|brinst(?:\\.s)?|starg(?:\\.s)?|leave(?:\\.s)?|shr(?:\\.un)?|rem(?:\\.un)?|div(?:\\.un)?|clt(?:\\.un)?|alignment|castclass|ldvirtftn|beq(?:\\.s)?|ckfinite|ldsflda|ldtoken|localloc|mkrefany|rethrow|cgt\\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|cgt|ceq|box|and|or|br)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n number: /\\b-?(?:0x[0-9a-f]+|\\d+)(?:\\.[0-9a-f]+)?\\b/i,\n punctuation: /[{}[\\];(),:=]|IL_[0-9A-Za-z]+/\n }\n}\n","'use strict'\n\nmodule.exports = clike\nclike.displayName = 'clike'\nclike.aliases = []\nfunction clike(Prism) {\n Prism.languages.clike = {\n comment: [\n {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n 'class-name': {\n pattern:\n /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n lookbehind: true,\n inside: {\n punctuation: /[.\\\\]/\n }\n },\n keyword:\n /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n function: /\\b\\w+(?=\\()/,\n number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n operator: /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n punctuation: /[{}[\\];(),.:]/\n }\n}\n","'use strict'\n\nmodule.exports = clojure\nclojure.displayName = 'clojure'\nclojure.aliases = []\nfunction clojure(Prism) {\n // Copied from https://github.com/jeluard/prism-clojure\n Prism.languages.clojure = {\n comment: {\n pattern: /;.*/,\n greedy: true\n },\n string: {\n pattern: /\"(?:[^\"\\\\]|\\\\.)*\"/,\n greedy: true\n },\n char: /\\\\\\w+/,\n symbol: {\n pattern: /(^|[\\s()\\[\\]{},])::?[\\w*+!?'<>=/.-]+/,\n lookbehind: true\n },\n keyword: {\n pattern:\n /(\\()(?:-|->|->>|\\.|\\.\\.|\\*|\\/|\\+|<|<=|=|==|>|>=|accessor|agent|agent-errors|aget|alength|all-ns|alter|and|append-child|apply|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|await|await-for|bean|binding|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|boolean|branch\\?|butlast|byte|cast|char|children|class|clear-agent-errors|comment|commute|comp|comparator|complement|concat|cond|conj|cons|constantly|construct-proxy|contains\\?|count|create-ns|create-struct|cycle|dec|declare|def|def-|definline|definterface|defmacro|defmethod|defmulti|defn|defn-|defonce|defproject|defprotocol|defrecord|defstruct|deftype|deref|difference|disj|dissoc|distinct|do|doall|doc|dorun|doseq|dosync|dotimes|doto|double|down|drop|drop-while|edit|end\\?|ensure|eval|every\\?|false\\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|flush|fn|fnseq|for|frest|gensym|get|get-proxy-class|hash-map|hash-set|identical\\?|identity|if|if-let|if-not|import|in-ns|inc|index|insert-child|insert-left|insert-right|inspect-table|inspect-tree|instance\\?|int|interleave|intersection|into|into-array|iterate|join|key|keys|keyword|keyword\\?|last|lazy-cat|lazy-cons|left|lefts|let|line-seq|list|list\\*|load|load-file|locking|long|loop|macroexpand|macroexpand-1|make-array|make-node|map|map-invert|map\\?|mapcat|max|max-key|memfn|merge|merge-with|meta|min|min-key|monitor-enter|name|namespace|neg\\?|new|newline|next|nil\\?|node|not|not-any\\?|not-every\\?|not=|ns|ns-imports|ns-interns|ns-map|ns-name|ns-publics|ns-refers|ns-resolve|ns-unmap|nth|nthrest|or|parse|partial|path|peek|pop|pos\\?|pr|pr-str|print|print-str|println|println-str|prn|prn-str|project|proxy|proxy-mappings|quot|quote|rand|rand-int|range|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|recur|reduce|ref|ref-set|refer|rem|remove|remove-method|remove-ns|rename|rename-keys|repeat|replace|replicate|resolve|rest|resultset-seq|reverse|rfirst|right|rights|root|rrest|rseq|second|select|select-keys|send|send-off|seq|seq-zip|seq\\?|set|set!|short|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|special-symbol\\?|split-at|split-with|str|string\\?|struct|struct-map|subs|subvec|symbol|symbol\\?|sync|take|take-nth|take-while|test|throw|time|to-array|to-array-2d|tree-seq|true\\?|try|union|up|update-proxy|val|vals|var|var-get|var-set|var\\?|vector|vector-zip|vector\\?|when|when-first|when-let|when-not|with-local-vars|with-meta|with-open|with-out-str|xml-seq|xml-zip|zero\\?|zipmap|zipper)(?=[\\s)]|$)/,\n lookbehind: true\n },\n boolean: /\\b(?:false|nil|true)\\b/,\n number: {\n pattern:\n /(^|[^\\w$@])(?:\\d+(?:[/.]\\d+)?(?:e[+-]?\\d+)?|0x[a-f0-9]+|[1-9]\\d?r[a-z0-9]+)[lmn]?(?![\\w$@])/i,\n lookbehind: true\n },\n function: {\n pattern: /((?:^|[^'])\\()[\\w*+!?'<>=/.-]+(?=[\\s)]|$)/,\n lookbehind: true\n },\n operator: /[#@^`~]/,\n punctuation: /[{}\\[\\](),]/\n }\n}\n","'use strict'\n\nmodule.exports = cmake\ncmake.displayName = 'cmake'\ncmake.aliases = []\nfunction cmake(Prism) {\n Prism.languages.cmake = {\n comment: /#.*/,\n string: {\n pattern: /\"(?:[^\\\\\"]|\\\\.)*\"/,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /\\$\\{(?:[^{}$]|\\$\\{[^{}$]*\\})*\\}/,\n inside: {\n punctuation: /\\$\\{|\\}/,\n variable: /\\w+/\n }\n }\n }\n },\n variable:\n /\\b(?:CMAKE_\\w+|\\w+_(?:(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT|VERSION(?:_MAJOR|_MINOR|_PATCH|_TWEAK)?)|(?:ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERRORS|WARNINGS)|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_(?:BINARY_DIR|DESCRIPTION|HOMEPAGE_URL|NAME|SOURCE_DIR|VERSION|VERSION_(?:MAJOR|MINOR|PATCH|TWEAK))|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE|XCODE_VERSION))\\b/,\n property:\n /\\b(?:cxx_\\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\\w+|\\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|GLOBAL_KEYWORD|GLOBAL_PROJECT_TYPES|GLOBAL_ROOTNAMESPACE|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)\\b/,\n keyword:\n /\\b(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\\s*\\()\\b/,\n boolean: /\\b(?:FALSE|OFF|ON|TRUE)\\b/,\n namespace:\n /\\b(?:INTERFACE|PRIVATE|PROPERTIES|PUBLIC|SHARED|STATIC|TARGET_OBJECTS)\\b/,\n operator:\n /\\b(?:AND|DEFINED|EQUAL|GREATER|LESS|MATCHES|NOT|OR|STREQUAL|STRGREATER|STRLESS|VERSION_EQUAL|VERSION_GREATER|VERSION_LESS)\\b/,\n inserted: {\n pattern: /\\b\\w+::\\w+\\b/,\n alias: 'class-name'\n },\n number: /\\b\\d+(?:\\.\\d+)*\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()\\b/i,\n punctuation: /[()>}]|\\$[<{]/\n }\n}\n","'use strict'\n\nmodule.exports = cobol\ncobol.displayName = 'cobol'\ncobol.aliases = []\nfunction cobol(Prism) {\n Prism.languages.cobol = {\n comment: {\n pattern: /\\*>.*|(^[ \\t]*)\\*.*/m,\n lookbehind: true,\n greedy: true\n },\n string: {\n pattern: /[xzgn]?(?:\"(?:[^\\r\\n\"]|\"\")*\"(?!\")|'(?:[^\\r\\n']|'')*'(?!'))/i,\n greedy: true\n },\n level: {\n pattern: /(^[ \\t]*)\\d+\\b/m,\n lookbehind: true,\n greedy: true,\n alias: 'number'\n },\n 'class-name': {\n // https://github.com/antlr/grammars-v4/blob/42edd5b687d183b5fa679e858a82297bd27141e7/cobol85/Cobol85.g4#L1015\n pattern:\n /(\\bpic(?:ture)?\\s+)(?:(?:[-\\w$/,:*+<>]|\\.(?!\\s|$))(?:\\(\\d+\\))?)+/i,\n lookbehind: true,\n inside: {\n number: {\n pattern: /(\\()\\d+/,\n lookbehind: true\n },\n punctuation: /[()]/\n }\n },\n keyword: {\n pattern:\n /(^|[^\\w-])(?:ABORT|ACCEPT|ACCESS|ADD|ADDRESS|ADVANCING|AFTER|ALIGNED|ALL|ALPHABET|ALPHABETIC|ALPHABETIC-LOWER|ALPHABETIC-UPPER|ALPHANUMERIC|ALPHANUMERIC-EDITED|ALSO|ALTER|ALTERNATE|ANY|ARE|AREA|AREAS|AS|ASCENDING|ASCII|ASSIGN|ASSOCIATED-DATA|ASSOCIATED-DATA-LENGTH|AT|ATTRIBUTE|AUTHOR|AUTO|AUTO-SKIP|BACKGROUND-COLOR|BACKGROUND-COLOUR|BASIS|BEEP|BEFORE|BEGINNING|BELL|BINARY|BIT|BLANK|BLINK|BLOCK|BOTTOM|BOUNDS|BY|BYFUNCTION|BYTITLE|CALL|CANCEL|CAPABLE|CCSVERSION|CD|CF|CH|CHAINING|CHANGED|CHANNEL|CHARACTER|CHARACTERS|CLASS|CLASS-ID|CLOCK-UNITS|CLOSE|CLOSE-DISPOSITION|COBOL|CODE|CODE-SET|COL|COLLATING|COLUMN|COM-REG|COMMA|COMMITMENT|COMMON|COMMUNICATION|COMP|COMP-1|COMP-2|COMP-3|COMP-4|COMP-5|COMPUTATIONAL|COMPUTATIONAL-1|COMPUTATIONAL-2|COMPUTATIONAL-3|COMPUTATIONAL-4|COMPUTATIONAL-5|COMPUTE|CONFIGURATION|CONTAINS|CONTENT|CONTINUE|CONTROL|CONTROL-POINT|CONTROLS|CONVENTION|CONVERTING|COPY|CORR|CORRESPONDING|COUNT|CRUNCH|CURRENCY|CURSOR|DATA|DATA-BASE|DATE|DATE-COMPILED|DATE-WRITTEN|DAY|DAY-OF-WEEK|DBCS|DE|DEBUG-CONTENTS|DEBUG-ITEM|DEBUG-LINE|DEBUG-NAME|DEBUG-SUB-1|DEBUG-SUB-2|DEBUG-SUB-3|DEBUGGING|DECIMAL-POINT|DECLARATIVES|DEFAULT|DEFAULT-DISPLAY|DEFINITION|DELETE|DELIMITED|DELIMITER|DEPENDING|DESCENDING|DESTINATION|DETAIL|DFHRESP|DFHVALUE|DISABLE|DISK|DISPLAY|DISPLAY-1|DIVIDE|DIVISION|DONTCARE|DOUBLE|DOWN|DUPLICATES|DYNAMIC|EBCDIC|EGCS|EGI|ELSE|EMI|EMPTY-CHECK|ENABLE|END|END-ACCEPT|END-ADD|END-CALL|END-COMPUTE|END-DELETE|END-DIVIDE|END-EVALUATE|END-IF|END-MULTIPLY|END-OF-PAGE|END-PERFORM|END-READ|END-RECEIVE|END-RETURN|END-REWRITE|END-SEARCH|END-START|END-STRING|END-SUBTRACT|END-UNSTRING|END-WRITE|ENDING|ENTER|ENTRY|ENTRY-PROCEDURE|ENVIRONMENT|EOL|EOP|EOS|ERASE|ERROR|ESCAPE|ESI|EVALUATE|EVENT|EVERY|EXCEPTION|EXCLUSIVE|EXHIBIT|EXIT|EXPORT|EXTEND|EXTENDED|EXTERNAL|FD|FILE|FILE-CONTROL|FILLER|FINAL|FIRST|FOOTING|FOR|FOREGROUND-COLOR|FOREGROUND-COLOUR|FROM|FULL|FUNCTION|FUNCTION-POINTER|FUNCTIONNAME|GENERATE|GIVING|GLOBAL|GO|GOBACK|GRID|GROUP|HEADING|HIGH-VALUE|HIGH-VALUES|HIGHLIGHT|I-O|I-O-CONTROL|ID|IDENTIFICATION|IF|IMPLICIT|IMPORT|IN|INDEX|INDEXED|INDICATE|INITIAL|INITIALIZE|INITIATE|INPUT|INPUT-OUTPUT|INSPECT|INSTALLATION|INTEGER|INTO|INVALID|INVOKE|IS|JUST|JUSTIFIED|KANJI|KEPT|KEY|KEYBOARD|LABEL|LANGUAGE|LAST|LB|LD|LEADING|LEFT|LEFTLINE|LENGTH|LENGTH-CHECK|LIBACCESS|LIBPARAMETER|LIBRARY|LIMIT|LIMITS|LINAGE|LINAGE-COUNTER|LINE|LINE-COUNTER|LINES|LINKAGE|LIST|LOCAL|LOCAL-STORAGE|LOCK|LONG-DATE|LONG-TIME|LOW-VALUE|LOW-VALUES|LOWER|LOWLIGHT|MEMORY|MERGE|MESSAGE|MMDDYYYY|MODE|MODULES|MORE-LABELS|MOVE|MULTIPLE|MULTIPLY|NAMED|NATIONAL|NATIONAL-EDITED|NATIVE|NEGATIVE|NETWORK|NEXT|NO|NO-ECHO|NULL|NULLS|NUMBER|NUMERIC|NUMERIC-DATE|NUMERIC-EDITED|NUMERIC-TIME|OBJECT-COMPUTER|OCCURS|ODT|OF|OFF|OMITTED|ON|OPEN|OPTIONAL|ORDER|ORDERLY|ORGANIZATION|OTHER|OUTPUT|OVERFLOW|OVERLINE|OWN|PACKED-DECIMAL|PADDING|PAGE|PAGE-COUNTER|PASSWORD|PERFORM|PF|PH|PIC|PICTURE|PLUS|POINTER|PORT|POSITION|POSITIVE|PRINTER|PRINTING|PRIVATE|PROCEDURE|PROCEDURE-POINTER|PROCEDURES|PROCEED|PROCESS|PROGRAM|PROGRAM-ID|PROGRAM-LIBRARY|PROMPT|PURGE|QUEUE|QUOTE|QUOTES|RANDOM|RD|READ|READER|REAL|RECEIVE|RECEIVED|RECORD|RECORDING|RECORDS|RECURSIVE|REDEFINES|REEL|REF|REFERENCE|REFERENCES|RELATIVE|RELEASE|REMAINDER|REMARKS|REMOTE|REMOVAL|REMOVE|RENAMES|REPLACE|REPLACING|REPORT|REPORTING|REPORTS|REQUIRED|RERUN|RESERVE|RESET|RETURN|RETURN-CODE|RETURNING|REVERSE-VIDEO|REVERSED|REWIND|REWRITE|RF|RH|RIGHT|ROUNDED|RUN|SAME|SAVE|SCREEN|SD|SEARCH|SECTION|SECURE|SECURITY|SEGMENT|SEGMENT-LIMIT|SELECT|SEND|SENTENCE|SEPARATE|SEQUENCE|SEQUENTIAL|SET|SHARED|SHAREDBYALL|SHAREDBYRUNUNIT|SHARING|SHIFT-IN|SHIFT-OUT|SHORT-DATE|SIGN|SIZE|SORT|SORT-CONTROL|SORT-CORE-SIZE|SORT-FILE-SIZE|SORT-MERGE|SORT-MESSAGE|SORT-MODE-SIZE|SORT-RETURN|SOURCE|SOURCE-COMPUTER|SPACE|SPACES|SPECIAL-NAMES|STANDARD|STANDARD-1|STANDARD-2|START|STATUS|STOP|STRING|SUB-QUEUE-1|SUB-QUEUE-2|SUB-QUEUE-3|SUBTRACT|SUM|SUPPRESS|SYMBOL|SYMBOLIC|SYNC|SYNCHRONIZED|TABLE|TALLY|TALLYING|TAPE|TASK|TERMINAL|TERMINATE|TEST|TEXT|THEN|THREAD|THREAD-LOCAL|THROUGH|THRU|TIME|TIMER|TIMES|TITLE|TO|TODAYS-DATE|TODAYS-NAME|TOP|TRAILING|TRUNCATED|TYPE|TYPEDEF|UNDERLINE|UNIT|UNSTRING|UNTIL|UP|UPON|USAGE|USE|USING|VALUE|VALUES|VARYING|VIRTUAL|WAIT|WHEN|WHEN-COMPILED|WITH|WORDS|WORKING-STORAGE|WRITE|YEAR|YYYYDDD|YYYYMMDD|ZERO-FILL|ZEROES|ZEROS)(?![\\w-])/i,\n lookbehind: true\n },\n boolean: {\n pattern: /(^|[^\\w-])(?:false|true)(?![\\w-])/i,\n lookbehind: true\n },\n number: {\n pattern:\n /(^|[^\\w-])(?:[+-]?(?:(?:\\d+(?:[.,]\\d+)?|[.,]\\d+)(?:e[+-]?\\d+)?|zero))(?![\\w-])/i,\n lookbehind: true\n },\n operator: [\n /<>|[<>]=?|[=+*/&]/,\n {\n pattern: /(^|[^\\w-])(?:-|and|equal|greater|less|not|or|than)(?![\\w-])/i,\n lookbehind: true\n }\n ],\n punctuation: /[.:,()]/\n }\n}\n","'use strict'\n\nmodule.exports = coffeescript\ncoffeescript.displayName = 'coffeescript'\ncoffeescript.aliases = ['coffee']\nfunction coffeescript(Prism) {\n ;(function (Prism) {\n // Ignore comments starting with { to privilege string interpolation highlighting\n var comment = /#(?!\\{).+/\n var interpolation = {\n pattern: /#\\{[^}]+\\}/,\n alias: 'variable'\n }\n Prism.languages.coffeescript = Prism.languages.extend('javascript', {\n comment: comment,\n string: [\n // Strings are multiline\n {\n pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/,\n greedy: true\n },\n {\n // Strings are multiline\n pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n greedy: true,\n inside: {\n interpolation: interpolation\n }\n }\n ],\n keyword:\n /\\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\\b/,\n 'class-member': {\n pattern: /@(?!\\d)\\w+/,\n alias: 'variable'\n }\n })\n Prism.languages.insertBefore('coffeescript', 'comment', {\n 'multiline-comment': {\n pattern: /###[\\s\\S]+?###/,\n alias: 'comment'\n },\n // Block regexp can contain comments and interpolation\n 'block-regex': {\n pattern: /\\/{3}[\\s\\S]*?\\/{3}/,\n alias: 'regex',\n inside: {\n comment: comment,\n interpolation: interpolation\n }\n }\n })\n Prism.languages.insertBefore('coffeescript', 'string', {\n 'inline-javascript': {\n pattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/,\n inside: {\n delimiter: {\n pattern: /^`|`$/,\n alias: 'punctuation'\n },\n script: {\n pattern: /[\\s\\S]+/,\n alias: 'language-javascript',\n inside: Prism.languages.javascript\n }\n }\n },\n // Block strings\n 'multiline-string': [\n {\n pattern: /'''[\\s\\S]*?'''/,\n greedy: true,\n alias: 'string'\n },\n {\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: true,\n alias: 'string',\n inside: {\n interpolation: interpolation\n }\n }\n ]\n })\n Prism.languages.insertBefore('coffeescript', 'keyword', {\n // Object property\n property: /(?!\\d)\\w+(?=\\s*:(?!:))/\n })\n delete Prism.languages.coffeescript['template-string']\n Prism.languages.coffee = Prism.languages.coffeescript\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = concurnas\nconcurnas.displayName = 'concurnas'\nconcurnas.aliases = ['conc']\nfunction concurnas(Prism) {\n Prism.languages.concurnas = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?(?:\\*\\/|$)|\\/\\/.*)/,\n lookbehind: true,\n greedy: true\n },\n langext: {\n pattern: /\\b\\w+\\s*\\|\\|[\\s\\S]+?\\|\\|/,\n greedy: true,\n inside: {\n 'class-name': /^\\w+/,\n string: {\n pattern: /(^\\s*\\|\\|)[\\s\\S]+(?=\\|\\|$)/,\n lookbehind: true\n },\n punctuation: /\\|\\|/\n }\n },\n function: {\n pattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/,\n lookbehind: true\n },\n keyword:\n /\\b(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n number:\n /\\b0b[01][01_]*L?\\b|\\b0x(?:[\\da-f_]*\\.)?[\\da-f_p+-]+\\b|(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfls]?/i,\n punctuation: /[{}[\\];(),.:]/,\n operator:\n /<==|>==|=>|->|<-|<>|&==|&<>|\\?:?|\\.\\?|\\+\\+|--|[-+*/=<>]=?|[!^~]|\\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\\b=?/,\n annotation: {\n pattern: /@(?:\\w+:)?(?:\\w+|\\[[^\\]]+\\])?/,\n alias: 'builtin'\n }\n }\n Prism.languages.insertBefore('concurnas', 'langext', {\n 'regex-literal': {\n pattern: /\\br(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true,\n inside: {\n interpolation: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n lookbehind: true,\n inside: Prism.languages.concurnas\n },\n regex: /[\\s\\S]+/\n }\n },\n 'string-literal': {\n pattern: /(?:\\B|\\bs)(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true,\n inside: {\n interpolation: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n lookbehind: true,\n inside: Prism.languages.concurnas\n },\n string: /[\\s\\S]+/\n }\n }\n })\n Prism.languages.conc = Prism.languages.concurnas\n}\n","'use strict'\n\nmodule.exports = coq\ncoq.displayName = 'coq'\ncoq.aliases = []\nfunction coq(Prism) {\n ;(function (Prism) {\n // https://github.com/coq/coq\n var commentSource = /\\(\\*(?:[^(*]|\\((?!\\*)|\\*(?!\\))|<self>)*\\*\\)/.source\n for (var i = 0; i < 2; i++) {\n commentSource = commentSource.replace(/<self>/g, function () {\n return commentSource\n })\n }\n commentSource = commentSource.replace(/<self>/g, '[]')\n Prism.languages.coq = {\n comment: RegExp(commentSource),\n string: {\n pattern: /\"(?:[^\"]|\"\")*\"(?!\")/,\n greedy: true\n },\n attribute: [\n {\n pattern: RegExp(\n /#\\[(?:[^\\[\\](\"]|\"(?:[^\"]|\"\")*\"(?!\")|\\((?!\\*)|<comment>)*\\]/.source.replace(\n /<comment>/g,\n function () {\n return commentSource\n }\n )\n ),\n greedy: true,\n alias: 'attr-name',\n inside: {\n comment: RegExp(commentSource),\n string: {\n pattern: /\"(?:[^\"]|\"\")*\"(?!\")/,\n greedy: true\n },\n operator: /=/,\n punctuation: /^#\\[|\\]$|[,()]/\n }\n },\n {\n pattern:\n /\\b(?:Cumulative|Global|Local|Monomorphic|NonCumulative|Polymorphic|Private|Program)\\b/,\n alias: 'attr-name'\n }\n ],\n keyword:\n /\\b(?:Abort|About|Add|Admit|Admitted|All|Arguments|As|Assumptions|Axiom|Axioms|Back|BackTo|Backtrace|BinOp|BinOpSpec|BinRel|Bind|Blacklist|Canonical|Case|Cd|Check|Class|Classes|Close|CoFixpoint|CoInductive|Coercion|Coercions|Collection|Combined|Compute|Conjecture|Conjectures|Constant|Constants|Constraint|Constructors|Context|Corollary|Create|CstOp|Custom|Cut|Debug|Declare|Defined|Definition|Delimit|Dependencies|Dependent|Derive|Diffs|Drop|Elimination|End|Entry|Equality|Eval|Example|Existential|Existentials|Existing|Export|Extern|Extraction|Fact|Fail|Field|File|Firstorder|Fixpoint|Flags|Focus|From|Funclass|Function|Functional|GC|Generalizable|Goal|Grab|Grammar|Graph|Guarded|Haskell|Heap|Hide|Hint|HintDb|Hints|Hypotheses|Hypothesis|IF|Identity|Immediate|Implicit|Implicits|Import|Include|Induction|Inductive|Infix|Info|Initial|InjTyp|Inline|Inspect|Instance|Instances|Intro|Intros|Inversion|Inversion_clear|JSON|Language|Left|Lemma|Let|Lia|Libraries|Library|Load|LoadPath|Locate|Ltac|Ltac2|ML|Match|Method|Minimality|Module|Modules|Morphism|Next|NoInline|Notation|Number|OCaml|Obligation|Obligations|Opaque|Open|Optimize|Parameter|Parameters|Parametric|Path|Paths|Prenex|Preterm|Primitive|Print|Profile|Projections|Proof|Prop|PropBinOp|PropOp|PropUOp|Property|Proposition|Pwd|Qed|Quit|Rec|Record|Recursive|Redirect|Reduction|Register|Relation|Remark|Remove|Require|Reserved|Reset|Resolve|Restart|Rewrite|Right|Ring|Rings|SProp|Saturate|Save|Scheme|Scope|Scopes|Search|SearchHead|SearchPattern|SearchRewrite|Section|Separate|Set|Setoid|Show|Signatures|Solve|Solver|Sort|Sortclass|Sorted|Spec|Step|Strategies|Strategy|String|Structure|SubClass|Subgraph|SuchThat|Tactic|Term|TestCompile|Theorem|Time|Timeout|To|Transparent|Type|Typeclasses|Types|Typing|UnOp|UnOpSpec|Undelimit|Undo|Unfocus|Unfocused|Unfold|Universe|Universes|Unshelve|Variable|Variables|Variant|Verbose|View|Visibility|Zify|_|apply|as|at|by|cofix|else|end|exists|exists2|fix|for|forall|fun|if|in|let|match|measure|move|removed|return|struct|then|using|wf|where|with)\\b/,\n number:\n /\\b(?:0x[a-f0-9][a-f0-9_]*(?:\\.[a-f0-9_]+)?(?:p[+-]?\\d[\\d_]*)?|\\d[\\d_]*(?:\\.[\\d_]+)?(?:e[+-]?\\d[\\d_]*)?)\\b/i,\n punct: {\n pattern: /@\\{|\\{\\||\\[=|:>/,\n alias: 'punctuation'\n },\n operator:\n /\\/\\\\|\\\\\\/|\\.{2,3}|:{1,2}=|\\*\\*|[-=]>|<(?:->?|[+:=>]|<:)|>(?:=|->)|\\|[-|]?|[-!%&*+/<=>?@^~']/,\n punctuation: /\\.\\(|`\\(|@\\{|`\\{|\\{\\||\\[=|:>|[:.,;(){}\\[\\]]/\n }\n })(Prism)\n}\n","'use strict'\nvar refractorC = require('./c.js')\nmodule.exports = cpp\ncpp.displayName = 'cpp'\ncpp.aliases = []\nfunction cpp(Prism) {\n Prism.register(refractorC)\n ;(function (Prism) {\n var keyword =\n /\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/\n var modName = /\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b/.source.replace(\n /<keyword>/g,\n function () {\n return keyword.source\n }\n )\n Prism.languages.cpp = Prism.languages.extend('c', {\n 'class-name': [\n {\n pattern: RegExp(\n /(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+/.source.replace(\n /<keyword>/g,\n function () {\n return keyword.source\n }\n )\n ),\n lookbehind: true\n }, // This is intended to capture the class name of method implementations like:\n // void foo::bar() const {}\n // However! The `foo` in the above example could also be a namespace, so we only capture the class name if\n // it starts with an uppercase letter. This approximation should give decent results.\n /\\b[A-Z]\\w*(?=\\s*::\\s*\\w+\\s*\\()/, // This will capture the class name before destructors like:\n // Foo::~Foo() {}\n /\\b[A-Z_]\\w*(?=\\s*::\\s*~\\w+\\s*\\()/i, // This also intends to capture the class name of method implementations but here the class has template\n // parameters, so it can't be a namespace (until C++ adds generic namespaces).\n /\\b\\w+(?=\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\\s*::\\s*\\w+\\s*\\()/\n ],\n keyword: keyword,\n number: {\n pattern:\n /(?:\\b0b[01']+|\\b0x(?:[\\da-f']+(?:\\.[\\da-f']*)?|\\.[\\da-f']+)(?:p[+-]?[\\d']+)?|(?:\\b[\\d']+(?:\\.[\\d']*)?|\\B\\.[\\d']+)(?:e[+-]?[\\d']+)?)[ful]{0,4}/i,\n greedy: true\n },\n operator:\n />>=?|<<=?|->|--|\\+\\+|&&|\\|\\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/,\n boolean: /\\b(?:false|true)\\b/\n })\n Prism.languages.insertBefore('cpp', 'string', {\n module: {\n // https://en.cppreference.com/w/cpp/language/modules\n pattern: RegExp(\n /(\\b(?:import|module)\\s+)/.source +\n '(?:' + // header-name\n /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|<[^<>\\r\\n]*>/.source +\n '|' + // module name or partition or both\n /<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>/.source.replace(\n /<mod-name>/g,\n function () {\n return modName\n }\n ) +\n ')'\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n string: /^[<\"][\\s\\S]+/,\n operator: /:/,\n punctuation: /\\./\n }\n },\n 'raw-string': {\n pattern: /R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/,\n alias: 'string',\n greedy: true\n }\n })\n Prism.languages.insertBefore('cpp', 'keyword', {\n 'generic-function': {\n pattern: /\\b(?!operator\\b)[a-z_]\\w*\\s*<(?:[^<>]|<[^<>]*>)*>(?=\\s*\\()/i,\n inside: {\n function: /^\\w+/,\n generic: {\n pattern: /<[\\s\\S]+/,\n alias: 'class-name',\n inside: Prism.languages.cpp\n }\n }\n }\n })\n Prism.languages.insertBefore('cpp', 'operator', {\n 'double-colon': {\n pattern: /::/,\n alias: 'punctuation'\n }\n })\n Prism.languages.insertBefore('cpp', 'class-name', {\n // the base clause is an optional list of parent classes\n // https://en.cppreference.com/w/cpp/language/class\n 'base-clause': {\n pattern:\n /(\\b(?:class|struct)\\s+\\w+\\s*:\\s*)[^;{}\"'\\s]+(?:\\s+[^;{}\"'\\s]+)*(?=\\s*[;{])/,\n lookbehind: true,\n greedy: true,\n inside: Prism.languages.extend('cpp', {})\n }\n })\n Prism.languages.insertBefore(\n 'inside',\n 'double-colon',\n {\n // All untokenized words that are not namespaces should be class names\n 'class-name': /\\b[a-z_]\\w*\\b(?!\\s*::)/i\n },\n Prism.languages.cpp['base-clause']\n )\n })(Prism)\n}\n","'use strict'\nvar refractorRuby = require('./ruby.js')\nmodule.exports = crystal\ncrystal.displayName = 'crystal'\ncrystal.aliases = []\nfunction crystal(Prism) {\n Prism.register(refractorRuby)\n ;(function (Prism) {\n Prism.languages.crystal = Prism.languages.extend('ruby', {\n keyword: [\n /\\b(?:__DIR__|__END_LINE__|__FILE__|__LINE__|abstract|alias|annotation|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|ifdef|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|ptr|require|rescue|return|select|self|sizeof|struct|super|then|type|typeof|undef|uninitialized|union|unless|until|when|while|with|yield)\\b/,\n {\n pattern: /(\\.\\s*)(?:is_a|responds_to)\\?/,\n lookbehind: true\n }\n ],\n number:\n /\\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\\da-fA-F_]*[\\da-fA-F]|(?:\\d(?:[\\d_]*\\d)?)(?:\\.[\\d_]*\\d)?(?:[eE][+-]?[\\d_]*\\d)?)(?:_(?:[uif](?:8|16|32|64))?)?\\b/,\n operator: [/->/, Prism.languages.ruby.operator],\n punctuation: /[(){}[\\].,;\\\\]/\n })\n Prism.languages.insertBefore('crystal', 'string-literal', {\n attribute: {\n pattern: /@\\[.*?\\]/,\n inside: {\n delimiter: {\n pattern: /^@\\[|\\]$/,\n alias: 'punctuation'\n },\n attribute: {\n pattern: /^(\\s*)\\w+/,\n lookbehind: true,\n alias: 'class-name'\n },\n args: {\n pattern: /\\S(?:[\\s\\S]*\\S)?/,\n inside: Prism.languages.crystal\n }\n }\n },\n expansion: {\n pattern: /\\{(?:\\{.*?\\}|%.*?%)\\}/,\n inside: {\n content: {\n pattern: /^(\\{.)[\\s\\S]+(?=.\\}$)/,\n lookbehind: true,\n inside: Prism.languages.crystal\n },\n delimiter: {\n pattern: /^\\{[\\{%]|[\\}%]\\}$/,\n alias: 'operator'\n }\n }\n },\n char: {\n pattern:\n /'(?:[^\\\\\\r\\n]{1,2}|\\\\(?:.|u(?:[A-Fa-f0-9]{1,4}|\\{[A-Fa-f0-9]{1,6}\\})))'/,\n greedy: true\n }\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = csharp\ncsharp.displayName = 'csharp'\ncsharp.aliases = ['dotnet', 'cs']\nfunction csharp(Prism) {\n ;(function (Prism) {\n /**\n * Replaces all placeholders \"<<n>>\" of given pattern with the n-th replacement (zero based).\n *\n * Note: This is a simple text based replacement. Be careful when using backreferences!\n *\n * @param {string} pattern the given pattern.\n * @param {string[]} replacements a list of replacement which can be inserted into the given pattern.\n * @returns {string} the pattern with all placeholders replaced with their corresponding replacements.\n * @example replace(/a<<0>>a/.source, [/b+/.source]) === /a(?:b+)a/.source\n */\n function replace(pattern, replacements) {\n return pattern.replace(/<<(\\d+)>>/g, function (m, index) {\n return '(?:' + replacements[+index] + ')'\n })\n }\n /**\n * @param {string} pattern\n * @param {string[]} replacements\n * @param {string} [flags]\n * @returns {RegExp}\n */\n function re(pattern, replacements, flags) {\n return RegExp(replace(pattern, replacements), flags || '')\n }\n /**\n * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.\n *\n * @param {string} pattern\n * @param {number} depthLog2\n * @returns {string}\n */\n function nested(pattern, depthLog2) {\n for (var i = 0; i < depthLog2; i++) {\n pattern = pattern.replace(/<<self>>/g, function () {\n return '(?:' + pattern + ')'\n })\n }\n return pattern.replace(/<<self>>/g, '[^\\\\s\\\\S]')\n } // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/\n var keywordKinds = {\n // keywords which represent a return or variable type\n type: 'bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void',\n // keywords which are used to declare a type\n typeDeclaration: 'class enum interface record struct',\n // contextual keywords\n // (\"var\" and \"dynamic\" are missing because they are used like types)\n contextual:\n 'add alias and ascending async await by descending from(?=\\\\s*(?:\\\\w|$)) get global group into init(?=\\\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\\\s*{)',\n // all other keywords\n other:\n 'abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield'\n } // keywords\n function keywordsToPattern(words) {\n return '\\\\b(?:' + words.trim().replace(/ /g, '|') + ')\\\\b'\n }\n var typeDeclarationKeywords = keywordsToPattern(\n keywordKinds.typeDeclaration\n )\n var keywords = RegExp(\n keywordsToPattern(\n keywordKinds.type +\n ' ' +\n keywordKinds.typeDeclaration +\n ' ' +\n keywordKinds.contextual +\n ' ' +\n keywordKinds.other\n )\n )\n var nonTypeKeywords = keywordsToPattern(\n keywordKinds.typeDeclaration +\n ' ' +\n keywordKinds.contextual +\n ' ' +\n keywordKinds.other\n )\n var nonContextualKeywords = keywordsToPattern(\n keywordKinds.type +\n ' ' +\n keywordKinds.typeDeclaration +\n ' ' +\n keywordKinds.other\n ) // types\n var generic = nested(/<(?:[^<>;=+\\-*/%&|^]|<<self>>)*>/.source, 2) // the idea behind the other forbidden characters is to prevent false positives. Same for tupleElement.\n var nestedRound = nested(/\\((?:[^()]|<<self>>)*\\)/.source, 2)\n var name = /@?\\b[A-Za-z_]\\w*\\b/.source\n var genericName = replace(/<<0>>(?:\\s*<<1>>)?/.source, [name, generic])\n var identifier = replace(/(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*/.source, [\n nonTypeKeywords,\n genericName\n ])\n var array = /\\[\\s*(?:,\\s*)*\\]/.source\n var typeExpressionWithoutTuple = replace(\n /<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?/.source,\n [identifier, array]\n )\n var tupleElement = replace(\n /[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,\n [generic, nestedRound, array]\n )\n var tuple = replace(/\\(<<0>>+(?:,<<0>>+)+\\)/.source, [tupleElement])\n var typeExpression = replace(\n /(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?/.source,\n [tuple, identifier, array]\n )\n var typeInside = {\n keyword: keywords,\n punctuation: /[<>()?,.:[\\]]/\n } // strings & characters\n // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#character-literals\n // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#string-literals\n var character = /'(?:[^\\r\\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'/.source // simplified pattern\n var regularString = /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/.source\n var verbatimString = /@\"(?:\"\"|\\\\[\\s\\S]|[^\\\\\"])*\"(?!\")/.source\n Prism.languages.csharp = Prism.languages.extend('clike', {\n string: [\n {\n pattern: re(/(^|[^$\\\\])<<0>>/.source, [verbatimString]),\n lookbehind: true,\n greedy: true\n },\n {\n pattern: re(/(^|[^@$\\\\])<<0>>/.source, [regularString]),\n lookbehind: true,\n greedy: true\n }\n ],\n 'class-name': [\n {\n // Using static\n // using static System.Math;\n pattern: re(/(\\busing\\s+static\\s+)<<0>>(?=\\s*;)/.source, [\n identifier\n ]),\n lookbehind: true,\n inside: typeInside\n },\n {\n // Using alias (type)\n // using Project = PC.MyCompany.Project;\n pattern: re(/(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)/.source, [\n name,\n typeExpression\n ]),\n lookbehind: true,\n inside: typeInside\n },\n {\n // Using alias (alias)\n // using Project = PC.MyCompany.Project;\n pattern: re(/(\\busing\\s+)<<0>>(?=\\s*=)/.source, [name]),\n lookbehind: true\n },\n {\n // Type declarations\n // class Foo<A, B>\n // interface Foo<out A, B>\n pattern: re(/(\\b<<0>>\\s+)<<1>>/.source, [\n typeDeclarationKeywords,\n genericName\n ]),\n lookbehind: true,\n inside: typeInside\n },\n {\n // Single catch exception declaration\n // catch(Foo)\n // (things like catch(Foo e) is covered by variable declaration)\n pattern: re(/(\\bcatch\\s*\\(\\s*)<<0>>/.source, [identifier]),\n lookbehind: true,\n inside: typeInside\n },\n {\n // Name of the type parameter of generic constraints\n // where Foo : class\n pattern: re(/(\\bwhere\\s+)<<0>>/.source, [name]),\n lookbehind: true\n },\n {\n // Casts and checks via as and is.\n // as Foo<A>, is Bar<B>\n // (things like if(a is Foo b) is covered by variable declaration)\n pattern: re(/(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>/.source, [\n typeExpressionWithoutTuple\n ]),\n lookbehind: true,\n inside: typeInside\n },\n {\n // Variable, field and parameter declaration\n // (Foo bar, Bar baz, Foo[,,] bay, Foo<Bar, FooBar<Bar>> bax)\n pattern: re(\n /\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))/\n .source,\n [typeExpression, nonContextualKeywords, name]\n ),\n inside: typeInside\n }\n ],\n keyword: keywords,\n // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#literals\n number:\n /(?:\\b0(?:x[\\da-f_]*[\\da-f]|b[01_]*[01])|(?:\\B\\.\\d+(?:_+\\d+)*|\\b\\d+(?:_+\\d+)*(?:\\.\\d+(?:_+\\d+)*)?)(?:e[-+]?\\d+(?:_+\\d+)*)?)(?:[dflmu]|lu|ul)?\\b/i,\n operator: />>=?|<<=?|[-=]>|([-+&|])\\1|~|\\?\\?=?|[-+*/%&|^!=<>]=?/,\n punctuation: /\\?\\.?|::|[{}[\\];(),.:]/\n })\n Prism.languages.insertBefore('csharp', 'number', {\n range: {\n pattern: /\\.\\./,\n alias: 'operator'\n }\n })\n Prism.languages.insertBefore('csharp', 'punctuation', {\n 'named-parameter': {\n pattern: re(/([(,]\\s*)<<0>>(?=\\s*:)/.source, [name]),\n lookbehind: true,\n alias: 'punctuation'\n }\n })\n Prism.languages.insertBefore('csharp', 'class-name', {\n namespace: {\n // namespace Foo.Bar {}\n // using Foo.Bar;\n pattern: re(\n /(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])/.source,\n [name]\n ),\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n },\n 'type-expression': {\n // default(Foo), typeof(Foo<Bar>), sizeof(int)\n pattern: re(\n /(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))/\n .source,\n [nestedRound]\n ),\n lookbehind: true,\n alias: 'class-name',\n inside: typeInside\n },\n 'return-type': {\n // Foo<Bar> ForBar(); Foo IFoo.Bar() => 0\n // int this[int index] => 0; T IReadOnlyList<T>.this[int index] => this[index];\n // int Foo => 0; int Foo { get; set } = 0;\n pattern: re(\n /<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))/.source,\n [typeExpression, identifier]\n ),\n inside: typeInside,\n alias: 'class-name'\n },\n 'constructor-invocation': {\n // new List<Foo<Bar[]>> { }\n pattern: re(/(\\bnew\\s+)<<0>>(?=\\s*[[({])/.source, [typeExpression]),\n lookbehind: true,\n inside: typeInside,\n alias: 'class-name'\n },\n /*'explicit-implementation': {\n// int IFoo<Foo>.Bar => 0; void IFoo<Foo<Foo>>.Foo<T>();\npattern: replace(/\\b<<0>>(?=\\.<<1>>)/, className, methodOrPropertyDeclaration),\ninside: classNameInside,\nalias: 'class-name'\n},*/\n 'generic-method': {\n // foo<Bar>()\n pattern: re(/<<0>>\\s*<<1>>(?=\\s*\\()/.source, [name, generic]),\n inside: {\n function: re(/^<<0>>/.source, [name]),\n generic: {\n pattern: RegExp(generic),\n alias: 'class-name',\n inside: typeInside\n }\n }\n },\n 'type-list': {\n // The list of types inherited or of generic constraints\n // class Foo<F> : Bar, IList<FooBar>\n // where F : Bar, IList<int>\n pattern: re(\n /\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))/\n .source,\n [\n typeDeclarationKeywords,\n genericName,\n name,\n typeExpression,\n keywords.source,\n nestedRound,\n /\\bnew\\s*\\(\\s*\\)/.source\n ]\n ),\n lookbehind: true,\n inside: {\n 'record-arguments': {\n pattern: re(/(^(?!new\\s*\\()<<0>>\\s*)<<1>>/.source, [\n genericName,\n nestedRound\n ]),\n lookbehind: true,\n greedy: true,\n inside: Prism.languages.csharp\n },\n keyword: keywords,\n 'class-name': {\n pattern: RegExp(typeExpression),\n greedy: true,\n inside: typeInside\n },\n punctuation: /[,()]/\n }\n },\n preprocessor: {\n pattern: /(^[\\t ]*)#.*/m,\n lookbehind: true,\n alias: 'property',\n inside: {\n // highlight preprocessor directives as keywords\n directive: {\n pattern:\n /(#)\\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\\b/,\n lookbehind: true,\n alias: 'keyword'\n }\n }\n }\n }) // attributes\n var regularStringOrCharacter = regularString + '|' + character\n var regularStringCharacterOrComment = replace(\n /\\/(?![*/])|\\/\\/[^\\r\\n]*[\\r\\n]|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>/.source,\n [regularStringOrCharacter]\n )\n var roundExpression = nested(\n replace(/[^\"'/()]|<<0>>|\\(<<self>>*\\)/.source, [\n regularStringCharacterOrComment\n ]),\n 2\n ) // https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/attributes/#attribute-targets\n var attrTarget =\n /\\b(?:assembly|event|field|method|module|param|property|return|type)\\b/\n .source\n var attr = replace(/<<0>>(?:\\s*\\(<<1>>*\\))?/.source, [\n identifier,\n roundExpression\n ])\n Prism.languages.insertBefore('csharp', 'class-name', {\n attribute: {\n // Attributes\n // [Foo], [Foo(1), Bar(2, Prop = \"foo\")], [return: Foo(1), Bar(2)], [assembly: Foo(Bar)]\n pattern: re(\n /((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])/\n .source,\n [attrTarget, attr]\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n target: {\n pattern: re(/^<<0>>(?=\\s*:)/.source, [attrTarget]),\n alias: 'keyword'\n },\n 'attribute-arguments': {\n pattern: re(/\\(<<0>>*\\)/.source, [roundExpression]),\n inside: Prism.languages.csharp\n },\n 'class-name': {\n pattern: RegExp(identifier),\n inside: {\n punctuation: /\\./\n }\n },\n punctuation: /[:,]/\n }\n }\n }) // string interpolation\n var formatString = /:[^}\\r\\n]+/.source // multi line\n var mInterpolationRound = nested(\n replace(/[^\"'/()]|<<0>>|\\(<<self>>*\\)/.source, [\n regularStringCharacterOrComment\n ]),\n 2\n )\n var mInterpolation = replace(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source, [\n mInterpolationRound,\n formatString\n ]) // single line\n var sInterpolationRound = nested(\n replace(\n /[^\"'/()]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>|\\(<<self>>*\\)/\n .source,\n [regularStringOrCharacter]\n ),\n 2\n )\n var sInterpolation = replace(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source, [\n sInterpolationRound,\n formatString\n ])\n function createInterpolationInside(interpolation, interpolationRound) {\n return {\n interpolation: {\n pattern: re(/((?:^|[^{])(?:\\{\\{)*)<<0>>/.source, [interpolation]),\n lookbehind: true,\n inside: {\n 'format-string': {\n pattern: re(/(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)/.source, [\n interpolationRound,\n formatString\n ]),\n lookbehind: true,\n inside: {\n punctuation: /^:/\n }\n },\n punctuation: /^\\{|\\}$/,\n expression: {\n pattern: /[\\s\\S]+/,\n alias: 'language-csharp',\n inside: Prism.languages.csharp\n }\n }\n },\n string: /[\\s\\S]+/\n }\n }\n Prism.languages.insertBefore('csharp', 'string', {\n 'interpolation-string': [\n {\n pattern: re(\n /(^|[^\\\\])(?:\\$@|@\\$)\"(?:\"\"|\\\\[\\s\\S]|\\{\\{|<<0>>|[^\\\\{\"])*\"/.source,\n [mInterpolation]\n ),\n lookbehind: true,\n greedy: true,\n inside: createInterpolationInside(mInterpolation, mInterpolationRound)\n },\n {\n pattern: re(/(^|[^@\\\\])\\$\"(?:\\\\.|\\{\\{|<<0>>|[^\\\\\"{])*\"/.source, [\n sInterpolation\n ]),\n lookbehind: true,\n greedy: true,\n inside: createInterpolationInside(sInterpolation, sInterpolationRound)\n }\n ],\n char: {\n pattern: RegExp(character),\n greedy: true\n }\n })\n Prism.languages.dotnet = Prism.languages.cs = Prism.languages.csharp\n })(Prism)\n}\n","'use strict'\nvar refractorCsharp = require('./csharp.js')\nmodule.exports = cshtml\ncshtml.displayName = 'cshtml'\ncshtml.aliases = ['razor']\nfunction cshtml(Prism) {\n Prism.register(refractorCsharp)\n // Docs:\n // https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-5.0&tabs=visual-studio\n // https://docs.microsoft.com/en-us/aspnet/core/mvc/views/razor?view=aspnetcore-5.0\n ;(function (Prism) {\n var commentLike = /\\/(?![/*])|\\/\\/.*[\\r\\n]|\\/\\*[^*]*(?:\\*(?!\\/)[^*]*)*\\*\\//\n .source\n var stringLike =\n /@(?!\")|\"(?:[^\\r\\n\\\\\"]|\\\\.)*\"|@\"(?:[^\\\\\"]|\"\"|\\\\[\\s\\S])*\"(?!\")/.source +\n '|' +\n /'(?:(?:[^\\r\\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'|(?=[^\\\\](?!')))/.source\n /**\n * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.\n *\n * @param {string} pattern\n * @param {number} depthLog2\n * @returns {string}\n */\n function nested(pattern, depthLog2) {\n for (var i = 0; i < depthLog2; i++) {\n pattern = pattern.replace(/<self>/g, function () {\n return '(?:' + pattern + ')'\n })\n }\n return pattern\n .replace(/<self>/g, '[^\\\\s\\\\S]')\n .replace(/<str>/g, '(?:' + stringLike + ')')\n .replace(/<comment>/g, '(?:' + commentLike + ')')\n }\n var round = nested(/\\((?:[^()'\"@/]|<str>|<comment>|<self>)*\\)/.source, 2)\n var square = nested(/\\[(?:[^\\[\\]'\"@/]|<str>|<comment>|<self>)*\\]/.source, 2)\n var curly = nested(/\\{(?:[^{}'\"@/]|<str>|<comment>|<self>)*\\}/.source, 2)\n var angle = nested(/<(?:[^<>'\"@/]|<str>|<comment>|<self>)*>/.source, 2) // Note about the above bracket patterns:\n // They all ignore HTML expressions that might be in the C# code. This is a problem because HTML (like strings and\n // comments) is parsed differently. This is a huge problem because HTML might contain brackets and quotes which\n // messes up the bracket and string counting implemented by the above patterns.\n //\n // This problem is not fixable because 1) HTML expression are highly context sensitive and very difficult to detect\n // and 2) they require one capturing group at every nested level. See the `tagRegion` pattern to admire the\n // complexity of an HTML expression.\n //\n // To somewhat alleviate the problem a bit, the patterns for characters (e.g. 'a') is very permissive, it also\n // allows invalid characters to support HTML expressions like this: <p>That's it!</p>.\n var tagAttrs =\n /(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?/\n .source\n var tagContent = /(?!\\d)[^\\s>\\/=$<%]+/.source + tagAttrs + /\\s*\\/?>/.source\n var tagRegion =\n /\\B@?/.source +\n '(?:' +\n /<([a-zA-Z][\\w:]*)/.source +\n tagAttrs +\n /\\s*>/.source +\n '(?:' +\n (/[^<]/.source +\n '|' + // all tags that are not the start tag\n // eslint-disable-next-line regexp/strict\n /<\\/?(?!\\1\\b)/.source +\n tagContent +\n '|' + // nested start tag\n nested(\n // eslint-disable-next-line regexp/strict\n /<\\1/.source +\n tagAttrs +\n /\\s*>/.source +\n '(?:' +\n (/[^<]/.source +\n '|' + // all tags that are not the start tag\n // eslint-disable-next-line regexp/strict\n /<\\/?(?!\\1\\b)/.source +\n tagContent +\n '|' +\n '<self>') +\n ')*' + // eslint-disable-next-line regexp/strict\n /<\\/\\1\\s*>/.source,\n 2\n )) +\n ')*' + // eslint-disable-next-line regexp/strict\n /<\\/\\1\\s*>/.source +\n '|' +\n /</.source +\n tagContent +\n ')' // Now for the actual language definition(s):\n //\n // Razor as a language has 2 parts:\n // 1) CSHTML: A markup-like language that has been extended with inline C# code expressions and blocks.\n // 2) C#+HTML: A variant of C# that can contain CSHTML tags as expressions.\n //\n // In the below code, both CSHTML and C#+HTML will be create as separate language definitions that reference each\n // other. However, only CSHTML will be exported via `Prism.languages`.\n Prism.languages.cshtml = Prism.languages.extend('markup', {})\n var csharpWithHtml = Prism.languages.insertBefore(\n 'csharp',\n 'string',\n {\n html: {\n pattern: RegExp(tagRegion),\n greedy: true,\n inside: Prism.languages.cshtml\n }\n },\n {\n csharp: Prism.languages.extend('csharp', {})\n }\n )\n var cs = {\n pattern: /\\S[\\s\\S]*/,\n alias: 'language-csharp',\n inside: csharpWithHtml\n }\n Prism.languages.insertBefore('cshtml', 'prolog', {\n 'razor-comment': {\n pattern: /@\\*[\\s\\S]*?\\*@/,\n greedy: true,\n alias: 'comment'\n },\n block: {\n pattern: RegExp(\n /(^|[^@])@/.source +\n '(?:' +\n [\n // @{ ... }\n curly, // @code{ ... }\n /(?:code|functions)\\s*/.source + curly, // @for (...) { ... }\n /(?:for|foreach|lock|switch|using|while)\\s*/.source +\n round +\n /\\s*/.source +\n curly, // @do { ... } while (...);\n /do\\s*/.source +\n curly +\n /\\s*while\\s*/.source +\n round +\n /(?:\\s*;)?/.source, // @try { ... } catch (...) { ... } finally { ... }\n /try\\s*/.source +\n curly +\n /\\s*catch\\s*/.source +\n round +\n /\\s*/.source +\n curly +\n /\\s*finally\\s*/.source +\n curly, // @if (...) {...} else if (...) {...} else {...}\n /if\\s*/.source +\n round +\n /\\s*/.source +\n curly +\n '(?:' +\n /\\s*else/.source +\n '(?:' +\n /\\s+if\\s*/.source +\n round +\n ')?' +\n /\\s*/.source +\n curly +\n ')*'\n ].join('|') +\n ')'\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n keyword: /^@\\w*/,\n csharp: cs\n }\n },\n directive: {\n pattern:\n /^([ \\t]*)@(?:addTagHelper|attribute|implements|inherits|inject|layout|model|namespace|page|preservewhitespace|removeTagHelper|section|tagHelperPrefix|using)(?=\\s).*/m,\n lookbehind: true,\n greedy: true,\n inside: {\n keyword: /^@\\w+/,\n csharp: cs\n }\n },\n value: {\n pattern: RegExp(\n /(^|[^@])@/.source +\n /(?:await\\b\\s*)?/.source +\n '(?:' +\n /\\w+\\b/.source +\n '|' +\n round +\n ')' +\n '(?:' +\n /[?!]?\\.\\w+\\b/.source +\n '|' +\n round +\n '|' +\n square +\n '|' +\n angle +\n round +\n ')*'\n ),\n lookbehind: true,\n greedy: true,\n alias: 'variable',\n inside: {\n keyword: /^@/,\n csharp: cs\n }\n },\n 'delegate-operator': {\n pattern: /(^|[^@])@(?=<)/,\n lookbehind: true,\n alias: 'operator'\n }\n })\n Prism.languages.razor = Prism.languages.cshtml\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = csp\ncsp.displayName = 'csp'\ncsp.aliases = []\nfunction csp(Prism) {\n /**\n * Original by Scott Helme.\n *\n * Reference: https://scotthelme.co.uk/csp-cheat-sheet/\n *\n * Supports the following:\n * - https://www.w3.org/TR/CSP1/\n * - https://www.w3.org/TR/CSP2/\n * - https://www.w3.org/TR/CSP3/\n */\n ;(function (Prism) {\n /**\n * @param {string} source\n * @returns {RegExp}\n */\n function value(source) {\n return RegExp(\n /([ \\t])/.source + '(?:' + source + ')' + /(?=[\\s;]|$)/.source,\n 'i'\n )\n }\n Prism.languages.csp = {\n directive: {\n pattern:\n /(^|[\\s;])(?:base-uri|block-all-mixed-content|(?:child|connect|default|font|frame|img|manifest|media|object|prefetch|script|style|worker)-src|disown-opener|form-action|frame-(?:ancestors|options)|input-protection(?:-(?:clip|selectors))?|navigate-to|plugin-types|policy-uri|referrer|reflected-xss|report-(?:to|uri)|require-sri-for|sandbox|(?:script|style)-src-(?:attr|elem)|upgrade-insecure-requests)(?=[\\s;]|$)/i,\n lookbehind: true,\n alias: 'property'\n },\n scheme: {\n pattern: value(/[a-z][a-z0-9.+-]*:/.source),\n lookbehind: true\n },\n none: {\n pattern: value(/'none'/.source),\n lookbehind: true,\n alias: 'keyword'\n },\n nonce: {\n pattern: value(/'nonce-[-+/\\w=]+'/.source),\n lookbehind: true,\n alias: 'number'\n },\n hash: {\n pattern: value(/'sha(?:256|384|512)-[-+/\\w=]+'/.source),\n lookbehind: true,\n alias: 'number'\n },\n host: {\n pattern: value(\n /[a-z][a-z0-9.+-]*:\\/\\/[^\\s;,']*/.source +\n '|' +\n /\\*[^\\s;,']*/.source +\n '|' +\n /[a-z0-9-]+(?:\\.[a-z0-9-]+)+(?::[\\d*]+)?(?:\\/[^\\s;,']*)?/.source\n ),\n lookbehind: true,\n alias: 'url',\n inside: {\n important: /\\*/\n }\n },\n keyword: [\n {\n pattern: value(/'unsafe-[a-z-]+'/.source),\n lookbehind: true,\n alias: 'unsafe'\n },\n {\n pattern: value(/'[a-z-]+'/.source),\n lookbehind: true,\n alias: 'safe'\n }\n ],\n punctuation: /;/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = cssExtras\ncssExtras.displayName = 'cssExtras'\ncssExtras.aliases = []\nfunction cssExtras(Prism) {\n ;(function (Prism) {\n var string = /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/\n var selectorInside\n Prism.languages.css.selector = {\n pattern: Prism.languages.css.selector.pattern,\n lookbehind: true,\n inside: (selectorInside = {\n 'pseudo-element':\n /:(?:after|before|first-letter|first-line|selection)|::[-\\w]+/,\n 'pseudo-class': /:[-\\w]+/,\n class: /\\.[-\\w]+/,\n id: /#[-\\w]+/,\n attribute: {\n pattern: RegExp('\\\\[(?:[^[\\\\]\"\\']|' + string.source + ')*\\\\]'),\n greedy: true,\n inside: {\n punctuation: /^\\[|\\]$/,\n 'case-sensitivity': {\n pattern: /(\\s)[si]$/i,\n lookbehind: true,\n alias: 'keyword'\n },\n namespace: {\n pattern: /^(\\s*)(?:(?!\\s)[-*\\w\\xA0-\\uFFFF])*\\|(?!=)/,\n lookbehind: true,\n inside: {\n punctuation: /\\|$/\n }\n },\n 'attr-name': {\n pattern: /^(\\s*)(?:(?!\\s)[-\\w\\xA0-\\uFFFF])+/,\n lookbehind: true\n },\n 'attr-value': [\n string,\n {\n pattern: /(=\\s*)(?:(?!\\s)[-\\w\\xA0-\\uFFFF])+(?=\\s*$)/,\n lookbehind: true\n }\n ],\n operator: /[|~*^$]?=/\n }\n },\n 'n-th': [\n {\n pattern: /(\\(\\s*)[+-]?\\d*[\\dn](?:\\s*[+-]\\s*\\d+)?(?=\\s*\\))/,\n lookbehind: true,\n inside: {\n number: /[\\dn]+/,\n operator: /[+-]/\n }\n },\n {\n pattern: /(\\(\\s*)(?:even|odd)(?=\\s*\\))/i,\n lookbehind: true\n }\n ],\n combinator: />|\\+|~|\\|\\|/,\n // the `tag` token has been existed and removed.\n // because we can't find a perfect tokenize to match it.\n // if you want to add it, please read https://github.com/PrismJS/prism/pull/2373 first.\n punctuation: /[(),]/\n })\n }\n Prism.languages.css['atrule'].inside['selector-function-argument'].inside =\n selectorInside\n Prism.languages.insertBefore('css', 'property', {\n variable: {\n pattern:\n /(^|[^-\\w\\xA0-\\uFFFF])--(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*/i,\n lookbehind: true\n }\n })\n var unit = {\n pattern: /(\\b\\d+)(?:%|[a-z]+(?![\\w-]))/,\n lookbehind: true\n } // 123 -123 .123 -.123 12.3 -12.3\n var number = {\n pattern: /(^|[^\\w.-])-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/,\n lookbehind: true\n }\n Prism.languages.insertBefore('css', 'function', {\n operator: {\n pattern: /(\\s)[+\\-*\\/](?=\\s)/,\n lookbehind: true\n },\n // CAREFUL!\n // Previewers and Inline color use hexcode and color.\n hexcode: {\n pattern: /\\B#[\\da-f]{3,8}\\b/i,\n alias: 'color'\n },\n color: [\n {\n pattern:\n /(^|[^\\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\\w-])/i,\n lookbehind: true\n },\n {\n pattern:\n /\\b(?:hsl|rgb)\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*\\)\\B|\\b(?:hsl|rgb)a\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*,\\s*(?:0|0?\\.\\d+|1)\\s*\\)\\B/i,\n inside: {\n unit: unit,\n number: number,\n function: /[\\w-]+(?=\\()/,\n punctuation: /[(),]/\n }\n }\n ],\n // it's important that there is no boundary assertion after the hex digits\n entity: /\\\\[\\da-f]{1,8}/i,\n unit: unit,\n number: number\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = css\ncss.displayName = 'css'\ncss.aliases = []\nfunction css(Prism) {\n ;(function (Prism) {\n var string =\n /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/\n Prism.languages.css = {\n comment: /\\/\\*[\\s\\S]*?\\*\\//,\n atrule: {\n pattern: /@[\\w-](?:[^;{\\s]|\\s+(?![\\s{]))*(?:;|(?=\\s*\\{))/,\n inside: {\n rule: /^@[\\w-]+/,\n 'selector-function-argument': {\n pattern:\n /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n lookbehind: true,\n alias: 'selector'\n },\n keyword: {\n pattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n lookbehind: true\n } // See rest below\n }\n },\n url: {\n // https://drafts.csswg.org/css-values-3/#urls\n pattern: RegExp(\n '\\\\burl\\\\((?:' +\n string.source +\n '|' +\n /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source +\n ')\\\\)',\n 'i'\n ),\n greedy: true,\n inside: {\n function: /^url/i,\n punctuation: /^\\(|\\)$/,\n string: {\n pattern: RegExp('^' + string.source + '$'),\n alias: 'url'\n }\n }\n },\n selector: {\n pattern: RegExp(\n '(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' +\n string.source +\n ')*(?=\\\\s*\\\\{)'\n ),\n lookbehind: true\n },\n string: {\n pattern: string,\n greedy: true\n },\n property: {\n pattern:\n /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n lookbehind: true\n },\n important: /!important\\b/i,\n function: {\n pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n lookbehind: true\n },\n punctuation: /[(){};:,]/\n }\n Prism.languages.css['atrule'].inside.rest = Prism.languages.css\n var markup = Prism.languages.markup\n if (markup) {\n markup.tag.addInlined('style', 'css')\n markup.tag.addAttribute('style', 'css')\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = csv\ncsv.displayName = 'csv'\ncsv.aliases = []\nfunction csv(Prism) {\n // https://tools.ietf.org/html/rfc4180\n Prism.languages.csv = {\n value: /[^\\r\\n,\"]+|\"(?:[^\"]|\"\")*\"(?!\")/,\n punctuation: /,/\n }\n}\n","'use strict'\n\nmodule.exports = cypher\ncypher.displayName = 'cypher'\ncypher.aliases = []\nfunction cypher(Prism) {\n Prism.languages.cypher = {\n // https://neo4j.com/docs/cypher-manual/current/syntax/comments/\n comment: /\\/\\/.*/,\n string: {\n pattern: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'/,\n greedy: true\n },\n 'class-name': {\n pattern: /(:\\s*)(?:\\w+|`(?:[^`\\\\\\r\\n])*`)(?=\\s*[{):])/,\n lookbehind: true,\n greedy: true\n },\n relationship: {\n pattern:\n /(-\\[\\s*(?:\\w+\\s*|`(?:[^`\\\\\\r\\n])*`\\s*)?:\\s*|\\|\\s*:\\s*)(?:\\w+|`(?:[^`\\\\\\r\\n])*`)/,\n lookbehind: true,\n greedy: true,\n alias: 'property'\n },\n identifier: {\n pattern: /`(?:[^`\\\\\\r\\n])*`/,\n greedy: true\n },\n variable: /\\$\\w+/,\n // https://neo4j.com/docs/cypher-manual/current/syntax/reserved/\n keyword:\n /\\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)\\b/i,\n function: /\\b\\w+\\b(?=\\s*\\()/,\n boolean: /\\b(?:false|null|true)\\b/i,\n number: /\\b(?:0x[\\da-fA-F]+|\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)\\b/,\n // https://neo4j.com/docs/cypher-manual/current/syntax/operators/\n operator: /:|<--?|--?>?|<>|=~?|[<>]=?|[+*/%^|]|\\.\\.\\.?/,\n punctuation: /[()[\\]{},;.]/\n }\n}\n","'use strict'\n\nmodule.exports = d\nd.displayName = 'd'\nd.aliases = []\nfunction d(Prism) {\n Prism.languages.d = Prism.languages.extend('clike', {\n comment: [\n {\n // Shebang\n pattern: /^\\s*#!.+/,\n greedy: true\n },\n {\n pattern: RegExp(\n /(^|[^\\\\])/.source +\n '(?:' +\n [\n // /+ comment +/\n // Allow one level of nesting\n /\\/\\+(?:\\/\\+(?:[^+]|\\+(?!\\/))*\\+\\/|(?!\\/\\+)[\\s\\S])*?\\+\\//.source, // // comment\n /\\/\\/.*/.source, // /* comment */\n /\\/\\*[\\s\\S]*?\\*\\//.source\n ].join('|') +\n ')'\n ),\n lookbehind: true,\n greedy: true\n }\n ],\n string: [\n {\n pattern: RegExp(\n [\n // r\"\", x\"\"\n /\\b[rx]\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"[cwd]?/.source, // q\"[]\", q\"()\", q\"<>\", q\"{}\"\n /\\bq\"(?:\\[[\\s\\S]*?\\]|\\([\\s\\S]*?\\)|<[\\s\\S]*?>|\\{[\\s\\S]*?\\})\"/.source, // q\"IDENT\n // ...\n // IDENT\"\n /\\bq\"((?!\\d)\\w+)$[\\s\\S]*?^\\1\"/.source, // q\"//\", q\"||\", etc.\n // eslint-disable-next-line regexp/strict\n /\\bq\"(.)[\\s\\S]*?\\2\"/.source, // eslint-disable-next-line regexp/strict\n /([\"`])(?:\\\\[\\s\\S]|(?!\\3)[^\\\\])*\\3[cwd]?/.source\n ].join('|'),\n 'm'\n ),\n greedy: true\n },\n {\n pattern: /\\bq\\{(?:\\{[^{}]*\\}|[^{}])*\\}/,\n greedy: true,\n alias: 'token-string'\n }\n ],\n // In order: $, keywords and special tokens, globally defined symbols\n keyword:\n /\\$|\\b(?:__(?:(?:DATE|EOF|FILE|FUNCTION|LINE|MODULE|PRETTY_FUNCTION|TIMESTAMP|TIME|VENDOR|VERSION)__|gshared|parameters|traits|vector)|abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|dstring|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|ptrdiff_t|public|pure|real|ref|return|scope|shared|short|size_t|static|string|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|wstring)\\b/,\n number: [\n // The lookbehind and the negative look-ahead try to prevent bad highlighting of the .. operator\n // Hexadecimal numbers must be handled separately to avoid problems with exponent \"e\"\n /\\b0x\\.?[a-f\\d_]+(?:(?!\\.\\.)\\.[a-f\\d_]*)?(?:p[+-]?[a-f\\d_]+)?[ulfi]{0,4}/i,\n {\n pattern:\n /((?:\\.\\.)?)(?:\\b0b\\.?|\\b|\\.)\\d[\\d_]*(?:(?!\\.\\.)\\.[\\d_]*)?(?:e[+-]?\\d[\\d_]*)?[ulfi]{0,4}/i,\n lookbehind: true\n }\n ],\n operator:\n /\\|[|=]?|&[&=]?|\\+[+=]?|-[-=]?|\\.?\\.\\.|=[>=]?|!(?:i[ns]\\b|<>?=?|>=?|=)?|\\bi[ns]\\b|(?:<[<>]?|>>?>?|\\^\\^|[*\\/%^~])=?/\n })\n Prism.languages.insertBefore('d', 'string', {\n // Characters\n // 'a', '\\\\', '\\n', '\\xFF', '\\377', '\\uFFFF', '\\U0010FFFF', '\\quot'\n char: /'(?:\\\\(?:\\W|\\w+)|[^\\\\])'/\n })\n Prism.languages.insertBefore('d', 'keyword', {\n property: /\\B@\\w*/\n })\n Prism.languages.insertBefore('d', 'function', {\n register: {\n // Iasm registers\n pattern:\n /\\b(?:[ABCD][LHX]|E?(?:BP|DI|SI|SP)|[BS]PL|[ECSDGF]S|CR[0234]|[DS]IL|DR[012367]|E[ABCD]X|X?MM[0-7]|R(?:1[0-5]|[89])[BWD]?|R[ABCD]X|R[BS]P|R[DS]I|TR[3-7]|XMM(?:1[0-5]|[89])|YMM(?:1[0-5]|\\d))\\b|\\bST(?:\\([0-7]\\)|\\b)/,\n alias: 'variable'\n }\n })\n}\n","'use strict'\n\nmodule.exports = dart\ndart.displayName = 'dart'\ndart.aliases = []\nfunction dart(Prism) {\n ;(function (Prism) {\n var keywords = [\n /\\b(?:async|sync|yield)\\*/,\n /\\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extends|extension|external|factory|final|finally|for|get|hide|if|implements|import|in|interface|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\\b/\n ] // Handles named imports, such as http.Client\n var packagePrefix = /(^|[^\\w.])(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*/\n .source // based on the dart naming conventions\n var className = {\n pattern: RegExp(packagePrefix + /[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b/.source),\n lookbehind: true,\n inside: {\n namespace: {\n pattern: /^[a-z]\\w*(?:\\s*\\.\\s*[a-z]\\w*)*(?:\\s*\\.)?/,\n inside: {\n punctuation: /\\./\n }\n }\n }\n }\n Prism.languages.dart = Prism.languages.extend('clike', {\n 'class-name': [\n className,\n {\n // variables and parameters\n // this to support class names (or generic parameters) which do not contain a lower case letter (also works for methods)\n pattern: RegExp(\n packagePrefix + /[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()])/.source\n ),\n lookbehind: true,\n inside: className.inside\n }\n ],\n keyword: keywords,\n operator:\n /\\bis!|\\b(?:as|is)\\b|\\+\\+|--|&&|\\|\\||<<=?|>>=?|~(?:\\/=?)?|[+\\-*\\/%&^|=!<>]=?|\\?/\n })\n Prism.languages.insertBefore('dart', 'string', {\n 'string-literal': {\n pattern:\n /r?(?:(\"\"\"|''')[\\s\\S]*?\\1|([\"'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2(?!\\2))/,\n greedy: true,\n inside: {\n interpolation: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:\\w+|\\{(?:[^{}]|\\{[^{}]*\\})*\\})/,\n lookbehind: true,\n inside: {\n punctuation: /^\\$\\{?|\\}$/,\n expression: {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.dart\n }\n }\n },\n string: /[\\s\\S]+/\n }\n },\n string: undefined\n })\n Prism.languages.insertBefore('dart', 'class-name', {\n metadata: {\n pattern: /@\\w+/,\n alias: 'function'\n }\n })\n Prism.languages.insertBefore('dart', 'class-name', {\n generics: {\n pattern:\n /<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<[\\w\\s,.&?]*>)*>)*>)*>/,\n inside: {\n 'class-name': className,\n keyword: keywords,\n punctuation: /[<>(),.:]/,\n operator: /[?&|]/\n }\n }\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = dataweave\ndataweave.displayName = 'dataweave'\ndataweave.aliases = []\nfunction dataweave(Prism) {\n ;(function (Prism) {\n Prism.languages.dataweave = {\n url: /\\b[A-Za-z]+:\\/\\/[\\w/:.?=&-]+|\\burn:[\\w:.?=&-]+/,\n property: {\n pattern: /(?:\\b\\w+#)?(?:\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|\\b\\w+)(?=\\s*[:@])/,\n greedy: true\n },\n string: {\n pattern: /([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n greedy: true\n },\n 'mime-type':\n /\\b(?:application|audio|image|multipart|text|video)\\/[\\w+-]+/,\n date: {\n pattern: /\\|[\\w:+-]+\\|/,\n greedy: true\n },\n comment: [\n {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n regex: {\n pattern: /\\/(?:[^\\\\\\/\\r\\n]|\\\\[^\\r\\n])+\\//,\n greedy: true\n },\n keyword:\n /\\b(?:and|as|at|case|do|else|fun|if|input|is|match|not|ns|null|or|output|type|unless|update|using|var)\\b/,\n function: /\\b[A-Z_]\\w*(?=\\s*\\()/i,\n number: /-?\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\n punctuation: /[{}[\\];(),.:@]/,\n operator: /<<|>>|->|[<>~=]=?|!=|--?-?|\\+\\+?|!|\\?/,\n boolean: /\\b(?:false|true)\\b/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = dax\ndax.displayName = 'dax'\ndax.aliases = []\nfunction dax(Prism) {\n Prism.languages.dax = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/).*)/,\n lookbehind: true\n },\n 'data-field': {\n pattern:\n /'(?:[^']|'')*'(?!')(?:\\[[ \\w\\xA0-\\uFFFF]+\\])?|\\w+\\[[ \\w\\xA0-\\uFFFF]+\\]/,\n alias: 'symbol'\n },\n measure: {\n pattern: /\\[[ \\w\\xA0-\\uFFFF]+\\]/,\n alias: 'constant'\n },\n string: {\n pattern: /\"(?:[^\"]|\"\")*\"(?!\")/,\n greedy: true\n },\n function:\n /\\b(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\\.DIST|BETA\\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\\.DIST|CHISQ\\.DIST\\.RT|CHISQ\\.INV|CHISQ\\.INV\\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\\.NORM|CONFIDENCE\\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\\.DIST|NORM\\.INV|NORM\\.S\\.DIST|NORM\\.S\\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\\.EXC|PERCENTILE\\.INC|PERCENTILEX\\.EXC|PERCENTILEX\\.INC|PERMUT|PI|POISSON\\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\\.P|STDEV\\.S|STDEVX\\.P|STDEVX\\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\\.DIST|T\\.DIST\\.2T|T\\.DIST\\.RT|T\\.INV|T\\.INV\\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\\.P|VAR\\.S|VARX\\.P|VARX\\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\\s*\\()/i,\n keyword:\n /\\b(?:DEFINE|EVALUATE|MEASURE|ORDER\\s+BY|RETURN|VAR|START\\s+AT|ASC|DESC)\\b/i,\n boolean: {\n pattern: /\\b(?:FALSE|NULL|TRUE)\\b/i,\n alias: 'constant'\n },\n number: /\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/,\n operator: /:=|[-+*\\/=^]|&&?|\\|\\||<(?:=>?|<|>)?|>[>=]?|\\b(?:IN|NOT)\\b/i,\n punctuation: /[;\\[\\](){}`,.]/\n }\n}\n","'use strict'\n\nmodule.exports = dhall\ndhall.displayName = 'dhall'\ndhall.aliases = []\nfunction dhall(Prism) {\n // ABNF grammar:\n // https://github.com/dhall-lang/dhall-lang/blob/master/standard/dhall.abnf\n Prism.languages.dhall = {\n // Multi-line comments can be nested. E.g. {- foo {- bar -} -}\n // The multi-line pattern is essentially this:\n // \\{-(?:[^-{]|-(?!\\})|\\{(?!-)|<SELF>)*-\\}\n comment:\n /--.*|\\{-(?:[^-{]|-(?!\\})|\\{(?!-)|\\{-(?:[^-{]|-(?!\\})|\\{(?!-))*-\\})*-\\}/,\n string: {\n pattern: /\"(?:[^\"\\\\]|\\\\.)*\"|''(?:[^']|'(?!')|'''|''\\$\\{)*''(?!'|\\$)/,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /\\$\\{[^{}]*\\}/,\n inside: {\n expression: {\n pattern: /(^\\$\\{)[\\s\\S]+(?=\\}$)/,\n lookbehind: true,\n alias: 'language-dhall',\n inside: null // see blow\n },\n punctuation: /\\$\\{|\\}/\n }\n }\n }\n },\n label: {\n pattern: /`[^`]*`/,\n greedy: true\n },\n url: {\n // https://github.com/dhall-lang/dhall-lang/blob/5fde8ef1bead6fb4e999d3c1ffe7044cd019d63a/standard/dhall.abnf#L596\n pattern:\n /\\bhttps?:\\/\\/[\\w.:%!$&'*+;=@~-]+(?:\\/[\\w.:%!$&'*+;=@~-]*)*(?:\\?[/?\\w.:%!$&'*+;=@~-]*)?/,\n greedy: true\n },\n env: {\n // https://github.com/dhall-lang/dhall-lang/blob/5fde8ef1bead6fb4e999d3c1ffe7044cd019d63a/standard/dhall.abnf#L661\n pattern: /\\benv:(?:(?!\\d)\\w+|\"(?:[^\"\\\\=]|\\\\.)*\")/,\n greedy: true,\n inside: {\n function: /^env/,\n operator: /^:/,\n variable: /[\\s\\S]+/\n }\n },\n hash: {\n // https://github.com/dhall-lang/dhall-lang/blob/5fde8ef1bead6fb4e999d3c1ffe7044cd019d63a/standard/dhall.abnf#L725\n pattern: /\\bsha256:[\\da-fA-F]{64}\\b/,\n inside: {\n function: /sha256/,\n operator: /:/,\n number: /[\\da-fA-F]{64}/\n }\n },\n // https://github.com/dhall-lang/dhall-lang/blob/5fde8ef1bead6fb4e999d3c1ffe7044cd019d63a/standard/dhall.abnf#L359\n keyword:\n /\\b(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)\\b|\\u2200/,\n builtin: /\\b(?:None|Some)\\b/,\n boolean: /\\b(?:False|True)\\b/,\n number:\n /\\bNaN\\b|-?\\bInfinity\\b|[+-]?\\b(?:0x[\\da-fA-F]+|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b/,\n operator:\n /\\/\\\\|\\/\\/\\\\\\\\|&&|\\|\\||===|[!=]=|\\/\\/|->|\\+\\+|::|[+*#@=:?<>|\\\\\\u2227\\u2a53\\u2261\\u2afd\\u03bb\\u2192]/,\n punctuation: /\\.\\.|[{}\\[\\](),./]/,\n // we'll just assume that every capital word left is a type name\n 'class-name': /\\b[A-Z]\\w*\\b/\n }\n Prism.languages.dhall.string.inside.interpolation.inside.expression.inside =\n Prism.languages.dhall\n}\n","'use strict'\n\nmodule.exports = diff\ndiff.displayName = 'diff'\ndiff.aliases = []\nfunction diff(Prism) {\n ;(function (Prism) {\n Prism.languages.diff = {\n coord: [\n // Match all kinds of coord lines (prefixed by \"+++\", \"---\" or \"***\").\n /^(?:\\*{3}|-{3}|\\+{3}).*$/m, // Match \"@@ ... @@\" coord lines in unified diff.\n /^@@.*@@$/m, // Match coord lines in normal diff (starts with a number).\n /^\\d.*$/m\n ] // deleted, inserted, unchanged, diff\n }\n /**\n * A map from the name of a block to its line prefix.\n *\n * @type {Object<string, string>}\n */\n var PREFIXES = {\n 'deleted-sign': '-',\n 'deleted-arrow': '<',\n 'inserted-sign': '+',\n 'inserted-arrow': '>',\n unchanged: ' ',\n diff: '!'\n } // add a token for each prefix\n Object.keys(PREFIXES).forEach(function (name) {\n var prefix = PREFIXES[name]\n var alias = []\n if (!/^\\w+$/.test(name)) {\n // \"deleted-sign\" -> \"deleted\"\n alias.push(/\\w+/.exec(name)[0])\n }\n if (name === 'diff') {\n alias.push('bold')\n }\n Prism.languages.diff[name] = {\n pattern: RegExp(\n '^(?:[' + prefix + '].*(?:\\r\\n?|\\n|(?![\\\\s\\\\S])))+',\n 'm'\n ),\n alias: alias,\n inside: {\n line: {\n pattern: /(.)(?=[\\s\\S]).*(?:\\r\\n?|\\n)?/,\n lookbehind: true\n },\n prefix: {\n pattern: /[\\s\\S]/,\n alias: /\\w+/.exec(name)[0]\n }\n }\n }\n }) // make prefixes available to Diff plugin\n Object.defineProperty(Prism.languages.diff, 'PREFIXES', {\n value: PREFIXES\n })\n })(Prism)\n}\n","'use strict'\nvar refractorMarkupTemplating = require('./markup-templating.js')\nmodule.exports = django\ndjango.displayName = 'django'\ndjango.aliases = ['jinja2']\nfunction django(Prism) {\n Prism.register(refractorMarkupTemplating)\n // Django/Jinja2 syntax definition for Prism.js <http://prismjs.com> syntax highlighter.\n // Mostly it works OK but can paint code incorrectly on complex html/template tag combinations.\n ;(function (Prism) {\n Prism.languages.django = {\n comment: /^\\{#[\\s\\S]*?#\\}$/,\n tag: {\n pattern: /(^\\{%[+-]?\\s*)\\w+/,\n lookbehind: true,\n alias: 'keyword'\n },\n delimiter: {\n pattern: /^\\{[{%][+-]?|[+-]?[}%]\\}$/,\n alias: 'punctuation'\n },\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n filter: {\n pattern: /(\\|)\\w+/,\n lookbehind: true,\n alias: 'function'\n },\n test: {\n pattern: /(\\bis\\s+(?:not\\s+)?)(?!not\\b)\\w+/,\n lookbehind: true,\n alias: 'function'\n },\n function: /\\b[a-z_]\\w+(?=\\s*\\()/i,\n keyword:\n /\\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\\b/,\n operator: /[-+%=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n number: /\\b\\d+(?:\\.\\d+)?\\b/,\n boolean: /[Ff]alse|[Nn]one|[Tt]rue/,\n variable: /\\b\\w+\\b/,\n punctuation: /[{}[\\](),.:;]/\n }\n var pattern = /\\{\\{[\\s\\S]*?\\}\\}|\\{%[\\s\\S]*?%\\}|\\{#[\\s\\S]*?#\\}/g\n var markupTemplating = Prism.languages['markup-templating']\n Prism.hooks.add('before-tokenize', function (env) {\n markupTemplating.buildPlaceholders(env, 'django', pattern)\n })\n Prism.hooks.add('after-tokenize', function (env) {\n markupTemplating.tokenizePlaceholders(env, 'django')\n }) // Add an Jinja2 alias\n Prism.languages.jinja2 = Prism.languages.django\n Prism.hooks.add('before-tokenize', function (env) {\n markupTemplating.buildPlaceholders(env, 'jinja2', pattern)\n })\n Prism.hooks.add('after-tokenize', function (env) {\n markupTemplating.tokenizePlaceholders(env, 'jinja2')\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = dnsZoneFile\ndnsZoneFile.displayName = 'dnsZoneFile'\ndnsZoneFile.aliases = []\nfunction dnsZoneFile(Prism) {\n Prism.languages['dns-zone-file'] = {\n comment: /;.*/,\n string: {\n pattern: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n greedy: true\n },\n variable: [\n {\n pattern: /(^\\$ORIGIN[ \\t]+)\\S+/m,\n lookbehind: true\n },\n {\n pattern: /(^|\\s)@(?=\\s|$)/,\n lookbehind: true\n }\n ],\n keyword: /^\\$(?:INCLUDE|ORIGIN|TTL)(?=\\s|$)/m,\n class: {\n // https://tools.ietf.org/html/rfc1035#page-13\n pattern: /(^|\\s)(?:CH|CS|HS|IN)(?=\\s|$)/,\n lookbehind: true,\n alias: 'keyword'\n },\n type: {\n // https://en.wikipedia.org/wiki/List_of_DNS_record_types\n pattern:\n /(^|\\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?=\\s|$)/,\n lookbehind: true,\n alias: 'keyword'\n },\n punctuation: /[()]/\n }\n Prism.languages['dns-zone'] = Prism.languages['dns-zone-file']\n}\n","'use strict'\n\nmodule.exports = docker\ndocker.displayName = 'docker'\ndocker.aliases = ['dockerfile']\nfunction docker(Prism) {\n ;(function (Prism) {\n // Many of the following regexes will contain negated lookaheads like `[ \\t]+(?![ \\t])`. This is a trick to ensure\n // that quantifiers behave *atomically*. Atomic quantifiers are necessary to prevent exponential backtracking.\n var spaceAfterBackSlash =\n /\\\\[\\r\\n](?:\\s|\\\\[\\r\\n]|#.*(?!.))*(?![\\s#]|\\\\[\\r\\n])/.source // At least one space, comment, or line break\n var space = /(?:[ \\t]+(?![ \\t])(?:<SP_BS>)?|<SP_BS>)/.source.replace(\n /<SP_BS>/g,\n function () {\n return spaceAfterBackSlash\n }\n )\n var string =\n /\"(?:[^\"\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\"|'(?:[^'\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*'/\n .source\n var option = /--[\\w-]+=(?:<STR>|(?![\"'])(?:[^\\s\\\\]|\\\\.)+)/.source.replace(\n /<STR>/g,\n function () {\n return string\n }\n )\n var stringRule = {\n pattern: RegExp(string),\n greedy: true\n }\n var commentRule = {\n pattern: /(^[ \\t]*)#.*/m,\n lookbehind: true,\n greedy: true\n }\n /**\n * @param {string} source\n * @param {string} flags\n * @returns {RegExp}\n */\n function re(source, flags) {\n source = source\n .replace(/<OPT>/g, function () {\n return option\n })\n .replace(/<SP>/g, function () {\n return space\n })\n return RegExp(source, flags)\n }\n Prism.languages.docker = {\n instruction: {\n pattern:\n /(^[ \\t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\\s)(?:\\\\.|[^\\r\\n\\\\])*(?:\\\\$(?:\\s|#.*$)*(?![\\s#])(?:\\\\.|[^\\r\\n\\\\])*)*/im,\n lookbehind: true,\n greedy: true,\n inside: {\n options: {\n pattern: re(\n /(^(?:ONBUILD<SP>)?\\w+<SP>)<OPT>(?:<SP><OPT>)*/.source,\n 'i'\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n property: {\n pattern: /(^|\\s)--[\\w-]+/,\n lookbehind: true\n },\n string: [\n stringRule,\n {\n pattern: /(=)(?![\"'])(?:[^\\s\\\\]|\\\\.)+/,\n lookbehind: true\n }\n ],\n operator: /\\\\$/m,\n punctuation: /=/\n }\n },\n keyword: [\n {\n // https://docs.docker.com/engine/reference/builder/#healthcheck\n pattern: re(\n /(^(?:ONBUILD<SP>)?HEALTHCHECK<SP>(?:<OPT><SP>)*)(?:CMD|NONE)\\b/\n .source,\n 'i'\n ),\n lookbehind: true,\n greedy: true\n },\n {\n // https://docs.docker.com/engine/reference/builder/#from\n pattern: re(\n /(^(?:ONBUILD<SP>)?FROM<SP>(?:<OPT><SP>)*(?!--)[^ \\t\\\\]+<SP>)AS/\n .source,\n 'i'\n ),\n lookbehind: true,\n greedy: true\n },\n {\n // https://docs.docker.com/engine/reference/builder/#onbuild\n pattern: re(/(^ONBUILD<SP>)\\w+/.source, 'i'),\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /^\\w+/,\n greedy: true\n }\n ],\n comment: commentRule,\n string: stringRule,\n variable: /\\$(?:\\w+|\\{[^{}\"'\\\\]*\\})/,\n operator: /\\\\$/m\n }\n },\n comment: commentRule\n }\n Prism.languages.dockerfile = Prism.languages.docker\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = dot\ndot.displayName = 'dot'\ndot.aliases = ['gv']\nfunction dot(Prism) {\n // https://www.graphviz.org/doc/info/lang.html\n ;(function (Prism) {\n var ID =\n '(?:' +\n [\n // an identifier\n /[a-zA-Z_\\x80-\\uFFFF][\\w\\x80-\\uFFFF]*/.source, // a number\n /-?(?:\\.\\d+|\\d+(?:\\.\\d*)?)/.source, // a double-quoted string\n /\"[^\"\\\\]*(?:\\\\[\\s\\S][^\"\\\\]*)*\"/.source, // HTML-like string\n /<(?:[^<>]|(?!<!--)<(?:[^<>\"']|\"[^\"]*\"|'[^']*')+>|<!--(?:[^-]|-(?!->))*-->)*>/\n .source\n ].join('|') +\n ')'\n var IDInside = {\n markup: {\n pattern: /(^<)[\\s\\S]+(?=>$)/,\n lookbehind: true,\n alias: ['language-markup', 'language-html', 'language-xml'],\n inside: Prism.languages.markup\n }\n }\n /**\n * @param {string} source\n * @param {string} flags\n * @returns {RegExp}\n */\n function withID(source, flags) {\n return RegExp(\n source.replace(/<ID>/g, function () {\n return ID\n }),\n flags\n )\n }\n Prism.languages.dot = {\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\/|^#.*/m,\n greedy: true\n },\n 'graph-name': {\n pattern: withID(\n /(\\b(?:digraph|graph|subgraph)[ \\t\\r\\n]+)<ID>/.source,\n 'i'\n ),\n lookbehind: true,\n greedy: true,\n alias: 'class-name',\n inside: IDInside\n },\n 'attr-value': {\n pattern: withID(/(=[ \\t\\r\\n]*)<ID>/.source),\n lookbehind: true,\n greedy: true,\n inside: IDInside\n },\n 'attr-name': {\n pattern: withID(/([\\[;, \\t\\r\\n])<ID>(?=[ \\t\\r\\n]*=)/.source),\n lookbehind: true,\n greedy: true,\n inside: IDInside\n },\n keyword: /\\b(?:digraph|edge|graph|node|strict|subgraph)\\b/i,\n 'compass-point': {\n pattern: /(:[ \\t\\r\\n]*)(?:[ewc_]|[ns][ew]?)(?![\\w\\x80-\\uFFFF])/,\n lookbehind: true,\n alias: 'builtin'\n },\n node: {\n pattern: withID(/(^|[^-.\\w\\x80-\\uFFFF\\\\])<ID>/.source),\n lookbehind: true,\n greedy: true,\n inside: IDInside\n },\n operator: /[=:]|-[->]/,\n punctuation: /[\\[\\]{};,]/\n }\n Prism.languages.gv = Prism.languages.dot\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = ebnf\nebnf.displayName = 'ebnf'\nebnf.aliases = []\nfunction ebnf(Prism) {\n Prism.languages.ebnf = {\n comment: /\\(\\*[\\s\\S]*?\\*\\)/,\n string: {\n pattern: /\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'/,\n greedy: true\n },\n special: {\n pattern: /\\?[^?\\r\\n]*\\?/,\n greedy: true,\n alias: 'class-name'\n },\n definition: {\n pattern: /^([\\t ]*)[a-z]\\w*(?:[ \\t]+[a-z]\\w*)*(?=\\s*=)/im,\n lookbehind: true,\n alias: ['rule', 'keyword']\n },\n rule: /\\b[a-z]\\w*(?:[ \\t]+[a-z]\\w*)*\\b/i,\n punctuation: /\\([:/]|[:/]\\)|[.,;()[\\]{}]/,\n operator: /[-=|*/!]/\n }\n}\n","'use strict'\n\nmodule.exports = editorconfig\neditorconfig.displayName = 'editorconfig'\neditorconfig.aliases = []\nfunction editorconfig(Prism) {\n Prism.languages.editorconfig = {\n // https://editorconfig-specification.readthedocs.io\n comment: /[;#].*/,\n section: {\n pattern: /(^[ \\t]*)\\[.+\\]/m,\n lookbehind: true,\n alias: 'selector',\n inside: {\n regex: /\\\\\\\\[\\[\\]{},!?.*]/,\n // Escape special characters with '\\\\'\n operator: /[!?]|\\.\\.|\\*{1,2}/,\n punctuation: /[\\[\\]{},]/\n }\n },\n key: {\n pattern: /(^[ \\t]*)[^\\s=]+(?=[ \\t]*=)/m,\n lookbehind: true,\n alias: 'attr-name'\n },\n value: {\n pattern: /=.*/,\n alias: 'attr-value',\n inside: {\n punctuation: /^=/\n }\n }\n }\n}\n","'use strict'\n\nmodule.exports = eiffel\neiffel.displayName = 'eiffel'\neiffel.aliases = []\nfunction eiffel(Prism) {\n Prism.languages.eiffel = {\n comment: /--.*/,\n string: [\n // Aligned-verbatim-strings\n {\n pattern: /\"([^[]*)\\[[\\s\\S]*?\\]\\1\"/,\n greedy: true\n }, // Non-aligned-verbatim-strings\n {\n pattern: /\"([^{]*)\\{[\\s\\S]*?\\}\\1\"/,\n greedy: true\n }, // Single-line string\n {\n pattern: /\"(?:%(?:(?!\\n)\\s)*\\n\\s*%|%\\S|[^%\"\\r\\n])*\"/,\n greedy: true\n }\n ],\n // normal char | special char | char code\n char: /'(?:%.|[^%'\\r\\n])+'/,\n keyword:\n /\\b(?:across|agent|alias|all|and|as|assign|attached|attribute|check|class|convert|create|Current|debug|deferred|detachable|do|else|elseif|end|ensure|expanded|export|external|feature|from|frozen|if|implies|inherit|inspect|invariant|like|local|loop|not|note|obsolete|old|once|or|Precursor|redefine|rename|require|rescue|Result|retry|select|separate|some|then|undefine|until|variant|Void|when|xor)\\b/i,\n boolean: /\\b(?:False|True)\\b/i,\n // Convention: class-names are always all upper-case characters\n 'class-name': /\\b[A-Z][\\dA-Z_]*\\b/,\n number: [\n // hexa | octal | bin\n /\\b0[xcb][\\da-f](?:_*[\\da-f])*\\b/i, // Decimal\n /(?:\\b\\d(?:_*\\d)*)?\\.(?:(?:\\d(?:_*\\d)*)?e[+-]?)?\\d(?:_*\\d)*\\b|\\b\\d(?:_*\\d)*\\b\\.?/i\n ],\n punctuation: /:=|<<|>>|\\(\\||\\|\\)|->|\\.(?=\\w)|[{}[\\];(),:?]/,\n operator: /\\\\\\\\|\\|\\.\\.\\||\\.\\.|\\/[~\\/=]?|[><]=?|[-+*^=~]/\n }\n}\n","'use strict'\nvar refractorMarkupTemplating = require('./markup-templating.js')\nmodule.exports = ejs\nejs.displayName = 'ejs'\nejs.aliases = ['eta']\nfunction ejs(Prism) {\n Prism.register(refractorMarkupTemplating)\n ;(function (Prism) {\n Prism.languages.ejs = {\n delimiter: {\n pattern: /^<%[-_=]?|[-_]?%>$/,\n alias: 'punctuation'\n },\n comment: /^#[\\s\\S]*/,\n 'language-javascript': {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.javascript\n }\n }\n Prism.hooks.add('before-tokenize', function (env) {\n var ejsPattern = /<%(?!%)[\\s\\S]+?%>/g\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'ejs',\n ejsPattern\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'ejs')\n })\n Prism.languages.eta = Prism.languages.ejs\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = elixir\nelixir.displayName = 'elixir'\nelixir.aliases = []\nfunction elixir(Prism) {\n Prism.languages.elixir = {\n doc: {\n pattern:\n /@(?:doc|moduledoc)\\s+(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2)/,\n inside: {\n attribute: /^@\\w+/,\n string: /['\"][\\s\\S]+/\n }\n },\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n // ~r\"\"\"foo\"\"\" (multi-line), ~r'''foo''' (multi-line), ~r/foo/, ~r|foo|, ~r\"foo\", ~r'foo', ~r(foo), ~r[foo], ~r{foo}, ~r<foo>\n regex: {\n pattern:\n /~[rR](?:(\"\"\"|''')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1|([\\/|\"'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])+\\2|\\((?:\\\\.|[^\\\\)\\r\\n])+\\)|\\[(?:\\\\.|[^\\\\\\]\\r\\n])+\\]|\\{(?:\\\\.|[^\\\\}\\r\\n])+\\}|<(?:\\\\.|[^\\\\>\\r\\n])+>)[uismxfr]*/,\n greedy: true\n },\n string: [\n {\n // ~s\"\"\"foo\"\"\" (multi-line), ~s'''foo''' (multi-line), ~s/foo/, ~s|foo|, ~s\"foo\", ~s'foo', ~s(foo), ~s[foo], ~s{foo} (with interpolation care), ~s<foo>\n pattern:\n /~[cCsSwW](?:(\"\"\"|''')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1|([\\/|\"'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])+\\2|\\((?:\\\\.|[^\\\\)\\r\\n])+\\)|\\[(?:\\\\.|[^\\\\\\]\\r\\n])+\\]|\\{(?:\\\\.|#\\{[^}]+\\}|#(?!\\{)|[^#\\\\}\\r\\n])+\\}|<(?:\\\\.|[^\\\\>\\r\\n])+>)[csa]?/,\n greedy: true,\n inside: {\n // See interpolation below\n }\n },\n {\n pattern: /(\"\"\"|''')[\\s\\S]*?\\1/,\n greedy: true,\n inside: {\n // See interpolation below\n }\n },\n {\n // Multi-line strings are allowed\n pattern: /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true,\n inside: {\n // See interpolation below\n }\n }\n ],\n atom: {\n // Look-behind prevents bad highlighting of the :: operator\n pattern: /(^|[^:]):\\w+/,\n lookbehind: true,\n alias: 'symbol'\n },\n module: {\n pattern: /\\b[A-Z]\\w*\\b/,\n alias: 'class-name'\n },\n // Look-ahead prevents bad highlighting of the :: operator\n 'attr-name': /\\b\\w+\\??:(?!:)/,\n argument: {\n // Look-behind prevents bad highlighting of the && operator\n pattern: /(^|[^&])&\\d+/,\n lookbehind: true,\n alias: 'variable'\n },\n attribute: {\n pattern: /@\\w+/,\n alias: 'variable'\n },\n function: /\\b[_a-zA-Z]\\w*[?!]?(?:(?=\\s*(?:\\.\\s*)?\\()|(?=\\/\\d))/,\n number: /\\b(?:0[box][a-f\\d_]+|\\d[\\d_]*)(?:\\.[\\d_]+)?(?:e[+-]?[\\d_]+)?\\b/i,\n keyword:\n /\\b(?:after|alias|and|case|catch|cond|def(?:callback|delegate|exception|impl|macro|module|n|np|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|quote|raise|require|rescue|try|unless|unquote|use|when)\\b/,\n boolean: /\\b(?:false|nil|true)\\b/,\n operator: [\n /\\bin\\b|&&?|\\|[|>]?|\\\\\\\\|::|\\.\\.\\.?|\\+\\+?|-[->]?|<[-=>]|>=|!==?|\\B!|=(?:==?|[>~])?|[*\\/^]/,\n {\n // We don't want to match <<\n pattern: /([^<])<(?!<)/,\n lookbehind: true\n },\n {\n // We don't want to match >>\n pattern: /([^>])>(?!>)/,\n lookbehind: true\n }\n ],\n punctuation: /<<|>>|[.,%\\[\\]{}()]/\n }\n Prism.languages.elixir.string.forEach(function (o) {\n o.inside = {\n interpolation: {\n pattern: /#\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: 'punctuation'\n },\n rest: Prism.languages.elixir\n }\n }\n }\n })\n}\n","'use strict'\n\nmodule.exports = elm\nelm.displayName = 'elm'\nelm.aliases = []\nfunction elm(Prism) {\n Prism.languages.elm = {\n comment: /--.*|\\{-[\\s\\S]*?-\\}/,\n char: {\n pattern:\n /'(?:[^\\\\'\\r\\n]|\\\\(?:[abfnrtv\\\\']|\\d+|x[0-9a-fA-F]+|u\\{[0-9a-fA-F]+\\}))'/,\n greedy: true\n },\n string: [\n {\n // Multiline strings are wrapped in triple \". Quotes may appear unescaped.\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: true\n },\n {\n pattern: /\"(?:[^\\\\\"\\r\\n]|\\\\.)*\"/,\n greedy: true\n }\n ],\n 'import-statement': {\n // The imported or hidden names are not included in this import\n // statement. This is because we want to highlight those exactly like\n // we do for the names in the program.\n pattern:\n /(^[\\t ]*)import\\s+[A-Z]\\w*(?:\\.[A-Z]\\w*)*(?:\\s+as\\s+(?:[A-Z]\\w*)(?:\\.[A-Z]\\w*)*)?(?:\\s+exposing\\s+)?/m,\n lookbehind: true,\n inside: {\n keyword: /\\b(?:as|exposing|import)\\b/\n }\n },\n keyword:\n /\\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\\b/,\n // These are builtin variables only. Constructors are highlighted later as a constant.\n builtin:\n /\\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\\b/,\n // decimal integers and floating point numbers | hexadecimal integers\n number: /\\b(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|0x[0-9a-f]+)\\b/i,\n // Most of this is needed because of the meaning of a single '.'.\n // If it stands alone freely, it is the function composition.\n // It may also be a separator between a module name and an identifier => no\n // operator. If it comes together with other special characters it is an\n // operator too.\n // Valid operator characters in 0.18: +-/*=.$<>:&|^?%#@~!\n // Ref: https://groups.google.com/forum/#!msg/elm-dev/0AHSnDdkSkQ/E0SVU70JEQAJ\n operator: /\\s\\.\\s|[+\\-/*=.$<>:&|^?%#@~!]{2,}|[+\\-/*=$<>:&|^?%#@~!]/,\n // In Elm, nearly everything is a variable, do not highlight these.\n hvariable: /\\b(?:[A-Z]\\w*\\.)*[a-z]\\w*\\b/,\n constant: /\\b(?:[A-Z]\\w*\\.)*[A-Z]\\w*\\b/,\n punctuation: /[{}[\\]|(),.:]/\n }\n}\n","'use strict'\nvar refractorRuby = require('./ruby.js')\nvar refractorMarkupTemplating = require('./markup-templating.js')\nmodule.exports = erb\nerb.displayName = 'erb'\nerb.aliases = []\nfunction erb(Prism) {\n Prism.register(refractorRuby)\n Prism.register(refractorMarkupTemplating)\n ;(function (Prism) {\n Prism.languages.erb = {\n delimiter: {\n pattern: /^(\\s*)<%=?|%>(?=\\s*$)/,\n lookbehind: true,\n alias: 'punctuation'\n },\n ruby: {\n pattern: /\\s*\\S[\\s\\S]*/,\n alias: 'language-ruby',\n inside: Prism.languages.ruby\n }\n }\n Prism.hooks.add('before-tokenize', function (env) {\n var erbPattern =\n /<%=?(?:[^\\r\\n]|[\\r\\n](?!=begin)|[\\r\\n]=begin\\s(?:[^\\r\\n]|[\\r\\n](?!=end))*[\\r\\n]=end)+?%>/g\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'erb',\n erbPattern\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'erb')\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = erlang\nerlang.displayName = 'erlang'\nerlang.aliases = []\nfunction erlang(Prism) {\n Prism.languages.erlang = {\n comment: /%.+/,\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: true\n },\n 'quoted-function': {\n pattern: /'(?:\\\\.|[^\\\\'\\r\\n])+'(?=\\()/,\n alias: 'function'\n },\n 'quoted-atom': {\n pattern: /'(?:\\\\.|[^\\\\'\\r\\n])+'/,\n alias: 'atom'\n },\n boolean: /\\b(?:false|true)\\b/,\n keyword: /\\b(?:after|case|catch|end|fun|if|of|receive|try|when)\\b/,\n number: [\n /\\$\\\\?./,\n /\\b\\d+#[a-z0-9]+/i,\n /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i\n ],\n function: /\\b[a-z][\\w@]*(?=\\()/,\n variable: {\n // Look-behind is used to prevent wrong highlighting of atoms containing \"@\"\n pattern: /(^|[^@])(?:\\b|\\?)[A-Z_][\\w@]*/,\n lookbehind: true\n },\n operator: [\n /[=\\/<>:]=|=[:\\/]=|\\+\\+?|--?|[=*\\/!]|\\b(?:and|andalso|band|bnot|bor|bsl|bsr|bxor|div|not|or|orelse|rem|xor)\\b/,\n {\n // We don't want to match <<\n pattern: /(^|[^<])<(?!<)/,\n lookbehind: true\n },\n {\n // We don't want to match >>\n pattern: /(^|[^>])>(?!>)/,\n lookbehind: true\n }\n ],\n atom: /\\b[a-z][\\w@]*/,\n punctuation: /[()[\\]{}:;,.#|]|<<|>>/\n }\n}\n","'use strict'\nvar refractorLua = require('./lua.js')\nvar refractorMarkupTemplating = require('./markup-templating.js')\nmodule.exports = etlua\netlua.displayName = 'etlua'\netlua.aliases = []\nfunction etlua(Prism) {\n Prism.register(refractorLua)\n Prism.register(refractorMarkupTemplating)\n ;(function (Prism) {\n Prism.languages.etlua = {\n delimiter: {\n pattern: /^<%[-=]?|-?%>$/,\n alias: 'punctuation'\n },\n 'language-lua': {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.lua\n }\n }\n Prism.hooks.add('before-tokenize', function (env) {\n var pattern = /<%[\\s\\S]+?%>/g\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'etlua',\n pattern\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'etlua')\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = excelFormula\nexcelFormula.displayName = 'excelFormula'\nexcelFormula.aliases = []\nfunction excelFormula(Prism) {\n Prism.languages['excel-formula'] = {\n comment: {\n pattern: /(\\bN\\(\\s*)\"(?:[^\"]|\"\")*\"(?=\\s*\\))/i,\n lookbehind: true,\n greedy: true\n },\n string: {\n pattern: /\"(?:[^\"]|\"\")*\"(?!\")/,\n greedy: true\n },\n reference: {\n // https://www.ablebits.com/office-addins-blog/2015/12/08/excel-reference-another-sheet-workbook/\n // Sales!B2\n // 'Winter sales'!B2\n // [Sales.xlsx]Jan!B2:B5\n // D:\\Reports\\[Sales.xlsx]Jan!B2:B5\n // '[Sales.xlsx]Jan sales'!B2:B5\n // 'D:\\Reports\\[Sales.xlsx]Jan sales'!B2:B5\n pattern:\n /(?:'[^']*'|(?:[^\\s()[\\]{}<>*?\"';,$&]*\\[[^^\\s()[\\]{}<>*?\"']+\\])?\\w+)!/,\n greedy: true,\n alias: 'string',\n inside: {\n operator: /!$/,\n punctuation: /'/,\n sheet: {\n pattern: /[^[\\]]+$/,\n alias: 'function'\n },\n file: {\n pattern: /\\[[^[\\]]+\\]$/,\n inside: {\n punctuation: /[[\\]]/\n }\n },\n path: /[\\s\\S]+/\n }\n },\n 'function-name': {\n pattern: /\\b[A-Z]\\w*(?=\\()/i,\n alias: 'keyword'\n },\n range: {\n pattern:\n /\\$?\\b(?:[A-Z]+\\$?\\d+:\\$?[A-Z]+\\$?\\d+|[A-Z]+:\\$?[A-Z]+|\\d+:\\$?\\d+)\\b/i,\n alias: 'property',\n inside: {\n operator: /:/,\n cell: /\\$?[A-Z]+\\$?\\d+/i,\n column: /\\$?[A-Z]+/i,\n row: /\\$?\\d+/\n }\n },\n cell: {\n // Excel is case insensitive, so the string \"foo1\" could be either a variable or a cell.\n // To combat this, we match cells case insensitive, if the contain at least one \"$\", and case sensitive otherwise.\n pattern: /\\b[A-Z]+\\d+\\b|\\$[A-Za-z]+\\$?\\d+\\b|\\b[A-Za-z]+\\$\\d+\\b/,\n alias: 'property'\n },\n number: /(?:\\b\\d+(?:\\.\\d+)?|\\B\\.\\d+)(?:e[+-]?\\d+)?\\b/i,\n boolean: /\\b(?:FALSE|TRUE)\\b/i,\n operator: /[-+*/^%=&,]|<[=>]?|>=?/,\n punctuation: /[[\\]();{}|]/\n }\n Prism.languages['xlsx'] = Prism.languages['xls'] =\n Prism.languages['excel-formula']\n}\n","'use strict'\n\nmodule.exports = factor\nfactor.displayName = 'factor'\nfactor.aliases = []\nfunction factor(Prism) {\n ;(function (Prism) {\n var comment_inside = {\n function:\n /\\b(?:BUGS?|FIX(?:MES?)?|NOTES?|TODOS?|XX+|HACKS?|WARN(?:ING)?|\\?{2,}|!{2,})\\b/\n }\n var string_inside = {\n number: /\\\\[^\\s']|%\\w/\n }\n var factor = {\n comment: [\n {\n // ! single-line exclamation point comments with whitespace after/around the !\n pattern: /(^|\\s)(?:! .*|!$)/,\n lookbehind: true,\n inside: comment_inside\n },\n /* from basis/multiline: */\n {\n // /* comment */, /* comment*/\n pattern: /(^|\\s)\\/\\*\\s[\\s\\S]*?\\*\\/(?=\\s|$)/,\n lookbehind: true,\n greedy: true,\n inside: comment_inside\n },\n {\n // ![[ comment ]] , ![===[ comment]===]\n pattern: /(^|\\s)!\\[(={0,6})\\[\\s[\\s\\S]*?\\]\\2\\](?=\\s|$)/,\n lookbehind: true,\n greedy: true,\n inside: comment_inside\n }\n ],\n number: [\n {\n // basic base 10 integers 9, -9\n pattern: /(^|\\s)[+-]?\\d+(?=\\s|$)/,\n lookbehind: true\n },\n {\n // base prefix integers 0b010 0o70 0xad 0d10 0XAD -0xa9\n pattern: /(^|\\s)[+-]?0(?:b[01]+|o[0-7]+|d\\d+|x[\\dA-F]+)(?=\\s|$)/i,\n lookbehind: true\n },\n {\n // fractional ratios 1/5 -1/5 and the literal float approximations 1/5. -1/5.\n pattern: /(^|\\s)[+-]?\\d+\\/\\d+\\.?(?=\\s|$)/,\n lookbehind: true\n },\n {\n // positive mixed numbers 23+1/5 +23+1/5\n pattern: /(^|\\s)\\+?\\d+\\+\\d+\\/\\d+(?=\\s|$)/,\n lookbehind: true\n },\n {\n // negative mixed numbers -23-1/5\n pattern: /(^|\\s)-\\d+-\\d+\\/\\d+(?=\\s|$)/,\n lookbehind: true\n },\n {\n // basic decimal floats -0.01 0. .0 .1 -.1 -1. -12.13 +12.13\n // and scientific notation with base 10 exponents 3e4 3e-4 .3e-4\n pattern:\n /(^|\\s)[+-]?(?:\\d*\\.\\d+|\\d+\\.\\d*|\\d+)(?:e[+-]?\\d+)?(?=\\s|$)/i,\n lookbehind: true\n },\n {\n // NAN literal syntax NAN: 80000deadbeef, NAN: a\n pattern: /(^|\\s)NAN:\\s+[\\da-fA-F]+(?=\\s|$)/,\n lookbehind: true\n },\n {\n /*\nbase prefix floats 0x1.0p3 (8.0) 0b1.010p2 (5.0) 0x1.p1 0b1.11111111p11111...\n\"The normalized hex form ±0x1.MMMMMMMMMMMMM[pP]±EEEE allows any floating-point number to be specified precisely.\nThe values of MMMMMMMMMMMMM and EEEE map directly to the mantissa and exponent fields of the binary IEEE 754 representation.\"\n<https://docs.factorcode.org/content/article-syntax-floats.html>\n*/\n pattern:\n /(^|\\s)[+-]?0(?:b1\\.[01]*|o1\\.[0-7]*|d1\\.\\d*|x1\\.[\\dA-F]*)p\\d+(?=\\s|$)/i,\n lookbehind: true\n }\n ],\n // R/ regexp?\\/\\\\/\n regexp: {\n pattern:\n /(^|\\s)R\\/\\s(?:\\\\\\S|[^\\\\/])*\\/(?:[idmsr]*|[idmsr]+-[idmsr]+)(?=\\s|$)/,\n lookbehind: true,\n alias: 'number',\n inside: {\n variable: /\\\\\\S/,\n keyword: /[+?*\\[\\]^$(){}.|]/,\n operator: {\n pattern: /(\\/)[idmsr]+(?:-[idmsr]+)?/,\n lookbehind: true\n }\n }\n },\n boolean: {\n pattern: /(^|\\s)[tf](?=\\s|$)/,\n lookbehind: true\n },\n // SBUF\" asd\", URL\" ://...\", P\" /etc/\"\n 'custom-string': {\n pattern: /(^|\\s)[A-Z0-9\\-]+\"\\s(?:\\\\\\S|[^\"\\\\])*\"/,\n lookbehind: true,\n greedy: true,\n alias: 'string',\n inside: {\n number: /\\\\\\S|%\\w|\\//\n }\n },\n 'multiline-string': [\n {\n // STRING: name \\n content \\n ; -> CONSTANT: name \"content\" (symbol)\n pattern: /(^|\\s)STRING:\\s+\\S+(?:\\n|\\r\\n).*(?:\\n|\\r\\n)\\s*;(?=\\s|$)/,\n lookbehind: true,\n greedy: true,\n alias: 'string',\n inside: {\n number: string_inside.number,\n // trailing semicolon on its own line\n 'semicolon-or-setlocal': {\n pattern: /([\\r\\n][ \\t]*);(?=\\s|$)/,\n lookbehind: true,\n alias: 'function'\n }\n }\n },\n {\n // HEREDOC: marker \\n content \\n marker ; -> \"content\" (immediate)\n pattern: /(^|\\s)HEREDOC:\\s+\\S+(?:\\n|\\r\\n).*(?:\\n|\\r\\n)\\s*\\S+(?=\\s|$)/,\n lookbehind: true,\n greedy: true,\n alias: 'string',\n inside: string_inside\n },\n {\n // [[ string ]], [==[ string]==]\n pattern: /(^|\\s)\\[(={0,6})\\[\\s[\\s\\S]*?\\]\\2\\](?=\\s|$)/,\n lookbehind: true,\n greedy: true,\n alias: 'string',\n inside: string_inside\n }\n ],\n 'special-using': {\n pattern: /(^|\\s)USING:(?:\\s\\S+)*(?=\\s+;(?:\\s|$))/,\n lookbehind: true,\n alias: 'function',\n inside: {\n // this is essentially a regex for vocab names, which i don't want to specify\n // but the USING: gets picked up as a vocab name\n string: {\n pattern: /(\\s)[^:\\s]+/,\n lookbehind: true\n }\n }\n },\n /* this description of stack effect literal syntax is not complete and not as specific as theoretically possible\ntrying to do better is more work and regex-computation-time than it's worth though.\n- we'd like to have the \"delimiter\" parts of the stack effect [ (, --, and ) ] be a different (less-important or comment-like) colour to the stack effect contents\n- we'd like if nested stack effects were treated as such rather than just appearing flat (with `inside`)\n- we'd like if the following variable name conventions were recognised specifically:\nspecial row variables = ..a b..\ntype and stack effect annotations end with a colon = ( quot: ( a: ( -- ) -- b ) -- x ), ( x: number -- )\nword throws unconditional error = *\nany other word-like variable name = a ? q' etc\nhttps://docs.factorcode.org/content/article-effects.html\nthese are pretty complicated to highlight properly without a real parser, and therefore out of scope\nthe old pattern, which may be later useful, was: (^|\\s)(?:call|execute|eval)?\\((?:\\s+[^\"\\r\\n\\t ]\\S*)*?\\s+--(?:\\s+[^\"\\n\\t ]\\S*)*?\\s+\\)(?=\\s|$)\n*/\n // current solution is not great\n 'stack-effect-delimiter': [\n {\n // opening parenthesis\n pattern: /(^|\\s)(?:call|eval|execute)?\\((?=\\s)/,\n lookbehind: true,\n alias: 'operator'\n },\n {\n // middle --\n pattern: /(\\s)--(?=\\s)/,\n lookbehind: true,\n alias: 'operator'\n },\n {\n // closing parenthesis\n pattern: /(\\s)\\)(?=\\s|$)/,\n lookbehind: true,\n alias: 'operator'\n }\n ],\n combinators: {\n pattern: null,\n lookbehind: true,\n alias: 'keyword'\n },\n 'kernel-builtin': {\n pattern: null,\n lookbehind: true,\n alias: 'variable'\n },\n 'sequences-builtin': {\n pattern: null,\n lookbehind: true,\n alias: 'variable'\n },\n 'math-builtin': {\n pattern: null,\n lookbehind: true,\n alias: 'variable'\n },\n 'constructor-word': {\n // <array> but not <=>\n pattern: /(^|\\s)<(?!=+>|-+>)\\S+>(?=\\s|$)/,\n lookbehind: true,\n alias: 'keyword'\n },\n 'other-builtin-syntax': {\n pattern: null,\n lookbehind: true,\n alias: 'operator'\n },\n /*\nfull list of supported word naming conventions: (the convention appears outside of the [brackets])\nset-[x]\nchange-[x]\nwith-[x]\nnew-[x]\n>[string]\n[base]>\n[string]>[number]\n+[symbol]+\n[boolean-word]?\n?[of]\n[slot-reader]>>\n>>[slot-setter]\n[slot-writer]<<\n([implementation-detail])\n[mutater]!\n[variant]*\n[prettyprint].\n$[help-markup]\n<constructors>, SYNTAX:, etc are supported by their own patterns.\n`with` and `new` from `kernel` are their own builtins.\nsee <https://docs.factorcode.org/content/article-conventions.html>\n*/\n 'conventionally-named-word': {\n pattern:\n /(^|\\s)(?!\")(?:(?:change|new|set|with)-\\S+|\\$\\S+|>[^>\\s]+|[^:>\\s]+>|[^>\\s]+>[^>\\s]+|\\+[^+\\s]+\\+|[^?\\s]+\\?|\\?[^?\\s]+|[^>\\s]+>>|>>[^>\\s]+|[^<\\s]+<<|\\([^()\\s]+\\)|[^!\\s]+!|[^*\\s]\\S*\\*|[^.\\s]\\S*\\.)(?=\\s|$)/,\n lookbehind: true,\n alias: 'keyword'\n },\n 'colon-syntax': {\n pattern: /(^|\\s)(?:[A-Z0-9\\-]+#?)?:{1,2}\\s+(?:;\\S+|(?!;)\\S+)(?=\\s|$)/,\n lookbehind: true,\n greedy: true,\n alias: 'function'\n },\n 'semicolon-or-setlocal': {\n pattern: /(\\s)(?:;|:>)(?=\\s|$)/,\n lookbehind: true,\n alias: 'function'\n },\n // do not highlight leading } or trailing X{ at the begin/end of the file as it's invalid syntax\n 'curly-brace-literal-delimiter': [\n {\n // opening\n pattern: /(^|\\s)[a-z]*\\{(?=\\s)/i,\n lookbehind: true,\n alias: 'operator'\n },\n {\n // closing\n pattern: /(\\s)\\}(?=\\s|$)/,\n lookbehind: true,\n alias: 'operator'\n }\n ],\n // do not highlight leading ] or trailing [ at the begin/end of the file as it's invalid syntax\n 'quotation-delimiter': [\n {\n // opening\n pattern: /(^|\\s)\\[(?=\\s)/,\n lookbehind: true,\n alias: 'operator'\n },\n {\n // closing\n pattern: /(\\s)\\](?=\\s|$)/,\n lookbehind: true,\n alias: 'operator'\n }\n ],\n 'normal-word': {\n pattern: /(^|\\s)[^\"\\s]\\S*(?=\\s|$)/,\n lookbehind: true\n },\n /*\nbasic first-class string \"a\"\nwith escaped double-quote \"a\\\"\"\nescaped backslash \"\\\\\"\nand general escapes since Factor has so many \"\\N\"\nsyntax that works in the reference implementation that isn't fully\nsupported because it's an implementation detail:\n\"string 1\"\"string 2\" -> 2 strings (works anyway)\n\"string\"5 -> string, 5\n\"string\"[ ] -> string, quotation\n{ \"a\"} -> array<string>\nthe rest of those examples all properly recognise the string, but not\nthe other object (number, quotation, etc)\nthis is fine for a regex-only implementation.\n*/\n string: {\n pattern: /\"(?:\\\\\\S|[^\"\\\\])*\"/,\n greedy: true,\n inside: string_inside\n }\n }\n var escape = function (str) {\n return (str + '').replace(/([.?*+\\^$\\[\\]\\\\(){}|\\-])/g, '\\\\$1')\n }\n var arrToWordsRegExp = function (arr) {\n return new RegExp('(^|\\\\s)(?:' + arr.map(escape).join('|') + ')(?=\\\\s|$)')\n }\n var builtins = {\n 'kernel-builtin': [\n 'or',\n '2nipd',\n '4drop',\n 'tuck',\n 'wrapper',\n 'nip',\n 'wrapper?',\n 'callstack>array',\n 'die',\n 'dupd',\n 'callstack',\n 'callstack?',\n '3dup',\n 'hashcode',\n 'pick',\n '4nip',\n 'build',\n '>boolean',\n 'nipd',\n 'clone',\n '5nip',\n 'eq?',\n '?',\n '=',\n 'swapd',\n '2over',\n 'clear',\n '2dup',\n 'get-retainstack',\n 'not',\n 'tuple?',\n 'dup',\n '3nipd',\n 'call',\n '-rotd',\n 'object',\n 'drop',\n 'assert=',\n 'assert?',\n '-rot',\n 'execute',\n 'boa',\n 'get-callstack',\n 'curried?',\n '3drop',\n 'pickd',\n 'overd',\n 'over',\n 'roll',\n '3nip',\n 'swap',\n 'and',\n '2nip',\n 'rotd',\n 'throw',\n '(clone)',\n 'hashcode*',\n 'spin',\n 'reach',\n '4dup',\n 'equal?',\n 'get-datastack',\n 'assert',\n '2drop',\n '<wrapper>',\n 'boolean?',\n 'identity-hashcode',\n 'identity-tuple?',\n 'null',\n 'composed?',\n 'new',\n '5drop',\n 'rot',\n '-roll',\n 'xor',\n 'identity-tuple',\n 'boolean'\n ],\n 'other-builtin-syntax': [\n // syntax\n '=======',\n 'recursive',\n 'flushable',\n '>>',\n '<<<<<<',\n 'M\\\\',\n 'B',\n 'PRIVATE>',\n '\\\\',\n '======',\n 'final',\n 'inline',\n 'delimiter',\n 'deprecated',\n '<PRIVATE',\n '>>>>>>',\n '<<<<<<<',\n 'parse-complex',\n 'malformed-complex',\n 'read-only',\n '>>>>>>>',\n 'call-next-method',\n '<<',\n 'foldable', // literals\n '$',\n '$[',\n '${'\n ],\n 'sequences-builtin': [\n 'member-eq?',\n 'mismatch',\n 'append',\n 'assert-sequence=',\n 'longer',\n 'repetition',\n 'clone-like',\n '3sequence',\n 'assert-sequence?',\n 'last-index-from',\n 'reversed',\n 'index-from',\n 'cut*',\n 'pad-tail',\n 'join-as',\n 'remove-eq!',\n 'concat-as',\n 'but-last',\n 'snip',\n 'nths',\n 'nth',\n 'sequence',\n 'longest',\n 'slice?',\n '<slice>',\n 'remove-nth',\n 'tail-slice',\n 'empty?',\n 'tail*',\n 'member?',\n 'virtual-sequence?',\n 'set-length',\n 'drop-prefix',\n 'iota',\n 'unclip',\n 'bounds-error?',\n 'unclip-last-slice',\n 'non-negative-integer-expected',\n 'non-negative-integer-expected?',\n 'midpoint@',\n 'longer?',\n '?set-nth',\n '?first',\n 'rest-slice',\n 'prepend-as',\n 'prepend',\n 'fourth',\n 'sift',\n 'subseq-start',\n 'new-sequence',\n '?last',\n 'like',\n 'first4',\n '1sequence',\n 'reverse',\n 'slice',\n 'virtual@',\n 'repetition?',\n 'set-last',\n 'index',\n '4sequence',\n 'max-length',\n 'set-second',\n 'immutable-sequence',\n 'first2',\n 'first3',\n 'supremum',\n 'unclip-slice',\n 'suffix!',\n 'insert-nth',\n 'tail',\n '3append',\n 'short',\n 'suffix',\n 'concat',\n 'flip',\n 'immutable?',\n 'reverse!',\n '2sequence',\n 'sum',\n 'delete-all',\n 'indices',\n 'snip-slice',\n '<iota>',\n 'check-slice',\n 'sequence?',\n 'head',\n 'append-as',\n 'halves',\n 'sequence=',\n 'collapse-slice',\n '?second',\n 'slice-error?',\n 'product',\n 'bounds-check?',\n 'bounds-check',\n 'immutable',\n 'virtual-exemplar',\n 'harvest',\n 'remove',\n 'pad-head',\n 'last',\n 'set-fourth',\n 'cartesian-product',\n 'remove-eq',\n 'shorten',\n 'shorter',\n 'reversed?',\n 'shorter?',\n 'shortest',\n 'head-slice',\n 'pop*',\n 'tail-slice*',\n 'but-last-slice',\n 'iota?',\n 'append!',\n 'cut-slice',\n 'new-resizable',\n 'head-slice*',\n 'sequence-hashcode',\n 'pop',\n 'set-nth',\n '?nth',\n 'second',\n 'join',\n 'immutable-sequence?',\n '<reversed>',\n '3append-as',\n 'virtual-sequence',\n 'subseq?',\n 'remove-nth!',\n 'length',\n 'last-index',\n 'lengthen',\n 'assert-sequence',\n 'copy',\n 'move',\n 'third',\n 'first',\n 'tail?',\n 'set-first',\n 'prefix',\n 'bounds-error',\n '<repetition>',\n 'exchange',\n 'surround',\n 'cut',\n 'min-length',\n 'set-third',\n 'push-all',\n 'head?',\n 'subseq-start-from',\n 'delete-slice',\n 'rest',\n 'sum-lengths',\n 'head*',\n 'infimum',\n 'remove!',\n 'glue',\n 'slice-error',\n 'subseq',\n 'push',\n 'replace-slice',\n 'subseq-as',\n 'unclip-last'\n ],\n 'math-builtin': [\n 'number=',\n 'next-power-of-2',\n '?1+',\n 'fp-special?',\n 'imaginary-part',\n 'float>bits',\n 'number?',\n 'fp-infinity?',\n 'bignum?',\n 'fp-snan?',\n 'denominator',\n 'gcd',\n '*',\n '+',\n 'fp-bitwise=',\n '-',\n 'u>=',\n '/',\n '>=',\n 'bitand',\n 'power-of-2?',\n 'log2-expects-positive',\n 'neg?',\n '<',\n 'log2',\n '>',\n 'integer?',\n 'number',\n 'bits>double',\n '2/',\n 'zero?',\n 'bits>float',\n 'float?',\n 'shift',\n 'ratio?',\n 'rect>',\n 'even?',\n 'ratio',\n 'fp-sign',\n 'bitnot',\n '>fixnum',\n 'complex?',\n '/i',\n 'integer>fixnum',\n '/f',\n 'sgn',\n '>bignum',\n 'next-float',\n 'u<',\n 'u>',\n 'mod',\n 'recip',\n 'rational',\n '>float',\n '2^',\n 'integer',\n 'fixnum?',\n 'neg',\n 'fixnum',\n 'sq',\n 'bignum',\n '>rect',\n 'bit?',\n 'fp-qnan?',\n 'simple-gcd',\n 'complex',\n '<fp-nan>',\n 'real',\n '>fraction',\n 'double>bits',\n 'bitor',\n 'rem',\n 'fp-nan-payload',\n 'real-part',\n 'log2-expects-positive?',\n 'prev-float',\n 'align',\n 'unordered?',\n 'float',\n 'fp-nan?',\n 'abs',\n 'bitxor',\n 'integer>fixnum-strict',\n 'u<=',\n 'odd?',\n '<=',\n '/mod',\n '>integer',\n 'real?',\n 'rational?',\n 'numerator'\n ] // that's all for now\n }\n Object.keys(builtins).forEach(function (k) {\n factor[k].pattern = arrToWordsRegExp(builtins[k])\n })\n var combinators = [\n // kernel\n '2bi',\n 'while',\n '2tri',\n 'bi*',\n '4dip',\n 'both?',\n 'same?',\n 'tri@',\n 'curry',\n 'prepose',\n '3bi',\n '?if',\n 'tri*',\n '2keep',\n '3keep',\n 'curried',\n '2keepd',\n 'when',\n '2bi*',\n '2tri*',\n '4keep',\n 'bi@',\n 'keepdd',\n 'do',\n 'unless*',\n 'tri-curry',\n 'if*',\n 'loop',\n 'bi-curry*',\n 'when*',\n '2bi@',\n '2tri@',\n 'with',\n '2with',\n 'either?',\n 'bi',\n 'until',\n '3dip',\n '3curry',\n 'tri-curry*',\n 'tri-curry@',\n 'bi-curry',\n 'keepd',\n 'compose',\n '2dip',\n 'if',\n '3tri',\n 'unless',\n 'tuple',\n 'keep',\n '2curry',\n 'tri',\n 'most',\n 'while*',\n 'dip',\n 'composed',\n 'bi-curry@', // sequences\n 'find-last-from',\n 'trim-head-slice',\n 'map-as',\n 'each-from',\n 'none?',\n 'trim-tail',\n 'partition',\n 'if-empty',\n 'accumulate*',\n 'reject!',\n 'find-from',\n 'accumulate-as',\n 'collector-for-as',\n 'reject',\n 'map',\n 'map-sum',\n 'accumulate!',\n '2each-from',\n 'follow',\n 'supremum-by',\n 'map!',\n 'unless-empty',\n 'collector',\n 'padding',\n 'reduce-index',\n 'replicate-as',\n 'infimum-by',\n 'trim-tail-slice',\n 'count',\n 'find-index',\n 'filter',\n 'accumulate*!',\n 'reject-as',\n 'map-integers',\n 'map-find',\n 'reduce',\n 'selector',\n 'interleave',\n '2map',\n 'filter-as',\n 'binary-reduce',\n 'map-index-as',\n 'find',\n 'produce',\n 'filter!',\n 'replicate',\n 'cartesian-map',\n 'cartesian-each',\n 'find-index-from',\n 'map-find-last',\n '3map-as',\n '3map',\n 'find-last',\n 'selector-as',\n '2map-as',\n '2map-reduce',\n 'accumulate',\n 'each',\n 'each-index',\n 'accumulate*-as',\n 'when-empty',\n 'all?',\n 'collector-as',\n 'push-either',\n 'new-like',\n 'collector-for',\n '2selector',\n 'push-if',\n '2all?',\n 'map-reduce',\n '3each',\n 'any?',\n 'trim-slice',\n '2reduce',\n 'change-nth',\n 'produce-as',\n '2each',\n 'trim',\n 'trim-head',\n 'cartesian-find',\n 'map-index', // math\n 'if-zero',\n 'each-integer',\n 'unless-zero',\n '(find-integer)',\n 'when-zero',\n 'find-last-integer',\n '(all-integers?)',\n 'times',\n '(each-integer)',\n 'find-integer',\n 'all-integers?', // math.combinators\n 'unless-negative',\n 'if-positive',\n 'when-positive',\n 'when-negative',\n 'unless-positive',\n 'if-negative', // combinators\n 'case',\n '2cleave',\n 'cond>quot',\n 'case>quot',\n '3cleave',\n 'wrong-values',\n 'to-fixed-point',\n 'alist>quot',\n 'cond',\n 'cleave',\n 'call-effect',\n 'recursive-hashcode',\n 'spread',\n 'deep-spread>quot', // combinators.short-circuit\n '2||',\n '0||',\n 'n||',\n '0&&',\n '2&&',\n '3||',\n '1||',\n '1&&',\n 'n&&',\n '3&&', // combinators.smart\n 'smart-unless*',\n 'keep-inputs',\n 'reduce-outputs',\n 'smart-when*',\n 'cleave>array',\n 'smart-with',\n 'smart-apply',\n 'smart-if',\n 'inputs/outputs',\n 'output>sequence-n',\n 'map-outputs',\n 'map-reduce-outputs',\n 'dropping',\n 'output>array',\n 'smart-map-reduce',\n 'smart-2map-reduce',\n 'output>array-n',\n 'nullary',\n 'input<sequence',\n 'append-outputs',\n 'drop-inputs',\n 'inputs',\n 'smart-2reduce',\n 'drop-outputs',\n 'smart-reduce',\n 'preserving',\n 'smart-when',\n 'outputs',\n 'append-outputs-as',\n 'smart-unless',\n 'smart-if*',\n 'sum-outputs',\n 'input<sequence-unsafe',\n 'output>sequence' // tafn\n ]\n factor.combinators.pattern = arrToWordsRegExp(combinators)\n Prism.languages.factor = factor\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = $false\n$false.displayName = '$false'\n$false.aliases = []\nfunction $false(Prism) {\n ;(function (Prism) {\n /**\n * Based on the manual by Wouter van Oortmerssen.\n *\n * @see {@link https://github.com/PrismJS/prism/issues/2801#issue-829717504}\n */\n Prism.languages['false'] = {\n comment: {\n pattern: /\\{[^}]*\\}/\n },\n string: {\n pattern: /\"[^\"]*\"/,\n greedy: true\n },\n 'character-code': {\n pattern: /'(?:[^\\r]|\\r\\n?)/,\n alias: 'number'\n },\n 'assembler-code': {\n pattern: /\\d+`/,\n alias: 'important'\n },\n number: /\\d+/,\n operator: /[-!#$%&'*+,./:;=>?@\\\\^_`|~ßø]/,\n punctuation: /\\[|\\]/,\n variable: /[a-z]/,\n 'non-standard': {\n pattern: /[()<BDO®]/,\n alias: 'bold'\n }\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = firestoreSecurityRules\nfirestoreSecurityRules.displayName = 'firestoreSecurityRules'\nfirestoreSecurityRules.aliases = []\nfunction firestoreSecurityRules(Prism) {\n Prism.languages['firestore-security-rules'] = Prism.languages.extend(\n 'clike',\n {\n comment: /\\/\\/.*/,\n keyword:\n /\\b(?:allow|function|if|match|null|return|rules_version|service)\\b/,\n operator: /&&|\\|\\||[<>!=]=?|[-+*/%]|\\b(?:in|is)\\b/\n }\n )\n delete Prism.languages['firestore-security-rules']['class-name']\n Prism.languages.insertBefore('firestore-security-rules', 'keyword', {\n path: {\n pattern:\n /(^|[\\s(),])(?:\\/(?:[\\w\\xA0-\\uFFFF]+|\\{[\\w\\xA0-\\uFFFF]+(?:=\\*\\*)?\\}|\\$\\([\\w\\xA0-\\uFFFF.]+\\)))+/,\n lookbehind: true,\n greedy: true,\n inside: {\n variable: {\n pattern: /\\{[\\w\\xA0-\\uFFFF]+(?:=\\*\\*)?\\}|\\$\\([\\w\\xA0-\\uFFFF.]+\\)/,\n inside: {\n operator: /=/,\n keyword: /\\*\\*/,\n punctuation: /[.$(){}]/\n }\n },\n punctuation: /\\//\n }\n },\n method: {\n // to make the pattern shorter, the actual method names are omitted\n pattern: /(\\ballow\\s+)[a-z]+(?:\\s*,\\s*[a-z]+)*(?=\\s*[:;])/,\n lookbehind: true,\n alias: 'builtin',\n inside: {\n punctuation: /,/\n }\n }\n })\n}\n","'use strict'\n\nmodule.exports = flow\nflow.displayName = 'flow'\nflow.aliases = []\nfunction flow(Prism) {\n ;(function (Prism) {\n Prism.languages.flow = Prism.languages.extend('javascript', {})\n Prism.languages.insertBefore('flow', 'keyword', {\n type: [\n {\n pattern:\n /\\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|any|mixed|null|void)\\b/,\n alias: 'tag'\n }\n ]\n })\n Prism.languages.flow['function-variable'].pattern =\n /(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=\\s*(?:function\\b|(?:\\([^()]*\\)(?:\\s*:\\s*\\w+)?|(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/i\n delete Prism.languages.flow['parameter']\n Prism.languages.insertBefore('flow', 'operator', {\n 'flow-punctuation': {\n pattern: /\\{\\||\\|\\}/,\n alias: 'punctuation'\n }\n })\n if (!Array.isArray(Prism.languages.flow.keyword)) {\n Prism.languages.flow.keyword = [Prism.languages.flow.keyword]\n }\n Prism.languages.flow.keyword.unshift(\n {\n pattern: /(^|[^$]\\b)(?:Class|declare|opaque|type)\\b(?!\\$)/,\n lookbehind: true\n },\n {\n pattern:\n /(^|[^$]\\B)\\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\\b(?!\\$)/,\n lookbehind: true\n }\n )\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = fortran\nfortran.displayName = 'fortran'\nfortran.aliases = []\nfunction fortran(Prism) {\n Prism.languages.fortran = {\n 'quoted-number': {\n pattern: /[BOZ](['\"])[A-F0-9]+\\1/i,\n alias: 'number'\n },\n string: {\n pattern:\n /(?:\\b\\w+_)?(['\"])(?:\\1\\1|&(?:\\r\\n?|\\n)(?:[ \\t]*!.*(?:\\r\\n?|\\n)|(?![ \\t]*!))|(?!\\1).)*(?:\\1|&)/,\n inside: {\n comment: {\n pattern: /(&(?:\\r\\n?|\\n)\\s*)!.*/,\n lookbehind: true\n }\n }\n },\n comment: {\n pattern: /!.*/,\n greedy: true\n },\n boolean: /\\.(?:FALSE|TRUE)\\.(?:_\\w+)?/i,\n number: /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[ED][+-]?\\d+)?(?:_\\w+)?/i,\n keyword: [\n // Types\n /\\b(?:CHARACTER|COMPLEX|DOUBLE ?PRECISION|INTEGER|LOGICAL|REAL)\\b/i, // END statements\n /\\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\\b/i, // Statements\n /\\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\\b/i, // Others\n /\\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEIF|ELSEWHERE|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\\b/i\n ],\n operator: [\n /\\*\\*|\\/\\/|=>|[=\\/]=|[<>]=?|::|[+\\-*=%]|\\.[A-Z]+\\./i,\n {\n // Use lookbehind to prevent confusion with (/ /)\n pattern: /(^|(?!\\().)\\/(?!\\))/,\n lookbehind: true\n }\n ],\n punctuation: /\\(\\/|\\/\\)|[(),;:&]/\n }\n}\n","'use strict'\n\nmodule.exports = fsharp\nfsharp.displayName = 'fsharp'\nfsharp.aliases = []\nfunction fsharp(Prism) {\n Prism.languages.fsharp = Prism.languages.extend('clike', {\n comment: [\n {\n pattern: /(^|[^\\\\])\\(\\*(?!\\))[\\s\\S]*?\\*\\)/,\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n string: {\n pattern: /(?:\"\"\"[\\s\\S]*?\"\"\"|@\"(?:\"\"|[^\"])*\"|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")B?/,\n greedy: true\n },\n 'class-name': {\n pattern:\n /(\\b(?:exception|inherit|interface|new|of|type)\\s+|\\w\\s*:\\s*|\\s:\\??>\\s*)[.\\w]+\\b(?:\\s*(?:->|\\*)\\s*[.\\w]+\\b)*(?!\\s*[:.])/,\n lookbehind: true,\n inside: {\n operator: /->|\\*/,\n punctuation: /\\./\n }\n },\n keyword:\n /\\b(?:let|return|use|yield)(?:!\\B|\\b)|\\b(?:abstract|and|as|asr|assert|atomic|base|begin|break|checked|class|component|const|constraint|constructor|continue|default|delegate|do|done|downcast|downto|eager|elif|else|end|event|exception|extern|external|false|finally|fixed|for|fun|function|functor|global|if|in|include|inherit|inline|interface|internal|land|lazy|lor|lsl|lsr|lxor|match|member|method|mixin|mod|module|mutable|namespace|new|not|null|object|of|open|or|override|parallel|private|process|protected|public|pure|rec|sealed|select|sig|static|struct|tailcall|then|to|trait|true|try|type|upcast|val|virtual|void|volatile|when|while|with)\\b/,\n number: [\n /\\b0x[\\da-fA-F]+(?:LF|lf|un)?\\b/,\n /\\b0b[01]+(?:uy|y)?\\b/,\n /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[fm]|e[+-]?\\d+)?\\b/i,\n /\\b\\d+(?:[IlLsy]|UL|u[lsy]?)?\\b/\n ],\n operator:\n /([<>~&^])\\1\\1|([*.:<>&])\\2|<-|->|[!=:]=|<?\\|{1,3}>?|\\??(?:<=|>=|<>|[-+*/%=<>])\\??|[!?^&]|~[+~-]|:>|:\\?>?/\n })\n Prism.languages.insertBefore('fsharp', 'keyword', {\n preprocessor: {\n pattern: /(^[\\t ]*)#.*/m,\n lookbehind: true,\n alias: 'property',\n inside: {\n directive: {\n pattern: /(^#)\\b(?:else|endif|if|light|line|nowarn)\\b/,\n lookbehind: true,\n alias: 'keyword'\n }\n }\n }\n })\n Prism.languages.insertBefore('fsharp', 'punctuation', {\n 'computation-expression': {\n pattern: /\\b[_a-z]\\w*(?=\\s*\\{)/i,\n alias: 'keyword'\n }\n })\n Prism.languages.insertBefore('fsharp', 'string', {\n annotation: {\n pattern: /\\[<.+?>\\]/,\n greedy: true,\n inside: {\n punctuation: /^\\[<|>\\]$/,\n 'class-name': {\n pattern: /^\\w+$|(^|;\\s*)[A-Z]\\w*(?=\\()/,\n lookbehind: true\n },\n 'annotation-content': {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.fsharp\n }\n }\n },\n char: {\n pattern:\n /'(?:[^\\\\']|\\\\(?:.|\\d{3}|x[a-fA-F\\d]{2}|u[a-fA-F\\d]{4}|U[a-fA-F\\d]{8}))'B?/,\n greedy: true\n }\n })\n}\n","'use strict'\nvar refractorMarkupTemplating = require('./markup-templating.js')\nmodule.exports = ftl\nftl.displayName = 'ftl'\nftl.aliases = []\nfunction ftl(Prism) {\n Prism.register(refractorMarkupTemplating)\n ;(function (Prism) {\n // https://freemarker.apache.org/docs/dgui_template_exp.html\n // FTL expression with 4 levels of nesting supported\n var FTL_EXPR =\n /[^<()\"']|\\((?:<expr>)*\\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|\"(?:[^\\\\\"]|\\\\.)*\"|'(?:[^\\\\']|\\\\.)*'/\n .source\n for (var i = 0; i < 2; i++) {\n FTL_EXPR = FTL_EXPR.replace(/<expr>/g, function () {\n return FTL_EXPR\n })\n }\n FTL_EXPR = FTL_EXPR.replace(/<expr>/g, /[^\\s\\S]/.source)\n var ftl = {\n comment: /<#--[\\s\\S]*?-->/,\n string: [\n {\n // raw string\n pattern: /\\br(\"|')(?:(?!\\1)[^\\\\]|\\\\.)*\\1/,\n greedy: true\n },\n {\n pattern: RegExp(\n /(\"|')(?:(?!\\1|\\$\\{)[^\\\\]|\\\\.|\\$\\{(?:(?!\\})(?:<expr>))*\\})*\\1/.source.replace(\n /<expr>/g,\n function () {\n return FTL_EXPR\n }\n )\n ),\n greedy: true,\n inside: {\n interpolation: {\n pattern: RegExp(\n /((?:^|[^\\\\])(?:\\\\\\\\)*)\\$\\{(?:(?!\\})(?:<expr>))*\\}/.source.replace(\n /<expr>/g,\n function () {\n return FTL_EXPR\n }\n )\n ),\n lookbehind: true,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^\\$\\{|\\}$/,\n alias: 'punctuation'\n },\n rest: null\n }\n }\n }\n }\n ],\n keyword: /\\b(?:as)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n 'builtin-function': {\n pattern: /((?:^|[^?])\\?\\s*)\\w+/,\n lookbehind: true,\n alias: 'function'\n },\n function: /\\b\\w+(?=\\s*\\()/,\n number: /\\b\\d+(?:\\.\\d+)?\\b/,\n operator:\n /\\.\\.[<*!]?|->|--|\\+\\+|&&|\\|\\||\\?{1,2}|[-+*/%!=<>]=?|\\b(?:gt|gte|lt|lte)\\b/,\n punctuation: /[,;.:()[\\]{}]/\n }\n ftl.string[1].inside.interpolation.inside.rest = ftl\n Prism.languages.ftl = {\n 'ftl-comment': {\n // the pattern is shortened to be more efficient\n pattern: /^<#--[\\s\\S]*/,\n alias: 'comment'\n },\n 'ftl-directive': {\n pattern: /^<[\\s\\S]+>$/,\n inside: {\n directive: {\n pattern: /(^<\\/?)[#@][a-z]\\w*/i,\n lookbehind: true,\n alias: 'keyword'\n },\n punctuation: /^<\\/?|\\/?>$/,\n content: {\n pattern: /\\s*\\S[\\s\\S]*/,\n alias: 'ftl',\n inside: ftl\n }\n }\n },\n 'ftl-interpolation': {\n pattern: /^\\$\\{[\\s\\S]*\\}$/,\n inside: {\n punctuation: /^\\$\\{|\\}$/,\n content: {\n pattern: /\\s*\\S[\\s\\S]*/,\n alias: 'ftl',\n inside: ftl\n }\n }\n }\n }\n Prism.hooks.add('before-tokenize', function (env) {\n // eslint-disable-next-line regexp/no-useless-lazy\n var pattern = RegExp(\n /<#--[\\s\\S]*?-->|<\\/?[#@][a-zA-Z](?:<expr>)*?>|\\$\\{(?:<expr>)*?\\}/.source.replace(\n /<expr>/g,\n function () {\n return FTL_EXPR\n }\n ),\n 'gi'\n )\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'ftl',\n pattern\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'ftl')\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = gap\ngap.displayName = 'gap'\ngap.aliases = []\nfunction gap(Prism) {\n // https://www.gap-system.org/Manuals/doc/ref/chap4.html\n // https://www.gap-system.org/Manuals/doc/ref/chap27.html\n Prism.languages.gap = {\n shell: {\n pattern: /^gap>[\\s\\S]*?(?=^gap>|$(?![\\s\\S]))/m,\n greedy: true,\n inside: {\n gap: {\n pattern: /^(gap>).+(?:(?:\\r(?:\\n|(?!\\n))|\\n)>.*)*/,\n lookbehind: true,\n inside: null // see below\n },\n punctuation: /^gap>/\n }\n },\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n string: {\n pattern:\n /(^|[^\\\\'\"])(?:'(?:[^\\r\\n\\\\']|\\\\.){1,10}'|\"(?:[^\\r\\n\\\\\"]|\\\\.)*\"(?!\")|\"\"\"[\\s\\S]*?\"\"\")/,\n lookbehind: true,\n greedy: true,\n inside: {\n continuation: {\n pattern: /([\\r\\n])>/,\n lookbehind: true,\n alias: 'punctuation'\n }\n }\n },\n keyword:\n /\\b(?:Assert|Info|IsBound|QUIT|TryNextMethod|Unbind|and|atomic|break|continue|do|elif|else|end|fi|for|function|if|in|local|mod|not|od|or|quit|readonly|readwrite|rec|repeat|return|then|until|while)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n number: {\n pattern:\n /(^|[^\\w.]|\\.\\.)(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?(?:_[a-z]?)?(?=$|[^\\w.]|\\.\\.)/,\n lookbehind: true\n },\n continuation: {\n pattern: /([\\r\\n])>/,\n lookbehind: true,\n alias: 'punctuation'\n },\n operator: /->|[-+*/^~=!]|<>|[<>]=?|:=|\\.\\./,\n punctuation: /[()[\\]{},;.:]/\n }\n Prism.languages.gap.shell.inside.gap.inside = Prism.languages.gap\n}\n","'use strict'\n\nmodule.exports = gcode\ngcode.displayName = 'gcode'\ngcode.aliases = []\nfunction gcode(Prism) {\n Prism.languages.gcode = {\n comment: /;.*|\\B\\(.*?\\)\\B/,\n string: {\n pattern: /\"(?:\"\"|[^\"])*\"/,\n greedy: true\n },\n keyword: /\\b[GM]\\d+(?:\\.\\d+)?\\b/,\n property: /\\b[A-Z]/,\n checksum: {\n pattern: /(\\*)\\d+/,\n lookbehind: true,\n alias: 'number'\n },\n // T0:0:0\n punctuation: /[:*]/\n }\n}\n","'use strict'\n\nmodule.exports = gdscript\ngdscript.displayName = 'gdscript'\ngdscript.aliases = []\nfunction gdscript(Prism) {\n Prism.languages.gdscript = {\n comment: /#.*/,\n string: {\n pattern:\n /@?(?:(\"|')(?:(?!\\1)[^\\n\\\\]|\\\\[\\s\\S])*\\1(?!\"|')|\"\"\"(?:[^\\\\]|\\\\[\\s\\S])*?\"\"\")/,\n greedy: true\n },\n 'class-name': {\n // class_name Foo, extends Bar, class InnerClass\n // export(int) var baz, export(int, 0) var i\n // as Node\n // const FOO: int = 9, var bar: bool = true\n // func add(reference: Item, amount: int) -> Item:\n pattern:\n /(^(?:class|class_name|extends)[ \\t]+|^export\\([ \\t]*|\\bas[ \\t]+|(?:\\b(?:const|var)[ \\t]|[,(])[ \\t]*\\w+[ \\t]*:[ \\t]*|->[ \\t]*)[a-zA-Z_]\\w*/m,\n lookbehind: true\n },\n keyword:\n /\\b(?:and|as|assert|break|breakpoint|class|class_name|const|continue|elif|else|enum|export|extends|for|func|if|in|is|master|mastersync|match|not|null|onready|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|signal|static|tool|var|while|yield)\\b/,\n function: /\\b[a-z_]\\w*(?=[ \\t]*\\()/i,\n variable: /\\$\\w+/,\n number: [\n /\\b0b[01_]+\\b|\\b0x[\\da-fA-F_]+\\b|(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.[\\d_]+)(?:e[+-]?[\\d_]+)?\\b/,\n /\\b(?:INF|NAN|PI|TAU)\\b/\n ],\n constant: /\\b[A-Z][A-Z_\\d]*\\b/,\n boolean: /\\b(?:false|true)\\b/,\n operator: /->|:=|&&|\\|\\||<<|>>|[-+*/%&|!<>=]=?|[~^]/,\n punctuation: /[.:,;()[\\]{}]/\n }\n}\n","'use strict'\n\nmodule.exports = gedcom\ngedcom.displayName = 'gedcom'\ngedcom.aliases = []\nfunction gedcom(Prism) {\n Prism.languages.gedcom = {\n 'line-value': {\n // Preceded by level, optional pointer, and tag\n pattern:\n /(^[\\t ]*\\d+ +(?:@\\w[\\w!\"$%&'()*+,\\-./:;<=>?[\\\\\\]^`{|}~\\x80-\\xfe #]*@ +)?\\w+ ).+/m,\n lookbehind: true,\n inside: {\n pointer: {\n pattern: /^@\\w[\\w!\"$%&'()*+,\\-./:;<=>?[\\\\\\]^`{|}~\\x80-\\xfe #]*@$/,\n alias: 'variable'\n }\n }\n },\n tag: {\n // Preceded by level and optional pointer\n pattern:\n /(^[\\t ]*\\d+ +(?:@\\w[\\w!\"$%&'()*+,\\-./:;<=>?[\\\\\\]^`{|}~\\x80-\\xfe #]*@ +)?)\\w+/m,\n lookbehind: true,\n alias: 'string'\n },\n level: {\n pattern: /(^[\\t ]*)\\d+/m,\n lookbehind: true,\n alias: 'number'\n },\n pointer: {\n pattern: /@\\w[\\w!\"$%&'()*+,\\-./:;<=>?[\\\\\\]^`{|}~\\x80-\\xfe #]*@/,\n alias: 'variable'\n }\n }\n}\n","'use strict'\n\nmodule.exports = gherkin\ngherkin.displayName = 'gherkin'\ngherkin.aliases = []\nfunction gherkin(Prism) {\n ;(function (Prism) {\n var tableRow = /(?:\\r?\\n|\\r)[ \\t]*\\|.+\\|(?:(?!\\|).)*/.source\n Prism.languages.gherkin = {\n pystring: {\n pattern: /(\"\"\"|''')[\\s\\S]+?\\1/,\n alias: 'string'\n },\n comment: {\n pattern: /(^[ \\t]*)#.*/m,\n lookbehind: true\n },\n tag: {\n pattern: /(^[ \\t]*)@\\S*/m,\n lookbehind: true\n },\n feature: {\n pattern:\n /((?:^|\\r?\\n|\\r)[ \\t]*)(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Característica|Egenskab|Egenskap|Eiginleiki|Feature|Fīča|Fitur|Fonctionnalité|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Funcţionalitate|Funcționalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalitāte|Funkcionalnost|Funkcja|Funksie|Funktionalität|Funktionalitéit|Funzionalità|Hwaet|Hwæt|Jellemző|Karakteristik|Lastnost|Mak|Mogucnost|laH|Mogućnost|Moznosti|Možnosti|OH HAI|Omadus|Ominaisuus|Osobina|Özellik|Potrzeba biznesowa|perbogh|poQbogh malja'|Požadavek|Požiadavka|Pretty much|Qap|Qu'meH 'ut|Savybė|Tính năng|Trajto|Vermoë|Vlastnosť|Właściwość|Značilnost|Δυνατότητα|Λειτουργία|Могућност|Мөмкинлек|Особина|Свойство|Үзенчәлеклелек|Функционал|Функционалност|Функция|Функціонал|תכונה|خاصية|خصوصیت|صلاحیت|کاروبار کی ضرورت|وِیژگی|रूप लेख|ਖਾਸੀਅਤ|ਨਕਸ਼ ਨੁਹਾਰ|ਮੁਹਾਂਦਰਾ|గుణము|ಹೆಚ್ಚಳ|ความต้องการทางธุรกิจ|ความสามารถ|โครงหลัก|기능|フィーチャ|功能|機能):(?:[^:\\r\\n]+(?:\\r?\\n|\\r|$))*/,\n lookbehind: true,\n inside: {\n important: {\n pattern: /(:)[^\\r\\n]+/,\n lookbehind: true\n },\n keyword: /[^:\\r\\n]+:/\n }\n },\n scenario: {\n pattern:\n /(^[ \\t]*)(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|Ær|Agtergrond|All y'all|Antecedentes|Antecedents|Atburðarás|Atburðarásir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|Bối cảnh|Cefndir|Cenario|Cenário|Cenario de Fundo|Cenário de Fundo|Cenarios|Cenários|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|Dæmi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delineação do Cenário|Dis is what went down|Dữ liệu|Dyagram Senaryo|Dyagram senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cenário|EXAMPLZ|Examples|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgatókönyv|Forgatókönyv vázlat|Fundo|Geçmiş|Grundlage|Hannergrond|ghantoH|Háttér|Heave to|Istorik|Juhtumid|Keadaan|Khung kịch bản|Khung tình huống|Kịch bản|Koncept|Konsep skenario|Kontèks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut chovnatlh|lut|lutmey|Lýsing Atburðarásar|Lýsing Dæma|MISHUN SRSLY|MISHUN|Menggariskan Senario|mo'|Náčrt Scenára|Náčrt Scénáře|Náčrt Scenáru|Oris scenarija|Örnekler|Osnova|Osnova Scenára|Osnova scénáře|Osnutek|Ozadje|Paraugs|Pavyzdžiai|Példák|Piemēri|Plan du scénario|Plan du Scénario|Plan Senaryo|Plan senaryo|Plang vum Szenario|Pozadí|Pozadie|Pozadina|Príklady|Příklady|Primer|Primeri|Primjeri|Przykłady|Raamstsenaarium|Reckon it's like|Rerefons|Scenár|Scénář|Scenarie|Scenarij|Scenarijai|Scenarijaus šablonas|Scenariji|Scenārijs|Scenārijs pēc parauga|Scenarijus|Scenario|Scénario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se ðe|Se the|Se þe|Senario|Senaryo Deskripsyon|Senaryo deskripsyon|Senaryo|Senaryo taslağı|Shiver me timbers|Situācija|Situai|Situasie Uiteensetting|Situasie|Skenario konsep|Skenario|Skica|Structura scenariu|Structură scenariu|Struktura scenarija|Stsenaarium|Swa hwaer swa|Swa|Swa hwær swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|Tình huống|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo-ho-ho|You'll wanna|Założenia|Παραδείγματα|Περιγραφή Σεναρίου|Σενάρια|Σενάριο|Υπόβαθρο|Кереш|Контекст|Концепт|Мисаллар|Мисоллар|Основа|Передумова|Позадина|Предистория|Предыстория|Приклади|Пример|Примери|Примеры|Рамка на сценарий|Скица|Структура сценарија|Структура сценария|Структура сценарію|Сценарий|Сценарий структураси|Сценарийның төзелеше|Сценарији|Сценарио|Сценарій|Тарих|Үрнәкләр|דוגמאות|רקע|תבנית תרחיש|תרחיש|الخلفية|الگوی سناریو|امثلة|پس منظر|زمینه|سناریو|سيناريو|سيناريو مخطط|مثالیں|منظر نامے کا خاکہ|منظرنامہ|نمونه ها|उदाहरण|परिदृश्य|परिदृश्य रूपरेखा|पृष्ठभूमि|ਉਦਾਹਰਨਾਂ|ਪਟਕਥਾ|ਪਟਕਥਾ ਢਾਂਚਾ|ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ|ਪਿਛੋਕੜ|ఉదాహరణలు|కథనం|నేపథ్యం|సన్నివేశం|ಉದಾಹರಣೆಗಳು|ಕಥಾಸಾರಾಂಶ|ವಿವರಣೆ|ಹಿನ್ನೆಲೆ|โครงสร้างของเหตุการณ์|ชุดของตัวอย่าง|ชุดของเหตุการณ์|แนวคิด|สรุปเหตุการณ์|เหตุการณ์|배경|시나리오|시나리오 개요|예|サンプル|シナリオ|シナリオアウトライン|シナリオテンプレ|シナリオテンプレート|テンプレ|例|例子|剧本|剧本大纲|劇本|劇本大綱|场景|场景大纲|場景|場景大綱|背景):[^:\\r\\n]*/m,\n lookbehind: true,\n inside: {\n important: {\n pattern: /(:)[^\\r\\n]*/,\n lookbehind: true\n },\n keyword: /[^:\\r\\n]+:/\n }\n },\n 'table-body': {\n // Look-behind is used to skip the table head, which has the same format as any table row\n pattern: RegExp('(' + tableRow + ')(?:' + tableRow + ')+'),\n lookbehind: true,\n inside: {\n outline: {\n pattern: /<[^>]+>/,\n alias: 'variable'\n },\n td: {\n pattern: /\\s*[^\\s|][^|]*/,\n alias: 'string'\n },\n punctuation: /\\|/\n }\n },\n 'table-head': {\n pattern: RegExp(tableRow),\n inside: {\n th: {\n pattern: /\\s*[^\\s|][^|]*/,\n alias: 'variable'\n },\n punctuation: /\\|/\n }\n },\n atrule: {\n pattern:\n /(^[ \\t]+)(?:'a|'ach|'ej|7|a|A také|A taktiež|A tiež|A zároveň|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|Atès|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Biết|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|Când|Cand|Cando|Ce|Cuando|Če|Ða ðe|Ða|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Daţi fiind|Dați fiind|DEN|Dato|De|Den youse gotta|Dengan|Diberi|Diyelim ki|Donada|Donat|Donitaĵo|Do|Dun|Duota|Ðurh|Eeldades|Ef|Eğer ki|Entao|Então|Entón|E|En|Entonces|Epi|És|Etant donnée|Etant donné|Et|Étant données|Étant donnée|Étant donné|Etant données|Etant donnés|Étant donnés|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Jeśli|Jeżeli|Kad|Kada|Kadar|Kai|Kaj|Když|Keď|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|Lè sa a|Lè|Logo|Lorsqu'<|Lorsque|mä|Maar|Mais|Mając|Ma|Majd|Maka|Manawa|Mas|Men|Menawa|Mutta|Nalika|Nalikaning|Nanging|Når|När|Nato|Nhưng|Niin|Njuk|O zaman|Och|Og|Oletetaan|Ond|Onda|Oraz|Pak|Pero|Però|Podano|Pokiaľ|Pokud|Potem|Potom|Privzeto|Pryd|Quan|Quand|Quando|qaSDI'|Så|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|Şi|Și|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Thì|Thurh|Toda|Too right|Un|Und|ugeholl|Và|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za předpokladu|Zadan|Zadani|Zadano|Zadate|Zadato|Zakładając|Zaradi|Zatati|Þa þe|Þa|Þá|Þegar|Þurh|Αλλά|Δεδομένου|Και|Όταν|Τότε|А також|Агар|Але|Али|Аммо|А|Әгәр|Әйтик|Әмма|Бирок|Ва|Вә|Дадено|Дано|Допустим|Если|Задате|Задати|Задато|И|І|К тому же|Када|Кад|Когато|Когда|Коли|Ләкин|Лекин|Нәтиҗәдә|Нехай|Но|Онда|Припустимо, що|Припустимо|Пусть|Также|Та|Тогда|Тоді|То|Унда|Һәм|Якщо|אבל|אזי|אז|בהינתן|וגם|כאשר|آنگاه|اذاً|اگر|اما|اور|با فرض|بالفرض|بفرض|پھر|تب|ثم|جب|عندما|فرض کیا|لكن|لیکن|متى|هنگامی|و|अगर|और|कदा|किन्तु|चूंकि|जब|तथा|तदा|तब|परन्तु|पर|यदि|ਅਤੇ|ਜਦੋਂ|ਜਿਵੇਂ ਕਿ|ਜੇਕਰ|ਤਦ|ਪਰ|అప్పుడు|ఈ పరిస్థితిలో|కాని|చెప్పబడినది|మరియు|ಆದರೆ|ನಂತರ|ನೀಡಿದ|ಮತ್ತು|ಸ್ಥಿತಿಯನ್ನು|กำหนดให้|ดังนั้น|แต่|เมื่อ|และ|그러면<|그리고<|단<|만약<|만일<|먼저<|조건<|하지만<|かつ<|しかし<|ただし<|ならば<|もし<|並且<|但し<|但是<|假如<|假定<|假設<|假设<|前提<|同时<|同時<|并且<|当<|當<|而且<|那么<|那麼<)(?=[ \\t])/m,\n lookbehind: true\n },\n string: {\n pattern: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|'(?:\\\\.|[^'\\\\\\r\\n])*'/,\n inside: {\n outline: {\n pattern: /<[^>]+>/,\n alias: 'variable'\n }\n }\n },\n outline: {\n pattern: /<[^>]+>/,\n alias: 'variable'\n }\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = git\ngit.displayName = 'git'\ngit.aliases = []\nfunction git(Prism) {\n Prism.languages.git = {\n /*\n * A simple one line comment like in a git status command\n * For instance:\n * $ git status\n * # On branch infinite-scroll\n * # Your branch and 'origin/sharedBranches/frontendTeam/infinite-scroll' have diverged,\n * # and have 1 and 2 different commits each, respectively.\n * nothing to commit (working directory clean)\n */\n comment: /^#.*/m,\n /*\n * Regexp to match the changed lines in a git diff output. Check the example below.\n */\n deleted: /^[-–].*/m,\n inserted: /^\\+.*/m,\n /*\n * a string (double and simple quote)\n */\n string: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n /*\n * a git command. It starts with a random prompt finishing by a $, then \"git\" then some other parameters\n * For instance:\n * $ git add file.txt\n */\n command: {\n pattern: /^.*\\$ git .*$/m,\n inside: {\n /*\n * A git command can contain a parameter starting by a single or a double dash followed by a string\n * For instance:\n * $ git diff --cached\n * $ git log -p\n */\n parameter: /\\s--?\\w+/\n }\n },\n /*\n * Coordinates displayed in a git diff command\n * For instance:\n * $ git diff\n * diff --git file.txt file.txt\n * index 6214953..1d54a52 100644\n * --- file.txt\n * +++ file.txt\n * @@ -1 +1,2 @@\n * -Here's my tetx file\n * +Here's my text file\n * +And this is the second line\n */\n coord: /^@@.*@@$/m,\n /*\n * Match a \"commit [SHA1]\" line in a git log output.\n * For instance:\n * $ git log\n * commit a11a14ef7e26f2ca62d4b35eac455ce636d0dc09\n * Author: lgiraudel\n * Date: Mon Feb 17 11:18:34 2014 +0100\n *\n * Add of a new line\n */\n 'commit-sha1': /^commit \\w{40}$/m\n }\n}\n","'use strict'\nvar refractorC = require('./c.js')\nmodule.exports = glsl\nglsl.displayName = 'glsl'\nglsl.aliases = []\nfunction glsl(Prism) {\n Prism.register(refractorC)\n Prism.languages.glsl = Prism.languages.extend('c', {\n keyword:\n /\\b(?:active|asm|atomic_uint|attribute|[ibdu]?vec[234]|bool|break|buffer|case|cast|centroid|class|coherent|common|const|continue|d?mat[234](?:x[234])?|default|discard|do|double|else|enum|extern|external|false|filter|fixed|flat|float|for|fvec[234]|goto|half|highp|hvec[234]|[iu]?sampler2DMS(?:Array)?|[iu]?sampler2DRect|[iu]?samplerBuffer|[iu]?samplerCube|[iu]?samplerCubeArray|[iu]?sampler[123]D|[iu]?sampler[12]DArray|[iu]?image2DMS(?:Array)?|[iu]?image2DRect|[iu]?imageBuffer|[iu]?imageCube|[iu]?imageCubeArray|[iu]?image[123]D|[iu]?image[12]DArray|if|in|inline|inout|input|int|interface|invariant|layout|long|lowp|mediump|namespace|noinline|noperspective|out|output|partition|patch|precise|precision|public|readonly|resource|restrict|return|sample|sampler[12]DArrayShadow|sampler[12]DShadow|sampler2DRectShadow|sampler3DRect|samplerCubeArrayShadow|samplerCubeShadow|shared|short|sizeof|smooth|static|struct|subroutine|superp|switch|template|this|true|typedef|uint|uniform|union|unsigned|using|varying|void|volatile|while|writeonly)\\b/\n })\n}\n","'use strict'\n\nmodule.exports = gml\ngml.displayName = 'gml'\ngml.aliases = []\nfunction gml(Prism) {\n Prism.languages.gamemakerlanguage = Prism.languages.gml =\n Prism.languages.extend('clike', {\n keyword:\n /\\b(?:break|case|continue|default|do|else|enum|exit|for|globalvar|if|repeat|return|switch|until|var|while)\\b/,\n number:\n /(?:\\b0x[\\da-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ulf]{0,4}/i,\n operator:\n /--|\\+\\+|[-+%/=]=?|!=|\\*\\*?=?|<[<=>]?|>[=>]?|&&?|\\^\\^?|\\|\\|?|~|\\b(?:and|at|not|or|with|xor)\\b/,\n constant:\n /\\b(?:GM_build_date|GM_version|action_(?:continue|restart|reverse|stop)|all|gamespeed_(?:fps|microseconds)|global|local|noone|other|pi|pointer_(?:invalid|null)|self|timezone_(?:local|utc)|undefined|ev_(?:create|destroy|step|alarm|keyboard|mouse|collision|other|draw|draw_(?:begin|end|post|pre)|keypress|keyrelease|trigger|(?:left|middle|no|right)_button|(?:left|middle|right)_press|(?:left|middle|right)_release|mouse_(?:enter|leave|wheel_down|wheel_up)|global_(?:left|middle|right)_button|global_(?:left|middle|right)_press|global_(?:left|middle|right)_release|joystick(?:1|2)_(?:button1|button2|button3|button4|button5|button6|button7|button8|down|left|right|up)|outside|boundary|game_start|game_end|room_start|room_end|no_more_lives|animation_end|end_of_path|no_more_health|user\\d|gui|gui_begin|gui_end|step_(?:begin|end|normal))|vk_(?:alt|anykey|backspace|control|delete|down|end|enter|escape|home|insert|left|nokey|pagedown|pageup|pause|printscreen|return|right|shift|space|tab|up|f\\d|numpad\\d|add|decimal|divide|lalt|lcontrol|lshift|multiply|ralt|rcontrol|rshift|subtract)|achievement_(?:filter_(?:all_players|favorites_only|friends_only)|friends_info|info|leaderboard_info|our_info|pic_loaded|show_(?:achievement|bank|friend_picker|leaderboard|profile|purchase_prompt|ui)|type_challenge|type_score_challenge)|asset_(?:font|object|path|room|script|shader|sound|sprite|tiles|timeline|unknown)|audio_(?:3d|falloff_(?:exponent_distance|exponent_distance_clamped|inverse_distance|inverse_distance_clamped|linear_distance|linear_distance_clamped|none)|mono|new_system|old_system|stereo)|bm_(?:add|complex|dest_alpha|dest_color|dest_colour|inv_dest_alpha|inv_dest_color|inv_dest_colour|inv_src_alpha|inv_src_color|inv_src_colour|max|normal|one|src_alpha|src_alpha_sat|src_color|src_colour|subtract|zero)|browser_(?:chrome|firefox|ie|ie_mobile|not_a_browser|opera|safari|safari_mobile|tizen|unknown|windows_store)|buffer_(?:bool|f16|f32|f64|fast|fixed|generalerror|grow|invalidtype|network|outofbounds|outofspace|s16|s32|s8|seek_end|seek_relative|seek_start|string|text|u16|u32|u64|u8|vbuffer|wrap)|c_(?:aqua|black|blue|dkgray|fuchsia|gray|green|lime|ltgray|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)|cmpfunc_(?:always|equal|greater|greaterequal|less|lessequal|never|notequal)|cr_(?:appstart|arrow|beam|cross|default|drag|handpoint|hourglass|none|size_all|size_nesw|size_ns|size_nwse|size_we|uparrow)|cull_(?:clockwise|counterclockwise|noculling)|device_(?:emulator|tablet)|device_ios_(?:ipad|ipad_retina|iphone|iphone5|iphone6|iphone6plus|iphone_retina|unknown)|display_(?:landscape|landscape_flipped|portrait|portrait_flipped)|dll_(?:cdecl|cdel|stdcall)|ds_type_(?:grid|list|map|priority|queue|stack)|ef_(?:cloud|ellipse|explosion|firework|flare|rain|ring|smoke|smokeup|snow|spark|star)|fa_(?:archive|bottom|center|directory|hidden|left|middle|readonly|right|sysfile|top|volumeid)|fb_login_(?:default|fallback_to_webview|forcing_safari|forcing_webview|no_fallback_to_webview|use_system_account)|iap_(?:available|canceled|ev_consume|ev_product|ev_purchase|ev_restore|ev_storeload|failed|purchased|refunded|status_available|status_loading|status_processing|status_restoring|status_unavailable|status_uninitialised|storeload_failed|storeload_ok|unavailable)|leaderboard_type_(?:number|time_mins_secs)|lighttype_(?:dir|point)|matrix_(?:projection|view|world)|mb_(?:any|left|middle|none|right)|network_(?:config_(?:connect_timeout|disable_reliable_udp|enable_reliable_udp|use_non_blocking_socket)|socket_(?:bluetooth|tcp|udp)|type_(?:connect|data|disconnect|non_blocking_connect))|of_challenge_(?:lose|tie|win)|os_(?:android|ios|linux|macosx|ps3|ps4|psvita|unknown|uwp|win32|win8native|windows|winphone|xboxone)|phy_debug_render_(?:aabb|collision_pairs|coms|core_shapes|joints|obb|shapes)|phy_joint_(?:anchor_1_x|anchor_1_y|anchor_2_x|anchor_2_y|angle|angle_limits|damping_ratio|frequency|length_1|length_2|lower_angle_limit|max_force|max_length|max_motor_force|max_motor_torque|max_torque|motor_force|motor_speed|motor_torque|reaction_force_x|reaction_force_y|reaction_torque|speed|translation|upper_angle_limit)|phy_particle_data_flag_(?:category|color|colour|position|typeflags|velocity)|phy_particle_flag_(?:colormixing|colourmixing|elastic|powder|spring|tensile|viscous|wall|water|zombie)|phy_particle_group_flag_(?:rigid|solid)|pr_(?:linelist|linestrip|pointlist|trianglefan|trianglelist|trianglestrip)|ps_(?:distr|shape)_(?:diamond|ellipse|gaussian|invgaussian|line|linear|rectangle)|pt_shape_(?:circle|cloud|disk|explosion|flare|line|pixel|ring|smoke|snow|spark|sphere|square|star)|ty_(?:real|string)|gp_(?:face\\d|axislh|axislv|axisrh|axisrv|padd|padl|padr|padu|select|shoulderl|shoulderlb|shoulderr|shoulderrb|start|stickl|stickr)|lb_disp_(?:none|numeric|time_ms|time_sec)|lb_sort_(?:ascending|descending|none)|ov_(?:achievements|community|friends|gamegroup|players|settings)|ugc_(?:filetype_(?:community|microtrans)|list_(?:Favorited|Followed|Published|Subscribed|UsedOrPlayed|VotedDown|VotedOn|VotedUp|WillVoteLater)|match_(?:AllGuides|Artwork|Collections|ControllerBindings|IntegratedGuides|Items|Items_Mtx|Items_ReadyToUse|Screenshots|UsableInGame|Videos|WebGuides)|query_(?:AcceptedForGameRankedByAcceptanceDate|CreatedByFriendsRankedByPublicationDate|FavoritedByFriendsRankedByPublicationDate|NotYetRated)|query_RankedBy(?:NumTimesReported|PublicationDate|TextSearch|TotalVotesAsc|Trend|Vote|VotesUp)|result_success|sortorder_CreationOrder(?:Asc|Desc)|sortorder_(?:ForModeration|LastUpdatedDesc|SubscriptionDateDesc|TitleAsc|VoteScoreDesc)|visibility_(?:friends_only|private|public))|vertex_usage_(?:binormal|blendindices|blendweight|color|colour|depth|fog|normal|position|psize|sample|tangent|texcoord|textcoord)|vertex_type_(?:float\\d|color|colour|ubyte4)|input_type|layerelementtype_(?:background|instance|oldtilemap|particlesystem|sprite|tile|tilemap|undefined)|se_(?:chorus|compressor|echo|equalizer|flanger|gargle|none|reverb)|text_type|tile_(?:flip|index_mask|mirror|rotate)|(?:obj|rm|scr|spr)\\w+)\\b/,\n variable:\n /\\b(?:alarm|application_surface|async_load|background_(?:alpha|blend|color|colour|foreground|height|hspeed|htiled|index|showcolor|showcolour|visible|vspeed|vtiled|width|x|xscale|y|yscale)|bbox_(?:bottom|left|right|top)|browser_(?:height|width)|caption_(?:health|lives|score)|current_(?:day|hour|minute|month|second|time|weekday|year)|cursor_sprite|debug_mode|delta_time|direction|display_aa|error_(?:last|occurred)|event_(?:action|number|object|type)|fps|fps_real|friction|game_(?:display|project|save)_(?:id|name)|gamemaker_(?:pro|registered|version)|gravity|gravity_direction|(?:h|v)speed|health|iap_data|id|image_(?:alpha|angle|blend|depth|index|number|speed|xscale|yscale)|instance_(?:count|id)|keyboard_(?:key|lastchar|lastkey|string)|layer|lives|mask_index|mouse_(?:button|lastbutton|x|y)|object_index|os_(?:browser|device|type|version)|path_(?:endaction|index|orientation|position|positionprevious|scale|speed)|persistent|phy_(?:rotation|(?:col_normal|collision|com|linear_velocity|position|speed)_(?:x|y)|angular_(?:damping|velocity)|position_(?:x|y)previous|speed|linear_damping|bullet|fixed_rotation|active|mass|inertia|dynamic|kinematic|sleeping|collision_points)|pointer_(?:invalid|null)|room|room_(?:caption|first|height|last|persistent|speed|width)|score|secure_mode|show_(?:health|lives|score)|solid|speed|sprite_(?:height|index|width|xoffset|yoffset)|temp_directory|timeline_(?:index|loop|position|running|speed)|transition_(?:color|kind|steps)|undefined|view_(?:angle|current|enabled|(?:h|v)(?:border|speed)|(?:h|w|x|y)port|(?:h|w|x|y)view|object|surface_id|visible)|visible|webgl_enabled|working_directory|(?:x|y)(?:previous|start)|x|y|argument(?:_relitive|_count|\\d)|argument|global|local|other|self)\\b/\n })\n}\n","'use strict'\n\nmodule.exports = gn\ngn.displayName = 'gn'\ngn.aliases = ['gni']\nfunction gn(Prism) {\n // https://gn.googlesource.com/gn/+/refs/heads/main/docs/reference.md#grammar\n Prism.languages.gn = {\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n 'string-literal': {\n pattern: /(^|[^\\\\\"])\"(?:[^\\r\\n\"\\\\]|\\\\.)*\"/,\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:\\{[\\s\\S]*?\\}|[a-zA-Z_]\\w*|0x[a-fA-F0-9]{2})/,\n lookbehind: true,\n inside: {\n number: /^\\$0x[\\s\\S]{2}$/,\n variable: /^\\$\\w+$/,\n 'interpolation-punctuation': {\n pattern: /^\\$\\{|\\}$/,\n alias: 'punctuation'\n },\n expression: {\n pattern: /[\\s\\S]+/,\n inside: null // see below\n }\n }\n },\n string: /[\\s\\S]+/\n }\n },\n keyword: /\\b(?:else|if)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n 'builtin-function': {\n // a few functions get special highlighting to improve readability\n pattern:\n /\\b(?:assert|defined|foreach|import|pool|print|template|tool|toolchain)(?=\\s*\\()/i,\n alias: 'keyword'\n },\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n constant:\n /\\b(?:current_cpu|current_os|current_toolchain|default_toolchain|host_cpu|host_os|root_build_dir|root_gen_dir|root_out_dir|target_cpu|target_gen_dir|target_os|target_out_dir)\\b/,\n number: /-?\\b\\d+\\b/,\n operator: /[-+!=<>]=?|&&|\\|\\|/,\n punctuation: /[(){}[\\],.]/\n }\n Prism.languages.gn['string-literal'].inside['interpolation'].inside[\n 'expression'\n ].inside = Prism.languages.gn\n Prism.languages.gni = Prism.languages.gn\n}\n","'use strict'\n\nmodule.exports = goModule\ngoModule.displayName = 'goModule'\ngoModule.aliases = []\nfunction goModule(Prism) {\n // https://go.dev/ref/mod#go-mod-file-module\n Prism.languages['go-mod'] = Prism.languages['go-module'] = {\n comment: {\n pattern: /\\/\\/.*/,\n greedy: true\n },\n version: {\n pattern: /(^|[\\s()[\\],])v\\d+\\.\\d+\\.\\d+(?:[+-][-+.\\w]*)?(?![^\\s()[\\],])/,\n lookbehind: true,\n alias: 'number'\n },\n 'go-version': {\n pattern: /((?:^|\\s)go\\s+)\\d+(?:\\.\\d+){1,2}/,\n lookbehind: true,\n alias: 'number'\n },\n keyword: {\n pattern: /^([ \\t]*)(?:exclude|go|module|replace|require|retract)\\b/m,\n lookbehind: true\n },\n operator: /=>/,\n punctuation: /[()[\\],]/\n }\n}\n","'use strict'\n\nmodule.exports = go\ngo.displayName = 'go'\ngo.aliases = []\nfunction go(Prism) {\n Prism.languages.go = Prism.languages.extend('clike', {\n string: {\n pattern: /(^|[^\\\\])\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|`[^`]*`/,\n lookbehind: true,\n greedy: true\n },\n keyword:\n /\\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\\b/,\n boolean: /\\b(?:_|false|iota|nil|true)\\b/,\n number: [\n // binary and octal integers\n /\\b0(?:b[01_]+|o[0-7_]+)i?\\b/i, // hexadecimal integers and floats\n /\\b0x(?:[a-f\\d_]+(?:\\.[a-f\\d_]*)?|\\.[a-f\\d_]+)(?:p[+-]?\\d+(?:_\\d+)*)?i?(?!\\w)/i, // decimal integers and floats\n /(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?[\\d_]+)?i?(?!\\w)/i\n ],\n operator:\n /[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\./,\n builtin:\n /\\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\\b/\n })\n Prism.languages.insertBefore('go', 'string', {\n char: {\n pattern: /'(?:\\\\.|[^'\\\\\\r\\n]){0,10}'/,\n greedy: true\n }\n })\n delete Prism.languages.go['class-name']\n}\n","'use strict'\n\nmodule.exports = graphql\ngraphql.displayName = 'graphql'\ngraphql.aliases = []\nfunction graphql(Prism) {\n Prism.languages.graphql = {\n comment: /#.*/,\n description: {\n pattern:\n /(?:\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")(?=\\s*[a-z_])/i,\n greedy: true,\n alias: 'string',\n inside: {\n 'language-markdown': {\n pattern: /(^\"(?:\"\")?)(?!\\1)[\\s\\S]+(?=\\1$)/,\n lookbehind: true,\n inside: Prism.languages.markdown\n }\n }\n },\n string: {\n pattern: /\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: true\n },\n number: /(?:\\B-|\\b)\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\n boolean: /\\b(?:false|true)\\b/,\n variable: /\\$[a-z_]\\w*/i,\n directive: {\n pattern: /@[a-z_]\\w*/i,\n alias: 'function'\n },\n 'attr-name': {\n pattern: /\\b[a-z_]\\w*(?=\\s*(?:\\((?:[^()\"]|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")*\\))?:)/i,\n greedy: true\n },\n 'atom-input': {\n pattern: /\\b[A-Z]\\w*Input\\b/,\n alias: 'class-name'\n },\n scalar: /\\b(?:Boolean|Float|ID|Int|String)\\b/,\n constant: /\\b[A-Z][A-Z_\\d]*\\b/,\n 'class-name': {\n pattern:\n /(\\b(?:enum|implements|interface|on|scalar|type|union)\\s+|&\\s*|:\\s*|\\[)[A-Z_]\\w*/,\n lookbehind: true\n },\n fragment: {\n pattern: /(\\bfragment\\s+|\\.{3}\\s*(?!on\\b))[a-zA-Z_]\\w*/,\n lookbehind: true,\n alias: 'function'\n },\n 'definition-mutation': {\n pattern: /(\\bmutation\\s+)[a-zA-Z_]\\w*/,\n lookbehind: true,\n alias: 'function'\n },\n 'definition-query': {\n pattern: /(\\bquery\\s+)[a-zA-Z_]\\w*/,\n lookbehind: true,\n alias: 'function'\n },\n keyword:\n /\\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\\b/,\n operator: /[!=|&]|\\.{3}/,\n 'property-query': /\\w+(?=\\s*\\()/,\n object: /\\w+(?=\\s*\\{)/,\n punctuation: /[!(){}\\[\\]:=,]/,\n property: /\\w+/\n }\n Prism.hooks.add('after-tokenize', function afterTokenizeGraphql(env) {\n if (env.language !== 'graphql') {\n return\n }\n /**\n * get the graphql token stream that we want to customize\n *\n * @typedef {InstanceType<import(\"./prism-core\")[\"Token\"]>} Token\n * @type {Token[]}\n */\n var validTokens = env.tokens.filter(function (token) {\n return (\n typeof token !== 'string' &&\n token.type !== 'comment' &&\n token.type !== 'scalar'\n )\n })\n var currentIndex = 0\n /**\n * Returns whether the token relative to the current index has the given type.\n *\n * @param {number} offset\n * @returns {Token | undefined}\n */\n function getToken(offset) {\n return validTokens[currentIndex + offset]\n }\n /**\n * Returns whether the token relative to the current index has the given type.\n *\n * @param {readonly string[]} types\n * @param {number} [offset=0]\n * @returns {boolean}\n */\n function isTokenType(types, offset) {\n offset = offset || 0\n for (var i = 0; i < types.length; i++) {\n var token = getToken(i + offset)\n if (!token || token.type !== types[i]) {\n return false\n }\n }\n return true\n }\n /**\n * Returns the index of the closing bracket to an opening bracket.\n *\n * It is assumed that `token[currentIndex - 1]` is an opening bracket.\n *\n * If no closing bracket could be found, `-1` will be returned.\n *\n * @param {RegExp} open\n * @param {RegExp} close\n * @returns {number}\n */\n function findClosingBracket(open, close) {\n var stackHeight = 1\n for (var i = currentIndex; i < validTokens.length; i++) {\n var token = validTokens[i]\n var content = token.content\n if (token.type === 'punctuation' && typeof content === 'string') {\n if (open.test(content)) {\n stackHeight++\n } else if (close.test(content)) {\n stackHeight--\n if (stackHeight === 0) {\n return i\n }\n }\n }\n }\n return -1\n }\n /**\n * Adds an alias to the given token.\n *\n * @param {Token} token\n * @param {string} alias\n * @returns {void}\n */\n function addAlias(token, alias) {\n var aliases = token.alias\n if (!aliases) {\n token.alias = aliases = []\n } else if (!Array.isArray(aliases)) {\n token.alias = aliases = [aliases]\n }\n aliases.push(alias)\n }\n for (; currentIndex < validTokens.length; ) {\n var startToken = validTokens[currentIndex++] // add special aliases for mutation tokens\n if (startToken.type === 'keyword' && startToken.content === 'mutation') {\n // any array of the names of all input variables (if any)\n var inputVariables = []\n if (\n isTokenType(['definition-mutation', 'punctuation']) &&\n getToken(1).content === '('\n ) {\n // definition\n currentIndex += 2 // skip 'definition-mutation' and 'punctuation'\n var definitionEnd = findClosingBracket(/^\\($/, /^\\)$/)\n if (definitionEnd === -1) {\n continue\n } // find all input variables\n for (; currentIndex < definitionEnd; currentIndex++) {\n var t = getToken(0)\n if (t.type === 'variable') {\n addAlias(t, 'variable-input')\n inputVariables.push(t.content)\n }\n }\n currentIndex = definitionEnd + 1\n }\n if (\n isTokenType(['punctuation', 'property-query']) &&\n getToken(0).content === '{'\n ) {\n currentIndex++ // skip opening bracket\n addAlias(getToken(0), 'property-mutation')\n if (inputVariables.length > 0) {\n var mutationEnd = findClosingBracket(/^\\{$/, /^\\}$/)\n if (mutationEnd === -1) {\n continue\n } // give references to input variables a special alias\n for (var i = currentIndex; i < mutationEnd; i++) {\n var varToken = validTokens[i]\n if (\n varToken.type === 'variable' &&\n inputVariables.indexOf(varToken.content) >= 0\n ) {\n addAlias(varToken, 'variable-input')\n }\n }\n }\n }\n }\n }\n })\n}\n","'use strict'\n\nmodule.exports = groovy\ngroovy.displayName = 'groovy'\ngroovy.aliases = []\nfunction groovy(Prism) {\n Prism.languages.groovy = Prism.languages.extend('clike', {\n string: [\n {\n // https://groovy-lang.org/syntax.html#_dollar_slashy_string\n pattern:\n /(\"\"\"|''')(?:[^\\\\]|\\\\[\\s\\S])*?\\1|\\$\\/(?:[^/$]|\\$(?:[/$]|(?![/$]))|\\/(?!\\$))*\\/\\$/,\n greedy: true\n },\n {\n // TODO: Slash strings (e.g. /foo/) can contain line breaks but this will cause a lot of trouble with\n // simple division (see JS regex), so find a fix maybe?\n pattern: /([\"'/])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n }\n ],\n keyword:\n /\\b(?:abstract|as|assert|boolean|break|byte|case|catch|char|class|const|continue|def|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|in|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\\b/,\n number:\n /\\b(?:0b[01_]+|0x[\\da-f_]+(?:\\.[\\da-f_p\\-]+)?|[\\d_]+(?:\\.[\\d_]+)?(?:e[+-]?\\d+)?)[glidf]?\\b/i,\n operator: {\n pattern:\n /(^|[^.])(?:~|==?~?|\\?[.:]?|\\*(?:[.=]|\\*=?)?|\\.[@&]|\\.\\.<|\\.\\.(?!\\.)|-[-=>]?|\\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\\|[|=]?|\\/=?|\\^=?|%=?)/,\n lookbehind: true\n },\n punctuation: /\\.+|[{}[\\];(),:$]/\n })\n Prism.languages.insertBefore('groovy', 'string', {\n shebang: {\n pattern: /#!.+/,\n alias: 'comment'\n }\n })\n Prism.languages.insertBefore('groovy', 'punctuation', {\n 'spock-block': /\\b(?:and|cleanup|expect|given|setup|then|when|where):/\n })\n Prism.languages.insertBefore('groovy', 'function', {\n annotation: {\n pattern: /(^|[^.])@\\w+/,\n lookbehind: true,\n alias: 'punctuation'\n }\n }) // Handle string interpolation\n Prism.hooks.add('wrap', function (env) {\n if (env.language === 'groovy' && env.type === 'string') {\n var delimiter = env.content.value[0]\n if (delimiter != \"'\") {\n var pattern = /([^\\\\])(?:\\$(?:\\{.*?\\}|[\\w.]+))/\n if (delimiter === '$') {\n pattern = /([^\\$])(?:\\$(?:\\{.*?\\}|[\\w.]+))/\n } // To prevent double HTML-encoding we have to decode env.content first\n env.content.value = env.content.value\n .replace(/</g, '<')\n .replace(/&/g, '&')\n env.content = Prism.highlight(env.content.value, {\n expression: {\n pattern: pattern,\n lookbehind: true,\n inside: Prism.languages.groovy\n }\n })\n env.classes.push(delimiter === '/' ? 'regex' : 'gstring')\n }\n }\n })\n}\n","'use strict'\nvar refractorRuby = require('./ruby.js')\nmodule.exports = haml\nhaml.displayName = 'haml'\nhaml.aliases = []\nfunction haml(Prism) {\n Prism.register(refractorRuby)\n /* TODO\nHandle multiline code after tag\n%foo= some |\nmultiline |\ncode |\n*/\n ;(function (Prism) {\n Prism.languages.haml = {\n // Multiline stuff should appear before the rest\n 'multiline-comment': {\n pattern:\n /((?:^|\\r?\\n|\\r)([\\t ]*))(?:\\/|-#).*(?:(?:\\r?\\n|\\r)\\2[\\t ].+)*/,\n lookbehind: true,\n alias: 'comment'\n },\n 'multiline-code': [\n {\n pattern:\n /((?:^|\\r?\\n|\\r)([\\t ]*)(?:[~-]|[&!]?=)).*,[\\t ]*(?:(?:\\r?\\n|\\r)\\2[\\t ].*,[\\t ]*)*(?:(?:\\r?\\n|\\r)\\2[\\t ].+)/,\n lookbehind: true,\n inside: Prism.languages.ruby\n },\n {\n pattern:\n /((?:^|\\r?\\n|\\r)([\\t ]*)(?:[~-]|[&!]?=)).*\\|[\\t ]*(?:(?:\\r?\\n|\\r)\\2[\\t ].*\\|[\\t ]*)*/,\n lookbehind: true,\n inside: Prism.languages.ruby\n }\n ],\n // See at the end of the file for known filters\n filter: {\n pattern:\n /((?:^|\\r?\\n|\\r)([\\t ]*)):[\\w-]+(?:(?:\\r?\\n|\\r)(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+/,\n lookbehind: true,\n inside: {\n 'filter-name': {\n pattern: /^:[\\w-]+/,\n alias: 'symbol'\n }\n }\n },\n markup: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)<.+/,\n lookbehind: true,\n inside: Prism.languages.markup\n },\n doctype: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)!!!(?: .+)?/,\n lookbehind: true\n },\n tag: {\n // Allows for one nested group of braces\n pattern:\n /((?:^|\\r?\\n|\\r)[\\t ]*)[%.#][\\w\\-#.]*[\\w\\-](?:\\([^)]+\\)|\\{(?:\\{[^}]+\\}|[^{}])+\\}|\\[[^\\]]+\\])*[\\/<>]*/,\n lookbehind: true,\n inside: {\n attributes: [\n {\n // Lookbehind tries to prevent interpolations from breaking it all\n // Allows for one nested group of braces\n pattern: /(^|[^#])\\{(?:\\{[^}]+\\}|[^{}])+\\}/,\n lookbehind: true,\n inside: Prism.languages.ruby\n },\n {\n pattern: /\\([^)]+\\)/,\n inside: {\n 'attr-value': {\n pattern: /(=\\s*)(?:\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|[^)\\s]+)/,\n lookbehind: true\n },\n 'attr-name': /[\\w:-]+(?=\\s*!?=|\\s*[,)])/,\n punctuation: /[=(),]/\n }\n },\n {\n pattern: /\\[[^\\]]+\\]/,\n inside: Prism.languages.ruby\n }\n ],\n punctuation: /[<>]/\n }\n },\n code: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*(?:[~-]|[&!]?=)).+/,\n lookbehind: true,\n inside: Prism.languages.ruby\n },\n // Interpolations in plain text\n interpolation: {\n pattern: /#\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: 'punctuation'\n },\n ruby: {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.ruby\n }\n }\n },\n punctuation: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)[~=\\-&!]+/,\n lookbehind: true\n }\n }\n var filter_pattern =\n '((?:^|\\\\r?\\\\n|\\\\r)([\\\\t ]*)):{{filter_name}}(?:(?:\\\\r?\\\\n|\\\\r)(?:\\\\2[\\\\t ].+|\\\\s*?(?=\\\\r?\\\\n|\\\\r)))+' // Non exhaustive list of available filters and associated languages\n var filters = [\n 'css',\n {\n filter: 'coffee',\n language: 'coffeescript'\n },\n 'erb',\n 'javascript',\n 'less',\n 'markdown',\n 'ruby',\n 'scss',\n 'textile'\n ]\n var all_filters = {}\n for (var i = 0, l = filters.length; i < l; i++) {\n var filter = filters[i]\n filter =\n typeof filter === 'string'\n ? {\n filter: filter,\n language: filter\n }\n : filter\n if (Prism.languages[filter.language]) {\n all_filters['filter-' + filter.filter] = {\n pattern: RegExp(\n filter_pattern.replace('{{filter_name}}', function () {\n return filter.filter\n })\n ),\n lookbehind: true,\n inside: {\n 'filter-name': {\n pattern: /^:[\\w-]+/,\n alias: 'symbol'\n },\n text: {\n pattern: /[\\s\\S]+/,\n alias: [filter.language, 'language-' + filter.language],\n inside: Prism.languages[filter.language]\n }\n }\n }\n }\n }\n Prism.languages.insertBefore('haml', 'filter', all_filters)\n })(Prism)\n}\n","'use strict'\nvar refractorMarkupTemplating = require('./markup-templating.js')\nmodule.exports = handlebars\nhandlebars.displayName = 'handlebars'\nhandlebars.aliases = ['hbs']\nfunction handlebars(Prism) {\n Prism.register(refractorMarkupTemplating)\n ;(function (Prism) {\n Prism.languages.handlebars = {\n comment: /\\{\\{![\\s\\S]*?\\}\\}/,\n delimiter: {\n pattern: /^\\{\\{\\{?|\\}\\}\\}?$/,\n alias: 'punctuation'\n },\n string: /([\"'])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n number: /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee][+-]?\\d+)?/,\n boolean: /\\b(?:false|true)\\b/,\n block: {\n pattern: /^(\\s*(?:~\\s*)?)[#\\/]\\S+?(?=\\s*(?:~\\s*)?$|\\s)/,\n lookbehind: true,\n alias: 'keyword'\n },\n brackets: {\n pattern: /\\[[^\\]]+\\]/,\n inside: {\n punctuation: /\\[|\\]/,\n variable: /[\\s\\S]+/\n }\n },\n punctuation: /[!\"#%&':()*+,.\\/;<=>@\\[\\\\\\]^`{|}~]/,\n variable: /[^!\"#%&'()*+,\\/;<=>@\\[\\\\\\]^`{|}~\\s]+/\n }\n Prism.hooks.add('before-tokenize', function (env) {\n var handlebarsPattern = /\\{\\{\\{[\\s\\S]+?\\}\\}\\}|\\{\\{[\\s\\S]+?\\}\\}/g\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'handlebars',\n handlebarsPattern\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(\n env,\n 'handlebars'\n )\n })\n Prism.languages.hbs = Prism.languages.handlebars\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = haskell\nhaskell.displayName = 'haskell'\nhaskell.aliases = ['hs']\nfunction haskell(Prism) {\n Prism.languages.haskell = {\n comment: {\n pattern:\n /(^|[^-!#$%*+=?&@|~.:<>^\\\\\\/])(?:--(?:(?=.)[^-!#$%*+=?&@|~.:<>^\\\\\\/].*|$)|\\{-[\\s\\S]*?-\\})/m,\n lookbehind: true\n },\n char: {\n pattern:\n /'(?:[^\\\\']|\\\\(?:[abfnrtv\\\\\"'&]|\\^[A-Z@[\\]^_]|ACK|BEL|BS|CAN|CR|DC1|DC2|DC3|DC4|DEL|DLE|EM|ENQ|EOT|ESC|ETB|ETX|FF|FS|GS|HT|LF|NAK|NUL|RS|SI|SO|SOH|SP|STX|SUB|SYN|US|VT|\\d+|o[0-7]+|x[0-9a-fA-F]+))'/,\n alias: 'string'\n },\n string: {\n pattern: /\"(?:[^\\\\\"]|\\\\(?:\\S|\\s+\\\\))*\"/,\n greedy: true\n },\n keyword:\n /\\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\\b/,\n 'import-statement': {\n // The imported or hidden names are not included in this import\n // statement. This is because we want to highlight those exactly like\n // we do for the names in the program.\n pattern:\n /(^[\\t ]*)import\\s+(?:qualified\\s+)?(?:[A-Z][\\w']*)(?:\\.[A-Z][\\w']*)*(?:\\s+as\\s+(?:[A-Z][\\w']*)(?:\\.[A-Z][\\w']*)*)?(?:\\s+hiding\\b)?/m,\n lookbehind: true,\n inside: {\n keyword: /\\b(?:as|hiding|import|qualified)\\b/,\n punctuation: /\\./\n }\n },\n // These are builtin variables only. Constructors are highlighted later as a constant.\n builtin:\n /\\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\\b/,\n // decimal integers and floating point numbers | octal integers | hexadecimal integers\n number: /\\b(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|0o[0-7]+|0x[0-9a-f]+)\\b/i,\n operator: [\n {\n // infix operator\n pattern: /`(?:[A-Z][\\w']*\\.)*[_a-z][\\w']*`/,\n greedy: true\n },\n {\n // function composition\n pattern: /(\\s)\\.(?=\\s)/,\n lookbehind: true\n }, // Most of this is needed because of the meaning of a single '.'.\n // If it stands alone freely, it is the function composition.\n // It may also be a separator between a module name and an identifier => no\n // operator. If it comes together with other special characters it is an\n // operator too.\n //\n // This regex means: /[-!#$%*+=?&@|~.:<>^\\\\\\/]+/ without /\\./.\n /[-!#$%*+=?&@|~:<>^\\\\\\/][-!#$%*+=?&@|~.:<>^\\\\\\/]*|\\.[-!#$%*+=?&@|~.:<>^\\\\\\/]+/\n ],\n // In Haskell, nearly everything is a variable, do not highlight these.\n hvariable: {\n pattern: /\\b(?:[A-Z][\\w']*\\.)*[_a-z][\\w']*/,\n inside: {\n punctuation: /\\./\n }\n },\n constant: {\n pattern: /\\b(?:[A-Z][\\w']*\\.)*[A-Z][\\w']*/,\n inside: {\n punctuation: /\\./\n }\n },\n punctuation: /[{}[\\];(),.:]/\n }\n Prism.languages.hs = Prism.languages.haskell\n}\n","'use strict'\n\nmodule.exports = haxe\nhaxe.displayName = 'haxe'\nhaxe.aliases = []\nfunction haxe(Prism) {\n Prism.languages.haxe = Prism.languages.extend('clike', {\n string: {\n // Strings can be multi-line\n pattern: /\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"/,\n greedy: true\n },\n 'class-name': [\n {\n pattern:\n /(\\b(?:abstract|class|enum|extends|implements|interface|new|typedef)\\s+)[A-Z_]\\w*/,\n lookbehind: true\n }, // based on naming convention\n /\\b[A-Z]\\w*/\n ],\n // The final look-ahead prevents highlighting of keywords if expressions such as \"haxe.macro.Expr\"\n keyword:\n /\\bthis\\b|\\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|final|for|from|function|if|implements|import|in|inline|interface|macro|new|null|operator|overload|override|package|private|public|return|static|super|switch|throw|to|try|typedef|untyped|using|var|while)(?!\\.)\\b/,\n function: {\n pattern: /\\b[a-z_]\\w*(?=\\s*(?:<[^<>]*>\\s*)?\\()/i,\n greedy: true\n },\n operator: /\\.{3}|\\+\\+|--|&&|\\|\\||->|=>|(?:<<?|>{1,3}|[-+*/%!=&|^])=?|[?:~]/\n })\n Prism.languages.insertBefore('haxe', 'string', {\n 'string-interpolation': {\n pattern: /'(?:[^'\\\\]|\\\\[\\s\\S])*'/,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /(^|[^\\\\])\\$(?:\\w+|\\{[^{}]+\\})/,\n lookbehind: true,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^\\$\\{?|\\}$/,\n alias: 'punctuation'\n },\n expression: {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.haxe\n }\n }\n },\n string: /[\\s\\S]+/\n }\n }\n })\n Prism.languages.insertBefore('haxe', 'class-name', {\n regex: {\n pattern: /~\\/(?:[^\\/\\\\\\r\\n]|\\\\.)+\\/[a-z]*/,\n greedy: true,\n inside: {\n 'regex-flags': /\\b[a-z]+$/,\n 'regex-source': {\n pattern: /^(~\\/)[\\s\\S]+(?=\\/$)/,\n lookbehind: true,\n alias: 'language-regex',\n inside: Prism.languages.regex\n },\n 'regex-delimiter': /^~\\/|\\/$/\n }\n }\n })\n Prism.languages.insertBefore('haxe', 'keyword', {\n preprocessor: {\n pattern: /#(?:else|elseif|end|if)\\b.*/,\n alias: 'property'\n },\n metadata: {\n pattern: /@:?[\\w.]+/,\n alias: 'symbol'\n },\n reification: {\n pattern: /\\$(?:\\w+|(?=\\{))/,\n alias: 'important'\n }\n })\n}\n","'use strict'\n\nmodule.exports = hcl\nhcl.displayName = 'hcl'\nhcl.aliases = []\nfunction hcl(Prism) {\n Prism.languages.hcl = {\n comment: /(?:\\/\\/|#).*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n heredoc: {\n pattern: /<<-?(\\w+\\b)[\\s\\S]*?^[ \\t]*\\1/m,\n greedy: true,\n alias: 'string'\n },\n keyword: [\n {\n pattern:\n /(?:data|resource)\\s+(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")(?=\\s+\"[\\w-]+\"\\s+\\{)/i,\n inside: {\n type: {\n pattern: /(resource|data|\\s+)(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")/i,\n lookbehind: true,\n alias: 'variable'\n }\n }\n },\n {\n pattern:\n /(?:backend|module|output|provider|provisioner|variable)\\s+(?:[\\w-]+|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")\\s+(?=\\{)/i,\n inside: {\n type: {\n pattern:\n /(backend|module|output|provider|provisioner|variable)\\s+(?:[\\w-]+|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")\\s+/i,\n lookbehind: true,\n alias: 'variable'\n }\n }\n },\n /[\\w-]+(?=\\s+\\{)/\n ],\n property: [/[-\\w\\.]+(?=\\s*=(?!=))/, /\"(?:\\\\[\\s\\S]|[^\\\\\"])+\"(?=\\s*[:=])/],\n string: {\n pattern:\n /\"(?:[^\\\\$\"]|\\\\[\\s\\S]|\\$(?:(?=\")|\\$+(?!\\$)|[^\"${])|\\$\\{(?:[^{}\"]|\"(?:[^\\\\\"]|\\\\[\\s\\S])*\")*\\})*\"/,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /(^|[^$])\\$\\{(?:[^{}\"]|\"(?:[^\\\\\"]|\\\\[\\s\\S])*\")*\\}/,\n lookbehind: true,\n inside: {\n type: {\n pattern:\n /(\\b(?:count|data|local|module|path|self|terraform|var)\\b\\.)[\\w\\*]+/i,\n lookbehind: true,\n alias: 'variable'\n },\n keyword: /\\b(?:count|data|local|module|path|self|terraform|var)\\b/i,\n function: /\\w+(?=\\()/,\n string: {\n pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n greedy: true\n },\n number: /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?/i,\n punctuation: /[!\\$#%&'()*+,.\\/;<=>@\\[\\\\\\]^`{|}~?:]/\n }\n }\n }\n },\n number: /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?/i,\n boolean: /\\b(?:false|true)\\b/i,\n punctuation: /[=\\[\\]{}]/\n }\n}\n","'use strict'\nvar refractorC = require('./c.js')\nmodule.exports = hlsl\nhlsl.displayName = 'hlsl'\nhlsl.aliases = []\nfunction hlsl(Prism) {\n Prism.register(refractorC)\n Prism.languages.hlsl = Prism.languages.extend('c', {\n // Regarding keywords and class names:\n // The list of all keywords was split into 'keyword' and 'class-name' tokens based on whether they are capitalized.\n // https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-appendix-keywords\n // https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-appendix-reserved-words\n 'class-name': [\n Prism.languages.c['class-name'],\n /\\b(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|ComputeShader|ConsumeStructuredBuffer|DepthStencilState|DepthStencilView|DomainShader|GeometryShader|Hullshader|InputPatch|LineStream|OutputPatch|PixelShader|PointStream|RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture(?:1D|1DArray|2D|2DArray|3D)|RasterizerState|RenderTargetView|SamplerComparisonState|SamplerState|StructuredBuffer|Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray)|TriangleStream|VertexShader)\\b/\n ],\n keyword: [\n // HLSL keyword\n /\\b(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_major|compile|compile_fragment|const|const_cast|continue|default|delete|discard|do|dynamic_cast|else|enum|explicit|export|extern|for|friend|fxgroup|goto|groupshared|if|in|inline|inout|interface|line|lineadj|linear|long|matrix|mutable|namespace|new|nointerpolation|noperspective|operator|out|packoffset|pass|pixelfragment|point|precise|private|protected|public|register|reinterpret_cast|return|row_major|sample|sampler|shared|short|signed|sizeof|snorm|stateblock|stateblock_state|static|static_cast|string|struct|switch|tbuffer|technique|technique10|technique11|template|texture|this|throw|triangle|triangleadj|try|typedef|typename|uniform|union|unorm|unsigned|using|vector|vertexfragment|virtual|void|volatile|while)\\b/, // scalar, vector, and matrix types\n /\\b(?:bool|double|dword|float|half|int|min(?:10float|12int|16(?:float|int|uint))|uint)(?:[1-4](?:x[1-4])?)?\\b/\n ],\n // https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-appendix-grammar#floating-point-numbers\n number:\n /(?:(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?|\\b0x[\\da-fA-F]+)[fFhHlLuU]?\\b/,\n boolean: /\\b(?:false|true)\\b/\n })\n}\n","'use strict'\n\nmodule.exports = hoon\nhoon.displayName = 'hoon'\nhoon.aliases = []\nfunction hoon(Prism) {\n Prism.languages.hoon = {\n comment: {\n pattern: /::.*/,\n greedy: true\n },\n string: {\n pattern: /\"[^\"]*\"|'[^']*'/,\n greedy: true\n },\n constant: /%(?:\\.[ny]|[\\w-]+)/,\n 'class-name': /@(?:[a-z0-9-]*[a-z0-9])?|\\*/i,\n function: /(?:\\+[-+] {2})?(?:[a-z](?:[a-z0-9-]*[a-z0-9])?)/,\n keyword:\n /\\.[\\^\\+\\*=\\?]|![><:\\.=\\?!]|=[>|:,\\.\\-\\^<+;/~\\*\\?]|\\?[>|:\\.\\-\\^<\\+&~=@!]|\\|[\\$_%:\\.\\-\\^~\\*=@\\?]|\\+[|\\$\\+\\*]|:[_\\-\\^\\+~\\*]|%[_:\\.\\-\\^\\+~\\*=]|\\^[|:\\.\\-\\+&~\\*=\\?]|\\$[|_%:<>\\-\\^&~@=\\?]|;[:<\\+;\\/~\\*=]|~[>|\\$_%<\\+\\/&=\\?!]|--|==/\n }\n}\n","'use strict'\n\nmodule.exports = hpkp\nhpkp.displayName = 'hpkp'\nhpkp.aliases = []\nfunction hpkp(Prism) {\n /**\n * Original by Scott Helme.\n *\n * Reference: https://scotthelme.co.uk/hpkp-cheat-sheet/\n */\n Prism.languages.hpkp = {\n directive: {\n pattern:\n /\\b(?:includeSubDomains|max-age|pin-sha256|preload|report-to|report-uri|strict)(?=[\\s;=]|$)/i,\n alias: 'property'\n },\n operator: /=/,\n punctuation: /;/\n }\n}\n","'use strict'\n\nmodule.exports = hsts\nhsts.displayName = 'hsts'\nhsts.aliases = []\nfunction hsts(Prism) {\n /**\n * Original by Scott Helme.\n *\n * Reference: https://scotthelme.co.uk/hsts-cheat-sheet/\n */\n Prism.languages.hsts = {\n directive: {\n pattern: /\\b(?:includeSubDomains|max-age|preload)(?=[\\s;=]|$)/i,\n alias: 'property'\n },\n operator: /=/,\n punctuation: /;/\n }\n}\n","'use strict'\n\nmodule.exports = http\nhttp.displayName = 'http'\nhttp.aliases = []\nfunction http(Prism) {\n ;(function (Prism) {\n /**\n * @param {string} name\n * @returns {RegExp}\n */\n function headerValueOf(name) {\n return RegExp('(^(?:' + name + '):[ \\t]*(?![ \\t]))[^]+', 'i')\n }\n Prism.languages.http = {\n 'request-line': {\n pattern:\n /^(?:CONNECT|DELETE|GET|HEAD|OPTIONS|PATCH|POST|PRI|PUT|SEARCH|TRACE)\\s(?:https?:\\/\\/|\\/)\\S*\\sHTTP\\/[\\d.]+/m,\n inside: {\n // HTTP Method\n method: {\n pattern: /^[A-Z]+\\b/,\n alias: 'property'\n },\n // Request Target e.g. http://example.com, /path/to/file\n 'request-target': {\n pattern: /^(\\s)(?:https?:\\/\\/|\\/)\\S*(?=\\s)/,\n lookbehind: true,\n alias: 'url',\n inside: Prism.languages.uri\n },\n // HTTP Version\n 'http-version': {\n pattern: /^(\\s)HTTP\\/[\\d.]+/,\n lookbehind: true,\n alias: 'property'\n }\n }\n },\n 'response-status': {\n pattern: /^HTTP\\/[\\d.]+ \\d+ .+/m,\n inside: {\n // HTTP Version\n 'http-version': {\n pattern: /^HTTP\\/[\\d.]+/,\n alias: 'property'\n },\n // Status Code\n 'status-code': {\n pattern: /^(\\s)\\d+(?=\\s)/,\n lookbehind: true,\n alias: 'number'\n },\n // Reason Phrase\n 'reason-phrase': {\n pattern: /^(\\s).+/,\n lookbehind: true,\n alias: 'string'\n }\n }\n },\n header: {\n pattern: /^[\\w-]+:.+(?:(?:\\r\\n?|\\n)[ \\t].+)*/m,\n inside: {\n 'header-value': [\n {\n pattern: headerValueOf(/Content-Security-Policy/.source),\n lookbehind: true,\n alias: ['csp', 'languages-csp'],\n inside: Prism.languages.csp\n },\n {\n pattern: headerValueOf(/Public-Key-Pins(?:-Report-Only)?/.source),\n lookbehind: true,\n alias: ['hpkp', 'languages-hpkp'],\n inside: Prism.languages.hpkp\n },\n {\n pattern: headerValueOf(/Strict-Transport-Security/.source),\n lookbehind: true,\n alias: ['hsts', 'languages-hsts'],\n inside: Prism.languages.hsts\n },\n {\n pattern: headerValueOf(/[^:]+/.source),\n lookbehind: true\n }\n ],\n 'header-name': {\n pattern: /^[^:]+/,\n alias: 'keyword'\n },\n punctuation: /^:/\n }\n }\n } // Create a mapping of Content-Type headers to language definitions\n var langs = Prism.languages\n var httpLanguages = {\n 'application/javascript': langs.javascript,\n 'application/json': langs.json || langs.javascript,\n 'application/xml': langs.xml,\n 'text/xml': langs.xml,\n 'text/html': langs.html,\n 'text/css': langs.css,\n 'text/plain': langs.plain\n } // Declare which types can also be suffixes\n var suffixTypes = {\n 'application/json': true,\n 'application/xml': true\n }\n /**\n * Returns a pattern for the given content type which matches it and any type which has it as a suffix.\n *\n * @param {string} contentType\n * @returns {string}\n */\n function getSuffixPattern(contentType) {\n var suffix = contentType.replace(/^[a-z]+\\//, '')\n var suffixPattern = '\\\\w+/(?:[\\\\w.-]+\\\\+)+' + suffix + '(?![+\\\\w.-])'\n return '(?:' + contentType + '|' + suffixPattern + ')'\n } // Insert each content type parser that has its associated language\n // currently loaded.\n var options\n for (var contentType in httpLanguages) {\n if (httpLanguages[contentType]) {\n options = options || {}\n var pattern = suffixTypes[contentType]\n ? getSuffixPattern(contentType)\n : contentType\n options[contentType.replace(/\\//g, '-')] = {\n pattern: RegExp(\n '(' +\n /content-type:\\s*/.source +\n pattern +\n /(?:(?:\\r\\n?|\\n)[\\w-].*)*(?:\\r(?:\\n|(?!\\n))|\\n)/.source +\n ')' + // This is a little interesting:\n // The HTTP format spec required 1 empty line before the body to make everything unambiguous.\n // However, when writing code by hand (e.g. to display on a website) people can forget about this,\n // so we want to be liberal here. We will allow the empty line to be omitted if the first line of\n // the body does not start with a [\\w-] character (as headers do).\n /[^ \\t\\w-][\\s\\S]*/.source,\n 'i'\n ),\n lookbehind: true,\n inside: httpLanguages[contentType]\n }\n }\n }\n if (options) {\n Prism.languages.insertBefore('http', 'header', options)\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = ichigojam\nichigojam.displayName = 'ichigojam'\nichigojam.aliases = []\nfunction ichigojam(Prism) {\n // according to the offical reference (EN)\n // https://ichigojam.net/IchigoJam-en.html\n Prism.languages.ichigojam = {\n comment: /(?:\\B'|REM)(?:[^\\n\\r]*)/i,\n string: {\n pattern: /\"(?:\"\"|[!#$%&'()*,\\/:;<=>?^\\w +\\-.])*\"/,\n greedy: true\n },\n number: /\\B#[0-9A-F]+|\\B`[01]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:E[+-]?\\d+)?/i,\n keyword:\n /\\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GOTO|GSB|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RIGHT|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\\$|\\b)/i,\n function:\n /\\b(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\\$|\\b)/i,\n label: /(?:\\B@\\S+)/,\n operator: /<[=>]?|>=?|\\|\\||&&|[+\\-*\\/=|&^~!]|\\b(?:AND|NOT|OR)\\b/i,\n punctuation: /[\\[,;:()\\]]/\n }\n}\n","'use strict'\n\nmodule.exports = icon\nicon.displayName = 'icon'\nicon.aliases = []\nfunction icon(Prism) {\n Prism.languages.icon = {\n comment: /#.*/,\n string: {\n pattern: /([\"'])(?:(?!\\1)[^\\\\\\r\\n_]|\\\\.|_(?!\\1)(?:\\r\\n|[\\s\\S]))*\\1/,\n greedy: true\n },\n number: /\\b(?:\\d+r[a-z\\d]+|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b|\\.\\d+\\b/i,\n 'builtin-keyword': {\n pattern:\n /&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)\\b/,\n alias: 'variable'\n },\n directive: {\n pattern: /\\$\\w+/,\n alias: 'builtin'\n },\n keyword:\n /\\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)\\b/,\n function: /\\b(?!\\d)\\w+(?=\\s*[({]|\\s*!\\s*\\[)/,\n operator:\n /[+-]:(?!=)|(?:[\\/?@^%&]|\\+\\+?|--?|==?=?|~==?=?|\\*\\*?|\\|\\|\\|?|<(?:->?|<?=?)|>>?=?)(?::=)?|:(?:=:?)?|[!.\\\\|~]/,\n punctuation: /[\\[\\](){},;]/\n }\n}\n","'use strict'\n\nmodule.exports = icuMessageFormat\nicuMessageFormat.displayName = 'icuMessageFormat'\nicuMessageFormat.aliases = []\nfunction icuMessageFormat(Prism) {\n // https://unicode-org.github.io/icu/userguide/format_parse/messages/\n // https://unicode-org.github.io/icu-docs/apidoc/released/icu4j/com/ibm/icu/text/MessageFormat.html\n ;(function (Prism) {\n /**\n * @param {string} source\n * @param {number} level\n * @returns {string}\n */\n function nested(source, level) {\n if (level <= 0) {\n return /[]/.source\n } else {\n return source.replace(/<SELF>/g, function () {\n return nested(source, level - 1)\n })\n }\n }\n var stringPattern = /'[{}:=,](?:[^']|'')*'(?!')/\n var escape = {\n pattern: /''/,\n greedy: true,\n alias: 'operator'\n }\n var string = {\n pattern: stringPattern,\n greedy: true,\n inside: {\n escape: escape\n }\n }\n var argumentSource = nested(\n /\\{(?:[^{}']|'(?![{},'])|''|<STR>|<SELF>)*\\}/.source.replace(\n /<STR>/g,\n function () {\n return stringPattern.source\n }\n ),\n 8\n )\n var nestedMessage = {\n pattern: RegExp(argumentSource),\n inside: {\n message: {\n pattern: /^(\\{)[\\s\\S]+(?=\\}$)/,\n lookbehind: true,\n inside: null // see below\n },\n 'message-delimiter': {\n pattern: /./,\n alias: 'punctuation'\n }\n }\n }\n Prism.languages['icu-message-format'] = {\n argument: {\n pattern: RegExp(argumentSource),\n greedy: true,\n inside: {\n content: {\n pattern: /^(\\{)[\\s\\S]+(?=\\}$)/,\n lookbehind: true,\n inside: {\n 'argument-name': {\n pattern: /^(\\s*)[^{}:=,\\s]+/,\n lookbehind: true\n },\n 'choice-style': {\n // https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classicu_1_1ChoiceFormat.html#details\n pattern: /^(\\s*,\\s*choice\\s*,\\s*)\\S(?:[\\s\\S]*\\S)?/,\n lookbehind: true,\n inside: {\n punctuation: /\\|/,\n range: {\n pattern: /^(\\s*)[+-]?(?:\\d+(?:\\.\\d*)?|\\u221e)\\s*[<#\\u2264]/,\n lookbehind: true,\n inside: {\n operator: /[<#\\u2264]/,\n number: /\\S+/\n }\n },\n rest: null // see below\n }\n },\n 'plural-style': {\n // https://unicode-org.github.io/icu-docs/apidoc/released/icu4j/com/ibm/icu/text/PluralFormat.html#:~:text=Patterns%20and%20Their%20Interpretation\n pattern:\n /^(\\s*,\\s*(?:plural|selectordinal)\\s*,\\s*)\\S(?:[\\s\\S]*\\S)?/,\n lookbehind: true,\n inside: {\n offset: /^offset:\\s*\\d+/,\n 'nested-message': nestedMessage,\n selector: {\n pattern: /=\\d+|[^{}:=,\\s]+/,\n inside: {\n keyword: /^(?:few|many|one|other|two|zero)$/\n }\n }\n }\n },\n 'select-style': {\n // https://unicode-org.github.io/icu-docs/apidoc/released/icu4j/com/ibm/icu/text/SelectFormat.html#:~:text=Patterns%20and%20Their%20Interpretation\n pattern: /^(\\s*,\\s*select\\s*,\\s*)\\S(?:[\\s\\S]*\\S)?/,\n lookbehind: true,\n inside: {\n 'nested-message': nestedMessage,\n selector: {\n pattern: /[^{}:=,\\s]+/,\n inside: {\n keyword: /^other$/\n }\n }\n }\n },\n keyword: /\\b(?:choice|plural|select|selectordinal)\\b/,\n 'arg-type': {\n pattern: /\\b(?:date|duration|number|ordinal|spellout|time)\\b/,\n alias: 'keyword'\n },\n 'arg-skeleton': {\n pattern: /(,\\s*)::[^{}:=,\\s]+/,\n lookbehind: true\n },\n 'arg-style': {\n pattern:\n /(,\\s*)(?:currency|full|integer|long|medium|percent|short)(?=\\s*$)/,\n lookbehind: true\n },\n 'arg-style-text': {\n pattern: RegExp(\n /(^\\s*,\\s*(?=\\S))/.source +\n nested(/(?:[^{}']|'[^']*'|\\{(?:<SELF>)?\\})+/.source, 8) +\n '$'\n ),\n lookbehind: true,\n alias: 'string'\n },\n punctuation: /,/\n }\n },\n 'argument-delimiter': {\n pattern: /./,\n alias: 'operator'\n }\n }\n },\n escape: escape,\n string: string\n }\n nestedMessage.inside.message.inside = Prism.languages['icu-message-format']\n Prism.languages['icu-message-format'].argument.inside.content.inside[\n 'choice-style'\n ].inside.rest = Prism.languages['icu-message-format']\n })(Prism)\n}\n","'use strict'\nvar refractorHaskell = require('./haskell.js')\nmodule.exports = idris\nidris.displayName = 'idris'\nidris.aliases = ['idr']\nfunction idris(Prism) {\n Prism.register(refractorHaskell)\n Prism.languages.idris = Prism.languages.extend('haskell', {\n comment: {\n pattern: /(?:(?:--|\\|\\|\\|).*$|\\{-[\\s\\S]*?-\\})/m\n },\n keyword:\n /\\b(?:Type|case|class|codata|constructor|corecord|data|do|dsl|else|export|if|implementation|implicit|import|impossible|in|infix|infixl|infixr|instance|interface|let|module|mutual|namespace|of|parameters|partial|postulate|private|proof|public|quoteGoal|record|rewrite|syntax|then|total|using|where|with)\\b/,\n builtin: undefined\n })\n Prism.languages.insertBefore('idris', 'keyword', {\n 'import-statement': {\n pattern: /(^\\s*import\\s+)(?:[A-Z][\\w']*)(?:\\.[A-Z][\\w']*)*/m,\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n }\n })\n Prism.languages.idr = Prism.languages.idris\n}\n","'use strict'\n\nmodule.exports = iecst\niecst.displayName = 'iecst'\niecst.aliases = []\nfunction iecst(Prism) {\n Prism.languages.iecst = {\n comment: [\n {\n pattern:\n /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?(?:\\*\\/|$)|\\(\\*[\\s\\S]*?(?:\\*\\)|$)|\\{[\\s\\S]*?(?:\\}|$))/,\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n keyword: [\n /\\b(?:END_)?(?:PROGRAM|CONFIGURATION|INTERFACE|FUNCTION_BLOCK|FUNCTION|ACTION|TRANSITION|TYPE|STRUCT|(?:INITIAL_)?STEP|NAMESPACE|LIBRARY|CHANNEL|FOLDER|RESOURCE|VAR_(?:ACCESS|CONFIG|EXTERNAL|GLOBAL|INPUT|IN_OUT|OUTPUT|TEMP)|VAR|METHOD|PROPERTY)\\b/i,\n /\\b(?:AT|BY|(?:END_)?(?:CASE|FOR|IF|REPEAT|WHILE)|CONSTANT|CONTINUE|DO|ELSE|ELSIF|EXIT|EXTENDS|FROM|GET|GOTO|IMPLEMENTS|JMP|NON_RETAIN|OF|PRIVATE|PROTECTED|PUBLIC|RETAIN|RETURN|SET|TASK|THEN|TO|UNTIL|USING|WITH|__CATCH|__ENDTRY|__FINALLY|__TRY)\\b/\n ],\n 'class-name':\n /\\b(?:ANY|ARRAY|BOOL|BYTE|U?(?:D|L|S)?INT|(?:D|L)?WORD|DATE(?:_AND_TIME)?|DT|L?REAL|POINTER|STRING|TIME(?:_OF_DAY)?|TOD)\\b/,\n address: {\n pattern: /%[IQM][XBWDL][\\d.]*|%[IQ][\\d.]*/,\n alias: 'symbol'\n },\n number:\n /\\b(?:16#[\\da-f]+|2#[01_]+|0x[\\da-f]+)\\b|\\b(?:D|DT|T|TOD)#[\\d_shmd:]*|\\b[A-Z]*#[\\d.,_]*|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n boolean: /\\b(?:FALSE|NULL|TRUE)\\b/,\n operator:\n /S?R?:?=>?|&&?|\\*\\*?|<[=>]?|>=?|[-:^/+#]|\\b(?:AND|EQ|EXPT|GE|GT|LE|LT|MOD|NE|NOT|OR|XOR)\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n punctuation: /[()[\\].,;]/\n }\n}\n","'use strict'\n\nmodule.exports = ignore\nignore.displayName = 'ignore'\nignore.aliases = ['gitignore', 'hgignore', 'npmignore']\nfunction ignore(Prism) {\n ;(function (Prism) {\n Prism.languages.ignore = {\n // https://git-scm.com/docs/gitignore\n comment: /^#.*/m,\n entry: {\n pattern: /\\S(?:.*(?:(?:\\\\ )|\\S))?/,\n alias: 'string',\n inside: {\n operator: /^!|\\*\\*?|\\?/,\n regex: {\n pattern: /(^|[^\\\\])\\[[^\\[\\]]*\\]/,\n lookbehind: true\n },\n punctuation: /\\//\n }\n }\n }\n Prism.languages.gitignore = Prism.languages.ignore\n Prism.languages.hgignore = Prism.languages.ignore\n Prism.languages.npmignore = Prism.languages.ignore\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = inform7\ninform7.displayName = 'inform7'\ninform7.aliases = []\nfunction inform7(Prism) {\n Prism.languages.inform7 = {\n string: {\n pattern: /\"[^\"]*\"/,\n inside: {\n substitution: {\n pattern: /\\[[^\\[\\]]+\\]/,\n inside: {\n delimiter: {\n pattern: /\\[|\\]/,\n alias: 'punctuation'\n } // See rest below\n }\n }\n }\n },\n comment: {\n pattern: /\\[[^\\[\\]]+\\]/,\n greedy: true\n },\n title: {\n pattern: /^[ \\t]*(?:book|chapter|part(?! of)|section|table|volume)\\b.+/im,\n alias: 'important'\n },\n number: {\n pattern:\n /(^|[^-])(?:\\b\\d+(?:\\.\\d+)?(?:\\^\\d+)?(?:(?!\\d)\\w+)?|\\b(?:eight|eleven|five|four|nine|one|seven|six|ten|three|twelve|two))\\b(?!-)/i,\n lookbehind: true\n },\n verb: {\n pattern:\n /(^|[^-])\\b(?:answering|applying to|are|asking|attacking|be(?:ing)?|burning|buying|called|carries|carry(?! out)|carrying|climbing|closing|conceal(?:ing|s)?|consulting|contain(?:ing|s)?|cutting|drinking|dropping|eating|enclos(?:es?|ing)|entering|examining|exiting|getting|giving|going|ha(?:s|ve|ving)|hold(?:ing|s)?|impl(?:ies|y)|incorporat(?:es?|ing)|inserting|is|jumping|kissing|listening|locking|looking|mean(?:ing|s)?|opening|provid(?:es?|ing)|pulling|pushing|putting|relat(?:es?|ing)|removing|searching|see(?:ing|s)?|setting|showing|singing|sleeping|smelling|squeezing|support(?:ing|s)?|swearing|switching|taking|tasting|telling|thinking|throwing|touching|turning|tying|unlock(?:ing|s)?|var(?:ies|y|ying)|waiting|waking|waving|wear(?:ing|s)?)\\b(?!-)/i,\n lookbehind: true,\n alias: 'operator'\n },\n keyword: {\n pattern:\n /(^|[^-])\\b(?:after|before|carry out|check|continue the action|definition(?= *:)|do nothing|else|end (?:if|the story|unless)|every turn|if|include|instead(?: of)?|let|move|no|now|otherwise|repeat|report|resume the story|rule for|running through|say(?:ing)?|stop the action|test|try(?:ing)?|understand|unless|use|when|while|yes)\\b(?!-)/i,\n lookbehind: true\n },\n property: {\n pattern:\n /(^|[^-])\\b(?:adjacent(?! to)|carried|closed|concealed|contained|dark|described|edible|empty|enclosed|enterable|even|female|fixed in place|full|handled|held|improper-named|incorporated|inedible|invisible|lighted|lit|lock(?:able|ed)|male|marked for listing|mentioned|negative|neuter|non-(?:empty|full|recurring)|odd|opaque|open(?:able)?|plural-named|portable|positive|privately-named|proper-named|provided|publically-named|pushable between rooms|recurring|related|rubbing|scenery|seen|singular-named|supported|swinging|switch(?:able|ed(?: off| on)?)|touch(?:able|ed)|transparent|unconcealed|undescribed|unlit|unlocked|unmarked for listing|unmentioned|unopenable|untouchable|unvisited|variable|visible|visited|wearable|worn)\\b(?!-)/i,\n lookbehind: true,\n alias: 'symbol'\n },\n position: {\n pattern:\n /(^|[^-])\\b(?:above|adjacent to|back side of|below|between|down|east|everywhere|front side|here|in|inside(?: from)?|north(?:east|west)?|nowhere|on(?: top of)?|other side|outside(?: from)?|parts? of|regionally in|south(?:east|west)?|through|up|west|within)\\b(?!-)/i,\n lookbehind: true,\n alias: 'keyword'\n },\n type: {\n pattern:\n /(^|[^-])\\b(?:actions?|activit(?:ies|y)|actors?|animals?|backdrops?|containers?|devices?|directions?|doors?|holders?|kinds?|lists?|m[ae]n|nobody|nothing|nouns?|numbers?|objects?|people|persons?|player(?:'s holdall)?|regions?|relations?|rooms?|rule(?:book)?s?|scenes?|someone|something|supporters?|tables?|texts?|things?|time|vehicles?|wom[ae]n)\\b(?!-)/i,\n lookbehind: true,\n alias: 'variable'\n },\n punctuation: /[.,:;(){}]/\n }\n Prism.languages.inform7['string'].inside['substitution'].inside.rest =\n Prism.languages.inform7 // We don't want the remaining text in the substitution to be highlighted as the string.\n Prism.languages.inform7['string'].inside['substitution'].inside.rest.text = {\n pattern: /\\S(?:\\s*\\S)*/,\n alias: 'comment'\n }\n}\n","'use strict'\n\nmodule.exports = ini\nini.displayName = 'ini'\nini.aliases = []\nfunction ini(Prism) {\n Prism.languages.ini = {\n /**\n * The component mimics the behavior of the Win32 API parser.\n *\n * @see {@link https://github.com/PrismJS/prism/issues/2775#issuecomment-787477723}\n */\n comment: {\n pattern: /(^[ \\f\\t\\v]*)[#;][^\\n\\r]*/m,\n lookbehind: true\n },\n section: {\n pattern: /(^[ \\f\\t\\v]*)\\[[^\\n\\r\\]]*\\]?/m,\n lookbehind: true,\n inside: {\n 'section-name': {\n pattern: /(^\\[[ \\f\\t\\v]*)[^ \\f\\t\\v\\]]+(?:[ \\f\\t\\v]+[^ \\f\\t\\v\\]]+)*/,\n lookbehind: true,\n alias: 'selector'\n },\n punctuation: /\\[|\\]/\n }\n },\n key: {\n pattern:\n /(^[ \\f\\t\\v]*)[^ \\f\\n\\r\\t\\v=]+(?:[ \\f\\t\\v]+[^ \\f\\n\\r\\t\\v=]+)*(?=[ \\f\\t\\v]*=)/m,\n lookbehind: true,\n alias: 'attr-name'\n },\n value: {\n pattern: /(=[ \\f\\t\\v]*)[^ \\f\\n\\r\\t\\v]+(?:[ \\f\\t\\v]+[^ \\f\\n\\r\\t\\v]+)*/,\n lookbehind: true,\n alias: 'attr-value',\n inside: {\n 'inner-value': {\n pattern: /^(\"|').+(?=\\1$)/,\n lookbehind: true\n }\n }\n },\n punctuation: /=/\n }\n}\n","'use strict'\n\nmodule.exports = io\nio.displayName = 'io'\nio.aliases = []\nfunction io(Prism) {\n Prism.languages.io = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?(?:\\*\\/|$)|\\/\\/.*|#.*)/,\n lookbehind: true,\n greedy: true\n },\n 'triple-quoted-string': {\n pattern: /\"\"\"(?:\\\\[\\s\\S]|(?!\"\"\")[^\\\\])*\"\"\"/,\n greedy: true,\n alias: 'string'\n },\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\\r\\n\"])*\"/,\n greedy: true\n },\n keyword:\n /\\b(?:activate|activeCoroCount|asString|block|break|call|catch|clone|collectGarbage|compileString|continue|do|doFile|doMessage|doString|else|elseif|exit|for|foreach|forward|getEnvironmentVariable|getSlot|hasSlot|if|ifFalse|ifNil|ifNilEval|ifTrue|isActive|isNil|isResumable|list|message|method|parent|pass|pause|perform|performWithArgList|print|println|proto|raise|raiseResumable|removeSlot|resend|resume|schedulerSleepSeconds|self|sender|setSchedulerSleepSeconds|setSlot|shallowCopy|slotNames|super|system|then|thisBlock|thisContext|try|type|uniqueId|updateSlot|wait|while|write|yield)\\b/,\n builtin:\n /\\b(?:Array|AudioDevice|AudioMixer|BigNum|Block|Box|Buffer|CFunction|CGI|Color|Curses|DBM|DNSResolver|DOConnection|DOProxy|DOServer|Date|Directory|Duration|DynLib|Error|Exception|FFT|File|Fnmatch|Font|Future|GL|GLE|GLScissor|GLU|GLUCylinder|GLUQuadric|GLUSphere|GLUT|Host|Image|Importer|LinkList|List|Lobby|Locals|MD5|MP3Decoder|MP3Encoder|Map|Message|Movie|Notification|Number|Object|OpenGL|Point|Protos|Random|Regex|SGML|SGMLElement|SGMLParser|SQLite|Sequence|Server|ShowMessage|SleepyCat|SleepyCatCursor|Socket|SocketManager|Sound|Soup|Store|String|Tree|UDPSender|UPDReceiver|URL|User|Warning|WeakLink)\\b/,\n boolean: /\\b(?:false|nil|true)\\b/,\n number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e-?\\d+)?/i,\n operator:\n /[=!*/%+\\-^&|]=|>>?=?|<<?=?|:?:?=|\\+\\+?|--?|\\*\\*?|\\/\\/?|%|\\|\\|?|&&?|\\b(?:and|not|or|return)\\b|@@?|\\?\\??|\\.\\./,\n punctuation: /[{}[\\];(),.:]/\n }\n}\n","'use strict'\n\nmodule.exports = j\nj.displayName = 'j'\nj.aliases = []\nfunction j(Prism) {\n Prism.languages.j = {\n comment: {\n pattern: /\\bNB\\..*/,\n greedy: true\n },\n string: {\n pattern: /'(?:''|[^'\\r\\n])*'/,\n greedy: true\n },\n keyword:\n /\\b(?:(?:CR|LF|adverb|conjunction|def|define|dyad|monad|noun|verb)\\b|(?:assert|break|case|catch[dt]?|continue|do|else|elseif|end|fcase|for|for_\\w+|goto_\\w+|if|label_\\w+|return|select|throw|try|while|whilst)\\.)/,\n verb: {\n // Negative look-ahead prevents bad highlighting\n // of ^: ;. =. =: !. !:\n pattern:\n /(?!\\^:|;\\.|[=!][.:])(?:\\{(?:\\.|::?)?|p(?:\\.\\.?|:)|[=!\\]]|[<>+*\\-%$|,#][.:]?|[?^]\\.?|[;\\[]:?|[~}\"i][.:]|[ACeEIjLor]\\.|(?:[_\\/\\\\qsux]|_?\\d):)/,\n alias: 'keyword'\n },\n number:\n /\\b_?(?:(?!\\d:)\\d+(?:\\.\\d+)?(?:(?:ad|ar|[ejpx])_?\\d+(?:\\.\\d+)?)*(?:b_?[\\da-z]+(?:\\.[\\da-z]+)?)?|_\\b(?!\\.))/,\n adverb: {\n pattern: /[~}]|[\\/\\\\]\\.?|[bfM]\\.|t[.:]/,\n alias: 'builtin'\n },\n operator: /[=a][.:]|_\\./,\n conjunction: {\n pattern: /&(?:\\.:?|:)?|[.:@][.:]?|[!D][.:]|[;dHT]\\.|`:?|[\\^LS]:|\"/,\n alias: 'variable'\n },\n punctuation: /[()]/\n }\n}\n","'use strict'\n\nmodule.exports = java\njava.displayName = 'java'\njava.aliases = []\nfunction java(Prism) {\n ;(function (Prism) {\n var keywords =\n /\\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\\b/ // full package (optional) + parent classes (optional)\n var classNamePrefix = /(^|[^\\w.])(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*/\n .source // based on the java naming conventions\n var className = {\n pattern: RegExp(classNamePrefix + /[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b/.source),\n lookbehind: true,\n inside: {\n namespace: {\n pattern: /^[a-z]\\w*(?:\\s*\\.\\s*[a-z]\\w*)*(?:\\s*\\.)?/,\n inside: {\n punctuation: /\\./\n }\n },\n punctuation: /\\./\n }\n }\n Prism.languages.java = Prism.languages.extend('clike', {\n string: {\n pattern: /(^|[^\\\\])\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n lookbehind: true,\n greedy: true\n },\n 'class-name': [\n className,\n {\n // variables and parameters\n // this to support class names (or generic parameters) which do not contain a lower case letter (also works for methods)\n pattern: RegExp(\n classNamePrefix + /[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()])/.source\n ),\n lookbehind: true,\n inside: className.inside\n }\n ],\n keyword: keywords,\n function: [\n Prism.languages.clike.function,\n {\n pattern: /(::\\s*)[a-z_]\\w*/,\n lookbehind: true\n }\n ],\n number:\n /\\b0b[01][01_]*L?\\b|\\b0x(?:\\.[\\da-f_p+-]+|[\\da-f_]+(?:\\.[\\da-f_p+-]+)?)\\b|(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfl]?/i,\n operator: {\n pattern:\n /(^|[^.])(?:<<=?|>>>?=?|->|--|\\+\\+|&&|\\|\\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,\n lookbehind: true\n }\n })\n Prism.languages.insertBefore('java', 'string', {\n 'triple-quoted-string': {\n // http://openjdk.java.net/jeps/355#Description\n pattern: /\"\"\"[ \\t]*[\\r\\n](?:(?:\"|\"\")?(?:\\\\.|[^\"\\\\]))*\"\"\"/,\n greedy: true,\n alias: 'string'\n },\n char: {\n pattern: /'(?:\\\\.|[^'\\\\\\r\\n]){1,6}'/,\n greedy: true\n }\n })\n Prism.languages.insertBefore('java', 'class-name', {\n annotation: {\n pattern: /(^|[^.])@\\w+(?:\\s*\\.\\s*\\w+)*/,\n lookbehind: true,\n alias: 'punctuation'\n },\n generics: {\n pattern:\n /<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&))*>)*>)*>)*>/,\n inside: {\n 'class-name': className,\n keyword: keywords,\n punctuation: /[<>(),.:]/,\n operator: /[?&|]/\n }\n },\n namespace: {\n pattern: RegExp(\n /(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?/.source.replace(\n /<keyword>/g,\n function () {\n return keywords.source\n }\n )\n ),\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n }\n })\n })(Prism)\n}\n","'use strict'\nvar refractorJava = require('./java.js')\nvar refractorJavadoclike = require('./javadoclike.js')\nmodule.exports = javadoc\njavadoc.displayName = 'javadoc'\njavadoc.aliases = []\nfunction javadoc(Prism) {\n Prism.register(refractorJava)\n Prism.register(refractorJavadoclike)\n ;(function (Prism) {\n var codeLinePattern = /(^(?:[\\t ]*(?:\\*\\s*)*))[^*\\s].*$/m\n var memberReference = /#\\s*\\w+(?:\\s*\\([^()]*\\))?/.source\n var reference =\n /(?:\\b[a-zA-Z]\\w+\\s*\\.\\s*)*\\b[A-Z]\\w*(?:\\s*<mem>)?|<mem>/.source.replace(\n /<mem>/g,\n function () {\n return memberReference\n }\n )\n Prism.languages.javadoc = Prism.languages.extend('javadoclike', {})\n Prism.languages.insertBefore('javadoc', 'keyword', {\n reference: {\n pattern: RegExp(\n /(@(?:exception|link|linkplain|see|throws|value)\\s+(?:\\*\\s*)?)/\n .source +\n '(?:' +\n reference +\n ')'\n ),\n lookbehind: true,\n inside: {\n function: {\n pattern: /(#\\s*)\\w+(?=\\s*\\()/,\n lookbehind: true\n },\n field: {\n pattern: /(#\\s*)\\w+/,\n lookbehind: true\n },\n namespace: {\n pattern: /\\b(?:[a-z]\\w*\\s*\\.\\s*)+/,\n inside: {\n punctuation: /\\./\n }\n },\n 'class-name': /\\b[A-Z]\\w*/,\n keyword: Prism.languages.java.keyword,\n punctuation: /[#()[\\],.]/\n }\n },\n 'class-name': {\n // @param <T> the first generic type parameter\n pattern: /(@param\\s+)<[A-Z]\\w*>/,\n lookbehind: true,\n inside: {\n punctuation: /[.<>]/\n }\n },\n 'code-section': [\n {\n pattern:\n /(\\{@code\\s+(?!\\s))(?:[^\\s{}]|\\s+(?![\\s}])|\\{(?:[^{}]|\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})*\\})*\\})+(?=\\s*\\})/,\n lookbehind: true,\n inside: {\n code: {\n // there can't be any HTML inside of {@code} tags\n pattern: codeLinePattern,\n lookbehind: true,\n inside: Prism.languages.java,\n alias: 'language-java'\n }\n }\n },\n {\n pattern:\n /(<(code|pre|tt)>(?!<code>)\\s*)\\S(?:\\S|\\s+\\S)*?(?=\\s*<\\/\\2>)/,\n lookbehind: true,\n inside: {\n line: {\n pattern: codeLinePattern,\n lookbehind: true,\n inside: {\n // highlight HTML tags and entities\n tag: Prism.languages.markup.tag,\n entity: Prism.languages.markup.entity,\n code: {\n // everything else is Java code\n pattern: /.+/,\n inside: Prism.languages.java,\n alias: 'language-java'\n }\n }\n }\n }\n }\n ],\n tag: Prism.languages.markup.tag,\n entity: Prism.languages.markup.entity\n })\n Prism.languages.javadoclike.addSupport('java', Prism.languages.javadoc)\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = javadoclike\njavadoclike.displayName = 'javadoclike'\njavadoclike.aliases = []\nfunction javadoclike(Prism) {\n ;(function (Prism) {\n var javaDocLike = (Prism.languages.javadoclike = {\n parameter: {\n pattern:\n /(^[\\t ]*(?:\\/{3}|\\*|\\/\\*\\*)\\s*@(?:arg|arguments|param)\\s+)\\w+/m,\n lookbehind: true\n },\n keyword: {\n // keywords are the first word in a line preceded be an `@` or surrounded by curly braces.\n // @word, {@word}\n pattern: /(^[\\t ]*(?:\\/{3}|\\*|\\/\\*\\*)\\s*|\\{)@[a-z][a-zA-Z-]+\\b/m,\n lookbehind: true\n },\n punctuation: /[{}]/\n })\n /**\n * Adds doc comment support to the given language and calls a given callback on each doc comment pattern.\n *\n * @param {string} lang the language add doc comment support to.\n * @param {(pattern: {inside: {rest: undefined}}) => void} callback the function called with each doc comment pattern as argument.\n */\n function docCommentSupport(lang, callback) {\n var tokenName = 'doc-comment'\n var grammar = Prism.languages[lang]\n if (!grammar) {\n return\n }\n var token = grammar[tokenName]\n if (!token) {\n // add doc comment: /** */\n var definition = {}\n definition[tokenName] = {\n pattern: /(^|[^\\\\])\\/\\*\\*[^/][\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true,\n alias: 'comment'\n }\n grammar = Prism.languages.insertBefore(lang, 'comment', definition)\n token = grammar[tokenName]\n }\n if (token instanceof RegExp) {\n // convert regex to object\n token = grammar[tokenName] = {\n pattern: token\n }\n }\n if (Array.isArray(token)) {\n for (var i = 0, l = token.length; i < l; i++) {\n if (token[i] instanceof RegExp) {\n token[i] = {\n pattern: token[i]\n }\n }\n callback(token[i])\n }\n } else {\n callback(token)\n }\n }\n /**\n * Adds doc-comment support to the given languages for the given documentation language.\n *\n * @param {string[]|string} languages\n * @param {Object} docLanguage\n */\n function addSupport(languages, docLanguage) {\n if (typeof languages === 'string') {\n languages = [languages]\n }\n languages.forEach(function (lang) {\n docCommentSupport(lang, function (pattern) {\n if (!pattern.inside) {\n pattern.inside = {}\n }\n pattern.inside.rest = docLanguage\n })\n })\n }\n Object.defineProperty(javaDocLike, 'addSupport', {\n value: addSupport\n })\n javaDocLike.addSupport(['java', 'javascript', 'php'], javaDocLike)\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = javascript\njavascript.displayName = 'javascript'\njavascript.aliases = ['js']\nfunction javascript(Prism) {\n Prism.languages.javascript = Prism.languages.extend('clike', {\n 'class-name': [\n Prism.languages.clike['class-name'],\n {\n pattern:\n /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n lookbehind: true\n }\n ],\n keyword: [\n {\n pattern: /((?:^|\\})\\s*)catch\\b/,\n lookbehind: true\n },\n {\n pattern:\n /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n lookbehind: true\n }\n ],\n // Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n function:\n /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n number: {\n pattern: RegExp(\n /(^|[^\\w$])/.source +\n '(?:' + // constant\n (/NaN|Infinity/.source +\n '|' + // binary integer\n /0[bB][01]+(?:_[01]+)*n?/.source +\n '|' + // octal integer\n /0[oO][0-7]+(?:_[0-7]+)*n?/.source +\n '|' + // hexadecimal integer\n /0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source +\n '|' + // decimal bigint\n /\\d+(?:_\\d+)*n/.source +\n '|' + // decimal number (integer or float) but no bigint\n /(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/\n .source) +\n ')' +\n /(?![\\w$])/.source\n ),\n lookbehind: true\n },\n operator:\n /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n })\n Prism.languages.javascript['class-name'][0].pattern =\n /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/\n Prism.languages.insertBefore('javascript', 'keyword', {\n regex: {\n // eslint-disable-next-line regexp/no-dupe-characters-character-class\n pattern:\n /((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)\\/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/,\n lookbehind: true,\n greedy: true,\n inside: {\n 'regex-source': {\n pattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n lookbehind: true,\n alias: 'language-regex',\n inside: Prism.languages.regex\n },\n 'regex-delimiter': /^\\/|\\/$/,\n 'regex-flags': /^[a-z]+$/\n }\n },\n // This must be declared before keyword because we use \"function\" inside the look-forward\n 'function-variable': {\n pattern:\n /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n alias: 'function'\n },\n parameter: [\n {\n pattern:\n /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n {\n pattern:\n /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n {\n pattern:\n /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n {\n pattern:\n /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,\n lookbehind: true,\n inside: Prism.languages.javascript\n }\n ],\n constant: /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n })\n Prism.languages.insertBefore('javascript', 'string', {\n hashbang: {\n pattern: /^#!.*/,\n greedy: true,\n alias: 'comment'\n },\n 'template-string': {\n pattern:\n /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n greedy: true,\n inside: {\n 'template-punctuation': {\n pattern: /^`|`$/,\n alias: 'string'\n },\n interpolation: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n lookbehind: true,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^\\$\\{|\\}$/,\n alias: 'punctuation'\n },\n rest: Prism.languages.javascript\n }\n },\n string: /[\\s\\S]+/\n }\n },\n 'string-property': {\n pattern:\n /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n lookbehind: true,\n greedy: true,\n alias: 'property'\n }\n })\n Prism.languages.insertBefore('javascript', 'operator', {\n 'literal-property': {\n pattern:\n /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n lookbehind: true,\n alias: 'property'\n }\n })\n if (Prism.languages.markup) {\n Prism.languages.markup.tag.addInlined('script', 'javascript') // add attribute support for all DOM events.\n // https://developer.mozilla.org/en-US/docs/Web/Events#Standard_events\n Prism.languages.markup.tag.addAttribute(\n /on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/\n .source,\n 'javascript'\n )\n }\n Prism.languages.js = Prism.languages.javascript\n}\n","'use strict'\n\nmodule.exports = javastacktrace\njavastacktrace.displayName = 'javastacktrace'\njavastacktrace.aliases = []\nfunction javastacktrace(Prism) {\n // Specification:\n // https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Throwable.html#printStackTrace()\n Prism.languages.javastacktrace = {\n // java.sql.SQLException: Violation of unique constraint MY_ENTITY_UK_1: duplicate value(s) for column(s) MY_COLUMN in statement [...]\n // Caused by: java.sql.SQLException: Violation of unique constraint MY_ENTITY_UK_1: duplicate value(s) for column(s) MY_COLUMN in statement [...]\n // Caused by: com.example.myproject.MyProjectServletException\n // Caused by: MidLevelException: LowLevelException\n // Suppressed: Resource$CloseFailException: Resource ID = 0\n summary: {\n pattern:\n /^([\\t ]*)(?:(?:Caused by:|Suppressed:|Exception in thread \"[^\"]*\")[\\t ]+)?[\\w$.]+(?::.*)?$/m,\n lookbehind: true,\n inside: {\n keyword: {\n pattern:\n /^([\\t ]*)(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m,\n lookbehind: true\n },\n // the current thread if the summary starts with 'Exception in thread'\n string: {\n pattern: /^(\\s*)\"[^\"]*\"/,\n lookbehind: true\n },\n exceptions: {\n pattern: /^(:?\\s*)[\\w$.]+(?=:|$)/,\n lookbehind: true,\n inside: {\n 'class-name': /[\\w$]+$/,\n namespace: /\\b[a-z]\\w*\\b/,\n punctuation: /\\./\n }\n },\n message: {\n pattern: /(:\\s*)\\S.*/,\n lookbehind: true,\n alias: 'string'\n },\n punctuation: /:/\n }\n },\n // at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)\n // at org.hsqldb.jdbc.Util.throwError(Unknown Source) here could be some notes\n // at java.base/java.lang.Class.forName0(Native Method)\n // at Util.<init>(Unknown Source)\n // at com.foo.loader/foo@9.0/com.foo.Main.run(Main.java:101)\n // at com.foo.loader//com.foo.bar.App.run(App.java:12)\n // at acme@2.1/org.acme.Lib.test(Lib.java:80)\n // at MyClass.mash(MyClass.java:9)\n //\n // More information:\n // https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/StackTraceElement.html#toString()\n //\n // A valid Java module name is defined as:\n // \"A module name consists of one or more Java identifiers (§3.8) separated by \".\" tokens.\"\n // https://docs.oracle.com/javase/specs/jls/se9/html/jls-6.html#jls-ModuleName\n //\n // A Java module version is defined by this class:\n // https://docs.oracle.com/javase/9/docs/api/java/lang/module/ModuleDescriptor.Version.html\n // This is the implementation of the `parse` method in JDK13:\n // https://github.com/matcdac/jdk/blob/2305df71d1b7710266ae0956d73927a225132c0f/src/java.base/share/classes/java/lang/module/ModuleDescriptor.java#L1108\n // However, to keep this simple, a version will be matched by the pattern /@[\\w$.+-]*/.\n 'stack-frame': {\n pattern: /^([\\t ]*)at (?:[\\w$./]|@[\\w$.+-]*\\/)+(?:<init>)?\\([^()]*\\)/m,\n lookbehind: true,\n inside: {\n keyword: {\n pattern: /^(\\s*)at(?= )/,\n lookbehind: true\n },\n source: [\n // (Main.java:15)\n // (Main.scala:15)\n {\n pattern: /(\\()\\w+\\.\\w+:\\d+(?=\\))/,\n lookbehind: true,\n inside: {\n file: /^\\w+\\.\\w+/,\n punctuation: /:/,\n 'line-number': {\n pattern: /\\b\\d+\\b/,\n alias: 'number'\n }\n }\n }, // (Unknown Source)\n // (Native Method)\n // (...something...)\n {\n pattern: /(\\()[^()]*(?=\\))/,\n lookbehind: true,\n inside: {\n keyword: /^(?:Native Method|Unknown Source)$/\n }\n }\n ],\n 'class-name': /[\\w$]+(?=\\.(?:<init>|[\\w$]+)\\()/,\n function: /(?:<init>|[\\w$]+)(?=\\()/,\n 'class-loader': {\n pattern: /(\\s)[a-z]\\w*(?:\\.[a-z]\\w*)*(?=\\/[\\w@$.]*\\/)/,\n lookbehind: true,\n alias: 'namespace',\n inside: {\n punctuation: /\\./\n }\n },\n module: {\n pattern: /([\\s/])[a-z]\\w*(?:\\.[a-z]\\w*)*(?:@[\\w$.+-]*)?(?=\\/)/,\n lookbehind: true,\n inside: {\n version: {\n pattern: /(@)[\\s\\S]+/,\n lookbehind: true,\n alias: 'number'\n },\n punctuation: /[@.]/\n }\n },\n namespace: {\n pattern: /(?:\\b[a-z]\\w*\\.)+/,\n inside: {\n punctuation: /\\./\n }\n },\n punctuation: /[()/.]/\n }\n },\n // ... 32 more\n // ... 32 common frames omitted\n more: {\n pattern: /^([\\t ]*)\\.{3} \\d+ [a-z]+(?: [a-z]+)*/m,\n lookbehind: true,\n inside: {\n punctuation: /\\.{3}/,\n number: /\\d+/,\n keyword: /\\b[a-z]+(?: [a-z]+)*\\b/\n }\n }\n }\n}\n","'use strict'\n\nmodule.exports = jexl\njexl.displayName = 'jexl'\njexl.aliases = []\nfunction jexl(Prism) {\n Prism.languages.jexl = {\n string: /([\"'])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n transform: {\n pattern:\n /(\\|\\s*)[a-zA-Zа-яА-Я_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u00FF$][\\wа-яА-Я\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u00FF$]*/,\n alias: 'function',\n lookbehind: true\n },\n function:\n /[a-zA-Zа-яА-Я_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u00FF$][\\wа-яА-Я\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u00FF$]*\\s*(?=\\()/,\n number: /\\b\\d+(?:\\.\\d+)?\\b|\\B\\.\\d+\\b/,\n operator: /[<>!]=?|-|\\+|&&|==|\\|\\|?|\\/\\/?|[?:*^%]/,\n boolean: /\\b(?:false|true)\\b/,\n keyword: /\\bin\\b/,\n punctuation: /[{}[\\](),.]/\n }\n}\n","'use strict'\n\nmodule.exports = jolie\njolie.displayName = 'jolie'\njolie.aliases = []\nfunction jolie(Prism) {\n Prism.languages.jolie = Prism.languages.extend('clike', {\n string: {\n pattern: /(^|[^\\\\])\"(?:\\\\[\\s\\S]|[^\"\\\\])*\"/,\n lookbehind: true,\n greedy: true\n },\n 'class-name': {\n pattern:\n /((?:\\b(?:as|courier|embed|in|inputPort|outputPort|service)\\b|@)[ \\t]*)\\w+/,\n lookbehind: true\n },\n keyword:\n /\\b(?:as|cH|comp|concurrent|constants|courier|cset|csets|default|define|else|embed|embedded|execution|exit|extender|for|foreach|forward|from|global|if|import|in|include|init|inputPort|install|instanceof|interface|is_defined|linkIn|linkOut|main|new|nullProcess|outputPort|over|private|provide|public|scope|sequential|service|single|spawn|synchronized|this|throw|throws|type|undef|until|while|with)\\b/,\n function: /\\b[a-z_]\\w*(?=[ \\t]*[@(])/i,\n number: /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?l?/i,\n operator: /-[-=>]?|\\+[+=]?|<[<=]?|[>=*!]=?|&&|\\|\\||[?\\/%^@|]/,\n punctuation: /[()[\\]{},;.:]/,\n builtin:\n /\\b(?:Byte|any|bool|char|double|enum|float|int|length|long|ranges|regex|string|undefined|void)\\b/\n })\n Prism.languages.insertBefore('jolie', 'keyword', {\n aggregates: {\n pattern:\n /(\\bAggregates\\s*:\\s*)(?:\\w+(?:\\s+with\\s+\\w+)?\\s*,\\s*)*\\w+(?:\\s+with\\s+\\w+)?/,\n lookbehind: true,\n inside: {\n keyword: /\\bwith\\b/,\n 'class-name': /\\w+/,\n punctuation: /,/\n }\n },\n redirects: {\n pattern:\n /(\\bRedirects\\s*:\\s*)(?:\\w+\\s*=>\\s*\\w+\\s*,\\s*)*(?:\\w+\\s*=>\\s*\\w+)/,\n lookbehind: true,\n inside: {\n punctuation: /,/,\n 'class-name': /\\w+/,\n operator: /=>/\n }\n },\n property: {\n pattern:\n /\\b(?:Aggregates|[Ii]nterfaces|Java|Javascript|Jolie|[Ll]ocation|OneWay|[Pp]rotocol|Redirects|RequestResponse)\\b(?=[ \\t]*:)/\n }\n })\n}\n","'use strict'\n\nmodule.exports = jq\njq.displayName = 'jq'\njq.aliases = []\nfunction jq(Prism) {\n ;(function (Prism) {\n var interpolation = /\\\\\\((?:[^()]|\\([^()]*\\))*\\)/.source\n var string = RegExp(\n /(^|[^\\\\])\"(?:[^\"\\r\\n\\\\]|\\\\[^\\r\\n(]|__)*\"/.source.replace(\n /__/g,\n function () {\n return interpolation\n }\n )\n )\n var stringInterpolation = {\n interpolation: {\n pattern: RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source + interpolation),\n lookbehind: true,\n inside: {\n content: {\n pattern: /^(\\\\\\()[\\s\\S]+(?=\\)$)/,\n lookbehind: true,\n inside: null // see below\n },\n punctuation: /^\\\\\\(|\\)$/\n }\n }\n }\n var jq = (Prism.languages.jq = {\n comment: /#.*/,\n property: {\n pattern: RegExp(string.source + /(?=\\s*:(?!:))/.source),\n lookbehind: true,\n greedy: true,\n inside: stringInterpolation\n },\n string: {\n pattern: string,\n lookbehind: true,\n greedy: true,\n inside: stringInterpolation\n },\n function: {\n pattern: /(\\bdef\\s+)[a-z_]\\w+/i,\n lookbehind: true\n },\n variable: /\\B\\$\\w+/,\n 'property-literal': {\n pattern: /\\b[a-z_]\\w*(?=\\s*:(?!:))/i,\n alias: 'property'\n },\n keyword:\n /\\b(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n number: /(?:\\b\\d+\\.|\\B\\.)?\\b\\d+(?:[eE][+-]?\\d+)?\\b/,\n operator: [\n {\n pattern: /\\|=?/,\n alias: 'pipe'\n },\n /\\.\\.|[!=<>]?=|\\?\\/\\/|\\/\\/=?|[-+*/%]=?|[<>?]|\\b(?:and|not|or)\\b/\n ],\n 'c-style-function': {\n pattern: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n alias: 'function'\n },\n punctuation: /::|[()\\[\\]{},:;]|\\.(?=\\s*[\\[\\w$])/,\n dot: {\n pattern: /\\./,\n alias: 'important'\n }\n })\n stringInterpolation.interpolation.inside.content.inside = jq\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = jsExtras\njsExtras.displayName = 'jsExtras'\njsExtras.aliases = []\nfunction jsExtras(Prism) {\n ;(function (Prism) {\n Prism.languages.insertBefore('javascript', 'function-variable', {\n 'method-variable': {\n pattern: RegExp(\n '(\\\\.\\\\s*)' +\n Prism.languages.javascript['function-variable'].pattern.source\n ),\n lookbehind: true,\n alias: ['function-variable', 'method', 'function', 'property-access']\n }\n })\n Prism.languages.insertBefore('javascript', 'function', {\n method: {\n pattern: RegExp(\n '(\\\\.\\\\s*)' + Prism.languages.javascript['function'].source\n ),\n lookbehind: true,\n alias: ['function', 'property-access']\n }\n })\n Prism.languages.insertBefore('javascript', 'constant', {\n 'known-class-name': [\n {\n // standard built-ins\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\n pattern:\n /\\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\\b/,\n alias: 'class-name'\n },\n {\n // errors\n pattern: /\\b(?:[A-Z]\\w*)Error\\b/,\n alias: 'class-name'\n }\n ]\n })\n /**\n * Replaces the `<ID>` placeholder in the given pattern with a pattern for general JS identifiers.\n *\n * @param {string} source\n * @param {string} [flags]\n * @returns {RegExp}\n */\n function withId(source, flags) {\n return RegExp(\n source.replace(/<ID>/g, function () {\n return /(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/.source\n }),\n flags\n )\n }\n Prism.languages.insertBefore('javascript', 'keyword', {\n imports: {\n // https://tc39.es/ecma262/#sec-imports\n pattern: withId(\n /(\\bimport\\b\\s*)(?:<ID>(?:\\s*,\\s*(?:\\*\\s*as\\s+<ID>|\\{[^{}]*\\}))?|\\*\\s*as\\s+<ID>|\\{[^{}]*\\})(?=\\s*\\bfrom\\b)/\n .source\n ),\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n exports: {\n // https://tc39.es/ecma262/#sec-exports\n pattern: withId(\n /(\\bexport\\b\\s*)(?:\\*(?:\\s*as\\s+<ID>)?(?=\\s*\\bfrom\\b)|\\{[^{}]*\\})/\n .source\n ),\n lookbehind: true,\n inside: Prism.languages.javascript\n }\n })\n Prism.languages.javascript['keyword'].unshift(\n {\n pattern: /\\b(?:as|default|export|from|import)\\b/,\n alias: 'module'\n },\n {\n pattern:\n /\\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\\b/,\n alias: 'control-flow'\n },\n {\n pattern: /\\bnull\\b/,\n alias: ['null', 'nil']\n },\n {\n pattern: /\\bundefined\\b/,\n alias: 'nil'\n }\n )\n Prism.languages.insertBefore('javascript', 'operator', {\n spread: {\n pattern: /\\.{3}/,\n alias: 'operator'\n },\n arrow: {\n pattern: /=>/,\n alias: 'operator'\n }\n })\n Prism.languages.insertBefore('javascript', 'punctuation', {\n 'property-access': {\n pattern: withId(/(\\.\\s*)#?<ID>/.source),\n lookbehind: true\n },\n 'maybe-class-name': {\n pattern: /(^|[^$\\w\\xA0-\\uFFFF])[A-Z][$\\w\\xA0-\\uFFFF]+/,\n lookbehind: true\n },\n dom: {\n // this contains only a few commonly used DOM variables\n pattern:\n /\\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\\b/,\n alias: 'variable'\n },\n console: {\n pattern: /\\bconsole(?=\\s*\\.)/,\n alias: 'class-name'\n }\n }) // add 'maybe-class-name' to tokens which might be a class name\n var maybeClassNameTokens = [\n 'function',\n 'function-variable',\n 'method',\n 'method-variable',\n 'property-access'\n ]\n for (var i = 0; i < maybeClassNameTokens.length; i++) {\n var token = maybeClassNameTokens[i]\n var value = Prism.languages.javascript[token] // convert regex to object\n if (Prism.util.type(value) === 'RegExp') {\n value = Prism.languages.javascript[token] = {\n pattern: value\n }\n } // keep in mind that we don't support arrays\n var inside = value.inside || {}\n value.inside = inside\n inside['maybe-class-name'] = /^[A-Z][\\s\\S]*/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = jsTemplates\njsTemplates.displayName = 'jsTemplates'\njsTemplates.aliases = []\nfunction jsTemplates(Prism) {\n ;(function (Prism) {\n var templateString = Prism.languages.javascript['template-string'] // see the pattern in prism-javascript.js\n var templateLiteralPattern = templateString.pattern.source\n var interpolationObject = templateString.inside['interpolation']\n var interpolationPunctuationObject =\n interpolationObject.inside['interpolation-punctuation']\n var interpolationPattern = interpolationObject.pattern.source\n /**\n * Creates a new pattern to match a template string with a special tag.\n *\n * This will return `undefined` if there is no grammar with the given language id.\n *\n * @param {string} language The language id of the embedded language. E.g. `markdown`.\n * @param {string} tag The regex pattern to match the tag.\n * @returns {object | undefined}\n * @example\n * createTemplate('css', /\\bcss/.source);\n */\n function createTemplate(language, tag) {\n if (!Prism.languages[language]) {\n return undefined\n }\n return {\n pattern: RegExp('((?:' + tag + ')\\\\s*)' + templateLiteralPattern),\n lookbehind: true,\n greedy: true,\n inside: {\n 'template-punctuation': {\n pattern: /^`|`$/,\n alias: 'string'\n },\n 'embedded-code': {\n pattern: /[\\s\\S]+/,\n alias: language\n }\n }\n }\n }\n Prism.languages.javascript['template-string'] = [\n // styled-jsx:\n // css`a { color: #25F; }`\n // styled-components:\n // styled.h1`color: red;`\n createTemplate(\n 'css',\n /\\b(?:styled(?:\\([^)]*\\))?(?:\\s*\\.\\s*\\w+(?:\\([^)]*\\))*)*|css(?:\\s*\\.\\s*(?:global|resolve))?|createGlobalStyle|keyframes)/\n .source\n ), // html`<p></p>`\n // div.innerHTML = `<p></p>`\n createTemplate('html', /\\bhtml|\\.\\s*(?:inner|outer)HTML\\s*\\+?=/.source), // svg`<path fill=\"#fff\" d=\"M55.37 ...\"/>`\n createTemplate('svg', /\\bsvg/.source), // md`# h1`, markdown`## h2`\n createTemplate('markdown', /\\b(?:markdown|md)/.source), // gql`...`, graphql`...`, graphql.experimental`...`\n createTemplate(\n 'graphql',\n /\\b(?:gql|graphql(?:\\s*\\.\\s*experimental)?)/.source\n ), // sql`...`\n createTemplate('sql', /\\bsql/.source), // vanilla template string\n templateString\n ].filter(Boolean)\n /**\n * Returns a specific placeholder literal for the given language.\n *\n * @param {number} counter\n * @param {string} language\n * @returns {string}\n */\n function getPlaceholder(counter, language) {\n return '___' + language.toUpperCase() + '_' + counter + '___'\n }\n /**\n * Returns the tokens of `Prism.tokenize` but also runs the `before-tokenize` and `after-tokenize` hooks.\n *\n * @param {string} code\n * @param {any} grammar\n * @param {string} language\n * @returns {(string|Token)[]}\n */\n function tokenizeWithHooks(code, grammar, language) {\n var env = {\n code: code,\n grammar: grammar,\n language: language\n }\n Prism.hooks.run('before-tokenize', env)\n env.tokens = Prism.tokenize(env.code, env.grammar)\n Prism.hooks.run('after-tokenize', env)\n return env.tokens\n }\n /**\n * Returns the token of the given JavaScript interpolation expression.\n *\n * @param {string} expression The code of the expression. E.g. `\"${42}\"`\n * @returns {Token}\n */\n function tokenizeInterpolationExpression(expression) {\n var tempGrammar = {}\n tempGrammar['interpolation-punctuation'] = interpolationPunctuationObject\n /** @type {Array} */\n var tokens = Prism.tokenize(expression, tempGrammar)\n if (tokens.length === 3) {\n /**\n * The token array will look like this\n * [\n * [\"interpolation-punctuation\", \"${\"]\n * \"...\" // JavaScript expression of the interpolation\n * [\"interpolation-punctuation\", \"}\"]\n * ]\n */\n var args = [1, 1]\n args.push.apply(\n args,\n tokenizeWithHooks(tokens[1], Prism.languages.javascript, 'javascript')\n )\n tokens.splice.apply(tokens, args)\n }\n return new Prism.Token(\n 'interpolation',\n tokens,\n interpolationObject.alias,\n expression\n )\n }\n /**\n * Tokenizes the given code with support for JavaScript interpolation expressions mixed in.\n *\n * This function has 3 phases:\n *\n * 1. Replace all JavaScript interpolation expression with a placeholder.\n * The placeholder will have the syntax of a identify of the target language.\n * 2. Tokenize the code with placeholders.\n * 3. Tokenize the interpolation expressions and re-insert them into the tokenize code.\n * The insertion only works if a placeholder hasn't been \"ripped apart\" meaning that the placeholder has been\n * tokenized as two tokens by the grammar of the embedded language.\n *\n * @param {string} code\n * @param {object} grammar\n * @param {string} language\n * @returns {Token}\n */\n function tokenizeEmbedded(code, grammar, language) {\n // 1. First filter out all interpolations\n // because they might be escaped, we need a lookbehind, so we use Prism\n /** @type {(Token|string)[]} */\n var _tokens = Prism.tokenize(code, {\n interpolation: {\n pattern: RegExp(interpolationPattern),\n lookbehind: true\n }\n }) // replace all interpolations with a placeholder which is not in the code already\n var placeholderCounter = 0\n /** @type {Object<string, string>} */\n var placeholderMap = {}\n var embeddedCode = _tokens\n .map(function (token) {\n if (typeof token === 'string') {\n return token\n } else {\n var interpolationExpression = token.content\n var placeholder\n while (\n code.indexOf(\n (placeholder = getPlaceholder(placeholderCounter++, language))\n ) !== -1\n ) {\n /* noop */\n }\n placeholderMap[placeholder] = interpolationExpression\n return placeholder\n }\n })\n .join('') // 2. Tokenize the embedded code\n var embeddedTokens = tokenizeWithHooks(embeddedCode, grammar, language) // 3. Re-insert the interpolation\n var placeholders = Object.keys(placeholderMap)\n placeholderCounter = 0\n /**\n *\n * @param {(Token|string)[]} tokens\n * @returns {void}\n */\n function walkTokens(tokens) {\n for (var i = 0; i < tokens.length; i++) {\n if (placeholderCounter >= placeholders.length) {\n return\n }\n var token = tokens[i]\n if (typeof token === 'string' || typeof token.content === 'string') {\n var placeholder = placeholders[placeholderCounter]\n var s =\n typeof token === 'string'\n ? token\n : /** @type {string} */\n token.content\n var index = s.indexOf(placeholder)\n if (index !== -1) {\n ++placeholderCounter\n var before = s.substring(0, index)\n var middle = tokenizeInterpolationExpression(\n placeholderMap[placeholder]\n )\n var after = s.substring(index + placeholder.length)\n var replacement = []\n if (before) {\n replacement.push(before)\n }\n replacement.push(middle)\n if (after) {\n var afterTokens = [after]\n walkTokens(afterTokens)\n replacement.push.apply(replacement, afterTokens)\n }\n if (typeof token === 'string') {\n tokens.splice.apply(tokens, [i, 1].concat(replacement))\n i += replacement.length - 1\n } else {\n token.content = replacement\n }\n }\n } else {\n var content = token.content\n if (Array.isArray(content)) {\n walkTokens(content)\n } else {\n walkTokens([content])\n }\n }\n }\n }\n walkTokens(embeddedTokens)\n return new Prism.Token(\n language,\n embeddedTokens,\n 'language-' + language,\n code\n )\n }\n /**\n * The languages for which JS templating will handle tagged template literals.\n *\n * JS templating isn't active for only JavaScript but also related languages like TypeScript, JSX, and TSX.\n */\n var supportedLanguages = {\n javascript: true,\n js: true,\n typescript: true,\n ts: true,\n jsx: true,\n tsx: true\n }\n Prism.hooks.add('after-tokenize', function (env) {\n if (!(env.language in supportedLanguages)) {\n return\n }\n /**\n * Finds and tokenizes all template strings with an embedded languages.\n *\n * @param {(Token | string)[]} tokens\n * @returns {void}\n */\n function findTemplateStrings(tokens) {\n for (var i = 0, l = tokens.length; i < l; i++) {\n var token = tokens[i]\n if (typeof token === 'string') {\n continue\n }\n var content = token.content\n if (!Array.isArray(content)) {\n if (typeof content !== 'string') {\n findTemplateStrings([content])\n }\n continue\n }\n if (token.type === 'template-string') {\n /**\n * A JavaScript template-string token will look like this:\n *\n * [\"template-string\", [\n * [\"template-punctuation\", \"`\"],\n * (\n * An array of \"string\" and \"interpolation\" tokens. This is the simple string case.\n * or\n * [\"embedded-code\", \"...\"] This is the token containing the embedded code.\n * It also has an alias which is the language of the embedded code.\n * ),\n * [\"template-punctuation\", \"`\"]\n * ]]\n */\n var embedded = content[1]\n if (\n content.length === 3 &&\n typeof embedded !== 'string' &&\n embedded.type === 'embedded-code'\n ) {\n // get string content\n var code = stringContent(embedded)\n var alias = embedded.alias\n var language = Array.isArray(alias) ? alias[0] : alias\n var grammar = Prism.languages[language]\n if (!grammar) {\n // the embedded language isn't registered.\n continue\n }\n content[1] = tokenizeEmbedded(code, grammar, language)\n }\n } else {\n findTemplateStrings(content)\n }\n }\n }\n findTemplateStrings(env.tokens)\n })\n /**\n * Returns the string content of a token or token stream.\n *\n * @param {string | Token | (string | Token)[]} value\n * @returns {string}\n */\n function stringContent(value) {\n if (typeof value === 'string') {\n return value\n } else if (Array.isArray(value)) {\n return value.map(stringContent).join('')\n } else {\n return stringContent(value.content)\n }\n }\n })(Prism)\n}\n","'use strict'\nvar refractorJavadoclike = require('./javadoclike.js')\nvar refractorTypescript = require('./typescript.js')\nmodule.exports = jsdoc\njsdoc.displayName = 'jsdoc'\njsdoc.aliases = []\nfunction jsdoc(Prism) {\n Prism.register(refractorJavadoclike)\n Prism.register(refractorTypescript)\n ;(function (Prism) {\n var javascript = Prism.languages.javascript\n var type = /\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})+\\}/.source\n var parameterPrefix =\n '(@(?:arg|argument|param|property)\\\\s+(?:' + type + '\\\\s+)?)'\n Prism.languages.jsdoc = Prism.languages.extend('javadoclike', {\n parameter: {\n // @param {string} foo - foo bar\n pattern: RegExp(\n parameterPrefix + /(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?=\\s|$)/.source\n ),\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n }\n })\n Prism.languages.insertBefore('jsdoc', 'keyword', {\n 'optional-parameter': {\n // @param {string} [baz.foo=\"bar\"] foo bar\n pattern: RegExp(\n parameterPrefix +\n /\\[(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?:=[^[\\]]+)?\\](?=\\s|$)/.source\n ),\n lookbehind: true,\n inside: {\n parameter: {\n pattern: /(^\\[)[$\\w\\xA0-\\uFFFF\\.]+/,\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n },\n code: {\n pattern: /(=)[\\s\\S]*(?=\\]$)/,\n lookbehind: true,\n inside: javascript,\n alias: 'language-javascript'\n },\n punctuation: /[=[\\]]/\n }\n },\n 'class-name': [\n {\n pattern: RegExp(\n /(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\\s+(?:<TYPE>\\s+)?)[A-Z]\\w*(?:\\.[A-Z]\\w*)*/.source.replace(\n /<TYPE>/g,\n function () {\n return type\n }\n )\n ),\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n },\n {\n pattern: RegExp('(@[a-z]+\\\\s+)' + type),\n lookbehind: true,\n inside: {\n string: javascript.string,\n number: javascript.number,\n boolean: javascript.boolean,\n keyword: Prism.languages.typescript.keyword,\n operator: /=>|\\.\\.\\.|[&|?:*]/,\n punctuation: /[.,;=<>{}()[\\]]/\n }\n }\n ],\n example: {\n pattern:\n /(@example\\s+(?!\\s))(?:[^@\\s]|\\s+(?!\\s))+?(?=\\s*(?:\\*\\s*)?(?:@\\w|\\*\\/))/,\n lookbehind: true,\n inside: {\n code: {\n pattern: /^([\\t ]*(?:\\*\\s*)?)\\S.*$/m,\n lookbehind: true,\n inside: javascript,\n alias: 'language-javascript'\n }\n }\n }\n })\n Prism.languages.javadoclike.addSupport('javascript', Prism.languages.jsdoc)\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = json\njson.displayName = 'json'\njson.aliases = ['webmanifest']\nfunction json(Prism) {\n // https://www.json.org/json-en.html\n Prism.languages.json = {\n property: {\n pattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/,\n lookbehind: true,\n greedy: true\n },\n string: {\n pattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?!\\s*:)/,\n lookbehind: true,\n greedy: true\n },\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n greedy: true\n },\n number: /-?\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\n punctuation: /[{}[\\],]/,\n operator: /:/,\n boolean: /\\b(?:false|true)\\b/,\n null: {\n pattern: /\\bnull\\b/,\n alias: 'keyword'\n }\n }\n Prism.languages.webmanifest = Prism.languages.json\n}\n","'use strict'\nvar refractorJson = require('./json.js')\nmodule.exports = json5\njson5.displayName = 'json5'\njson5.aliases = []\nfunction json5(Prism) {\n Prism.register(refractorJson)\n ;(function (Prism) {\n var string = /(\"|')(?:\\\\(?:\\r\\n?|\\n|.)|(?!\\1)[^\\\\\\r\\n])*\\1/\n Prism.languages.json5 = Prism.languages.extend('json', {\n property: [\n {\n pattern: RegExp(string.source + '(?=\\\\s*:)'),\n greedy: true\n },\n {\n pattern:\n /(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/,\n alias: 'unquoted'\n }\n ],\n string: {\n pattern: string,\n greedy: true\n },\n number:\n /[+-]?\\b(?:NaN|Infinity|0x[a-fA-F\\d]+)\\b|[+-]?(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[eE][+-]?\\d+\\b)?/\n })\n })(Prism)\n}\n","'use strict'\nvar refractorJson = require('./json.js')\nmodule.exports = jsonp\njsonp.displayName = 'jsonp'\njsonp.aliases = []\nfunction jsonp(Prism) {\n Prism.register(refractorJson)\n Prism.languages.jsonp = Prism.languages.extend('json', {\n punctuation: /[{}[\\]();,.]/\n })\n Prism.languages.insertBefore('jsonp', 'punctuation', {\n function: /(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*\\()/\n })\n}\n","'use strict'\n\nmodule.exports = jsstacktrace\njsstacktrace.displayName = 'jsstacktrace'\njsstacktrace.aliases = []\nfunction jsstacktrace(Prism) {\n Prism.languages.jsstacktrace = {\n 'error-message': {\n pattern: /^\\S.*/m,\n alias: 'string'\n },\n 'stack-frame': {\n pattern: /(^[ \\t]+)at[ \\t].*/m,\n lookbehind: true,\n inside: {\n 'not-my-code': {\n pattern:\n /^at[ \\t]+(?!\\s)(?:node\\.js|<unknown>|.*(?:node_modules|\\(<anonymous>\\)|\\(<unknown>|<anonymous>$|\\(internal\\/|\\(node\\.js)).*/m,\n alias: 'comment'\n },\n filename: {\n pattern: /(\\bat\\s+(?!\\s)|\\()(?:[a-zA-Z]:)?[^():]+(?=:)/,\n lookbehind: true,\n alias: 'url'\n },\n function: {\n pattern:\n /(\\bat\\s+(?:new\\s+)?)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF<][.$\\w\\xA0-\\uFFFF<>]*/,\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n },\n punctuation: /[()]/,\n keyword: /\\b(?:at|new)\\b/,\n alias: {\n pattern: /\\[(?:as\\s+)?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*\\]/,\n alias: 'variable'\n },\n 'line-number': {\n pattern: /:\\d+(?::\\d+)?\\b/,\n alias: 'number',\n inside: {\n punctuation: /:/\n }\n }\n }\n }\n }\n}\n","'use strict'\n\nmodule.exports = jsx\njsx.displayName = 'jsx'\njsx.aliases = []\nfunction jsx(Prism) {\n ;(function (Prism) {\n var javascript = Prism.util.clone(Prism.languages.javascript)\n var space = /(?:\\s|\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))\\*\\/)/.source\n var braces = /(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})/.source\n var spread = /(?:\\{<S>*\\.{3}(?:[^{}]|<BRACES>)*\\})/.source\n /**\n * @param {string} source\n * @param {string} [flags]\n */\n function re(source, flags) {\n source = source\n .replace(/<S>/g, function () {\n return space\n })\n .replace(/<BRACES>/g, function () {\n return braces\n })\n .replace(/<SPREAD>/g, function () {\n return spread\n })\n return RegExp(source, flags)\n }\n spread = re(spread).source\n Prism.languages.jsx = Prism.languages.extend('markup', javascript)\n Prism.languages.jsx.tag.pattern = re(\n /<\\/?(?:[\\w.:-]+(?:<S>+(?:[\\w.:$-]+(?:=(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s{'\"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\\/?)?>/\n .source\n )\n Prism.languages.jsx.tag.inside['tag'].pattern = /^<\\/?[^\\s>\\/]*/\n Prism.languages.jsx.tag.inside['attr-value'].pattern =\n /=(?!\\{)(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s'\">]+)/\n Prism.languages.jsx.tag.inside['tag'].inside['class-name'] =\n /^[A-Z]\\w*(?:\\.[A-Z]\\w*)*$/\n Prism.languages.jsx.tag.inside['comment'] = javascript['comment']\n Prism.languages.insertBefore(\n 'inside',\n 'attr-name',\n {\n spread: {\n pattern: re(/<SPREAD>/.source),\n inside: Prism.languages.jsx\n }\n },\n Prism.languages.jsx.tag\n )\n Prism.languages.insertBefore(\n 'inside',\n 'special-attr',\n {\n script: {\n // Allow for two levels of nesting\n pattern: re(/=<BRACES>/.source),\n alias: 'language-javascript',\n inside: {\n 'script-punctuation': {\n pattern: /^=(?=\\{)/,\n alias: 'punctuation'\n },\n rest: Prism.languages.jsx\n }\n }\n },\n Prism.languages.jsx.tag\n ) // The following will handle plain text inside tags\n var stringifyToken = function (token) {\n if (!token) {\n return ''\n }\n if (typeof token === 'string') {\n return token\n }\n if (typeof token.content === 'string') {\n return token.content\n }\n return token.content.map(stringifyToken).join('')\n }\n var walkTokens = function (tokens) {\n var openedTags = []\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n var notTagNorBrace = false\n if (typeof token !== 'string') {\n if (\n token.type === 'tag' &&\n token.content[0] &&\n token.content[0].type === 'tag'\n ) {\n // We found a tag, now find its kind\n if (token.content[0].content[0].content === '</') {\n // Closing tag\n if (\n openedTags.length > 0 &&\n openedTags[openedTags.length - 1].tagName ===\n stringifyToken(token.content[0].content[1])\n ) {\n // Pop matching opening tag\n openedTags.pop()\n }\n } else {\n if (token.content[token.content.length - 1].content === '/>') {\n // Autoclosed tag, ignore\n } else {\n // Opening tag\n openedTags.push({\n tagName: stringifyToken(token.content[0].content[1]),\n openedBraces: 0\n })\n }\n }\n } else if (\n openedTags.length > 0 &&\n token.type === 'punctuation' &&\n token.content === '{'\n ) {\n // Here we might have entered a JSX context inside a tag\n openedTags[openedTags.length - 1].openedBraces++\n } else if (\n openedTags.length > 0 &&\n openedTags[openedTags.length - 1].openedBraces > 0 &&\n token.type === 'punctuation' &&\n token.content === '}'\n ) {\n // Here we might have left a JSX context inside a tag\n openedTags[openedTags.length - 1].openedBraces--\n } else {\n notTagNorBrace = true\n }\n }\n if (notTagNorBrace || typeof token === 'string') {\n if (\n openedTags.length > 0 &&\n openedTags[openedTags.length - 1].openedBraces === 0\n ) {\n // Here we are inside a tag, and not inside a JSX context.\n // That's plain text: drop any tokens matched.\n var plainText = stringifyToken(token) // And merge text with adjacent text\n if (\n i < tokens.length - 1 &&\n (typeof tokens[i + 1] === 'string' ||\n tokens[i + 1].type === 'plain-text')\n ) {\n plainText += stringifyToken(tokens[i + 1])\n tokens.splice(i + 1, 1)\n }\n if (\n i > 0 &&\n (typeof tokens[i - 1] === 'string' ||\n tokens[i - 1].type === 'plain-text')\n ) {\n plainText = stringifyToken(tokens[i - 1]) + plainText\n tokens.splice(i - 1, 1)\n i--\n }\n tokens[i] = new Prism.Token(\n 'plain-text',\n plainText,\n null,\n plainText\n )\n }\n }\n if (token.content && typeof token.content !== 'string') {\n walkTokens(token.content)\n }\n }\n }\n Prism.hooks.add('after-tokenize', function (env) {\n if (env.language !== 'jsx' && env.language !== 'tsx') {\n return\n }\n walkTokens(env.tokens)\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = julia\njulia.displayName = 'julia'\njulia.aliases = []\nfunction julia(Prism) {\n Prism.languages.julia = {\n comment: {\n // support one level of nested comments\n // https://github.com/JuliaLang/julia/pull/6128\n pattern:\n /(^|[^\\\\])(?:#=(?:[^#=]|=(?!#)|#(?!=)|#=(?:[^#=]|=(?!#)|#(?!=))*=#)*=#|#.*)/,\n lookbehind: true\n },\n regex: {\n // https://docs.julialang.org/en/v1/manual/strings/#Regular-Expressions-1\n pattern: /r\"(?:\\\\.|[^\"\\\\\\r\\n])*\"[imsx]{0,4}/,\n greedy: true\n },\n string: {\n // https://docs.julialang.org/en/v1/manual/strings/#String-Basics-1\n // https://docs.julialang.org/en/v1/manual/strings/#non-standard-string-literals-1\n // https://docs.julialang.org/en/v1/manual/running-external-programs/#Running-External-Programs-1\n pattern:\n /\"\"\"[\\s\\S]+?\"\"\"|(?:\\b\\w+)?\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|`(?:[^\\\\`\\r\\n]|\\\\.)*`/,\n greedy: true\n },\n char: {\n // https://docs.julialang.org/en/v1/manual/strings/#man-characters-1\n pattern: /(^|[^\\w'])'(?:\\\\[^\\r\\n][^'\\r\\n]*|[^\\\\\\r\\n])'/,\n lookbehind: true,\n greedy: true\n },\n keyword:\n /\\b(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|in|let|local|macro|module|print|println|quote|return|struct|try|type|typealias|using|while)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n number:\n /(?:\\b(?=\\d)|\\B(?=\\.))(?:0[box])?(?:[\\da-f]+(?:_[\\da-f]+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[efp][+-]?\\d+(?:_\\d+)*)?j?/i,\n // https://docs.julialang.org/en/v1/manual/mathematical-operations/\n // https://docs.julialang.org/en/v1/manual/mathematical-operations/#Operator-Precedence-and-Associativity-1\n operator:\n /&&|\\|\\||[-+*^%÷⊻&$\\\\]=?|\\/[\\/=]?|!=?=?|\\|[=>]?|<(?:<=?|[=:|])?|>(?:=|>>?=?)?|==?=?|[~≠≤≥'√∛]/,\n punctuation: /::?|[{}[\\]();,.?]/,\n // https://docs.julialang.org/en/v1/base/numbers/#Base.im\n constant: /\\b(?:(?:Inf|NaN)(?:16|32|64)?|im|pi)\\b|[πℯ]/\n }\n}\n","'use strict'\n\nmodule.exports = keepalived\nkeepalived.displayName = 'keepalived'\nkeepalived.aliases = []\nfunction keepalived(Prism) {\n Prism.languages.keepalived = {\n comment: {\n pattern: /[#!].*/,\n greedy: true\n },\n string: {\n pattern:\n /(^|[^\\\\])(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/,\n lookbehind: true,\n greedy: true\n },\n // support IPv4, IPv6, subnet mask\n ip: {\n pattern: RegExp(\n /\\b(?:(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){5}:(?:[\\da-f]{1,4}:)?[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){4}:(?:[\\da-f]{1,4}:){0,2}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){3}:(?:[\\da-f]{1,4}:){0,3}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){2}:(?:[\\da-f]{1,4}:){0,4}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){6}<ipv4>|(?:[\\da-f]{1,4}:){0,5}:<ipv4>|::(?:[\\da-f]{1,4}:){0,5}<ipv4>|[\\da-f]{1,4}::(?:[\\da-f]{1,4}:){0,5}[\\da-f]{1,4}|::(?:[\\da-f]{1,4}:){0,6}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:)(?:\\/\\d{1,3})?|<ipv4>(?:\\/\\d{1,2})?)\\b/.source.replace(\n /<ipv4>/g,\n function () {\n return /(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))/\n .source\n }\n ),\n 'i'\n ),\n alias: 'number'\n },\n // support *nix / Windows, directory / file\n path: {\n pattern:\n /(\\s)\\/(?:[^\\/\\s]+\\/)*[^\\/\\s]*|\\b[a-zA-Z]:\\\\(?:[^\\\\\\s]+\\\\)*[^\\\\\\s]*/,\n lookbehind: true,\n alias: 'string'\n },\n variable: /\\$\\{?\\w+\\}?/,\n email: {\n pattern: /[\\w-]+@[\\w-]+(?:\\.[\\w-]{2,3}){1,2}/,\n alias: 'string'\n },\n 'conditional-configuration': {\n pattern: /@\\^?[\\w-]+/,\n alias: 'variable'\n },\n operator: /=/,\n property:\n /\\b(?:BFD_CHECK|DNS_CHECK|FILE_CHECK|HTTP_GET|MISC_CHECK|NAME|PING_CHECK|SCRIPTS|SMTP_CHECK|SSL|SSL_GET|TCP_CHECK|UDP_CHECK|accept|advert_int|alpha|auth_pass|auth_type|authentication|bfd_cpu_affinity|bfd_instance|bfd_no_swap|bfd_priority|bfd_process_name|bfd_rlimit_rttime|bfd_rt_priority|bind_if|bind_port|bindto|ca|certificate|check_unicast_src|checker|checker_cpu_affinity|checker_log_all_failures|checker_no_swap|checker_priority|checker_rlimit_rttime|checker_rt_priority|child_wait_time|connect_ip|connect_port|connect_timeout|dbus_service_name|debug|default_interface|delay|delay_before_retry|delay_loop|digest|dont_track_primary|dynamic|dynamic_interfaces|enable_(?:dbus|script_security|sni|snmp_checker|snmp_rfc|snmp_rfcv2|snmp_rfcv3|snmp_vrrp|traps)|end|fall|fast_recovery|file|flag-[123]|fork_delay|full_command|fwmark|garp_group|garp_interval|garp_lower_prio_delay|garp_lower_prio_repeat|garp_master_delay|garp_master_refresh|garp_master_refresh_repeat|garp_master_repeat|global_defs|global_tracking|gna_interval|group|ha_suspend|hashed|helo_name|higher_prio_send_advert|hoplimit|http_protocol|hysteresis|idle_tx|include|inhibit_on_failure|init_fail|init_file|instance|interface|interfaces|interval|ip_family|ipvs_process_name|keepalived.conf|kernel_rx_buf_size|key|linkbeat_interfaces|linkbeat_use_polling|log_all_failures|log_unknown_vrids|lower_prio_no_advert|lthreshold|lvs_flush|lvs_flush_onstop|lvs_method|lvs_netlink_cmd_rcv_bufs|lvs_netlink_cmd_rcv_bufs_force|lvs_netlink_monitor_rcv_bufs|lvs_netlink_monitor_rcv_bufs_force|lvs_notify_fifo|lvs_notify_fifo_script|lvs_sched|lvs_sync_daemon|max_auto_priority|max_hops|mcast_src_ip|mh-fallback|mh-port|min_auto_priority_delay|min_rx|min_tx|misc_dynamic|misc_path|misc_timeout|multiplier|name|namespace_with_ipsets|native_ipv6|neighbor_ip|net_namespace|net_namespace_ipvs|nftables|nftables_counters|nftables_ifindex|nftables_priority|no_accept|no_checker_emails|no_email_faults|nopreempt|notification_email|notification_email_from|notify|notify_backup|notify_deleted|notify_down|notify_fault|notify_fifo|notify_fifo_script|notify_master|notify_master_rx_lower_pri|notify_priority_changes|notify_stop|notify_up|old_unicast_checksum|omega|ops|param_match|passive|password|path|persistence_engine|persistence_granularity|persistence_timeout|preempt|preempt_delay|priority|process|process_monitor_rcv_bufs|process_monitor_rcv_bufs_force|process_name|process_names|promote_secondaries|protocol|proxy_arp|proxy_arp_pvlan|quorum|quorum_down|quorum_max|quorum_up|random_seed|real_server|regex|regex_max_offset|regex_min_offset|regex_no_match|regex_options|regex_stack|reload_repeat|reload_time_file|require_reply|retry|rise|router_id|rs_init_notifies|script|script_user|sh-fallback|sh-port|shutdown_script|shutdown_script_timeout|skip_check_adv_addr|smtp_alert|smtp_alert_checker|smtp_alert_vrrp|smtp_connect_timeout|smtp_helo_name|smtp_server|snmp_socket|sorry_server|sorry_server_inhibit|sorry_server_lvs_method|source_ip|start|startup_script|startup_script_timeout|state|static_ipaddress|static_routes|static_rules|status_code|step|strict_mode|sync_group_tracking_weight|terminate_delay|timeout|track_bfd|track_file|track_group|track_interface|track_process|track_script|track_src_ip|ttl|type|umask|unicast_peer|unicast_src_ip|unicast_ttl|url|use_ipvlan|use_pid_dir|use_vmac|user|uthreshold|val[123]|version|virtual_ipaddress|virtual_ipaddress_excluded|virtual_router_id|virtual_routes|virtual_rules|virtual_server|virtual_server_group|virtualhost|vmac_xmit_base|vrrp|vrrp_(?:check_unicast_src|cpu_affinity|garp_interval|garp_lower_prio_delay|garp_lower_prio_repeat|garp_master_delay|garp_master_refresh|garp_master_refresh_repeat|garp_master_repeat|gna_interval|higher_prio_send_advert|instance|ipsets|iptables|lower_prio_no_advert|mcast_group4|mcast_group6|min_garp|netlink_cmd_rcv_bufs|netlink_cmd_rcv_bufs_force|netlink_monitor_rcv_bufs|netlink_monitor_rcv_bufs_force|no_swap|notify_fifo|notify_fifo_script|notify_priority_changes|priority|process_name|rlimit_rttime|rt_priority|rx_bufs_multiplier|rx_bufs_policy|script|skip_check_adv_addr|startup_delay|strict|sync_group|track_process|version)|warmup|weight)\\b/,\n constant:\n /\\b(?:A|AAAA|AH|BACKUP|CNAME|DR|MASTER|MX|NAT|NS|PASS|SCTP|SOA|TCP|TUN|TXT|UDP|dh|fo|lblc|lblcr|lc|mh|nq|ovf|rr|sed|sh|wlc|wrr)\\b/,\n number: {\n pattern: /(^|[^\\w.-])-?\\d+(?:\\.\\d+)?/,\n lookbehind: true\n },\n boolean: /\\b(?:false|no|off|on|true|yes)\\b/,\n punctuation: /[\\{\\}]/\n }\n}\n","'use strict'\n\nmodule.exports = keyman\nkeyman.displayName = 'keyman'\nkeyman.aliases = []\nfunction keyman(Prism) {\n Prism.languages.keyman = {\n comment: {\n pattern: /\\bc .*/i,\n greedy: true\n },\n string: {\n pattern: /\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'/,\n greedy: true\n },\n 'virtual-key': {\n pattern:\n /\\[\\s*(?:(?:ALT|CAPS|CTRL|LALT|LCTRL|NCAPS|RALT|RCTRL|SHIFT)\\s+)*(?:[TKU]_[\\w?]+|[A-E]\\d\\d?|\"[^\"\\r\\n]*\"|'[^'\\r\\n]*')\\s*\\]/i,\n greedy: true,\n alias: 'function' // alias for styles\n },\n // https://help.keyman.com/developer/language/guide/headers\n 'header-keyword': {\n pattern: /&\\w+/,\n alias: 'bold' // alias for styles\n },\n 'header-statement': {\n pattern:\n /\\b(?:bitmap|bitmaps|caps always off|caps on only|copyright|hotkey|language|layout|message|name|shift frees caps|version)\\b/i,\n alias: 'bold' // alias for styles\n },\n 'rule-keyword': {\n pattern:\n /\\b(?:any|baselayout|beep|call|context|deadkey|dk|if|index|layer|notany|nul|outs|platform|reset|return|save|set|store|use)\\b/i,\n alias: 'keyword'\n },\n 'structural-keyword': {\n pattern: /\\b(?:ansi|begin|group|match|nomatch|unicode|using keys)\\b/i,\n alias: 'keyword'\n },\n 'compile-target': {\n pattern: /\\$(?:keyman|keymanonly|keymanweb|kmfl|weaver):/i,\n alias: 'property'\n },\n // U+####, x###, d### characters and numbers\n number: /\\b(?:U\\+[\\dA-F]+|d\\d+|x[\\da-f]+|\\d+)\\b/i,\n operator: /[+>\\\\$]|\\.\\./,\n punctuation: /[()=,]/\n }\n}\n","'use strict'\n\nmodule.exports = kotlin\nkotlin.displayName = 'kotlin'\nkotlin.aliases = ['kt', 'kts']\nfunction kotlin(Prism) {\n ;(function (Prism) {\n Prism.languages.kotlin = Prism.languages.extend('clike', {\n keyword: {\n // The lookbehind prevents wrong highlighting of e.g. kotlin.properties.get\n pattern:\n /(^|[^.])\\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\\b/,\n lookbehind: true\n },\n function: [\n {\n pattern: /(?:`[^\\r\\n`]+`|\\b\\w+)(?=\\s*\\()/,\n greedy: true\n },\n {\n pattern: /(\\.)(?:`[^\\r\\n`]+`|\\w+)(?=\\s*\\{)/,\n lookbehind: true,\n greedy: true\n }\n ],\n number:\n /\\b(?:0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?[fFL]?)\\b/,\n operator:\n /\\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\\/*%<>]=?|[?:]:?|\\.\\.|&&|\\|\\||\\b(?:and|inv|or|shl|shr|ushr|xor)\\b/\n })\n delete Prism.languages.kotlin['class-name']\n var interpolationInside = {\n 'interpolation-punctuation': {\n pattern: /^\\$\\{?|\\}$/,\n alias: 'punctuation'\n },\n expression: {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.kotlin\n }\n }\n Prism.languages.insertBefore('kotlin', 'string', {\n // https://kotlinlang.org/spec/expressions.html#string-interpolation-expressions\n 'string-literal': [\n {\n pattern: /\"\"\"(?:[^$]|\\$(?:(?!\\{)|\\{[^{}]*\\}))*?\"\"\"/,\n alias: 'multiline',\n inside: {\n interpolation: {\n pattern: /\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i,\n inside: interpolationInside\n },\n string: /[\\s\\S]+/\n }\n },\n {\n pattern: /\"(?:[^\"\\\\\\r\\n$]|\\\\.|\\$(?:(?!\\{)|\\{[^{}]*\\}))*\"/,\n alias: 'singleline',\n inside: {\n interpolation: {\n pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i,\n lookbehind: true,\n inside: interpolationInside\n },\n string: /[\\s\\S]+/\n }\n }\n ],\n char: {\n // https://kotlinlang.org/spec/expressions.html#character-literals\n pattern: /'(?:[^'\\\\\\r\\n]|\\\\(?:.|u[a-fA-F0-9]{0,4}))'/,\n greedy: true\n }\n })\n delete Prism.languages.kotlin['string']\n Prism.languages.insertBefore('kotlin', 'keyword', {\n annotation: {\n pattern: /\\B@(?:\\w+:)?(?:[A-Z]\\w*|\\[[^\\]]+\\])/,\n alias: 'builtin'\n }\n })\n Prism.languages.insertBefore('kotlin', 'function', {\n label: {\n pattern: /\\b\\w+@|@\\w+\\b/,\n alias: 'symbol'\n }\n })\n Prism.languages.kt = Prism.languages.kotlin\n Prism.languages.kts = Prism.languages.kotlin\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = kumir\nkumir.displayName = 'kumir'\nkumir.aliases = ['kum']\nfunction kumir(Prism) {\n /* eslint-disable regexp/no-dupe-characters-character-class */\n ;(function (Prism) {\n /**\n * Regular expression for characters that are not allowed in identifiers.\n *\n * @type {string}\n */\n var nonId = /\\s\\x00-\\x1f\\x22-\\x2f\\x3a-\\x3f\\x5b-\\x5e\\x60\\x7b-\\x7e/.source\n /**\n * Surround a regular expression for IDs with patterns for non-ID sequences.\n *\n * @param {string} pattern A regular expression for identifiers.\n * @param {string} [flags] The regular expression flags.\n * @returns {RegExp} A wrapped regular expression for identifiers.\n */\n function wrapId(pattern, flags) {\n return RegExp(pattern.replace(/<nonId>/g, nonId), flags)\n }\n Prism.languages.kumir = {\n comment: {\n pattern: /\\|.*/\n },\n prolog: {\n pattern: /#.*/,\n greedy: true\n },\n string: {\n pattern: /\"[^\\n\\r\"]*\"|'[^\\n\\r']*'/,\n greedy: true\n },\n boolean: {\n pattern: wrapId(/(^|[<nonId>])(?:да|нет)(?=[<nonId>]|$)/.source),\n lookbehind: true\n },\n 'operator-word': {\n pattern: wrapId(/(^|[<nonId>])(?:и|или|не)(?=[<nonId>]|$)/.source),\n lookbehind: true,\n alias: 'keyword'\n },\n 'system-variable': {\n pattern: wrapId(/(^|[<nonId>])знач(?=[<nonId>]|$)/.source),\n lookbehind: true,\n alias: 'keyword'\n },\n type: [\n {\n pattern: wrapId(\n /(^|[<nonId>])(?:вещ|лит|лог|сим|цел)(?:\\x20*таб)?(?=[<nonId>]|$)/\n .source\n ),\n lookbehind: true,\n alias: 'builtin'\n },\n {\n pattern: wrapId(\n /(^|[<nonId>])(?:компл|сканкод|файл|цвет)(?=[<nonId>]|$)/.source\n ),\n lookbehind: true,\n alias: 'important'\n }\n ],\n /**\n * Should be performed after searching for type names because of \"таб\".\n * \"таб\" is a reserved word, but never used without a preceding type name.\n * \"НАЗНАЧИТЬ\", \"Фввод\", and \"Фвывод\" are not reserved words.\n */\n keyword: {\n pattern: wrapId(\n /(^|[<nonId>])(?:алг|арг(?:\\x20*рез)?|ввод|ВКЛЮЧИТЬ|вс[её]|выбор|вывод|выход|дано|для|до|дс|если|иначе|исп|использовать|кон(?:(?:\\x20+|_)исп)?|кц(?:(?:\\x20+|_)при)?|надо|нач|нс|нц|от|пауза|пока|при|раза?|рез|стоп|таб|то|утв|шаг)(?=[<nonId>]|$)/\n .source\n ),\n lookbehind: true\n },\n /** Should be performed after searching for reserved words. */\n name: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: wrapId(\n /(^|[<nonId>])[^\\d<nonId>][^<nonId>]*(?:\\x20+[^<nonId>]+)*(?=[<nonId>]|$)/\n .source\n ),\n lookbehind: true\n },\n /** Should be performed after searching for names. */\n number: {\n pattern: wrapId(\n /(^|[<nonId>])(?:\\B\\$[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)(?=[<nonId>]|$)/\n .source,\n 'i'\n ),\n lookbehind: true\n },\n /** Should be performed after searching for words. */\n punctuation: /:=|[(),:;\\[\\]]/,\n /**\n * Should be performed after searching for\n * - numeric constants (because of \"+\" and \"-\");\n * - punctuation marks (because of \":=\" and \"=\").\n */\n 'operator-char': {\n pattern: /\\*\\*?|<[=>]?|>=?|[-+/=]/,\n alias: 'operator'\n }\n }\n Prism.languages.kum = Prism.languages.kumir\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = kusto\nkusto.displayName = 'kusto'\nkusto.aliases = []\nfunction kusto(Prism) {\n Prism.languages.kusto = {\n comment: {\n pattern: /\\/\\/.*/,\n greedy: true\n },\n string: {\n pattern:\n /```[\\s\\S]*?```|[hH]?(?:\"(?:[^\\r\\n\\\\\"]|\\\\.)*\"|'(?:[^\\r\\n\\\\']|\\\\.)*'|@(?:\"[^\\r\\n\"]*\"|'[^\\r\\n']*'))/,\n greedy: true\n },\n verb: {\n pattern: /(\\|\\s*)[a-z][\\w-]*/i,\n lookbehind: true,\n alias: 'keyword'\n },\n command: {\n pattern: /\\.[a-z][a-z\\d-]*\\b/,\n alias: 'keyword'\n },\n 'class-name':\n /\\b(?:bool|datetime|decimal|dynamic|guid|int|long|real|string|timespan)\\b/,\n keyword:\n /\\b(?:access|alias|and|anti|as|asc|auto|between|by|(?:contains|(?:ends|starts)with|has(?:perfix|suffix)?)(?:_cs)?|database|declare|desc|external|from|fullouter|has_all|in|ingestion|inline|inner|innerunique|into|(?:left|right)(?:anti(?:semi)?|inner|outer|semi)?|let|like|local|not|of|on|or|pattern|print|query_parameters|range|restrict|schema|set|step|table|tables|to|view|where|with|matches\\s+regex|nulls\\s+(?:first|last))(?![\\w-])/,\n boolean: /\\b(?:false|null|true)\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/,\n datetime: [\n {\n // RFC 822 + RFC 850\n pattern:\n /\\b(?:(?:Fri|Friday|Mon|Monday|Sat|Saturday|Sun|Sunday|Thu|Thursday|Tue|Tuesday|Wed|Wednesday)\\s*,\\s*)?\\d{1,2}(?:\\s+|-)(?:Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)(?:\\s+|-)\\d{2}\\s+\\d{2}:\\d{2}(?::\\d{2})?(?:\\s*(?:\\b(?:[A-Z]|(?:[ECMT][DS]|GM|U)T)|[+-]\\d{4}))?\\b/,\n alias: 'number'\n },\n {\n // ISO 8601\n pattern:\n /[+-]?\\b(?:\\d{4}-\\d{2}-\\d{2}(?:[ T]\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d+)?)?)?|\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d+)?)?)Z?/,\n alias: 'number'\n }\n ],\n number:\n /\\b(?:0x[0-9A-Fa-f]+|\\d+(?:\\.\\d+)?(?:[Ee][+-]?\\d+)?)(?:(?:min|sec|[mnµ]s|[dhms]|microsecond|tick)\\b)?|[+-]?\\binf\\b/,\n operator: /=>|[!=]~|[!=<>]=?|[-+*/%|]|\\.\\./,\n punctuation: /[()\\[\\]{},;.:]/\n }\n}\n","'use strict'\n\nmodule.exports = latex\nlatex.displayName = 'latex'\nlatex.aliases = ['tex', 'context']\nfunction latex(Prism) {\n ;(function (Prism) {\n var funcPattern = /\\\\(?:[^a-z()[\\]]|[a-z*]+)/i\n var insideEqu = {\n 'equation-command': {\n pattern: funcPattern,\n alias: 'regex'\n }\n }\n Prism.languages.latex = {\n comment: /%.*/,\n // the verbatim environment prints whitespace to the document\n cdata: {\n pattern:\n /(\\\\begin\\{((?:lstlisting|verbatim)\\*?)\\})[\\s\\S]*?(?=\\\\end\\{\\2\\})/,\n lookbehind: true\n },\n /*\n * equations can be between $$ $$ or $ $ or \\( \\) or \\[ \\]\n * (all are multiline)\n */\n equation: [\n {\n pattern:\n /\\$\\$(?:\\\\[\\s\\S]|[^\\\\$])+\\$\\$|\\$(?:\\\\[\\s\\S]|[^\\\\$])+\\$|\\\\\\([\\s\\S]*?\\\\\\)|\\\\\\[[\\s\\S]*?\\\\\\]/,\n inside: insideEqu,\n alias: 'string'\n },\n {\n pattern:\n /(\\\\begin\\{((?:align|eqnarray|equation|gather|math|multline)\\*?)\\})[\\s\\S]*?(?=\\\\end\\{\\2\\})/,\n lookbehind: true,\n inside: insideEqu,\n alias: 'string'\n }\n ],\n /*\n * arguments which are keywords or references are highlighted\n * as keywords\n */\n keyword: {\n pattern:\n /(\\\\(?:begin|cite|documentclass|end|label|ref|usepackage)(?:\\[[^\\]]+\\])?\\{)[^}]+(?=\\})/,\n lookbehind: true\n },\n url: {\n pattern: /(\\\\url\\{)[^}]+(?=\\})/,\n lookbehind: true\n },\n /*\n * section or chapter headlines are highlighted as bold so that\n * they stand out more\n */\n headline: {\n pattern:\n /(\\\\(?:chapter|frametitle|paragraph|part|section|subparagraph|subsection|subsubparagraph|subsubsection|subsubsubparagraph)\\*?(?:\\[[^\\]]+\\])?\\{)[^}]+(?=\\})/,\n lookbehind: true,\n alias: 'class-name'\n },\n function: {\n pattern: funcPattern,\n alias: 'selector'\n },\n punctuation: /[[\\]{}&]/\n }\n Prism.languages.tex = Prism.languages.latex\n Prism.languages.context = Prism.languages.latex\n })(Prism)\n}\n","'use strict'\nvar refractorMarkupTemplating = require('./markup-templating.js')\nvar refractorPhp = require('./php.js')\nmodule.exports = latte\nlatte.displayName = 'latte'\nlatte.aliases = []\nfunction latte(Prism) {\n Prism.register(refractorMarkupTemplating)\n Prism.register(refractorPhp)\n ;(function (Prism) {\n Prism.languages.latte = {\n comment: /^\\{\\*[\\s\\S]*/,\n 'latte-tag': {\n // https://latte.nette.org/en/tags\n pattern: /(^\\{(?:\\/(?=[a-z]))?)(?:[=_]|[a-z]\\w*\\b(?!\\())/i,\n lookbehind: true,\n alias: 'important'\n },\n delimiter: {\n pattern: /^\\{\\/?|\\}$/,\n alias: 'punctuation'\n },\n php: {\n pattern: /\\S(?:[\\s\\S]*\\S)?/,\n alias: 'language-php',\n inside: Prism.languages.php\n }\n }\n var markupLatte = Prism.languages.extend('markup', {})\n Prism.languages.insertBefore(\n 'inside',\n 'attr-value',\n {\n 'n-attr': {\n pattern: /n:[\\w-]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+))?/,\n inside: {\n 'attr-name': {\n pattern: /^[^\\s=]+/,\n alias: 'important'\n },\n 'attr-value': {\n pattern: /=[\\s\\S]+/,\n inside: {\n punctuation: [\n /^=/,\n {\n pattern: /^(\\s*)[\"']|[\"']$/,\n lookbehind: true\n }\n ],\n php: {\n pattern: /\\S(?:[\\s\\S]*\\S)?/,\n inside: Prism.languages.php\n }\n }\n }\n }\n }\n },\n markupLatte.tag\n )\n Prism.hooks.add('before-tokenize', function (env) {\n if (env.language !== 'latte') {\n return\n }\n var lattePattern =\n /\\{\\*[\\s\\S]*?\\*\\}|\\{[^'\"\\s{}*](?:[^\"'/{}]|\\/(?![*/])|(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\}/g\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'latte',\n lattePattern\n )\n env.grammar = markupLatte\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'latte')\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = less\nless.displayName = 'less'\nless.aliases = []\nfunction less(Prism) {\n /* FIXME :\n:extend() is not handled specifically : its highlighting is buggy.\nMixin usage must be inside a ruleset to be highlighted.\nAt-rules (e.g. import) containing interpolations are buggy.\nDetached rulesets are highlighted as at-rules.\nA comment before a mixin usage prevents the latter to be properly highlighted.\n*/\n Prism.languages.less = Prism.languages.extend('css', {\n comment: [\n /\\/\\*[\\s\\S]*?\\*\\//,\n {\n pattern: /(^|[^\\\\])\\/\\/.*/,\n lookbehind: true\n }\n ],\n atrule: {\n pattern:\n /@[\\w-](?:\\((?:[^(){}]|\\([^(){}]*\\))*\\)|[^(){};\\s]|\\s+(?!\\s))*?(?=\\s*\\{)/,\n inside: {\n punctuation: /[:()]/\n }\n },\n // selectors and mixins are considered the same\n selector: {\n pattern:\n /(?:@\\{[\\w-]+\\}|[^{};\\s@])(?:@\\{[\\w-]+\\}|\\((?:[^(){}]|\\([^(){}]*\\))*\\)|[^(){};@\\s]|\\s+(?!\\s))*?(?=\\s*\\{)/,\n inside: {\n // mixin parameters\n variable: /@+[\\w-]+/\n }\n },\n property: /(?:@\\{[\\w-]+\\}|[\\w-])+(?:\\+_?)?(?=\\s*:)/,\n operator: /[+\\-*\\/]/\n })\n Prism.languages.insertBefore('less', 'property', {\n variable: [\n // Variable declaration (the colon must be consumed!)\n {\n pattern: /@[\\w-]+\\s*:/,\n inside: {\n punctuation: /:/\n }\n }, // Variable usage\n /@@?[\\w-]+/\n ],\n 'mixin-usage': {\n pattern: /([{;]\\s*)[.#](?!\\d)[\\w-].*?(?=[(;])/,\n lookbehind: true,\n alias: 'function'\n }\n })\n}\n","'use strict'\nvar refractorScheme = require('./scheme.js')\nmodule.exports = lilypond\nlilypond.displayName = 'lilypond'\nlilypond.aliases = []\nfunction lilypond(Prism) {\n Prism.register(refractorScheme)\n ;(function (Prism) {\n var schemeExpression =\n /\\((?:[^();\"#\\\\]|\\\\[\\s\\S]|;.*(?!.)|\"(?:[^\"\\\\]|\\\\.)*\"|#(?:\\{(?:(?!#\\})[\\s\\S])*#\\}|[^{])|<expr>)*\\)/\n .source // allow for up to pow(2, recursivenessLog2) many levels of recursive brace expressions\n // For some reason, this can't be 4\n var recursivenessLog2 = 5\n for (var i = 0; i < recursivenessLog2; i++) {\n schemeExpression = schemeExpression.replace(/<expr>/g, function () {\n return schemeExpression\n })\n }\n schemeExpression = schemeExpression.replace(/<expr>/g, /[^\\s\\S]/.source)\n var lilypond = (Prism.languages.lilypond = {\n comment: /%(?:(?!\\{).*|\\{[\\s\\S]*?%\\})/,\n 'embedded-scheme': {\n pattern: RegExp(\n /(^|[=\\s])#(?:\"(?:[^\"\\\\]|\\\\.)*\"|[^\\s()\"]*(?:[^\\s()]|<expr>))/.source.replace(\n /<expr>/g,\n function () {\n return schemeExpression\n }\n ),\n 'm'\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n scheme: {\n pattern: /^(#)[\\s\\S]+$/,\n lookbehind: true,\n alias: 'language-scheme',\n inside: {\n 'embedded-lilypond': {\n pattern: /#\\{[\\s\\S]*?#\\}/,\n greedy: true,\n inside: {\n punctuation: /^#\\{|#\\}$/,\n lilypond: {\n pattern: /[\\s\\S]+/,\n alias: 'language-lilypond',\n inside: null // see below\n }\n }\n },\n rest: Prism.languages.scheme\n }\n },\n punctuation: /#/\n }\n },\n string: {\n pattern: /\"(?:[^\"\\\\]|\\\\.)*\"/,\n greedy: true\n },\n 'class-name': {\n pattern: /(\\\\new\\s+)[\\w-]+/,\n lookbehind: true\n },\n keyword: {\n pattern: /\\\\[a-z][-\\w]*/i,\n inside: {\n punctuation: /^\\\\/\n }\n },\n operator: /[=|]|<<|>>/,\n punctuation: {\n pattern:\n /(^|[a-z\\d])(?:'+|,+|[_^]?-[_^]?(?:[-+^!>._]|(?=\\d))|[_^]\\.?|[.!])|[{}()[\\]<>^~]|\\\\[()[\\]<>\\\\!]|--|__/,\n lookbehind: true\n },\n number: /\\b\\d+(?:\\/\\d+)?\\b/\n })\n lilypond['embedded-scheme'].inside['scheme'].inside[\n 'embedded-lilypond'\n ].inside['lilypond'].inside = lilypond\n Prism.languages.ly = lilypond\n })(Prism)\n}\n","'use strict'\nvar refractorMarkupTemplating = require('./markup-templating.js')\nmodule.exports = liquid\nliquid.displayName = 'liquid'\nliquid.aliases = []\nfunction liquid(Prism) {\n Prism.register(refractorMarkupTemplating)\n Prism.languages.liquid = {\n comment: {\n pattern: /(^\\{%\\s*comment\\s*%\\})[\\s\\S]+(?=\\{%\\s*endcomment\\s*%\\}$)/,\n lookbehind: true\n },\n delimiter: {\n pattern: /^\\{(?:\\{\\{|[%\\{])-?|-?(?:\\}\\}|[%\\}])\\}$/,\n alias: 'punctuation'\n },\n string: {\n pattern: /\"[^\"]*\"|'[^']*'/,\n greedy: true\n },\n keyword:\n /\\b(?:as|assign|break|(?:end)?(?:capture|case|comment|for|form|if|paginate|raw|style|tablerow|unless)|continue|cycle|decrement|echo|else|elsif|in|include|increment|limit|liquid|offset|range|render|reversed|section|when|with)\\b/,\n object:\n /\\b(?:address|all_country_option_tags|article|block|blog|cart|checkout|collection|color|country|country_option_tags|currency|current_page|current_tags|customer|customer_address|date|discount_allocation|discount_application|external_video|filter|filter_value|font|forloop|fulfillment|generic_file|gift_card|group|handle|image|line_item|link|linklist|localization|location|measurement|media|metafield|model|model_source|order|page|page_description|page_image|page_title|part|policy|product|product_option|recommendations|request|robots|routes|rule|script|search|selling_plan|selling_plan_allocation|selling_plan_group|shipping_method|shop|shop_locale|sitemap|store_availability|tax_line|template|theme|transaction|unit_price_measurement|user_agent|variant|video|video_source)\\b/,\n function: [\n {\n pattern: /(\\|\\s*)\\w+/,\n lookbehind: true,\n alias: 'filter'\n },\n {\n // array functions\n pattern: /(\\.\\s*)(?:first|last|size)/,\n lookbehind: true\n }\n ],\n boolean: /\\b(?:false|nil|true)\\b/,\n range: {\n pattern: /\\.\\./,\n alias: 'operator'\n },\n // https://github.com/Shopify/liquid/blob/698f5e0d967423e013f6169d9111bd969bd78337/lib/liquid/lexer.rb#L21\n number: /\\b\\d+(?:\\.\\d+)?\\b/,\n operator: /[!=]=|<>|[<>]=?|[|?:=-]|\\b(?:and|contains(?=\\s)|or)\\b/,\n punctuation: /[.,\\[\\]()]/,\n empty: {\n pattern: /\\bempty\\b/,\n alias: 'keyword'\n }\n }\n Prism.hooks.add('before-tokenize', function (env) {\n var liquidPattern =\n /\\{%\\s*comment\\s*%\\}[\\s\\S]*?\\{%\\s*endcomment\\s*%\\}|\\{(?:%[\\s\\S]*?%|\\{\\{[\\s\\S]*?\\}\\}|\\{[\\s\\S]*?\\})\\}/g\n var insideRaw = false\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'liquid',\n liquidPattern,\n function (match) {\n var tagMatch = /^\\{%-?\\s*(\\w+)/.exec(match)\n if (tagMatch) {\n var tag = tagMatch[1]\n if (tag === 'raw' && !insideRaw) {\n insideRaw = true\n return true\n } else if (tag === 'endraw') {\n insideRaw = false\n return true\n }\n }\n return !insideRaw\n }\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'liquid')\n })\n}\n","'use strict'\n\nmodule.exports = lisp\nlisp.displayName = 'lisp'\nlisp.aliases = []\nfunction lisp(Prism) {\n ;(function (Prism) {\n /**\n * Functions to construct regular expressions\n * e.g. (interactive ... or (interactive)\n *\n * @param {string} name\n * @returns {RegExp}\n */\n function simple_form(name) {\n return RegExp(/(\\()/.source + '(?:' + name + ')' + /(?=[\\s\\)])/.source)\n }\n /**\n * booleans and numbers\n *\n * @param {string} pattern\n * @returns {RegExp}\n */\n function primitive(pattern) {\n return RegExp(\n /([\\s([])/.source + '(?:' + pattern + ')' + /(?=[\\s)])/.source\n )\n } // Patterns in regular expressions\n // Symbol name. See https://www.gnu.org/software/emacs/manual/html_node/elisp/Symbol-Type.html\n // & and : are excluded as they are usually used for special purposes\n var symbol = /(?!\\d)[-+*/~!@$%^=<>{}\\w]+/.source // symbol starting with & used in function arguments\n var marker = '&' + symbol // Open parenthesis for look-behind\n var par = '(\\\\()'\n var endpar = '(?=\\\\))' // End the pattern with look-ahead space\n var space = '(?=\\\\s)'\n var nestedPar =\n /(?:[^()]|\\((?:[^()]|\\((?:[^()]|\\((?:[^()]|\\((?:[^()]|\\([^()]*\\))*\\))*\\))*\\))*\\))*/\n .source\n var language = {\n // Three or four semicolons are considered a heading.\n // See https://www.gnu.org/software/emacs/manual/html_node/elisp/Comment-Tips.html\n heading: {\n pattern: /;;;.*/,\n alias: ['comment', 'title']\n },\n comment: /;.*/,\n string: {\n pattern: /\"(?:[^\"\\\\]|\\\\.)*\"/,\n greedy: true,\n inside: {\n argument: /[-A-Z]+(?=[.,\\s])/,\n symbol: RegExp('`' + symbol + \"'\")\n }\n },\n 'quoted-symbol': {\n pattern: RegExp(\"#?'\" + symbol),\n alias: ['variable', 'symbol']\n },\n 'lisp-property': {\n pattern: RegExp(':' + symbol),\n alias: 'property'\n },\n splice: {\n pattern: RegExp(',@?' + symbol),\n alias: ['symbol', 'variable']\n },\n keyword: [\n {\n pattern: RegExp(\n par +\n '(?:and|(?:cl-)?letf|cl-loop|cond|cons|error|if|(?:lexical-)?let\\\\*?|message|not|null|or|provide|require|setq|unless|use-package|when|while)' +\n space\n ),\n lookbehind: true\n },\n {\n pattern: RegExp(\n par +\n '(?:append|by|collect|concat|do|finally|for|in|return)' +\n space\n ),\n lookbehind: true\n }\n ],\n declare: {\n pattern: simple_form(/declare/.source),\n lookbehind: true,\n alias: 'keyword'\n },\n interactive: {\n pattern: simple_form(/interactive/.source),\n lookbehind: true,\n alias: 'keyword'\n },\n boolean: {\n pattern: primitive(/nil|t/.source),\n lookbehind: true\n },\n number: {\n pattern: primitive(/[-+]?\\d+(?:\\.\\d*)?/.source),\n lookbehind: true\n },\n defvar: {\n pattern: RegExp(par + 'def(?:const|custom|group|var)\\\\s+' + symbol),\n lookbehind: true,\n inside: {\n keyword: /^def[a-z]+/,\n variable: RegExp(symbol)\n }\n },\n defun: {\n pattern: RegExp(\n par +\n /(?:cl-)?(?:defmacro|defun\\*?)\\s+/.source +\n symbol +\n /\\s+\\(/.source +\n nestedPar +\n /\\)/.source\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n keyword: /^(?:cl-)?def\\S+/,\n // See below, this property needs to be defined later so that it can\n // reference the language object.\n arguments: null,\n function: {\n pattern: RegExp('(^\\\\s)' + symbol),\n lookbehind: true\n },\n punctuation: /[()]/\n }\n },\n lambda: {\n pattern: RegExp(\n par +\n 'lambda\\\\s+\\\\(\\\\s*(?:&?' +\n symbol +\n '(?:\\\\s+&?' +\n symbol +\n ')*\\\\s*)?\\\\)'\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n keyword: /^lambda/,\n // See below, this property needs to be defined later so that it can\n // reference the language object.\n arguments: null,\n punctuation: /[()]/\n }\n },\n car: {\n pattern: RegExp(par + symbol),\n lookbehind: true\n },\n punctuation: [\n // open paren, brackets, and close paren\n /(?:['`,]?\\(|[)\\[\\]])/, // cons\n {\n pattern: /(\\s)\\.(?=\\s)/,\n lookbehind: true\n }\n ]\n }\n var arg = {\n 'lisp-marker': RegExp(marker),\n varform: {\n pattern: RegExp(\n /\\(/.source + symbol + /\\s+(?=\\S)/.source + nestedPar + /\\)/.source\n ),\n inside: language\n },\n argument: {\n pattern: RegExp(/(^|[\\s(])/.source + symbol),\n lookbehind: true,\n alias: 'variable'\n },\n rest: language\n }\n var forms = '\\\\S+(?:\\\\s+\\\\S+)*'\n var arglist = {\n pattern: RegExp(par + nestedPar + endpar),\n lookbehind: true,\n inside: {\n 'rest-vars': {\n pattern: RegExp('&(?:body|rest)\\\\s+' + forms),\n inside: arg\n },\n 'other-marker-vars': {\n pattern: RegExp('&(?:aux|optional)\\\\s+' + forms),\n inside: arg\n },\n keys: {\n pattern: RegExp('&key\\\\s+' + forms + '(?:\\\\s+&allow-other-keys)?'),\n inside: arg\n },\n argument: {\n pattern: RegExp(symbol),\n alias: 'variable'\n },\n punctuation: /[()]/\n }\n }\n language['lambda'].inside.arguments = arglist\n language['defun'].inside.arguments = Prism.util.clone(arglist)\n language['defun'].inside.arguments.inside.sublist = arglist\n Prism.languages.lisp = language\n Prism.languages.elisp = language\n Prism.languages.emacs = language\n Prism.languages['emacs-lisp'] = language\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = livescript\nlivescript.displayName = 'livescript'\nlivescript.aliases = []\nfunction livescript(Prism) {\n Prism.languages.livescript = {\n comment: [\n {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n lookbehind: true\n },\n {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: true\n }\n ],\n 'interpolated-string': {\n /* Look-behind and look-ahead prevents wrong behavior of the greedy pattern\n * forcing it to match \"\"\"-quoted string when it would otherwise match \"-quoted first. */\n pattern: /(^|[^\"])(\"\"\"|\")(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2(?!\")/,\n lookbehind: true,\n greedy: true,\n inside: {\n variable: {\n pattern: /(^|[^\\\\])#[a-z_](?:-?[a-z]|[\\d_])*/m,\n lookbehind: true\n },\n interpolation: {\n pattern: /(^|[^\\\\])#\\{[^}]+\\}/m,\n lookbehind: true,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^#\\{|\\}$/,\n alias: 'variable'\n } // See rest below\n }\n },\n string: /[\\s\\S]+/\n }\n },\n string: [\n {\n pattern: /('''|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n greedy: true\n },\n {\n pattern: /<\\[[\\s\\S]*?\\]>/,\n greedy: true\n },\n /\\\\[^\\s,;\\])}]+/\n ],\n regex: [\n {\n pattern: /\\/\\/(?:\\[[^\\r\\n\\]]*\\]|\\\\.|(?!\\/\\/)[^\\\\\\[])+\\/\\/[gimyu]{0,5}/,\n greedy: true,\n inside: {\n comment: {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: true\n }\n }\n },\n {\n pattern: /\\/(?:\\[[^\\r\\n\\]]*\\]|\\\\.|[^/\\\\\\r\\n\\[])+\\/[gimyu]{0,5}/,\n greedy: true\n }\n ],\n keyword: {\n pattern:\n /(^|(?!-).)\\b(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)\\b/m,\n lookbehind: true\n },\n 'keyword-operator': {\n pattern:\n /(^|[^-])\\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?: not|nt)?|not|of|or|til|to|typeof|with|xor)(?!-)\\b)/m,\n lookbehind: true,\n alias: 'operator'\n },\n boolean: {\n pattern: /(^|[^-])\\b(?:false|no|off|on|true|yes)(?!-)\\b/m,\n lookbehind: true\n },\n argument: {\n // Don't match .&. nor &&\n pattern: /(^|(?!\\.&\\.)[^&])&(?!&)\\d*/m,\n lookbehind: true,\n alias: 'variable'\n },\n number: /\\b(?:\\d+~[\\da-z]+|\\d[\\d_]*(?:\\.\\d[\\d_]*)?(?:[a-z]\\w*)?)/i,\n identifier: /[a-z_](?:-?[a-z]|[\\d_])*/i,\n operator: [\n // Spaced .\n {\n pattern: /( )\\.(?= )/,\n lookbehind: true\n }, // Full list, in order:\n // .= .~ .. ...\n // .&. .^. .<<. .>>. .>>>.\n // := :: ::=\n // &&\n // || |>\n // < << <<< <<<<\n // <- <-- <-! <--!\n // <~ <~~ <~! <~~!\n // <| <= <?\n // > >> >= >?\n // - -- -> -->\n // + ++\n // @ @@\n // % %%\n // * **\n // ! != !~=\n // !~> !~~>\n // !-> !-->\n // ~ ~> ~~> ~=\n // = ==\n // ^ ^^\n // / ?\n /\\.(?:[=~]|\\.\\.?)|\\.(?:[&|^]|<<|>>>?)\\.|:(?:=|:=?)|&&|\\|[|>]|<(?:<<?<?|--?!?|~~?!?|[|=?])?|>[>=?]?|-(?:->?|>)?|\\+\\+?|@@?|%%?|\\*\\*?|!(?:~?=|--?>|~?~>)?|~(?:~?>|=)?|==?|\\^\\^?|[\\/?]/\n ],\n punctuation: /[(){}\\[\\]|.,:;`]/\n }\n Prism.languages.livescript['interpolated-string'].inside[\n 'interpolation'\n ].inside.rest = Prism.languages.livescript\n}\n","'use strict'\n\nmodule.exports = llvm\nllvm.displayName = 'llvm'\nllvm.aliases = []\nfunction llvm(Prism) {\n ;(function (Prism) {\n Prism.languages.llvm = {\n comment: /;.*/,\n string: {\n pattern: /\"[^\"]*\"/,\n greedy: true\n },\n boolean: /\\b(?:false|true)\\b/,\n variable: /[%@!#](?:(?!\\d)(?:[-$.\\w]|\\\\[a-f\\d]{2})+|\\d+)/i,\n label: /(?!\\d)(?:[-$.\\w]|\\\\[a-f\\d]{2})+:/i,\n type: {\n pattern:\n /\\b(?:double|float|fp128|half|i[1-9]\\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)\\b/,\n alias: 'class-name'\n },\n keyword: /\\b[a-z_][a-z_0-9]*\\b/,\n number:\n /[+-]?\\b\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\b|\\b0x[\\dA-Fa-f]+\\b|\\b0xK[\\dA-Fa-f]{20}\\b|\\b0x[ML][\\dA-Fa-f]{32}\\b|\\b0xH[\\dA-Fa-f]{4}\\b/,\n punctuation: /[{}[\\];(),.!*=<>]/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = log\nlog.displayName = 'log'\nlog.aliases = []\nfunction log(Prism) {\n // This is a language definition for generic log files.\n // Since there is no one log format, this language definition has to support all formats to some degree.\n //\n // Based on https://github.com/MTDL9/vim-log-highlighting\n Prism.languages.log = {\n string: {\n // Single-quoted strings must not be confused with plain text. E.g. Can't isn't Susan's Chris' toy\n pattern: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?![st] | \\w)(?:[^'\\\\\\r\\n]|\\\\.)*'/,\n greedy: true\n },\n exception: {\n pattern:\n /(^|[^\\w.])[a-z][\\w.]*(?:Error|Exception):.*(?:(?:\\r\\n?|\\n)[ \\t]*(?:at[ \\t].+|\\.{3}.*|Caused by:.*))+(?:(?:\\r\\n?|\\n)[ \\t]*\\.\\.\\. .*)?/,\n lookbehind: true,\n greedy: true,\n alias: ['javastacktrace', 'language-javastacktrace'],\n inside: Prism.languages['javastacktrace'] || {\n keyword: /\\bat\\b/,\n function: /[a-z_][\\w$]*(?=\\()/,\n punctuation: /[.:()]/\n }\n },\n level: [\n {\n pattern:\n /\\b(?:ALERT|CRIT|CRITICAL|EMERG|EMERGENCY|ERR|ERROR|FAILURE|FATAL|SEVERE)\\b/,\n alias: ['error', 'important']\n },\n {\n pattern: /\\b(?:WARN|WARNING|WRN)\\b/,\n alias: ['warning', 'important']\n },\n {\n pattern: /\\b(?:DISPLAY|INF|INFO|NOTICE|STATUS)\\b/,\n alias: ['info', 'keyword']\n },\n {\n pattern: /\\b(?:DBG|DEBUG|FINE)\\b/,\n alias: ['debug', 'keyword']\n },\n {\n pattern: /\\b(?:FINER|FINEST|TRACE|TRC|VERBOSE|VRB)\\b/,\n alias: ['trace', 'comment']\n }\n ],\n property: {\n pattern:\n /((?:^|[\\]|])[ \\t]*)[a-z_](?:[\\w-]|\\b\\/\\b)*(?:[. ]\\(?\\w(?:[\\w-]|\\b\\/\\b)*\\)?)*:(?=\\s)/im,\n lookbehind: true\n },\n separator: {\n pattern: /(^|[^-+])-{3,}|={3,}|\\*{3,}|- - /m,\n lookbehind: true,\n alias: 'comment'\n },\n url: /\\b(?:file|ftp|https?):\\/\\/[^\\s|,;'\"]*[^\\s|,;'\">.]/,\n email: {\n pattern: /(^|\\s)[-\\w+.]+@[a-z][a-z0-9-]*(?:\\.[a-z][a-z0-9-]*)+(?=\\s)/,\n lookbehind: true,\n alias: 'url'\n },\n 'ip-address': {\n pattern: /\\b(?:\\d{1,3}(?:\\.\\d{1,3}){3})\\b/,\n alias: 'constant'\n },\n 'mac-address': {\n pattern: /\\b[a-f0-9]{2}(?::[a-f0-9]{2}){5}\\b/i,\n alias: 'constant'\n },\n domain: {\n pattern:\n /(^|\\s)[a-z][a-z0-9-]*(?:\\.[a-z][a-z0-9-]*)*\\.[a-z][a-z0-9-]+(?=\\s)/,\n lookbehind: true,\n alias: 'constant'\n },\n uuid: {\n pattern:\n /\\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\\b/i,\n alias: 'constant'\n },\n hash: {\n pattern: /\\b(?:[a-f0-9]{32}){1,2}\\b/i,\n alias: 'constant'\n },\n 'file-path': {\n pattern:\n /\\b[a-z]:[\\\\/][^\\s|,;:(){}\\[\\]\"']+|(^|[\\s:\\[\\](>|])\\.{0,2}\\/\\w[^\\s|,;:(){}\\[\\]\"']*/i,\n lookbehind: true,\n greedy: true,\n alias: 'string'\n },\n date: {\n pattern: RegExp(\n /\\b\\d{4}[-/]\\d{2}[-/]\\d{2}(?:T(?=\\d{1,2}:)|(?=\\s\\d{1,2}:))/.source +\n '|' +\n /\\b\\d{1,4}[-/ ](?:\\d{1,2}|Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)[-/ ]\\d{2,4}T?\\b/\n .source +\n '|' +\n /\\b(?:(?:Fri|Mon|Sat|Sun|Thu|Tue|Wed)(?:\\s{1,2}(?:Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep))?|Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)\\s{1,2}\\d{1,2}\\b/\n .source,\n 'i'\n ),\n alias: 'number'\n },\n time: {\n pattern:\n /\\b\\d{1,2}:\\d{1,2}:\\d{1,2}(?:[.,:]\\d+)?(?:\\s?[+-]\\d{2}:?\\d{2}|Z)?\\b/,\n alias: 'number'\n },\n boolean: /\\b(?:false|null|true)\\b/i,\n number: {\n pattern:\n /(^|[^.\\w])(?:0x[a-f0-9]+|0o[0-7]+|0b[01]+|v?\\d[\\da-f]*(?:\\.\\d+)*(?:e[+-]?\\d+)?[a-z]{0,3}\\b)\\b(?!\\.\\w)/i,\n lookbehind: true\n },\n operator: /[;:?<=>~/@!$%&+\\-|^(){}*#]/,\n punctuation: /[\\[\\].,]/\n }\n}\n","'use strict'\n\nmodule.exports = lolcode\nlolcode.displayName = 'lolcode'\nlolcode.aliases = []\nfunction lolcode(Prism) {\n Prism.languages.lolcode = {\n comment: [/\\bOBTW\\s[\\s\\S]*?\\sTLDR\\b/, /\\bBTW.+/],\n string: {\n pattern: /\"(?::.|[^\":])*\"/,\n inside: {\n variable: /:\\{[^}]+\\}/,\n symbol: [/:\\([a-f\\d]+\\)/i, /:\\[[^\\]]+\\]/, /:[)>o\":]/]\n },\n greedy: true\n },\n number: /(?:\\B-)?(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)/,\n symbol: {\n pattern: /(^|\\s)(?:A )?(?:BUKKIT|NOOB|NUMBAR|NUMBR|TROOF|YARN)(?=\\s|,|$)/,\n lookbehind: true,\n inside: {\n keyword: /A(?=\\s)/\n }\n },\n label: {\n pattern: /((?:^|\\s)(?:IM IN YR|IM OUTTA YR) )[a-zA-Z]\\w*/,\n lookbehind: true,\n alias: 'string'\n },\n function: {\n pattern: /((?:^|\\s)(?:HOW IZ I|I IZ|IZ) )[a-zA-Z]\\w*/,\n lookbehind: true\n },\n keyword: [\n {\n pattern:\n /(^|\\s)(?:AN|FOUND YR|GIMMEH|GTFO|HAI|HAS A|HOW IZ I|I HAS A|I IZ|IF U SAY SO|IM IN YR|IM OUTTA YR|IS NOW(?: A)?|ITZ(?: A)?|IZ|KTHX|KTHXBYE|LIEK(?: A)?|MAEK|MEBBE|MKAY|NERFIN|NO WAI|O HAI IM|O RLY\\?|OIC|OMG|OMGWTF|R|SMOOSH|SRS|TIL|UPPIN|VISIBLE|WILE|WTF\\?|YA RLY|YR)(?=\\s|,|$)/,\n lookbehind: true\n },\n /'Z(?=\\s|,|$)/\n ],\n boolean: {\n pattern: /(^|\\s)(?:FAIL|WIN)(?=\\s|,|$)/,\n lookbehind: true\n },\n variable: {\n pattern: /(^|\\s)IT(?=\\s|,|$)/,\n lookbehind: true\n },\n operator: {\n pattern:\n /(^|\\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:ALL|ANY|BIGGR|BOTH|DIFF|EITHER|MOD|PRODUKT|QUOSHUNT|SMALLR|SUM|WON) OF)(?=\\s|,|$)/,\n lookbehind: true\n },\n punctuation: /\\.{3}|…|,|!/\n }\n}\n","'use strict'\n\nmodule.exports = lua\nlua.displayName = 'lua'\nlua.aliases = []\nfunction lua(Prism) {\n Prism.languages.lua = {\n comment: /^#!.+|--(?:\\[(=*)\\[[\\s\\S]*?\\]\\1\\]|.*)/m,\n // \\z may be used to skip the following space\n string: {\n pattern:\n /([\"'])(?:(?!\\1)[^\\\\\\r\\n]|\\\\z(?:\\r\\n|\\s)|\\\\(?:\\r\\n|[^z]))*\\1|\\[(=*)\\[[\\s\\S]*?\\]\\2\\]/,\n greedy: true\n },\n number:\n /\\b0x[a-f\\d]+(?:\\.[a-f\\d]*)?(?:p[+-]?\\d+)?\\b|\\b\\d+(?:\\.\\B|(?:\\.\\d*)?(?:e[+-]?\\d+)?\\b)|\\B\\.\\d+(?:e[+-]?\\d+)?\\b/i,\n keyword:\n /\\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\\b/,\n function: /(?!\\d)\\w+(?=\\s*(?:[({]))/,\n operator: [\n /[-+*%^&|#]|\\/\\/?|<[<=]?|>[>=]?|[=~]=?/,\n {\n // Match \"..\" but don't break \"...\"\n pattern: /(^|[^.])\\.\\.(?!\\.)/,\n lookbehind: true\n }\n ],\n punctuation: /[\\[\\](){},;]|\\.+|:+/\n }\n}\n","'use strict'\n\nmodule.exports = magma\nmagma.displayName = 'magma'\nmagma.aliases = []\nfunction magma(Prism) {\n Prism.languages.magma = {\n output: {\n pattern:\n /^(>.*(?:\\r(?:\\n|(?!\\n))|\\n))(?!>)(?:.+|(?:\\r(?:\\n|(?!\\n))|\\n)(?!>).*)(?:(?:\\r(?:\\n|(?!\\n))|\\n)(?!>).*)*/m,\n lookbehind: true,\n greedy: true\n },\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n greedy: true\n },\n string: {\n pattern: /(^|[^\\\\\"])\"(?:[^\\r\\n\\\\\"]|\\\\.)*\"/,\n lookbehind: true,\n greedy: true\n },\n // http://magma.maths.usyd.edu.au/magma/handbook/text/82\n keyword:\n /\\b(?:_|adj|and|assert|assert2|assert3|assigned|break|by|case|cat|catch|clear|cmpeq|cmpne|continue|declare|default|delete|diff|div|do|elif|else|end|eq|error|eval|exists|exit|for|forall|forward|fprintf|freeze|function|ge|gt|if|iload|import|in|intrinsic|is|join|le|load|local|lt|meet|mod|ne|not|notadj|notin|notsubset|or|print|printf|procedure|quit|random|read|readi|repeat|require|requirege|requirerange|restore|return|save|sdiff|select|subset|then|time|to|try|until|vprint|vprintf|vtime|when|where|while|xor)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n generator: {\n pattern: /\\b[a-z_]\\w*(?=\\s*<)/i,\n alias: 'class-name'\n },\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n number: {\n pattern:\n /(^|[^\\w.]|\\.\\.)(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?(?:_[a-z]?)?(?=$|[^\\w.]|\\.\\.)/,\n lookbehind: true\n },\n operator: /->|[-+*/^~!|#=]|:=|\\.\\./,\n punctuation: /[()[\\]{}<>,;.:]/\n }\n}\n","'use strict'\n\nmodule.exports = makefile\nmakefile.displayName = 'makefile'\nmakefile.aliases = []\nfunction makefile(Prism) {\n Prism.languages.makefile = {\n comment: {\n pattern: /(^|[^\\\\])#(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n])*/,\n lookbehind: true\n },\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n 'builtin-target': {\n pattern: /\\.[A-Z][^:#=\\s]+(?=\\s*:(?!=))/,\n alias: 'builtin'\n },\n target: {\n pattern: /^(?:[^:=\\s]|[ \\t]+(?![\\s:]))+(?=\\s*:(?!=))/m,\n alias: 'symbol',\n inside: {\n variable: /\\$+(?:(?!\\$)[^(){}:#=\\s]+|(?=[({]))/\n }\n },\n variable: /\\$+(?:(?!\\$)[^(){}:#=\\s]+|\\([@*%<^+?][DF]\\)|(?=[({]))/,\n // Directives\n keyword:\n /-include\\b|\\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\\b/,\n function: {\n pattern:\n /(\\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \\t])/,\n lookbehind: true\n },\n operator: /(?:::|[?:+!])?=|[|@]/,\n punctuation: /[:;(){}]/\n }\n}\n","'use strict'\n\nmodule.exports = markdown\nmarkdown.displayName = 'markdown'\nmarkdown.aliases = ['md']\nfunction markdown(Prism) {\n ;(function (Prism) {\n // Allow only one line break\n var inner = /(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))/.source\n /**\n * This function is intended for the creation of the bold or italic pattern.\n *\n * This also adds a lookbehind group to the given pattern to ensure that the pattern is not backslash-escaped.\n *\n * _Note:_ Keep in mind that this adds a capturing group.\n *\n * @param {string} pattern\n * @returns {RegExp}\n */\n function createInline(pattern) {\n pattern = pattern.replace(/<inner>/g, function () {\n return inner\n })\n return RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source + '(?:' + pattern + ')')\n }\n var tableCell = /(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+/\n .source\n var tableRow =\n /\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))/.source.replace(\n /__/g,\n function () {\n return tableCell\n }\n )\n var tableLine =\n /\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)/\n .source\n Prism.languages.markdown = Prism.languages.extend('markup', {})\n Prism.languages.insertBefore('markdown', 'prolog', {\n 'front-matter-block': {\n pattern: /(^(?:\\s*[\\r\\n])?)---(?!.)[\\s\\S]*?[\\r\\n]---(?!.)/,\n lookbehind: true,\n greedy: true,\n inside: {\n punctuation: /^---|---$/,\n 'front-matter': {\n pattern: /\\S+(?:\\s+\\S+)*/,\n alias: ['yaml', 'language-yaml'],\n inside: Prism.languages.yaml\n }\n }\n },\n blockquote: {\n // > ...\n pattern: /^>(?:[\\t ]*>)*/m,\n alias: 'punctuation'\n },\n table: {\n pattern: RegExp(\n '^' + tableRow + tableLine + '(?:' + tableRow + ')*',\n 'm'\n ),\n inside: {\n 'table-data-rows': {\n pattern: RegExp(\n '^(' + tableRow + tableLine + ')(?:' + tableRow + ')*$'\n ),\n lookbehind: true,\n inside: {\n 'table-data': {\n pattern: RegExp(tableCell),\n inside: Prism.languages.markdown\n },\n punctuation: /\\|/\n }\n },\n 'table-line': {\n pattern: RegExp('^(' + tableRow + ')' + tableLine + '$'),\n lookbehind: true,\n inside: {\n punctuation: /\\||:?-{3,}:?/\n }\n },\n 'table-header-row': {\n pattern: RegExp('^' + tableRow + '$'),\n inside: {\n 'table-header': {\n pattern: RegExp(tableCell),\n alias: 'important',\n inside: Prism.languages.markdown\n },\n punctuation: /\\|/\n }\n }\n }\n },\n code: [\n {\n // Prefixed by 4 spaces or 1 tab and preceded by an empty line\n pattern:\n /((?:^|\\n)[ \\t]*\\n|(?:^|\\r\\n?)[ \\t]*\\r\\n?)(?: {4}|\\t).+(?:(?:\\n|\\r\\n?)(?: {4}|\\t).+)*/,\n lookbehind: true,\n alias: 'keyword'\n },\n {\n // ```optional language\n // code block\n // ```\n pattern: /^```[\\s\\S]*?^```$/m,\n greedy: true,\n inside: {\n 'code-block': {\n pattern: /^(```.*(?:\\n|\\r\\n?))[\\s\\S]+?(?=(?:\\n|\\r\\n?)^```$)/m,\n lookbehind: true\n },\n 'code-language': {\n pattern: /^(```).+/,\n lookbehind: true\n },\n punctuation: /```/\n }\n }\n ],\n title: [\n {\n // title 1\n // =======\n // title 2\n // -------\n pattern: /\\S.*(?:\\n|\\r\\n?)(?:==+|--+)(?=[ \\t]*$)/m,\n alias: 'important',\n inside: {\n punctuation: /==+$|--+$/\n }\n },\n {\n // # title 1\n // ###### title 6\n pattern: /(^\\s*)#.+/m,\n lookbehind: true,\n alias: 'important',\n inside: {\n punctuation: /^#+|#+$/\n }\n }\n ],\n hr: {\n // ***\n // ---\n // * * *\n // -----------\n pattern: /(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m,\n lookbehind: true,\n alias: 'punctuation'\n },\n list: {\n // * item\n // + item\n // - item\n // 1. item\n pattern: /(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m,\n lookbehind: true,\n alias: 'punctuation'\n },\n 'url-reference': {\n // [id]: http://example.com \"Optional title\"\n // [id]: http://example.com 'Optional title'\n // [id]: http://example.com (Optional title)\n // [id]: <http://example.com> \"Optional title\"\n pattern:\n /!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/,\n inside: {\n variable: {\n pattern: /^(!?\\[)[^\\]]+/,\n lookbehind: true\n },\n string:\n /(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/,\n punctuation: /^[\\[\\]!:]|[<>]/\n },\n alias: 'url'\n },\n bold: {\n // **strong**\n // __strong__\n // allow one nested instance of italic text using the same delimiter\n pattern: createInline(\n /\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*/\n .source\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n content: {\n pattern: /(^..)[\\s\\S]+(?=..$)/,\n lookbehind: true,\n inside: {} // see below\n },\n punctuation: /\\*\\*|__/\n }\n },\n italic: {\n // *em*\n // _em_\n // allow one nested instance of bold text using the same delimiter\n pattern: createInline(\n /\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*/\n .source\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n content: {\n pattern: /(^.)[\\s\\S]+(?=.$)/,\n lookbehind: true,\n inside: {} // see below\n },\n punctuation: /[*_]/\n }\n },\n strike: {\n // ~~strike through~~\n // ~strike~\n // eslint-disable-next-line regexp/strict\n pattern: createInline(/(~~?)(?:(?!~)<inner>)+\\2/.source),\n lookbehind: true,\n greedy: true,\n inside: {\n content: {\n pattern: /(^~~?)[\\s\\S]+(?=\\1$)/,\n lookbehind: true,\n inside: {} // see below\n },\n punctuation: /~~?/\n }\n },\n 'code-snippet': {\n // `code`\n // ``code``\n pattern:\n /(^|[^\\\\`])(?:``[^`\\r\\n]+(?:`[^`\\r\\n]+)*``(?!`)|`[^`\\r\\n]+`(?!`))/,\n lookbehind: true,\n greedy: true,\n alias: ['code', 'keyword']\n },\n url: {\n // [example](http://example.com \"Optional title\")\n // [example][id]\n // [example] [id]\n pattern: createInline(\n /!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])/\n .source\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n operator: /^!/,\n content: {\n pattern: /(^\\[)[^\\]]+(?=\\])/,\n lookbehind: true,\n inside: {} // see below\n },\n variable: {\n pattern: /(^\\][ \\t]?\\[)[^\\]]+(?=\\]$)/,\n lookbehind: true\n },\n url: {\n pattern: /(^\\]\\()[^\\s)]+/,\n lookbehind: true\n },\n string: {\n pattern: /(^[ \\t]+)\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/,\n lookbehind: true\n }\n }\n }\n })\n ;['url', 'bold', 'italic', 'strike'].forEach(function (token) {\n ;['url', 'bold', 'italic', 'strike', 'code-snippet'].forEach(function (\n inside\n ) {\n if (token !== inside) {\n Prism.languages.markdown[token].inside.content.inside[inside] =\n Prism.languages.markdown[inside]\n }\n })\n })\n Prism.hooks.add('after-tokenize', function (env) {\n if (env.language !== 'markdown' && env.language !== 'md') {\n return\n }\n function walkTokens(tokens) {\n if (!tokens || typeof tokens === 'string') {\n return\n }\n for (var i = 0, l = tokens.length; i < l; i++) {\n var token = tokens[i]\n if (token.type !== 'code') {\n walkTokens(token.content)\n continue\n }\n /*\n * Add the correct `language-xxxx` class to this code block. Keep in mind that the `code-language` token\n * is optional. But the grammar is defined so that there is only one case we have to handle:\n *\n * token.content = [\n * <span class=\"punctuation\">```</span>,\n * <span class=\"code-language\">xxxx</span>,\n * '\\n', // exactly one new lines (\\r or \\n or \\r\\n)\n * <span class=\"code-block\">...</span>,\n * '\\n', // exactly one new lines again\n * <span class=\"punctuation\">```</span>\n * ];\n */\n var codeLang = token.content[1]\n var codeBlock = token.content[3]\n if (\n codeLang &&\n codeBlock &&\n codeLang.type === 'code-language' &&\n codeBlock.type === 'code-block' &&\n typeof codeLang.content === 'string'\n ) {\n // this might be a language that Prism does not support\n // do some replacements to support C++, C#, and F#\n var lang = codeLang.content\n .replace(/\\b#/g, 'sharp')\n .replace(/\\b\\+\\+/g, 'pp') // only use the first word\n lang = (/[a-z][\\w-]*/i.exec(lang) || [''])[0].toLowerCase()\n var alias = 'language-' + lang // add alias\n if (!codeBlock.alias) {\n codeBlock.alias = [alias]\n } else if (typeof codeBlock.alias === 'string') {\n codeBlock.alias = [codeBlock.alias, alias]\n } else {\n codeBlock.alias.push(alias)\n }\n }\n }\n }\n walkTokens(env.tokens)\n })\n Prism.hooks.add('wrap', function (env) {\n if (env.type !== 'code-block') {\n return\n }\n var codeLang = ''\n for (var i = 0, l = env.classes.length; i < l; i++) {\n var cls = env.classes[i]\n var match = /language-(.+)/.exec(cls)\n if (match) {\n codeLang = match[1]\n break\n }\n }\n var grammar = Prism.languages[codeLang]\n if (!grammar) {\n if (codeLang && codeLang !== 'none' && Prism.plugins.autoloader) {\n var id =\n 'md-' +\n new Date().valueOf() +\n '-' +\n Math.floor(Math.random() * 1e16)\n env.attributes['id'] = id\n Prism.plugins.autoloader.loadLanguages(codeLang, function () {\n var ele = document.getElementById(id)\n if (ele) {\n ele.innerHTML = Prism.highlight(\n ele.textContent,\n Prism.languages[codeLang],\n codeLang\n )\n }\n })\n }\n } else {\n env.content = Prism.highlight(\n textContent(env.content.value),\n grammar,\n codeLang\n )\n }\n })\n var tagPattern = RegExp(Prism.languages.markup.tag.pattern.source, 'gi')\n /**\n * A list of known entity names.\n *\n * This will always be incomplete to save space. The current list is the one used by lowdash's unescape function.\n *\n * @see {@link https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/unescape.js#L2}\n */\n var KNOWN_ENTITY_NAMES = {\n amp: '&',\n lt: '<',\n gt: '>',\n quot: '\"'\n } // IE 11 doesn't support `String.fromCodePoint`\n var fromCodePoint = String.fromCodePoint || String.fromCharCode\n /**\n * Returns the text content of a given HTML source code string.\n *\n * @param {string} html\n * @returns {string}\n */\n function textContent(html) {\n // remove all tags\n var text = html.replace(tagPattern, '') // decode known entities\n text = text.replace(/&(\\w{1,8}|#x?[\\da-f]{1,8});/gi, function (m, code) {\n code = code.toLowerCase()\n if (code[0] === '#') {\n var value\n if (code[1] === 'x') {\n value = parseInt(code.slice(2), 16)\n } else {\n value = Number(code.slice(1))\n }\n return fromCodePoint(value)\n } else {\n var known = KNOWN_ENTITY_NAMES[code]\n if (known) {\n return known\n } // unable to decode\n return m\n }\n })\n return text\n }\n Prism.languages.md = Prism.languages.markdown\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = markupTemplating\nmarkupTemplating.displayName = 'markupTemplating'\nmarkupTemplating.aliases = []\nfunction markupTemplating(Prism) {\n ;(function (Prism) {\n /**\n * Returns the placeholder for the given language id and index.\n *\n * @param {string} language\n * @param {string|number} index\n * @returns {string}\n */\n function getPlaceholder(language, index) {\n return '___' + language.toUpperCase() + index + '___'\n }\n Object.defineProperties((Prism.languages['markup-templating'] = {}), {\n buildPlaceholders: {\n /**\n * Tokenize all inline templating expressions matching `placeholderPattern`.\n *\n * If `replaceFilter` is provided, only matches of `placeholderPattern` for which `replaceFilter` returns\n * `true` will be replaced.\n *\n * @param {object} env The environment of the `before-tokenize` hook.\n * @param {string} language The language id.\n * @param {RegExp} placeholderPattern The matches of this pattern will be replaced by placeholders.\n * @param {(match: string) => boolean} [replaceFilter]\n */\n value: function (env, language, placeholderPattern, replaceFilter) {\n if (env.language !== language) {\n return\n }\n var tokenStack = (env.tokenStack = [])\n env.code = env.code.replace(placeholderPattern, function (match) {\n if (typeof replaceFilter === 'function' && !replaceFilter(match)) {\n return match\n }\n var i = tokenStack.length\n var placeholder // Check for existing strings\n while (\n env.code.indexOf((placeholder = getPlaceholder(language, i))) !==\n -1\n ) {\n ++i\n } // Create a sparse array\n tokenStack[i] = match\n return placeholder\n }) // Switch the grammar to markup\n env.grammar = Prism.languages.markup\n }\n },\n tokenizePlaceholders: {\n /**\n * Replace placeholders with proper tokens after tokenizing.\n *\n * @param {object} env The environment of the `after-tokenize` hook.\n * @param {string} language The language id.\n */\n value: function (env, language) {\n if (env.language !== language || !env.tokenStack) {\n return\n } // Switch the grammar back\n env.grammar = Prism.languages[language]\n var j = 0\n var keys = Object.keys(env.tokenStack)\n function walkTokens(tokens) {\n for (var i = 0; i < tokens.length; i++) {\n // all placeholders are replaced already\n if (j >= keys.length) {\n break\n }\n var token = tokens[i]\n if (\n typeof token === 'string' ||\n (token.content && typeof token.content === 'string')\n ) {\n var k = keys[j]\n var t = env.tokenStack[k]\n var s = typeof token === 'string' ? token : token.content\n var placeholder = getPlaceholder(language, k)\n var index = s.indexOf(placeholder)\n if (index > -1) {\n ++j\n var before = s.substring(0, index)\n var middle = new Prism.Token(\n language,\n Prism.tokenize(t, env.grammar),\n 'language-' + language,\n t\n )\n var after = s.substring(index + placeholder.length)\n var replacement = []\n if (before) {\n replacement.push.apply(replacement, walkTokens([before]))\n }\n replacement.push(middle)\n if (after) {\n replacement.push.apply(replacement, walkTokens([after]))\n }\n if (typeof token === 'string') {\n tokens.splice.apply(tokens, [i, 1].concat(replacement))\n } else {\n token.content = replacement\n }\n }\n } else if (\n token.content\n /* && typeof token.content !== 'string' */\n ) {\n walkTokens(token.content)\n }\n }\n return tokens\n }\n walkTokens(env.tokens)\n }\n }\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = markup\nmarkup.displayName = 'markup'\nmarkup.aliases = ['html', 'mathml', 'svg', 'xml', 'ssml', 'atom', 'rss']\nfunction markup(Prism) {\n Prism.languages.markup = {\n comment: {\n pattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n greedy: true\n },\n prolog: {\n pattern: /<\\?[\\s\\S]+?\\?>/,\n greedy: true\n },\n doctype: {\n // https://www.w3.org/TR/xml/#NT-doctypedecl\n pattern:\n /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n greedy: true,\n inside: {\n 'internal-subset': {\n pattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n lookbehind: true,\n greedy: true,\n inside: null // see below\n },\n string: {\n pattern: /\"[^\"]*\"|'[^']*'/,\n greedy: true\n },\n punctuation: /^<!|>$|[[\\]]/,\n 'doctype-tag': /^DOCTYPE/i,\n name: /[^\\s<>'\"]+/\n }\n },\n cdata: {\n pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n greedy: true\n },\n tag: {\n pattern:\n /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n greedy: true,\n inside: {\n tag: {\n pattern: /^<\\/?[^\\s>\\/]+/,\n inside: {\n punctuation: /^<\\/?/,\n namespace: /^[^\\s>\\/:]+:/\n }\n },\n 'special-attr': [],\n 'attr-value': {\n pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n inside: {\n punctuation: [\n {\n pattern: /^=/,\n alias: 'attr-equals'\n },\n /\"|'/\n ]\n }\n },\n punctuation: /\\/?>/,\n 'attr-name': {\n pattern: /[^\\s>\\/]+/,\n inside: {\n namespace: /^[^\\s>\\/:]+:/\n }\n }\n }\n },\n entity: [\n {\n pattern: /&[\\da-z]{1,8};/i,\n alias: 'named-entity'\n },\n /&#x?[\\da-f]{1,8};/i\n ]\n }\n Prism.languages.markup['tag'].inside['attr-value'].inside['entity'] =\n Prism.languages.markup['entity']\n Prism.languages.markup['doctype'].inside['internal-subset'].inside =\n Prism.languages.markup // Plugin to make entity title show the real entity, idea by Roman Komarov\n Prism.hooks.add('wrap', function (env) {\n if (env.type === 'entity') {\n env.attributes['title'] = env.content.value.replace(/&/, '&')\n }\n })\n Object.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n /**\n * Adds an inlined language to markup.\n *\n * An example of an inlined language is CSS with `<style>` tags.\n *\n * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n * case insensitive.\n * @param {string} lang The language key.\n * @example\n * addInlined('style', 'css');\n */\n value: function addInlined(tagName, lang) {\n var includedCdataInside = {}\n includedCdataInside['language-' + lang] = {\n pattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n lookbehind: true,\n inside: Prism.languages[lang]\n }\n includedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i\n var inside = {\n 'included-cdata': {\n pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n inside: includedCdataInside\n }\n }\n inside['language-' + lang] = {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages[lang]\n }\n var def = {}\n def[tagName] = {\n pattern: RegExp(\n /(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(\n /__/g,\n function () {\n return tagName\n }\n ),\n 'i'\n ),\n lookbehind: true,\n greedy: true,\n inside: inside\n }\n Prism.languages.insertBefore('markup', 'cdata', def)\n }\n })\n Object.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n /**\n * Adds an pattern to highlight languages embedded in HTML attributes.\n *\n * An example of an inlined language is CSS with `style` attributes.\n *\n * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as\n * case insensitive.\n * @param {string} lang The language key.\n * @example\n * addAttribute('style', 'css');\n */\n value: function (attrName, lang) {\n Prism.languages.markup.tag.inside['special-attr'].push({\n pattern: RegExp(\n /(^|[\"'\\s])/.source +\n '(?:' +\n attrName +\n ')' +\n /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\n 'i'\n ),\n lookbehind: true,\n inside: {\n 'attr-name': /^[^\\s=]+/,\n 'attr-value': {\n pattern: /=[\\s\\S]+/,\n inside: {\n value: {\n pattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n lookbehind: true,\n alias: [lang, 'language-' + lang],\n inside: Prism.languages[lang]\n },\n punctuation: [\n {\n pattern: /^=/,\n alias: 'attr-equals'\n },\n /\"|'/\n ]\n }\n }\n }\n })\n }\n })\n Prism.languages.html = Prism.languages.markup\n Prism.languages.mathml = Prism.languages.markup\n Prism.languages.svg = Prism.languages.markup\n Prism.languages.xml = Prism.languages.extend('markup', {})\n Prism.languages.ssml = Prism.languages.xml\n Prism.languages.atom = Prism.languages.xml\n Prism.languages.rss = Prism.languages.xml\n}\n","'use strict'\n\nmodule.exports = matlab\nmatlab.displayName = 'matlab'\nmatlab.aliases = []\nfunction matlab(Prism) {\n Prism.languages.matlab = {\n comment: [/%\\{[\\s\\S]*?\\}%/, /%.+/],\n string: {\n pattern: /\\B'(?:''|[^'\\r\\n])*'/,\n greedy: true\n },\n // FIXME We could handle imaginary numbers as a whole\n number: /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?(?:[ij])?|\\b[ij]\\b/,\n keyword:\n /\\b(?:NaN|break|case|catch|continue|else|elseif|end|for|function|if|inf|otherwise|parfor|pause|pi|return|switch|try|while)\\b/,\n function: /\\b(?!\\d)\\w+(?=\\s*\\()/,\n operator: /\\.?[*^\\/\\\\']|[+\\-:@]|[<>=~]=?|&&?|\\|\\|?/,\n punctuation: /\\.{3}|[.,;\\[\\](){}!]/\n }\n}\n","'use strict'\n\nmodule.exports = maxscript\nmaxscript.displayName = 'maxscript'\nmaxscript.aliases = []\nfunction maxscript(Prism) {\n ;(function (Prism) {\n var keywords =\n /\\b(?:about|and|animate|as|at|attributes|by|case|catch|collect|continue|coordsys|do|else|exit|fn|for|from|function|global|if|in|local|macroscript|mapped|max|not|of|off|on|or|parameters|persistent|plugin|rcmenu|return|rollout|set|struct|then|throw|to|tool|try|undo|utility|when|where|while|with)\\b/i\n Prism.languages.maxscript = {\n comment: {\n pattern: /\\/\\*[\\s\\S]*?(?:\\*\\/|$)|--.*/,\n greedy: true\n },\n string: {\n pattern: /(^|[^\"\\\\@])(?:\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"|@\"[^\"]*\")/,\n lookbehind: true,\n greedy: true\n },\n path: {\n pattern: /\\$(?:[\\w/\\\\.*?]|'[^']*')*/,\n greedy: true,\n alias: 'string'\n },\n 'function-call': {\n pattern: RegExp(\n '((?:' + // start of line\n (/^/.source +\n '|' + // operators and other language constructs\n /[;=<>+\\-*/^({\\[]/.source +\n '|' + // keywords as part of statements\n /\\b(?:and|by|case|catch|collect|do|else|if|in|not|or|return|then|to|try|where|while|with)\\b/\n .source) +\n ')[ \\t]*)' +\n '(?!' +\n keywords.source +\n ')' +\n /[a-z_]\\w*\\b/.source +\n '(?=[ \\t]*(?:' + // variable\n ('(?!' +\n keywords.source +\n ')' +\n /[a-z_]/.source +\n '|' + // number\n /\\d|-\\.?\\d/.source +\n '|' + // other expressions or literals\n /[({'\"$@#?]/.source) +\n '))',\n 'im'\n ),\n lookbehind: true,\n greedy: true,\n alias: 'function'\n },\n 'function-definition': {\n pattern: /(\\b(?:fn|function)\\s+)\\w+\\b/i,\n lookbehind: true,\n alias: 'function'\n },\n argument: {\n pattern: /\\b[a-z_]\\w*(?=:)/i,\n alias: 'attr-name'\n },\n keyword: keywords,\n boolean: /\\b(?:false|true)\\b/,\n time: {\n pattern:\n /(^|[^\\w.])(?:(?:(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eEdD][+-]\\d+|[LP])?[msft])+|\\d+:\\d+(?:\\.\\d*)?)(?![\\w.:])/,\n lookbehind: true,\n alias: 'number'\n },\n number: [\n {\n pattern:\n /(^|[^\\w.])(?:(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eEdD][+-]\\d+|[LP])?|0x[a-fA-F0-9]+)(?![\\w.:])/,\n lookbehind: true\n },\n /\\b(?:e|pi)\\b/\n ],\n constant: /\\b(?:dontcollect|ok|silentValue|undefined|unsupplied)\\b/,\n color: {\n pattern: /\\b(?:black|blue|brown|gray|green|orange|red|white|yellow)\\b/i,\n alias: 'constant'\n },\n operator: /[-+*/<>=!]=?|[&^?]|#(?!\\()/,\n punctuation: /[()\\[\\]{}.:,;]|#(?=\\()|\\\\$/m\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = mel\nmel.displayName = 'mel'\nmel.aliases = []\nfunction mel(Prism) {\n Prism.languages.mel = {\n comment: /\\/\\/.*/,\n code: {\n pattern: /`(?:\\\\.|[^\\\\`\\r\\n])*`/,\n greedy: true,\n alias: 'italic',\n inside: {\n delimiter: {\n pattern: /^`|`$/,\n alias: 'punctuation'\n } // See rest below\n }\n },\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: true\n },\n variable: /\\$\\w+/,\n number: /\\b0x[\\da-fA-F]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+/,\n flag: {\n pattern: /-[^\\d\\W]\\w*/,\n alias: 'operator'\n },\n keyword:\n /\\b(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)\\b/,\n function:\n /\\b\\w+(?=\\()|\\b(?:CBG|HfAddAttractorToAS|HfAssignAS|HfBuildEqualMap|HfBuildFurFiles|HfBuildFurImages|HfCancelAFR|HfConnectASToHF|HfCreateAttractor|HfDeleteAS|HfEditAS|HfPerformCreateAS|HfRemoveAttractorFromAS|HfSelectAttached|HfSelectAttractors|HfUnAssignAS|Mayatomr|about|abs|addAttr|addAttributeEditorNodeHelp|addDynamic|addNewShelfTab|addPP|addPanelCategory|addPrefixToName|advanceToNextDrivenKey|affectedNet|affects|aimConstraint|air|alias|aliasAttr|align|alignCtx|alignCurve|alignSurface|allViewFit|ambientLight|angle|angleBetween|animCone|animCurveEditor|animDisplay|animView|annotate|appendStringArray|applicationName|applyAttrPreset|applyTake|arcLenDimContext|arcLengthDimension|arclen|arrayMapper|art3dPaintCtx|artAttrCtx|artAttrPaintVertexCtx|artAttrSkinPaintCtx|artAttrTool|artBuildPaintMenu|artFluidAttrCtx|artPuttyCtx|artSelectCtx|artSetPaintCtx|artUserPaintCtx|assignCommand|assignInputDevice|assignViewportFactories|attachCurve|attachDeviceAttr|attachSurface|attrColorSliderGrp|attrCompatibility|attrControlGrp|attrEnumOptionMenu|attrEnumOptionMenuGrp|attrFieldGrp|attrFieldSliderGrp|attrNavigationControlGrp|attrPresetEditWin|attributeExists|attributeInfo|attributeMenu|attributeQuery|autoKeyframe|autoPlace|bakeClip|bakeFluidShading|bakePartialHistory|bakeResults|bakeSimulation|basename|basenameEx|batchRender|bessel|bevel|bevelPlus|binMembership|bindSkin|blend2|blendShape|blendShapeEditor|blendShapePanel|blendTwoAttr|blindDataType|boneLattice|boundary|boxDollyCtx|boxZoomCtx|bufferCurve|buildBookmarkMenu|buildKeyframeMenu|button|buttonManip|cacheFile|cacheFileCombine|cacheFileMerge|cacheFileTrack|camera|cameraView|canCreateManip|canvas|capitalizeString|catch|catchQuiet|ceil|changeSubdivComponentDisplayLevel|changeSubdivRegion|channelBox|character|characterMap|characterOutlineEditor|characterize|chdir|checkBox|checkBoxGrp|checkDefaultRenderGlobals|choice|circle|circularFillet|clamp|clear|clearCache|clip|clipEditor|clipEditorCurrentTimeCtx|clipSchedule|clipSchedulerOutliner|clipTrimBefore|closeCurve|closeSurface|cluster|cmdFileOutput|cmdScrollFieldExecuter|cmdScrollFieldReporter|cmdShell|coarsenSubdivSelectionList|collision|color|colorAtPoint|colorEditor|colorIndex|colorIndexSliderGrp|colorSliderButtonGrp|colorSliderGrp|columnLayout|commandEcho|commandLine|commandPort|compactHairSystem|componentEditor|compositingInterop|computePolysetVolume|condition|cone|confirmDialog|connectAttr|connectControl|connectDynamic|connectJoint|connectionInfo|constrain|constrainValue|constructionHistory|container|containsMultibyte|contextInfo|control|convertFromOldLayers|convertIffToPsd|convertLightmap|convertSolidTx|convertTessellation|convertUnit|copyArray|copyFlexor|copyKey|copySkinWeights|cos|cpButton|cpCache|cpClothSet|cpCollision|cpConstraint|cpConvClothToMesh|cpForces|cpGetSolverAttr|cpPanel|cpProperty|cpRigidCollisionFilter|cpSeam|cpSetEdit|cpSetSolverAttr|cpSolver|cpSolverTypes|cpTool|cpUpdateClothUVs|createDisplayLayer|createDrawCtx|createEditor|createLayeredPsdFile|createMotionField|createNewShelf|createNode|createRenderLayer|createSubdivRegion|cross|crossProduct|ctxAbort|ctxCompletion|ctxEditMode|ctxTraverse|currentCtx|currentTime|currentTimeCtx|currentUnit|curve|curveAddPtCtx|curveCVCtx|curveEPCtx|curveEditorCtx|curveIntersect|curveMoveEPCtx|curveOnSurface|curveSketchCtx|cutKey|cycleCheck|cylinder|dagPose|date|defaultLightListCheckBox|defaultNavigation|defineDataServer|defineVirtualDevice|deformer|deg_to_rad|delete|deleteAttr|deleteShadingGroupsAndMaterials|deleteShelfTab|deleteUI|deleteUnusedBrushes|delrandstr|detachCurve|detachDeviceAttr|detachSurface|deviceEditor|devicePanel|dgInfo|dgdirty|dgeval|dgtimer|dimWhen|directKeyCtx|directionalLight|dirmap|dirname|disable|disconnectAttr|disconnectJoint|diskCache|displacementToPoly|displayAffected|displayColor|displayCull|displayLevelOfDetail|displayPref|displayRGBColor|displaySmoothness|displayStats|displayString|displaySurface|distanceDimContext|distanceDimension|doBlur|dolly|dollyCtx|dopeSheetEditor|dot|dotProduct|doubleProfileBirailSurface|drag|dragAttrContext|draggerContext|dropoffLocator|duplicate|duplicateCurve|duplicateSurface|dynCache|dynControl|dynExport|dynExpression|dynGlobals|dynPaintEditor|dynParticleCtx|dynPref|dynRelEdPanel|dynRelEditor|dynamicLoad|editAttrLimits|editDisplayLayerGlobals|editDisplayLayerMembers|editRenderLayerAdjustment|editRenderLayerGlobals|editRenderLayerMembers|editor|editorTemplate|effector|emit|emitter|enableDevice|encodeString|endString|endsWith|env|equivalent|equivalentTol|erf|error|eval|evalDeferred|evalEcho|event|exactWorldBoundingBox|exclusiveLightCheckBox|exec|executeForEachObject|exists|exp|expression|expressionEditorListen|extendCurve|extendSurface|extrude|fcheck|fclose|feof|fflush|fgetline|fgetword|file|fileBrowserDialog|fileDialog|fileExtension|fileInfo|filetest|filletCurve|filter|filterCurve|filterExpand|filterStudioImport|findAllIntersections|findAnimCurves|findKeyframe|findMenuItem|findRelatedSkinCluster|finder|firstParentOf|fitBspline|flexor|floatEq|floatField|floatFieldGrp|floatScrollBar|floatSlider|floatSlider2|floatSliderButtonGrp|floatSliderGrp|floor|flow|fluidCacheInfo|fluidEmitter|fluidVoxelInfo|flushUndo|fmod|fontDialog|fopen|formLayout|format|fprint|frameLayout|fread|freeFormFillet|frewind|fromNativePath|fwrite|gamma|gauss|geometryConstraint|getApplicationVersionAsFloat|getAttr|getClassification|getDefaultBrush|getFileList|getFluidAttr|getInputDeviceRange|getMayaPanelTypes|getModifiers|getPanel|getParticleAttr|getPluginResource|getenv|getpid|glRender|glRenderEditor|globalStitch|gmatch|goal|gotoBindPose|grabColor|gradientControl|gradientControlNoAttr|graphDollyCtx|graphSelectContext|graphTrackCtx|gravity|grid|gridLayout|group|groupObjectsByName|hardenPointCurve|hardware|hardwareRenderPanel|headsUpDisplay|headsUpMessage|help|helpLine|hermite|hide|hilite|hitTest|hotBox|hotkey|hotkeyCheck|hsv_to_rgb|hudButton|hudSlider|hudSliderButton|hwReflectionMap|hwRender|hwRenderLoad|hyperGraph|hyperPanel|hyperShade|hypot|iconTextButton|iconTextCheckBox|iconTextRadioButton|iconTextRadioCollection|iconTextScrollList|iconTextStaticLabel|ikHandle|ikHandleCtx|ikHandleDisplayScale|ikSolver|ikSplineHandleCtx|ikSystem|ikSystemInfo|ikfkDisplayMethod|illustratorCurves|image|imfPlugins|inheritTransform|insertJoint|insertJointCtx|insertKeyCtx|insertKnotCurve|insertKnotSurface|instance|instanceable|instancer|intField|intFieldGrp|intScrollBar|intSlider|intSliderGrp|interToUI|internalVar|intersect|iprEngine|isAnimCurve|isConnected|isDirty|isParentOf|isSameObject|isTrue|isValidObjectName|isValidString|isValidUiName|isolateSelect|itemFilter|itemFilterAttr|itemFilterRender|itemFilterType|joint|jointCluster|jointCtx|jointDisplayScale|jointLattice|keyTangent|keyframe|keyframeOutliner|keyframeRegionCurrentTimeCtx|keyframeRegionDirectKeyCtx|keyframeRegionDollyCtx|keyframeRegionInsertKeyCtx|keyframeRegionMoveKeyCtx|keyframeRegionScaleKeyCtx|keyframeRegionSelectKeyCtx|keyframeRegionSetKeyCtx|keyframeRegionTrackCtx|keyframeStats|lassoContext|lattice|latticeDeformKeyCtx|launch|launchImageEditor|layerButton|layeredShaderPort|layeredTexturePort|layout|layoutDialog|lightList|lightListEditor|lightListPanel|lightlink|lineIntersection|linearPrecision|linstep|listAnimatable|listAttr|listCameras|listConnections|listDeviceAttachments|listHistory|listInputDeviceAxes|listInputDeviceButtons|listInputDevices|listMenuAnnotation|listNodeTypes|listPanelCategories|listRelatives|listSets|listTransforms|listUnselected|listerEditor|loadFluid|loadNewShelf|loadPlugin|loadPluginLanguageResources|loadPrefObjects|localizedPanelLabel|lockNode|loft|log|longNameOf|lookThru|ls|lsThroughFilter|lsType|lsUI|mag|makeIdentity|makeLive|makePaintable|makeRoll|makeSingleSurface|makeTubeOn|makebot|manipMoveContext|manipMoveLimitsCtx|manipOptions|manipRotateContext|manipRotateLimitsCtx|manipScaleContext|manipScaleLimitsCtx|marker|match|max|memory|menu|menuBarLayout|menuEditor|menuItem|menuItemToShelf|menuSet|menuSetPref|messageLine|min|minimizeApp|mirrorJoint|modelCurrentTimeCtx|modelEditor|modelPanel|mouse|movIn|movOut|move|moveIKtoFK|moveKeyCtx|moveVertexAlongDirection|multiProfileBirailSurface|mute|nParticle|nameCommand|nameField|namespace|namespaceInfo|newPanelItems|newton|nodeCast|nodeIconButton|nodeOutliner|nodePreset|nodeType|noise|nonLinear|normalConstraint|normalize|nurbsBoolean|nurbsCopyUVSet|nurbsCube|nurbsEditUV|nurbsPlane|nurbsSelect|nurbsSquare|nurbsToPoly|nurbsToPolygonsPref|nurbsToSubdiv|nurbsToSubdivPref|nurbsUVSet|nurbsViewDirectionVector|objExists|objectCenter|objectLayer|objectType|objectTypeUI|obsoleteProc|oceanNurbsPreviewPlane|offsetCurve|offsetCurveOnSurface|offsetSurface|openGLExtension|openMayaPref|optionMenu|optionMenuGrp|optionVar|orbit|orbitCtx|orientConstraint|outlinerEditor|outlinerPanel|overrideModifier|paintEffectsDisplay|pairBlend|palettePort|paneLayout|panel|panelConfiguration|panelHistory|paramDimContext|paramDimension|paramLocator|parent|parentConstraint|particle|particleExists|particleInstancer|particleRenderInfo|partition|pasteKey|pathAnimation|pause|pclose|percent|performanceOptions|pfxstrokes|pickWalk|picture|pixelMove|planarSrf|plane|play|playbackOptions|playblast|plugAttr|plugNode|pluginInfo|pluginResourceUtil|pointConstraint|pointCurveConstraint|pointLight|pointMatrixMult|pointOnCurve|pointOnSurface|pointPosition|poleVectorConstraint|polyAppend|polyAppendFacetCtx|polyAppendVertex|polyAutoProjection|polyAverageNormal|polyAverageVertex|polyBevel|polyBlendColor|polyBlindData|polyBoolOp|polyBridgeEdge|polyCacheMonitor|polyCheck|polyChipOff|polyClipboard|polyCloseBorder|polyCollapseEdge|polyCollapseFacet|polyColorBlindData|polyColorDel|polyColorPerVertex|polyColorSet|polyCompare|polyCone|polyCopyUV|polyCrease|polyCreaseCtx|polyCreateFacet|polyCreateFacetCtx|polyCube|polyCut|polyCutCtx|polyCylinder|polyCylindricalProjection|polyDelEdge|polyDelFacet|polyDelVertex|polyDuplicateAndConnect|polyDuplicateEdge|polyEditUV|polyEditUVShell|polyEvaluate|polyExtrudeEdge|polyExtrudeFacet|polyExtrudeVertex|polyFlipEdge|polyFlipUV|polyForceUV|polyGeoSampler|polyHelix|polyInfo|polyInstallAction|polyLayoutUV|polyListComponentConversion|polyMapCut|polyMapDel|polyMapSew|polyMapSewMove|polyMergeEdge|polyMergeEdgeCtx|polyMergeFacet|polyMergeFacetCtx|polyMergeUV|polyMergeVertex|polyMirrorFace|polyMoveEdge|polyMoveFacet|polyMoveFacetUV|polyMoveUV|polyMoveVertex|polyNormal|polyNormalPerVertex|polyNormalizeUV|polyOptUvs|polyOptions|polyOutput|polyPipe|polyPlanarProjection|polyPlane|polyPlatonicSolid|polyPoke|polyPrimitive|polyPrism|polyProjection|polyPyramid|polyQuad|polyQueryBlindData|polyReduce|polySelect|polySelectConstraint|polySelectConstraintMonitor|polySelectCtx|polySelectEditCtx|polySeparate|polySetToFaceNormal|polySewEdge|polyShortestPathCtx|polySmooth|polySoftEdge|polySphere|polySphericalProjection|polySplit|polySplitCtx|polySplitEdge|polySplitRing|polySplitVertex|polyStraightenUVBorder|polySubdivideEdge|polySubdivideFacet|polyToSubdiv|polyTorus|polyTransfer|polyTriangulate|polyUVSet|polyUnite|polyWedgeFace|popen|popupMenu|pose|pow|preloadRefEd|print|progressBar|progressWindow|projFileViewer|projectCurve|projectTangent|projectionContext|projectionManip|promptDialog|propModCtx|propMove|psdChannelOutliner|psdEditTextureFile|psdExport|psdTextureFile|putenv|pwd|python|querySubdiv|quit|rad_to_deg|radial|radioButton|radioButtonGrp|radioCollection|radioMenuItemCollection|rampColorPort|rand|randomizeFollicles|randstate|rangeControl|readTake|rebuildCurve|rebuildSurface|recordAttr|recordDevice|redo|reference|referenceEdit|referenceQuery|refineSubdivSelectionList|refresh|refreshAE|registerPluginResource|rehash|reloadImage|removeJoint|removeMultiInstance|removePanelCategory|rename|renameAttr|renameSelectionList|renameUI|render|renderGlobalsNode|renderInfo|renderLayerButton|renderLayerParent|renderLayerPostProcess|renderLayerUnparent|renderManip|renderPartition|renderQualityNode|renderSettings|renderThumbnailUpdate|renderWindowEditor|renderWindowSelectContext|renderer|reorder|reorderDeformers|requires|reroot|resampleFluid|resetAE|resetPfxToPolyCamera|resetTool|resolutionNode|retarget|reverseCurve|reverseSurface|revolve|rgb_to_hsv|rigidBody|rigidSolver|roll|rollCtx|rootOf|rot|rotate|rotationInterpolation|roundConstantRadius|rowColumnLayout|rowLayout|runTimeCommand|runup|sampleImage|saveAllShelves|saveAttrPreset|saveFluid|saveImage|saveInitialState|saveMenu|savePrefObjects|savePrefs|saveShelf|saveToolSettings|scale|scaleBrushBrightness|scaleComponents|scaleConstraint|scaleKey|scaleKeyCtx|sceneEditor|sceneUIReplacement|scmh|scriptCtx|scriptEditorInfo|scriptJob|scriptNode|scriptTable|scriptToShelf|scriptedPanel|scriptedPanelType|scrollField|scrollLayout|sculpt|searchPathArray|seed|selLoadSettings|select|selectContext|selectCurveCV|selectKey|selectKeyCtx|selectKeyframeRegionCtx|selectMode|selectPref|selectPriority|selectType|selectedNodes|selectionConnection|separator|setAttr|setAttrEnumResource|setAttrMapping|setAttrNiceNameResource|setConstraintRestPosition|setDefaultShadingGroup|setDrivenKeyframe|setDynamic|setEditCtx|setEditor|setFluidAttr|setFocus|setInfinity|setInputDeviceMapping|setKeyCtx|setKeyPath|setKeyframe|setKeyframeBlendshapeTargetWts|setMenuMode|setNodeNiceNameResource|setNodeTypeFlag|setParent|setParticleAttr|setPfxToPolyCamera|setPluginResource|setProject|setStampDensity|setStartupMessage|setState|setToolTo|setUITemplate|setXformManip|sets|shadingConnection|shadingGeometryRelCtx|shadingLightRelCtx|shadingNetworkCompare|shadingNode|shapeCompare|shelfButton|shelfLayout|shelfTabLayout|shellField|shortNameOf|showHelp|showHidden|showManipCtx|showSelectionInTitle|showShadingGroupAttrEditor|showWindow|sign|simplify|sin|singleProfileBirailSurface|size|sizeBytes|skinCluster|skinPercent|smoothCurve|smoothTangentSurface|smoothstep|snap2to2|snapKey|snapMode|snapTogetherCtx|snapshot|soft|softMod|softModCtx|sort|sound|soundControl|source|spaceLocator|sphere|sphrand|spotLight|spotLightPreviewPort|spreadSheetEditor|spring|sqrt|squareSurface|srtContext|stackTrace|startString|startsWith|stitchAndExplodeShell|stitchSurface|stitchSurfacePoints|strcmp|stringArrayCatenate|stringArrayContains|stringArrayCount|stringArrayInsertAtIndex|stringArrayIntersector|stringArrayRemove|stringArrayRemoveAtIndex|stringArrayRemoveDuplicates|stringArrayRemoveExact|stringArrayToString|stringToStringArray|strip|stripPrefixFromName|stroke|subdAutoProjection|subdCleanTopology|subdCollapse|subdDuplicateAndConnect|subdEditUV|subdListComponentConversion|subdMapCut|subdMapSewMove|subdMatchTopology|subdMirror|subdToBlind|subdToPoly|subdTransferUVsToCache|subdiv|subdivCrease|subdivDisplaySmoothness|substitute|substituteAllString|substituteGeometry|substring|surface|surfaceSampler|surfaceShaderList|swatchDisplayPort|switchTable|symbolButton|symbolCheckBox|sysFile|system|tabLayout|tan|tangentConstraint|texLatticeDeformContext|texManipContext|texMoveContext|texMoveUVShellContext|texRotateContext|texScaleContext|texSelectContext|texSelectShortestPathCtx|texSmudgeUVContext|texWinToolCtx|text|textCurves|textField|textFieldButtonGrp|textFieldGrp|textManip|textScrollList|textToShelf|textureDisplacePlane|textureHairColor|texturePlacementContext|textureWindow|threadCount|threePointArcCtx|timeControl|timePort|timerX|toNativePath|toggle|toggleAxis|toggleWindowVisibility|tokenize|tokenizeList|tolerance|tolower|toolButton|toolCollection|toolDropped|toolHasOptions|toolPropertyWindow|torus|toupper|trace|track|trackCtx|transferAttributes|transformCompare|transformLimits|translator|trim|trunc|truncateFluidCache|truncateHairCache|tumble|tumbleCtx|turbulence|twoPointArcCtx|uiRes|uiTemplate|unassignInputDevice|undo|undoInfo|ungroup|uniform|unit|unloadPlugin|untangleUV|untitledFileName|untrim|upAxis|updateAE|userCtx|uvLink|uvSnapshot|validateShelfName|vectorize|view2dToolCtx|viewCamera|viewClipPlane|viewFit|viewHeadOn|viewLookAt|viewManip|viewPlace|viewSet|visor|volumeAxis|vortex|waitCursor|warning|webBrowser|webBrowserPrefs|whatIs|window|windowPref|wire|wireContext|workspace|wrinkle|wrinkleContext|writeTake|xbmLangPathList|xform)\\b/,\n operator: [\n /\\+[+=]?|-[-=]?|&&|\\|\\||[<>]=|[*\\/!=]=?|[%^]/,\n {\n // We don't want to match <<\n pattern: /(^|[^<])<(?!<)/,\n lookbehind: true\n },\n {\n // We don't want to match >>\n pattern: /(^|[^>])>(?!>)/,\n lookbehind: true\n }\n ],\n punctuation: /<<|>>|[.,:;?\\[\\](){}]/\n }\n Prism.languages.mel['code'].inside.rest = Prism.languages.mel\n}\n","'use strict'\n\nmodule.exports = mermaid\nmermaid.displayName = 'mermaid'\nmermaid.aliases = []\nfunction mermaid(Prism) {\n Prism.languages.mermaid = {\n comment: {\n pattern: /%%.*/,\n greedy: true\n },\n style: {\n pattern:\n /^([ \\t]*(?:classDef|linkStyle|style)[ \\t]+[\\w$-]+[ \\t]+)\\w.*[^\\s;]/m,\n lookbehind: true,\n inside: {\n property: /\\b\\w[\\w-]*(?=[ \\t]*:)/,\n operator: /:/,\n punctuation: /,/\n }\n },\n 'inter-arrow-label': {\n pattern:\n /([^<>ox.=-])(?:-[-.]|==)(?![<>ox.=-])[ \\t]*(?:\"[^\"\\r\\n]*\"|[^\\s\".=-](?:[^\\r\\n.=-]*[^\\s.=-])?)[ \\t]*(?:\\.+->?|--+[->]|==+[=>])(?![<>ox.=-])/,\n lookbehind: true,\n greedy: true,\n inside: {\n arrow: {\n pattern: /(?:\\.+->?|--+[->]|==+[=>])$/,\n alias: 'operator'\n },\n label: {\n pattern: /^([\\s\\S]{2}[ \\t]*)\\S(?:[\\s\\S]*\\S)?/,\n lookbehind: true,\n alias: 'property'\n },\n 'arrow-head': {\n pattern: /^\\S+/,\n alias: ['arrow', 'operator']\n }\n }\n },\n arrow: [\n // This might look complex but it really isn't.\n // There are many possible arrows (see tests) and it's impossible to fit all of them into one pattern. The\n // problem is that we only have one lookbehind per pattern. However, we cannot disallow too many arrow\n // characters in the one lookbehind because that would create too many false negatives. So we have to split the\n // arrows into different patterns.\n {\n // ER diagram\n pattern: /(^|[^{}|o.-])[|}][|o](?:--|\\.\\.)[|o][|{](?![{}|o.-])/,\n lookbehind: true,\n alias: 'operator'\n },\n {\n // flow chart\n // (?:==+|--+|-\\.*-)\n pattern:\n /(^|[^<>ox.=-])(?:[<ox](?:==+|--+|-\\.*-)[>ox]?|(?:==+|--+|-\\.*-)[>ox]|===+|---+|-\\.+-)(?![<>ox.=-])/,\n lookbehind: true,\n alias: 'operator'\n },\n {\n // sequence diagram\n pattern:\n /(^|[^<>()x-])(?:--?(?:>>|[x>)])(?![<>()x])|(?:<<|[x<(])--?(?!-))/,\n lookbehind: true,\n alias: 'operator'\n },\n {\n // class diagram\n pattern:\n /(^|[^<>|*o.-])(?:[*o]--|--[*o]|<\\|?(?:--|\\.\\.)|(?:--|\\.\\.)\\|?>|--|\\.\\.)(?![<>|*o.-])/,\n lookbehind: true,\n alias: 'operator'\n }\n ],\n label: {\n pattern: /(^|[^|<])\\|(?:[^\\r\\n\"|]|\"[^\"\\r\\n]*\")+\\|/,\n lookbehind: true,\n greedy: true,\n alias: 'property'\n },\n text: {\n pattern: /(?:[(\\[{]+|\\b>)(?:[^\\r\\n\"()\\[\\]{}]|\"[^\"\\r\\n]*\")+(?:[)\\]}]+|>)/,\n alias: 'string'\n },\n string: {\n pattern: /\"[^\"\\r\\n]*\"/,\n greedy: true\n },\n annotation: {\n pattern:\n /<<(?:abstract|choice|enumeration|fork|interface|join|service)>>|\\[\\[(?:choice|fork|join)\\]\\]/i,\n alias: 'important'\n },\n keyword: [\n // This language has both case-sensitive and case-insensitive keywords\n {\n pattern:\n /(^[ \\t]*)(?:action|callback|class|classDef|classDiagram|click|direction|erDiagram|flowchart|gantt|gitGraph|graph|journey|link|linkStyle|pie|requirementDiagram|sequenceDiagram|stateDiagram|stateDiagram-v2|style|subgraph)(?![\\w$-])/m,\n lookbehind: true,\n greedy: true\n },\n {\n pattern:\n /(^[ \\t]*)(?:activate|alt|and|as|autonumber|deactivate|else|end(?:[ \\t]+note)?|loop|opt|par|participant|rect|state|note[ \\t]+(?:over|(?:left|right)[ \\t]+of))(?![\\w$-])/im,\n lookbehind: true,\n greedy: true\n }\n ],\n entity: /#[a-z0-9]+;/,\n operator: {\n pattern: /(\\w[ \\t]*)&(?=[ \\t]*\\w)|:::|:/,\n lookbehind: true\n },\n punctuation: /[(){};]/\n }\n}\n","'use strict'\n\nmodule.exports = mizar\nmizar.displayName = 'mizar'\nmizar.aliases = []\nfunction mizar(Prism) {\n Prism.languages.mizar = {\n comment: /::.+/,\n keyword:\n /@proof\\b|\\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|end|environ|equals|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|iff?|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:ies|y)|when|where|with|wrt)\\b/,\n parameter: {\n pattern: /\\$(?:10|\\d)/,\n alias: 'variable'\n },\n variable: /\\b\\w+(?=:)/,\n number: /(?:\\b|-)\\d+\\b/,\n operator: /\\.\\.\\.|->|&|\\.?=/,\n punctuation: /\\(#|#\\)|[,:;\\[\\](){}]/\n }\n}\n","'use strict'\n\nmodule.exports = mongodb\nmongodb.displayName = 'mongodb'\nmongodb.aliases = []\nfunction mongodb(Prism) {\n ;(function (Prism) {\n var operators = [\n // query and projection\n '$eq',\n '$gt',\n '$gte',\n '$in',\n '$lt',\n '$lte',\n '$ne',\n '$nin',\n '$and',\n '$not',\n '$nor',\n '$or',\n '$exists',\n '$type',\n '$expr',\n '$jsonSchema',\n '$mod',\n '$regex',\n '$text',\n '$where',\n '$geoIntersects',\n '$geoWithin',\n '$near',\n '$nearSphere',\n '$all',\n '$elemMatch',\n '$size',\n '$bitsAllClear',\n '$bitsAllSet',\n '$bitsAnyClear',\n '$bitsAnySet',\n '$comment',\n '$elemMatch',\n '$meta',\n '$slice', // update\n '$currentDate',\n '$inc',\n '$min',\n '$max',\n '$mul',\n '$rename',\n '$set',\n '$setOnInsert',\n '$unset',\n '$addToSet',\n '$pop',\n '$pull',\n '$push',\n '$pullAll',\n '$each',\n '$position',\n '$slice',\n '$sort',\n '$bit', // aggregation pipeline stages\n '$addFields',\n '$bucket',\n '$bucketAuto',\n '$collStats',\n '$count',\n '$currentOp',\n '$facet',\n '$geoNear',\n '$graphLookup',\n '$group',\n '$indexStats',\n '$limit',\n '$listLocalSessions',\n '$listSessions',\n '$lookup',\n '$match',\n '$merge',\n '$out',\n '$planCacheStats',\n '$project',\n '$redact',\n '$replaceRoot',\n '$replaceWith',\n '$sample',\n '$set',\n '$skip',\n '$sort',\n '$sortByCount',\n '$unionWith',\n '$unset',\n '$unwind',\n '$setWindowFields', // aggregation pipeline operators\n '$abs',\n '$accumulator',\n '$acos',\n '$acosh',\n '$add',\n '$addToSet',\n '$allElementsTrue',\n '$and',\n '$anyElementTrue',\n '$arrayElemAt',\n '$arrayToObject',\n '$asin',\n '$asinh',\n '$atan',\n '$atan2',\n '$atanh',\n '$avg',\n '$binarySize',\n '$bsonSize',\n '$ceil',\n '$cmp',\n '$concat',\n '$concatArrays',\n '$cond',\n '$convert',\n '$cos',\n '$dateFromParts',\n '$dateToParts',\n '$dateFromString',\n '$dateToString',\n '$dayOfMonth',\n '$dayOfWeek',\n '$dayOfYear',\n '$degreesToRadians',\n '$divide',\n '$eq',\n '$exp',\n '$filter',\n '$first',\n '$floor',\n '$function',\n '$gt',\n '$gte',\n '$hour',\n '$ifNull',\n '$in',\n '$indexOfArray',\n '$indexOfBytes',\n '$indexOfCP',\n '$isArray',\n '$isNumber',\n '$isoDayOfWeek',\n '$isoWeek',\n '$isoWeekYear',\n '$last',\n '$last',\n '$let',\n '$literal',\n '$ln',\n '$log',\n '$log10',\n '$lt',\n '$lte',\n '$ltrim',\n '$map',\n '$max',\n '$mergeObjects',\n '$meta',\n '$min',\n '$millisecond',\n '$minute',\n '$mod',\n '$month',\n '$multiply',\n '$ne',\n '$not',\n '$objectToArray',\n '$or',\n '$pow',\n '$push',\n '$radiansToDegrees',\n '$range',\n '$reduce',\n '$regexFind',\n '$regexFindAll',\n '$regexMatch',\n '$replaceOne',\n '$replaceAll',\n '$reverseArray',\n '$round',\n '$rtrim',\n '$second',\n '$setDifference',\n '$setEquals',\n '$setIntersection',\n '$setIsSubset',\n '$setUnion',\n '$size',\n '$sin',\n '$slice',\n '$split',\n '$sqrt',\n '$stdDevPop',\n '$stdDevSamp',\n '$strcasecmp',\n '$strLenBytes',\n '$strLenCP',\n '$substr',\n '$substrBytes',\n '$substrCP',\n '$subtract',\n '$sum',\n '$switch',\n '$tan',\n '$toBool',\n '$toDate',\n '$toDecimal',\n '$toDouble',\n '$toInt',\n '$toLong',\n '$toObjectId',\n '$toString',\n '$toLower',\n '$toUpper',\n '$trim',\n '$trunc',\n '$type',\n '$week',\n '$year',\n '$zip',\n '$count',\n '$dateAdd',\n '$dateDiff',\n '$dateSubtract',\n '$dateTrunc',\n '$getField',\n '$rand',\n '$sampleRate',\n '$setField',\n '$unsetField', // aggregation pipeline query modifiers\n '$comment',\n '$explain',\n '$hint',\n '$max',\n '$maxTimeMS',\n '$min',\n '$orderby',\n '$query',\n '$returnKey',\n '$showDiskLoc',\n '$natural'\n ]\n var builtinFunctions = [\n 'ObjectId',\n 'Code',\n 'BinData',\n 'DBRef',\n 'Timestamp',\n 'NumberLong',\n 'NumberDecimal',\n 'MaxKey',\n 'MinKey',\n 'RegExp',\n 'ISODate',\n 'UUID'\n ]\n operators = operators.map(function (operator) {\n return operator.replace('$', '\\\\$')\n })\n var operatorsSource = '(?:' + operators.join('|') + ')\\\\b'\n Prism.languages.mongodb = Prism.languages.extend('javascript', {})\n Prism.languages.insertBefore('mongodb', 'string', {\n property: {\n pattern:\n /(?:([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)(?=\\s*:)/,\n greedy: true,\n inside: {\n keyword: RegExp('^([\\'\"])?' + operatorsSource + '(?:\\\\1)?$')\n }\n }\n })\n Prism.languages.mongodb.string.inside = {\n url: {\n // url pattern\n pattern:\n /https?:\\/\\/[-\\w@:%.+~#=]{1,256}\\.[a-z0-9()]{1,6}\\b[-\\w()@:%+.~#?&/=]*/i,\n greedy: true\n },\n entity: {\n // ipv4\n pattern:\n /\\b(?:(?:[01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.){3}(?:[01]?\\d\\d?|2[0-4]\\d|25[0-5])\\b/,\n greedy: true\n }\n }\n Prism.languages.insertBefore('mongodb', 'constant', {\n builtin: {\n pattern: RegExp('\\\\b(?:' + builtinFunctions.join('|') + ')\\\\b'),\n alias: 'keyword'\n }\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = monkey\nmonkey.displayName = 'monkey'\nmonkey.aliases = []\nfunction monkey(Prism) {\n Prism.languages.monkey = {\n comment: {\n pattern: /^#Rem\\s[\\s\\S]*?^#End|'.+/im,\n greedy: true\n },\n string: {\n pattern: /\"[^\"\\r\\n]*\"/,\n greedy: true\n },\n preprocessor: {\n pattern: /(^[ \\t]*)#.+/m,\n lookbehind: true,\n greedy: true,\n alias: 'property'\n },\n function: /\\b\\w+(?=\\()/,\n 'type-char': {\n pattern: /\\b[?%#$]/,\n alias: 'class-name'\n },\n number: {\n pattern:\n /((?:\\.\\.)?)(?:(?:\\b|\\B-\\.?|\\B\\.)\\d+(?:(?!\\.\\.)\\.\\d*)?|\\$[\\da-f]+)/i,\n lookbehind: true\n },\n keyword:\n /\\b(?:Abstract|Array|Bool|Case|Catch|Class|Const|Continue|Default|Eachin|Else|ElseIf|End|EndIf|Exit|Extends|Extern|False|Field|Final|Float|For|Forever|Function|Global|If|Implements|Import|Inline|Int|Interface|Local|Method|Module|New|Next|Null|Object|Private|Property|Public|Repeat|Return|Select|Self|Step|Strict|String|Super|Then|Throw|To|True|Try|Until|Void|Wend|While)\\b/i,\n operator:\n /\\.\\.|<[=>]?|>=?|:?=|(?:[+\\-*\\/&~|]|\\b(?:Mod|Shl|Shr)\\b)=?|\\b(?:And|Not|Or)\\b/i,\n punctuation: /[.,:;()\\[\\]]/\n }\n}\n","'use strict'\n\nmodule.exports = moonscript\nmoonscript.displayName = 'moonscript'\nmoonscript.aliases = ['moon']\nfunction moonscript(Prism) {\n Prism.languages.moonscript = {\n comment: /--.*/,\n string: [\n {\n pattern: /'[^']*'|\\[(=*)\\[[\\s\\S]*?\\]\\1\\]/,\n greedy: true\n },\n {\n pattern: /\"[^\"]*\"/,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /#\\{[^{}]*\\}/,\n inside: {\n moonscript: {\n pattern: /(^#\\{)[\\s\\S]+(?=\\})/,\n lookbehind: true,\n inside: null // see beow\n },\n 'interpolation-punctuation': {\n pattern: /#\\{|\\}/,\n alias: 'punctuation'\n }\n }\n }\n }\n }\n ],\n 'class-name': [\n {\n pattern: /(\\b(?:class|extends)[ \\t]+)\\w+/,\n lookbehind: true\n }, // class-like names start with a capital letter\n /\\b[A-Z]\\w*/\n ],\n keyword:\n /\\b(?:class|continue|do|else|elseif|export|extends|for|from|if|import|in|local|nil|return|self|super|switch|then|unless|using|when|while|with)\\b/,\n variable: /@@?\\w*/,\n property: {\n pattern: /\\b(?!\\d)\\w+(?=:)|(:)(?!\\d)\\w+/,\n lookbehind: true\n },\n function: {\n pattern:\n /\\b(?:_G|_VERSION|assert|collectgarbage|coroutine\\.(?:create|resume|running|status|wrap|yield)|debug\\.(?:debug|getfenv|gethook|getinfo|getlocal|getmetatable|getregistry|getupvalue|setfenv|sethook|setlocal|setmetatable|setupvalue|traceback)|dofile|error|getfenv|getmetatable|io\\.(?:close|flush|input|lines|open|output|popen|read|stderr|stdin|stdout|tmpfile|type|write)|ipairs|load|loadfile|loadstring|math\\.(?:abs|acos|asin|atan|atan2|ceil|cos|cosh|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|pi|pow|rad|random|randomseed|sin|sinh|sqrt|tan|tanh)|module|next|os\\.(?:clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\\.(?:cpath|loaded|loadlib|path|preload|seeall)|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|string\\.(?:byte|char|dump|find|format|gmatch|gsub|len|lower|match|rep|reverse|sub|upper)|table\\.(?:concat|insert|maxn|remove|sort)|tonumber|tostring|type|unpack|xpcall)\\b/,\n inside: {\n punctuation: /\\./\n }\n },\n boolean: /\\b(?:false|true)\\b/,\n number:\n /(?:\\B\\.\\d+|\\b\\d+\\.\\d+|\\b\\d+(?=[eE]))(?:[eE][-+]?\\d+)?\\b|\\b(?:0x[a-fA-F\\d]+|\\d+)(?:U?LL)?\\b/,\n operator:\n /\\.{3}|[-=]>|~=|(?:[-+*/%<>!=]|\\.\\.)=?|[:#^]|\\b(?:and|or)\\b=?|\\b(?:not)\\b/,\n punctuation: /[.,()[\\]{}\\\\]/\n }\n Prism.languages.moonscript.string[1].inside.interpolation.inside.moonscript.inside =\n Prism.languages.moonscript\n Prism.languages.moon = Prism.languages.moonscript\n}\n","'use strict'\n\nmodule.exports = n1ql\nn1ql.displayName = 'n1ql'\nn1ql.aliases = []\nfunction n1ql(Prism) {\n // https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/index.html\n Prism.languages.n1ql = {\n comment: {\n pattern: /\\/\\*[\\s\\S]*?(?:$|\\*\\/)|--.*/,\n greedy: true\n },\n string: {\n pattern: /([\"'])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\]|\\1\\1)*\\1/,\n greedy: true\n },\n identifier: {\n pattern: /`(?:\\\\[\\s\\S]|[^\\\\`]|``)*`/,\n greedy: true\n },\n parameter: /\\$[\\w.]+/,\n // https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/reservedwords.html#n1ql-reserved-words\n keyword:\n /\\b(?:ADVISE|ALL|ALTER|ANALYZE|AS|ASC|AT|BEGIN|BINARY|BOOLEAN|BREAK|BUCKET|BUILD|BY|CALL|CAST|CLUSTER|COLLATE|COLLECTION|COMMIT|COMMITTED|CONNECT|CONTINUE|CORRELATE|CORRELATED|COVER|CREATE|CURRENT|DATABASE|DATASET|DATASTORE|DECLARE|DECREMENT|DELETE|DERIVED|DESC|DESCRIBE|DISTINCT|DO|DROP|EACH|ELEMENT|EXCEPT|EXCLUDE|EXECUTE|EXPLAIN|FETCH|FILTER|FLATTEN|FLUSH|FOLLOWING|FOR|FORCE|FROM|FTS|FUNCTION|GOLANG|GRANT|GROUP|GROUPS|GSI|HASH|HAVING|IF|IGNORE|ILIKE|INCLUDE|INCREMENT|INDEX|INFER|INLINE|INNER|INSERT|INTERSECT|INTO|IS|ISOLATION|JAVASCRIPT|JOIN|KEY|KEYS|KEYSPACE|KNOWN|LANGUAGE|LAST|LEFT|LET|LETTING|LEVEL|LIMIT|LSM|MAP|MAPPING|MATCHED|MATERIALIZED|MERGE|MINUS|MISSING|NAMESPACE|NEST|NL|NO|NTH_VALUE|NULL|NULLS|NUMBER|OBJECT|OFFSET|ON|OPTION|OPTIONS|ORDER|OTHERS|OUTER|OVER|PARSE|PARTITION|PASSWORD|PATH|POOL|PRECEDING|PREPARE|PRIMARY|PRIVATE|PRIVILEGE|PROBE|PROCEDURE|PUBLIC|RANGE|RAW|REALM|REDUCE|RENAME|RESPECT|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLLBACK|ROW|ROWS|SATISFIES|SAVEPOINT|SCHEMA|SCOPE|SELECT|SELF|SEMI|SET|SHOW|SOME|START|STATISTICS|STRING|SYSTEM|TIES|TO|TRAN|TRANSACTION|TRIGGER|TRUNCATE|UNBOUNDED|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNSET|UPDATE|UPSERT|USE|USER|USING|VALIDATE|VALUE|VALUES|VIA|VIEW|WHERE|WHILE|WINDOW|WITH|WORK|XOR)\\b/i,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n boolean: /\\b(?:FALSE|TRUE)\\b/i,\n number: /(?:\\b\\d+\\.|\\B\\.)\\d+e[+\\-]?\\d+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i,\n operator:\n /[-+*\\/%]|!=|==?|\\|\\||<[>=]?|>=?|\\b(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY|EXISTS|FIRST|IN|LIKE|NOT|OR|THEN|VALUED|WHEN|WITHIN)\\b/i,\n punctuation: /[;[\\](),.{}:]/\n }\n}\n","'use strict'\n\nmodule.exports = n4js\nn4js.displayName = 'n4js'\nn4js.aliases = ['n4jsd']\nfunction n4js(Prism) {\n Prism.languages.n4js = Prism.languages.extend('javascript', {\n // Keywords from N4JS language spec: https://numberfour.github.io/n4js/spec/N4JSSpec.html\n keyword:\n /\\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\\b/\n })\n Prism.languages.insertBefore('n4js', 'constant', {\n // Annotations in N4JS spec: https://numberfour.github.io/n4js/spec/N4JSSpec.html#_annotations\n annotation: {\n pattern: /@+\\w+/,\n alias: 'operator'\n }\n })\n Prism.languages.n4jsd = Prism.languages.n4js\n}\n","'use strict'\n\nmodule.exports = nand2tetrisHdl\nnand2tetrisHdl.displayName = 'nand2tetrisHdl'\nnand2tetrisHdl.aliases = []\nfunction nand2tetrisHdl(Prism) {\n Prism.languages['nand2tetris-hdl'] = {\n comment: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n keyword: /\\b(?:BUILTIN|CHIP|CLOCKED|IN|OUT|PARTS)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n function: /\\b[A-Za-z][A-Za-z0-9]*(?=\\()/,\n number: /\\b\\d+\\b/,\n operator: /=|\\.\\./,\n punctuation: /[{}[\\];(),:]/\n }\n}\n","'use strict'\n\nmodule.exports = naniscript\nnaniscript.displayName = 'naniscript'\nnaniscript.aliases = []\nfunction naniscript(Prism) {\n ;(function (Prism) {\n var expressionDef = /\\{[^\\r\\n\\[\\]{}]*\\}/\n var params = {\n 'quoted-string': {\n pattern: /\"(?:[^\"\\\\]|\\\\.)*\"/,\n alias: 'operator'\n },\n 'command-param-id': {\n pattern: /(\\s)\\w+:/,\n lookbehind: true,\n alias: 'property'\n },\n 'command-param-value': [\n {\n pattern: expressionDef,\n alias: 'selector'\n },\n {\n pattern: /([\\t ])\\S+/,\n lookbehind: true,\n greedy: true,\n alias: 'operator'\n },\n {\n pattern: /\\S(?:.*\\S)?/,\n alias: 'operator'\n }\n ]\n }\n Prism.languages.naniscript = {\n // ; ...\n comment: {\n pattern: /^([\\t ]*);.*/m,\n lookbehind: true\n },\n // > ...\n // Define is a control line starting with '>' followed by a word, a space and a text.\n define: {\n pattern: /^>.+/m,\n alias: 'tag',\n inside: {\n value: {\n pattern: /(^>\\w+[\\t ]+)(?!\\s)[^{}\\r\\n]+/,\n lookbehind: true,\n alias: 'operator'\n },\n key: {\n pattern: /(^>)\\w+/,\n lookbehind: true\n }\n }\n },\n // # ...\n label: {\n pattern: /^([\\t ]*)#[\\t ]*\\w+[\\t ]*$/m,\n lookbehind: true,\n alias: 'regex'\n },\n command: {\n pattern: /^([\\t ]*)@\\w+(?=[\\t ]|$).*/m,\n lookbehind: true,\n alias: 'function',\n inside: {\n 'command-name': /^@\\w+/,\n expression: {\n pattern: expressionDef,\n greedy: true,\n alias: 'selector'\n },\n 'command-params': {\n pattern: /\\s*\\S[\\s\\S]*/,\n inside: params\n }\n }\n },\n // Generic is any line that doesn't start with operators: ;>#@\n 'generic-text': {\n pattern: /(^[ \\t]*)[^#@>;\\s].*/m,\n lookbehind: true,\n alias: 'punctuation',\n inside: {\n // \\{ ... \\} ... \\[ ... \\] ... \\\"\n 'escaped-char': /\\\\[{}\\[\\]\"]/,\n expression: {\n pattern: expressionDef,\n greedy: true,\n alias: 'selector'\n },\n 'inline-command': {\n pattern: /\\[[\\t ]*\\w[^\\r\\n\\[\\]]*\\]/,\n greedy: true,\n alias: 'function',\n inside: {\n 'command-params': {\n pattern: /(^\\[[\\t ]*\\w+\\b)[\\s\\S]+(?=\\]$)/,\n lookbehind: true,\n inside: params\n },\n 'command-param-name': {\n pattern: /^(\\[[\\t ]*)\\w+/,\n lookbehind: true,\n alias: 'name'\n },\n 'start-stop-char': /[\\[\\]]/\n }\n }\n }\n }\n }\n Prism.languages.nani = Prism.languages['naniscript']\n /** @typedef {InstanceType<import(\"./prism-core\")[\"Token\"]>} Token */\n /**\n * This hook is used to validate generic-text tokens for balanced brackets.\n * Mark token as bad-line when contains not balanced brackets: {},[]\n */\n Prism.hooks.add('after-tokenize', function (env) {\n /** @type {(Token | string)[]} */\n var tokens = env.tokens\n tokens.forEach(function (token) {\n if (typeof token !== 'string' && token.type === 'generic-text') {\n var content = getTextContent(token)\n if (!isBracketsBalanced(content)) {\n token.type = 'bad-line'\n token.content = content\n }\n }\n })\n })\n /**\n * @param {string} input\n * @returns {boolean}\n */\n function isBracketsBalanced(input) {\n var brackets = '[]{}'\n var stack = []\n for (var i = 0; i < input.length; i++) {\n var bracket = input[i]\n var bracketsIndex = brackets.indexOf(bracket)\n if (bracketsIndex !== -1) {\n if (bracketsIndex % 2 === 0) {\n stack.push(bracketsIndex + 1)\n } else if (stack.pop() !== bracketsIndex) {\n return false\n }\n }\n }\n return stack.length === 0\n }\n /**\n * @param {string | Token | (string | Token)[]} token\n * @returns {string}\n */\n function getTextContent(token) {\n if (typeof token === 'string') {\n return token\n } else if (Array.isArray(token)) {\n return token.map(getTextContent).join('')\n } else {\n return getTextContent(token.content)\n }\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = nasm\nnasm.displayName = 'nasm'\nnasm.aliases = []\nfunction nasm(Prism) {\n Prism.languages.nasm = {\n comment: /;.*$/m,\n string: /([\"'`])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n label: {\n pattern: /(^\\s*)[A-Za-z._?$][\\w.?$@~#]*:/m,\n lookbehind: true,\n alias: 'function'\n },\n keyword: [\n /\\[?BITS (?:16|32|64)\\]?/,\n {\n pattern: /(^\\s*)section\\s*[a-z.]+:?/im,\n lookbehind: true\n },\n /(?:extern|global)[^;\\r\\n]*/i,\n /(?:CPU|DEFAULT|FLOAT).*$/m\n ],\n register: {\n pattern:\n /\\b(?:st\\d|[xyz]mm\\d\\d?|[cdt]r\\d|r\\d\\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|di|si|sp)|[cdefgs]s)\\b/i,\n alias: 'variable'\n },\n number:\n /(?:\\b|(?=\\$))(?:0[hx](?:\\.[\\da-f]+|[\\da-f]+(?:\\.[\\da-f]+)?)(?:p[+-]?\\d+)?|\\d[\\da-f]+[hx]|\\$\\d[\\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\\d+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:\\.?e[+-]?\\d+)?[dt]?)\\b/i,\n operator: /[\\[\\]*+\\-\\/%<>=&|$!]/\n }\n}\n","'use strict'\n\nmodule.exports = neon\nneon.displayName = 'neon'\nneon.aliases = []\nfunction neon(Prism) {\n Prism.languages.neon = {\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n datetime: {\n pattern:\n /(^|[[{(=:,\\s])\\d\\d\\d\\d-\\d\\d?-\\d\\d?(?:(?:[Tt]| +)\\d\\d?:\\d\\d:\\d\\d(?:\\.\\d*)? *(?:Z|[-+]\\d\\d?(?::?\\d\\d)?)?)?(?=$|[\\]}),\\s])/,\n lookbehind: true,\n alias: 'number'\n },\n key: {\n pattern: /(^|[[{(,\\s])[^,:=[\\]{}()'\"\\s]+(?=\\s*:(?:$|[\\]}),\\s])|\\s*=)/,\n lookbehind: true,\n alias: 'atrule'\n },\n number: {\n pattern:\n /(^|[[{(=:,\\s])[+-]?(?:0x[\\da-fA-F]+|0o[0-7]+|0b[01]+|(?:\\d+(?:\\.\\d*)?|\\.?\\d+)(?:[eE][+-]?\\d+)?)(?=$|[\\]}),:=\\s])/,\n lookbehind: true\n },\n boolean: {\n pattern: /(^|[[{(=:,\\s])(?:false|no|true|yes)(?=$|[\\]}),:=\\s])/i,\n lookbehind: true\n },\n null: {\n pattern: /(^|[[{(=:,\\s])(?:null)(?=$|[\\]}),:=\\s])/i,\n lookbehind: true,\n alias: 'keyword'\n },\n string: {\n pattern:\n /(^|[[{(=:,\\s])(?:('''|\"\"\")\\r?\\n(?:(?:[^\\r\\n]|\\r?\\n(?![\\t ]*\\2))*\\r?\\n)?[\\t ]*\\2|'[^'\\r\\n]*'|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")/,\n lookbehind: true,\n greedy: true\n },\n literal: {\n pattern:\n /(^|[[{(=:,\\s])(?:[^#\"',:=[\\]{}()\\s`-]|[:-][^\"',=[\\]{}()\\s])(?:[^,:=\\]})(\\s]|:(?![\\s,\\]})]|$)|[ \\t]+[^#,:=\\]})(\\s])*/,\n lookbehind: true,\n alias: 'string'\n },\n punctuation: /[,:=[\\]{}()-]/\n }\n}\n","'use strict'\n\nmodule.exports = nevod\nnevod.displayName = 'nevod'\nnevod.aliases = []\nfunction nevod(Prism) {\n Prism.languages.nevod = {\n comment: /\\/\\/.*|(?:\\/\\*[\\s\\S]*?(?:\\*\\/|$))/,\n string: {\n pattern: /(?:\"(?:\"\"|[^\"])*\"(?!\")|'(?:''|[^'])*'(?!'))!?\\*?/,\n greedy: true,\n inside: {\n 'string-attrs': /!$|!\\*$|\\*$/\n }\n },\n namespace: {\n pattern: /(@namespace\\s+)[a-zA-Z0-9\\-.]+(?=\\s*\\{)/,\n lookbehind: true\n },\n pattern: {\n pattern:\n /(@pattern\\s+)?#?[a-zA-Z0-9\\-.]+(?:\\s*\\(\\s*(?:~\\s*)?[a-zA-Z0-9\\-.]+\\s*(?:,\\s*(?:~\\s*)?[a-zA-Z0-9\\-.]*)*\\))?(?=\\s*=)/,\n lookbehind: true,\n inside: {\n 'pattern-name': {\n pattern: /^#?[a-zA-Z0-9\\-.]+/,\n alias: 'class-name'\n },\n fields: {\n pattern: /\\(.*\\)/,\n inside: {\n 'field-name': {\n pattern: /[a-zA-Z0-9\\-.]+/,\n alias: 'variable'\n },\n punctuation: /[,()]/,\n operator: {\n pattern: /~/,\n alias: 'field-hidden-mark'\n }\n }\n }\n }\n },\n search: {\n pattern: /(@search\\s+|#)[a-zA-Z0-9\\-.]+(?:\\.\\*)?(?=\\s*;)/,\n alias: 'function',\n lookbehind: true\n },\n keyword:\n /@(?:having|inside|namespace|outside|pattern|require|search|where)\\b/,\n 'standard-pattern': {\n pattern:\n /\\b(?:Alpha|AlphaNum|Any|Blank|End|LineBreak|Num|NumAlpha|Punct|Space|Start|Symbol|Word|WordBreak)\\b(?:\\([a-zA-Z0-9\\-.,\\s+]*\\))?/,\n inside: {\n 'standard-pattern-name': {\n pattern: /^[a-zA-Z0-9\\-.]+/,\n alias: 'builtin'\n },\n quantifier: {\n pattern: /\\b\\d+(?:\\s*\\+|\\s*-\\s*\\d+)?(?!\\w)/,\n alias: 'number'\n },\n 'standard-pattern-attr': {\n pattern: /[a-zA-Z0-9\\-.]+/,\n alias: 'builtin'\n },\n punctuation: /[,()]/\n }\n },\n quantifier: {\n pattern: /\\b\\d+(?:\\s*\\+|\\s*-\\s*\\d+)?(?!\\w)/,\n alias: 'number'\n },\n operator: [\n {\n pattern: /=/,\n alias: 'pattern-def'\n },\n {\n pattern: /&/,\n alias: 'conjunction'\n },\n {\n pattern: /~/,\n alias: 'exception'\n },\n {\n pattern: /\\?/,\n alias: 'optionality'\n },\n {\n pattern: /[[\\]]/,\n alias: 'repetition'\n },\n {\n pattern: /[{}]/,\n alias: 'variation'\n },\n {\n pattern: /[+_]/,\n alias: 'sequence'\n },\n {\n pattern: /\\.{2,3}/,\n alias: 'span'\n }\n ],\n 'field-capture': [\n {\n pattern:\n /([a-zA-Z0-9\\-.]+\\s*\\()\\s*[a-zA-Z0-9\\-.]+\\s*:\\s*[a-zA-Z0-9\\-.]+(?:\\s*,\\s*[a-zA-Z0-9\\-.]+\\s*:\\s*[a-zA-Z0-9\\-.]+)*(?=\\s*\\))/,\n lookbehind: true,\n inside: {\n 'field-name': {\n pattern: /[a-zA-Z0-9\\-.]+/,\n alias: 'variable'\n },\n colon: /:/\n }\n },\n {\n pattern: /[a-zA-Z0-9\\-.]+\\s*:/,\n inside: {\n 'field-name': {\n pattern: /[a-zA-Z0-9\\-.]+/,\n alias: 'variable'\n },\n colon: /:/\n }\n }\n ],\n punctuation: /[:;,()]/,\n name: /[a-zA-Z0-9\\-.]+/\n }\n}\n","'use strict'\n\nmodule.exports = nginx\nnginx.displayName = 'nginx'\nnginx.aliases = []\nfunction nginx(Prism) {\n ;(function (Prism) {\n var variable =\n /\\$(?:\\w[a-z\\d]*(?:_[^\\x00-\\x1F\\s\"'\\\\()$]*)?|\\{[^}\\s\"'\\\\]+\\})/i\n Prism.languages.nginx = {\n comment: {\n pattern: /(^|[\\s{};])#.*/,\n lookbehind: true,\n greedy: true\n },\n directive: {\n pattern:\n /(^|\\s)\\w(?:[^;{}\"'\\\\\\s]|\\\\.|\"(?:[^\"\\\\]|\\\\.)*\"|'(?:[^'\\\\]|\\\\.)*'|\\s+(?:#.*(?!.)|(?![#\\s])))*?(?=\\s*[;{])/,\n lookbehind: true,\n greedy: true,\n inside: {\n string: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\\\\\)*)(?:\"(?:[^\"\\\\]|\\\\.)*\"|'(?:[^'\\\\]|\\\\.)*')/,\n lookbehind: true,\n greedy: true,\n inside: {\n escape: {\n pattern: /\\\\[\"'\\\\nrt]/,\n alias: 'entity'\n },\n variable: variable\n }\n },\n comment: {\n pattern: /(\\s)#.*/,\n lookbehind: true,\n greedy: true\n },\n keyword: {\n pattern: /^\\S+/,\n greedy: true\n },\n // other patterns\n boolean: {\n pattern: /(\\s)(?:off|on)(?!\\S)/,\n lookbehind: true\n },\n number: {\n pattern: /(\\s)\\d+[a-z]*(?!\\S)/i,\n lookbehind: true\n },\n variable: variable\n }\n },\n punctuation: /[{};]/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = nim\nnim.displayName = 'nim'\nnim.aliases = []\nfunction nim(Prism) {\n Prism.languages.nim = {\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n string: {\n // Double-quoted strings can be prefixed by an identifier (Generalized raw string literals)\n pattern:\n /(?:\\b(?!\\d)(?:\\w|\\\\x[89a-fA-F][0-9a-fA-F])+)?(?:\"\"\"[\\s\\S]*?\"\"\"(?!\")|\"(?:\\\\[\\s\\S]|\"\"|[^\"\\\\])*\")/,\n greedy: true\n },\n char: {\n // Character literals are handled specifically to prevent issues with numeric type suffixes\n pattern: /'(?:\\\\(?:\\d+|x[\\da-fA-F]{0,2}|.)|[^'])'/,\n greedy: true\n },\n function: {\n pattern:\n /(?:(?!\\d)(?:\\w|\\\\x[89a-fA-F][0-9a-fA-F])+|`[^`\\r\\n]+`)\\*?(?:\\[[^\\]]+\\])?(?=\\s*\\()/,\n greedy: true,\n inside: {\n operator: /\\*$/\n }\n },\n // We don't want to highlight operators (and anything really) inside backticks\n identifier: {\n pattern: /`[^`\\r\\n]+`/,\n greedy: true,\n inside: {\n punctuation: /`/\n }\n },\n // The negative look ahead prevents wrong highlighting of the .. operator\n number:\n /\\b(?:0[xXoObB][\\da-fA-F_]+|\\d[\\d_]*(?:(?!\\.\\.)\\.[\\d_]*)?(?:[eE][+-]?\\d[\\d_]*)?)(?:'?[iuf]\\d*)?/,\n keyword:\n /\\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\\b/,\n operator: {\n // Look behind and look ahead prevent wrong highlighting of punctuations [. .] {. .} (. .)\n // but allow the slice operator .. to take precedence over them\n // One can define his own operators in Nim so all combination of operators might be an operator.\n pattern:\n /(^|[({\\[](?=\\.\\.)|(?![({\\[]\\.).)(?:(?:[=+\\-*\\/<>@$~&%|!?^:\\\\]|\\.\\.|\\.(?![)}\\]]))+|\\b(?:and|div|in|is|isnot|mod|not|notin|of|or|shl|shr|xor)\\b)/m,\n lookbehind: true\n },\n punctuation: /[({\\[]\\.|\\.[)}\\]]|[`(){}\\[\\],:]/\n }\n}\n","'use strict'\n\nmodule.exports = nix\nnix.displayName = 'nix'\nnix.aliases = []\nfunction nix(Prism) {\n Prism.languages.nix = {\n comment: {\n pattern: /\\/\\*[\\s\\S]*?\\*\\/|#.*/,\n greedy: true\n },\n string: {\n pattern: /\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"|''(?:(?!'')[\\s\\S]|''(?:'|\\\\|\\$\\{))*''/,\n greedy: true,\n inside: {\n interpolation: {\n // The lookbehind ensures the ${} is not preceded by \\ or ''\n pattern: /(^|(?:^|(?!'').)[^\\\\])\\$\\{(?:[^{}]|\\{[^}]*\\})*\\}/,\n lookbehind: true,\n inside: null // see below\n }\n }\n },\n url: [\n /\\b(?:[a-z]{3,7}:\\/\\/)[\\w\\-+%~\\/.:#=?&]+/,\n {\n pattern:\n /([^\\/])(?:[\\w\\-+%~.:#=?&]*(?!\\/\\/)[\\w\\-+%~\\/.:#=?&])?(?!\\/\\/)\\/[\\w\\-+%~\\/.:#=?&]*/,\n lookbehind: true\n }\n ],\n antiquotation: {\n pattern: /\\$(?=\\{)/,\n alias: 'important'\n },\n number: /\\b\\d+\\b/,\n keyword: /\\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\\b/,\n function:\n /\\b(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:Tarball|url)|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf)\\b|\\bfoldl'\\B/,\n boolean: /\\b(?:false|true)\\b/,\n operator: /[=!<>]=?|\\+\\+?|\\|\\||&&|\\/\\/|->?|[?@]/,\n punctuation: /[{}()[\\].,:;]/\n }\n Prism.languages.nix.string.inside.interpolation.inside = Prism.languages.nix\n}\n","'use strict'\n\nmodule.exports = nsis\nnsis.displayName = 'nsis'\nnsis.aliases = []\nfunction nsis(Prism) {\n /**\n * Original by Jan T. Sott (http://github.com/idleberg)\n *\n * Includes all commands and plug-ins shipped with NSIS 3.08\n */\n Prism.languages.nsis = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|[#;].*)/,\n lookbehind: true,\n greedy: true\n },\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n keyword: {\n pattern:\n /(^[\\t ]*)(?:Abort|Add(?:BrandingImage|Size)|AdvSplash|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|BG(?:Font|Gradient|Image)|Banner|BrandingText|BringToFront|CRCCheck|Call(?:InstDLL)?|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|Create(?:Directory|Font|ShortCut)|Delete(?:INISec|INIStr|RegKey|RegValue)?|Detail(?:Print|sButtonText)|Dialer|Dir(?:Text|Var|Verify)|EnableWindow|Enum(?:RegKey|RegValue)|Exch|Exec(?:Shell(?:Wait)?|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read|ReadByte|ReadUTF16LE|ReadWord|Seek|Write|WriteByte|WriteUTF16LE|WriteWord)?|Find(?:Close|First|Next|Window)|FlushINI|Get(?:CurInstType|CurrentAddress|DLLVersion(?:Local)?|DlgItem|ErrorLevel|FileTime(?:Local)?|FullPathName|Function(?:Address|End)?|InstDirError|LabelAddress|TempFileName)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|Silent)|InitPluginsDir|InstProgressFlags|Inst(?:Type(?:GetText|SetText)?)|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|Int(?:64|Ptr)?CmpU?|Int(?:64)?Fmt|Int(?:Ptr)?Op|IsWindow|Lang(?:DLL|String)|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|Manifest(?:DPIAware|SupportedOS)|Math|MessageBox|MiscButtonText|NSISdl|Name|Nop|OutFile|PE(?:DllCharacteristics|SubsysVer)|Page(?:Callbacks)?|Pop|Push|Quit|RMDir|Read(?:EnvStr|INIStr|RegDWORD|RegStr)|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|SearchPath|Section(?:End|GetFlags|GetInstTypes|GetSize|GetText|Group|In|SetFlags|SetInstTypes|SetSize|SetText)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress|Compressor(?:DictSize)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|ErrorLevel|Errors|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|RegView|ShellVarContext|Silent)|Show(?:InstDetails|UninstDetails|Window)|Silent(?:Install|UnInstall)|Sleep|SpaceTexts|Splash|StartMenu|Str(?:CmpS?|Cpy|Len)|SubCaption|System|UnRegDLL|Unicode|UninstPage|Uninstall(?:ButtonText|Caption|Icon|SubCaption|Text)|UserInfo|VI(?:AddVersionKey|FileVersion|ProductVersion)|VPatch|Var|WindowIcon|Write(?:INIStr|Reg(?:Bin|DWORD|ExpandStr|MultiStr|None|Str)|Uninstaller)|XPStyle|ns(?:Dialogs|Exec))\\b/m,\n lookbehind: true\n },\n property:\n /\\b(?:ARCHIVE|FILE_(?:ATTRIBUTE_ARCHIVE|ATTRIBUTE_NORMAL|ATTRIBUTE_OFFLINE|ATTRIBUTE_READONLY|ATTRIBUTE_SYSTEM|ATTRIBUTE_TEMPORARY)|HK(?:(?:CR|CU|LM)(?:32|64)?|DD|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_CONFIG|CURRENT_USER|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON1|DEFBUTTON2|DEFBUTTON3|DEFBUTTON4|ICONEXCLAMATION|ICONINFORMATION|ICONQUESTION|ICONSTOP|OK|OKCANCEL|RETRYCANCEL|RIGHT|RTLREADING|SETFOREGROUND|TOPMOST|USERICON|YESNO)|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY|admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user)\\b/,\n constant: /\\$\\{[!\\w\\.:\\^-]+\\}|\\$\\([!\\w\\.:\\^-]+\\)/,\n variable: /\\$\\w[\\w\\.]*/,\n number: /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,\n operator: /--?|\\+\\+?|<=?|>=?|==?=?|&&?|\\|\\|?|[?*\\/~^%]/,\n punctuation: /[{}[\\];(),.:]/,\n important: {\n pattern:\n /(^[\\t ]*)!(?:addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversion|gettlbversion|if|ifdef|ifmacrodef|ifmacrondef|ifndef|include|insertmacro|macro|macroend|makensis|packhdr|pragma|searchparse|searchreplace|system|tempfile|undef|verbose|warning)\\b/im,\n lookbehind: true\n }\n }\n}\n","'use strict'\nvar refractorC = require('./c.js')\nmodule.exports = objectivec\nobjectivec.displayName = 'objectivec'\nobjectivec.aliases = ['objc']\nfunction objectivec(Prism) {\n Prism.register(refractorC)\n Prism.languages.objectivec = Prism.languages.extend('c', {\n string: {\n pattern: /@?\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n greedy: true\n },\n keyword:\n /\\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/,\n operator: /-[->]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/\n })\n delete Prism.languages.objectivec['class-name']\n Prism.languages.objc = Prism.languages.objectivec\n}\n","'use strict'\n\nmodule.exports = ocaml\nocaml.displayName = 'ocaml'\nocaml.aliases = []\nfunction ocaml(Prism) {\n // https://ocaml.org/manual/lex.html\n Prism.languages.ocaml = {\n comment: {\n pattern: /\\(\\*[\\s\\S]*?\\*\\)/,\n greedy: true\n },\n char: {\n pattern: /'(?:[^\\\\\\r\\n']|\\\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,\n greedy: true\n },\n string: [\n {\n pattern: /\"(?:\\\\(?:[\\s\\S]|\\r\\n)|[^\\\\\\r\\n\"])*\"/,\n greedy: true\n },\n {\n pattern: /\\{([a-z_]*)\\|[\\s\\S]*?\\|\\1\\}/,\n greedy: true\n }\n ],\n number: [\n // binary and octal\n /\\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\\b/i, // hexadecimal\n /\\b0x[a-f0-9][a-f0-9_]*(?:\\.[a-f0-9_]*)?(?:p[+-]?\\d[\\d_]*)?(?!\\w)/i, // decimal\n /\\b\\d[\\d_]*(?:\\.[\\d_]*)?(?:e[+-]?\\d[\\d_]*)?(?!\\w)/i\n ],\n directive: {\n pattern: /\\B#\\w+/,\n alias: 'property'\n },\n label: {\n pattern: /\\B~\\w+/,\n alias: 'property'\n },\n 'type-variable': {\n pattern: /\\B'\\w+/,\n alias: 'function'\n },\n variant: {\n pattern: /`\\w+/,\n alias: 'symbol'\n },\n // For the list of keywords and operators,\n // see: http://caml.inria.fr/pub/docs/manual-ocaml/lex.html#sec84\n keyword:\n /\\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n 'operator-like-punctuation': {\n pattern: /\\[[<>|]|[>|]\\]|\\{<|>\\}/,\n alias: 'punctuation'\n },\n // Custom operators are allowed\n operator:\n /\\.[.~]|:[=>]|[=<>@^|&+\\-*\\/$%!?~][!$%&*+\\-.\\/:<=>?@^|~]*|\\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\\b/,\n punctuation: /;;|::|[(){}\\[\\].,:;#]|\\b_\\b/\n }\n}\n","'use strict'\nvar refractorC = require('./c.js')\nmodule.exports = opencl\nopencl.displayName = 'opencl'\nopencl.aliases = []\nfunction opencl(Prism) {\n Prism.register(refractorC)\n ;(function (Prism) {\n /* OpenCL kernel language */\n Prism.languages.opencl = Prism.languages.extend('c', {\n // Extracted from the official specs (2.0) and http://streamcomputing.eu/downloads/?opencl.lang (opencl-keywords, opencl-types) and http://sourceforge.net/tracker/?func=detail&aid=2957794&group_id=95717&atid=612384 (Words2, partly Words3)\n keyword:\n /\\b(?:(?:__)?(?:constant|global|kernel|local|private|read_only|read_write|write_only)|__attribute__|auto|(?:bool|u?(?:char|int|long|short)|half|quad)(?:2|3|4|8|16)?|break|case|complex|const|continue|(?:double|float)(?:16(?:x(?:1|2|4|8|16))?|1x(?:1|2|4|8|16)|2(?:x(?:1|2|4|8|16))?|3|4(?:x(?:1|2|4|8|16))?|8(?:x(?:1|2|4|8|16))?)?|default|do|else|enum|extern|for|goto|if|imaginary|inline|packed|pipe|register|restrict|return|signed|sizeof|static|struct|switch|typedef|uniform|union|unsigned|void|volatile|while)\\b/,\n // Extracted from http://streamcomputing.eu/downloads/?opencl.lang (opencl-const)\n // Math Constants: https://www.khronos.org/registry/OpenCL/sdk/2.1/docs/man/xhtml/mathConstants.html\n // Macros and Limits: https://www.khronos.org/registry/OpenCL/sdk/2.1/docs/man/xhtml/macroLimits.html\n number:\n /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[fuhl]{0,4}/i,\n boolean: /\\b(?:false|true)\\b/,\n 'constant-opencl-kernel': {\n pattern:\n /\\b(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FILTER_(?:LINEAR|NEAREST)|(?:GLOBAL|LOCAL)_MEM_FENCE|NORMALIZED_COORDS_(?:FALSE|TRUE))|CL_(?:BGRA|(?:HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?[Ax]?|(?:(?:UN)?SIGNED|[US]NORM)_(?:INT(?:8|16|32))|UNORM_(?:INT_101010|SHORT_(?:555|565)))|(?:DBL|FLT|HALF)_(?:DIG|EPSILON|(?:MAX|MIN)(?:(?:_10)?_EXP)?|MANT_DIG)|FLT_RADIX|HUGE_VALF?|(?:INT|LONG|SCHAR|SHRT)_(?:MAX|MIN)|INFINITY|MAXFLOAT|M_(?:[12]_PI|2_SQRTPI|E|LN(?:2|10)|LOG(?:2|10)E?|PI(?:_[24])?|SQRT(?:1_2|2))(?:_F|_H)?|NAN|(?:UCHAR|UINT|ULONG|USHRT)_MAX)\\b/,\n alias: 'constant'\n }\n })\n Prism.languages.insertBefore('opencl', 'class-name', {\n // https://www.khronos.org/registry/OpenCL/sdk/2.1/docs/man/xhtml/scalarDataTypes.html\n // https://www.khronos.org/registry/OpenCL/sdk/2.1/docs/man/xhtml/otherDataTypes.html\n 'builtin-type': {\n pattern:\n /\\b(?:_cl_(?:command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|cl_(?:image_format|mem_fence_flags)|clk_event_t|event_t|image(?:1d_(?:array_|buffer_)?t|2d_(?:array_(?:depth_|msaa_depth_|msaa_)?|depth_|msaa_depth_|msaa_)?t|3d_t)|intptr_t|ndrange_t|ptrdiff_t|queue_t|reserve_id_t|sampler_t|size_t|uintptr_t)\\b/,\n alias: 'keyword'\n }\n })\n var attributes = {\n // Extracted from http://streamcomputing.eu/downloads/?opencl_host.lang (opencl-types and opencl-host)\n 'type-opencl-host': {\n pattern:\n /\\b(?:cl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(?:order|type)|(?:u?(?:char|int|long|short)|double|float)(?:2|3|4|8|16)?|command_(?:queue(?:_info|_properties)?|type)|context(?:_info|_properties)?|device_(?:exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(?:event|sampler)(?:_info)?|filter_mode|half|image_info|kernel(?:_info|_work_group_info)?|map_flags|mem(?:_flags|_info|_object_type)?|platform_(?:id|info)|profiling_info|program(?:_build_info|_info)?))\\b/,\n alias: 'keyword'\n },\n 'boolean-opencl-host': {\n pattern: /\\bCL_(?:FALSE|TRUE)\\b/,\n alias: 'boolean'\n },\n // Extracted from cl.h (2.0) and http://streamcomputing.eu/downloads/?opencl_host.lang (opencl-const)\n 'constant-opencl-host': {\n pattern:\n /\\bCL_(?:A|ABGR|ADDRESS_(?:CLAMP(?:_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(?:ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(?:ACQUIRE_GL_OBJECTS|BARRIER|COPY_(?:BUFFER(?:_RECT|_TO_IMAGE)?|IMAGE(?:_TO_BUFFER)?)|FILL_(?:BUFFER|IMAGE)|MAP(?:_BUFFER|_IMAGE)|MARKER|MIGRATE(?:_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(?:BUFFER(?:_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(?:FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(?:BUFFER(?:_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(?:DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(?:_STENCIL)?|DEVICE_(?:ADDRESS_BITS|AFFINITY_DOMAIN_(?:L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(?:MEM_(?:CACHELINE_SIZE|CACHE_SIZE|CACHE_TYPE|SIZE)|VARIABLE_PREFERRED_TOTAL_SIZE)|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(?:2D_MAX_(?:HEIGHT|WIDTH)|3D_MAX_(?:DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(?:CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(?:EVENTS|QUEUES)|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(?:AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(?:AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(?:ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(?:GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(?:ON_(?:DEVICE_(?:MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(?:ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(?:_ACCELERATOR|_ALL|_CPU|_CUSTOM|_DEFAULT|_GPU)?|VENDOR(?:_ID)?|VERSION)|DRIVER_VERSION|EVENT_(?:COMMAND_(?:EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(?:KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(?:LINEAR|NEAREST)|FLOAT|FP_(?:CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(?:ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(?:ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(?:ARG_(?:ACCESS_(?:NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(?:CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(?:CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(?:FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(?:ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(?:ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(?:CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(?:HOST_MEMORY|RESOURCES)|PIPE_(?:MAX_PACKETS|PACKET_SIZE)|PLATFORM_(?:EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(?:COMMAND_(?:COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(?:BINARIES|BINARY_SIZES|BINARY_TYPE(?:_COMPILED_OBJECT|_EXECUTABLE|_LIBRARY|_NONE)?|BUILD_(?:GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(?:CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(?:ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(?:ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(?:UN)?SIGNED_INT(?:8|16|32)|SNORM_INT(?:8|16)|SUBMITTED|SUCCESS|UNORM_INT(?:8|16|24|_101010|_101010_2)|UNORM_SHORT_(?:555|565)|VERSION_(?:1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)\\b/,\n alias: 'constant'\n },\n // Extracted from cl.h (2.0) and http://streamcomputing.eu/downloads/?opencl_host.lang (opencl-host)\n 'function-opencl-host': {\n pattern:\n /\\bcl(?:BuildProgram|CloneKernel|CompileProgram|Create(?:Buffer|CommandQueue(?:WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(?:Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue(?:(?:Barrier|Marker)(?:WithWaitList)?|Copy(?:Buffer(?:Rect|ToImage)?|Image(?:ToBuffer)?)|(?:Fill|Map)(?:Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(?:Read|Write)(?:Buffer(?:Rect)?|Image)|SVM(?:Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(?:CommandQueueInfo|ContextInfo|Device(?:AndHostTimer|IDs|Info)|Event(?:Profiling)?Info|ExtensionFunctionAddress(?:ForPlatform)?|HostTimer|ImageInfo|Kernel(?:ArgInfo|Info|SubGroupInfo|WorkGroupInfo)|MemObjectInfo|PipeInfo|Platform(?:IDs|Info)|Program(?:Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|(?:Release|Retain)(?:CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(?:Alloc|Free)|Set(?:CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel|Kernel(?:Arg(?:SVMPointer)?|ExecInfo)|MemObjectDestructorCallback|UserEventStatus)|Unload(?:Platform)?Compiler|WaitForEvents)\\b/,\n alias: 'function'\n }\n }\n /* OpenCL host API */\n Prism.languages.insertBefore('c', 'keyword', attributes) // C++ includes everything from the OpenCL C host API plus the classes defined in cl2.h\n if (Prism.languages.cpp) {\n // Extracted from doxygen class list http://github.khronos.org/OpenCL-CLHPP/annotated.html\n attributes['type-opencl-host-cpp'] = {\n pattern:\n /\\b(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|Sampler|UserEvent)\\b/,\n alias: 'keyword'\n }\n Prism.languages.insertBefore('cpp', 'keyword', attributes)\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = openqasm\nopenqasm.displayName = 'openqasm'\nopenqasm.aliases = ['qasm']\nfunction openqasm(Prism) {\n // https://qiskit.github.io/openqasm/grammar/index.html\n Prism.languages.openqasm = {\n comment: /\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*/,\n string: {\n pattern: /\"[^\"\\r\\n\\t]*\"|'[^'\\r\\n\\t]*'/,\n greedy: true\n },\n keyword:\n /\\b(?:CX|OPENQASM|U|barrier|boxas|boxto|break|const|continue|ctrl|def|defcal|defcalgrammar|delay|else|end|for|gate|gphase|if|in|include|inv|kernel|lengthof|let|measure|pow|reset|return|rotary|stretchinf|while)\\b|#pragma\\b/,\n 'class-name':\n /\\b(?:angle|bit|bool|creg|fixed|float|int|length|qreg|qubit|stretch|uint)\\b/,\n function: /\\b(?:cos|exp|ln|popcount|rotl|rotr|sin|sqrt|tan)\\b(?=\\s*\\()/,\n constant: /\\b(?:euler|pi|tau)\\b|π|𝜏|ℇ/,\n number: {\n pattern:\n /(^|[^.\\w$])(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?(?:dt|ns|us|µs|ms|s)?/i,\n lookbehind: true\n },\n operator: /->|>>=?|<<=?|&&|\\|\\||\\+\\+|--|[!=<>&|~^+\\-*/%]=?|@/,\n punctuation: /[(){}\\[\\];,:.]/\n }\n Prism.languages.qasm = Prism.languages.openqasm\n}\n","'use strict'\n\nmodule.exports = oz\noz.displayName = 'oz'\noz.aliases = []\nfunction oz(Prism) {\n Prism.languages.oz = {\n comment: {\n pattern: /\\/\\*[\\s\\S]*?\\*\\/|%.*/,\n greedy: true\n },\n string: {\n pattern: /\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"/,\n greedy: true\n },\n atom: {\n pattern: /'(?:[^'\\\\]|\\\\[\\s\\S])*'/,\n greedy: true,\n alias: 'builtin'\n },\n keyword:\n /\\$|\\[\\]|\\b(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\\b/,\n function: [\n /\\b[a-z][A-Za-z\\d]*(?=\\()/,\n {\n pattern: /(\\{)[A-Z][A-Za-z\\d]*\\b/,\n lookbehind: true\n }\n ],\n number:\n /\\b(?:0[bx][\\da-f]+|\\d+(?:\\.\\d*)?(?:e~?\\d+)?)\\b|&(?:[^\\\\]|\\\\(?:\\d{3}|.))/i,\n variable: /`(?:[^`\\\\]|\\\\.)+`/,\n 'attr-name': /\\b\\w+(?=[ \\t]*:(?![:=]))/,\n operator:\n /:(?:=|::?)|<[-:=]?|=(?:=|<?:?)|>=?:?|\\\\=:?|!!?|[|#+\\-*\\/,~^@]|\\b(?:andthen|div|mod|orelse)\\b/,\n punctuation: /[\\[\\](){}.:;?]/\n }\n}\n","'use strict'\n\nmodule.exports = parigp\nparigp.displayName = 'parigp'\nparigp.aliases = []\nfunction parigp(Prism) {\n Prism.languages.parigp = {\n comment: /\\/\\*[\\s\\S]*?\\*\\/|\\\\\\\\.*/,\n string: {\n pattern: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"/,\n greedy: true\n },\n // PARI/GP does not care about white spaces at all\n // so let's process the keywords to build an appropriate regexp\n // (e.g. \"b *r *e *a *k\", etc.)\n keyword: (function () {\n var keywords = [\n 'breakpoint',\n 'break',\n 'dbg_down',\n 'dbg_err',\n 'dbg_up',\n 'dbg_x',\n 'forcomposite',\n 'fordiv',\n 'forell',\n 'forpart',\n 'forprime',\n 'forstep',\n 'forsubgroup',\n 'forvec',\n 'for',\n 'iferr',\n 'if',\n 'local',\n 'my',\n 'next',\n 'return',\n 'until',\n 'while'\n ]\n keywords = keywords\n .map(function (keyword) {\n return keyword.split('').join(' *')\n })\n .join('|')\n return RegExp('\\\\b(?:' + keywords + ')\\\\b')\n })(),\n function: /\\b\\w(?:[\\w ]*\\w)?(?= *\\()/,\n number: {\n // The lookbehind and the negative lookahead prevent from breaking the .. operator\n pattern:\n /((?:\\. *\\. *)?)(?:\\b\\d(?: *\\d)*(?: *(?!\\. *\\.)\\.(?: *\\d)*)?|\\. *\\d(?: *\\d)*)(?: *e *(?:[+-] *)?\\d(?: *\\d)*)?/i,\n lookbehind: true\n },\n operator:\n /\\. *\\.|[*\\/!](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\\+(?: *[+=])?|-(?: *[-=>])?|<(?: *>|(?: *<)?(?: *=)?)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\\\(?: *\\/)?(?: *=)?|&(?: *&)?|\\| *\\||['#~^]/,\n punctuation: /[\\[\\]{}().,:;|]/\n }\n}\n","'use strict'\n\nmodule.exports = parser\nparser.displayName = 'parser'\nparser.aliases = []\nfunction parser(Prism) {\n ;(function (Prism) {\n var parser = (Prism.languages.parser = Prism.languages.extend('markup', {\n keyword: {\n pattern:\n /(^|[^^])(?:\\^(?:case|eval|for|if|switch|throw)\\b|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)\\b)/,\n lookbehind: true\n },\n variable: {\n pattern: /(^|[^^])\\B\\$(?:\\w+|(?=[.{]))(?:(?:\\.|::?)\\w+)*(?:\\.|::?)?/,\n lookbehind: true,\n inside: {\n punctuation: /\\.|:+/\n }\n },\n function: {\n pattern: /(^|[^^])\\B[@^]\\w+(?:(?:\\.|::?)\\w+)*(?:\\.|::?)?/,\n lookbehind: true,\n inside: {\n keyword: {\n pattern: /(^@)(?:GET_|SET_)/,\n lookbehind: true\n },\n punctuation: /\\.|:+/\n }\n },\n escape: {\n pattern: /\\^(?:[$^;@()\\[\\]{}\"':]|#[a-f\\d]*)/i,\n alias: 'builtin'\n },\n punctuation: /[\\[\\](){};]/\n }))\n parser = Prism.languages.insertBefore('parser', 'keyword', {\n 'parser-comment': {\n pattern: /(\\s)#.*/,\n lookbehind: true,\n alias: 'comment'\n },\n expression: {\n // Allow for 3 levels of depth\n pattern: /(^|[^^])\\((?:[^()]|\\((?:[^()]|\\((?:[^()])*\\))*\\))*\\)/,\n greedy: true,\n lookbehind: true,\n inside: {\n string: {\n pattern: /(^|[^^])([\"'])(?:(?!\\2)[^^]|\\^[\\s\\S])*\\2/,\n lookbehind: true\n },\n keyword: parser.keyword,\n variable: parser.variable,\n function: parser.function,\n boolean: /\\b(?:false|true)\\b/,\n number: /\\b(?:0x[a-f\\d]+|\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?)\\b/i,\n escape: parser.escape,\n operator:\n /[~+*\\/\\\\%]|!(?:\\|\\|?|=)?|&&?|\\|\\|?|==|<[<=]?|>[>=]?|-[fd]?|\\b(?:def|eq|ge|gt|in|is|le|lt|ne)\\b/,\n punctuation: parser.punctuation\n }\n }\n })\n Prism.languages.insertBefore(\n 'inside',\n 'punctuation',\n {\n expression: parser.expression,\n keyword: parser.keyword,\n variable: parser.variable,\n function: parser.function,\n escape: parser.escape,\n 'parser-punctuation': {\n pattern: parser.punctuation,\n alias: 'punctuation'\n }\n },\n parser['tag'].inside['attr-value']\n )\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = pascal\npascal.displayName = 'pascal'\npascal.aliases = ['objectpascal']\nfunction pascal(Prism) {\n // Based on Free Pascal\n /* TODO\nSupport inline asm ?\n*/\n Prism.languages.pascal = {\n directive: {\n pattern: /\\{\\$[\\s\\S]*?\\}/,\n greedy: true,\n alias: ['marco', 'property']\n },\n comment: {\n pattern: /\\(\\*[\\s\\S]*?\\*\\)|\\{[\\s\\S]*?\\}|\\/\\/.*/,\n greedy: true\n },\n string: {\n pattern: /(?:'(?:''|[^'\\r\\n])*'(?!')|#[&$%]?[a-f\\d]+)+|\\^[a-z]/i,\n greedy: true\n },\n asm: {\n pattern: /(\\basm\\b)[\\s\\S]+?(?=\\bend\\s*[;[])/i,\n lookbehind: true,\n greedy: true,\n inside: null // see below\n },\n keyword: [\n {\n // Turbo Pascal\n pattern:\n /(^|[^&])\\b(?:absolute|array|asm|begin|case|const|constructor|destructor|do|downto|else|end|file|for|function|goto|if|implementation|inherited|inline|interface|label|nil|object|of|operator|packed|procedure|program|record|reintroduce|repeat|self|set|string|then|to|type|unit|until|uses|var|while|with)\\b/i,\n lookbehind: true\n },\n {\n // Free Pascal\n pattern: /(^|[^&])\\b(?:dispose|exit|false|new|true)\\b/i,\n lookbehind: true\n },\n {\n // Object Pascal\n pattern:\n /(^|[^&])\\b(?:class|dispinterface|except|exports|finalization|finally|initialization|inline|library|on|out|packed|property|raise|resourcestring|threadvar|try)\\b/i,\n lookbehind: true\n },\n {\n // Modifiers\n pattern:\n /(^|[^&])\\b(?:absolute|abstract|alias|assembler|bitpacked|break|cdecl|continue|cppdecl|cvar|default|deprecated|dynamic|enumerator|experimental|export|external|far|far16|forward|generic|helper|implements|index|interrupt|iochecks|local|message|name|near|nodefault|noreturn|nostackframe|oldfpccall|otherwise|overload|override|pascal|platform|private|protected|public|published|read|register|reintroduce|result|safecall|saveregisters|softfloat|specialize|static|stdcall|stored|strict|unaligned|unimplemented|varargs|virtual|write)\\b/i,\n lookbehind: true\n }\n ],\n number: [\n // Hexadecimal, octal and binary\n /(?:[&%]\\d+|\\$[a-f\\d]+)/i, // Decimal\n /\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?/i\n ],\n operator: [\n /\\.\\.|\\*\\*|:=|<[<=>]?|>[>=]?|[+\\-*\\/]=?|[@^=]/,\n {\n pattern:\n /(^|[^&])\\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\\b/,\n lookbehind: true\n }\n ],\n punctuation: /\\(\\.|\\.\\)|[()\\[\\]:;,.]/\n }\n Prism.languages.pascal.asm.inside = Prism.languages.extend('pascal', {\n asm: undefined,\n keyword: undefined,\n operator: undefined\n })\n Prism.languages.objectpascal = Prism.languages.pascal\n}\n","'use strict'\n\nmodule.exports = pascaligo\npascaligo.displayName = 'pascaligo'\npascaligo.aliases = []\nfunction pascaligo(Prism) {\n ;(function (Prism) {\n // Pascaligo is a layer 2 smart contract language for the tezos blockchain\n var braces = /\\((?:[^()]|\\((?:[^()]|\\([^()]*\\))*\\))*\\)/.source\n var type = /(?:\\b\\w+(?:<braces>)?|<braces>)/.source.replace(\n /<braces>/g,\n function () {\n return braces\n }\n )\n var pascaligo = (Prism.languages.pascaligo = {\n comment: /\\(\\*[\\s\\S]+?\\*\\)|\\/\\/.*/,\n string: {\n pattern: /([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|\\^[a-z]/i,\n greedy: true\n },\n 'class-name': [\n {\n pattern: RegExp(\n /(\\btype\\s+\\w+\\s+is\\s+)<type>/.source.replace(\n /<type>/g,\n function () {\n return type\n }\n ),\n 'i'\n ),\n lookbehind: true,\n inside: null // see below\n },\n {\n pattern: RegExp(\n /<type>(?=\\s+is\\b)/.source.replace(/<type>/g, function () {\n return type\n }),\n 'i'\n ),\n inside: null // see below\n },\n {\n pattern: RegExp(\n /(:\\s*)<type>/.source.replace(/<type>/g, function () {\n return type\n })\n ),\n lookbehind: true,\n inside: null // see below\n }\n ],\n keyword: {\n pattern:\n /(^|[^&])\\b(?:begin|block|case|const|else|end|fail|for|from|function|if|is|nil|of|remove|return|skip|then|type|var|while|with)\\b/i,\n lookbehind: true\n },\n boolean: {\n pattern: /(^|[^&])\\b(?:False|True)\\b/i,\n lookbehind: true\n },\n builtin: {\n pattern: /(^|[^&])\\b(?:bool|int|list|map|nat|record|string|unit)\\b/i,\n lookbehind: true\n },\n function: /\\b\\w+(?=\\s*\\()/,\n number: [\n // Hexadecimal, octal and binary\n /%[01]+|&[0-7]+|\\$[a-f\\d]+/i, // Decimal\n /\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?(?:mtz|n)?/i\n ],\n operator:\n /->|=\\/=|\\.\\.|\\*\\*|:=|<[<=>]?|>[>=]?|[+\\-*\\/]=?|[@^=|]|\\b(?:and|mod|or)\\b/,\n punctuation: /\\(\\.|\\.\\)|[()\\[\\]:;,.{}]/\n })\n var classNameInside = [\n 'comment',\n 'keyword',\n 'builtin',\n 'operator',\n 'punctuation'\n ].reduce(function (accum, key) {\n accum[key] = pascaligo[key]\n return accum\n }, {})\n pascaligo['class-name'].forEach(function (p) {\n p.inside = classNameInside\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = pcaxis\npcaxis.displayName = 'pcaxis'\npcaxis.aliases = ['px']\nfunction pcaxis(Prism) {\n Prism.languages.pcaxis = {\n string: /\"[^\"]*\"/,\n keyword: {\n pattern:\n /((?:^|;)\\s*)[-A-Z\\d]+(?:\\s*\\[[-\\w]+\\])?(?:\\s*\\(\"[^\"]*\"(?:,\\s*\"[^\"]*\")*\\))?(?=\\s*=)/,\n lookbehind: true,\n greedy: true,\n inside: {\n keyword: /^[-A-Z\\d]+/,\n language: {\n pattern: /^(\\s*)\\[[-\\w]+\\]/,\n lookbehind: true,\n inside: {\n punctuation: /^\\[|\\]$/,\n property: /[-\\w]+/\n }\n },\n 'sub-key': {\n pattern: /^(\\s*)\\S[\\s\\S]*/,\n lookbehind: true,\n inside: {\n parameter: {\n pattern: /\"[^\"]*\"/,\n alias: 'property'\n },\n punctuation: /^\\(|\\)$|,/\n }\n }\n }\n },\n operator: /=/,\n tlist: {\n pattern:\n /TLIST\\s*\\(\\s*\\w+(?:(?:\\s*,\\s*\"[^\"]*\")+|\\s*,\\s*\"[^\"]*\"-\"[^\"]*\")?\\s*\\)/,\n greedy: true,\n inside: {\n function: /^TLIST/,\n property: {\n pattern: /^(\\s*\\(\\s*)\\w+/,\n lookbehind: true\n },\n string: /\"[^\"]*\"/,\n punctuation: /[(),]/,\n operator: /-/\n }\n },\n punctuation: /[;,]/,\n number: {\n pattern: /(^|\\s)\\d+(?:\\.\\d+)?(?!\\S)/,\n lookbehind: true\n },\n boolean: /NO|YES/\n }\n Prism.languages.px = Prism.languages.pcaxis\n}\n","'use strict'\n\nmodule.exports = peoplecode\npeoplecode.displayName = 'peoplecode'\npeoplecode.aliases = ['pcode']\nfunction peoplecode(Prism) {\n Prism.languages.peoplecode = {\n comment: RegExp(\n [\n // C-style multiline comments\n /\\/\\*[\\s\\S]*?\\*\\//.source, // REM comments\n /\\bREM[^;]*;/.source, // Nested <* *> comments\n /<\\*(?:[^<*]|\\*(?!>)|<(?!\\*)|<\\*(?:(?!\\*>)[\\s\\S])*\\*>)*\\*>/.source, // /+ +/ comments\n /\\/\\+[\\s\\S]*?\\+\\//.source\n ].join('|')\n ),\n string: {\n pattern: /'(?:''|[^'\\r\\n])*'(?!')|\"(?:\"\"|[^\"\\r\\n])*\"(?!\")/,\n greedy: true\n },\n variable: /%\\w+/,\n 'function-definition': {\n pattern: /((?:^|[^\\w-])(?:function|method)\\s+)\\w+/i,\n lookbehind: true,\n alias: 'function'\n },\n 'class-name': {\n pattern:\n /((?:^|[^-\\w])(?:as|catch|class|component|create|extends|global|implements|instance|local|of|property|returns)\\s+)\\w+(?::\\w+)*/i,\n lookbehind: true,\n inside: {\n punctuation: /:/\n }\n },\n keyword:\n /\\b(?:abstract|alias|as|catch|class|component|constant|create|declare|else|end-(?:class|evaluate|for|function|get|if|method|set|try|while)|evaluate|extends|for|function|get|global|if|implements|import|instance|library|local|method|null|of|out|peopleCode|private|program|property|protected|readonly|ref|repeat|returns?|set|step|then|throw|to|try|until|value|when(?:-other)?|while)\\b/i,\n 'operator-keyword': {\n pattern: /\\b(?:and|not|or)\\b/i,\n alias: 'operator'\n },\n function: /[_a-z]\\w*(?=\\s*\\()/i,\n boolean: /\\b(?:false|true)\\b/i,\n number: /\\b\\d+(?:\\.\\d+)?\\b/,\n operator: /<>|[<>]=?|!=|\\*\\*|[-+*/|=@]/,\n punctuation: /[:.;,()[\\]]/\n }\n Prism.languages.pcode = Prism.languages.peoplecode\n}\n","'use strict'\n\nmodule.exports = perl\nperl.displayName = 'perl'\nperl.aliases = []\nfunction perl(Prism) {\n ;(function (Prism) {\n var brackets =\n /(?:\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}|\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)/\n .source\n Prism.languages.perl = {\n comment: [\n {\n // POD\n pattern: /(^\\s*)=\\w[\\s\\S]*?=cut.*/m,\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\$])#.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n // TODO Could be nice to handle Heredoc too.\n string: [\n {\n pattern: RegExp(\n /\\b(?:q|qq|qw|qx)(?![a-zA-Z0-9])\\s*/.source +\n '(?:' +\n [\n // q/.../\n /([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/.source, // q a...a\n // eslint-disable-next-line regexp/strict\n /([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2/.source, // q(...)\n // q{...}\n // q[...]\n // q<...>\n brackets\n ].join('|') +\n ')'\n ),\n greedy: true\n }, // \"...\", `...`\n {\n pattern: /(\"|`)(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n greedy: true\n }, // '...'\n // FIXME Multi-line single-quoted strings are not supported as they would break variables containing '\n {\n pattern: /'(?:[^'\\\\\\r\\n]|\\\\.)*'/,\n greedy: true\n }\n ],\n regex: [\n {\n pattern: RegExp(\n /\\b(?:m|qr)(?![a-zA-Z0-9])\\s*/.source +\n '(?:' +\n [\n // m/.../\n /([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/.source, // m a...a\n // eslint-disable-next-line regexp/strict\n /([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2/.source, // m(...)\n // m{...}\n // m[...]\n // m<...>\n brackets\n ].join('|') +\n ')' +\n /[msixpodualngc]*/.source\n ),\n greedy: true\n }, // The lookbehinds prevent -s from breaking\n {\n pattern: RegExp(\n /(^|[^-])\\b(?:s|tr|y)(?![a-zA-Z0-9])\\s*/.source +\n '(?:' +\n [\n // s/.../.../\n // eslint-disable-next-line regexp/strict\n /([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2/\n .source, // s a...a...a\n // eslint-disable-next-line regexp/strict\n /([a-zA-Z0-9])(?:(?!\\3)[^\\\\]|\\\\[\\s\\S])*\\3(?:(?!\\3)[^\\\\]|\\\\[\\s\\S])*\\3/\n .source, // s(...)(...)\n // s{...}{...}\n // s[...][...]\n // s<...><...>\n // s(...)[...]\n brackets + /\\s*/.source + brackets\n ].join('|') +\n ')' +\n /[msixpodualngcer]*/.source\n ),\n lookbehind: true,\n greedy: true\n }, // /.../\n // The look-ahead tries to prevent two divisions on\n // the same line from being highlighted as regex.\n // This does not support multi-line regex.\n {\n pattern:\n /\\/(?:[^\\/\\\\\\r\\n]|\\\\.)*\\/[msixpodualngc]*(?=\\s*(?:$|[\\r\\n,.;})&|\\-+*~<>!?^]|(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|x|xor)\\b))/,\n greedy: true\n }\n ],\n // FIXME Not sure about the handling of ::, ', and #\n variable: [\n // ${^POSTMATCH}\n /[&*$@%]\\{\\^[A-Z]+\\}/, // $^V\n /[&*$@%]\\^[A-Z_]/, // ${...}\n /[&*$@%]#?(?=\\{)/, // $foo\n /[&*$@%]#?(?:(?:::)*'?(?!\\d)[\\w$]+(?![\\w$]))+(?:::)*/, // $1\n /[&*$@%]\\d+/, // $_, @_, %!\n // The negative lookahead prevents from breaking the %= operator\n /(?!%=)[$@%][!\"#$%&'()*+,\\-.\\/:;<=>?@[\\\\\\]^_`{|}~]/\n ],\n filehandle: {\n // <>, <FOO>, _\n pattern: /<(?![<=])\\S*?>|\\b_\\b/,\n alias: 'symbol'\n },\n 'v-string': {\n // v1.2, 1.2.3\n pattern: /v\\d+(?:\\.\\d+)*|\\d+(?:\\.\\d+){2,}/,\n alias: 'string'\n },\n function: {\n pattern: /(\\bsub[ \\t]+)\\w+/,\n lookbehind: true\n },\n keyword:\n /\\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\\b/,\n number:\n /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)\\b/,\n operator:\n /-[rwxoRWXOezsfdlpSbctugkTBMAC]\\b|\\+[+=]?|-[-=>]?|\\*\\*?=?|\\/\\/?=?|=[=~>]?|~[~=]?|\\|\\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\\.(?:=|\\.\\.?)?|[\\\\?]|\\bx(?:=|\\b)|\\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)\\b/,\n punctuation: /[{}[\\];(),:]/\n }\n })(Prism)\n}\n","'use strict'\nvar refractorPhp = require('./php.js')\nmodule.exports = phpExtras\nphpExtras.displayName = 'phpExtras'\nphpExtras.aliases = []\nfunction phpExtras(Prism) {\n Prism.register(refractorPhp)\n Prism.languages.insertBefore('php', 'variable', {\n this: {\n pattern: /\\$this\\b/,\n alias: 'keyword'\n },\n global:\n /\\$(?:GLOBALS|HTTP_RAW_POST_DATA|_(?:COOKIE|ENV|FILES|GET|POST|REQUEST|SERVER|SESSION)|argc|argv|http_response_header|php_errormsg)\\b/,\n scope: {\n pattern: /\\b[\\w\\\\]+::/,\n inside: {\n keyword: /\\b(?:parent|self|static)\\b/,\n punctuation: /::|\\\\/\n }\n }\n })\n}\n","'use strict'\nvar refractorMarkupTemplating = require('./markup-templating.js')\nmodule.exports = php\nphp.displayName = 'php'\nphp.aliases = []\nfunction php(Prism) {\n Prism.register(refractorMarkupTemplating)\n /**\n * Original by Aaron Harun: http://aahacreative.com/2012/07/31/php-syntax-highlighting-prism/\n * Modified by Miles Johnson: http://milesj.me\n * Rewritten by Tom Pavelec\n *\n * Supports PHP 5.3 - 8.0\n */\n ;(function (Prism) {\n var comment = /\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*|#(?!\\[).*/\n var constant = [\n {\n pattern: /\\b(?:false|true)\\b/i,\n alias: 'boolean'\n },\n {\n pattern: /(::\\s*)\\b[a-z_]\\w*\\b(?!\\s*\\()/i,\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /(\\b(?:case|const)\\s+)\\b[a-z_]\\w*(?=\\s*[;=])/i,\n greedy: true,\n lookbehind: true\n },\n /\\b(?:null)\\b/i,\n /\\b[A-Z_][A-Z0-9_]*\\b(?!\\s*\\()/\n ]\n var number =\n /\\b0b[01]+(?:_[01]+)*\\b|\\b0o[0-7]+(?:_[0-7]+)*\\b|\\b0x[\\da-f]+(?:_[\\da-f]+)*\\b|(?:\\b\\d+(?:_\\d+)*\\.?(?:\\d+(?:_\\d+)*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i\n var operator =\n /<?=>|\\?\\?=?|\\.{3}|\\??->|[!=]=?=?|::|\\*\\*=?|--|\\+\\+|&&|\\|\\||<<|>>|[?~]|[/^|%*&<>.+-]=?/\n var punctuation = /[{}\\[\\](),:;]/\n Prism.languages.php = {\n delimiter: {\n pattern: /\\?>$|^<\\?(?:php(?=\\s)|=)?/i,\n alias: 'important'\n },\n comment: comment,\n variable: /\\$+(?:\\w+\\b|(?=\\{))/,\n package: {\n pattern:\n /(namespace\\s+|use\\s+(?:function\\s+)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n 'class-name-definition': {\n pattern: /(\\b(?:class|enum|interface|trait)\\s+)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n lookbehind: true,\n alias: 'class-name'\n },\n 'function-definition': {\n pattern: /(\\bfunction\\s+)[a-z_]\\w*(?=\\s*\\()/i,\n lookbehind: true,\n alias: 'function'\n },\n keyword: [\n {\n pattern:\n /(\\(\\s*)\\b(?:array|bool|boolean|float|int|integer|object|string)\\b(?=\\s*\\))/i,\n alias: 'type-casting',\n greedy: true,\n lookbehind: true\n },\n {\n pattern:\n /([(,?]\\s*)\\b(?:array(?!\\s*\\()|bool|callable|(?:false|null)(?=\\s*\\|)|float|int|iterable|mixed|object|self|static|string)\\b(?=\\s*\\$)/i,\n alias: 'type-hint',\n greedy: true,\n lookbehind: true\n },\n {\n pattern:\n /(\\)\\s*:\\s*(?:\\?\\s*)?)\\b(?:array(?!\\s*\\()|bool|callable|(?:false|null)(?=\\s*\\|)|float|int|iterable|mixed|object|self|static|string|void)\\b/i,\n alias: 'return-type',\n greedy: true,\n lookbehind: true\n },\n {\n pattern:\n /\\b(?:array(?!\\s*\\()|bool|float|int|iterable|mixed|object|string|void)\\b/i,\n alias: 'type-declaration',\n greedy: true\n },\n {\n pattern: /(\\|\\s*)(?:false|null)\\b|\\b(?:false|null)(?=\\s*\\|)/i,\n alias: 'type-declaration',\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /\\b(?:parent|self|static)(?=\\s*::)/i,\n alias: 'static-context',\n greedy: true\n },\n {\n // yield from\n pattern: /(\\byield\\s+)from\\b/i,\n lookbehind: true\n }, // `class` is always a keyword unlike other keywords\n /\\bclass\\b/i,\n {\n // https://www.php.net/manual/en/reserved.keywords.php\n //\n // keywords cannot be preceded by \"->\"\n // the complex lookbehind means `(?<!(?:->|::)\\s*)`\n pattern:\n /((?:^|[^\\s>:]|(?:^|[^-])>|(?:^|[^:]):)\\s*)\\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\\b/i,\n lookbehind: true\n }\n ],\n 'argument-name': {\n pattern: /([(,]\\s+)\\b[a-z_]\\w*(?=\\s*:(?!:))/i,\n lookbehind: true\n },\n 'class-name': [\n {\n pattern:\n /(\\b(?:extends|implements|instanceof|new(?!\\s+self|\\s+static))\\s+|\\bcatch\\s*\\()\\b[a-z_]\\w*(?!\\\\)\\b/i,\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /(\\|\\s*)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /\\b[a-z_]\\w*(?!\\\\)\\b(?=\\s*\\|)/i,\n greedy: true\n },\n {\n pattern: /(\\|\\s*)(?:\\\\?\\b[a-z_]\\w*)+\\b/i,\n alias: 'class-name-fully-qualified',\n greedy: true,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n {\n pattern: /(?:\\\\?\\b[a-z_]\\w*)+\\b(?=\\s*\\|)/i,\n alias: 'class-name-fully-qualified',\n greedy: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n {\n pattern:\n /(\\b(?:extends|implements|instanceof|new(?!\\s+self\\b|\\s+static\\b))\\s+|\\bcatch\\s*\\()(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n alias: 'class-name-fully-qualified',\n greedy: true,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n {\n pattern: /\\b[a-z_]\\w*(?=\\s*\\$)/i,\n alias: 'type-declaration',\n greedy: true\n },\n {\n pattern: /(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,\n alias: ['class-name-fully-qualified', 'type-declaration'],\n greedy: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n {\n pattern: /\\b[a-z_]\\w*(?=\\s*::)/i,\n alias: 'static-context',\n greedy: true\n },\n {\n pattern: /(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*::)/i,\n alias: ['class-name-fully-qualified', 'static-context'],\n greedy: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n {\n pattern: /([(,?]\\s*)[a-z_]\\w*(?=\\s*\\$)/i,\n alias: 'type-hint',\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /([(,?]\\s*)(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,\n alias: ['class-name-fully-qualified', 'type-hint'],\n greedy: true,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n {\n pattern: /(\\)\\s*:\\s*(?:\\?\\s*)?)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n alias: 'return-type',\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /(\\)\\s*:\\s*(?:\\?\\s*)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n alias: ['class-name-fully-qualified', 'return-type'],\n greedy: true,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n }\n ],\n constant: constant,\n function: {\n pattern: /(^|[^\\\\\\w])\\\\?[a-z_](?:[\\w\\\\]*\\w)?(?=\\s*\\()/i,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n property: {\n pattern: /(->\\s*)\\w+/,\n lookbehind: true\n },\n number: number,\n operator: operator,\n punctuation: punctuation\n }\n var string_interpolation = {\n pattern:\n /\\{\\$(?:\\{(?:\\{[^{}]+\\}|[^{}]+)\\}|[^{}])+\\}|(^|[^\\\\{])\\$+(?:\\w+(?:\\[[^\\r\\n\\[\\]]+\\]|->\\w+)?)/,\n lookbehind: true,\n inside: Prism.languages.php\n }\n var string = [\n {\n pattern: /<<<'([^']+)'[\\r\\n](?:.*[\\r\\n])*?\\1;/,\n alias: 'nowdoc-string',\n greedy: true,\n inside: {\n delimiter: {\n pattern: /^<<<'[^']+'|[a-z_]\\w*;$/i,\n alias: 'symbol',\n inside: {\n punctuation: /^<<<'?|[';]$/\n }\n }\n }\n },\n {\n pattern:\n /<<<(?:\"([^\"]+)\"[\\r\\n](?:.*[\\r\\n])*?\\1;|([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?\\2;)/i,\n alias: 'heredoc-string',\n greedy: true,\n inside: {\n delimiter: {\n pattern: /^<<<(?:\"[^\"]+\"|[a-z_]\\w*)|[a-z_]\\w*;$/i,\n alias: 'symbol',\n inside: {\n punctuation: /^<<<\"?|[\";]$/\n }\n },\n interpolation: string_interpolation\n }\n },\n {\n pattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/,\n alias: 'backtick-quoted-string',\n greedy: true\n },\n {\n pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/,\n alias: 'single-quoted-string',\n greedy: true\n },\n {\n pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n alias: 'double-quoted-string',\n greedy: true,\n inside: {\n interpolation: string_interpolation\n }\n }\n ]\n Prism.languages.insertBefore('php', 'variable', {\n string: string,\n attribute: {\n pattern:\n /#\\[(?:[^\"'\\/#]|\\/(?![*/])|\\/\\/.*$|#(?!\\[).*$|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*')+\\](?=\\s*[a-z$#])/im,\n greedy: true,\n inside: {\n 'attribute-content': {\n pattern: /^(#\\[)[\\s\\S]+(?=\\]$)/,\n lookbehind: true,\n // inside can appear subset of php\n inside: {\n comment: comment,\n string: string,\n 'attribute-class-name': [\n {\n pattern: /([^:]|^)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n alias: 'class-name',\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /([^:]|^)(?:\\\\?\\b[a-z_]\\w*)+/i,\n alias: ['class-name', 'class-name-fully-qualified'],\n greedy: true,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n }\n ],\n constant: constant,\n number: number,\n operator: operator,\n punctuation: punctuation\n }\n },\n delimiter: {\n pattern: /^#\\[|\\]$/,\n alias: 'punctuation'\n }\n }\n }\n })\n Prism.hooks.add('before-tokenize', function (env) {\n if (!/<\\?/.test(env.code)) {\n return\n }\n var phpPattern =\n /<\\?(?:[^\"'/#]|\\/(?![*/])|(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|(?:\\/\\/|#(?!\\[))(?:[^?\\n\\r]|\\?(?!>))*(?=$|\\?>|[\\r\\n])|#\\[|\\/\\*(?:[^*]|\\*(?!\\/))*(?:\\*\\/|$))*?(?:\\?>|$)/g\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'php',\n phpPattern\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'php')\n })\n })(Prism)\n}\n","'use strict'\nvar refractorPhp = require('./php.js')\nvar refractorJavadoclike = require('./javadoclike.js')\nmodule.exports = phpdoc\nphpdoc.displayName = 'phpdoc'\nphpdoc.aliases = []\nfunction phpdoc(Prism) {\n Prism.register(refractorPhp)\n Prism.register(refractorJavadoclike)\n ;(function (Prism) {\n var typeExpression = /(?:\\b[a-zA-Z]\\w*|[|\\\\[\\]])+/.source\n Prism.languages.phpdoc = Prism.languages.extend('javadoclike', {\n parameter: {\n pattern: RegExp(\n '(@(?:global|param|property(?:-read|-write)?|var)\\\\s+(?:' +\n typeExpression +\n '\\\\s+)?)\\\\$\\\\w+'\n ),\n lookbehind: true\n }\n })\n Prism.languages.insertBefore('phpdoc', 'keyword', {\n 'class-name': [\n {\n pattern: RegExp(\n '(@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\\\\s+)' +\n typeExpression\n ),\n lookbehind: true,\n inside: {\n keyword:\n /\\b(?:array|bool|boolean|callback|double|false|float|int|integer|mixed|null|object|resource|self|string|true|void)\\b/,\n punctuation: /[|\\\\[\\]()]/\n }\n }\n ]\n })\n Prism.languages.javadoclike.addSupport('php', Prism.languages.phpdoc)\n })(Prism)\n}\n","'use strict'\nvar refractorSql = require('./sql.js')\nmodule.exports = plsql\nplsql.displayName = 'plsql'\nplsql.aliases = []\nfunction plsql(Prism) {\n Prism.register(refractorSql)\n Prism.languages.plsql = Prism.languages.extend('sql', {\n comment: {\n pattern: /\\/\\*[\\s\\S]*?\\*\\/|--.*/,\n greedy: true\n },\n // https://docs.oracle.com/en/database/oracle/oracle-database/21/lnpls/plsql-reserved-words-keywords.html\n keyword:\n /\\b(?:A|ACCESSIBLE|ADD|AGENT|AGGREGATE|ALL|ALTER|AND|ANY|ARRAY|AS|ASC|AT|ATTRIBUTE|AUTHID|AVG|BEGIN|BETWEEN|BFILE_BASE|BINARY|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BULK|BY|BYTE|C|CALL|CALLING|CASCADE|CASE|CHAR|CHARACTER|CHARSET|CHARSETFORM|CHARSETID|CHAR_BASE|CHECK|CLOB_BASE|CLONE|CLOSE|CLUSTER|CLUSTERS|COLAUTH|COLLECT|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPILED|COMPRESS|CONNECT|CONSTANT|CONSTRUCTOR|CONTEXT|CONTINUE|CONVERT|COUNT|CRASH|CREATE|CREDENTIAL|CURRENT|CURSOR|CUSTOMDATUM|DANGLING|DATA|DATE|DATE_BASE|DAY|DECLARE|DEFAULT|DEFINE|DELETE|DESC|DETERMINISTIC|DIRECTORY|DISTINCT|DOUBLE|DROP|DURATION|ELEMENT|ELSE|ELSIF|EMPTY|END|ESCAPE|EXCEPT|EXCEPTION|EXCEPTIONS|EXCLUSIVE|EXECUTE|EXISTS|EXIT|EXTERNAL|FETCH|FINAL|FIRST|FIXED|FLOAT|FOR|FORALL|FORCE|FROM|FUNCTION|GENERAL|GOTO|GRANT|GROUP|HASH|HAVING|HEAP|HIDDEN|HOUR|IDENTIFIED|IF|IMMEDIATE|IMMUTABLE|IN|INCLUDING|INDEX|INDEXES|INDICATOR|INDICES|INFINITE|INSERT|INSTANTIABLE|INT|INTERFACE|INTERSECT|INTERVAL|INTO|INVALIDATE|IS|ISOLATION|JAVA|LANGUAGE|LARGE|LEADING|LENGTH|LEVEL|LIBRARY|LIKE|LIKE2|LIKE4|LIKEC|LIMIT|LIMITED|LOCAL|LOCK|LONG|LOOP|MAP|MAX|MAXLEN|MEMBER|MERGE|MIN|MINUS|MINUTE|MOD|MODE|MODIFY|MONTH|MULTISET|MUTABLE|NAME|NAN|NATIONAL|NATIVE|NCHAR|NEW|NOCOMPRESS|NOCOPY|NOT|NOWAIT|NULL|NUMBER_BASE|OBJECT|OCICOLL|OCIDATE|OCIDATETIME|OCIDURATION|OCIINTERVAL|OCILOBLOCATOR|OCINUMBER|OCIRAW|OCIREF|OCIREFCURSOR|OCIROWID|OCISTRING|OCITYPE|OF|OLD|ON|ONLY|OPAQUE|OPEN|OPERATOR|OPTION|OR|ORACLE|ORADATA|ORDER|ORGANIZATION|ORLANY|ORLVARY|OTHERS|OUT|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETER|PARAMETERS|PARENT|PARTITION|PASCAL|PERSISTABLE|PIPE|PIPELINED|PLUGGABLE|POLYMORPHIC|PRAGMA|PRECISION|PRIOR|PRIVATE|PROCEDURE|PUBLIC|RAISE|RANGE|RAW|READ|RECORD|REF|REFERENCE|RELIES_ON|REM|REMAINDER|RENAME|RESOURCE|RESULT|RESULT_CACHE|RETURN|RETURNING|REVERSE|REVOKE|ROLLBACK|ROW|SAMPLE|SAVE|SAVEPOINT|SB1|SB2|SB4|SECOND|SEGMENT|SELECT|SELF|SEPARATE|SEQUENCE|SERIALIZABLE|SET|SHARE|SHORT|SIZE|SIZE_T|SOME|SPARSE|SQL|SQLCODE|SQLDATA|SQLNAME|SQLSTATE|STANDARD|START|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUM|SYNONYM|TABAUTH|TABLE|TDO|THE|THEN|TIME|TIMESTAMP|TIMEZONE_ABBR|TIMEZONE_HOUR|TIMEZONE_MINUTE|TIMEZONE_REGION|TO|TRAILING|TRANSACTION|TRANSACTIONAL|TRUSTED|TYPE|UB1|UB2|UB4|UNDER|UNION|UNIQUE|UNPLUG|UNSIGNED|UNTRUSTED|UPDATE|USE|USING|VALIST|VALUE|VALUES|VARIABLE|VARIANCE|VARRAY|VARYING|VIEW|VIEWS|VOID|WHEN|WHERE|WHILE|WITH|WORK|WRAPPED|WRITE|YEAR|ZONE)\\b/i,\n // https://docs.oracle.com/en/database/oracle/oracle-database/21/lnpls/plsql-language-fundamentals.html#GUID-96A42F7C-7A71-4B90-8255-CA9C8BD9722E\n operator: /:=?|=>|[<>^~!]=|\\.\\.|\\|\\||\\*\\*|[-+*/%<>=@]/\n })\n Prism.languages.insertBefore('plsql', 'operator', {\n label: {\n pattern: /<<\\s*\\w+\\s*>>/,\n alias: 'symbol'\n }\n })\n}\n","'use strict'\n\nmodule.exports = powerquery\npowerquery.displayName = 'powerquery'\npowerquery.aliases = []\nfunction powerquery(Prism) {\n // https://docs.microsoft.com/en-us/powerquery-m/power-query-m-language-specification\n Prism.languages.powerquery = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: true,\n greedy: true\n },\n 'quoted-identifier': {\n pattern: /#\"(?:[^\"\\r\\n]|\"\")*\"(?!\")/,\n greedy: true\n },\n string: {\n pattern: /(?:#!)?\"(?:[^\"\\r\\n]|\"\")*\"(?!\")/,\n greedy: true\n },\n constant: [\n /\\bDay\\.(?:Friday|Monday|Saturday|Sunday|Thursday|Tuesday|Wednesday)\\b/,\n /\\bTraceLevel\\.(?:Critical|Error|Information|Verbose|Warning)\\b/,\n /\\bOccurrence\\.(?:All|First|Last)\\b/,\n /\\bOrder\\.(?:Ascending|Descending)\\b/,\n /\\bRoundingMode\\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)\\b/,\n /\\bMissingField\\.(?:Error|Ignore|UseNull)\\b/,\n /\\bQuoteStyle\\.(?:Csv|None)\\b/,\n /\\bJoinKind\\.(?:FullOuter|Inner|LeftAnti|LeftOuter|RightAnti|RightOuter)\\b/,\n /\\bGroupKind\\.(?:Global|Local)\\b/,\n /\\bExtraValues\\.(?:Error|Ignore|List)\\b/,\n /\\bJoinAlgorithm\\.(?:Dynamic|LeftHash|LeftIndex|PairwiseHash|RightHash|RightIndex|SortMerge)\\b/,\n /\\bJoinSide\\.(?:Left|Right)\\b/,\n /\\bPrecision\\.(?:Decimal|Double)\\b/,\n /\\bRelativePosition\\.From(?:End|Start)\\b/,\n /\\bTextEncoding\\.(?:Ascii|BigEndianUnicode|Unicode|Utf16|Utf8|Windows)\\b/,\n /\\b(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Function|Int16|Int32|Int64|Int8|List|Logical|None|Number|Record|Table|Text|Time)\\.Type\\b/,\n /\\bnull\\b/\n ],\n boolean: /\\b(?:false|true)\\b/,\n keyword:\n /\\b(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwise|section|shared|then|try|type)\\b|#(?:binary|date|datetime|datetimezone|duration|infinity|nan|sections|shared|table|time)\\b/,\n function: {\n pattern: /(^|[^#\\w.])[a-z_][\\w.]*(?=\\s*\\()/i,\n lookbehind: true\n },\n 'data-type': {\n pattern:\n /\\b(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time)\\b/,\n alias: 'class-name'\n },\n number: {\n pattern:\n /\\b0x[\\da-f]+\\b|(?:[+-]?(?:\\b\\d+\\.)?\\b\\d+|[+-]\\.\\d+|(^|[^.])\\B\\.\\d+)(?:e[+-]?\\d+)?\\b/i,\n lookbehind: true\n },\n operator: /[-+*\\/&?@^]|<(?:=>?|>)?|>=?|=>?|\\.\\.\\.?/,\n punctuation: /[,;\\[\\](){}]/\n }\n Prism.languages.pq = Prism.languages['powerquery']\n Prism.languages.mscript = Prism.languages['powerquery']\n}\n","'use strict'\n\nmodule.exports = powershell\npowershell.displayName = 'powershell'\npowershell.aliases = []\nfunction powershell(Prism) {\n ;(function (Prism) {\n var powershell = (Prism.languages.powershell = {\n comment: [\n {\n pattern: /(^|[^`])<#[\\s\\S]*?#>/,\n lookbehind: true\n },\n {\n pattern: /(^|[^`])#.*/,\n lookbehind: true\n }\n ],\n string: [\n {\n pattern: /\"(?:`[\\s\\S]|[^`\"])*\"/,\n greedy: true,\n inside: null // see below\n },\n {\n pattern: /'(?:[^']|'')*'/,\n greedy: true\n }\n ],\n // Matches name spaces as well as casts, attribute decorators. Force starting with letter to avoid matching array indices\n // Supports two levels of nested brackets (e.g. `[OutputType([System.Collections.Generic.List[int]])]`)\n namespace: /\\[[a-z](?:\\[(?:\\[[^\\]]*\\]|[^\\[\\]])*\\]|[^\\[\\]])*\\]/i,\n boolean: /\\$(?:false|true)\\b/i,\n variable: /\\$\\w+\\b/,\n // Cmdlets and aliases. Aliases should come last, otherwise \"write\" gets preferred over \"write-host\" for example\n // Get-Command | ?{ $_.ModuleName -match \"Microsoft.PowerShell.(Util|Core|Management)\" }\n // Get-Alias | ?{ $_.ReferencedCommand.Module.Name -match \"Microsoft.PowerShell.(Util|Core|Management)\" }\n function: [\n /\\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\\b/i,\n /\\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\\b/i\n ],\n // per http://technet.microsoft.com/en-us/library/hh847744.aspx\n keyword:\n /\\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\\b/i,\n operator: {\n pattern:\n /(^|\\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\\b|-[-=]?|\\+[+=]?|[*\\/%]=?)/i,\n lookbehind: true\n },\n punctuation: /[|{}[\\];(),.]/\n }) // Variable interpolation inside strings, and nested expressions\n powershell.string[0].inside = {\n function: {\n // Allow for one level of nesting\n pattern: /(^|[^`])\\$\\((?:\\$\\([^\\r\\n()]*\\)|(?!\\$\\()[^\\r\\n)])*\\)/,\n lookbehind: true,\n inside: powershell\n },\n boolean: powershell.boolean,\n variable: powershell.variable\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = processing\nprocessing.displayName = 'processing'\nprocessing.aliases = []\nfunction processing(Prism) {\n Prism.languages.processing = Prism.languages.extend('clike', {\n keyword:\n /\\b(?:break|case|catch|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\\b/,\n // Spaces are allowed between function name and parenthesis\n function: /\\b\\w+(?=\\s*\\()/,\n operator: /<[<=]?|>[>=]?|&&?|\\|\\|?|[%?]|[!=+\\-*\\/]=?/\n })\n Prism.languages.insertBefore('processing', 'number', {\n // Special case: XML is a type\n constant: /\\b(?!XML\\b)[A-Z][A-Z\\d_]+\\b/,\n type: {\n pattern: /\\b(?:boolean|byte|char|color|double|float|int|[A-Z]\\w*)\\b/,\n alias: 'class-name'\n }\n })\n}\n","'use strict'\n\nmodule.exports = prolog\nprolog.displayName = 'prolog'\nprolog.aliases = []\nfunction prolog(Prism) {\n Prism.languages.prolog = {\n // Syntax depends on the implementation\n comment: {\n pattern: /\\/\\*[\\s\\S]*?\\*\\/|%.*/,\n greedy: true\n },\n // Depending on the implementation, strings may allow escaped newlines and quote-escape\n string: {\n pattern: /([\"'])(?:\\1\\1|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1(?!\\1)/,\n greedy: true\n },\n builtin: /\\b(?:fx|fy|xf[xy]?|yfx?)\\b/,\n // FIXME: Should we list all null-ary predicates (not followed by a parenthesis) like halt, trace, etc.?\n function: /\\b[a-z]\\w*(?:(?=\\()|\\/\\d+)/,\n number: /\\b\\d+(?:\\.\\d*)?/,\n // Custom operators are allowed\n operator: /[:\\\\=><\\-?*@\\/;+^|!$.]+|\\b(?:is|mod|not|xor)\\b/,\n punctuation: /[(){}\\[\\],]/\n }\n}\n","'use strict'\n\nmodule.exports = promql\npromql.displayName = 'promql'\npromql.aliases = []\nfunction promql(Prism) {\n // Thanks to: https://github.com/prometheus-community/monaco-promql/blob/master/src/promql/promql.ts\n // As well as: https://kausal.co/blog/slate-prism-add-new-syntax-promql/\n ;(function (Prism) {\n // PromQL Aggregation Operators\n // (https://prometheus.io/docs/prometheus/latest/querying/operators/#aggregation-operators)\n var aggregations = [\n 'sum',\n 'min',\n 'max',\n 'avg',\n 'group',\n 'stddev',\n 'stdvar',\n 'count',\n 'count_values',\n 'bottomk',\n 'topk',\n 'quantile'\n ] // PromQL vector matching + the by and without clauses\n // (https://prometheus.io/docs/prometheus/latest/querying/operators/#vector-matching)\n var vectorMatching = [\n 'on',\n 'ignoring',\n 'group_right',\n 'group_left',\n 'by',\n 'without'\n ] // PromQL offset modifier\n // (https://prometheus.io/docs/prometheus/latest/querying/basics/#offset-modifier)\n var offsetModifier = ['offset']\n var keywords = aggregations.concat(vectorMatching, offsetModifier)\n Prism.languages.promql = {\n comment: {\n pattern: /(^[ \\t]*)#.*/m,\n lookbehind: true\n },\n 'vector-match': {\n // Match the comma-separated label lists inside vector matching:\n pattern: new RegExp(\n '((?:' + vectorMatching.join('|') + ')\\\\s*)\\\\([^)]*\\\\)'\n ),\n lookbehind: true,\n inside: {\n 'label-key': {\n pattern: /\\b[^,]+\\b/,\n alias: 'attr-name'\n },\n punctuation: /[(),]/\n }\n },\n 'context-labels': {\n pattern: /\\{[^{}]*\\}/,\n inside: {\n 'label-key': {\n pattern: /\\b[a-z_]\\w*(?=\\s*(?:=|![=~]))/,\n alias: 'attr-name'\n },\n 'label-value': {\n pattern: /([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n greedy: true,\n alias: 'attr-value'\n },\n punctuation: /\\{|\\}|=~?|![=~]|,/\n }\n },\n 'context-range': [\n {\n pattern: /\\[[\\w\\s:]+\\]/,\n // [1m]\n inside: {\n punctuation: /\\[|\\]|:/,\n 'range-duration': {\n pattern: /\\b(?:\\d+(?:[smhdwy]|ms))+\\b/i,\n alias: 'number'\n }\n }\n },\n {\n pattern: /(\\boffset\\s+)\\w+/,\n // offset 1m\n lookbehind: true,\n inside: {\n 'range-duration': {\n pattern: /\\b(?:\\d+(?:[smhdwy]|ms))+\\b/i,\n alias: 'number'\n }\n }\n }\n ],\n keyword: new RegExp('\\\\b(?:' + keywords.join('|') + ')\\\\b', 'i'),\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n number:\n /[-+]?(?:(?:\\b\\d+(?:\\.\\d+)?|\\B\\.\\d+)(?:e[-+]?\\d+)?\\b|\\b(?:0x[0-9a-f]+|nan|inf)\\b)/i,\n operator: /[\\^*/%+-]|==|!=|<=|<|>=|>|\\b(?:and|or|unless)\\b/i,\n punctuation: /[{};()`,.[\\]]/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = properties\nproperties.displayName = 'properties'\nproperties.aliases = []\nfunction properties(Prism) {\n Prism.languages.properties = {\n comment: /^[ \\t]*[#!].*$/m,\n 'attr-value': {\n pattern:\n /(^[ \\t]*(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\s:=])+(?: *[=:] *(?! )| ))(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n])+/m,\n lookbehind: true\n },\n 'attr-name': /^[ \\t]*(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\s:=])+(?= *[=:]| )/m,\n punctuation: /[=:]/\n }\n}\n","'use strict'\n\nmodule.exports = protobuf\nprotobuf.displayName = 'protobuf'\nprotobuf.aliases = []\nfunction protobuf(Prism) {\n ;(function (Prism) {\n var builtinTypes =\n /\\b(?:bool|bytes|double|s?fixed(?:32|64)|float|[su]?int(?:32|64)|string)\\b/\n Prism.languages.protobuf = Prism.languages.extend('clike', {\n 'class-name': [\n {\n pattern:\n /(\\b(?:enum|extend|message|service)\\s+)[A-Za-z_]\\w*(?=\\s*\\{)/,\n lookbehind: true\n },\n {\n pattern:\n /(\\b(?:rpc\\s+\\w+|returns)\\s*\\(\\s*(?:stream\\s+)?)\\.?[A-Za-z_]\\w*(?:\\.[A-Za-z_]\\w*)*(?=\\s*\\))/,\n lookbehind: true\n }\n ],\n keyword:\n /\\b(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\\s+\\w)|service|stream|syntax|to)\\b(?!\\s*=\\s*\\d)/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i\n })\n Prism.languages.insertBefore('protobuf', 'operator', {\n map: {\n pattern: /\\bmap<\\s*[\\w.]+\\s*,\\s*[\\w.]+\\s*>(?=\\s+[a-z_]\\w*\\s*[=;])/i,\n alias: 'class-name',\n inside: {\n punctuation: /[<>.,]/,\n builtin: builtinTypes\n }\n },\n builtin: builtinTypes,\n 'positional-class-name': {\n pattern: /(?:\\b|\\B\\.)[a-z_]\\w*(?:\\.[a-z_]\\w*)*(?=\\s+[a-z_]\\w*\\s*[=;])/i,\n alias: 'class-name',\n inside: {\n punctuation: /\\./\n }\n },\n annotation: {\n pattern: /(\\[\\s*)[a-z_]\\w*(?=\\s*=)/i,\n lookbehind: true\n }\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = psl\npsl.displayName = 'psl'\npsl.aliases = []\nfunction psl(Prism) {\n Prism.languages.psl = {\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"])*\"/,\n greedy: true,\n inside: {\n symbol: /\\\\[ntrbA-Z\"\\\\]/\n }\n },\n 'heredoc-string': {\n pattern: /<<<([a-zA-Z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?\\1\\b/,\n alias: 'string',\n greedy: true\n },\n keyword:\n /\\b(?:__multi|__single|case|default|do|else|elsif|exit|export|for|foreach|function|if|last|line|local|next|requires|return|switch|until|while|word)\\b/,\n constant:\n /\\b(?:ALARM|CHART_ADD_GRAPH|CHART_DELETE_GRAPH|CHART_DESTROY|CHART_LOAD|CHART_PRINT|EOF|OFFLINE|OK|PSL_PROF_LOG|R_CHECK_HORIZ|R_CHECK_VERT|R_CLICKER|R_COLUMN|R_FRAME|R_ICON|R_LABEL|R_LABEL_CENTER|R_LIST_MULTIPLE|R_LIST_MULTIPLE_ND|R_LIST_SINGLE|R_LIST_SINGLE_ND|R_MENU|R_POPUP|R_POPUP_SCROLLED|R_RADIO_HORIZ|R_RADIO_VERT|R_ROW|R_SCALE_HORIZ|R_SCALE_VERT|R_SEP_HORIZ|R_SEP_VERT|R_SPINNER|R_TEXT_FIELD|R_TEXT_FIELD_LABEL|R_TOGGLE|TRIM_LEADING|TRIM_LEADING_AND_TRAILING|TRIM_REDUNDANT|TRIM_TRAILING|VOID|WARN)\\b/,\n boolean: /\\b(?:FALSE|False|NO|No|TRUE|True|YES|Yes|false|no|true|yes)\\b/,\n variable: /\\b(?:PslDebug|errno|exit_status)\\b/,\n builtin: {\n pattern:\n /\\b(?:PslExecute|PslFunctionCall|PslFunctionExists|PslSetOptions|_snmp_debug|acos|add_diary|annotate|annotate_get|ascii_to_ebcdic|asctime|asin|atan|atexit|batch_set|blackout|cat|ceil|chan_exists|change_state|close|code_cvt|cond_signal|cond_wait|console_type|convert_base|convert_date|convert_locale_date|cos|cosh|create|date|dcget_text|destroy|destroy_lock|dget_text|difference|dump_hist|ebcdic_to_ascii|encrypt|event_archive|event_catalog_get|event_check|event_query|event_range_manage|event_range_query|event_report|event_schedule|event_trigger|event_trigger2|execute|exists|exp|fabs|file|floor|fmod|fopen|fseek|ftell|full_discovery|get|get_chan_info|get_ranges|get_text|get_vars|getenv|gethostinfo|getpid|getpname|grep|history|history_get_retention|in_transition|index|int|internal|intersection|is_var|isnumber|join|kill|length|lines|lock|lock_info|log|log10|loge|matchline|msg_check|msg_get_format|msg_get_severity|msg_printf|msg_sprintf|ntharg|nthargf|nthline|nthlinef|num_bytes|num_consoles|pconfig|popen|poplines|pow|print|printf|proc_exists|process|random|read|readln|refresh_parameters|remote_check|remote_close|remote_event_query|remote_event_trigger|remote_file_send|remote_open|remove|replace|rindex|sec_check_priv|sec_store_get|sec_store_set|set|set_alarm_ranges|set_locale|share|sin|sinh|sleep|snmp_agent_config|snmp_agent_start|snmp_agent_stop|snmp_close|snmp_config|snmp_get|snmp_get_next|snmp_h_get|snmp_h_get_next|snmp_h_set|snmp_open|snmp_set|snmp_trap_ignore|snmp_trap_listen|snmp_trap_raise_std_trap|snmp_trap_receive|snmp_trap_register_im|snmp_trap_send|snmp_walk|sopen|sort|splitline|sprintf|sqrt|srandom|str_repeat|strcasecmp|subset|substr|system|tail|tan|tanh|text_domain|time|tmpnam|tolower|toupper|trace_psl_process|trim|union|unique|unlock|unset|va_arg|va_start|write)\\b/,\n alias: 'builtin-function'\n },\n 'foreach-variable': {\n pattern:\n /(\\bforeach\\s+(?:(?:\\w+\\b|\"(?:\\\\.|[^\\\\\"])*\")\\s+){0,2})[_a-zA-Z]\\w*(?=\\s*\\()/,\n lookbehind: true,\n greedy: true\n },\n function: /\\b[_a-z]\\w*\\b(?=\\s*\\()/i,\n number: /\\b(?:0x[0-9a-f]+|\\d+(?:\\.\\d+)?)\\b/i,\n operator: /--|\\+\\+|&&=?|\\|\\|=?|<<=?|>>=?|[=!]~|[-+*/%&|^!=<>]=?|\\.|[:?]/,\n punctuation: /[(){}\\[\\];,]/\n }\n}\n","'use strict'\n\nmodule.exports = pug\npug.displayName = 'pug'\npug.aliases = []\nfunction pug(Prism) {\n ;(function (Prism) {\n // TODO:\n // - Add CSS highlighting inside <style> tags\n // - Add support for multi-line code blocks\n // - Add support for interpolation #{} and !{}\n // - Add support for tag interpolation #[]\n // - Add explicit support for plain text using |\n // - Add support for markup embedded in plain text\n Prism.languages.pug = {\n // Multiline stuff should appear before the rest\n // This handles both single-line and multi-line comments\n comment: {\n pattern: /(^([\\t ]*))\\/\\/.*(?:(?:\\r?\\n|\\r)\\2[\\t ].+)*/m,\n lookbehind: true\n },\n // All the tag-related part is in lookbehind\n // so that it can be highlighted by the \"tag\" pattern\n 'multiline-script': {\n pattern:\n /(^([\\t ]*)script\\b.*\\.[\\t ]*)(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+/m,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n // See at the end of the file for known filters\n filter: {\n pattern:\n /(^([\\t ]*)):.+(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+/m,\n lookbehind: true,\n inside: {\n 'filter-name': {\n pattern: /^:[\\w-]+/,\n alias: 'variable'\n },\n text: /\\S[\\s\\S]*/\n }\n },\n 'multiline-plain-text': {\n pattern:\n /(^([\\t ]*)[\\w\\-#.]+\\.[\\t ]*)(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+/m,\n lookbehind: true\n },\n markup: {\n pattern: /(^[\\t ]*)<.+/m,\n lookbehind: true,\n inside: Prism.languages.markup\n },\n doctype: {\n pattern: /((?:^|\\n)[\\t ]*)doctype(?: .+)?/,\n lookbehind: true\n },\n // This handle all conditional and loop keywords\n 'flow-control': {\n pattern:\n /(^[\\t ]*)(?:case|default|each|else|if|unless|when|while)\\b(?: .+)?/m,\n lookbehind: true,\n inside: {\n each: {\n pattern: /^each .+? in\\b/,\n inside: {\n keyword: /\\b(?:each|in)\\b/,\n punctuation: /,/\n }\n },\n branch: {\n pattern: /^(?:case|default|else|if|unless|when|while)\\b/,\n alias: 'keyword'\n },\n rest: Prism.languages.javascript\n }\n },\n keyword: {\n pattern: /(^[\\t ]*)(?:append|block|extends|include|prepend)\\b.+/m,\n lookbehind: true\n },\n mixin: [\n // Declaration\n {\n pattern: /(^[\\t ]*)mixin .+/m,\n lookbehind: true,\n inside: {\n keyword: /^mixin/,\n function: /\\w+(?=\\s*\\(|\\s*$)/,\n punctuation: /[(),.]/\n }\n }, // Usage\n {\n pattern: /(^[\\t ]*)\\+.+/m,\n lookbehind: true,\n inside: {\n name: {\n pattern: /^\\+\\w+/,\n alias: 'function'\n },\n rest: Prism.languages.javascript\n }\n }\n ],\n script: {\n pattern: /(^[\\t ]*script(?:(?:&[^(]+)?\\([^)]+\\))*[\\t ]).+/m,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n 'plain-text': {\n pattern:\n /(^[\\t ]*(?!-)[\\w\\-#.]*[\\w\\-](?:(?:&[^(]+)?\\([^)]+\\))*\\/?[\\t ]).+/m,\n lookbehind: true\n },\n tag: {\n pattern: /(^[\\t ]*)(?!-)[\\w\\-#.]*[\\w\\-](?:(?:&[^(]+)?\\([^)]+\\))*\\/?:?/m,\n lookbehind: true,\n inside: {\n attributes: [\n {\n pattern: /&[^(]+\\([^)]+\\)/,\n inside: Prism.languages.javascript\n },\n {\n pattern: /\\([^)]+\\)/,\n inside: {\n 'attr-value': {\n pattern: /(=\\s*(?!\\s))(?:\\{[^}]*\\}|[^,)\\r\\n]+)/,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n 'attr-name': /[\\w-]+(?=\\s*!?=|\\s*[,)])/,\n punctuation: /[!=(),]+/\n }\n }\n ],\n punctuation: /:/,\n 'attr-id': /#[\\w\\-]+/,\n 'attr-class': /\\.[\\w\\-]+/\n }\n },\n code: [\n {\n pattern: /(^[\\t ]*(?:-|!?=)).+/m,\n lookbehind: true,\n inside: Prism.languages.javascript\n }\n ],\n punctuation: /[.\\-!=|]+/\n }\n var filter_pattern =\n /(^([\\t ]*)):<filter_name>(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+/\n .source // Non exhaustive list of available filters and associated languages\n var filters = [\n {\n filter: 'atpl',\n language: 'twig'\n },\n {\n filter: 'coffee',\n language: 'coffeescript'\n },\n 'ejs',\n 'handlebars',\n 'less',\n 'livescript',\n 'markdown',\n {\n filter: 'sass',\n language: 'scss'\n },\n 'stylus'\n ]\n var all_filters = {}\n for (var i = 0, l = filters.length; i < l; i++) {\n var filter = filters[i]\n filter =\n typeof filter === 'string'\n ? {\n filter: filter,\n language: filter\n }\n : filter\n if (Prism.languages[filter.language]) {\n all_filters['filter-' + filter.filter] = {\n pattern: RegExp(\n filter_pattern.replace('<filter_name>', function () {\n return filter.filter\n }),\n 'm'\n ),\n lookbehind: true,\n inside: {\n 'filter-name': {\n pattern: /^:[\\w-]+/,\n alias: 'variable'\n },\n text: {\n pattern: /\\S[\\s\\S]*/,\n alias: [filter.language, 'language-' + filter.language],\n inside: Prism.languages[filter.language]\n }\n }\n }\n }\n }\n Prism.languages.insertBefore('pug', 'filter', all_filters)\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = puppet\npuppet.displayName = 'puppet'\npuppet.aliases = []\nfunction puppet(Prism) {\n ;(function (Prism) {\n Prism.languages.puppet = {\n heredoc: [\n // Matches the content of a quoted heredoc string (subject to interpolation)\n {\n pattern:\n /(@\\(\"([^\"\\r\\n\\/):]+)\"(?:\\/[nrts$uL]*)?\\).*(?:\\r?\\n|\\r))(?:.*(?:\\r?\\n|\\r(?!\\n)))*?[ \\t]*(?:\\|[ \\t]*)?(?:-[ \\t]*)?\\2/,\n lookbehind: true,\n alias: 'string',\n inside: {\n // Matches the end tag\n punctuation: /(?=\\S).*\\S(?= *$)/ // See interpolation below\n }\n }, // Matches the content of an unquoted heredoc string (no interpolation)\n {\n pattern:\n /(@\\(([^\"\\r\\n\\/):]+)(?:\\/[nrts$uL]*)?\\).*(?:\\r?\\n|\\r))(?:.*(?:\\r?\\n|\\r(?!\\n)))*?[ \\t]*(?:\\|[ \\t]*)?(?:-[ \\t]*)?\\2/,\n lookbehind: true,\n greedy: true,\n alias: 'string',\n inside: {\n // Matches the end tag\n punctuation: /(?=\\S).*\\S(?= *$)/\n }\n }, // Matches the start tag of heredoc strings\n {\n pattern: /@\\(\"?(?:[^\"\\r\\n\\/):]+)\"?(?:\\/[nrts$uL]*)?\\)/,\n alias: 'string',\n inside: {\n punctuation: {\n pattern: /(\\().+?(?=\\))/,\n lookbehind: true\n }\n }\n }\n ],\n 'multiline-comment': {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n lookbehind: true,\n greedy: true,\n alias: 'comment'\n },\n regex: {\n // Must be prefixed with the keyword \"node\" or a non-word char\n pattern:\n /((?:\\bnode\\s+|[~=\\(\\[\\{,]\\s*|[=+]>\\s*|^\\s*))\\/(?:[^\\/\\\\]|\\\\[\\s\\S])+\\/(?:[imx]+\\b|\\B)/,\n lookbehind: true,\n greedy: true,\n inside: {\n // Extended regexes must have the x flag. They can contain single-line comments.\n 'extended-regex': {\n pattern: /^\\/(?:[^\\/\\\\]|\\\\[\\s\\S])+\\/[im]*x[im]*$/,\n inside: {\n comment: /#.*/\n }\n }\n }\n },\n comment: {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: true,\n greedy: true\n },\n string: {\n // Allow for one nested level of double quotes inside interpolation\n pattern:\n /([\"'])(?:\\$\\{(?:[^'\"}]|([\"'])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2)+\\}|\\$(?!\\{)|(?!\\1)[^\\\\$]|\\\\[\\s\\S])*\\1/,\n greedy: true,\n inside: {\n 'double-quoted': {\n pattern: /^\"[\\s\\S]*\"$/,\n inside: {\n // See interpolation below\n }\n }\n }\n },\n variable: {\n pattern: /\\$(?:::)?\\w+(?:::\\w+)*/,\n inside: {\n punctuation: /::/\n }\n },\n 'attr-name': /(?:\\b\\w+|\\*)(?=\\s*=>)/,\n function: [\n {\n pattern: /(\\.)(?!\\d)\\w+/,\n lookbehind: true\n },\n /\\b(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\\b|\\b(?!\\d)\\w+(?=\\()/\n ],\n number: /\\b(?:0x[a-f\\d]+|\\d+(?:\\.\\d+)?(?:e-?\\d+)?)\\b/i,\n boolean: /\\b(?:false|true)\\b/,\n // Includes words reserved for future use\n keyword:\n /\\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\\b/,\n datatype: {\n pattern:\n /\\b(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)\\b/,\n alias: 'symbol'\n },\n operator:\n /=[=~>]?|![=~]?|<(?:<\\|?|[=~|-])?|>[>=]?|->?|~>|\\|>?>?|[*\\/%+?]|\\b(?:and|in|or)\\b/,\n punctuation: /[\\[\\]{}().,;]|:+/\n }\n var interpolation = [\n {\n // Allow for one nested level of braces inside interpolation\n pattern:\n /(^|[^\\\\])\\$\\{(?:[^'\"{}]|\\{[^}]*\\}|([\"'])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2)+\\}/,\n lookbehind: true,\n inside: {\n 'short-variable': {\n // Negative look-ahead prevent wrong highlighting of functions\n pattern: /(^\\$\\{)(?!\\w+\\()(?:::)?\\w+(?:::\\w+)*/,\n lookbehind: true,\n alias: 'variable',\n inside: {\n punctuation: /::/\n }\n },\n delimiter: {\n pattern: /^\\$/,\n alias: 'variable'\n },\n rest: Prism.languages.puppet\n }\n },\n {\n pattern: /(^|[^\\\\])\\$(?:::)?\\w+(?:::\\w+)*/,\n lookbehind: true,\n alias: 'variable',\n inside: {\n punctuation: /::/\n }\n }\n ]\n Prism.languages.puppet['heredoc'][0].inside.interpolation = interpolation\n Prism.languages.puppet['string'].inside[\n 'double-quoted'\n ].inside.interpolation = interpolation\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = pure\npure.displayName = 'pure'\npure.aliases = []\nfunction pure(Prism) {\n ;(function (Prism) {\n // https://agraef.github.io/pure-docs/pure.html#lexical-matters\n Prism.languages.pure = {\n comment: [\n {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n lookbehind: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true\n },\n /#!.+/\n ],\n 'inline-lang': {\n pattern: /%<[\\s\\S]+?%>/,\n greedy: true,\n inside: {\n lang: {\n pattern: /(^%< *)-\\*-.+?-\\*-/,\n lookbehind: true,\n alias: 'comment'\n },\n delimiter: {\n pattern: /^%<.*|%>$/,\n alias: 'punctuation'\n }\n }\n },\n string: {\n pattern: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n greedy: true\n },\n number: {\n // The look-behind prevents wrong highlighting of the .. operator\n pattern:\n /((?:\\.\\.)?)(?:\\b(?:inf|nan)\\b|\\b0x[\\da-f]+|(?:\\b(?:0b)?\\d+(?:\\.\\d+)?|\\B\\.\\d+)(?:e[+-]?\\d+)?L?)/i,\n lookbehind: true\n },\n keyword:\n /\\b(?:NULL|ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)\\b/,\n function:\n /\\b(?:abs|add_(?:addr|constdef|(?:fundef|interface|macdef|typedef)(?:_at)?|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_c?string(?:_pointer)?|byte_(?:matrix|pointer)|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float(?:_matrix|_pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|sentry|short|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)\\b/,\n special: {\n pattern: /\\b__[a-z]+__\\b/i,\n alias: 'builtin'\n },\n // Any combination of operator chars can be an operator\n // eslint-disable-next-line no-misleading-character-class\n operator:\n /(?:[!\"#$%&'*+,\\-.\\/:<=>?@\\\\^`|~\\u00a1-\\u00bf\\u00d7-\\u00f7\\u20d0-\\u2bff]|\\b_+\\b)+|\\b(?:and|div|mod|not|or)\\b/,\n // FIXME: How can we prevent | and , to be highlighted as operator when they are used alone?\n punctuation: /[(){}\\[\\];,|]/\n }\n var inlineLanguages = [\n 'c',\n {\n lang: 'c++',\n alias: 'cpp'\n },\n 'fortran'\n ]\n var inlineLanguageRe = /%< *-\\*- *<lang>\\d* *-\\*-[\\s\\S]+?%>/.source\n inlineLanguages.forEach(function (lang) {\n var alias = lang\n if (typeof lang !== 'string') {\n alias = lang.alias\n lang = lang.lang\n }\n if (Prism.languages[alias]) {\n var o = {}\n o['inline-lang-' + alias] = {\n pattern: RegExp(\n inlineLanguageRe.replace(\n '<lang>',\n lang.replace(/([.+*?\\/\\\\(){}\\[\\]])/g, '\\\\$1')\n ),\n 'i'\n ),\n inside: Prism.util.clone(Prism.languages.pure['inline-lang'].inside)\n }\n o['inline-lang-' + alias].inside.rest = Prism.util.clone(\n Prism.languages[alias]\n )\n Prism.languages.insertBefore('pure', 'inline-lang', o)\n }\n }) // C is the default inline language\n if (Prism.languages.c) {\n Prism.languages.pure['inline-lang'].inside.rest = Prism.util.clone(\n Prism.languages.c\n )\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = purebasic\npurebasic.displayName = 'purebasic'\npurebasic.aliases = []\nfunction purebasic(Prism) {\n /*\nOriginal Code by Bas Groothedde\n!!MANY THANKS!! I never would have made this, regex and me will never be best friends ;)\n==> https://codepen.io/ImagineProgramming/details/JYydBy/\nslightly changed to pass all tests\n*/\n // PureBasic support, steal stuff from ansi-c\n Prism.languages.purebasic = Prism.languages.extend('clike', {\n comment: /;.*/,\n keyword:\n /\\b(?:align|and|as|break|calldebugger|case|compilercase|compilerdefault|compilerelse|compilerelseif|compilerendif|compilerendselect|compilererror|compilerif|compilerselect|continue|data|datasection|debug|debuglevel|declare|declarec|declarecdll|declaredll|declaremodule|default|define|dim|disableasm|disabledebugger|disableexplicit|else|elseif|enableasm|enabledebugger|enableexplicit|end|enddatasection|enddeclaremodule|endenumeration|endif|endimport|endinterface|endmacro|endmodule|endprocedure|endselect|endstructure|endstructureunion|endwith|enumeration|extends|fakereturn|for|foreach|forever|global|gosub|goto|if|import|importc|includebinary|includefile|includepath|interface|macro|module|newlist|newmap|next|not|or|procedure|procedurec|procedurecdll|proceduredll|procedurereturn|protected|prototype|prototypec|read|redim|repeat|restore|return|runtime|select|shared|static|step|structure|structureunion|swap|threaded|to|until|wend|while|with|xincludefile|xor)\\b/i,\n function: /\\b\\w+(?:\\.\\w+)?\\s*(?=\\()/,\n number: /(?:\\$[\\da-f]+|\\b-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:e[+-]?\\d+)?)\\b/i,\n operator:\n /(?:@\\*?|\\?|\\*)\\w+|-[>-]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|?\\||[~^%?*/@]/\n })\n Prism.languages.insertBefore('purebasic', 'keyword', {\n tag: /#\\w+\\$?/,\n asm: {\n pattern: /(^[\\t ]*)!.*/m,\n lookbehind: true,\n alias: 'tag',\n inside: {\n comment: /;.*/,\n string: {\n pattern: /([\"'`])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n // Anonymous label references, i.e.: jmp @b\n 'label-reference-anonymous': {\n pattern: /(!\\s*j[a-z]+\\s+)@[fb]/i,\n lookbehind: true,\n alias: 'fasm-label'\n },\n // Named label reference, i.e.: jne label1\n 'label-reference-addressed': {\n pattern: /(!\\s*j[a-z]+\\s+)[A-Z._?$@][\\w.?$@~#]*/i,\n lookbehind: true,\n alias: 'fasm-label'\n },\n keyword: [\n /\\b(?:extern|global)\\b[^;\\r\\n]*/i,\n /\\b(?:CPU|DEFAULT|FLOAT)\\b.*/\n ],\n function: {\n pattern: /^([\\t ]*!\\s*)[\\da-z]+(?=\\s|$)/im,\n lookbehind: true\n },\n 'function-inline': {\n pattern: /(:\\s*)[\\da-z]+(?=\\s)/i,\n lookbehind: true,\n alias: 'function'\n },\n label: {\n pattern: /^([\\t ]*!\\s*)[A-Za-z._?$@][\\w.?$@~#]*(?=:)/m,\n lookbehind: true,\n alias: 'fasm-label'\n },\n register:\n /\\b(?:st\\d|[xyz]mm\\d\\d?|[cdt]r\\d|r\\d\\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|di|si|sp)|[cdefgs]s|mm\\d+)\\b/i,\n number:\n /(?:\\b|-|(?=\\$))(?:0[hx](?:[\\da-f]*\\.)?[\\da-f]+(?:p[+-]?\\d+)?|\\d[\\da-f]+[hx]|\\$\\d[\\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\\d+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:\\.?e[+-]?\\d+)?[dt]?)\\b/i,\n operator: /[\\[\\]*+\\-/%<>=&|$!,.:]/\n }\n }\n })\n delete Prism.languages.purebasic['class-name']\n delete Prism.languages.purebasic['boolean']\n Prism.languages.pbfasm = Prism.languages['purebasic']\n}\n","'use strict'\nvar refractorHaskell = require('./haskell.js')\nmodule.exports = purescript\npurescript.displayName = 'purescript'\npurescript.aliases = ['purs']\nfunction purescript(Prism) {\n Prism.register(refractorHaskell)\n Prism.languages.purescript = Prism.languages.extend('haskell', {\n keyword:\n /\\b(?:ado|case|class|data|derive|do|else|forall|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\\b|∀/,\n 'import-statement': {\n // The imported or hidden names are not included in this import\n // statement. This is because we want to highlight those exactly like\n // we do for the names in the program.\n pattern:\n /(^[\\t ]*)import\\s+[A-Z][\\w']*(?:\\.[A-Z][\\w']*)*(?:\\s+as\\s+[A-Z][\\w']*(?:\\.[A-Z][\\w']*)*)?(?:\\s+hiding\\b)?/m,\n lookbehind: true,\n inside: {\n keyword: /\\b(?:as|hiding|import)\\b/,\n punctuation: /\\./\n }\n },\n // These are builtin functions only. Constructors are highlighted later as a constant.\n builtin:\n /\\b(?:absurd|add|ap|append|apply|between|bind|bottom|clamp|compare|comparing|compose|conj|const|degree|discard|disj|div|eq|flap|flip|gcd|identity|ifM|join|lcm|liftA1|liftM1|map|max|mempty|min|mod|mul|negate|not|notEq|one|otherwise|recip|show|sub|top|unit|unless|unlessM|void|when|whenM|zero)\\b/,\n operator: [\n // Infix operators\n Prism.languages.haskell.operator[0], // ASCII operators\n Prism.languages.haskell.operator[2], // All UTF16 Unicode operator symbols\n // This regex is equivalent to /(?=[\\x80-\\uFFFF])[\\p{gc=Math_Symbol}\\p{gc=Currency_Symbol}\\p{Modifier_Symbol}\\p{Other_Symbol}]/u\n // See https://github.com/PrismJS/prism/issues/3006 for more details.\n /[\\xa2-\\xa6\\xa8\\xa9\\xac\\xae-\\xb1\\xb4\\xb8\\xd7\\xf7\\u02c2-\\u02c5\\u02d2-\\u02df\\u02e5-\\u02eb\\u02ed\\u02ef-\\u02ff\\u0375\\u0384\\u0385\\u03f6\\u0482\\u058d-\\u058f\\u0606-\\u0608\\u060b\\u060e\\u060f\\u06de\\u06e9\\u06fd\\u06fe\\u07f6\\u07fe\\u07ff\\u09f2\\u09f3\\u09fa\\u09fb\\u0af1\\u0b70\\u0bf3-\\u0bfa\\u0c7f\\u0d4f\\u0d79\\u0e3f\\u0f01-\\u0f03\\u0f13\\u0f15-\\u0f17\\u0f1a-\\u0f1f\\u0f34\\u0f36\\u0f38\\u0fbe-\\u0fc5\\u0fc7-\\u0fcc\\u0fce\\u0fcf\\u0fd5-\\u0fd8\\u109e\\u109f\\u1390-\\u1399\\u166d\\u17db\\u1940\\u19de-\\u19ff\\u1b61-\\u1b6a\\u1b74-\\u1b7c\\u1fbd\\u1fbf-\\u1fc1\\u1fcd-\\u1fcf\\u1fdd-\\u1fdf\\u1fed-\\u1fef\\u1ffd\\u1ffe\\u2044\\u2052\\u207a-\\u207c\\u208a-\\u208c\\u20a0-\\u20bf\\u2100\\u2101\\u2103-\\u2106\\u2108\\u2109\\u2114\\u2116-\\u2118\\u211e-\\u2123\\u2125\\u2127\\u2129\\u212e\\u213a\\u213b\\u2140-\\u2144\\u214a-\\u214d\\u214f\\u218a\\u218b\\u2190-\\u2307\\u230c-\\u2328\\u232b-\\u2426\\u2440-\\u244a\\u249c-\\u24e9\\u2500-\\u2767\\u2794-\\u27c4\\u27c7-\\u27e5\\u27f0-\\u2982\\u2999-\\u29d7\\u29dc-\\u29fb\\u29fe-\\u2b73\\u2b76-\\u2b95\\u2b97-\\u2bff\\u2ce5-\\u2cea\\u2e50\\u2e51\\u2e80-\\u2e99\\u2e9b-\\u2ef3\\u2f00-\\u2fd5\\u2ff0-\\u2ffb\\u3004\\u3012\\u3013\\u3020\\u3036\\u3037\\u303e\\u303f\\u309b\\u309c\\u3190\\u3191\\u3196-\\u319f\\u31c0-\\u31e3\\u3200-\\u321e\\u322a-\\u3247\\u3250\\u3260-\\u327f\\u328a-\\u32b0\\u32c0-\\u33ff\\u4dc0-\\u4dff\\ua490-\\ua4c6\\ua700-\\ua716\\ua720\\ua721\\ua789\\ua78a\\ua828-\\ua82b\\ua836-\\ua839\\uaa77-\\uaa79\\uab5b\\uab6a\\uab6b\\ufb29\\ufbb2-\\ufbc1\\ufdfc\\ufdfd\\ufe62\\ufe64-\\ufe66\\ufe69\\uff04\\uff0b\\uff1c-\\uff1e\\uff3e\\uff40\\uff5c\\uff5e\\uffe0-\\uffe6\\uffe8-\\uffee\\ufffc\\ufffd]/\n ]\n })\n Prism.languages.purs = Prism.languages.purescript\n}\n","'use strict'\n\nmodule.exports = python\npython.displayName = 'python'\npython.aliases = ['py']\nfunction python(Prism) {\n Prism.languages.python = {\n comment: {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: true,\n greedy: true\n },\n 'string-interpolation': {\n pattern:\n /(?:f|fr|rf)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,\n greedy: true,\n inside: {\n interpolation: {\n // \"{\" <expression> <optional \"!s\", \"!r\", or \"!a\"> <optional \":\" format specifier> \"}\"\n pattern:\n /((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/,\n lookbehind: true,\n inside: {\n 'format-spec': {\n pattern: /(:)[^:(){}]+(?=\\}$)/,\n lookbehind: true\n },\n 'conversion-option': {\n pattern: /![sra](?=[:}]$)/,\n alias: 'punctuation'\n },\n rest: null\n }\n },\n string: /[\\s\\S]+/\n }\n },\n 'triple-quoted-string': {\n pattern: /(?:[rub]|br|rb)?(\"\"\"|''')[\\s\\S]*?\\1/i,\n greedy: true,\n alias: 'string'\n },\n string: {\n pattern: /(?:[rub]|br|rb)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,\n greedy: true\n },\n function: {\n pattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,\n lookbehind: true\n },\n 'class-name': {\n pattern: /(\\bclass\\s+)\\w+/i,\n lookbehind: true\n },\n decorator: {\n pattern: /(^[\\t ]*)@\\w+(?:\\.\\w+)*/m,\n lookbehind: true,\n alias: ['annotation', 'punctuation'],\n inside: {\n punctuation: /\\./\n }\n },\n keyword:\n /\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,\n builtin:\n /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,\n boolean: /\\b(?:False|None|True)\\b/,\n number:\n /\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i,\n operator: /[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n punctuation: /[{}[\\];(),.:]/\n }\n Prism.languages.python['string-interpolation'].inside[\n 'interpolation'\n ].inside.rest = Prism.languages.python\n Prism.languages.py = Prism.languages.python\n}\n","'use strict'\n\nmodule.exports = q\nq.displayName = 'q'\nq.aliases = []\nfunction q(Prism) {\n Prism.languages.q = {\n string: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n comment: [\n // From http://code.kx.com/wiki/Reference/Slash:\n // When / is following a space (or a right parenthesis, bracket, or brace), it is ignored with the rest of the line.\n {\n pattern: /([\\t )\\]}])\\/.*/,\n lookbehind: true,\n greedy: true\n }, // From http://code.kx.com/wiki/Reference/Slash:\n // A line which has / as its first character and contains at least one other non-whitespace character is a whole-line comment and is ignored entirely.\n // A / on a line by itself begins a multiline comment which is terminated by the next \\ on a line by itself.\n // If a / is not matched by a \\, the multiline comment is unterminated and continues to end of file.\n // The / and \\ must be the first char on the line, but may be followed by any amount of whitespace.\n {\n pattern:\n /(^|\\r?\\n|\\r)\\/[\\t ]*(?:(?:\\r?\\n|\\r)(?:.*(?:\\r?\\n|\\r(?!\\n)))*?(?:\\\\(?=[\\t ]*(?:\\r?\\n|\\r))|$)|\\S.*)/,\n lookbehind: true,\n greedy: true\n }, // From http://code.kx.com/wiki/Reference/Slash:\n // A \\ on a line by itself with no preceding matching / will comment to end of file.\n {\n pattern: /^\\\\[\\t ]*(?:\\r?\\n|\\r)[\\s\\S]+/m,\n greedy: true\n },\n {\n pattern: /^#!.+/m,\n greedy: true\n }\n ],\n symbol: /`(?::\\S+|[\\w.]*)/,\n datetime: {\n pattern:\n /0N[mdzuvt]|0W[dtz]|\\d{4}\\.\\d\\d(?:m|\\.\\d\\d(?:T(?:\\d\\d(?::\\d\\d(?::\\d\\d(?:[.:]\\d\\d\\d)?)?)?)?)?[dz]?)|\\d\\d:\\d\\d(?::\\d\\d(?:[.:]\\d\\d\\d)?)?[uvt]?/,\n alias: 'number'\n },\n // The negative look-ahead prevents bad highlighting\n // of verbs 0: and 1:\n number:\n /\\b(?![01]:)(?:0N[hje]?|0W[hj]?|0[wn]|0x[\\da-fA-F]+|\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?[hjfeb]?)/,\n keyword:\n /\\\\\\w+\\b|\\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\\b/,\n adverb: {\n pattern: /['\\/\\\\]:?|\\beach\\b/,\n alias: 'function'\n },\n verb: {\n pattern: /(?:\\B\\.\\B|\\b[01]:|<[=>]?|>=?|[:+\\-*%,!?~=|$&#@^]):?|\\b_\\b:?/,\n alias: 'operator'\n },\n punctuation: /[(){}\\[\\];.]/\n }\n}\n","'use strict'\n\nmodule.exports = qml\nqml.displayName = 'qml'\nqml.aliases = []\nfunction qml(Prism) {\n ;(function (Prism) {\n var jsString = /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|'(?:\\\\.|[^\\\\'\\r\\n])*'/.source\n var jsComment = /\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\//.source\n var jsExpr =\n /(?:[^\\\\()[\\]{}\"'/]|<string>|\\/(?![*/])|<comment>|\\(<expr>*\\)|\\[<expr>*\\]|\\{<expr>*\\}|\\\\[\\s\\S])/.source\n .replace(/<string>/g, function () {\n return jsString\n })\n .replace(/<comment>/g, function () {\n return jsComment\n }) // the pattern will blow up, so only a few iterations\n for (var i = 0; i < 2; i++) {\n jsExpr = jsExpr.replace(/<expr>/g, function () {\n return jsExpr\n })\n }\n jsExpr = jsExpr.replace(/<expr>/g, '[^\\\\s\\\\S]')\n Prism.languages.qml = {\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n greedy: true\n },\n 'javascript-function': {\n pattern: RegExp(\n /((?:^|;)[ \\t]*)function\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*\\(<js>*\\)\\s*\\{<js>*\\}/.source.replace(\n /<js>/g,\n function () {\n return jsExpr\n }\n ),\n 'm'\n ),\n lookbehind: true,\n greedy: true,\n alias: 'language-javascript',\n inside: Prism.languages.javascript\n },\n 'class-name': {\n pattern: /((?:^|[:;])[ \\t]*)(?!\\d)\\w+(?=[ \\t]*\\{|[ \\t]+on\\b)/m,\n lookbehind: true\n },\n property: [\n {\n pattern: /((?:^|[;{])[ \\t]*)(?!\\d)\\w+(?:\\.\\w+)*(?=[ \\t]*:)/m,\n lookbehind: true\n },\n {\n pattern:\n /((?:^|[;{])[ \\t]*)property[ \\t]+(?!\\d)\\w+(?:\\.\\w+)*[ \\t]+(?!\\d)\\w+(?:\\.\\w+)*(?=[ \\t]*:)/m,\n lookbehind: true,\n inside: {\n keyword: /^property/,\n property: /\\w+(?:\\.\\w+)*/\n }\n }\n ],\n 'javascript-expression': {\n pattern: RegExp(\n /(:[ \\t]*)(?![\\s;}[])(?:(?!$|[;}])<js>)+/.source.replace(\n /<js>/g,\n function () {\n return jsExpr\n }\n ),\n 'm'\n ),\n lookbehind: true,\n greedy: true,\n alias: 'language-javascript',\n inside: Prism.languages.javascript\n },\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: true\n },\n keyword: /\\b(?:as|import|on)\\b/,\n punctuation: /[{}[\\]:;,]/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = qore\nqore.displayName = 'qore'\nqore.aliases = []\nfunction qore(Prism) {\n Prism.languages.qore = Prism.languages.extend('clike', {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:\\/\\/|#).*)/,\n lookbehind: true\n },\n // Overridden to allow unescaped multi-line strings\n string: {\n pattern: /(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n greedy: true\n },\n keyword:\n /\\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:bool|date|float|int|list|number|string)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\\b/,\n boolean: /\\b(?:false|true)\\b/i,\n function: /\\$?\\b(?!\\d)\\w+(?=\\()/,\n number:\n /\\b(?:0b[01]+|0x(?:[\\da-f]*\\.)?[\\da-fp\\-]+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:e\\d+)?[df]|(?:\\d+(?:\\.\\d+)?|\\.\\d+))\\b/i,\n operator: {\n pattern:\n /(^|[^.])(?:\\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\\|[|=]?|[*\\/%^]=?|[~?])/,\n lookbehind: true\n },\n variable: /\\$(?!\\d)\\w+\\b/\n })\n}\n","'use strict'\n\nmodule.exports = qsharp\nqsharp.displayName = 'qsharp'\nqsharp.aliases = ['qs']\nfunction qsharp(Prism) {\n ;(function (Prism) {\n /**\n * Replaces all placeholders \"<<n>>\" of given pattern with the n-th replacement (zero based).\n *\n * Note: This is a simple text based replacement. Be careful when using backreferences!\n *\n * @param {string} pattern the given pattern.\n * @param {string[]} replacements a list of replacement which can be inserted into the given pattern.\n * @returns {string} the pattern with all placeholders replaced with their corresponding replacements.\n * @example replace(/a<<0>>a/.source, [/b+/.source]) === /a(?:b+)a/.source\n */\n function replace(pattern, replacements) {\n return pattern.replace(/<<(\\d+)>>/g, function (m, index) {\n return '(?:' + replacements[+index] + ')'\n })\n }\n /**\n * @param {string} pattern\n * @param {string[]} replacements\n * @param {string} [flags]\n * @returns {RegExp}\n */\n function re(pattern, replacements, flags) {\n return RegExp(replace(pattern, replacements), flags || '')\n }\n /**\n * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.\n *\n * @param {string} pattern\n * @param {number} depthLog2\n * @returns {string}\n */\n function nested(pattern, depthLog2) {\n for (var i = 0; i < depthLog2; i++) {\n pattern = pattern.replace(/<<self>>/g, function () {\n return '(?:' + pattern + ')'\n })\n }\n return pattern.replace(/<<self>>/g, '[^\\\\s\\\\S]')\n } // https://docs.microsoft.com/en-us/azure/quantum/user-guide/language/typesystem/\n // https://github.com/microsoft/qsharp-language/tree/main/Specifications/Language/5_Grammar\n var keywordKinds = {\n // keywords which represent a return or variable type\n type: 'Adj BigInt Bool Ctl Double false Int One Pauli PauliI PauliX PauliY PauliZ Qubit Range Result String true Unit Zero',\n // all other keywords\n other:\n 'Adjoint adjoint apply as auto body borrow borrowing Controlled controlled distribute elif else fail fixup for function if in internal intrinsic invert is let mutable namespace new newtype open operation repeat return self set until use using while within'\n } // keywords\n function keywordsToPattern(words) {\n return '\\\\b(?:' + words.trim().replace(/ /g, '|') + ')\\\\b'\n }\n var keywords = RegExp(\n keywordsToPattern(keywordKinds.type + ' ' + keywordKinds.other)\n ) // types\n var identifier = /\\b[A-Za-z_]\\w*\\b/.source\n var qualifiedName = replace(/<<0>>(?:\\s*\\.\\s*<<0>>)*/.source, [identifier])\n var typeInside = {\n keyword: keywords,\n punctuation: /[<>()?,.:[\\]]/\n } // strings\n var regularString = /\"(?:\\\\.|[^\\\\\"])*\"/.source\n Prism.languages.qsharp = Prism.languages.extend('clike', {\n comment: /\\/\\/.*/,\n string: [\n {\n pattern: re(/(^|[^$\\\\])<<0>>/.source, [regularString]),\n lookbehind: true,\n greedy: true\n }\n ],\n 'class-name': [\n {\n // open Microsoft.Quantum.Canon;\n // open Microsoft.Quantum.Canon as CN;\n pattern: re(/(\\b(?:as|open)\\s+)<<0>>(?=\\s*(?:;|as\\b))/.source, [\n qualifiedName\n ]),\n lookbehind: true,\n inside: typeInside\n },\n {\n // namespace Quantum.App1;\n pattern: re(/(\\bnamespace\\s+)<<0>>(?=\\s*\\{)/.source, [qualifiedName]),\n lookbehind: true,\n inside: typeInside\n }\n ],\n keyword: keywords,\n number:\n /(?:\\b0(?:x[\\da-f]+|b[01]+|o[0-7]+)|(?:\\B\\.\\d+|\\b\\d+(?:\\.\\d*)?)(?:e[-+]?\\d+)?)l?\\b/i,\n operator:\n /\\band=|\\bor=|\\band\\b|\\bnot\\b|\\bor\\b|<[-=]|[-=]>|>>>=?|<<<=?|\\^\\^\\^=?|\\|\\|\\|=?|&&&=?|w\\/=?|~~~|[*\\/+\\-^=!%]=?/,\n punctuation: /::|[{}[\\];(),.:]/\n })\n Prism.languages.insertBefore('qsharp', 'number', {\n range: {\n pattern: /\\.\\./,\n alias: 'operator'\n }\n }) // single line\n var interpolationExpr = nested(\n replace(/\\{(?:[^\"{}]|<<0>>|<<self>>)*\\}/.source, [regularString]),\n 2\n )\n Prism.languages.insertBefore('qsharp', 'string', {\n 'interpolation-string': {\n pattern: re(/\\$\"(?:\\\\.|<<0>>|[^\\\\\"{])*\"/.source, [interpolationExpr]),\n greedy: true,\n inside: {\n interpolation: {\n pattern: re(/((?:^|[^\\\\])(?:\\\\\\\\)*)<<0>>/.source, [\n interpolationExpr\n ]),\n lookbehind: true,\n inside: {\n punctuation: /^\\{|\\}$/,\n expression: {\n pattern: /[\\s\\S]+/,\n alias: 'language-qsharp',\n inside: Prism.languages.qsharp\n }\n }\n },\n string: /[\\s\\S]+/\n }\n }\n })\n })(Prism)\n Prism.languages.qs = Prism.languages.qsharp\n}\n","'use strict'\n\nmodule.exports = r\nr.displayName = 'r'\nr.aliases = []\nfunction r(Prism) {\n Prism.languages.r = {\n comment: /#.*/,\n string: {\n pattern: /(['\"])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n 'percent-operator': {\n // Includes user-defined operators\n // and %%, %*%, %/%, %in%, %o%, %x%\n pattern: /%[^%\\s]*%/,\n alias: 'operator'\n },\n boolean: /\\b(?:FALSE|TRUE)\\b/,\n ellipsis: /\\.\\.(?:\\.|\\d+)/,\n number: [\n /\\b(?:Inf|NaN)\\b/,\n /(?:\\b0x[\\dA-Fa-f]+(?:\\.\\d*)?|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[EePp][+-]?\\d+)?[iL]?/\n ],\n keyword:\n /\\b(?:NA|NA_character_|NA_complex_|NA_integer_|NA_real_|NULL|break|else|for|function|if|in|next|repeat|while)\\b/,\n operator: /->?>?|<(?:=|<?-)?|[>=!]=?|::?|&&?|\\|\\|?|[+*\\/^$@~]/,\n punctuation: /[(){}\\[\\],;]/\n }\n}\n","'use strict'\nvar refractorScheme = require('./scheme.js')\nmodule.exports = racket\nracket.displayName = 'racket'\nracket.aliases = ['rkt']\nfunction racket(Prism) {\n Prism.register(refractorScheme)\n Prism.languages.racket = Prism.languages.extend('scheme', {\n 'lambda-parameter': {\n // the racket lambda syntax is a lot more complex, so we won't even attempt to capture it.\n // this will just prevent false positives of the `function` pattern\n pattern: /([(\\[]lambda\\s+[(\\[])[^()\\[\\]'\\s]+/,\n lookbehind: true\n }\n })\n Prism.languages.insertBefore('racket', 'string', {\n lang: {\n pattern: /^#lang.+/m,\n greedy: true,\n alias: 'keyword'\n }\n })\n Prism.languages.rkt = Prism.languages.racket\n}\n","'use strict'\n\nmodule.exports = reason\nreason.displayName = 'reason'\nreason.aliases = []\nfunction reason(Prism) {\n Prism.languages.reason = Prism.languages.extend('clike', {\n string: {\n pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n\"])*\"/,\n greedy: true\n },\n // 'class-name' must be matched *after* 'constructor' defined below\n 'class-name': /\\b[A-Z]\\w*/,\n keyword:\n /\\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\\b/,\n operator:\n /\\.{3}|:[:=]|\\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\\-*\\/]\\.?|\\b(?:asr|land|lor|lsl|lsr|lxor|mod)\\b/\n })\n Prism.languages.insertBefore('reason', 'class-name', {\n char: {\n pattern: /'(?:\\\\x[\\da-f]{2}|\\\\o[0-3][0-7][0-7]|\\\\\\d{3}|\\\\.|[^'\\\\\\r\\n])'/,\n greedy: true\n },\n // Negative look-ahead prevents from matching things like String.capitalize\n constructor: /\\b[A-Z]\\w*\\b(?!\\s*\\.)/,\n label: {\n pattern: /\\b[a-z]\\w*(?=::)/,\n alias: 'symbol'\n }\n }) // We can't match functions property, so let's not even try.\n delete Prism.languages.reason.function\n}\n","'use strict'\n\nmodule.exports = regex\nregex.displayName = 'regex'\nregex.aliases = []\nfunction regex(Prism) {\n ;(function (Prism) {\n var specialEscape = {\n pattern: /\\\\[\\\\(){}[\\]^$+*?|.]/,\n alias: 'escape'\n }\n var escape =\n /\\\\(?:x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u\\{[\\da-fA-F]+\\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/\n var charSet = {\n pattern: /\\.|\\\\[wsd]|\\\\p\\{[^{}]+\\}/i,\n alias: 'class-name'\n }\n var charSetWithoutDot = {\n pattern: /\\\\[wsd]|\\\\p\\{[^{}]+\\}/i,\n alias: 'class-name'\n }\n var rangeChar = '(?:[^\\\\\\\\-]|' + escape.source + ')'\n var range = RegExp(rangeChar + '-' + rangeChar) // the name of a capturing group\n var groupName = {\n pattern: /(<|')[^<>']+(?=[>']$)/,\n lookbehind: true,\n alias: 'variable'\n }\n Prism.languages.regex = {\n 'char-class': {\n pattern: /((?:^|[^\\\\])(?:\\\\\\\\)*)\\[(?:[^\\\\\\]]|\\\\[\\s\\S])*\\]/,\n lookbehind: true,\n inside: {\n 'char-class-negation': {\n pattern: /(^\\[)\\^/,\n lookbehind: true,\n alias: 'operator'\n },\n 'char-class-punctuation': {\n pattern: /^\\[|\\]$/,\n alias: 'punctuation'\n },\n range: {\n pattern: range,\n inside: {\n escape: escape,\n 'range-punctuation': {\n pattern: /-/,\n alias: 'operator'\n }\n }\n },\n 'special-escape': specialEscape,\n 'char-set': charSetWithoutDot,\n escape: escape\n }\n },\n 'special-escape': specialEscape,\n 'char-set': charSet,\n backreference: [\n {\n // a backreference which is not an octal escape\n pattern: /\\\\(?![123][0-7]{2})[1-9]/,\n alias: 'keyword'\n },\n {\n pattern: /\\\\k<[^<>']+>/,\n alias: 'keyword',\n inside: {\n 'group-name': groupName\n }\n }\n ],\n anchor: {\n pattern: /[$^]|\\\\[ABbGZz]/,\n alias: 'function'\n },\n escape: escape,\n group: [\n {\n // https://docs.oracle.com/javase/10/docs/api/java/util/regex/Pattern.html\n // https://docs.microsoft.com/en-us/dotnet/standard/base-types/regular-expression-language-quick-reference?view=netframework-4.7.2#grouping-constructs\n // (), (?<name>), (?'name'), (?>), (?:), (?=), (?!), (?<=), (?<!), (?is-m), (?i-m:)\n pattern:\n /\\((?:\\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,\n alias: 'punctuation',\n inside: {\n 'group-name': groupName\n }\n },\n {\n pattern: /\\)/,\n alias: 'punctuation'\n }\n ],\n quantifier: {\n pattern: /(?:[+*?]|\\{\\d+(?:,\\d*)?\\})[?+]?/,\n alias: 'number'\n },\n alternation: {\n pattern: /\\|/,\n alias: 'keyword'\n }\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = rego\nrego.displayName = 'rego'\nrego.aliases = []\nfunction rego(Prism) {\n // https://www.openpolicyagent.org/docs/latest/policy-reference/\n Prism.languages.rego = {\n comment: /#.*/,\n property: {\n pattern:\n /(^|[^\\\\.])(?:\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|`[^`]*`|\\b[a-z_]\\w*\\b)(?=\\s*:(?!=))/i,\n lookbehind: true,\n greedy: true\n },\n string: {\n pattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|`[^`]*`/,\n lookbehind: true,\n greedy: true\n },\n keyword:\n /\\b(?:as|default|else|import|not|null|package|set(?=\\s*\\()|some|with)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n function: {\n pattern: /\\b[a-z_]\\w*\\b(?:\\s*\\.\\s*\\b[a-z_]\\w*\\b)*(?=\\s*\\()/i,\n inside: {\n namespace: /\\b\\w+\\b(?=\\s*\\.)/,\n punctuation: /\\./\n }\n },\n number: /-?\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\n operator: /[-+*/%|&]|[<>:=]=?|!=|\\b_\\b/,\n punctuation: /[,;.\\[\\]{}()]/\n }\n}\n","'use strict'\n\nmodule.exports = renpy\nrenpy.displayName = 'renpy'\nrenpy.aliases = ['rpy']\nfunction renpy(Prism) {\n Prism.languages.renpy = {\n comment: {\n pattern: /(^|[^\\\\])#.+/,\n lookbehind: true\n },\n string: {\n pattern:\n /(\"\"\"|''')[\\s\\S]+?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\])*\\2|(?:^#?(?:(?:[0-9a-fA-F]){3}|[0-9a-fA-F]{6})$)/m,\n greedy: true\n },\n function: /\\b[a-z_]\\w*(?=\\()/i,\n property:\n /\\b(?:Update|UpdateVersion|action|activate_sound|adv_nvl_transition|after_load_transition|align|alpha|alt|anchor|antialias|area|auto|background|bar_invert|bar_resizing|bar_vertical|black_color|bold|bottom_bar|bottom_gutter|bottom_margin|bottom_padding|box_reverse|box_wrap|can_update|caret|child|color|crop|default_afm_enable|default_afm_time|default_fullscreen|default_text_cps|developer|directory_name|drag_handle|drag_joined|drag_name|drag_raise|draggable|dragged|drop_shadow|drop_shadow_color|droppable|dropped|easein|easeout|edgescroll|end_game_transition|end_splash_transition|enter_replay_transition|enter_sound|enter_transition|enter_yesno_transition|executable_name|exit_replay_transition|exit_sound|exit_transition|exit_yesno_transition|fadein|fadeout|first_indent|first_spacing|fit_first|focus|focus_mask|font|foreground|game_main_transition|get_installed_packages|google_play_key|google_play_salt|ground|has_music|has_sound|has_voice|height|help|hinting|hover|hover_background|hover_color|hover_sound|hovered|hyperlink_functions|idle|idle_color|image_style|include_update|insensitive|insensitive_background|insensitive_color|inside|intra_transition|italic|justify|kerning|keyboard_focus|language|layer_clipping|layers|layout|left_bar|left_gutter|left_margin|left_padding|length|line_leading|line_overlap_split|line_spacing|linear|main_game_transition|main_menu_music|maximum|min_width|minimum|minwidth|modal|mouse|mousewheel|name|narrator_menu|newline_indent|nvl_adv_transition|offset|order_reverse|outlines|overlay_functions|pos|position|prefix|radius|range|rest_indent|right_bar|right_gutter|right_margin|right_padding|rotate|rotate_pad|ruby_style|sample_sound|save_directory|say_attribute_transition|screen_height|screen_width|scrollbars|selected_hover|selected_hover_color|selected_idle|selected_idle_color|selected_insensitive|show_side_image|show_two_window|side_spacing|side_xpos|side_ypos|size|size_group|slow_cps|slow_cps_multiplier|spacing|strikethrough|subpixel|text_align|text_style|text_xpos|text_y_fudge|text_ypos|thumb|thumb_offset|thumb_shadow|thumbnail_height|thumbnail_width|time|top_bar|top_gutter|top_margin|top_padding|translations|underline|unscrollable|update|value|version|version_name|version_tuple|vertical|width|window_hide_transition|window_icon|window_left_padding|window_show_transition|window_title|windows_icon|xadjustment|xalign|xanchor|xanchoraround|xaround|xcenter|xfill|xinitial|xmargin|xmaximum|xminimum|xoffset|xofsset|xpadding|xpos|xsize|xzoom|yadjustment|yalign|yanchor|yanchoraround|yaround|ycenter|yfill|yinitial|ymargin|ymaximum|yminimum|yoffset|ypadding|ypos|ysize|ysizexysize|yzoom|zoom|zorder)\\b/,\n tag: /\\b(?:bar|block|button|buttoscreenn|drag|draggroup|fixed|frame|grid|[hv]box|hotbar|hotspot|image|imagebutton|imagemap|input|key|label|menu|mm_menu_frame|mousearea|nvl|parallel|screen|self|side|tag|text|textbutton|timer|vbar|viewport|window)\\b|\\$/,\n keyword:\n /\\b(?:None|add|adjustment|alignaround|allow|angle|animation|around|as|assert|behind|box_layout|break|build|cache|call|center|changed|child_size|choice|circles|class|clear|clicked|clipping|clockwise|config|contains|continue|corner1|corner2|counterclockwise|def|default|define|del|delay|disabled|disabled_text|dissolve|elif|else|event|except|exclude|exec|expression|fade|finally|for|from|function|global|gm_root|has|hide|id|if|import|in|init|is|jump|knot|lambda|left|less_rounded|mm_root|movie|music|null|on|onlayer|pass|pause|persistent|play|print|python|queue|raise|random|renpy|repeat|return|right|rounded_window|scene|scope|set|show|slow|slow_abortable|slow_done|sound|stop|store|style|style_group|substitute|suffix|theme|transform|transform_anchor|transpose|try|ui|unhovered|updater|use|voice|while|widget|widget_hover|widget_selected|widget_text|yield)\\b/,\n boolean: /\\b(?:[Ff]alse|[Tt]rue)\\b/,\n number:\n /(?:\\b(?:0[bo])?(?:(?:\\d|0x[\\da-f])[\\da-f]*(?:\\.\\d*)?)|\\B\\.\\d+)(?:e[+-]?\\d+)?j?/i,\n operator:\n /[-+%=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]|\\b(?:and|at|not|or|with)\\b/,\n punctuation: /[{}[\\];(),.:]/\n }\n Prism.languages.rpy = Prism.languages.renpy\n}\n","'use strict'\n\nmodule.exports = rest\nrest.displayName = 'rest'\nrest.aliases = []\nfunction rest(Prism) {\n Prism.languages.rest = {\n table: [\n {\n pattern:\n /(^[\\t ]*)(?:\\+[=-]+)+\\+(?:\\r?\\n|\\r)(?:\\1[+|].+[+|](?:\\r?\\n|\\r))+\\1(?:\\+[=-]+)+\\+/m,\n lookbehind: true,\n inside: {\n punctuation: /\\||(?:\\+[=-]+)+\\+/\n }\n },\n {\n pattern:\n /(^[\\t ]*)=+ [ =]*=(?:(?:\\r?\\n|\\r)\\1.+)+(?:\\r?\\n|\\r)\\1=+ [ =]*=(?=(?:\\r?\\n|\\r){2}|\\s*$)/m,\n lookbehind: true,\n inside: {\n punctuation: /[=-]+/\n }\n }\n ],\n // Directive-like patterns\n 'substitution-def': {\n pattern: /(^[\\t ]*\\.\\. )\\|(?:[^|\\s](?:[^|]*[^|\\s])?)\\| [^:]+::/m,\n lookbehind: true,\n inside: {\n substitution: {\n pattern: /^\\|(?:[^|\\s]|[^|\\s][^|]*[^|\\s])\\|/,\n alias: 'attr-value',\n inside: {\n punctuation: /^\\||\\|$/\n }\n },\n directive: {\n pattern: /( )(?! )[^:]+::/,\n lookbehind: true,\n alias: 'function',\n inside: {\n punctuation: /::$/\n }\n }\n }\n },\n 'link-target': [\n {\n pattern: /(^[\\t ]*\\.\\. )\\[[^\\]]+\\]/m,\n lookbehind: true,\n alias: 'string',\n inside: {\n punctuation: /^\\[|\\]$/\n }\n },\n {\n pattern: /(^[\\t ]*\\.\\. )_(?:`[^`]+`|(?:[^:\\\\]|\\\\.)+):/m,\n lookbehind: true,\n alias: 'string',\n inside: {\n punctuation: /^_|:$/\n }\n }\n ],\n directive: {\n pattern: /(^[\\t ]*\\.\\. )[^:]+::/m,\n lookbehind: true,\n alias: 'function',\n inside: {\n punctuation: /::$/\n }\n },\n comment: {\n // The two alternatives try to prevent highlighting of blank comments\n pattern:\n /(^[\\t ]*\\.\\.)(?:(?: .+)?(?:(?:\\r?\\n|\\r).+)+| .+)(?=(?:\\r?\\n|\\r){2}|$)/m,\n lookbehind: true\n },\n title: [\n // Overlined and underlined\n {\n pattern:\n /^(([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~])\\2+)(?:\\r?\\n|\\r).+(?:\\r?\\n|\\r)\\1$/m,\n inside: {\n punctuation:\n /^[!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~]+|[!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~]+$/,\n important: /.+/\n }\n }, // Underlined only\n {\n pattern:\n /(^|(?:\\r?\\n|\\r){2}).+(?:\\r?\\n|\\r)([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~])\\2+(?=\\r?\\n|\\r|$)/,\n lookbehind: true,\n inside: {\n punctuation: /[!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~]+$/,\n important: /.+/\n }\n }\n ],\n hr: {\n pattern:\n /((?:\\r?\\n|\\r){2})([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~])\\2{3,}(?=(?:\\r?\\n|\\r){2})/,\n lookbehind: true,\n alias: 'punctuation'\n },\n field: {\n pattern: /(^[\\t ]*):[^:\\r\\n]+:(?= )/m,\n lookbehind: true,\n alias: 'attr-name'\n },\n 'command-line-option': {\n pattern:\n /(^[\\t ]*)(?:[+-][a-z\\d]|(?:--|\\/)[a-z\\d-]+)(?:[ =](?:[a-z][\\w-]*|<[^<>]+>))?(?:, (?:[+-][a-z\\d]|(?:--|\\/)[a-z\\d-]+)(?:[ =](?:[a-z][\\w-]*|<[^<>]+>))?)*(?=(?:\\r?\\n|\\r)? {2,}\\S)/im,\n lookbehind: true,\n alias: 'symbol'\n },\n 'literal-block': {\n pattern: /::(?:\\r?\\n|\\r){2}([ \\t]+)(?![ \\t]).+(?:(?:\\r?\\n|\\r)\\1.+)*/,\n inside: {\n 'literal-block-punctuation': {\n pattern: /^::/,\n alias: 'punctuation'\n }\n }\n },\n 'quoted-literal-block': {\n pattern:\n /::(?:\\r?\\n|\\r){2}([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~]).*(?:(?:\\r?\\n|\\r)\\1.*)*/,\n inside: {\n 'literal-block-punctuation': {\n pattern: /^(?:::|([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~])\\1*)/m,\n alias: 'punctuation'\n }\n }\n },\n 'list-bullet': {\n pattern:\n /(^[\\t ]*)(?:[*+\\-•‣⁃]|\\(?(?:\\d+|[a-z]|[ivxdclm]+)\\)|(?:\\d+|[a-z]|[ivxdclm]+)\\.)(?= )/im,\n lookbehind: true,\n alias: 'punctuation'\n },\n 'doctest-block': {\n pattern: /(^[\\t ]*)>>> .+(?:(?:\\r?\\n|\\r).+)*/m,\n lookbehind: true,\n inside: {\n punctuation: /^>>>/\n }\n },\n inline: [\n {\n pattern:\n /(^|[\\s\\-:\\/'\"<(\\[{])(?::[^:]+:`.*?`|`.*?`:[^:]+:|(\\*\\*?|``?|\\|)(?!\\s)(?:(?!\\2).)*\\S\\2(?=[\\s\\-.,:;!?\\\\\\/'\")\\]}]|$))/m,\n lookbehind: true,\n inside: {\n bold: {\n pattern: /(^\\*\\*).+(?=\\*\\*$)/,\n lookbehind: true\n },\n italic: {\n pattern: /(^\\*).+(?=\\*$)/,\n lookbehind: true\n },\n 'inline-literal': {\n pattern: /(^``).+(?=``$)/,\n lookbehind: true,\n alias: 'symbol'\n },\n role: {\n pattern: /^:[^:]+:|:[^:]+:$/,\n alias: 'function',\n inside: {\n punctuation: /^:|:$/\n }\n },\n 'interpreted-text': {\n pattern: /(^`).+(?=`$)/,\n lookbehind: true,\n alias: 'attr-value'\n },\n substitution: {\n pattern: /(^\\|).+(?=\\|$)/,\n lookbehind: true,\n alias: 'attr-value'\n },\n punctuation: /\\*\\*?|``?|\\|/\n }\n }\n ],\n link: [\n {\n pattern: /\\[[^\\[\\]]+\\]_(?=[\\s\\-.,:;!?\\\\\\/'\")\\]}]|$)/,\n alias: 'string',\n inside: {\n punctuation: /^\\[|\\]_$/\n }\n },\n {\n pattern:\n /(?:\\b[a-z\\d]+(?:[_.:+][a-z\\d]+)*_?_|`[^`]+`_?_|_`[^`]+`)(?=[\\s\\-.,:;!?\\\\\\/'\")\\]}]|$)/i,\n alias: 'string',\n inside: {\n punctuation: /^_?`|`$|`?_?_$/\n }\n }\n ],\n // Line block start,\n // quote attribution,\n // explicit markup start,\n // and anonymous hyperlink target shortcut (__)\n punctuation: {\n pattern: /(^[\\t ]*)(?:\\|(?= |$)|(?:---?|—|\\.\\.|__)(?= )|\\.\\.$)/m,\n lookbehind: true\n }\n }\n}\n","'use strict'\n\nmodule.exports = rip\nrip.displayName = 'rip'\nrip.aliases = []\nfunction rip(Prism) {\n Prism.languages.rip = {\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n char: {\n pattern: /\\B`[^\\s`'\",.:;#\\/\\\\()<>\\[\\]{}]\\b/,\n greedy: true\n },\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n regex: {\n pattern:\n /(^|[^/])\\/(?!\\/)(?:\\[[^\\n\\r\\]]*\\]|\\\\.|[^/\\\\\\r\\n\\[])+\\/(?=\\s*(?:$|[\\r\\n,.;})]))/,\n lookbehind: true,\n greedy: true\n },\n keyword:\n /(?:=>|->)|\\b(?:case|catch|class|else|exit|finally|if|raise|return|switch|try)\\b/,\n builtin: /@|\\bSystem\\b/,\n boolean: /\\b(?:false|true)\\b/,\n date: /\\b\\d{4}-\\d{2}-\\d{2}\\b/,\n time: /\\b\\d{2}:\\d{2}:\\d{2}\\b/,\n datetime: /\\b\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\b/,\n symbol: /:[^\\d\\s`'\",.:;#\\/\\\\()<>\\[\\]{}][^\\s`'\",.:;#\\/\\\\()<>\\[\\]{}]*/,\n number: /[+-]?\\b(?:\\d+\\.\\d+|\\d+)\\b/,\n punctuation: /(?:\\.{2,3})|[`,.:;=\\/\\\\()<>\\[\\]{}]/,\n reference: /[^\\d\\s`'\",.:;#\\/\\\\()<>\\[\\]{}][^\\s`'\",.:;#\\/\\\\()<>\\[\\]{}]*/\n }\n}\n","'use strict'\n\nmodule.exports = roboconf\nroboconf.displayName = 'roboconf'\nroboconf.aliases = []\nfunction roboconf(Prism) {\n Prism.languages.roboconf = {\n comment: /#.*/,\n keyword: {\n pattern:\n /(^|\\s)(?:(?:external|import)\\b|(?:facet|instance of)(?=[ \\t]+[\\w-]+[ \\t]*\\{))/,\n lookbehind: true\n },\n component: {\n pattern: /[\\w-]+(?=[ \\t]*\\{)/,\n alias: 'variable'\n },\n property: /[\\w.-]+(?=[ \\t]*:)/,\n value: {\n pattern: /(=[ \\t]*(?![ \\t]))[^,;]+/,\n lookbehind: true,\n alias: 'attr-value'\n },\n optional: {\n pattern: /\\(optional\\)/,\n alias: 'builtin'\n },\n wildcard: {\n pattern: /(\\.)\\*/,\n lookbehind: true,\n alias: 'operator'\n },\n punctuation: /[{},.;:=]/\n }\n}\n","'use strict'\n\nmodule.exports = robotframework\nrobotframework.displayName = 'robotframework'\nrobotframework.aliases = []\nfunction robotframework(Prism) {\n ;(function (Prism) {\n var comment = {\n pattern: /(^[ \\t]*| {2}|\\t)#.*/m,\n lookbehind: true,\n greedy: true\n }\n var variable = {\n pattern: /((?:^|[^\\\\])(?:\\\\{2})*)[$@&%]\\{(?:[^{}\\r\\n]|\\{[^{}\\r\\n]*\\})*\\}/,\n lookbehind: true,\n inside: {\n punctuation: /^[$@&%]\\{|\\}$/\n }\n }\n function createSection(name, inside) {\n var extendecInside = {}\n extendecInside['section-header'] = {\n pattern: /^ ?\\*{3}.+?\\*{3}/,\n alias: 'keyword'\n } // copy inside tokens\n for (var token in inside) {\n extendecInside[token] = inside[token]\n }\n extendecInside['tag'] = {\n pattern: /([\\r\\n](?: {2}|\\t)[ \\t]*)\\[[-\\w]+\\]/,\n lookbehind: true,\n inside: {\n punctuation: /\\[|\\]/\n }\n }\n extendecInside['variable'] = variable\n extendecInside['comment'] = comment\n return {\n pattern: RegExp(\n /^ ?\\*{3}[ \\t]*<name>[ \\t]*\\*{3}(?:.|[\\r\\n](?!\\*{3}))*/.source.replace(\n /<name>/g,\n function () {\n return name\n }\n ),\n 'im'\n ),\n alias: 'section',\n inside: extendecInside\n }\n }\n var docTag = {\n pattern:\n /(\\[Documentation\\](?: {2}|\\t)[ \\t]*)(?![ \\t]|#)(?:.|(?:\\r\\n?|\\n)[ \\t]*\\.{3})+/,\n lookbehind: true,\n alias: 'string'\n }\n var testNameLike = {\n pattern: /([\\r\\n] ?)(?!#)(?:\\S(?:[ \\t]\\S)*)+/,\n lookbehind: true,\n alias: 'function',\n inside: {\n variable: variable\n }\n }\n var testPropertyLike = {\n pattern: /([\\r\\n](?: {2}|\\t)[ \\t]*)(?!\\[|\\.{3}|#)(?:\\S(?:[ \\t]\\S)*)+/,\n lookbehind: true,\n inside: {\n variable: variable\n }\n }\n Prism.languages['robotframework'] = {\n settings: createSection('Settings', {\n documentation: {\n pattern:\n /([\\r\\n] ?Documentation(?: {2}|\\t)[ \\t]*)(?![ \\t]|#)(?:.|(?:\\r\\n?|\\n)[ \\t]*\\.{3})+/,\n lookbehind: true,\n alias: 'string'\n },\n property: {\n pattern: /([\\r\\n] ?)(?!\\.{3}|#)(?:\\S(?:[ \\t]\\S)*)+/,\n lookbehind: true\n }\n }),\n variables: createSection('Variables'),\n 'test-cases': createSection('Test Cases', {\n 'test-name': testNameLike,\n documentation: docTag,\n property: testPropertyLike\n }),\n keywords: createSection('Keywords', {\n 'keyword-name': testNameLike,\n documentation: docTag,\n property: testPropertyLike\n }),\n tasks: createSection('Tasks', {\n 'task-name': testNameLike,\n documentation: docTag,\n property: testPropertyLike\n }),\n comment: comment\n }\n Prism.languages.robot = Prism.languages['robotframework']\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = ruby\nruby.displayName = 'ruby'\nruby.aliases = ['rb']\nfunction ruby(Prism) {\n /**\n * Original by Samuel Flores\n *\n * Adds the following new token classes:\n * constant, builtin, variable, symbol, regex\n */\n ;(function (Prism) {\n Prism.languages.ruby = Prism.languages.extend('clike', {\n comment: {\n pattern: /#.*|^=begin\\s[\\s\\S]*?^=end/m,\n greedy: true\n },\n 'class-name': {\n pattern:\n /(\\b(?:class|module)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+|\\b[A-Z_]\\w*(?=\\s*\\.\\s*new\\b)/,\n lookbehind: true,\n inside: {\n punctuation: /[.\\\\]/\n }\n },\n keyword:\n /\\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\\b/,\n operator:\n /\\.{2,3}|&\\.|===|<?=>|[!=]?~|(?:&&|\\|\\||<<|>>|\\*\\*|[+\\-*/%<>!^&|=])=?|[?:]/,\n punctuation: /[(){}[\\].,;]/\n })\n Prism.languages.insertBefore('ruby', 'operator', {\n 'double-colon': {\n pattern: /::/,\n alias: 'punctuation'\n }\n })\n var interpolation = {\n pattern: /((?:^|[^\\\\])(?:\\\\{2})*)#\\{(?:[^{}]|\\{[^{}]*\\})*\\}/,\n lookbehind: true,\n inside: {\n content: {\n pattern: /^(#\\{)[\\s\\S]+(?=\\}$)/,\n lookbehind: true,\n inside: Prism.languages.ruby\n },\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: 'punctuation'\n }\n }\n }\n delete Prism.languages.ruby.function\n var percentExpression =\n '(?:' +\n [\n /([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/.source,\n /\\((?:[^()\\\\]|\\\\[\\s\\S]|\\((?:[^()\\\\]|\\\\[\\s\\S])*\\))*\\)/.source,\n /\\{(?:[^{}\\\\]|\\\\[\\s\\S]|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\})*\\}/.source,\n /\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S]|\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\])*\\]/.source,\n /<(?:[^<>\\\\]|\\\\[\\s\\S]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)*>/.source\n ].join('|') +\n ')'\n var symbolName =\n /(?:\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|(?:\\b[a-zA-Z_]\\w*|[^\\s\\0-\\x7F]+)[?!]?|\\$.)/\n .source\n Prism.languages.insertBefore('ruby', 'keyword', {\n 'regex-literal': [\n {\n pattern: RegExp(\n /%r/.source + percentExpression + /[egimnosux]{0,6}/.source\n ),\n greedy: true,\n inside: {\n interpolation: interpolation,\n regex: /[\\s\\S]+/\n }\n },\n {\n pattern:\n /(^|[^/])\\/(?!\\/)(?:\\[[^\\r\\n\\]]+\\]|\\\\.|[^[/\\\\\\r\\n])+\\/[egimnosux]{0,6}(?=\\s*(?:$|[\\r\\n,.;})#]))/,\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: interpolation,\n regex: /[\\s\\S]+/\n }\n }\n ],\n variable: /[@$]+[a-zA-Z_]\\w*(?:[?!]|\\b)/,\n symbol: [\n {\n pattern: RegExp(/(^|[^:]):/.source + symbolName),\n lookbehind: true,\n greedy: true\n },\n {\n pattern: RegExp(\n /([\\r\\n{(,][ \\t]*)/.source + symbolName + /(?=:(?!:))/.source\n ),\n lookbehind: true,\n greedy: true\n }\n ],\n 'method-definition': {\n pattern: /(\\bdef\\s+)\\w+(?:\\s*\\.\\s*\\w+)?/,\n lookbehind: true,\n inside: {\n function: /\\b\\w+$/,\n keyword: /^self\\b/,\n 'class-name': /^\\w+/,\n punctuation: /\\./\n }\n }\n })\n Prism.languages.insertBefore('ruby', 'string', {\n 'string-literal': [\n {\n pattern: RegExp(/%[qQiIwWs]?/.source + percentExpression),\n greedy: true,\n inside: {\n interpolation: interpolation,\n string: /[\\s\\S]+/\n }\n },\n {\n pattern:\n /(\"|')(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\#\\r\\n])*\\1/,\n greedy: true,\n inside: {\n interpolation: interpolation,\n string: /[\\s\\S]+/\n }\n },\n {\n pattern: /<<[-~]?([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?[\\t ]*\\1/i,\n alias: 'heredoc-string',\n greedy: true,\n inside: {\n delimiter: {\n pattern: /^<<[-~]?[a-z_]\\w*|\\b[a-z_]\\w*$/i,\n inside: {\n symbol: /\\b\\w+/,\n punctuation: /^<<[-~]?/\n }\n },\n interpolation: interpolation,\n string: /[\\s\\S]+/\n }\n },\n {\n pattern: /<<[-~]?'([a-z_]\\w*)'[\\r\\n](?:.*[\\r\\n])*?[\\t ]*\\1/i,\n alias: 'heredoc-string',\n greedy: true,\n inside: {\n delimiter: {\n pattern: /^<<[-~]?'[a-z_]\\w*'|\\b[a-z_]\\w*$/i,\n inside: {\n symbol: /\\b\\w+/,\n punctuation: /^<<[-~]?'|'$/\n }\n },\n string: /[\\s\\S]+/\n }\n }\n ],\n 'command-literal': [\n {\n pattern: RegExp(/%x/.source + percentExpression),\n greedy: true,\n inside: {\n interpolation: interpolation,\n command: {\n pattern: /[\\s\\S]+/,\n alias: 'string'\n }\n }\n },\n {\n pattern: /`(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|[^\\\\`#\\r\\n])*`/,\n greedy: true,\n inside: {\n interpolation: interpolation,\n command: {\n pattern: /[\\s\\S]+/,\n alias: 'string'\n }\n }\n }\n ]\n })\n delete Prism.languages.ruby.string\n Prism.languages.insertBefore('ruby', 'number', {\n builtin:\n /\\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\\b/,\n constant: /\\b[A-Z][A-Z0-9_]*(?:[?!]|\\b)/\n })\n Prism.languages.rb = Prism.languages.ruby\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = rust\nrust.displayName = 'rust'\nrust.aliases = []\nfunction rust(Prism) {\n ;(function (Prism) {\n var multilineComment = /\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\//.source\n for (var i = 0; i < 2; i++) {\n // support 4 levels of nested comments\n multilineComment = multilineComment.replace(/<self>/g, function () {\n return multilineComment\n })\n }\n multilineComment = multilineComment.replace(/<self>/g, function () {\n return /[^\\s\\S]/.source\n })\n Prism.languages.rust = {\n comment: [\n {\n pattern: RegExp(/(^|[^\\\\])/.source + multilineComment),\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n string: {\n pattern: /b?\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|b?r(#*)\"(?:[^\"]|\"(?!\\1))*\"\\1/,\n greedy: true\n },\n char: {\n pattern:\n /b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u\\{(?:[\\da-fA-F]_*){1,6}\\}|.)|[^\\\\\\r\\n\\t'])'/,\n greedy: true\n },\n attribute: {\n pattern: /#!?\\[(?:[^\\[\\]\"]|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")*\\]/,\n greedy: true,\n alias: 'attr-name',\n inside: {\n string: null // see below\n }\n },\n // Closure params should not be confused with bitwise OR |\n 'closure-params': {\n pattern: /([=(,:]\\s*|\\bmove\\s*)\\|[^|]*\\||\\|[^|]*\\|(?=\\s*(?:\\{|->))/,\n lookbehind: true,\n greedy: true,\n inside: {\n 'closure-punctuation': {\n pattern: /^\\||\\|$/,\n alias: 'punctuation'\n },\n rest: null // see below\n }\n },\n 'lifetime-annotation': {\n pattern: /'\\w+/,\n alias: 'symbol'\n },\n 'fragment-specifier': {\n pattern: /(\\$\\w+:)[a-z]+/,\n lookbehind: true,\n alias: 'punctuation'\n },\n variable: /\\$\\w+/,\n 'function-definition': {\n pattern: /(\\bfn\\s+)\\w+/,\n lookbehind: true,\n alias: 'function'\n },\n 'type-definition': {\n pattern: /(\\b(?:enum|struct|trait|type|union)\\s+)\\w+/,\n lookbehind: true,\n alias: 'class-name'\n },\n 'module-declaration': [\n {\n pattern: /(\\b(?:crate|mod)\\s+)[a-z][a-z_\\d]*/,\n lookbehind: true,\n alias: 'namespace'\n },\n {\n pattern:\n /(\\b(?:crate|self|super)\\s*)::\\s*[a-z][a-z_\\d]*\\b(?:\\s*::(?:\\s*[a-z][a-z_\\d]*\\s*::)*)?/,\n lookbehind: true,\n alias: 'namespace',\n inside: {\n punctuation: /::/\n }\n }\n ],\n keyword: [\n // https://github.com/rust-lang/reference/blob/master/src/keywords.md\n /\\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/, // primitives and str\n // https://doc.rust-lang.org/stable/rust-by-example/primitives.html\n /\\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\\b/\n ],\n // functions can technically start with an upper-case letter, but this will introduce a lot of false positives\n // and Rust's naming conventions recommend snake_case anyway.\n // https://doc.rust-lang.org/1.0.0/style/style/naming/README.html\n function: /\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())/,\n macro: {\n pattern: /\\b\\w+!/,\n alias: 'property'\n },\n constant: /\\b[A-Z_][A-Z_\\d]+\\b/,\n 'class-name': /\\b[A-Z]\\w*\\b/,\n namespace: {\n pattern: /(?:\\b[a-z][a-z_\\d]*\\s*::\\s*)*\\b[a-z][a-z_\\d]*\\s*::(?!\\s*<)/,\n inside: {\n punctuation: /::/\n }\n },\n // Hex, oct, bin, dec numbers with visual separators and type suffix\n number:\n /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\\b/,\n boolean: /\\b(?:false|true)\\b/,\n punctuation: /->|\\.\\.=|\\.{1,3}|::|[{}[\\];(),:]/,\n operator: /[-+*\\/%!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?=?|[@?]/\n }\n Prism.languages.rust['closure-params'].inside.rest = Prism.languages.rust\n Prism.languages.rust['attribute'].inside['string'] =\n Prism.languages.rust['string']\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = sas\nsas.displayName = 'sas'\nsas.aliases = []\nfunction sas(Prism) {\n ;(function (Prism) {\n var stringPattern = /(?:\"(?:\"\"|[^\"])*\"(?!\")|'(?:''|[^'])*'(?!'))/.source\n var number = /\\b(?:\\d[\\da-f]*x|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b/i\n var numericConstant = {\n pattern: RegExp(stringPattern + '[bx]'),\n alias: 'number'\n }\n var macroVariable = {\n pattern: /&[a-z_]\\w*/i\n }\n var macroKeyword = {\n pattern:\n /((?:^|\\s|=|\\())%(?:ABORT|BY|CMS|COPY|DISPLAY|DO|ELSE|END|EVAL|GLOBAL|GO|GOTO|IF|INC|INCLUDE|INDEX|INPUT|KTRIM|LENGTH|LET|LIST|LOCAL|PUT|QKTRIM|QSCAN|QSUBSTR|QSYSFUNC|QUPCASE|RETURN|RUN|SCAN|SUBSTR|SUPERQ|SYMDEL|SYMEXIST|SYMGLOBL|SYMLOCAL|SYSCALL|SYSEVALF|SYSEXEC|SYSFUNC|SYSGET|SYSRPUT|THEN|TO|TSO|UNQUOTE|UNTIL|UPCASE|WHILE|WINDOW)\\b/i,\n lookbehind: true,\n alias: 'keyword'\n }\n var step = {\n pattern: /(^|\\s)(?:proc\\s+\\w+|data(?!=)|quit|run)\\b/i,\n alias: 'keyword',\n lookbehind: true\n }\n var comment = [\n /\\/\\*[\\s\\S]*?\\*\\//,\n {\n pattern: /(^[ \\t]*|;\\s*)\\*[^;]*;/m,\n lookbehind: true\n }\n ]\n var string = {\n pattern: RegExp(stringPattern),\n greedy: true\n }\n var punctuation = /[$%@.(){}\\[\\];,\\\\]/\n var func = {\n pattern: /%?\\b\\w+(?=\\()/,\n alias: 'keyword'\n }\n var args = {\n function: func,\n 'arg-value': {\n pattern: /(=\\s*)[A-Z\\.]+/i,\n lookbehind: true\n },\n operator: /=/,\n 'macro-variable': macroVariable,\n arg: {\n pattern: /[A-Z]+/i,\n alias: 'keyword'\n },\n number: number,\n 'numeric-constant': numericConstant,\n punctuation: punctuation,\n string: string\n }\n var format = {\n pattern: /\\b(?:format|put)\\b=?[\\w'$.]+/i,\n inside: {\n keyword: /^(?:format|put)(?==)/i,\n equals: /=/,\n format: {\n pattern: /(?:\\w|\\$\\d)+\\.\\d?/,\n alias: 'number'\n }\n }\n }\n var altformat = {\n pattern: /\\b(?:format|put)\\s+[\\w']+(?:\\s+[$.\\w]+)+(?=;)/i,\n inside: {\n keyword: /^(?:format|put)/i,\n format: {\n pattern: /[\\w$]+\\.\\d?/,\n alias: 'number'\n }\n }\n }\n var globalStatements = {\n pattern:\n /((?:^|\\s)=?)(?:catname|checkpoint execute_always|dm|endsas|filename|footnote|%include|libname|%list|lock|missing|options|page|resetline|%run|sasfile|skip|sysecho|title\\d?)\\b/i,\n lookbehind: true,\n alias: 'keyword'\n }\n var submitStatement = {\n pattern: /(^|\\s)(?:submit(?:\\s+(?:load|norun|parseonly))?|endsubmit)\\b/i,\n lookbehind: true,\n alias: 'keyword'\n }\n var actionSets =\n /aStore|accessControl|aggregation|audio|autotune|bayesianNetClassifier|bioMedImage|boolRule|builtins|cardinality|cdm|clustering|conditionalRandomFields|configuration|copula|countreg|dataDiscovery|dataPreprocess|dataSciencePilot|dataStep|decisionTree|deduplication|deepLearn|deepNeural|deepRnn|ds2|ecm|entityRes|espCluster|explainModel|factmac|fastKnn|fcmpact|fedSql|freqTab|gVarCluster|gam|gleam|graphSemiSupLearn|hiddenMarkovModel|hyperGroup|ica|image|iml|kernalPca|langModel|ldaTopic|loadStreams|mbc|mixed|mlTools|modelPublishing|network|neuralNet|nmf|nonParametricBayes|nonlinear|optNetwork|optimization|panel|pca|percentile|phreg|pls|qkb|qlim|quantreg|recommend|regression|reinforcementLearn|robustPca|ruleMining|sampling|sandwich|sccasl|search(?:Analytics)?|sentimentAnalysis|sequence|session(?:Prop)?|severity|simSystem|simple|smartData|sparkEmbeddedProcess|sparseML|spatialreg|spc|stabilityMonitoring|svDataDescription|svm|table|text(?:Filters|Frequency|Mining|Parse|Rule(?:Develop|Score)|Topic|Util)|timeData|transpose|tsInfo|tsReconcile|uniTimeSeries|varReduce/\n .source\n var casActions = {\n pattern: RegExp(\n /(^|\\s)(?:action\\s+)?(?:<act>)\\.[a-z]+\\b[^;]+/.source.replace(\n /<act>/g,\n function () {\n return actionSets\n }\n ),\n 'i'\n ),\n lookbehind: true,\n inside: {\n keyword: RegExp(\n /(?:<act>)\\.[a-z]+\\b/.source.replace(/<act>/g, function () {\n return actionSets\n }),\n 'i'\n ),\n action: {\n pattern: /(?:action)/i,\n alias: 'keyword'\n },\n comment: comment,\n function: func,\n 'arg-value': args['arg-value'],\n operator: args.operator,\n argument: args.arg,\n number: number,\n 'numeric-constant': numericConstant,\n punctuation: punctuation,\n string: string\n }\n }\n var keywords = {\n pattern:\n /((?:^|\\s)=?)(?:after|analysis|and|array|barchart|barwidth|begingraph|by|call|cas|cbarline|cfill|class(?:lev)?|close|column|computed?|contains|continue|data(?==)|define|delete|describe|document|do\\s+over|do|dol|drop|dul|else|end(?:comp|source)?|entryTitle|eval(?:uate)?|exec(?:ute)?|exit|file(?:name)?|fill(?:attrs)?|flist|fnc|function(?:list)?|global|goto|group(?:by)?|headline|headskip|histogram|if|infile|keep|keylabel|keyword|label|layout|leave|legendlabel|length|libname|loadactionset|merge|midpoints|_?null_|name|noobs|nowd|ods|options|or|otherwise|out(?:put)?|over(?:lay)?|plot|print|put|raise|ranexp|rannor|rbreak|retain|return|select|session|sessref|set|source|statgraph|sum|summarize|table|temp|terminate|then\\s+do|then|title\\d?|to|var|when|where|xaxisopts|y2axisopts|yaxisopts)\\b/i,\n lookbehind: true\n }\n Prism.languages.sas = {\n datalines: {\n pattern: /^([ \\t]*)(?:cards|(?:data)?lines);[\\s\\S]+?^[ \\t]*;/im,\n lookbehind: true,\n alias: 'string',\n inside: {\n keyword: {\n pattern: /^(?:cards|(?:data)?lines)/i\n },\n punctuation: /;/\n }\n },\n 'proc-sql': {\n pattern:\n /(^proc\\s+(?:fed)?sql(?:\\s+[\\w|=]+)?;)[\\s\\S]+?(?=^(?:proc\\s+\\w+|data|quit|run);|(?![\\s\\S]))/im,\n lookbehind: true,\n inside: {\n sql: {\n pattern: RegExp(\n /^[ \\t]*(?:select|alter\\s+table|(?:create|describe|drop)\\s+(?:index|table(?:\\s+constraints)?|view)|create\\s+unique\\s+index|insert\\s+into|update)(?:<str>|[^;\"'])+;/.source.replace(\n /<str>/g,\n function () {\n return stringPattern\n }\n ),\n 'im'\n ),\n alias: 'language-sql',\n inside: Prism.languages.sql\n },\n 'global-statements': globalStatements,\n 'sql-statements': {\n pattern:\n /(^|\\s)(?:disconnect\\s+from|begin|commit|exec(?:ute)?|reset|rollback|validate)\\b/i,\n lookbehind: true,\n alias: 'keyword'\n },\n number: number,\n 'numeric-constant': numericConstant,\n punctuation: punctuation,\n string: string\n }\n },\n 'proc-groovy': {\n pattern:\n /(^proc\\s+groovy(?:\\s+[\\w|=]+)?;)[\\s\\S]+?(?=^(?:proc\\s+\\w+|data|quit|run);|(?![\\s\\S]))/im,\n lookbehind: true,\n inside: {\n comment: comment,\n groovy: {\n pattern: RegExp(\n /(^[ \\t]*submit(?:\\s+(?:load|norun|parseonly))?)(?:<str>|[^\"'])+?(?=endsubmit;)/.source.replace(\n /<str>/g,\n function () {\n return stringPattern\n }\n ),\n 'im'\n ),\n lookbehind: true,\n alias: 'language-groovy',\n inside: Prism.languages.groovy\n },\n keyword: keywords,\n 'submit-statement': submitStatement,\n 'global-statements': globalStatements,\n number: number,\n 'numeric-constant': numericConstant,\n punctuation: punctuation,\n string: string\n }\n },\n 'proc-lua': {\n pattern:\n /(^proc\\s+lua(?:\\s+[\\w|=]+)?;)[\\s\\S]+?(?=^(?:proc\\s+\\w+|data|quit|run);|(?![\\s\\S]))/im,\n lookbehind: true,\n inside: {\n comment: comment,\n lua: {\n pattern: RegExp(\n /(^[ \\t]*submit(?:\\s+(?:load|norun|parseonly))?)(?:<str>|[^\"'])+?(?=endsubmit;)/.source.replace(\n /<str>/g,\n function () {\n return stringPattern\n }\n ),\n 'im'\n ),\n lookbehind: true,\n alias: 'language-lua',\n inside: Prism.languages.lua\n },\n keyword: keywords,\n 'submit-statement': submitStatement,\n 'global-statements': globalStatements,\n number: number,\n 'numeric-constant': numericConstant,\n punctuation: punctuation,\n string: string\n }\n },\n 'proc-cas': {\n pattern:\n /(^proc\\s+cas(?:\\s+[\\w|=]+)?;)[\\s\\S]+?(?=^(?:proc\\s+\\w+|quit|data);|(?![\\s\\S]))/im,\n lookbehind: true,\n inside: {\n comment: comment,\n 'statement-var': {\n pattern: /((?:^|\\s)=?)saveresult\\s[^;]+/im,\n lookbehind: true,\n inside: {\n statement: {\n pattern: /^saveresult\\s+\\S+/i,\n inside: {\n keyword: /^(?:saveresult)/i\n }\n },\n rest: args\n }\n },\n 'cas-actions': casActions,\n statement: {\n pattern:\n /((?:^|\\s)=?)(?:default|(?:un)?set|on|output|upload)[^;]+/im,\n lookbehind: true,\n inside: args\n },\n step: step,\n keyword: keywords,\n function: func,\n format: format,\n altformat: altformat,\n 'global-statements': globalStatements,\n number: number,\n 'numeric-constant': numericConstant,\n punctuation: punctuation,\n string: string\n }\n },\n 'proc-args': {\n pattern: RegExp(\n /(^proc\\s+\\w+\\s+)(?!\\s)(?:[^;\"']|<str>)+;/.source.replace(\n /<str>/g,\n function () {\n return stringPattern\n }\n ),\n 'im'\n ),\n lookbehind: true,\n inside: args\n },\n /*Special keywords within macros*/\n 'macro-keyword': macroKeyword,\n 'macro-variable': macroVariable,\n 'macro-string-functions': {\n pattern:\n /((?:^|\\s|=))%(?:BQUOTE|NRBQUOTE|NRQUOTE|NRSTR|QUOTE|STR)\\(.*?(?:[^%]\\))/i,\n lookbehind: true,\n inside: {\n function: {\n pattern: /%(?:BQUOTE|NRBQUOTE|NRQUOTE|NRSTR|QUOTE|STR)/i,\n alias: 'keyword'\n },\n 'macro-keyword': macroKeyword,\n 'macro-variable': macroVariable,\n 'escaped-char': {\n pattern: /%['\"()<>=¬^~;,#]/\n },\n punctuation: punctuation\n }\n },\n 'macro-declaration': {\n pattern: /^%macro[^;]+(?=;)/im,\n inside: {\n keyword: /%macro/i\n }\n },\n 'macro-end': {\n pattern: /^%mend[^;]+(?=;)/im,\n inside: {\n keyword: /%mend/i\n }\n },\n /*%_zscore(headcir, _lhc, _mhc, _shc, headcz, headcpct, _Fheadcz); */\n macro: {\n pattern: /%_\\w+(?=\\()/,\n alias: 'keyword'\n },\n input: {\n pattern: /\\binput\\s[-\\w\\s/*.$&]+;/i,\n inside: {\n input: {\n alias: 'keyword',\n pattern: /^input/i\n },\n comment: comment,\n number: number,\n 'numeric-constant': numericConstant\n }\n },\n 'options-args': {\n pattern: /(^options)[-'\"|/\\\\<>*+=:()\\w\\s]*(?=;)/im,\n lookbehind: true,\n inside: args\n },\n 'cas-actions': casActions,\n comment: comment,\n function: func,\n format: format,\n altformat: altformat,\n 'numeric-constant': numericConstant,\n datetime: {\n // '1jan2013'd, '9:25:19pm't, '18jan2003:9:27:05am'dt\n pattern: RegExp(stringPattern + '(?:dt?|t)'),\n alias: 'number'\n },\n string: string,\n step: step,\n keyword: keywords,\n // In SAS Studio syntax highlighting, these operators are styled like keywords\n 'operator-keyword': {\n pattern: /\\b(?:eq|ge|gt|in|le|lt|ne|not)\\b/i,\n alias: 'operator'\n },\n // Decimal (1.2e23), hexadecimal (0c1x)\n number: number,\n operator: /\\*\\*?|\\|\\|?|!!?|¦¦?|<[>=]?|>[<=]?|[-+\\/=&]|[~¬^]=?/,\n punctuation: punctuation\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = sass\nsass.displayName = 'sass'\nsass.aliases = []\nfunction sass(Prism) {\n ;(function (Prism) {\n Prism.languages.sass = Prism.languages.extend('css', {\n // Sass comments don't need to be closed, only indented\n comment: {\n pattern: /^([ \\t]*)\\/[\\/*].*(?:(?:\\r?\\n|\\r)\\1[ \\t].+)*/m,\n lookbehind: true,\n greedy: true\n }\n })\n Prism.languages.insertBefore('sass', 'atrule', {\n // We want to consume the whole line\n 'atrule-line': {\n // Includes support for = and + shortcuts\n pattern: /^(?:[ \\t]*)[@+=].+/m,\n greedy: true,\n inside: {\n atrule: /(?:@[\\w-]+|[+=])/\n }\n }\n })\n delete Prism.languages.sass.atrule\n var variable = /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n var operator = [\n /[+*\\/%]|[=!]=|<=?|>=?|\\b(?:and|not|or)\\b/,\n {\n pattern: /(\\s)-(?=\\s)/,\n lookbehind: true\n }\n ]\n Prism.languages.insertBefore('sass', 'property', {\n // We want to consume the whole line\n 'variable-line': {\n pattern: /^[ \\t]*\\$.+/m,\n greedy: true,\n inside: {\n punctuation: /:/,\n variable: variable,\n operator: operator\n }\n },\n // We want to consume the whole line\n 'property-line': {\n pattern: /^[ \\t]*(?:[^:\\s]+ *:.*|:[^:\\s].*)/m,\n greedy: true,\n inside: {\n property: [\n /[^:\\s]+(?=\\s*:)/,\n {\n pattern: /(:)[^:\\s]+/,\n lookbehind: true\n }\n ],\n punctuation: /:/,\n variable: variable,\n operator: operator,\n important: Prism.languages.sass.important\n }\n }\n })\n delete Prism.languages.sass.property\n delete Prism.languages.sass.important // Now that whole lines for other patterns are consumed,\n // what's left should be selectors\n Prism.languages.insertBefore('sass', 'punctuation', {\n selector: {\n pattern:\n /^([ \\t]*)\\S(?:,[^,\\r\\n]+|[^,\\r\\n]*)(?:,[^,\\r\\n]+)*(?:,(?:\\r?\\n|\\r)\\1[ \\t]+\\S(?:,[^,\\r\\n]+|[^,\\r\\n]*)(?:,[^,\\r\\n]+)*)*/m,\n lookbehind: true,\n greedy: true\n }\n })\n })(Prism)\n}\n","'use strict'\nvar refractorJava = require('./java.js')\nmodule.exports = scala\nscala.displayName = 'scala'\nscala.aliases = []\nfunction scala(Prism) {\n Prism.register(refractorJava)\n Prism.languages.scala = Prism.languages.extend('java', {\n 'triple-quoted-string': {\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: true,\n alias: 'string'\n },\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n keyword:\n /<-|=>|\\b(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield)\\b/,\n number:\n /\\b0x(?:[\\da-f]*\\.)?[\\da-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e\\d+)?[dfl]?/i,\n builtin:\n /\\b(?:Any|AnyRef|AnyVal|Boolean|Byte|Char|Double|Float|Int|Long|Nothing|Short|String|Unit)\\b/,\n symbol: /'[^\\d\\s\\\\]\\w*/\n })\n Prism.languages.insertBefore('scala', 'triple-quoted-string', {\n 'string-interpolation': {\n pattern:\n /\\b[a-z]\\w*(?:\"\"\"(?:[^$]|\\$(?:[^{]|\\{(?:[^{}]|\\{[^{}]*\\})*\\}))*?\"\"\"|\"(?:[^$\"\\r\\n]|\\$(?:[^{]|\\{(?:[^{}]|\\{[^{}]*\\})*\\}))*\")/i,\n greedy: true,\n inside: {\n id: {\n pattern: /^\\w+/,\n greedy: true,\n alias: 'function'\n },\n escape: {\n pattern: /\\\\\\$\"|\\$[$\"]/,\n greedy: true,\n alias: 'symbol'\n },\n interpolation: {\n pattern: /\\$(?:\\w+|\\{(?:[^{}]|\\{[^{}]*\\})*\\})/,\n greedy: true,\n inside: {\n punctuation: /^\\$\\{?|\\}$/,\n expression: {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.scala\n }\n }\n },\n string: /[\\s\\S]+/\n }\n }\n })\n delete Prism.languages.scala['class-name']\n delete Prism.languages.scala['function']\n}\n","'use strict'\n\nmodule.exports = scheme\nscheme.displayName = 'scheme'\nscheme.aliases = []\nfunction scheme(Prism) {\n ;(function (Prism) {\n Prism.languages.scheme = {\n // this supports \"normal\" single-line comments:\n // ; comment\n // and (potentially nested) multiline comments:\n // #| comment #| nested |# still comment |#\n // (only 1 level of nesting is supported)\n comment:\n /;.*|#;\\s*(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\[(?:[^\\[\\]]|\\[[^\\[\\]]*\\])*\\])|#\\|(?:[^#|]|#(?!\\|)|\\|(?!#)|#\\|(?:[^#|]|#(?!\\|)|\\|(?!#))*\\|#)*\\|#/,\n string: {\n pattern: /\"(?:[^\"\\\\]|\\\\.)*\"/,\n greedy: true\n },\n symbol: {\n pattern: /'[^()\\[\\]#'\\s]+/,\n greedy: true\n },\n char: {\n pattern:\n /#\\\\(?:[ux][a-fA-F\\d]+\\b|[-a-zA-Z]+\\b|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|\\S)/,\n greedy: true\n },\n 'lambda-parameter': [\n // https://www.cs.cmu.edu/Groups/AI/html/r4rs/r4rs_6.html#SEC30\n {\n pattern:\n /((?:^|[^'`#])[(\\[]lambda\\s+)(?:[^|()\\[\\]'\\s]+|\\|(?:[^\\\\|]|\\\\.)*\\|)/,\n lookbehind: true\n },\n {\n pattern: /((?:^|[^'`#])[(\\[]lambda\\s+[(\\[])[^()\\[\\]']+/,\n lookbehind: true\n }\n ],\n keyword: {\n pattern:\n /((?:^|[^'`#])[(\\[])(?:begin|case(?:-lambda)?|cond(?:-expand)?|define(?:-library|-macro|-record-type|-syntax|-values)?|defmacro|delay(?:-force)?|do|else|except|export|guard|if|import|include(?:-ci|-library-declarations)?|lambda|let(?:rec)?(?:-syntax|-values|\\*)?|let\\*-values|only|parameterize|prefix|(?:quasi-?)?quote|rename|set!|syntax-(?:case|rules)|unless|unquote(?:-splicing)?|when)(?=[()\\[\\]\\s]|$)/,\n lookbehind: true\n },\n builtin: {\n // all functions of the base library of R7RS plus some of built-ins of R5Rs\n pattern:\n /((?:^|[^'`#])[(\\[])(?:abs|and|append|apply|assoc|ass[qv]|binary-port\\?|boolean=?\\?|bytevector(?:-append|-copy|-copy!|-length|-u8-ref|-u8-set!|\\?)?|caar|cadr|call-with-(?:current-continuation|port|values)|call\\/cc|car|cdar|cddr|cdr|ceiling|char(?:->integer|-ready\\?|\\?|<\\?|<=\\?|=\\?|>\\?|>=\\?)|close-(?:input-port|output-port|port)|complex\\?|cons|current-(?:error|input|output)-port|denominator|dynamic-wind|eof-object\\??|eq\\?|equal\\?|eqv\\?|error|error-object(?:-irritants|-message|\\?)|eval|even\\?|exact(?:-integer-sqrt|-integer\\?|\\?)?|expt|features|file-error\\?|floor(?:-quotient|-remainder|\\/)?|flush-output-port|for-each|gcd|get-output-(?:bytevector|string)|inexact\\??|input-port(?:-open\\?|\\?)|integer(?:->char|\\?)|lcm|length|list(?:->string|->vector|-copy|-ref|-set!|-tail|\\?)?|make-(?:bytevector|list|parameter|string|vector)|map|max|member|memq|memv|min|modulo|negative\\?|newline|not|null\\?|number(?:->string|\\?)|numerator|odd\\?|open-(?:input|output)-(?:bytevector|string)|or|output-port(?:-open\\?|\\?)|pair\\?|peek-char|peek-u8|port\\?|positive\\?|procedure\\?|quotient|raise|raise-continuable|rational\\?|rationalize|read-(?:bytevector|bytevector!|char|error\\?|line|string|u8)|real\\?|remainder|reverse|round|set-c[ad]r!|square|string(?:->list|->number|->symbol|->utf8|->vector|-append|-copy|-copy!|-fill!|-for-each|-length|-map|-ref|-set!|\\?|<\\?|<=\\?|=\\?|>\\?|>=\\?)?|substring|symbol(?:->string|\\?|=\\?)|syntax-error|textual-port\\?|truncate(?:-quotient|-remainder|\\/)?|u8-ready\\?|utf8->string|values|vector(?:->list|->string|-append|-copy|-copy!|-fill!|-for-each|-length|-map|-ref|-set!|\\?)?|with-exception-handler|write-(?:bytevector|char|string|u8)|zero\\?)(?=[()\\[\\]\\s]|$)/,\n lookbehind: true\n },\n operator: {\n pattern: /((?:^|[^'`#])[(\\[])(?:[-+*%/]|[<>]=?|=>?)(?=[()\\[\\]\\s]|$)/,\n lookbehind: true\n },\n number: {\n // The number pattern from [the R7RS spec](https://small.r7rs.org/attachment/r7rs.pdf).\n //\n // <number> := <num 2>|<num 8>|<num 10>|<num 16>\n // <num R> := <prefix R><complex R>\n // <complex R> := <real R>(?:@<real R>|<imaginary R>)?|<imaginary R>\n // <imaginary R> := [+-](?:<ureal R>|(?:inf|nan)\\.0)?i\n // <real R> := [+-]?<ureal R>|[+-](?:inf|nan)\\.0\n // <ureal R> := <uint R>(?:\\/<uint R>)?\n // | <decimal R>\n //\n // <decimal 10> := (?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?\n // <uint R> := <digit R>+\n // <prefix R> := <radix R>(?:#[ei])?|(?:#[ei])?<radix R>\n // <radix 2> := #b\n // <radix 8> := #o\n // <radix 10> := (?:#d)?\n // <radix 16> := #x\n // <digit 2> := [01]\n // <digit 8> := [0-7]\n // <digit 10> := \\d\n // <digit 16> := [0-9a-f]\n //\n // The problem with this grammar is that the resulting regex is way to complex, so we simplify by grouping all\n // non-decimal bases together. This results in a decimal (dec) and combined binary, octal, and hexadecimal (box)\n // pattern:\n pattern: RegExp(\n SortedBNF({\n '<ureal dec>':\n /\\d+(?:\\/\\d+)|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[esfdl][+-]?\\d+)?/.source,\n '<real dec>': /[+-]?<ureal dec>|[+-](?:inf|nan)\\.0/.source,\n '<imaginary dec>': /[+-](?:<ureal dec>|(?:inf|nan)\\.0)?i/.source,\n '<complex dec>':\n /<real dec>(?:@<real dec>|<imaginary dec>)?|<imaginary dec>/\n .source,\n '<num dec>': /(?:#d(?:#[ei])?|#[ei](?:#d)?)?<complex dec>/.source,\n '<ureal box>': /[0-9a-f]+(?:\\/[0-9a-f]+)?/.source,\n '<real box>': /[+-]?<ureal box>|[+-](?:inf|nan)\\.0/.source,\n '<imaginary box>': /[+-](?:<ureal box>|(?:inf|nan)\\.0)?i/.source,\n '<complex box>':\n /<real box>(?:@<real box>|<imaginary box>)?|<imaginary box>/\n .source,\n '<num box>': /#[box](?:#[ei])?|(?:#[ei])?#[box]<complex box>/\n .source,\n '<number>': /(^|[()\\[\\]\\s])(?:<num dec>|<num box>)(?=[()\\[\\]\\s]|$)/\n .source\n }),\n 'i'\n ),\n lookbehind: true\n },\n boolean: {\n pattern: /(^|[()\\[\\]\\s])#(?:[ft]|false|true)(?=[()\\[\\]\\s]|$)/,\n lookbehind: true\n },\n function: {\n pattern:\n /((?:^|[^'`#])[(\\[])(?:[^|()\\[\\]'\\s]+|\\|(?:[^\\\\|]|\\\\.)*\\|)(?=[()\\[\\]\\s]|$)/,\n lookbehind: true\n },\n identifier: {\n pattern: /(^|[()\\[\\]\\s])\\|(?:[^\\\\|]|\\\\.)*\\|(?=[()\\[\\]\\s]|$)/,\n lookbehind: true,\n greedy: true\n },\n punctuation: /[()\\[\\]']/\n }\n /**\n * Given a topologically sorted BNF grammar, this will return the RegExp source of last rule of the grammar.\n *\n * @param {Record<string, string>} grammar\n * @returns {string}\n */\n function SortedBNF(grammar) {\n for (var key in grammar) {\n grammar[key] = grammar[key].replace(/<[\\w\\s]+>/g, function (key) {\n return '(?:' + grammar[key].trim() + ')'\n })\n } // return the last item\n return grammar[key]\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = scss\nscss.displayName = 'scss'\nscss.aliases = []\nfunction scss(Prism) {\n Prism.languages.scss = Prism.languages.extend('css', {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: true\n },\n atrule: {\n pattern: /@[\\w-](?:\\([^()]+\\)|[^()\\s]|\\s+(?!\\s))*?(?=\\s+[{;])/,\n inside: {\n rule: /@[\\w-]+/ // See rest below\n }\n },\n // url, compassified\n url: /(?:[-a-z]+-)?url(?=\\()/i,\n // CSS selector regex is not appropriate for Sass\n // since there can be lot more things (var, @ directive, nesting..)\n // a selector must start at the end of a property or after a brace (end of other rules or nesting)\n // it can contain some characters that aren't used for defining rules or end of selector, & (parent selector), or interpolated variable\n // the end of a selector is found when there is no rules in it ( {} or {\\s}) or if there is a property (because an interpolated var\n // can \"pass\" as a selector- e.g: proper#{$erty})\n // this one was hard to do, so please be careful if you edit this one :)\n selector: {\n // Initial look-ahead is used to prevent matching of blank selectors\n pattern:\n /(?=\\S)[^@;{}()]?(?:[^@;{}()\\s]|\\s+(?!\\s)|#\\{\\$[-\\w]+\\})+(?=\\s*\\{(?:\\}|\\s|[^}][^:{}]*[:{][^}]))/,\n inside: {\n parent: {\n pattern: /&/,\n alias: 'important'\n },\n placeholder: /%[-\\w]+/,\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n }\n },\n property: {\n pattern: /(?:[-\\w]|\\$[-\\w]|#\\{\\$[-\\w]+\\})+(?=\\s*:)/,\n inside: {\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n }\n }\n })\n Prism.languages.insertBefore('scss', 'atrule', {\n keyword: [\n /@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\\b/i,\n {\n pattern: /( )(?:from|through)(?= )/,\n lookbehind: true\n }\n ]\n })\n Prism.languages.insertBefore('scss', 'important', {\n // var and interpolated vars\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n })\n Prism.languages.insertBefore('scss', 'function', {\n 'module-modifier': {\n pattern: /\\b(?:as|hide|show|with)\\b/i,\n alias: 'keyword'\n },\n placeholder: {\n pattern: /%[-\\w]+/,\n alias: 'selector'\n },\n statement: {\n pattern: /\\B!(?:default|optional)\\b/i,\n alias: 'keyword'\n },\n boolean: /\\b(?:false|true)\\b/,\n null: {\n pattern: /\\bnull\\b/,\n alias: 'keyword'\n },\n operator: {\n pattern: /(\\s)(?:[-+*\\/%]|[=!]=|<=?|>=?|and|not|or)(?=\\s)/,\n lookbehind: true\n }\n })\n Prism.languages.scss['atrule'].inside.rest = Prism.languages.scss\n}\n","'use strict'\nvar refractorBash = require('./bash.js')\nmodule.exports = shellSession\nshellSession.displayName = 'shellSession'\nshellSession.aliases = []\nfunction shellSession(Prism) {\n Prism.register(refractorBash)\n ;(function (Prism) {\n // CAREFUL!\n // The following patterns are concatenated, so the group referenced by a back reference is non-obvious!\n var strings = [\n // normal string\n /\"(?:\\\\[\\s\\S]|\\$\\([^)]+\\)|\\$(?!\\()|`[^`]+`|[^\"\\\\`$])*\"/.source,\n /'[^']*'/.source,\n /\\$'(?:[^'\\\\]|\\\\[\\s\\S])*'/.source, // here doc\n // 2 capturing groups\n /<<-?\\s*([\"']?)(\\w+)\\1\\s[\\s\\S]*?[\\r\\n]\\2/.source\n ].join('|')\n Prism.languages['shell-session'] = {\n command: {\n pattern: RegExp(\n // user info\n /^/.source +\n '(?:' + // <user> \":\" ( <path> )?\n (/[^\\s@:$#%*!/\\\\]+@[^\\r\\n@:$#%*!/\\\\]+(?::[^\\0-\\x1F$#%*?\"<>:;|]+)?/\n .source +\n '|' + // <path>\n // Since the path pattern is quite general, we will require it to start with a special character to\n // prevent false positives.\n /[/~.][^\\0-\\x1F$#%*?\"<>@:;|]*/.source) +\n ')?' + // shell symbol\n /[$#%](?=\\s)/.source + // bash command\n /(?:[^\\\\\\r\\n \\t'\"<$]|[ \\t](?:(?!#)|#.*$)|\\\\(?:[^\\r]|\\r\\n?)|\\$(?!')|<(?!<)|<<str>>)+/.source.replace(\n /<<str>>/g,\n function () {\n return strings\n }\n ),\n 'm'\n ),\n greedy: true,\n inside: {\n info: {\n // foo@bar:~/files$ exit\n // foo@bar$ exit\n // ~/files$ exit\n pattern: /^[^#$%]+/,\n alias: 'punctuation',\n inside: {\n user: /^[^\\s@:$#%*!/\\\\]+@[^\\r\\n@:$#%*!/\\\\]+/,\n punctuation: /:/,\n path: /[\\s\\S]+/\n }\n },\n bash: {\n pattern: /(^[$#%]\\s*)\\S[\\s\\S]*/,\n lookbehind: true,\n alias: 'language-bash',\n inside: Prism.languages.bash\n },\n 'shell-symbol': {\n pattern: /^[$#%]/,\n alias: 'important'\n }\n }\n },\n output: /.(?:.*(?:[\\r\\n]|.$))*/\n }\n Prism.languages['sh-session'] = Prism.languages['shellsession'] =\n Prism.languages['shell-session']\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = smali\nsmali.displayName = 'smali'\nsmali.aliases = []\nfunction smali(Prism) {\n // Test files for the parser itself:\n // https://github.com/JesusFreke/smali/tree/master/smali/src/test/resources/LexerTest\n Prism.languages.smali = {\n comment: /#.*/,\n string: {\n pattern: /\"(?:[^\\r\\n\\\\\"]|\\\\.)*\"|'(?:[^\\r\\n\\\\']|\\\\(?:.|u[\\da-fA-F]{4}))'/,\n greedy: true\n },\n 'class-name': {\n pattern:\n /(^|[^L])L(?:(?:\\w+|`[^`\\r\\n]*`)\\/)*(?:[\\w$]+|`[^`\\r\\n]*`)(?=\\s*;)/,\n lookbehind: true,\n inside: {\n 'class-name': {\n pattern: /(^L|\\/)(?:[\\w$]+|`[^`\\r\\n]*`)$/,\n lookbehind: true\n },\n namespace: {\n pattern: /^(L)(?:(?:\\w+|`[^`\\r\\n]*`)\\/)+/,\n lookbehind: true,\n inside: {\n punctuation: /\\//\n }\n },\n builtin: /^L/\n }\n },\n builtin: [\n {\n // Reference: https://github.com/JesusFreke/smali/wiki/TypesMethodsAndFields#types\n pattern: /([();\\[])[BCDFIJSVZ]+/,\n lookbehind: true\n },\n {\n // e.g. .field mWifiOnUid:I\n pattern: /([\\w$>]:)[BCDFIJSVZ]/,\n lookbehind: true\n }\n ],\n keyword: [\n {\n pattern: /(\\.end\\s+)[\\w-]+/,\n lookbehind: true\n },\n {\n pattern: /(^|[^\\w.-])\\.(?!\\d)[\\w-]+/,\n lookbehind: true\n },\n {\n pattern:\n /(^|[^\\w.-])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\\w.-])/,\n lookbehind: true\n }\n ],\n function: {\n pattern: /(^|[^\\w.-])(?:\\w+|<[\\w$-]+>)(?=\\()/,\n lookbehind: true\n },\n field: {\n pattern: /[\\w$]+(?=:)/,\n alias: 'variable'\n },\n register: {\n pattern: /(^|[^\\w.-])[vp]\\d(?![\\w.-])/,\n lookbehind: true,\n alias: 'variable'\n },\n boolean: {\n pattern: /(^|[^\\w.-])(?:false|true)(?![\\w.-])/,\n lookbehind: true\n },\n number: {\n pattern:\n /(^|[^/\\w.-])-?(?:NAN|INFINITY|0x(?:[\\dA-F]+(?:\\.[\\dA-F]*)?|\\.[\\dA-F]+)(?:p[+-]?[\\dA-F]+)?|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?)[dflst]?(?![\\w.-])/i,\n lookbehind: true\n },\n label: {\n pattern: /(:)\\w+/,\n lookbehind: true,\n alias: 'property'\n },\n operator: /->|\\.\\.|[\\[=]/,\n punctuation: /[{}(),;:]/\n }\n}\n","'use strict'\n\nmodule.exports = smalltalk\nsmalltalk.displayName = 'smalltalk'\nsmalltalk.aliases = []\nfunction smalltalk(Prism) {\n Prism.languages.smalltalk = {\n comment: {\n pattern: /\"(?:\"\"|[^\"])*\"/,\n greedy: true\n },\n char: {\n pattern: /\\$./,\n greedy: true\n },\n string: {\n pattern: /'(?:''|[^'])*'/,\n greedy: true\n },\n symbol: /#[\\da-z]+|#(?:-|([+\\/\\\\*~<>=@%|&?!])\\1?)|#(?=\\()/i,\n 'block-arguments': {\n pattern: /(\\[\\s*):[^\\[|]*\\|/,\n lookbehind: true,\n inside: {\n variable: /:[\\da-z]+/i,\n punctuation: /\\|/\n }\n },\n 'temporary-variables': {\n pattern: /\\|[^|]+\\|/,\n inside: {\n variable: /[\\da-z]+/i,\n punctuation: /\\|/\n }\n },\n keyword: /\\b(?:new|nil|self|super)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n number: [\n /\\d+r-?[\\dA-Z]+(?:\\.[\\dA-Z]+)?(?:e-?\\d+)?/,\n /\\b\\d+(?:\\.\\d+)?(?:e-?\\d+)?/\n ],\n operator: /[<=]=?|:=|~[~=]|\\/\\/?|\\\\\\\\|>[>=]?|[!^+\\-*&|,@]/,\n punctuation: /[.;:?\\[\\](){}]/\n }\n}\n","'use strict'\nvar refractorMarkupTemplating = require('./markup-templating.js')\nmodule.exports = smarty\nsmarty.displayName = 'smarty'\nsmarty.aliases = []\nfunction smarty(Prism) {\n Prism.register(refractorMarkupTemplating)\n ;(function (Prism) {\n Prism.languages.smarty = {\n comment: {\n pattern: /^\\{\\*[\\s\\S]*?\\*\\}/,\n greedy: true\n },\n 'embedded-php': {\n pattern: /^\\{php\\}[\\s\\S]*?\\{\\/php\\}/,\n greedy: true,\n inside: {\n smarty: {\n pattern: /^\\{php\\}|\\{\\/php\\}$/,\n inside: null // see below\n },\n php: {\n pattern: /[\\s\\S]+/,\n alias: 'language-php',\n inside: Prism.languages.php\n }\n }\n },\n string: [\n {\n pattern: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /\\{[^{}]*\\}|`[^`]*`/,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^[{`]|[`}]$/,\n alias: 'punctuation'\n },\n expression: {\n pattern: /[\\s\\S]+/,\n inside: null // see below\n }\n }\n },\n variable: /\\$\\w+/\n }\n },\n {\n pattern: /'(?:\\\\.|[^'\\\\\\r\\n])*'/,\n greedy: true\n }\n ],\n keyword: {\n pattern: /(^\\{\\/?)[a-z_]\\w*\\b(?!\\()/i,\n lookbehind: true,\n greedy: true\n },\n delimiter: {\n pattern: /^\\{\\/?|\\}$/,\n greedy: true,\n alias: 'punctuation'\n },\n number: /\\b0x[\\dA-Fa-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee][-+]?\\d+)?/,\n variable: [\n /\\$(?!\\d)\\w+/,\n /#(?!\\d)\\w+#/,\n {\n pattern: /(\\.|->|\\w\\s*=)(?!\\d)\\w+\\b(?!\\()/,\n lookbehind: true\n },\n {\n pattern: /(\\[)(?!\\d)\\w+(?=\\])/,\n lookbehind: true\n }\n ],\n function: {\n pattern: /(\\|\\s*)@?[a-z_]\\w*|\\b[a-z_]\\w*(?=\\()/i,\n lookbehind: true\n },\n 'attr-name': /\\b[a-z_]\\w*(?=\\s*=)/i,\n boolean: /\\b(?:false|no|off|on|true|yes)\\b/,\n punctuation: /[\\[\\](){}.,:`]|->/,\n operator: [\n /[+\\-*\\/%]|==?=?|[!<>]=?|&&|\\|\\|?/,\n /\\bis\\s+(?:not\\s+)?(?:div|even|odd)(?:\\s+by)?\\b/,\n /\\b(?:and|eq|gt?e|gt|lt?e|lt|mod|neq?|not|or)\\b/\n ]\n }\n Prism.languages.smarty['embedded-php'].inside.smarty.inside =\n Prism.languages.smarty\n Prism.languages.smarty.string[0].inside.interpolation.inside.expression.inside =\n Prism.languages.smarty\n var string = /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|'(?:\\\\.|[^'\\\\\\r\\n])*'/\n var smartyPattern = RegExp(\n // comments\n /\\{\\*[\\s\\S]*?\\*\\}/.source +\n '|' + // php tags\n /\\{php\\}[\\s\\S]*?\\{\\/php\\}/.source +\n '|' + // smarty blocks\n /\\{(?:[^{}\"']|<str>|\\{(?:[^{}\"']|<str>|\\{(?:[^{}\"']|<str>)*\\})*\\})*\\}/.source.replace(\n /<str>/g,\n function () {\n return string.source\n }\n ),\n 'g'\n ) // Tokenize all inline Smarty expressions\n Prism.hooks.add('before-tokenize', function (env) {\n var smartyLiteralStart = '{literal}'\n var smartyLiteralEnd = '{/literal}'\n var smartyLiteralMode = false\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'smarty',\n smartyPattern,\n function (match) {\n // Smarty tags inside {literal} block are ignored\n if (match === smartyLiteralEnd) {\n smartyLiteralMode = false\n }\n if (!smartyLiteralMode) {\n if (match === smartyLiteralStart) {\n smartyLiteralMode = true\n }\n return true\n }\n return false\n }\n )\n }) // Re-insert the tokens after tokenizing\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'smarty')\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = sml\nsml.displayName = 'sml'\nsml.aliases = ['smlnj']\nfunction sml(Prism) {\n // https://smlfamily.github.io/sml97-defn.pdf\n // https://people.mpi-sws.org/~rossberg/sml.html\n ;(function (Prism) {\n var keywords =\n /\\b(?:abstype|and|andalso|as|case|datatype|do|else|end|eqtype|exception|fn|fun|functor|handle|if|in|include|infix|infixr|let|local|nonfix|of|op|open|orelse|raise|rec|sharing|sig|signature|struct|structure|then|type|val|where|while|with|withtype)\\b/i\n Prism.languages.sml = {\n // allow one level of nesting\n comment:\n /\\(\\*(?:[^*(]|\\*(?!\\))|\\((?!\\*)|\\(\\*(?:[^*(]|\\*(?!\\))|\\((?!\\*))*\\*\\))*\\*\\)/,\n string: {\n pattern: /#?\"(?:[^\"\\\\]|\\\\.)*\"/,\n greedy: true\n },\n 'class-name': [\n {\n // This is only an approximation since the real grammar is context-free\n //\n // Why the main loop so complex?\n // The main loop is approximately the same as /(?:\\s*(?:[*,]|->)\\s*<TERMINAL>)*/ which is, obviously, a lot\n // simpler. The difference is that if a comma is the last iteration of the loop, then the terminal must be\n // followed by a long identifier.\n pattern: RegExp(\n /((?:^|[^:]):\\s*)<TERMINAL>(?:\\s*(?:(?:\\*|->)\\s*<TERMINAL>|,\\s*<TERMINAL>(?:(?=<NOT-LAST>)|(?!<NOT-LAST>)\\s+<LONG-ID>)))*/.source\n .replace(/<NOT-LAST>/g, function () {\n return /\\s*(?:[*,]|->)/.source\n })\n .replace(/<TERMINAL>/g, function () {\n return /(?:'[\\w']*|<LONG-ID>|\\((?:[^()]|\\([^()]*\\))*\\)|\\{(?:[^{}]|\\{[^{}]*\\})*\\})(?:\\s+<LONG-ID>)*/\n .source\n })\n .replace(/<LONG-ID>/g, function () {\n return /(?!<KEYWORD>)[a-z\\d_][\\w'.]*/.source\n })\n .replace(/<KEYWORD>/g, function () {\n return keywords.source\n }),\n 'i'\n ),\n lookbehind: true,\n greedy: true,\n inside: null // see below\n },\n {\n pattern:\n /((?:^|[^\\w'])(?:datatype|exception|functor|signature|structure|type)\\s+)[a-z_][\\w'.]*/i,\n lookbehind: true\n }\n ],\n function: {\n pattern: /((?:^|[^\\w'])fun\\s+)[a-z_][\\w'.]*/i,\n lookbehind: true\n },\n keyword: keywords,\n variable: {\n pattern: /(^|[^\\w'])'[\\w']*/,\n lookbehind: true\n },\n number: /~?\\b(?:\\d+(?:\\.\\d+)?(?:e~?\\d+)?|0x[\\da-f]+)\\b/i,\n word: {\n pattern: /\\b0w(?:\\d+|x[\\da-f]+)\\b/i,\n alias: 'constant'\n },\n boolean: /\\b(?:false|true)\\b/i,\n operator: /\\.\\.\\.|:[>=:]|=>?|->|[<>]=?|[!+\\-*/^#|@~]/,\n punctuation: /[(){}\\[\\].:,;]/\n }\n Prism.languages.sml['class-name'][0].inside = Prism.languages.sml\n Prism.languages.smlnj = Prism.languages.sml\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = solidity\nsolidity.displayName = 'solidity'\nsolidity.aliases = ['sol']\nfunction solidity(Prism) {\n Prism.languages.solidity = Prism.languages.extend('clike', {\n 'class-name': {\n pattern:\n /(\\b(?:contract|enum|interface|library|new|struct|using)\\s+)(?!\\d)[\\w$]+/,\n lookbehind: true\n },\n keyword:\n /\\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\\b/,\n operator: /=>|->|:=|=:|\\*\\*|\\+\\+|--|\\|\\||&&|<<=?|>>=?|[-+*/%^&|<>!=]=?|[~?]/\n })\n Prism.languages.insertBefore('solidity', 'keyword', {\n builtin:\n /\\b(?:address|bool|byte|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|string|bytes(?:[1-9]|[12]\\d|3[0-2])?)\\b/\n })\n Prism.languages.insertBefore('solidity', 'number', {\n version: {\n pattern: /([<>]=?|\\^)\\d+\\.\\d+\\.\\d+\\b/,\n lookbehind: true,\n alias: 'number'\n }\n })\n Prism.languages.sol = Prism.languages.solidity\n}\n","'use strict'\n\nmodule.exports = solutionFile\nsolutionFile.displayName = 'solutionFile'\nsolutionFile.aliases = []\nfunction solutionFile(Prism) {\n ;(function (Prism) {\n var guid = {\n // https://en.wikipedia.org/wiki/Universally_unique_identifier#Format\n pattern: /\\{[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}\\}/i,\n alias: 'constant',\n inside: {\n punctuation: /[{}]/\n }\n }\n Prism.languages['solution-file'] = {\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n string: {\n pattern: /\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'/,\n greedy: true,\n inside: {\n guid: guid\n }\n },\n object: {\n // Foo\n // Bar(\"abs\") = 9\n // EndBar\n // Prop = TRUE\n // EndFoo\n pattern:\n /^([ \\t]*)(?:([A-Z]\\w*)\\b(?=.*(?:\\r\\n?|\\n)(?:\\1[ \\t].*(?:\\r\\n?|\\n))*\\1End\\2(?=[ \\t]*$))|End[A-Z]\\w*(?=[ \\t]*$))/m,\n lookbehind: true,\n greedy: true,\n alias: 'keyword'\n },\n property: {\n pattern: /^([ \\t]*)(?!\\s)[^\\r\\n\"#=()]*[^\\s\"#=()](?=\\s*=)/m,\n lookbehind: true,\n inside: {\n guid: guid\n }\n },\n guid: guid,\n number: /\\b\\d+(?:\\.\\d+)*\\b/,\n boolean: /\\b(?:FALSE|TRUE)\\b/,\n operator: /=/,\n punctuation: /[(),]/\n }\n Prism.languages['sln'] = Prism.languages['solution-file']\n })(Prism)\n}\n","'use strict'\nvar refractorMarkupTemplating = require('./markup-templating.js')\nmodule.exports = soy\nsoy.displayName = 'soy'\nsoy.aliases = []\nfunction soy(Prism) {\n Prism.register(refractorMarkupTemplating)\n ;(function (Prism) {\n var stringPattern = /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/\n var numberPattern = /\\b\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\b|\\b0x[\\dA-F]+\\b/\n Prism.languages.soy = {\n comment: [\n /\\/\\*[\\s\\S]*?\\*\\//,\n {\n pattern: /(\\s)\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n 'command-arg': {\n pattern:\n /(\\{+\\/?\\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\\s+)\\.?[\\w.]+/,\n lookbehind: true,\n alias: 'string',\n inside: {\n punctuation: /\\./\n }\n },\n parameter: {\n pattern: /(\\{+\\/?\\s*@?param\\??\\s+)\\.?[\\w.]+/,\n lookbehind: true,\n alias: 'variable'\n },\n keyword: [\n {\n pattern:\n /(\\{+\\/?[^\\S\\r\\n]*)(?:\\\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\\??|rb|sp|switch|template|xid)/,\n lookbehind: true\n },\n /\\b(?:any|as|attributes|bool|css|float|html|in|int|js|list|map|null|number|string|uri)\\b/\n ],\n delimiter: {\n pattern: /^\\{+\\/?|\\/?\\}+$/,\n alias: 'punctuation'\n },\n property: /\\w+(?==)/,\n variable: {\n pattern: /\\$[^\\W\\d]\\w*(?:\\??(?:\\.\\w+|\\[[^\\]]+\\]))*/,\n inside: {\n string: {\n pattern: stringPattern,\n greedy: true\n },\n number: numberPattern,\n punctuation: /[\\[\\].?]/\n }\n },\n string: {\n pattern: stringPattern,\n greedy: true\n },\n function: [\n /\\w+(?=\\()/,\n {\n pattern: /(\\|[^\\S\\r\\n]*)\\w+/,\n lookbehind: true\n }\n ],\n boolean: /\\b(?:false|true)\\b/,\n number: numberPattern,\n operator: /\\?:?|<=?|>=?|==?|!=|[+*/%-]|\\b(?:and|not|or)\\b/,\n punctuation: /[{}()\\[\\]|.,:]/\n } // Tokenize all inline Soy expressions\n Prism.hooks.add('before-tokenize', function (env) {\n var soyPattern = /\\{\\{.+?\\}\\}|\\{.+?\\}|\\s\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//g\n var soyLitteralStart = '{literal}'\n var soyLitteralEnd = '{/literal}'\n var soyLitteralMode = false\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'soy',\n soyPattern,\n function (match) {\n // Soy tags inside {literal} block are ignored\n if (match === soyLitteralEnd) {\n soyLitteralMode = false\n }\n if (!soyLitteralMode) {\n if (match === soyLitteralStart) {\n soyLitteralMode = true\n }\n return true\n }\n return false\n }\n )\n }) // Re-insert the tokens after tokenizing\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'soy')\n })\n })(Prism)\n}\n","'use strict'\nvar refractorTurtle = require('./turtle.js')\nmodule.exports = sparql\nsparql.displayName = 'sparql'\nsparql.aliases = ['rq']\nfunction sparql(Prism) {\n Prism.register(refractorTurtle)\n Prism.languages.sparql = Prism.languages.extend('turtle', {\n boolean: /\\b(?:false|true)\\b/i,\n variable: {\n pattern: /[?$]\\w+/,\n greedy: true\n }\n })\n Prism.languages.insertBefore('sparql', 'punctuation', {\n keyword: [\n /\\b(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DELETE|DESC|DESCRIBE|DISTINCT|DROP|EXISTS|FILTER|FROM|GROUP|HAVING|INSERT|INTO|LIMIT|LOAD|MINUS|MOVE|NAMED|NOT|NOW|OFFSET|OPTIONAL|ORDER|RAND|REDUCED|SELECT|SEPARATOR|SERVICE|SILENT|STRUUID|UNION|USING|UUID|VALUES|WHERE)\\b/i,\n /\\b(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE_FOR_URI|FLOOR|GROUP_CONCAT|HOURS|IF|IRI|isBLANK|isIRI|isLITERAL|isNUMERIC|isURI|LANG|LANGMATCHES|LCASE|MAX|MD5|MIN|MINUTES|MONTH|REGEX|REPLACE|ROUND|sameTerm|SAMPLE|SECONDS|SHA1|SHA256|SHA384|SHA512|STR|STRAFTER|STRBEFORE|STRDT|STRENDS|STRLANG|STRLEN|STRSTARTS|SUBSTR|SUM|TIMEZONE|TZ|UCASE|URI|YEAR)\\b(?=\\s*\\()/i,\n /\\b(?:BASE|GRAPH|PREFIX)\\b/i\n ]\n })\n Prism.languages.rq = Prism.languages.sparql\n}\n","'use strict'\n\nmodule.exports = splunkSpl\nsplunkSpl.displayName = 'splunkSpl'\nsplunkSpl.aliases = []\nfunction splunkSpl(Prism) {\n Prism.languages['splunk-spl'] = {\n comment: /`comment\\(\"(?:\\\\.|[^\\\\\"])*\"\\)`/,\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"])*\"/,\n greedy: true\n },\n // https://docs.splunk.com/Documentation/Splunk/7.3.0/SearchReference/ListOfSearchCommands\n keyword:\n /\\b(?:abstract|accum|addcoltotals|addinfo|addtotals|analyzefields|anomalies|anomalousvalue|anomalydetection|append|appendcols|appendcsv|appendlookup|appendpipe|arules|associate|audit|autoregress|bin|bucket|bucketdir|chart|cluster|cofilter|collect|concurrency|contingency|convert|correlate|datamodel|dbinspect|dedup|delete|delta|diff|erex|eval|eventcount|eventstats|extract|fieldformat|fields|fieldsummary|filldown|fillnull|findtypes|folderize|foreach|format|from|gauge|gentimes|geom|geomfilter|geostats|head|highlight|history|iconify|input|inputcsv|inputlookup|iplocation|join|kmeans|kv|kvform|loadjob|localize|localop|lookup|makecontinuous|makemv|makeresults|map|mcollect|metadata|metasearch|meventcollect|mstats|multikv|multisearch|mvcombine|mvexpand|nomv|outlier|outputcsv|outputlookup|outputtext|overlap|pivot|predict|rangemap|rare|regex|relevancy|reltime|rename|replace|rest|return|reverse|rex|rtorder|run|savedsearch|script|scrub|search|searchtxn|selfjoin|sendemail|set|setfields|sichart|sirare|sistats|sitimechart|sitop|sort|spath|stats|strcat|streamstats|table|tags|tail|timechart|timewrap|top|transaction|transpose|trendline|tscollect|tstats|typeahead|typelearner|typer|union|uniq|untable|where|x11|xmlkv|xmlunescape|xpath|xyseries)\\b/i,\n 'operator-word': {\n pattern: /\\b(?:and|as|by|not|or|xor)\\b/i,\n alias: 'operator'\n },\n function: /\\b\\w+(?=\\s*\\()/,\n property: /\\b\\w+(?=\\s*=(?!=))/,\n date: {\n // MM/DD/YYYY(:HH:MM:SS)?\n pattern: /\\b\\d{1,2}\\/\\d{1,2}\\/\\d{1,4}(?:(?::\\d{1,2}){3})?\\b/,\n alias: 'number'\n },\n number: /\\b\\d+(?:\\.\\d+)?\\b/,\n boolean: /\\b(?:f|false|t|true)\\b/i,\n operator: /[<>=]=?|[-+*/%|]/,\n punctuation: /[()[\\],]/\n }\n}\n","'use strict'\n\nmodule.exports = sqf\nsqf.displayName = 'sqf'\nsqf.aliases = []\nfunction sqf(Prism) {\n Prism.languages.sqf = Prism.languages.extend('clike', {\n string: {\n pattern: /\"(?:(?:\"\")?[^\"])*\"(?!\")|'(?:[^'])*'/,\n greedy: true\n },\n keyword:\n /\\b(?:breakOut|breakTo|call|case|catch|default|do|echo|else|execFSM|execVM|exitWith|for|forEach|forEachMember|forEachMemberAgent|forEachMemberTeam|from|goto|if|nil|preprocessFile|preprocessFileLineNumbers|private|scopeName|spawn|step|switch|then|throw|to|try|while|with)\\b/i,\n boolean: /\\b(?:false|true)\\b/i,\n function:\n /\\b(?:abs|accTime|acos|action|actionIDs|actionKeys|actionKeysImages|actionKeysNames|actionKeysNamesArray|actionName|actionParams|activateAddons|activatedAddons|activateKey|add3DENConnection|add3DENEventHandler|add3DENLayer|addAction|addBackpack|addBackpackCargo|addBackpackCargoGlobal|addBackpackGlobal|addCamShake|addCuratorAddons|addCuratorCameraArea|addCuratorEditableObjects|addCuratorEditingArea|addCuratorPoints|addEditorObject|addEventHandler|addForce|addForceGeneratorRTD|addGoggles|addGroupIcon|addHandgunItem|addHeadgear|addItem|addItemCargo|addItemCargoGlobal|addItemPool|addItemToBackpack|addItemToUniform|addItemToVest|addLiveStats|addMagazine|addMagazineAmmoCargo|addMagazineCargo|addMagazineCargoGlobal|addMagazineGlobal|addMagazinePool|addMagazines|addMagazineTurret|addMenu|addMenuItem|addMissionEventHandler|addMPEventHandler|addMusicEventHandler|addOwnedMine|addPlayerScores|addPrimaryWeaponItem|addPublicVariableEventHandler|addRating|addResources|addScore|addScoreSide|addSecondaryWeaponItem|addSwitchableUnit|addTeamMember|addToRemainsCollector|addTorque|addUniform|addVehicle|addVest|addWaypoint|addWeapon|addWeaponCargo|addWeaponCargoGlobal|addWeaponGlobal|addWeaponItem|addWeaponPool|addWeaponTurret|admin|agent|agents|AGLToASL|aimedAtTarget|aimPos|airDensityCurveRTD|airDensityRTD|airplaneThrottle|airportSide|AISFinishHeal|alive|all3DENEntities|allAirports|allControls|allCurators|allCutLayers|allDead|allDeadMen|allDisplays|allGroups|allMapMarkers|allMines|allMissionObjects|allow3DMode|allowCrewInImmobile|allowCuratorLogicIgnoreAreas|allowDamage|allowDammage|allowFileOperations|allowFleeing|allowGetIn|allowSprint|allPlayers|allSimpleObjects|allSites|allTurrets|allUnits|allUnitsUAV|allVariables|ammo|ammoOnPylon|animate|animateBay|animateDoor|animatePylon|animateSource|animationNames|animationPhase|animationSourcePhase|animationState|append|apply|armoryPoints|arrayIntersect|asin|ASLToAGL|ASLToATL|assert|assignAsCargo|assignAsCargoIndex|assignAsCommander|assignAsDriver|assignAsGunner|assignAsTurret|assignCurator|assignedCargo|assignedCommander|assignedDriver|assignedGunner|assignedItems|assignedTarget|assignedTeam|assignedVehicle|assignedVehicleRole|assignItem|assignTeam|assignToAirport|atan|atan2|atg|ATLToASL|attachedObject|attachedObjects|attachedTo|attachObject|attachTo|attackEnabled|backpack|backpackCargo|backpackContainer|backpackItems|backpackMagazines|backpackSpaceFor|behaviour|benchmark|binocular|blufor|boundingBox|boundingBoxReal|boundingCenter|briefingName|buildingExit|buildingPos|buldozer_EnableRoadDiag|buldozer_IsEnabledRoadDiag|buldozer_LoadNewRoads|buldozer_reloadOperMap|buttonAction|buttonSetAction|cadetMode|callExtension|camCommand|camCommit|camCommitPrepared|camCommitted|camConstuctionSetParams|camCreate|camDestroy|cameraEffect|cameraEffectEnableHUD|cameraInterest|cameraOn|cameraView|campaignConfigFile|camPreload|camPreloaded|camPrepareBank|camPrepareDir|camPrepareDive|camPrepareFocus|camPrepareFov|camPrepareFovRange|camPreparePos|camPrepareRelPos|camPrepareTarget|camSetBank|camSetDir|camSetDive|camSetFocus|camSetFov|camSetFovRange|camSetPos|camSetRelPos|camSetTarget|camTarget|camUseNVG|canAdd|canAddItemToBackpack|canAddItemToUniform|canAddItemToVest|cancelSimpleTaskDestination|canFire|canMove|canSlingLoad|canStand|canSuspend|canTriggerDynamicSimulation|canUnloadInCombat|canVehicleCargo|captive|captiveNum|cbChecked|cbSetChecked|ceil|channelEnabled|cheatsEnabled|checkAIFeature|checkVisibility|civilian|className|clear3DENAttribute|clear3DENInventory|clearAllItemsFromBackpack|clearBackpackCargo|clearBackpackCargoGlobal|clearForcesRTD|clearGroupIcons|clearItemCargo|clearItemCargoGlobal|clearItemPool|clearMagazineCargo|clearMagazineCargoGlobal|clearMagazinePool|clearOverlay|clearRadio|clearVehicleInit|clearWeaponCargo|clearWeaponCargoGlobal|clearWeaponPool|clientOwner|closeDialog|closeDisplay|closeOverlay|collapseObjectTree|collect3DENHistory|collectiveRTD|combatMode|commandArtilleryFire|commandChat|commander|commandFire|commandFollow|commandFSM|commandGetOut|commandingMenu|commandMove|commandRadio|commandStop|commandSuppressiveFire|commandTarget|commandWatch|comment|commitOverlay|compile|compileFinal|completedFSM|composeText|configClasses|configFile|configHierarchy|configName|configNull|configProperties|configSourceAddonList|configSourceMod|configSourceModList|confirmSensorTarget|connectTerminalToUAV|controlNull|controlsGroupCtrl|copyFromClipboard|copyToClipboard|copyWaypoints|cos|count|countEnemy|countFriendly|countSide|countType|countUnknown|create3DENComposition|create3DENEntity|createAgent|createCenter|createDialog|createDiaryLink|createDiaryRecord|createDiarySubject|createDisplay|createGearDialog|createGroup|createGuardedPoint|createLocation|createMarker|createMarkerLocal|createMenu|createMine|createMissionDisplay|createMPCampaignDisplay|createSimpleObject|createSimpleTask|createSite|createSoundSource|createTask|createTeam|createTrigger|createUnit|createVehicle|createVehicleCrew|createVehicleLocal|crew|ctAddHeader|ctAddRow|ctClear|ctCurSel|ctData|ctFindHeaderRows|ctFindRowHeader|ctHeaderControls|ctHeaderCount|ctRemoveHeaders|ctRemoveRows|ctrlActivate|ctrlAddEventHandler|ctrlAngle|ctrlAutoScrollDelay|ctrlAutoScrollRewind|ctrlAutoScrollSpeed|ctrlChecked|ctrlClassName|ctrlCommit|ctrlCommitted|ctrlCreate|ctrlDelete|ctrlEnable|ctrlEnabled|ctrlFade|ctrlHTMLLoaded|ctrlIDC|ctrlIDD|ctrlMapAnimAdd|ctrlMapAnimClear|ctrlMapAnimCommit|ctrlMapAnimDone|ctrlMapCursor|ctrlMapMouseOver|ctrlMapScale|ctrlMapScreenToWorld|ctrlMapWorldToScreen|ctrlModel|ctrlModelDirAndUp|ctrlModelScale|ctrlParent|ctrlParentControlsGroup|ctrlPosition|ctrlRemoveAllEventHandlers|ctrlRemoveEventHandler|ctrlScale|ctrlSetActiveColor|ctrlSetAngle|ctrlSetAutoScrollDelay|ctrlSetAutoScrollRewind|ctrlSetAutoScrollSpeed|ctrlSetBackgroundColor|ctrlSetChecked|ctrlSetDisabledColor|ctrlSetEventHandler|ctrlSetFade|ctrlSetFocus|ctrlSetFont|ctrlSetFontH1|ctrlSetFontH1B|ctrlSetFontH2|ctrlSetFontH2B|ctrlSetFontH3|ctrlSetFontH3B|ctrlSetFontH4|ctrlSetFontH4B|ctrlSetFontH5|ctrlSetFontH5B|ctrlSetFontH6|ctrlSetFontH6B|ctrlSetFontHeight|ctrlSetFontHeightH1|ctrlSetFontHeightH2|ctrlSetFontHeightH3|ctrlSetFontHeightH4|ctrlSetFontHeightH5|ctrlSetFontHeightH6|ctrlSetFontHeightSecondary|ctrlSetFontP|ctrlSetFontPB|ctrlSetFontSecondary|ctrlSetForegroundColor|ctrlSetModel|ctrlSetModelDirAndUp|ctrlSetModelScale|ctrlSetPixelPrecision|ctrlSetPosition|ctrlSetScale|ctrlSetStructuredText|ctrlSetText|ctrlSetTextColor|ctrlSetTextColorSecondary|ctrlSetTextSecondary|ctrlSetTooltip|ctrlSetTooltipColorBox|ctrlSetTooltipColorShade|ctrlSetTooltipColorText|ctrlShow|ctrlShown|ctrlText|ctrlTextHeight|ctrlTextSecondary|ctrlTextWidth|ctrlType|ctrlVisible|ctRowControls|ctRowCount|ctSetCurSel|ctSetData|ctSetHeaderTemplate|ctSetRowTemplate|ctSetValue|ctValue|curatorAddons|curatorCamera|curatorCameraArea|curatorCameraAreaCeiling|curatorCoef|curatorEditableObjects|curatorEditingArea|curatorEditingAreaType|curatorMouseOver|curatorPoints|curatorRegisteredObjects|curatorSelected|curatorWaypointCost|current3DENOperation|currentChannel|currentCommand|currentMagazine|currentMagazineDetail|currentMagazineDetailTurret|currentMagazineTurret|currentMuzzle|currentNamespace|currentTask|currentTasks|currentThrowable|currentVisionMode|currentWaypoint|currentWeapon|currentWeaponMode|currentWeaponTurret|currentZeroing|cursorObject|cursorTarget|customChat|customRadio|cutFadeOut|cutObj|cutRsc|cutText|damage|date|dateToNumber|daytime|deActivateKey|debriefingText|debugFSM|debugLog|deg|delete3DENEntities|deleteAt|deleteCenter|deleteCollection|deleteEditorObject|deleteGroup|deleteGroupWhenEmpty|deleteIdentity|deleteLocation|deleteMarker|deleteMarkerLocal|deleteRange|deleteResources|deleteSite|deleteStatus|deleteTeam|deleteVehicle|deleteVehicleCrew|deleteWaypoint|detach|detectedMines|diag_activeMissionFSMs|diag_activeScripts|diag_activeSQFScripts|diag_activeSQSScripts|diag_captureFrame|diag_captureFrameToFile|diag_captureSlowFrame|diag_codePerformance|diag_drawMode|diag_dynamicSimulationEnd|diag_enable|diag_enabled|diag_fps|diag_fpsMin|diag_frameNo|diag_lightNewLoad|diag_list|diag_log|diag_logSlowFrame|diag_mergeConfigFile|diag_recordTurretLimits|diag_setLightNew|diag_tickTime|diag_toggle|dialog|diarySubjectExists|didJIP|didJIPOwner|difficulty|difficultyEnabled|difficultyEnabledRTD|difficultyOption|direction|directSay|disableAI|disableCollisionWith|disableConversation|disableDebriefingStats|disableMapIndicators|disableNVGEquipment|disableRemoteSensors|disableSerialization|disableTIEquipment|disableUAVConnectability|disableUserInput|displayAddEventHandler|displayCtrl|displayNull|displayParent|displayRemoveAllEventHandlers|displayRemoveEventHandler|displaySetEventHandler|dissolveTeam|distance|distance2D|distanceSqr|distributionRegion|do3DENAction|doArtilleryFire|doFire|doFollow|doFSM|doGetOut|doMove|doorPhase|doStop|doSuppressiveFire|doTarget|doWatch|drawArrow|drawEllipse|drawIcon|drawIcon3D|drawLine|drawLine3D|drawLink|drawLocation|drawPolygon|drawRectangle|drawTriangle|driver|drop|dynamicSimulationDistance|dynamicSimulationDistanceCoef|dynamicSimulationEnabled|dynamicSimulationSystemEnabled|east|edit3DENMissionAttributes|editObject|editorSetEventHandler|effectiveCommander|emptyPositions|enableAI|enableAIFeature|enableAimPrecision|enableAttack|enableAudioFeature|enableAutoStartUpRTD|enableAutoTrimRTD|enableCamShake|enableCaustics|enableChannel|enableCollisionWith|enableCopilot|enableDebriefingStats|enableDiagLegend|enableDynamicSimulation|enableDynamicSimulationSystem|enableEndDialog|enableEngineArtillery|enableEnvironment|enableFatigue|enableGunLights|enableInfoPanelComponent|enableIRLasers|enableMimics|enablePersonTurret|enableRadio|enableReload|enableRopeAttach|enableSatNormalOnDetail|enableSaving|enableSentences|enableSimulation|enableSimulationGlobal|enableStamina|enableStressDamage|enableTeamSwitch|enableTraffic|enableUAVConnectability|enableUAVWaypoints|enableVehicleCargo|enableVehicleSensor|enableWeaponDisassembly|endl|endLoadingScreen|endMission|engineOn|enginesIsOnRTD|enginesPowerRTD|enginesRpmRTD|enginesTorqueRTD|entities|environmentEnabled|estimatedEndServerTime|estimatedTimeLeft|evalObjectArgument|everyBackpack|everyContainer|exec|execEditorScript|exp|expectedDestination|exportJIPMessages|eyeDirection|eyePos|face|faction|fadeMusic|fadeRadio|fadeSound|fadeSpeech|failMission|fillWeaponsFromPool|find|findCover|findDisplay|findEditorObject|findEmptyPosition|findEmptyPositionReady|findIf|findNearestEnemy|finishMissionInit|finite|fire|fireAtTarget|firstBackpack|flag|flagAnimationPhase|flagOwner|flagSide|flagTexture|fleeing|floor|flyInHeight|flyInHeightASL|fog|fogForecast|fogParams|forceAddUniform|forceAtPositionRTD|forcedMap|forceEnd|forceFlagTexture|forceFollowRoad|forceGeneratorRTD|forceMap|forceRespawn|forceSpeed|forceWalk|forceWeaponFire|forceWeatherChange|forgetTarget|format|formation|formationDirection|formationLeader|formationMembers|formationPosition|formationTask|formatText|formLeader|freeLook|fromEditor|fuel|fullCrew|gearIDCAmmoCount|gearSlotAmmoCount|gearSlotData|get3DENActionState|get3DENAttribute|get3DENCamera|get3DENConnections|get3DENEntity|get3DENEntityID|get3DENGrid|get3DENIconsVisible|get3DENLayerEntities|get3DENLinesVisible|get3DENMissionAttribute|get3DENMouseOver|get3DENSelected|getAimingCoef|getAllEnvSoundControllers|getAllHitPointsDamage|getAllOwnedMines|getAllSoundControllers|getAmmoCargo|getAnimAimPrecision|getAnimSpeedCoef|getArray|getArtilleryAmmo|getArtilleryComputerSettings|getArtilleryETA|getAssignedCuratorLogic|getAssignedCuratorUnit|getBackpackCargo|getBleedingRemaining|getBurningValue|getCameraViewDirection|getCargoIndex|getCenterOfMass|getClientState|getClientStateNumber|getCompatiblePylonMagazines|getConnectedUAV|getContainerMaxLoad|getCursorObjectParams|getCustomAimCoef|getDammage|getDescription|getDir|getDirVisual|getDLCAssetsUsage|getDLCAssetsUsageByName|getDLCs|getDLCUsageTime|getEditorCamera|getEditorMode|getEditorObjectScope|getElevationOffset|getEngineTargetRpmRTD|getEnvSoundController|getFatigue|getFieldManualStartPage|getForcedFlagTexture|getFriend|getFSMVariable|getFuelCargo|getGroupIcon|getGroupIconParams|getGroupIcons|getHideFrom|getHit|getHitIndex|getHitPointDamage|getItemCargo|getMagazineCargo|getMarkerColor|getMarkerPos|getMarkerSize|getMarkerType|getMass|getMissionConfig|getMissionConfigValue|getMissionDLCs|getMissionLayerEntities|getMissionLayers|getModelInfo|getMousePosition|getMusicPlayedTime|getNumber|getObjectArgument|getObjectChildren|getObjectDLC|getObjectMaterials|getObjectProxy|getObjectTextures|getObjectType|getObjectViewDistance|getOxygenRemaining|getPersonUsedDLCs|getPilotCameraDirection|getPilotCameraPosition|getPilotCameraRotation|getPilotCameraTarget|getPlateNumber|getPlayerChannel|getPlayerScores|getPlayerUID|getPlayerUIDOld|getPos|getPosASL|getPosASLVisual|getPosASLW|getPosATL|getPosATLVisual|getPosVisual|getPosWorld|getPylonMagazines|getRelDir|getRelPos|getRemoteSensorsDisabled|getRepairCargo|getResolution|getRotorBrakeRTD|getShadowDistance|getShotParents|getSlingLoad|getSoundController|getSoundControllerResult|getSpeed|getStamina|getStatValue|getSuppression|getTerrainGrid|getTerrainHeightASL|getText|getTotalDLCUsageTime|getTrimOffsetRTD|getUnitLoadout|getUnitTrait|getUserMFDText|getUserMFDValue|getVariable|getVehicleCargo|getWeaponCargo|getWeaponSway|getWingsOrientationRTD|getWingsPositionRTD|getWPPos|glanceAt|globalChat|globalRadio|goggles|group|groupChat|groupFromNetId|groupIconSelectable|groupIconsVisible|groupId|groupOwner|groupRadio|groupSelectedUnits|groupSelectUnit|grpNull|gunner|gusts|halt|handgunItems|handgunMagazine|handgunWeapon|handsHit|hasInterface|hasPilotCamera|hasWeapon|hcAllGroups|hcGroupParams|hcLeader|hcRemoveAllGroups|hcRemoveGroup|hcSelected|hcSelectGroup|hcSetGroup|hcShowBar|hcShownBar|headgear|hideBody|hideObject|hideObjectGlobal|hideSelection|hint|hintC|hintCadet|hintSilent|hmd|hostMission|htmlLoad|HUDMovementLevels|humidity|image|importAllGroups|importance|in|inArea|inAreaArray|incapacitatedState|independent|inflame|inflamed|infoPanel|infoPanelComponentEnabled|infoPanelComponents|infoPanels|inGameUISetEventHandler|inheritsFrom|initAmbientLife|inPolygon|inputAction|inRangeOfArtillery|insertEditorObject|intersect|is3DEN|is3DENMultiplayer|isAbleToBreathe|isAgent|isAimPrecisionEnabled|isArray|isAutoHoverOn|isAutonomous|isAutoStartUpEnabledRTD|isAutotest|isAutoTrimOnRTD|isBleeding|isBurning|isClass|isCollisionLightOn|isCopilotEnabled|isDamageAllowed|isDedicated|isDLCAvailable|isEngineOn|isEqualTo|isEqualType|isEqualTypeAll|isEqualTypeAny|isEqualTypeArray|isEqualTypeParams|isFilePatchingEnabled|isFlashlightOn|isFlatEmpty|isForcedWalk|isFormationLeader|isGroupDeletedWhenEmpty|isHidden|isInRemainsCollector|isInstructorFigureEnabled|isIRLaserOn|isKeyActive|isKindOf|isLaserOn|isLightOn|isLocalized|isManualFire|isMarkedForCollection|isMultiplayer|isMultiplayerSolo|isNil|isNull|isNumber|isObjectHidden|isObjectRTD|isOnRoad|isPipEnabled|isPlayer|isRealTime|isRemoteExecuted|isRemoteExecutedJIP|isServer|isShowing3DIcons|isSimpleObject|isSprintAllowed|isStaminaEnabled|isSteamMission|isStreamFriendlyUIEnabled|isStressDamageEnabled|isText|isTouchingGround|isTurnedOut|isTutHintsEnabled|isUAVConnectable|isUAVConnected|isUIContext|isUniformAllowed|isVehicleCargo|isVehicleRadarOn|isVehicleSensorEnabled|isWalking|isWeaponDeployed|isWeaponRested|itemCargo|items|itemsWithMagazines|join|joinAs|joinAsSilent|joinSilent|joinString|kbAddDatabase|kbAddDatabaseTargets|kbAddTopic|kbHasTopic|kbReact|kbRemoveTopic|kbTell|kbWasSaid|keyImage|keyName|knowsAbout|land|landAt|landResult|language|laserTarget|lbAdd|lbClear|lbColor|lbColorRight|lbCurSel|lbData|lbDelete|lbIsSelected|lbPicture|lbPictureRight|lbSelection|lbSetColor|lbSetColorRight|lbSetCurSel|lbSetData|lbSetPicture|lbSetPictureColor|lbSetPictureColorDisabled|lbSetPictureColorSelected|lbSetPictureRight|lbSetPictureRightColor|lbSetPictureRightColorDisabled|lbSetPictureRightColorSelected|lbSetSelectColor|lbSetSelectColorRight|lbSetSelected|lbSetText|lbSetTextRight|lbSetTooltip|lbSetValue|lbSize|lbSort|lbSortByValue|lbText|lbTextRight|lbValue|leader|leaderboardDeInit|leaderboardGetRows|leaderboardInit|leaderboardRequestRowsFriends|leaderboardRequestRowsGlobal|leaderboardRequestRowsGlobalAroundUser|leaderboardsRequestUploadScore|leaderboardsRequestUploadScoreKeepBest|leaderboardState|leaveVehicle|libraryCredits|libraryDisclaimers|lifeState|lightAttachObject|lightDetachObject|lightIsOn|lightnings|limitSpeed|linearConversion|lineBreak|lineIntersects|lineIntersectsObjs|lineIntersectsSurfaces|lineIntersectsWith|linkItem|list|listObjects|listRemoteTargets|listVehicleSensors|ln|lnbAddArray|lnbAddColumn|lnbAddRow|lnbClear|lnbColor|lnbColorRight|lnbCurSelRow|lnbData|lnbDeleteColumn|lnbDeleteRow|lnbGetColumnsPosition|lnbPicture|lnbPictureRight|lnbSetColor|lnbSetColorRight|lnbSetColumnsPos|lnbSetCurSelRow|lnbSetData|lnbSetPicture|lnbSetPictureColor|lnbSetPictureColorRight|lnbSetPictureColorSelected|lnbSetPictureColorSelectedRight|lnbSetPictureRight|lnbSetText|lnbSetTextRight|lnbSetValue|lnbSize|lnbSort|lnbSortByValue|lnbText|lnbTextRight|lnbValue|load|loadAbs|loadBackpack|loadFile|loadGame|loadIdentity|loadMagazine|loadOverlay|loadStatus|loadUniform|loadVest|local|localize|locationNull|locationPosition|lock|lockCameraTo|lockCargo|lockDriver|locked|lockedCargo|lockedDriver|lockedTurret|lockIdentity|lockTurret|lockWP|log|logEntities|logNetwork|logNetworkTerminate|lookAt|lookAtPos|magazineCargo|magazines|magazinesAllTurrets|magazinesAmmo|magazinesAmmoCargo|magazinesAmmoFull|magazinesDetail|magazinesDetailBackpack|magazinesDetailUniform|magazinesDetailVest|magazinesTurret|magazineTurretAmmo|mapAnimAdd|mapAnimClear|mapAnimCommit|mapAnimDone|mapCenterOnCamera|mapGridPosition|markAsFinishedOnSteam|markerAlpha|markerBrush|markerColor|markerDir|markerPos|markerShape|markerSize|markerText|markerType|max|members|menuAction|menuAdd|menuChecked|menuClear|menuCollapse|menuData|menuDelete|menuEnable|menuEnabled|menuExpand|menuHover|menuPicture|menuSetAction|menuSetCheck|menuSetData|menuSetPicture|menuSetValue|menuShortcut|menuShortcutText|menuSize|menuSort|menuText|menuURL|menuValue|min|mineActive|mineDetectedBy|missionConfigFile|missionDifficulty|missionName|missionNamespace|missionStart|missionVersion|modelToWorld|modelToWorldVisual|modelToWorldVisualWorld|modelToWorldWorld|modParams|moonIntensity|moonPhase|morale|move|move3DENCamera|moveInAny|moveInCargo|moveInCommander|moveInDriver|moveInGunner|moveInTurret|moveObjectToEnd|moveOut|moveTime|moveTo|moveToCompleted|moveToFailed|musicVolume|name|nameSound|nearEntities|nearestBuilding|nearestLocation|nearestLocations|nearestLocationWithDubbing|nearestObject|nearestObjects|nearestTerrainObjects|nearObjects|nearObjectsReady|nearRoads|nearSupplies|nearTargets|needReload|netId|netObjNull|newOverlay|nextMenuItemIndex|nextWeatherChange|nMenuItems|numberOfEnginesRTD|numberToDate|objectCurators|objectFromNetId|objectParent|objNull|objStatus|onBriefingGear|onBriefingGroup|onBriefingNotes|onBriefingPlan|onBriefingTeamSwitch|onCommandModeChanged|onDoubleClick|onEachFrame|onGroupIconClick|onGroupIconOverEnter|onGroupIconOverLeave|onHCGroupSelectionChanged|onMapSingleClick|onPlayerConnected|onPlayerDisconnected|onPreloadFinished|onPreloadStarted|onShowNewObject|onTeamSwitch|openCuratorInterface|openDLCPage|openDSInterface|openMap|openSteamApp|openYoutubeVideo|opfor|orderGetIn|overcast|overcastForecast|owner|param|params|parseNumber|parseSimpleArray|parseText|parsingNamespace|particlesQuality|pi|pickWeaponPool|pitch|pixelGrid|pixelGridBase|pixelGridNoUIScale|pixelH|pixelW|playableSlotsNumber|playableUnits|playAction|playActionNow|player|playerRespawnTime|playerSide|playersNumber|playGesture|playMission|playMove|playMoveNow|playMusic|playScriptedMission|playSound|playSound3D|position|positionCameraToWorld|posScreenToWorld|posWorldToScreen|ppEffectAdjust|ppEffectCommit|ppEffectCommitted|ppEffectCreate|ppEffectDestroy|ppEffectEnable|ppEffectEnabled|ppEffectForceInNVG|precision|preloadCamera|preloadObject|preloadSound|preloadTitleObj|preloadTitleRsc|primaryWeapon|primaryWeaponItems|primaryWeaponMagazine|priority|processDiaryLink|processInitCommands|productVersion|profileName|profileNamespace|profileNameSteam|progressLoadingScreen|progressPosition|progressSetPosition|publicVariable|publicVariableClient|publicVariableServer|pushBack|pushBackUnique|putWeaponPool|queryItemsPool|queryMagazinePool|queryWeaponPool|rad|radioChannelAdd|radioChannelCreate|radioChannelRemove|radioChannelSetCallSign|radioChannelSetLabel|radioVolume|rain|rainbow|random|rank|rankId|rating|rectangular|registeredTasks|registerTask|reload|reloadEnabled|remoteControl|remoteExec|remoteExecCall|remoteExecutedOwner|remove3DENConnection|remove3DENEventHandler|remove3DENLayer|removeAction|removeAll3DENEventHandlers|removeAllActions|removeAllAssignedItems|removeAllContainers|removeAllCuratorAddons|removeAllCuratorCameraAreas|removeAllCuratorEditingAreas|removeAllEventHandlers|removeAllHandgunItems|removeAllItems|removeAllItemsWithMagazines|removeAllMissionEventHandlers|removeAllMPEventHandlers|removeAllMusicEventHandlers|removeAllOwnedMines|removeAllPrimaryWeaponItems|removeAllWeapons|removeBackpack|removeBackpackGlobal|removeCuratorAddons|removeCuratorCameraArea|removeCuratorEditableObjects|removeCuratorEditingArea|removeDrawIcon|removeDrawLinks|removeEventHandler|removeFromRemainsCollector|removeGoggles|removeGroupIcon|removeHandgunItem|removeHeadgear|removeItem|removeItemFromBackpack|removeItemFromUniform|removeItemFromVest|removeItems|removeMagazine|removeMagazineGlobal|removeMagazines|removeMagazinesTurret|removeMagazineTurret|removeMenuItem|removeMissionEventHandler|removeMPEventHandler|removeMusicEventHandler|removeOwnedMine|removePrimaryWeaponItem|removeSecondaryWeaponItem|removeSimpleTask|removeSwitchableUnit|removeTeamMember|removeUniform|removeVest|removeWeapon|removeWeaponAttachmentCargo|removeWeaponCargo|removeWeaponGlobal|removeWeaponTurret|reportRemoteTarget|requiredVersion|resetCamShake|resetSubgroupDirection|resistance|resize|resources|respawnVehicle|restartEditorCamera|reveal|revealMine|reverse|reversedMouseY|roadAt|roadsConnectedTo|roleDescription|ropeAttachedObjects|ropeAttachedTo|ropeAttachEnabled|ropeAttachTo|ropeCreate|ropeCut|ropeDestroy|ropeDetach|ropeEndPosition|ropeLength|ropes|ropeUnwind|ropeUnwound|rotorsForcesRTD|rotorsRpmRTD|round|runInitScript|safeZoneH|safeZoneW|safeZoneWAbs|safeZoneX|safeZoneXAbs|safeZoneY|save3DENInventory|saveGame|saveIdentity|saveJoysticks|saveOverlay|saveProfileNamespace|saveStatus|saveVar|savingEnabled|say|say2D|say3D|score|scoreSide|screenshot|screenToWorld|scriptDone|scriptName|scriptNull|scudState|secondaryWeapon|secondaryWeaponItems|secondaryWeaponMagazine|select|selectBestPlaces|selectDiarySubject|selectedEditorObjects|selectEditorObject|selectionNames|selectionPosition|selectLeader|selectMax|selectMin|selectNoPlayer|selectPlayer|selectRandom|selectRandomWeighted|selectWeapon|selectWeaponTurret|sendAUMessage|sendSimpleCommand|sendTask|sendTaskResult|sendUDPMessage|serverCommand|serverCommandAvailable|serverCommandExecutable|serverName|serverTime|set|set3DENAttribute|set3DENAttributes|set3DENGrid|set3DENIconsVisible|set3DENLayer|set3DENLinesVisible|set3DENLogicType|set3DENMissionAttribute|set3DENMissionAttributes|set3DENModelsVisible|set3DENObjectType|set3DENSelected|setAccTime|setActualCollectiveRTD|setAirplaneThrottle|setAirportSide|setAmmo|setAmmoCargo|setAmmoOnPylon|setAnimSpeedCoef|setAperture|setApertureNew|setArmoryPoints|setAttributes|setAutonomous|setBehaviour|setBleedingRemaining|setBrakesRTD|setCameraInterest|setCamShakeDefParams|setCamShakeParams|setCamUseTI|setCaptive|setCenterOfMass|setCollisionLight|setCombatMode|setCompassOscillation|setConvoySeparation|setCuratorCameraAreaCeiling|setCuratorCoef|setCuratorEditingAreaType|setCuratorWaypointCost|setCurrentChannel|setCurrentTask|setCurrentWaypoint|setCustomAimCoef|setCustomWeightRTD|setDamage|setDammage|setDate|setDebriefingText|setDefaultCamera|setDestination|setDetailMapBlendPars|setDir|setDirection|setDrawIcon|setDriveOnPath|setDropInterval|setDynamicSimulationDistance|setDynamicSimulationDistanceCoef|setEditorMode|setEditorObjectScope|setEffectCondition|setEngineRpmRTD|setFace|setFaceAnimation|setFatigue|setFeatureType|setFlagAnimationPhase|setFlagOwner|setFlagSide|setFlagTexture|setFog|setForceGeneratorRTD|setFormation|setFormationTask|setFormDir|setFriend|setFromEditor|setFSMVariable|setFuel|setFuelCargo|setGroupIcon|setGroupIconParams|setGroupIconsSelectable|setGroupIconsVisible|setGroupId|setGroupIdGlobal|setGroupOwner|setGusts|setHideBehind|setHit|setHitIndex|setHitPointDamage|setHorizonParallaxCoef|setHUDMovementLevels|setIdentity|setImportance|setInfoPanel|setLeader|setLightAmbient|setLightAttenuation|setLightBrightness|setLightColor|setLightDayLight|setLightFlareMaxDistance|setLightFlareSize|setLightIntensity|setLightnings|setLightUseFlare|setLocalWindParams|setMagazineTurretAmmo|setMarkerAlpha|setMarkerAlphaLocal|setMarkerBrush|setMarkerBrushLocal|setMarkerColor|setMarkerColorLocal|setMarkerDir|setMarkerDirLocal|setMarkerPos|setMarkerPosLocal|setMarkerShape|setMarkerShapeLocal|setMarkerSize|setMarkerSizeLocal|setMarkerText|setMarkerTextLocal|setMarkerType|setMarkerTypeLocal|setMass|setMimic|setMousePosition|setMusicEffect|setMusicEventHandler|setName|setNameSound|setObjectArguments|setObjectMaterial|setObjectMaterialGlobal|setObjectProxy|setObjectTexture|setObjectTextureGlobal|setObjectViewDistance|setOvercast|setOwner|setOxygenRemaining|setParticleCircle|setParticleClass|setParticleFire|setParticleParams|setParticleRandom|setPilotCameraDirection|setPilotCameraRotation|setPilotCameraTarget|setPilotLight|setPiPEffect|setPitch|setPlateNumber|setPlayable|setPlayerRespawnTime|setPos|setPosASL|setPosASL2|setPosASLW|setPosATL|setPosition|setPosWorld|setPylonLoadOut|setPylonsPriority|setRadioMsg|setRain|setRainbow|setRandomLip|setRank|setRectangular|setRepairCargo|setRotorBrakeRTD|setShadowDistance|setShotParents|setSide|setSimpleTaskAlwaysVisible|setSimpleTaskCustomData|setSimpleTaskDescription|setSimpleTaskDestination|setSimpleTaskTarget|setSimpleTaskType|setSimulWeatherLayers|setSize|setSkill|setSlingLoad|setSoundEffect|setSpeaker|setSpeech|setSpeedMode|setStamina|setStaminaScheme|setStatValue|setSuppression|setSystemOfUnits|setTargetAge|setTaskMarkerOffset|setTaskResult|setTaskState|setTerrainGrid|setText|setTimeMultiplier|setTitleEffect|setToneMapping|setToneMappingParams|setTrafficDensity|setTrafficDistance|setTrafficGap|setTrafficSpeed|setTriggerActivation|setTriggerArea|setTriggerStatements|setTriggerText|setTriggerTimeout|setTriggerType|setType|setUnconscious|setUnitAbility|setUnitLoadout|setUnitPos|setUnitPosWeak|setUnitRank|setUnitRecoilCoefficient|setUnitTrait|setUnloadInCombat|setUserActionText|setUserMFDText|setUserMFDValue|setVariable|setVectorDir|setVectorDirAndUp|setVectorUp|setVehicleAmmo|setVehicleAmmoDef|setVehicleArmor|setVehicleCargo|setVehicleId|setVehicleInit|setVehicleLock|setVehiclePosition|setVehicleRadar|setVehicleReceiveRemoteTargets|setVehicleReportOwnPosition|setVehicleReportRemoteTargets|setVehicleTIPars|setVehicleVarName|setVelocity|setVelocityModelSpace|setVelocityTransformation|setViewDistance|setVisibleIfTreeCollapsed|setWantedRpmRTD|setWaves|setWaypointBehaviour|setWaypointCombatMode|setWaypointCompletionRadius|setWaypointDescription|setWaypointForceBehaviour|setWaypointFormation|setWaypointHousePosition|setWaypointLoiterRadius|setWaypointLoiterType|setWaypointName|setWaypointPosition|setWaypointScript|setWaypointSpeed|setWaypointStatements|setWaypointTimeout|setWaypointType|setWaypointVisible|setWeaponReloadingTime|setWind|setWindDir|setWindForce|setWindStr|setWingForceScaleRTD|setWPPos|show3DIcons|showChat|showCinemaBorder|showCommandingMenu|showCompass|showCuratorCompass|showGPS|showHUD|showLegend|showMap|shownArtilleryComputer|shownChat|shownCompass|shownCuratorCompass|showNewEditorObject|shownGPS|shownHUD|shownMap|shownPad|shownRadio|shownScoretable|shownUAVFeed|shownWarrant|shownWatch|showPad|showRadio|showScoretable|showSubtitles|showUAVFeed|showWarrant|showWatch|showWaypoint|showWaypoints|side|sideAmbientLife|sideChat|sideEmpty|sideEnemy|sideFriendly|sideLogic|sideRadio|sideUnknown|simpleTasks|simulationEnabled|simulCloudDensity|simulCloudOcclusion|simulInClouds|simulWeatherSync|sin|size|sizeOf|skill|skillFinal|skipTime|sleep|sliderPosition|sliderRange|sliderSetPosition|sliderSetRange|sliderSetSpeed|sliderSpeed|slingLoadAssistantShown|soldierMagazines|someAmmo|sort|soundVolume|speaker|speed|speedMode|splitString|sqrt|squadParams|stance|startLoadingScreen|stop|stopEngineRTD|stopped|str|sunOrMoon|supportInfo|suppressFor|surfaceIsWater|surfaceNormal|surfaceType|swimInDepth|switchableUnits|switchAction|switchCamera|switchGesture|switchLight|switchMove|synchronizedObjects|synchronizedTriggers|synchronizedWaypoints|synchronizeObjectsAdd|synchronizeObjectsRemove|synchronizeTrigger|synchronizeWaypoint|systemChat|systemOfUnits|tan|targetKnowledge|targets|targetsAggregate|targetsQuery|taskAlwaysVisible|taskChildren|taskCompleted|taskCustomData|taskDescription|taskDestination|taskHint|taskMarkerOffset|taskNull|taskParent|taskResult|taskState|taskType|teamMember|teamMemberNull|teamName|teams|teamSwitch|teamSwitchEnabled|teamType|terminate|terrainIntersect|terrainIntersectASL|terrainIntersectAtASL|text|textLog|textLogFormat|tg|time|timeMultiplier|titleCut|titleFadeOut|titleObj|titleRsc|titleText|toArray|toFixed|toLower|toString|toUpper|triggerActivated|triggerActivation|triggerArea|triggerAttachedVehicle|triggerAttachObject|triggerAttachVehicle|triggerDynamicSimulation|triggerStatements|triggerText|triggerTimeout|triggerTimeoutCurrent|triggerType|turretLocal|turretOwner|turretUnit|tvAdd|tvClear|tvCollapse|tvCollapseAll|tvCount|tvCurSel|tvData|tvDelete|tvExpand|tvExpandAll|tvPicture|tvPictureRight|tvSetColor|tvSetCurSel|tvSetData|tvSetPicture|tvSetPictureColor|tvSetPictureColorDisabled|tvSetPictureColorSelected|tvSetPictureRight|tvSetPictureRightColor|tvSetPictureRightColorDisabled|tvSetPictureRightColorSelected|tvSetSelectColor|tvSetText|tvSetTooltip|tvSetValue|tvSort|tvSortByValue|tvText|tvTooltip|tvValue|type|typeName|typeOf|UAVControl|uiNamespace|uiSleep|unassignCurator|unassignItem|unassignTeam|unassignVehicle|underwater|uniform|uniformContainer|uniformItems|uniformMagazines|unitAddons|unitAimPosition|unitAimPositionVisual|unitBackpack|unitIsUAV|unitPos|unitReady|unitRecoilCoefficient|units|unitsBelowHeight|unlinkItem|unlockAchievement|unregisterTask|updateDrawIcon|updateMenuItem|updateObjectTree|useAIOperMapObstructionTest|useAISteeringComponent|useAudioTimeForMoves|userInputDisabled|vectorAdd|vectorCos|vectorCrossProduct|vectorDiff|vectorDir|vectorDirVisual|vectorDistance|vectorDistanceSqr|vectorDotProduct|vectorFromTo|vectorMagnitude|vectorMagnitudeSqr|vectorModelToWorld|vectorModelToWorldVisual|vectorMultiply|vectorNormalized|vectorUp|vectorUpVisual|vectorWorldToModel|vectorWorldToModelVisual|vehicle|vehicleCargoEnabled|vehicleChat|vehicleRadio|vehicleReceiveRemoteTargets|vehicleReportOwnPosition|vehicleReportRemoteTargets|vehicles|vehicleVarName|velocity|velocityModelSpace|verifySignature|vest|vestContainer|vestItems|vestMagazines|viewDistance|visibleCompass|visibleGPS|visibleMap|visiblePosition|visiblePositionASL|visibleScoretable|visibleWatch|waitUntil|waves|waypointAttachedObject|waypointAttachedVehicle|waypointAttachObject|waypointAttachVehicle|waypointBehaviour|waypointCombatMode|waypointCompletionRadius|waypointDescription|waypointForceBehaviour|waypointFormation|waypointHousePosition|waypointLoiterRadius|waypointLoiterType|waypointName|waypointPosition|waypoints|waypointScript|waypointsEnabledUAV|waypointShow|waypointSpeed|waypointStatements|waypointTimeout|waypointTimeoutCurrent|waypointType|waypointVisible|weaponAccessories|weaponAccessoriesCargo|weaponCargo|weaponDirection|weaponInertia|weaponLowered|weapons|weaponsItems|weaponsItemsCargo|weaponState|weaponsTurret|weightRTD|west|WFSideText|wind|windDir|windRTD|windStr|wingsForcesRTD|worldName|worldSize|worldToModel|worldToModelVisual|worldToScreen)\\b/i,\n number:\n /(?:\\$|\\b0x)[\\da-f]+\\b|(?:\\B\\.\\d+|\\b\\d+(?:\\.\\d+)?)(?:e[+-]?\\d+)?\\b/i,\n operator: /##|>>|&&|\\|\\||[!=<>]=?|[-+*/%#^]|\\b(?:and|mod|not|or)\\b/i,\n 'magic-variable': {\n pattern:\n /\\b(?:this|thisList|thisTrigger|_exception|_fnc_scriptName|_fnc_scriptNameParent|_forEachIndex|_this|_thisEventHandler|_thisFSM|_thisScript|_x)\\b/i,\n alias: 'keyword'\n },\n constant: /\\bDIK(?:_[a-z\\d]+)+\\b/i\n })\n Prism.languages.insertBefore('sqf', 'string', {\n macro: {\n pattern: /(^[ \\t]*)#[a-z](?:[^\\r\\n\\\\]|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n lookbehind: true,\n greedy: true,\n alias: 'property',\n inside: {\n directive: {\n pattern: /#[a-z]+\\b/i,\n alias: 'keyword'\n },\n comment: Prism.languages.sqf.comment\n }\n }\n })\n delete Prism.languages.sqf['class-name']\n}\n","'use strict'\n\nmodule.exports = sql\nsql.displayName = 'sql'\nsql.aliases = []\nfunction sql(Prism) {\n Prism.languages.sql = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,\n lookbehind: true\n },\n variable: [\n {\n pattern: /@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/,\n greedy: true\n },\n /@[\\w.$]+/\n ],\n string: {\n pattern: /(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/,\n greedy: true,\n lookbehind: true\n },\n identifier: {\n pattern: /(^|[^@\\\\])`(?:\\\\[\\s\\S]|[^`\\\\]|``)*`/,\n greedy: true,\n lookbehind: true,\n inside: {\n punctuation: /^`|`$/\n }\n },\n function:\n /\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i,\n // Should we highlight user defined functions too?\n keyword:\n /\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i,\n boolean: /\\b(?:FALSE|NULL|TRUE)\\b/i,\n number: /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i,\n operator:\n /[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i,\n punctuation: /[;[\\]()`,.]/\n }\n}\n","'use strict'\n\nmodule.exports = squirrel\nsquirrel.displayName = 'squirrel'\nsquirrel.aliases = []\nfunction squirrel(Prism) {\n Prism.languages.squirrel = Prism.languages.extend('clike', {\n comment: [\n Prism.languages.clike['comment'][0],\n {\n pattern: /(^|[^\\\\:])(?:\\/\\/|#).*/,\n lookbehind: true,\n greedy: true\n }\n ],\n string: {\n pattern: /(^|[^\\\\\"'@])(?:@\"(?:[^\"]|\"\")*\"(?!\")|\"(?:[^\\\\\\r\\n\"]|\\\\.)*\")/,\n lookbehind: true,\n greedy: true\n },\n 'class-name': {\n pattern: /(\\b(?:class|enum|extends|instanceof)\\s+)\\w+(?:\\.\\w+)*/,\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n },\n keyword:\n /\\b(?:__FILE__|__LINE__|base|break|case|catch|class|clone|const|constructor|continue|default|delete|else|enum|extends|for|foreach|function|if|in|instanceof|local|null|resume|return|static|switch|this|throw|try|typeof|while|yield)\\b/,\n number: /\\b(?:0x[0-9a-fA-F]+|\\d+(?:\\.(?:\\d+|[eE][+-]?\\d+))?)\\b/,\n operator: /\\+\\+|--|<=>|<[-<]|>>>?|&&?|\\|\\|?|[-+*/%!=<>]=?|[~^]|::?/,\n punctuation: /[(){}\\[\\],;.]/\n })\n Prism.languages.insertBefore('squirrel', 'string', {\n char: {\n pattern: /(^|[^\\\\\"'])'(?:[^\\\\']|\\\\(?:[xuU][0-9a-fA-F]{0,8}|[\\s\\S]))'/,\n lookbehind: true,\n greedy: true\n }\n })\n Prism.languages.insertBefore('squirrel', 'operator', {\n 'attribute-punctuation': {\n pattern: /<\\/|\\/>/,\n alias: 'important'\n },\n lambda: {\n pattern: /@(?=\\()/,\n alias: 'operator'\n }\n })\n}\n","'use strict'\n\nmodule.exports = stan\nstan.displayName = 'stan'\nstan.aliases = []\nfunction stan(Prism) {\n ;(function (Prism) {\n // https://mc-stan.org/docs/2_28/reference-manual/bnf-grammars.html\n var higherOrderFunctions =\n /\\b(?:algebra_solver|algebra_solver_newton|integrate_1d|integrate_ode|integrate_ode_bdf|integrate_ode_rk45|map_rect|ode_(?:adams|bdf|ckrk|rk45)(?:_tol)?|ode_adjoint_tol_ctl|reduce_sum|reduce_sum_static)\\b/\n Prism.languages.stan = {\n comment: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\/|#(?!include).*/,\n string: {\n // String literals can contain spaces and any printable ASCII characters except for \" and \\\n // https://mc-stan.org/docs/2_24/reference-manual/print-statements-section.html#string-literals\n pattern: /\"[\\x20\\x21\\x23-\\x5B\\x5D-\\x7E]*\"/,\n greedy: true\n },\n directive: {\n pattern: /^([ \\t]*)#include\\b.*/m,\n lookbehind: true,\n alias: 'property'\n },\n 'function-arg': {\n pattern: RegExp(\n '(' +\n higherOrderFunctions.source +\n /\\s*\\(\\s*/.source +\n ')' +\n /[a-zA-Z]\\w*/.source\n ),\n lookbehind: true,\n alias: 'function'\n },\n constraint: {\n pattern: /(\\b(?:int|matrix|real|row_vector|vector)\\s*)<[^<>]*>/,\n lookbehind: true,\n inside: {\n expression: {\n pattern: /(=\\s*)\\S(?:\\S|\\s+(?!\\s))*?(?=\\s*(?:>$|,\\s*\\w+\\s*=))/,\n lookbehind: true,\n inside: null // see below\n },\n property: /\\b[a-z]\\w*(?=\\s*=)/i,\n operator: /=/,\n punctuation: /^<|>$|,/\n }\n },\n keyword: [\n {\n pattern:\n /\\bdata(?=\\s*\\{)|\\b(?:functions|generated|model|parameters|quantities|transformed)\\b/,\n alias: 'program-block'\n },\n /\\b(?:array|break|cholesky_factor_corr|cholesky_factor_cov|complex|continue|corr_matrix|cov_matrix|data|else|for|if|in|increment_log_prob|int|matrix|ordered|positive_ordered|print|real|reject|return|row_vector|simplex|target|unit_vector|vector|void|while)\\b/, // these are functions that are known to take another function as their first argument.\n higherOrderFunctions\n ],\n function: /\\b[a-z]\\w*(?=\\s*\\()/i,\n number:\n /(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:E[+-]?\\d+(?:_\\d+)*)?i?(?!\\w)/i,\n boolean: /\\b(?:false|true)\\b/,\n operator: /<-|\\.[*/]=?|\\|\\|?|&&|[!=<>+\\-*/]=?|['^%~?:]/,\n punctuation: /[()\\[\\]{},;]/\n }\n Prism.languages.stan.constraint.inside.expression.inside =\n Prism.languages.stan\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = stylus\nstylus.displayName = 'stylus'\nstylus.aliases = []\nfunction stylus(Prism) {\n ;(function (Prism) {\n var unit = {\n pattern: /(\\b\\d+)(?:%|[a-z]+)/,\n lookbehind: true\n } // 123 -123 .123 -.123 12.3 -12.3\n var number = {\n pattern: /(^|[^\\w.-])-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/,\n lookbehind: true\n }\n var inside = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: true\n },\n url: {\n pattern: /\\burl\\(([\"']?).*?\\1\\)/i,\n greedy: true\n },\n string: {\n pattern: /(\"|')(?:(?!\\1)[^\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\\1/,\n greedy: true\n },\n interpolation: null,\n // See below\n func: null,\n // See below\n important: /\\B!(?:important|optional)\\b/i,\n keyword: {\n pattern: /(^|\\s+)(?:(?:else|for|if|return|unless)(?=\\s|$)|@[\\w-]+)/,\n lookbehind: true\n },\n hexcode: /#[\\da-f]{3,6}/i,\n color: [\n /\\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\\b/i,\n {\n pattern:\n /\\b(?:hsl|rgb)\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*\\)\\B|\\b(?:hsl|rgb)a\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*,\\s*(?:0|0?\\.\\d+|1)\\s*\\)\\B/i,\n inside: {\n unit: unit,\n number: number,\n function: /[\\w-]+(?=\\()/,\n punctuation: /[(),]/\n }\n }\n ],\n entity: /\\\\[\\da-f]{1,8}/i,\n unit: unit,\n boolean: /\\b(?:false|true)\\b/,\n operator: [\n // We want non-word chars around \"-\" because it is\n // accepted in property names.\n /~|[+!\\/%<>?=]=?|[-:]=|\\*[*=]?|\\.{2,3}|&&|\\|\\||\\B-\\B|\\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\\b/\n ],\n number: number,\n punctuation: /[{}()\\[\\];:,]/\n }\n inside['interpolation'] = {\n pattern: /\\{[^\\r\\n}:]+\\}/,\n alias: 'variable',\n inside: {\n delimiter: {\n pattern: /^\\{|\\}$/,\n alias: 'punctuation'\n },\n rest: inside\n }\n }\n inside['func'] = {\n pattern: /[\\w-]+\\([^)]*\\).*/,\n inside: {\n function: /^[^(]+/,\n rest: inside\n }\n }\n Prism.languages.stylus = {\n 'atrule-declaration': {\n pattern: /(^[ \\t]*)@.+/m,\n lookbehind: true,\n inside: {\n atrule: /^@[\\w-]+/,\n rest: inside\n }\n },\n 'variable-declaration': {\n pattern: /(^[ \\t]*)[\\w$-]+\\s*.?=[ \\t]*(?:\\{[^{}]*\\}|\\S.*|$)/m,\n lookbehind: true,\n inside: {\n variable: /^\\S+/,\n rest: inside\n }\n },\n statement: {\n pattern: /(^[ \\t]*)(?:else|for|if|return|unless)[ \\t].+/m,\n lookbehind: true,\n inside: {\n keyword: /^\\S+/,\n rest: inside\n }\n },\n // A property/value pair cannot end with a comma or a brace\n // It cannot have indented content unless it ended with a semicolon\n 'property-declaration': {\n pattern:\n /((?:^|\\{)([ \\t]*))(?:[\\w-]|\\{[^}\\r\\n]+\\})+(?:\\s*:\\s*|[ \\t]+)(?!\\s)[^{\\r\\n]*(?:;|[^{\\r\\n,]$(?!(?:\\r?\\n|\\r)(?:\\{|\\2[ \\t])))/m,\n lookbehind: true,\n inside: {\n property: {\n pattern: /^[^\\s:]+/,\n inside: {\n interpolation: inside.interpolation\n }\n },\n rest: inside\n }\n },\n // A selector can contain parentheses only as part of a pseudo-element\n // It can span multiple lines.\n // It must end with a comma or an accolade or have indented content.\n selector: {\n pattern:\n /(^[ \\t]*)(?:(?=\\S)(?:[^{}\\r\\n:()]|::?[\\w-]+(?:\\([^)\\r\\n]*\\)|(?![\\w-]))|\\{[^}\\r\\n]+\\})+)(?:(?:\\r?\\n|\\r)(?:\\1(?:(?=\\S)(?:[^{}\\r\\n:()]|::?[\\w-]+(?:\\([^)\\r\\n]*\\)|(?![\\w-]))|\\{[^}\\r\\n]+\\})+)))*(?:,$|\\{|(?=(?:\\r?\\n|\\r)(?:\\{|\\1[ \\t])))/m,\n lookbehind: true,\n inside: {\n interpolation: inside.interpolation,\n comment: inside.comment,\n punctuation: /[{},]/\n }\n },\n func: inside.func,\n string: inside.string,\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: true,\n greedy: true\n },\n interpolation: inside.interpolation,\n punctuation: /[{}()\\[\\];:.]/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = swift\nswift.displayName = 'swift'\nswift.aliases = []\nfunction swift(Prism) {\n Prism.languages.swift = {\n comment: {\n // Nested comments are supported up to 2 levels\n pattern:\n /(^|[^\\\\:])(?:\\/\\/.*|\\/\\*(?:[^/*]|\\/(?!\\*)|\\*(?!\\/)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\/)/,\n lookbehind: true,\n greedy: true\n },\n 'string-literal': [\n // https://docs.swift.org/swift-book/LanguageGuide/StringsAndCharacters.html\n {\n pattern: RegExp(\n /(^|[^\"#])/.source +\n '(?:' + // single-line string\n /\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n\"])*\"/\n .source +\n '|' + // multi-line string\n /\"\"\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\\"]|\"(?!\"\"))*\"\"\"/\n .source +\n ')' +\n /(?![\"#])/.source\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /(\\\\\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,\n lookbehind: true,\n inside: null // see below\n },\n 'interpolation-punctuation': {\n pattern: /^\\)|\\\\\\($/,\n alias: 'punctuation'\n },\n punctuation: /\\\\(?=[\\r\\n])/,\n string: /[\\s\\S]+/\n }\n },\n {\n pattern: RegExp(\n /(^|[^\"#])(#+)/.source +\n '(?:' + // single-line string\n /\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?\"/\n .source +\n '|' + // multi-line string\n /\"\"\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?\"\"\"/.source +\n ')' +\n '\\\\2'\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /(\\\\#+\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,\n lookbehind: true,\n inside: null // see below\n },\n 'interpolation-punctuation': {\n pattern: /^\\)|\\\\#+\\($/,\n alias: 'punctuation'\n },\n string: /[\\s\\S]+/\n }\n }\n ],\n directive: {\n // directives with conditions\n pattern: RegExp(\n /#/.source +\n '(?:' +\n (/(?:elseif|if)\\b/.source +\n '(?:[ \\t]*' + // This regex is a little complex. It's equivalent to this:\n // (?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*<round>)?|<round>)(?:[ \\t]*(?:&&|\\|\\|))?\n // where <round> is a general parentheses expression.\n /(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?/\n .source +\n ')+') +\n '|' +\n /(?:else|endif)\\b/.source +\n ')'\n ),\n alias: 'property',\n inside: {\n 'directive-name': /^#\\w+/,\n boolean: /\\b(?:false|true)\\b/,\n number: /\\b\\d+(?:\\.\\d+)*\\b/,\n operator: /!|&&|\\|\\||[<>]=?/,\n punctuation: /[(),]/\n }\n },\n literal: {\n pattern:\n /#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\\b/,\n alias: 'constant'\n },\n 'other-directive': {\n pattern: /#\\w+\\b/,\n alias: 'property'\n },\n attribute: {\n pattern: /@\\w+/,\n alias: 'atrule'\n },\n 'function-definition': {\n pattern: /(\\bfunc\\s+)\\w+/,\n lookbehind: true,\n alias: 'function'\n },\n label: {\n // https://docs.swift.org/swift-book/LanguageGuide/ControlFlow.html#ID141\n pattern:\n /\\b(break|continue)\\s+\\w+|\\b[a-zA-Z_]\\w*(?=\\s*:\\s*(?:for|repeat|while)\\b)/,\n lookbehind: true,\n alias: 'important'\n },\n keyword:\n /\\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n nil: {\n pattern: /\\bnil\\b/,\n alias: 'constant'\n },\n 'short-argument': /\\$\\d+\\b/,\n omit: {\n pattern: /\\b_\\b/,\n alias: 'keyword'\n },\n number:\n /\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i,\n // A class name must start with an upper-case letter and be either 1 letter long or contain a lower-case letter.\n 'class-name': /\\b[A-Z](?:[A-Z_\\d]*[a-z]\\w*)?\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n constant: /\\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/,\n // Operators are generic in Swift. Developers can even create new operators (e.g. +++).\n // https://docs.swift.org/swift-book/ReferenceManual/zzSummaryOfTheGrammar.html#ID481\n // This regex only supports ASCII operators.\n operator: /[-+*/%=!<>&|^~?]+|\\.[.\\-+*/%=!<>&|^~?]+/,\n punctuation: /[{}[\\]();,.:\\\\]/\n }\n Prism.languages.swift['string-literal'].forEach(function (rule) {\n rule.inside['interpolation'].inside = Prism.languages.swift\n })\n}\n","'use strict'\n\nmodule.exports = systemd\nsystemd.displayName = 'systemd'\nsystemd.aliases = []\nfunction systemd(Prism) {\n // https://www.freedesktop.org/software/systemd/man/systemd.syntax.html\n ;(function (Prism) {\n var comment = {\n pattern: /^[;#].*/m,\n greedy: true\n }\n var quotesSource = /\"(?:[^\\r\\n\"\\\\]|\\\\(?:[^\\r]|\\r\\n?))*\"(?!\\S)/.source\n Prism.languages.systemd = {\n comment: comment,\n section: {\n pattern: /^\\[[^\\n\\r\\[\\]]*\\](?=[ \\t]*$)/m,\n greedy: true,\n inside: {\n punctuation: /^\\[|\\]$/,\n 'section-name': {\n pattern: /[\\s\\S]+/,\n alias: 'selector'\n }\n }\n },\n key: {\n pattern: /^[^\\s=]+(?=[ \\t]*=)/m,\n greedy: true,\n alias: 'attr-name'\n },\n value: {\n // This pattern is quite complex because of two properties:\n // 1) Quotes (strings) must be preceded by a space. Since we can't use lookbehinds, we have to \"resolve\"\n // the lookbehind. You will see this in the main loop where spaces are handled separately.\n // 2) Line continuations.\n // After line continuations, empty lines and comments are ignored so we have to consume them.\n pattern: RegExp(\n /(=[ \\t]*(?!\\s))/.source + // the value either starts with quotes or not\n '(?:' +\n quotesSource +\n '|(?=[^\"\\r\\n]))' + // main loop\n '(?:' +\n (/[^\\s\\\\]/.source + // handle spaces separately because of quotes\n '|' +\n '[ \\t]+(?:(?![ \\t\"])|' +\n quotesSource +\n ')' + // line continuation\n '|' +\n /\\\\[\\r\\n]+(?:[#;].*[\\r\\n]+)*(?![#;])/.source) +\n ')*'\n ),\n lookbehind: true,\n greedy: true,\n alias: 'attr-value',\n inside: {\n comment: comment,\n quoted: {\n pattern: RegExp(/(^|\\s)/.source + quotesSource),\n lookbehind: true,\n greedy: true\n },\n punctuation: /\\\\$/m,\n boolean: {\n pattern: /^(?:false|no|off|on|true|yes)$/,\n greedy: true\n }\n }\n },\n punctuation: /=/\n }\n })(Prism)\n}\n","'use strict'\nvar refractorT4Templating = require('./t4-templating.js')\nvar refractorCsharp = require('./csharp.js')\nmodule.exports = t4Cs\nt4Cs.displayName = 't4Cs'\nt4Cs.aliases = []\nfunction t4Cs(Prism) {\n Prism.register(refractorT4Templating)\n Prism.register(refractorCsharp)\n Prism.languages.t4 = Prism.languages['t4-cs'] =\n Prism.languages['t4-templating'].createT4('csharp')\n}\n","'use strict'\n\nmodule.exports = t4Templating\nt4Templating.displayName = 't4Templating'\nt4Templating.aliases = []\nfunction t4Templating(Prism) {\n ;(function (Prism) {\n function createBlock(prefix, inside, contentAlias) {\n return {\n pattern: RegExp('<#' + prefix + '[\\\\s\\\\S]*?#>'),\n alias: 'block',\n inside: {\n delimiter: {\n pattern: RegExp('^<#' + prefix + '|#>$'),\n alias: 'important'\n },\n content: {\n pattern: /[\\s\\S]+/,\n inside: inside,\n alias: contentAlias\n }\n }\n }\n }\n function createT4(insideLang) {\n var grammar = Prism.languages[insideLang]\n var className = 'language-' + insideLang\n return {\n block: {\n pattern: /<#[\\s\\S]+?#>/,\n inside: {\n directive: createBlock('@', {\n 'attr-value': {\n pattern: /=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+)/,\n inside: {\n punctuation: /^=|^[\"']|[\"']$/\n }\n },\n keyword: /\\b\\w+(?=\\s)/,\n 'attr-name': /\\b\\w+/\n }),\n expression: createBlock('=', grammar, className),\n 'class-feature': createBlock('\\\\+', grammar, className),\n standard: createBlock('', grammar, className)\n }\n }\n }\n }\n Prism.languages['t4-templating'] = Object.defineProperty({}, 'createT4', {\n value: createT4\n })\n })(Prism)\n}\n","'use strict'\nvar refractorT4Templating = require('./t4-templating.js')\nvar refractorVbnet = require('./vbnet.js')\nmodule.exports = t4Vb\nt4Vb.displayName = 't4Vb'\nt4Vb.aliases = []\nfunction t4Vb(Prism) {\n Prism.register(refractorT4Templating)\n Prism.register(refractorVbnet)\n Prism.languages['t4-vb'] = Prism.languages['t4-templating'].createT4('vbnet')\n}\n","'use strict'\nvar refractorYaml = require('./yaml.js')\nmodule.exports = tap\ntap.displayName = 'tap'\ntap.aliases = []\nfunction tap(Prism) {\n Prism.register(refractorYaml)\n // https://en.wikipedia.org/wiki/Test_Anything_Protocol\n Prism.languages.tap = {\n fail: /not ok[^#{\\n\\r]*/,\n pass: /ok[^#{\\n\\r]*/,\n pragma: /pragma [+-][a-z]+/,\n bailout: /bail out!.*/i,\n version: /TAP version \\d+/i,\n plan: /\\b\\d+\\.\\.\\d+(?: +#.*)?/,\n subtest: {\n pattern: /# Subtest(?:: .*)?/,\n greedy: true\n },\n punctuation: /[{}]/,\n directive: /#.*/,\n yamlish: {\n pattern: /(^[ \\t]*)---[\\s\\S]*?[\\r\\n][ \\t]*\\.\\.\\.$/m,\n lookbehind: true,\n inside: Prism.languages.yaml,\n alias: 'language-yaml'\n }\n }\n}\n","'use strict'\n\nmodule.exports = tcl\ntcl.displayName = 'tcl'\ntcl.aliases = []\nfunction tcl(Prism) {\n Prism.languages.tcl = {\n comment: {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: true\n },\n string: {\n pattern: /\"(?:[^\"\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\"/,\n greedy: true\n },\n variable: [\n {\n pattern: /(\\$)(?:::)?(?:[a-zA-Z0-9]+::)*\\w+/,\n lookbehind: true\n },\n {\n pattern: /(\\$)\\{[^}]+\\}/,\n lookbehind: true\n },\n {\n pattern: /(^[\\t ]*set[ \\t]+)(?:::)?(?:[a-zA-Z0-9]+::)*\\w+/m,\n lookbehind: true\n }\n ],\n function: {\n pattern: /(^[\\t ]*proc[ \\t]+)\\S+/m,\n lookbehind: true\n },\n builtin: [\n {\n pattern:\n /(^[\\t ]*)(?:break|class|continue|error|eval|exit|for|foreach|if|proc|return|switch|while)\\b/m,\n lookbehind: true\n },\n /\\b(?:else|elseif)\\b/\n ],\n scope: {\n pattern: /(^[\\t ]*)(?:global|upvar|variable)\\b/m,\n lookbehind: true,\n alias: 'constant'\n },\n keyword: {\n pattern:\n /(^[\\t ]*|\\[)(?:Safe_Base|Tcl|after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|scan|seek|set|socket|source|split|string|subst|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|test|vars|wordBreak(?:After|Before))|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)\\b/m,\n lookbehind: true\n },\n operator:\n /!=?|\\*\\*?|==|&&?|\\|\\|?|<[=<]?|>[=>]?|[-+~\\/%?^]|\\b(?:eq|in|ne|ni)\\b/,\n punctuation: /[{}()\\[\\]]/\n }\n}\n","'use strict'\n\nmodule.exports = textile\ntextile.displayName = 'textile'\ntextile.aliases = []\nfunction textile(Prism) {\n ;(function (Prism) {\n // We don't allow for pipes inside parentheses\n // to not break table pattern |(. foo |). bar |\n var modifierRegex = /\\([^|()\\n]+\\)|\\[[^\\]\\n]+\\]|\\{[^}\\n]+\\}/.source // Opening and closing parentheses which are not a modifier\n // This pattern is necessary to prevent exponential backtracking\n var parenthesesRegex = /\\)|\\((?![^|()\\n]+\\))/.source\n /**\n * @param {string} source\n * @param {string} [flags]\n */\n function withModifier(source, flags) {\n return RegExp(\n source\n .replace(/<MOD>/g, function () {\n return '(?:' + modifierRegex + ')'\n })\n .replace(/<PAR>/g, function () {\n return '(?:' + parenthesesRegex + ')'\n }),\n flags || ''\n )\n }\n var modifierTokens = {\n css: {\n pattern: /\\{[^{}]+\\}/,\n inside: {\n rest: Prism.languages.css\n }\n },\n 'class-id': {\n pattern: /(\\()[^()]+(?=\\))/,\n lookbehind: true,\n alias: 'attr-value'\n },\n lang: {\n pattern: /(\\[)[^\\[\\]]+(?=\\])/,\n lookbehind: true,\n alias: 'attr-value'\n },\n // Anything else is punctuation (the first pattern is for row/col spans inside tables)\n punctuation: /[\\\\\\/]\\d+|\\S/\n }\n var textile = (Prism.languages.textile = Prism.languages.extend('markup', {\n phrase: {\n pattern: /(^|\\r|\\n)\\S[\\s\\S]*?(?=$|\\r?\\n\\r?\\n|\\r\\r)/,\n lookbehind: true,\n inside: {\n // h1. Header 1\n 'block-tag': {\n pattern: withModifier(/^[a-z]\\w*(?:<MOD>|<PAR>|[<>=])*\\./.source),\n inside: {\n modifier: {\n pattern: withModifier(\n /(^[a-z]\\w*)(?:<MOD>|<PAR>|[<>=])+(?=\\.)/.source\n ),\n lookbehind: true,\n inside: modifierTokens\n },\n tag: /^[a-z]\\w*/,\n punctuation: /\\.$/\n }\n },\n // # List item\n // * List item\n list: {\n pattern: withModifier(/^[*#]+<MOD>*\\s+\\S.*/.source, 'm'),\n inside: {\n modifier: {\n pattern: withModifier(/(^[*#]+)<MOD>+/.source),\n lookbehind: true,\n inside: modifierTokens\n },\n punctuation: /^[*#]+/\n }\n },\n // | cell | cell | cell |\n table: {\n // Modifiers can be applied to the row: {color:red}.|1|2|3|\n // or the cell: |{color:red}.1|2|3|\n pattern: withModifier(\n /^(?:(?:<MOD>|<PAR>|[<>=^~])+\\.\\s*)?(?:\\|(?:(?:<MOD>|<PAR>|[<>=^~_]|[\\\\/]\\d+)+\\.|(?!(?:<MOD>|<PAR>|[<>=^~_]|[\\\\/]\\d+)+\\.))[^|]*)+\\|/\n .source,\n 'm'\n ),\n inside: {\n modifier: {\n // Modifiers for rows after the first one are\n // preceded by a pipe and a line feed\n pattern: withModifier(\n /(^|\\|(?:\\r?\\n|\\r)?)(?:<MOD>|<PAR>|[<>=^~_]|[\\\\/]\\d+)+(?=\\.)/\n .source\n ),\n lookbehind: true,\n inside: modifierTokens\n },\n punctuation: /\\||^\\./\n }\n },\n inline: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(\n /(^|[^a-zA-Z\\d])(\\*\\*|__|\\?\\?|[*_%@+\\-^~])<MOD>*.+?\\2(?![a-zA-Z\\d])/\n .source\n ),\n lookbehind: true,\n inside: {\n // Note: superscripts and subscripts are not handled specifically\n // *bold*, **bold**\n bold: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(/(^(\\*\\*?)<MOD>*).+?(?=\\2)/.source),\n lookbehind: true\n },\n // _italic_, __italic__\n italic: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(/(^(__?)<MOD>*).+?(?=\\2)/.source),\n lookbehind: true\n },\n // ??cite??\n cite: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(/(^\\?\\?<MOD>*).+?(?=\\?\\?)/.source),\n lookbehind: true,\n alias: 'string'\n },\n // @code@\n code: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(/(^@<MOD>*).+?(?=@)/.source),\n lookbehind: true,\n alias: 'keyword'\n },\n // +inserted+\n inserted: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(/(^\\+<MOD>*).+?(?=\\+)/.source),\n lookbehind: true\n },\n // -deleted-\n deleted: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(/(^-<MOD>*).+?(?=-)/.source),\n lookbehind: true\n },\n // %span%\n span: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(/(^%<MOD>*).+?(?=%)/.source),\n lookbehind: true\n },\n modifier: {\n pattern: withModifier(\n /(^\\*\\*|__|\\?\\?|[*_%@+\\-^~])<MOD>+/.source\n ),\n lookbehind: true,\n inside: modifierTokens\n },\n punctuation: /[*_%?@+\\-^~]+/\n }\n },\n // [alias]http://example.com\n 'link-ref': {\n pattern: /^\\[[^\\]]+\\]\\S+$/m,\n inside: {\n string: {\n pattern: /(^\\[)[^\\]]+(?=\\])/,\n lookbehind: true\n },\n url: {\n pattern: /(^\\])\\S+$/,\n lookbehind: true\n },\n punctuation: /[\\[\\]]/\n }\n },\n // \"text\":http://example.com\n // \"text\":link-ref\n link: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(\n /\"<MOD>*[^\"]+\":.+?(?=[^\\w/]?(?:\\s|$))/.source\n ),\n inside: {\n text: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(/(^\"<MOD>*)[^\"]+(?=\")/.source),\n lookbehind: true\n },\n modifier: {\n pattern: withModifier(/(^\")<MOD>+/.source),\n lookbehind: true,\n inside: modifierTokens\n },\n url: {\n pattern: /(:).+/,\n lookbehind: true\n },\n punctuation: /[\":]/\n }\n },\n // !image.jpg!\n // !image.jpg(Title)!:http://example.com\n image: {\n pattern: withModifier(\n /!(?:<MOD>|<PAR>|[<>=])*(?![<>=])[^!\\s()]+(?:\\([^)]+\\))?!(?::.+?(?=[^\\w/]?(?:\\s|$)))?/\n .source\n ),\n inside: {\n source: {\n pattern: withModifier(\n /(^!(?:<MOD>|<PAR>|[<>=])*)(?![<>=])[^!\\s()]+(?:\\([^)]+\\))?(?=!)/\n .source\n ),\n lookbehind: true,\n alias: 'url'\n },\n modifier: {\n pattern: withModifier(/(^!)(?:<MOD>|<PAR>|[<>=])+/.source),\n lookbehind: true,\n inside: modifierTokens\n },\n url: {\n pattern: /(:).+/,\n lookbehind: true\n },\n punctuation: /[!:]/\n }\n },\n // Footnote[1]\n footnote: {\n pattern: /\\b\\[\\d+\\]/,\n alias: 'comment',\n inside: {\n punctuation: /\\[|\\]/\n }\n },\n // CSS(Cascading Style Sheet)\n acronym: {\n pattern: /\\b[A-Z\\d]+\\([^)]+\\)/,\n inside: {\n comment: {\n pattern: /(\\()[^()]+(?=\\))/,\n lookbehind: true\n },\n punctuation: /[()]/\n }\n },\n // Prism(C)\n mark: {\n pattern: /\\b\\((?:C|R|TM)\\)/,\n alias: 'comment',\n inside: {\n punctuation: /[()]/\n }\n }\n }\n }\n }))\n var phraseInside = textile['phrase'].inside\n var nestedPatterns = {\n inline: phraseInside['inline'],\n link: phraseInside['link'],\n image: phraseInside['image'],\n footnote: phraseInside['footnote'],\n acronym: phraseInside['acronym'],\n mark: phraseInside['mark']\n } // Only allow alpha-numeric HTML tags, not XML tags\n textile.tag.pattern =\n /<\\/?(?!\\d)[a-z0-9]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/i // Allow some nesting\n var phraseInlineInside = phraseInside['inline'].inside\n phraseInlineInside['bold'].inside = nestedPatterns\n phraseInlineInside['italic'].inside = nestedPatterns\n phraseInlineInside['inserted'].inside = nestedPatterns\n phraseInlineInside['deleted'].inside = nestedPatterns\n phraseInlineInside['span'].inside = nestedPatterns // Allow some styles inside table cells\n var phraseTableInside = phraseInside['table'].inside\n phraseTableInside['inline'] = nestedPatterns['inline']\n phraseTableInside['link'] = nestedPatterns['link']\n phraseTableInside['image'] = nestedPatterns['image']\n phraseTableInside['footnote'] = nestedPatterns['footnote']\n phraseTableInside['acronym'] = nestedPatterns['acronym']\n phraseTableInside['mark'] = nestedPatterns['mark']\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = toml\ntoml.displayName = 'toml'\ntoml.aliases = []\nfunction toml(Prism) {\n ;(function (Prism) {\n var key = /(?:[\\w-]+|'[^'\\n\\r]*'|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")/.source\n /**\n * @param {string} pattern\n */\n function insertKey(pattern) {\n return pattern.replace(/__/g, function () {\n return key\n })\n }\n Prism.languages.toml = {\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n table: {\n pattern: RegExp(\n insertKey(\n /(^[\\t ]*\\[\\s*(?:\\[\\s*)?)__(?:\\s*\\.\\s*__)*(?=\\s*\\])/.source\n ),\n 'm'\n ),\n lookbehind: true,\n greedy: true,\n alias: 'class-name'\n },\n key: {\n pattern: RegExp(\n insertKey(/(^[\\t ]*|[{,]\\s*)__(?:\\s*\\.\\s*__)*(?=\\s*=)/.source),\n 'm'\n ),\n lookbehind: true,\n greedy: true,\n alias: 'property'\n },\n string: {\n pattern:\n /\"\"\"(?:\\\\[\\s\\S]|[^\\\\])*?\"\"\"|'''[\\s\\S]*?'''|'[^'\\n\\r]*'|\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: true\n },\n date: [\n {\n // Offset Date-Time, Local Date-Time, Local Date\n pattern:\n /\\b\\d{4}-\\d{2}-\\d{2}(?:[T\\s]\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})?)?\\b/i,\n alias: 'number'\n },\n {\n // Local Time\n pattern: /\\b\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?\\b/,\n alias: 'number'\n }\n ],\n number:\n /(?:\\b0(?:x[\\da-zA-Z]+(?:_[\\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\\b|[-+]?\\b\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?\\b|[-+]?\\b(?:inf|nan)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n punctuation: /[.,=[\\]{}]/\n }\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = tremor\ntremor.displayName = 'tremor'\ntremor.aliases = []\nfunction tremor(Prism) {\n ;(function (Prism) {\n Prism.languages.tremor = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,\n lookbehind: true\n },\n 'interpolated-string': null,\n // see below\n extractor: {\n pattern: /\\b[a-z_]\\w*\\|(?:[^\\r\\n\\\\|]|\\\\(?:\\r\\n|[\\s\\S]))*\\|/i,\n greedy: true,\n inside: {\n regex: {\n pattern: /(^re)\\|[\\s\\S]+/,\n lookbehind: true\n },\n function: /^\\w+/,\n value: /\\|[\\s\\S]+/\n }\n },\n identifier: {\n pattern: /`[^`]*`/,\n greedy: true\n },\n function: /\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())\\b/,\n keyword:\n /\\b(?:args|as|by|case|config|connect|connector|const|copy|create|default|define|deploy|drop|each|emit|end|erase|event|flow|fn|for|from|group|having|insert|into|intrinsic|let|links|match|merge|mod|move|of|operator|patch|pipeline|recur|script|select|set|sliding|state|stream|to|tumbling|update|use|when|where|window|with)\\b/,\n boolean: /\\b(?:false|null|true)\\b/i,\n number:\n /\\b(?:0b[01_]*|0x[0-9a-fA-F_]*|\\d[\\d_]*(?:\\.\\d[\\d_]*)?(?:[Ee][+-]?[\\d_]+)?)\\b/,\n 'pattern-punctuation': {\n pattern: /%(?=[({[])/,\n alias: 'punctuation'\n },\n operator:\n /[-+*\\/%~!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?>?=?|(?:absent|and|not|or|present|xor)\\b/,\n punctuation: /::|[;\\[\\]()\\{\\},.:]/\n }\n var interpolationPattern =\n /#\\{(?:[^\"{}]|\\{[^{}]*\\}|\"(?:[^\"\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\")*\\}/.source\n Prism.languages.tremor['interpolated-string'] = {\n pattern: RegExp(\n /(^|[^\\\\])/.source +\n '(?:' +\n '\"\"\"(?:' +\n /[^\"\\\\#]|\\\\[\\s\\S]|\"(?!\"\")|#(?!\\{)/.source +\n '|' +\n interpolationPattern +\n ')*\"\"\"' +\n '|' +\n '\"(?:' +\n /[^\"\\\\\\r\\n#]|\\\\(?:\\r\\n|[\\s\\S])|#(?!\\{)/.source +\n '|' +\n interpolationPattern +\n ')*\"' +\n ')'\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: {\n pattern: RegExp(interpolationPattern),\n inside: {\n punctuation: /^#\\{|\\}$/,\n expression: {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.tremor\n }\n }\n },\n string: /[\\s\\S]+/\n }\n }\n Prism.languages.troy = Prism.languages['tremor']\n Prism.languages.trickle = Prism.languages['tremor']\n })(Prism)\n}\n","'use strict'\nvar refractorJsx = require('./jsx.js')\nvar refractorTypescript = require('./typescript.js')\nmodule.exports = tsx\ntsx.displayName = 'tsx'\ntsx.aliases = []\nfunction tsx(Prism) {\n Prism.register(refractorJsx)\n Prism.register(refractorTypescript)\n ;(function (Prism) {\n var typescript = Prism.util.clone(Prism.languages.typescript)\n Prism.languages.tsx = Prism.languages.extend('jsx', typescript) // doesn't work with TS because TS is too complex\n delete Prism.languages.tsx['parameter']\n delete Prism.languages.tsx['literal-property'] // This will prevent collisions between TSX tags and TS generic types.\n // Idea by https://github.com/karlhorky\n // Discussion: https://github.com/PrismJS/prism/issues/2594#issuecomment-710666928\n var tag = Prism.languages.tsx.tag\n tag.pattern = RegExp(\n /(^|[^\\w$]|(?=<\\/))/.source + '(?:' + tag.pattern.source + ')',\n tag.pattern.flags\n )\n tag.lookbehind = true\n })(Prism)\n}\n","'use strict'\nvar refractorMarkupTemplating = require('./markup-templating.js')\nmodule.exports = tt2\ntt2.displayName = 'tt2'\ntt2.aliases = []\nfunction tt2(Prism) {\n Prism.register(refractorMarkupTemplating)\n ;(function (Prism) {\n Prism.languages.tt2 = Prism.languages.extend('clike', {\n comment: /#.*|\\[%#[\\s\\S]*?%\\]/,\n keyword:\n /\\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|SWITCH|TAGS|THROW|TRY|UNLESS|USE|WHILE|WRAPPER)\\b/,\n punctuation: /[[\\]{},()]/\n })\n Prism.languages.insertBefore('tt2', 'number', {\n operator: /=[>=]?|!=?|<=?|>=?|&&|\\|\\|?|\\b(?:and|not|or)\\b/,\n variable: {\n pattern: /\\b[a-z]\\w*(?:\\s*\\.\\s*(?:\\d+|\\$?[a-z]\\w*))*\\b/i\n }\n })\n Prism.languages.insertBefore('tt2', 'keyword', {\n delimiter: {\n pattern: /^(?:\\[%|%%)-?|-?%\\]$/,\n alias: 'punctuation'\n }\n })\n Prism.languages.insertBefore('tt2', 'string', {\n 'single-quoted-string': {\n pattern: /'[^\\\\']*(?:\\\\[\\s\\S][^\\\\']*)*'/,\n greedy: true,\n alias: 'string'\n },\n 'double-quoted-string': {\n pattern: /\"[^\\\\\"]*(?:\\\\[\\s\\S][^\\\\\"]*)*\"/,\n greedy: true,\n alias: 'string',\n inside: {\n variable: {\n pattern: /\\$(?:[a-z]\\w*(?:\\.(?:\\d+|\\$?[a-z]\\w*))*)/i\n }\n }\n }\n }) // The different types of TT2 strings \"replace\" the C-like standard string\n delete Prism.languages.tt2.string\n Prism.hooks.add('before-tokenize', function (env) {\n var tt2Pattern = /\\[%[\\s\\S]+?%\\]/g\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'tt2',\n tt2Pattern\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'tt2')\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = turtle\nturtle.displayName = 'turtle'\nturtle.aliases = []\nfunction turtle(Prism) {\n Prism.languages.turtle = {\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n 'multiline-string': {\n pattern:\n /\"\"\"(?:(?:\"\"?)?(?:[^\"\\\\]|\\\\.))*\"\"\"|'''(?:(?:''?)?(?:[^'\\\\]|\\\\.))*'''/,\n greedy: true,\n alias: 'string',\n inside: {\n comment: /#.*/\n }\n },\n string: {\n pattern: /\"(?:[^\\\\\"\\r\\n]|\\\\.)*\"|'(?:[^\\\\'\\r\\n]|\\\\.)*'/,\n greedy: true\n },\n url: {\n pattern:\n /<(?:[^\\x00-\\x20<>\"{}|^`\\\\]|\\\\(?:u[\\da-fA-F]{4}|U[\\da-fA-F]{8}))*>/,\n greedy: true,\n inside: {\n punctuation: /[<>]/\n }\n },\n function: {\n pattern:\n /(?:(?![-.\\d\\xB7])[-.\\w\\xB7\\xC0-\\uFFFD]+)?:(?:(?![-.])(?:[-.:\\w\\xC0-\\uFFFD]|%[\\da-f]{2}|\\\\.)+)?/i,\n inside: {\n 'local-name': {\n pattern: /([^:]*:)[\\s\\S]+/,\n lookbehind: true\n },\n prefix: {\n pattern: /[\\s\\S]+/,\n inside: {\n punctuation: /:/\n }\n }\n }\n },\n number: /[+-]?\\b\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?/i,\n punctuation: /[{}.,;()[\\]]|\\^\\^/,\n boolean: /\\b(?:false|true)\\b/,\n keyword: [/(?:\\ba|@prefix|@base)\\b|=/, /\\b(?:base|graph|prefix)\\b/i],\n tag: {\n pattern: /@[a-z]+(?:-[a-z\\d]+)*/i,\n inside: {\n punctuation: /@/\n }\n }\n }\n Prism.languages.trig = Prism.languages['turtle']\n}\n","'use strict'\nvar refractorMarkupTemplating = require('./markup-templating.js')\nmodule.exports = twig\ntwig.displayName = 'twig'\ntwig.aliases = []\nfunction twig(Prism) {\n Prism.register(refractorMarkupTemplating)\n Prism.languages.twig = {\n comment: /^\\{#[\\s\\S]*?#\\}$/,\n 'tag-name': {\n pattern: /(^\\{%-?\\s*)\\w+/,\n lookbehind: true,\n alias: 'keyword'\n },\n delimiter: {\n pattern: /^\\{[{%]-?|-?[%}]\\}$/,\n alias: 'punctuation'\n },\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n inside: {\n punctuation: /^['\"]|['\"]$/\n }\n },\n keyword: /\\b(?:even|if|odd)\\b/,\n boolean: /\\b(?:false|null|true)\\b/,\n number: /\\b0x[\\dA-Fa-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee][-+]?\\d+)?/,\n operator: [\n {\n pattern:\n /(\\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\\s)/,\n lookbehind: true\n },\n /[=<>]=?|!=|\\*\\*?|\\/\\/?|\\?:?|[-+~%|]/\n ],\n punctuation: /[()\\[\\]{}:.,]/\n }\n Prism.hooks.add('before-tokenize', function (env) {\n if (env.language !== 'twig') {\n return\n }\n var pattern = /\\{(?:#[\\s\\S]*?#|%[\\s\\S]*?%|\\{[\\s\\S]*?\\})\\}/g\n Prism.languages['markup-templating'].buildPlaceholders(env, 'twig', pattern)\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'twig')\n })\n}\n","'use strict'\n\nmodule.exports = typescript\ntypescript.displayName = 'typescript'\ntypescript.aliases = ['ts']\nfunction typescript(Prism) {\n ;(function (Prism) {\n Prism.languages.typescript = Prism.languages.extend('javascript', {\n 'class-name': {\n pattern:\n /(\\b(?:class|extends|implements|instanceof|interface|new|type)\\s+)(?!keyof\\b)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?:\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,\n lookbehind: true,\n greedy: true,\n inside: null // see below\n },\n builtin:\n /\\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\\b/\n }) // The keywords TypeScript adds to JavaScript\n Prism.languages.typescript.keyword.push(\n /\\b(?:abstract|declare|is|keyof|readonly|require)\\b/, // keywords that have to be followed by an identifier\n /\\b(?:asserts|infer|interface|module|namespace|type)\\b(?=\\s*(?:[{_$a-zA-Z\\xA0-\\uFFFF]|$))/, // This is for `import type *, {}`\n /\\btype\\b(?=\\s*(?:[\\{*]|$))/\n ) // doesn't work with TS because TS is too complex\n delete Prism.languages.typescript['parameter']\n delete Prism.languages.typescript['literal-property'] // a version of typescript specifically for highlighting types\n var typeInside = Prism.languages.extend('typescript', {})\n delete typeInside['class-name']\n Prism.languages.typescript['class-name'].inside = typeInside\n Prism.languages.insertBefore('typescript', 'function', {\n decorator: {\n pattern: /@[$\\w\\xA0-\\uFFFF]+/,\n inside: {\n at: {\n pattern: /^@/,\n alias: 'operator'\n },\n function: /^[\\s\\S]+/\n }\n },\n 'generic-function': {\n // e.g. foo<T extends \"bar\" | \"baz\">( ...\n pattern:\n /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\\s*\\()/,\n greedy: true,\n inside: {\n function: /^#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/,\n generic: {\n pattern: /<[\\s\\S]+/,\n // everything after the first <\n alias: 'class-name',\n inside: typeInside\n }\n }\n }\n })\n Prism.languages.ts = Prism.languages.typescript\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = typoscript\ntyposcript.displayName = 'typoscript'\ntyposcript.aliases = ['tsconfig']\nfunction typoscript(Prism) {\n ;(function (Prism) {\n var keywords =\n /\\b(?:ACT|ACTIFSUB|CARRAY|CASE|CLEARGIF|COA|COA_INT|CONSTANTS|CONTENT|CUR|EDITPANEL|EFFECT|EXT|FILE|FLUIDTEMPLATE|FORM|FRAME|FRAMESET|GIFBUILDER|GMENU|GMENU_FOLDOUT|GMENU_LAYERS|GP|HMENU|HRULER|HTML|IENV|IFSUB|IMAGE|IMGMENU|IMGMENUITEM|IMGTEXT|IMG_RESOURCE|INCLUDE_TYPOSCRIPT|JSMENU|JSMENUITEM|LLL|LOAD_REGISTER|NO|PAGE|RECORDS|RESTORE_REGISTER|TEMPLATE|TEXT|TMENU|TMENUITEM|TMENU_LAYERS|USER|USER_INT|_GIFBUILDER|global|globalString|globalVar)\\b/\n Prism.languages.typoscript = {\n comment: [\n {\n // multiline comments /* */\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true\n },\n {\n // double-slash comments - ignored when backslashes or colon is found in front\n // also ignored whenever directly after an equal-sign, because it would probably be an url without protocol\n pattern: /(^|[^\\\\:= \\t]|(?:^|[^= \\t])[ \\t]+)\\/\\/.*/,\n lookbehind: true,\n greedy: true\n },\n {\n // hash comments - ignored when leading quote is found for hex colors in strings\n pattern: /(^|[^\"'])#.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n function: [\n {\n // old include style\n pattern:\n /<INCLUDE_TYPOSCRIPT:\\s*source\\s*=\\s*(?:\"[^\"\\r\\n]*\"|'[^'\\r\\n]*')\\s*>/,\n inside: {\n string: {\n pattern: /\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'/,\n inside: {\n keyword: keywords\n }\n },\n keyword: {\n pattern: /INCLUDE_TYPOSCRIPT/\n }\n }\n },\n {\n // new include style\n pattern: /@import\\s*(?:\"[^\"\\r\\n]*\"|'[^'\\r\\n]*')/,\n inside: {\n string: /\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'/\n }\n }\n ],\n string: {\n pattern: /^([^=]*=[< ]?)(?:(?!\\]\\n).)*/,\n lookbehind: true,\n inside: {\n function: /\\{\\$.*\\}/,\n // constants include\n keyword: keywords,\n number: /^\\d+$/,\n punctuation: /[,|:]/\n }\n },\n keyword: keywords,\n number: {\n // special highlighting for indexes of arrays in tags\n pattern: /\\b\\d+\\s*[.{=]/,\n inside: {\n operator: /[.{=]/\n }\n },\n tag: {\n pattern: /\\.?[-\\w\\\\]+\\.?/,\n inside: {\n punctuation: /\\./\n }\n },\n punctuation: /[{}[\\];(),.:|]/,\n operator: /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/\n }\n Prism.languages.tsconfig = Prism.languages.typoscript\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = unrealscript\nunrealscript.displayName = 'unrealscript'\nunrealscript.aliases = ['uc', 'uscript']\nfunction unrealscript(Prism) {\n Prism.languages.unrealscript = {\n comment: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n category: {\n pattern:\n /(\\b(?:(?:autoexpand|hide|show)categories|var)\\s*\\()[^()]+(?=\\))/,\n lookbehind: true,\n greedy: true,\n alias: 'property'\n },\n metadata: {\n pattern: /(\\w\\s*)<\\s*\\w+\\s*=[^<>|=\\r\\n]+(?:\\|\\s*\\w+\\s*=[^<>|=\\r\\n]+)*>/,\n lookbehind: true,\n greedy: true,\n inside: {\n property: /\\b\\w+(?=\\s*=)/,\n operator: /=/,\n punctuation: /[<>|]/\n }\n },\n macro: {\n pattern: /`\\w+/,\n alias: 'property'\n },\n 'class-name': {\n pattern:\n /(\\b(?:class|enum|extends|interface|state(?:\\(\\))?|struct|within)\\s+)\\w+/,\n lookbehind: true\n },\n keyword:\n /\\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n boolean: /\\b(?:false|true)\\b/,\n number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n // https://docs.unrealengine.com/udk/Three/UnrealScriptExpressions.html\n operator:\n />>|<<|--|\\+\\+|\\*\\*|[-+*/~!=<>$@]=?|&&?|\\|\\|?|\\^\\^?|[?:%]|\\b(?:ClockwiseFrom|Cross|Dot)\\b/,\n punctuation: /[()[\\]{};,.]/\n }\n Prism.languages.uc = Prism.languages.uscript = Prism.languages.unrealscript\n}\n","'use strict'\n\nmodule.exports = uorazor\nuorazor.displayName = 'uorazor'\nuorazor.aliases = []\nfunction uorazor(Prism) {\n Prism.languages.uorazor = {\n 'comment-hash': {\n pattern: /#.*/,\n alias: 'comment',\n greedy: true\n },\n 'comment-slash': {\n pattern: /\\/\\/.*/,\n alias: 'comment',\n greedy: true\n },\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n inside: {\n punctuation: /^['\"]|['\"]$/\n },\n greedy: true\n },\n 'source-layers': {\n pattern:\n /\\b(?:arms|backpack|blue|bracelet|cancel|clear|cloak|criminal|earrings|enemy|facialhair|friend|friendly|gloves|gray|grey|ground|hair|head|innerlegs|innertorso|innocent|lefthand|middletorso|murderer|neck|nonfriendly|onehandedsecondary|outerlegs|outertorso|pants|red|righthand|ring|self|shirt|shoes|talisman|waist)\\b/i,\n alias: 'function'\n },\n 'source-commands': {\n pattern:\n /\\b(?:alliance|attack|cast|clearall|clearignore|clearjournal|clearlist|clearsysmsg|createlist|createtimer|dclick|dclicktype|dclickvar|dress|dressconfig|drop|droprelloc|emote|getlabel|guild|gumpclose|gumpresponse|hotkey|ignore|lasttarget|lift|lifttype|menu|menuresponse|msg|org|organize|organizer|overhead|pause|poplist|potion|promptresponse|pushlist|removelist|removetimer|rename|restock|say|scav|scavenger|script|setability|setlasttarget|setskill|settimer|setvar|sysmsg|target|targetloc|targetrelloc|targettype|undress|unignore|unsetvar|useobject|useonce|useskill|usetype|virtue|wait|waitforgump|waitformenu|waitforprompt|waitforstat|waitforsysmsg|waitfortarget|walk|wfsysmsg|wft|whisper|yell)\\b/,\n alias: 'function'\n },\n 'tag-name': {\n pattern: /(^\\{%-?\\s*)\\w+/,\n lookbehind: true,\n alias: 'keyword'\n },\n delimiter: {\n pattern: /^\\{[{%]-?|-?[%}]\\}$/,\n alias: 'punctuation'\n },\n function:\n /\\b(?:atlist|close|closest|count|counter|counttype|dead|dex|diffhits|diffmana|diffstam|diffweight|find|findbuff|finddebuff|findlayer|findtype|findtypelist|followers|gumpexists|hidden|hits|hp|hue|human|humanoid|ingump|inlist|insysmessage|insysmsg|int|invul|lhandempty|list|listexists|mana|maxhits|maxhp|maxmana|maxstam|maxweight|monster|mounted|name|next|noto|paralyzed|poisoned|position|prev|previous|queued|rand|random|rhandempty|skill|stam|str|targetexists|timer|timerexists|varexist|warmode|weight)\\b/,\n keyword:\n /\\b(?:and|as|break|continue|else|elseif|endfor|endif|endwhile|for|if|loop|not|or|replay|stop|while)\\b/,\n boolean: /\\b(?:false|null|true)\\b/,\n number: /\\b0x[\\dA-Fa-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee][-+]?\\d+)?/,\n operator: [\n {\n pattern:\n /(\\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\\s)/,\n lookbehind: true\n },\n /[=<>]=?|!=|\\*\\*?|\\/\\/?|\\?:?|[-+~%|]/\n ],\n punctuation: /[()\\[\\]{}:.,]/\n }\n}\n","'use strict'\n\nmodule.exports = uri\nuri.displayName = 'uri'\nuri.aliases = ['url']\nfunction uri(Prism) {\n // https://tools.ietf.org/html/rfc3986#appendix-A\n Prism.languages.uri = {\n scheme: {\n pattern: /^[a-z][a-z0-9+.-]*:/im,\n greedy: true,\n inside: {\n 'scheme-delimiter': /:$/\n }\n },\n fragment: {\n pattern: /#[\\w\\-.~!$&'()*+,;=%:@/?]*/,\n inside: {\n 'fragment-delimiter': /^#/\n }\n },\n query: {\n pattern: /\\?[\\w\\-.~!$&'()*+,;=%:@/?]*/,\n inside: {\n 'query-delimiter': {\n pattern: /^\\?/,\n greedy: true\n },\n 'pair-delimiter': /[&;]/,\n pair: {\n pattern: /^[^=][\\s\\S]*/,\n inside: {\n key: /^[^=]+/,\n value: {\n pattern: /(^=)[\\s\\S]+/,\n lookbehind: true\n }\n }\n }\n }\n },\n authority: {\n pattern: RegExp(\n /^\\/\\//.source + // [ userinfo \"@\" ]\n /(?:[\\w\\-.~!$&'()*+,;=%:]*@)?/.source + // host\n ('(?:' + // IP-literal\n /\\[(?:[0-9a-fA-F:.]{2,48}|v[0-9a-fA-F]+\\.[\\w\\-.~!$&'()*+,;=]+)\\]/\n .source +\n '|' + // IPv4address or registered name\n /[\\w\\-.~!$&'()*+,;=%]*/.source +\n ')') + // [ \":\" port ]\n /(?::\\d*)?/.source,\n 'm'\n ),\n inside: {\n 'authority-delimiter': /^\\/\\//,\n 'user-info-segment': {\n pattern: /^[\\w\\-.~!$&'()*+,;=%:]*@/,\n inside: {\n 'user-info-delimiter': /@$/,\n 'user-info': /^[\\w\\-.~!$&'()*+,;=%:]+/\n }\n },\n 'port-segment': {\n pattern: /:\\d*$/,\n inside: {\n 'port-delimiter': /^:/,\n port: /^\\d+/\n }\n },\n host: {\n pattern: /[\\s\\S]+/,\n inside: {\n 'ip-literal': {\n pattern: /^\\[[\\s\\S]+\\]$/,\n inside: {\n 'ip-literal-delimiter': /^\\[|\\]$/,\n 'ipv-future': /^v[\\s\\S]+/,\n 'ipv6-address': /^[\\s\\S]+/\n }\n },\n 'ipv4-address':\n /^(?:(?:[03-9]\\d?|[12]\\d{0,2})\\.){3}(?:[03-9]\\d?|[12]\\d{0,2})$/\n }\n }\n }\n },\n path: {\n pattern: /^[\\w\\-.~!$&'()*+,;=%:@/]+/m,\n inside: {\n 'path-separator': /\\//\n }\n }\n }\n Prism.languages.url = Prism.languages.uri\n}\n","'use strict'\n\nmodule.exports = v\nv.displayName = 'v'\nv.aliases = []\nfunction v(Prism) {\n ;(function (Prism) {\n var interpolationExpr = {\n pattern: /[\\s\\S]+/,\n inside: null\n }\n Prism.languages.v = Prism.languages.extend('clike', {\n string: {\n pattern: /r?([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n alias: 'quoted-string',\n greedy: true,\n inside: {\n interpolation: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:\\{[^{}]*\\}|\\w+(?:\\.\\w+(?:\\([^\\(\\)]*\\))?|\\[[^\\[\\]]+\\])*)/,\n lookbehind: true,\n inside: {\n 'interpolation-variable': {\n pattern: /^\\$\\w[\\s\\S]*$/,\n alias: 'variable'\n },\n 'interpolation-punctuation': {\n pattern: /^\\$\\{|\\}$/,\n alias: 'punctuation'\n },\n 'interpolation-expression': interpolationExpr\n }\n }\n }\n },\n 'class-name': {\n pattern: /(\\b(?:enum|interface|struct|type)\\s+)(?:C\\.)?\\w+/,\n lookbehind: true\n },\n keyword:\n /(?:\\b(?:__global|as|asm|assert|atomic|break|chan|const|continue|defer|else|embed|enum|fn|for|go(?:to)?|if|import|in|interface|is|lock|match|module|mut|none|or|pub|return|rlock|select|shared|sizeof|static|struct|type(?:of)?|union|unsafe)|\\$(?:else|for|if)|#(?:flag|include))\\b/,\n number:\n /\\b(?:0x[a-f\\d]+(?:_[a-f\\d]+)*|0b[01]+(?:_[01]+)*|0o[0-7]+(?:_[0-7]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?)\\b/i,\n operator:\n /~|\\?|[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\.?/,\n builtin:\n /\\b(?:any(?:_float|_int)?|bool|byte(?:ptr)?|charptr|f(?:32|64)|i(?:8|16|64|128|nt)|rune|size_t|string|u(?:16|32|64|128)|voidptr)\\b/\n })\n interpolationExpr.inside = Prism.languages.v\n Prism.languages.insertBefore('v', 'string', {\n char: {\n pattern: /`(?:\\\\`|\\\\?[^`]{1,2})`/,\n // using {1,2} instead of `u` flag for compatibility\n alias: 'rune'\n }\n })\n Prism.languages.insertBefore('v', 'operator', {\n attribute: {\n pattern:\n /(^[\\t ]*)\\[(?:deprecated|direct_array_access|flag|inline|live|ref_only|typedef|unsafe_fn|windows_stdcall)\\]/m,\n lookbehind: true,\n alias: 'annotation',\n inside: {\n punctuation: /[\\[\\]]/,\n keyword: /\\w+/\n }\n },\n generic: {\n pattern: /<\\w+>(?=\\s*[\\)\\{])/,\n inside: {\n punctuation: /[<>]/,\n 'class-name': /\\w+/\n }\n }\n })\n Prism.languages.insertBefore('v', 'function', {\n 'generic-function': {\n // e.g. foo<T>( ...\n pattern: /\\b\\w+\\s*<\\w+>(?=\\()/,\n inside: {\n function: /^\\w+/,\n generic: {\n pattern: /<\\w+>/,\n inside: Prism.languages.v.generic.inside\n }\n }\n }\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = vala\nvala.displayName = 'vala'\nvala.aliases = []\nfunction vala(Prism) {\n Prism.languages.vala = Prism.languages.extend('clike', {\n // Classes copied from prism-csharp\n 'class-name': [\n {\n // (Foo bar, Bar baz)\n pattern: /\\b[A-Z]\\w*(?:\\.\\w+)*\\b(?=(?:\\?\\s+|\\*?\\s+\\*?)\\w)/,\n inside: {\n punctuation: /\\./\n }\n },\n {\n // [Foo]\n pattern: /(\\[)[A-Z]\\w*(?:\\.\\w+)*\\b/,\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n },\n {\n // class Foo : Bar\n pattern:\n /(\\b(?:class|interface)\\s+[A-Z]\\w*(?:\\.\\w+)*\\s*:\\s*)[A-Z]\\w*(?:\\.\\w+)*\\b/,\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n },\n {\n // class Foo\n pattern:\n /((?:\\b(?:class|enum|interface|new|struct)\\s+)|(?:catch\\s+\\())[A-Z]\\w*(?:\\.\\w+)*\\b/,\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n }\n ],\n keyword:\n /\\b(?:abstract|as|assert|async|base|bool|break|case|catch|char|class|const|construct|continue|default|delegate|delete|do|double|dynamic|else|ensures|enum|errordomain|extern|finally|float|for|foreach|get|if|in|inline|int|int16|int32|int64|int8|interface|internal|is|lock|long|namespace|new|null|out|override|owned|params|private|protected|public|ref|requires|return|set|short|signal|sizeof|size_t|ssize_t|static|string|struct|switch|this|throw|throws|try|typeof|uchar|uint|uint16|uint32|uint64|uint8|ulong|unichar|unowned|ushort|using|value|var|virtual|void|volatile|weak|while|yield)\\b/i,\n function: /\\b\\w+(?=\\s*\\()/,\n number:\n /(?:\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)(?:f|u?l?)?/i,\n operator:\n /\\+\\+|--|&&|\\|\\||<<=?|>>=?|=>|->|~|[+\\-*\\/%&^|=!<>]=?|\\?\\??|\\.\\.\\./,\n punctuation: /[{}[\\];(),.:]/,\n constant: /\\b[A-Z0-9_]+\\b/\n })\n Prism.languages.insertBefore('vala', 'string', {\n 'raw-string': {\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: true,\n alias: 'string'\n },\n 'template-string': {\n pattern: /@\"[\\s\\S]*?\"/,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /\\$(?:\\([^)]*\\)|[a-zA-Z]\\w*)/,\n inside: {\n delimiter: {\n pattern: /^\\$\\(?|\\)$/,\n alias: 'punctuation'\n },\n rest: Prism.languages.vala\n }\n },\n string: /[\\s\\S]+/\n }\n }\n })\n Prism.languages.insertBefore('vala', 'keyword', {\n regex: {\n pattern:\n /\\/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[imsx]{0,4}(?=\\s*(?:$|[\\r\\n,.;})\\]]))/,\n greedy: true,\n inside: {\n 'regex-source': {\n pattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n lookbehind: true,\n alias: 'language-regex',\n inside: Prism.languages.regex\n },\n 'regex-delimiter': /^\\//,\n 'regex-flags': /^[a-z]+$/\n }\n }\n })\n}\n","'use strict'\nvar refractorBasic = require('./basic.js')\nmodule.exports = vbnet\nvbnet.displayName = 'vbnet'\nvbnet.aliases = []\nfunction vbnet(Prism) {\n Prism.register(refractorBasic)\n Prism.languages.vbnet = Prism.languages.extend('basic', {\n comment: [\n {\n pattern: /(?:!|REM\\b).+/i,\n inside: {\n keyword: /^REM/i\n }\n },\n {\n pattern: /(^|[^\\\\:])'.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n string: {\n pattern: /(^|[^\"])\"(?:\"\"|[^\"])*\"(?!\")/,\n lookbehind: true,\n greedy: true\n },\n keyword:\n /(?:\\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDBL|CDEC|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LET|LIB|LIKE|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPERATOR|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHELL|SHORT|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SWAP|SYNCLOCK|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\\$|\\b)/i,\n punctuation: /[,;:(){}]/\n })\n}\n","'use strict'\n\nmodule.exports = velocity\nvelocity.displayName = 'velocity'\nvelocity.aliases = []\nfunction velocity(Prism) {\n ;(function (Prism) {\n Prism.languages.velocity = Prism.languages.extend('markup', {})\n var velocity = {\n variable: {\n pattern:\n /(^|[^\\\\](?:\\\\\\\\)*)\\$!?(?:[a-z][\\w-]*(?:\\([^)]*\\))?(?:\\.[a-z][\\w-]*(?:\\([^)]*\\))?|\\[[^\\]]+\\])*|\\{[^}]+\\})/i,\n lookbehind: true,\n inside: {} // See below\n },\n string: {\n pattern: /\"[^\"]*\"|'[^']*'/,\n greedy: true\n },\n number: /\\b\\d+\\b/,\n boolean: /\\b(?:false|true)\\b/,\n operator:\n /[=!<>]=?|[+*/%-]|&&|\\|\\||\\.\\.|\\b(?:eq|g[et]|l[et]|n(?:e|ot))\\b/,\n punctuation: /[(){}[\\]:,.]/\n }\n velocity.variable.inside = {\n string: velocity['string'],\n function: {\n pattern: /([^\\w-])[a-z][\\w-]*(?=\\()/,\n lookbehind: true\n },\n number: velocity['number'],\n boolean: velocity['boolean'],\n punctuation: velocity['punctuation']\n }\n Prism.languages.insertBefore('velocity', 'comment', {\n unparsed: {\n pattern: /(^|[^\\\\])#\\[\\[[\\s\\S]*?\\]\\]#/,\n lookbehind: true,\n greedy: true,\n inside: {\n punctuation: /^#\\[\\[|\\]\\]#$/\n }\n },\n 'velocity-comment': [\n {\n pattern: /(^|[^\\\\])#\\*[\\s\\S]*?\\*#/,\n lookbehind: true,\n greedy: true,\n alias: 'comment'\n },\n {\n pattern: /(^|[^\\\\])##.*/,\n lookbehind: true,\n greedy: true,\n alias: 'comment'\n }\n ],\n directive: {\n pattern:\n /(^|[^\\\\](?:\\\\\\\\)*)#@?(?:[a-z][\\w-]*|\\{[a-z][\\w-]*\\})(?:\\s*\\((?:[^()]|\\([^()]*\\))*\\))?/i,\n lookbehind: true,\n inside: {\n keyword: {\n pattern: /^#@?(?:[a-z][\\w-]*|\\{[a-z][\\w-]*\\})|\\bin\\b/,\n inside: {\n punctuation: /[{}]/\n }\n },\n rest: velocity\n }\n },\n variable: velocity['variable']\n })\n Prism.languages.velocity['tag'].inside['attr-value'].inside.rest =\n Prism.languages.velocity\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = verilog\nverilog.displayName = 'verilog'\nverilog.aliases = []\nfunction verilog(Prism) {\n Prism.languages.verilog = {\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n greedy: true\n },\n string: {\n pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n greedy: true\n },\n 'kernel-function': {\n // support for any kernel function (ex: $display())\n pattern: /\\B\\$\\w+\\b/,\n alias: 'property'\n },\n // support for user defined constants (ex: `define)\n constant: /\\B`\\w+\\b/,\n function: /\\b\\w+(?=\\()/,\n // support for verilog and system verilog keywords\n keyword:\n /\\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|case|casex|casez|cell|chandle|class|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endsequence|endspecify|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_ondetect|pulsestyle_onevent|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\\b/,\n // bold highlighting for all verilog and system verilog logic blocks\n important: /\\b(?:always|always_comb|always_ff|always_latch)\\b(?: *@)?/,\n // support for time ticks, vectors, and real numbers\n number:\n /\\B##?\\d+|(?:\\b\\d+)?'[odbh] ?[\\da-fzx_?]+|\\b(?:\\d*[._])?\\d+(?:e[-+]?\\d+)?/i,\n operator: /[-+{}^~%*\\/?=!<>&|]+/,\n punctuation: /[[\\];(),.:]/\n }\n}\n","'use strict'\n\nmodule.exports = vhdl\nvhdl.displayName = 'vhdl'\nvhdl.aliases = []\nfunction vhdl(Prism) {\n Prism.languages.vhdl = {\n comment: /--.+/,\n // support for all logic vectors\n 'vhdl-vectors': {\n pattern: /\\b[oxb]\"[\\da-f_]+\"|\"[01uxzwlh-]+\"/i,\n alias: 'number'\n },\n // support for operator overloading included\n 'quoted-function': {\n pattern: /\"\\S+?\"(?=\\()/,\n alias: 'function'\n },\n string: /\"(?:[^\\\\\"\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\"/,\n constant: /\\b(?:library|use)\\b/i,\n // support for predefined attributes included\n keyword:\n /\\b(?:'active|'ascending|'base|'delayed|'driving|'driving_value|'event|'high|'image|'instance_name|'last_active|'last_event|'last_value|'left|'leftof|'length|'low|'path_name|'pos|'pred|'quiet|'range|'reverse_range|'right|'rightof|'simple_name|'stable|'succ|'transaction|'val|'value|access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with)\\b/i,\n boolean: /\\b(?:false|true)\\b/i,\n function: /\\w+(?=\\()/,\n // decimal, based, physical, and exponential numbers supported\n number: /'[01uxzwlh-]'|\\b(?:\\d+#[\\da-f_.]+#|\\d[\\d_.]*)(?:e[-+]?\\d+)?/i,\n operator:\n /[<>]=?|:=|[-+*/&=]|\\b(?:abs|and|mod|nand|nor|not|or|rem|rol|ror|sla|sll|sra|srl|xnor|xor)\\b/i,\n punctuation: /[{}[\\];(),.:]/\n }\n}\n","'use strict'\n\nmodule.exports = vim\nvim.displayName = 'vim'\nvim.aliases = []\nfunction vim(Prism) {\n Prism.languages.vim = {\n string: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\r\\n]|'')*'/,\n comment: /\".*/,\n function: /\\b\\w+(?=\\()/,\n keyword:\n /\\b(?:N|Next|P|Print|X|XMLent|XMLns|ab|abbreviate|abc|abclear|abo|aboveleft|al|all|ar|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|args|argu|argument|as|ascii|b|bN|bNext|ba|bad|badd|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bo|botright|bp|bprevious|br|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|brewind|bro|browse|bufdo|buffer|buffers|bun|bunload|bw|bwipeout|c|cN|cNext|cNfcNfile|ca|cabbrev|cabc|cabclear|cad|caddb|caddbuffer|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cg|cgetb|cgetbuffer|cgete|cgetexpr|cgetfile|change|changes|chd|chdir|che|checkpath|checkt|checktime|cl|cla|clast|clist|clo|close|cmapc|cmapclear|cn|cnew|cnewer|cnext|cnf|cnfile|cnorea|cnoreabbrev|co|col|colder|colo|colorscheme|comc|comclear|comp|compiler|con|conf|confirm|continue|cope|copen|copy|cp|cpf|cpfile|cprevious|cq|cquit|cr|crewind|cu|cuna|cunabbrev|cunmap|cw|cwindow|d|debugg|debuggreedy|delc|delcommand|delete|delf|delfunction|delm|delmarks|di|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|e|earlier|echoe|echoerr|echom|echomsg|echon|edit|el|else|elsei|elseif|em|emenu|en|endf|endfo|endfor|endfun|endfunction|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fin|fina|finally|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|foldd|folddoc|folddoclosed|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|h|ha|hardcopy|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iu|iuna|iunabbrev|iunmap|j|join|ju|jumps|k|kee|keepalt|keepj|keepjumps|keepmarks|l|lN|lNext|lNf|lNfile|la|lad|laddb|laddbuffer|laddexpr|laddf|laddfile|lan|language|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|left|lefta|leftabove|let|lex|lexpr|lf|lfile|lfir|lfirst|lg|lgetb|lgetbuffer|lgete|lgetexpr|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|list|ll|lla|llast|lli|llist|lm|lmak|lmake|lmap|lmapc|lmapclear|ln|lne|lnew|lnewer|lnext|lnf|lnfile|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lp|lpf|lpfile|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|m|ma|mak|make|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkv|mkvie|mkview|mkvimrc|mod|mode|move|mz|mzf|mzfile|mzscheme|n|nbkey|new|next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|o|omapc|omapclear|on|only|open|opt|options|ou|ounmap|p|pc|pclose|pe|ped|pedit|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|print|prof|profd|profdel|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|ptN|ptNext|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|py|pyf|pyfile|python|q|qa|qall|quit|quita|quitall|r|read|rec|recover|red|redi|redir|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|ru|rub|ruby|rubyd|rubydo|rubyf|rubyfile|runtime|rv|rviminfo|sN|sNext|sa|sal|sall|san|sandbox|sargument|sav|saveas|sb|sbN|sbNext|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbp|sbprevious|sbr|sbrewind|sbuffer|scrip|scripte|scriptencoding|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sl|sla|slast|sleep|sm|smagic|smap|smapc|smapclear|sme|smenu|sn|snext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|so|sor|sort|source|sp|spe|spelld|spelldump|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|split|spr|sprevious|sre|srewind|st|sta|stag|star|startg|startgreplace|startinsert|startr|startreplace|stj|stjump|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tN|tNext|ta|tab|tabN|tabNext|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabn|tabnew|tabnext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tmenu|tn|tnext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tunmenu|u|una|unabbreviate|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|ve|verb|verbose|version|vert|vertical|vi|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|w|wN|wNext|wa|wall|wh|while|win|winc|wincmd|windo|winp|winpos|winsize|wn|wnext|wp|wprevious|wq|wqa|wqall|write|ws|wsverb|wv|wviminfo|x|xa|xall|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\\b/,\n builtin:\n /\\b(?:acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autocmd|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|t_AB|t_AF|t_AL|t_CS|t_CV|t_Ce|t_Co|t_Cs|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_IE|t_IS|t_K1|t_K3|t_K4|t_K5|t_K6|t_K7|t_K8|t_K9|t_KA|t_KB|t_KC|t_KD|t_KE|t_KF|t_KG|t_KH|t_KI|t_KJ|t_KK|t_KL|t_RI|t_RV|t_SI|t_Sb|t_Sf|t_WP|t_WS|t_ZH|t_ZR|t_al|t_bc|t_cd|t_ce|t_cl|t_cm|t_cs|t_da|t_db|t_dl|t_fs|t_k1|t_k2|t_k3|t_k4|t_k5|t_k6|t_k7|t_k8|t_k9|t_kB|t_kD|t_kI|t_kN|t_kP|t_kb|t_kd|t_ke|t_kh|t_kl|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_se|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_xs|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww)\\b/,\n number: /\\b(?:0x[\\da-f]+|\\d+(?:\\.\\d+)?)\\b/i,\n operator:\n /\\|\\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\\/%?]|\\b(?:is(?:not)?)\\b/,\n punctuation: /[{}[\\](),;:]/\n }\n}\n","'use strict'\n\nmodule.exports = visualBasic\nvisualBasic.displayName = 'visualBasic'\nvisualBasic.aliases = []\nfunction visualBasic(Prism) {\n Prism.languages['visual-basic'] = {\n comment: {\n pattern: /(?:['‘’]|REM\\b)(?:[^\\r\\n_]|_(?:\\r\\n?|\\n)?)*/i,\n inside: {\n keyword: /^REM/i\n }\n },\n directive: {\n pattern:\n /#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:\\b_[ \\t]*(?:\\r\\n?|\\n)|.)+/i,\n alias: 'property',\n greedy: true\n },\n string: {\n pattern: /\\$?[\"“”](?:[\"“”]{2}|[^\"“”])*[\"“”]C?/i,\n greedy: true\n },\n date: {\n pattern:\n /#[ \\t]*(?:\\d+([/-])\\d+\\1\\d+(?:[ \\t]+(?:\\d+[ \\t]*(?:AM|PM)|\\d+:\\d+(?::\\d+)?(?:[ \\t]*(?:AM|PM))?))?|\\d+[ \\t]*(?:AM|PM)|\\d+:\\d+(?::\\d+)?(?:[ \\t]*(?:AM|PM))?)[ \\t]*#/i,\n alias: 'number'\n },\n number:\n /(?:(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)(?:E[+-]?\\d+)?|&[HO][\\dA-F]+)(?:[FRD]|U?[ILS])?/i,\n boolean: /\\b(?:False|Nothing|True)\\b/i,\n keyword:\n /\\b(?:AddHandler|AddressOf|Alias|And(?:Also)?|As|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|C(?:Bool|Byte|Char|Date|Dbl|Dec|Int|Lng|Obj|SByte|Short|Sng|Str|Type|UInt|ULng|UShort)|Char|Class|Const|Continue|Currency|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else(?:If)?|End(?:If)?|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get(?:Type|XMLNamespace)?|Global|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|IsNot|Let|Lib|Like|Long|Loop|Me|Mod|Module|Must(?:Inherit|Override)|My(?:Base|Class)|Namespace|Narrowing|New|Next|Not(?:Inheritable|Overridable)?|Object|Of|On|Operator|Option(?:al)?|Or(?:Else)?|Out|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|SByte|Select|Set|Shadows|Shared|short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TryCast|Type|TypeOf|U(?:Integer|Long|Short)|Until|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Xor)\\b/i,\n operator: /[+\\-*/\\\\^<=>&#@$%!]|\\b_(?=[ \\t]*[\\r\\n])/,\n punctuation: /[{}().,:?]/\n }\n Prism.languages.vb = Prism.languages['visual-basic']\n Prism.languages.vba = Prism.languages['visual-basic']\n}\n","'use strict'\n\nmodule.exports = warpscript\nwarpscript.displayName = 'warpscript'\nwarpscript.aliases = []\nfunction warpscript(Prism) {\n Prism.languages.warpscript = {\n comment: /#.*|\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n string: {\n pattern:\n /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'|<'(?:[^\\\\']|'(?!>)|\\\\.)*'>/,\n greedy: true\n },\n variable: /\\$\\S+/,\n macro: {\n pattern: /@\\S+/,\n alias: 'property'\n },\n // WarpScript doesn't have any keywords, these are all functions under the control category\n // https://www.warp10.io/tags/control\n keyword:\n /\\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\\b/,\n number:\n /[+-]?\\b(?:NaN|Infinity|\\d+(?:\\.\\d*)?(?:[Ee][+-]?\\d+)?|0x[\\da-fA-F]+|0b[01]+)\\b/,\n boolean: /\\b(?:F|T|false|true)\\b/,\n punctuation: /<%|%>|[{}[\\]()]/,\n // Some operators from the \"operators\" category\n // https://www.warp10.io/tags/operators\n operator:\n /==|&&?|\\|\\|?|\\*\\*?|>>>?|<<|[<>!~]=?|[-/%^]|\\+!?|\\b(?:AND|NOT|OR)\\b/\n }\n}\n","'use strict'\n\nmodule.exports = wasm\nwasm.displayName = 'wasm'\nwasm.aliases = []\nfunction wasm(Prism) {\n Prism.languages.wasm = {\n comment: [\n /\\(;[\\s\\S]*?;\\)/,\n {\n pattern: /;;.*/,\n greedy: true\n }\n ],\n string: {\n pattern: /\"(?:\\\\[\\s\\S]|[^\"\\\\])*\"/,\n greedy: true\n },\n keyword: [\n {\n pattern: /\\b(?:align|offset)=/,\n inside: {\n operator: /=/\n }\n },\n {\n pattern:\n /\\b(?:(?:f32|f64|i32|i64)(?:\\.(?:abs|add|and|ceil|clz|const|convert_[su]\\/i(?:32|64)|copysign|ctz|demote\\/f64|div(?:_[su])?|eqz?|extend_[su]\\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\\/f32|reinterpret\\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\\/f(?:32|64))?|wrap\\/i64|xor))?|memory\\.(?:grow|size))\\b/,\n inside: {\n punctuation: /\\./\n }\n },\n /\\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\\b/\n ],\n variable: /\\$[\\w!#$%&'*+\\-./:<=>?@\\\\^`|~]+/,\n number:\n /[+-]?\\b(?:\\d(?:_?\\d)*(?:\\.\\d(?:_?\\d)*)?(?:[eE][+-]?\\d(?:_?\\d)*)?|0x[\\da-fA-F](?:_?[\\da-fA-F])*(?:\\.[\\da-fA-F](?:_?[\\da-fA-D])*)?(?:[pP][+-]?\\d(?:_?\\d)*)?)\\b|\\binf\\b|\\bnan(?::0x[\\da-fA-F](?:_?[\\da-fA-D])*)?\\b/,\n punctuation: /[()]/\n }\n}\n","'use strict'\n\nmodule.exports = webIdl\nwebIdl.displayName = 'webIdl'\nwebIdl.aliases = []\nfunction webIdl(Prism) {\n ;(function (Prism) {\n var id = /(?:\\B-|\\b_|\\b)[A-Za-z][\\w-]*(?![\\w-])/.source\n var type =\n '(?:' +\n /\\b(?:unsigned\\s+)?long\\s+long(?![\\w-])/.source +\n '|' +\n /\\b(?:unrestricted|unsigned)\\s+[a-z]+(?![\\w-])/.source +\n '|' +\n /(?!(?:unrestricted|unsigned)\\b)/.source +\n id +\n /(?:\\s*<(?:[^<>]|<[^<>]*>)*>)?/.source +\n ')' +\n /(?:\\s*\\?)?/.source\n var typeInside = {}\n Prism.languages['web-idl'] = {\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n greedy: true\n },\n string: {\n pattern: /\"[^\"]*\"/,\n greedy: true\n },\n namespace: {\n pattern: RegExp(/(\\bnamespace\\s+)/.source + id),\n lookbehind: true\n },\n 'class-name': [\n {\n pattern:\n /(^|[^\\w-])(?:iterable|maplike|setlike)\\s*<(?:[^<>]|<[^<>]*>)*>/,\n lookbehind: true,\n inside: typeInside\n },\n {\n pattern: RegExp(\n /(\\b(?:attribute|const|deleter|getter|optional|setter)\\s+)/.source +\n type\n ),\n lookbehind: true,\n inside: typeInside\n },\n {\n // callback return type\n pattern: RegExp(\n '(' + /\\bcallback\\s+/.source + id + /\\s*=\\s*/.source + ')' + type\n ),\n lookbehind: true,\n inside: typeInside\n },\n {\n // typedef\n pattern: RegExp(/(\\btypedef\\b\\s*)/.source + type),\n lookbehind: true,\n inside: typeInside\n },\n {\n pattern: RegExp(\n /(\\b(?:callback|dictionary|enum|interface(?:\\s+mixin)?)\\s+)(?!(?:interface|mixin)\\b)/\n .source + id\n ),\n lookbehind: true\n },\n {\n // inheritance\n pattern: RegExp(/(:\\s*)/.source + id),\n lookbehind: true\n }, // includes and implements\n RegExp(id + /(?=\\s+(?:implements|includes)\\b)/.source),\n {\n pattern: RegExp(/(\\b(?:implements|includes)\\s+)/.source + id),\n lookbehind: true\n },\n {\n // function return type, parameter types, and dictionary members\n pattern: RegExp(\n type +\n '(?=' +\n /\\s*(?:\\.{3}\\s*)?/.source +\n id +\n /\\s*[(),;=]/.source +\n ')'\n ),\n inside: typeInside\n }\n ],\n builtin:\n /\\b(?:ArrayBuffer|BigInt64Array|BigUint64Array|ByteString|DOMString|DataView|Float32Array|Float64Array|FrozenArray|Int16Array|Int32Array|Int8Array|ObservableArray|Promise|USVString|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray)\\b/,\n keyword: [\n /\\b(?:async|attribute|callback|const|constructor|deleter|dictionary|enum|getter|implements|includes|inherit|interface|mixin|namespace|null|optional|or|partial|readonly|required|setter|static|stringifier|typedef|unrestricted)\\b/, // type keywords\n /\\b(?:any|bigint|boolean|byte|double|float|iterable|long|maplike|object|octet|record|sequence|setlike|short|symbol|undefined|unsigned|void)\\b/\n ],\n boolean: /\\b(?:false|true)\\b/,\n number: {\n pattern:\n /(^|[^\\w-])-?(?:0x[0-9a-f]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|NaN|Infinity)(?![\\w-])/i,\n lookbehind: true\n },\n operator: /\\.{3}|[=:?<>-]/,\n punctuation: /[(){}[\\].,;]/\n }\n for (var key in Prism.languages['web-idl']) {\n if (key !== 'class-name') {\n typeInside[key] = Prism.languages['web-idl'][key]\n }\n }\n Prism.languages['webidl'] = Prism.languages['web-idl']\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = wiki\nwiki.displayName = 'wiki'\nwiki.aliases = []\nfunction wiki(Prism) {\n Prism.languages.wiki = Prism.languages.extend('markup', {\n 'block-comment': {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n lookbehind: true,\n alias: 'comment'\n },\n heading: {\n pattern: /^(=+)[^=\\r\\n].*?\\1/m,\n inside: {\n punctuation: /^=+|=+$/,\n important: /.+/\n }\n },\n emphasis: {\n // TODO Multi-line\n pattern: /('{2,5}).+?\\1/,\n inside: {\n 'bold-italic': {\n pattern: /(''''').+?(?=\\1)/,\n lookbehind: true,\n alias: ['bold', 'italic']\n },\n bold: {\n pattern: /(''')[^'](?:.*?[^'])?(?=\\1)/,\n lookbehind: true\n },\n italic: {\n pattern: /('')[^'](?:.*?[^'])?(?=\\1)/,\n lookbehind: true\n },\n punctuation: /^''+|''+$/\n }\n },\n hr: {\n pattern: /^-{4,}/m,\n alias: 'punctuation'\n },\n url: [\n /ISBN +(?:97[89][ -]?)?(?:\\d[ -]?){9}[\\dx]\\b|(?:PMID|RFC) +\\d+/i,\n /\\[\\[.+?\\]\\]|\\[.+?\\]/\n ],\n variable: [\n /__[A-Z]+__/, // FIXME Nested structures should be handled\n // {{formatnum:{{#expr:{{{3}}}}}}}\n /\\{{3}.+?\\}{3}/,\n /\\{\\{.+?\\}\\}/\n ],\n symbol: [/^#redirect/im, /~{3,5}/],\n // Handle table attrs:\n // {|\n // ! style=\"text-align:left;\"| Item\n // |}\n 'table-tag': {\n pattern: /((?:^|[|!])[|!])[^|\\r\\n]+\\|(?!\\|)/m,\n lookbehind: true,\n inside: {\n 'table-bar': {\n pattern: /\\|$/,\n alias: 'punctuation'\n },\n rest: Prism.languages.markup['tag'].inside\n }\n },\n punctuation: /^(?:\\{\\||\\|\\}|\\|-|[*#:;!|])|\\|\\||!!/m\n })\n Prism.languages.insertBefore('wiki', 'tag', {\n // Prevent highlighting inside <nowiki>, <source> and <pre> tags\n nowiki: {\n pattern: /<(nowiki|pre|source)\\b[^>]*>[\\s\\S]*?<\\/\\1>/i,\n inside: {\n tag: {\n pattern: /<(?:nowiki|pre|source)\\b[^>]*>|<\\/(?:nowiki|pre|source)>/i,\n inside: Prism.languages.markup['tag'].inside\n }\n }\n }\n })\n}\n","'use strict'\n\nmodule.exports = wolfram\nwolfram.displayName = 'wolfram'\nwolfram.aliases = ['mathematica', 'wl', 'nb']\nfunction wolfram(Prism) {\n Prism.languages.wolfram = {\n // Allow one level of nesting - note: regex taken from applescipt\n comment: /\\(\\*(?:\\(\\*(?:[^*]|\\*(?!\\)))*\\*\\)|(?!\\(\\*)[\\s\\S])*?\\*\\)/,\n string: {\n pattern: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n greedy: true\n },\n keyword:\n /\\b(?:Abs|AbsArg|Accuracy|Block|Do|For|Function|If|Manipulate|Module|Nest|NestList|None|Return|Switch|Table|Which|While)\\b/,\n context: {\n pattern: /\\b\\w+`+\\w*/,\n alias: 'class-name'\n },\n blank: {\n pattern: /\\b\\w+_\\b/,\n alias: 'regex'\n },\n 'global-variable': {\n pattern: /\\$\\w+/,\n alias: 'variable'\n },\n boolean: /\\b(?:False|True)\\b/,\n number:\n /(?:\\b(?=\\d)|\\B(?=\\.))(?:0[bo])?(?:(?:\\d|0x[\\da-f])[\\da-f]*(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?j?\\b/i,\n operator:\n /\\/\\.|;|=\\.|\\^=|\\^:=|:=|<<|>>|<\\||\\|>|:>|\\|->|->|<-|@@@|@@|@|\\/@|=!=|===|==|=|\\+|-|\\^|\\[\\/-+%=\\]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n punctuation: /[{}[\\];(),.:]/\n }\n Prism.languages.mathematica = Prism.languages.wolfram\n Prism.languages.wl = Prism.languages.wolfram\n Prism.languages.nb = Prism.languages.wolfram\n}\n","'use strict'\n\nmodule.exports = wren\nwren.displayName = 'wren'\nwren.aliases = []\nfunction wren(Prism) {\n // https://wren.io/\n Prism.languages.wren = {\n // Multiline comments in Wren can have nested multiline comments\n // Comments: // and /* */\n comment: [\n {\n // support 3 levels of nesting\n // regex: \\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\/\n pattern:\n /\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*))*\\*\\/)*\\*\\/)*\\*\\//,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n // Triple quoted strings are multiline but cannot have interpolation (raw strings)\n // Based on prism-python.js\n 'triple-quoted-string': {\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: true,\n alias: 'string'\n },\n // see below\n 'string-literal': null,\n // #!/usr/bin/env wren on the first line\n hashbang: {\n pattern: /^#!\\/.+/,\n greedy: true,\n alias: 'comment'\n },\n // Attributes are special keywords to add meta data to classes\n attribute: {\n // #! attributes are stored in class properties\n // #!myvar = true\n // #attributes are not stored and dismissed at compilation\n pattern: /#!?[ \\t\\u3000]*\\w+/,\n alias: 'keyword'\n },\n 'class-name': [\n {\n // class definition\n // class Meta {}\n pattern: /(\\bclass\\s+)\\w+/,\n lookbehind: true\n }, // A class must always start with an uppercase.\n // File.read\n /\\b[A-Z][a-z\\d_]*\\b/\n ],\n // A constant can be a variable, class, property or method. Just named in all uppercase letters\n constant: /\\b[A-Z][A-Z\\d_]*\\b/,\n null: {\n pattern: /\\bnull\\b/,\n alias: 'keyword'\n },\n keyword:\n /\\b(?:as|break|class|construct|continue|else|for|foreign|if|import|in|is|return|static|super|this|var|while)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n number: /\\b(?:0x[\\da-f]+|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b/i,\n // Functions can be Class.method()\n function: /\\b[a-z_]\\w*(?=\\s*[({])/i,\n operator: /<<|>>|[=!<>]=?|&&|\\|\\||[-+*/%~^&|?:]|\\.{2,3}/,\n punctuation: /[\\[\\](){}.,;]/\n }\n Prism.languages.wren['string-literal'] = {\n // A single quote string is multiline and can have interpolation (similar to JS backticks ``)\n pattern:\n /(^|[^\\\\\"])\"(?:[^\\\\\"%]|\\\\[\\s\\S]|%(?!\\()|%\\((?:[^()]|\\((?:[^()]|\\([^)]*\\))*\\))*\\))*\"/,\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: {\n // \"%(interpolation)\"\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)%\\((?:[^()]|\\((?:[^()]|\\([^)]*\\))*\\))*\\)/,\n lookbehind: true,\n inside: {\n expression: {\n pattern: /^(%\\()[\\s\\S]+(?=\\)$)/,\n lookbehind: true,\n inside: Prism.languages.wren\n },\n 'interpolation-punctuation': {\n pattern: /^%\\(|\\)$/,\n alias: 'punctuation'\n }\n }\n },\n string: /[\\s\\S]+/\n }\n }\n}\n","'use strict'\n\nmodule.exports = xeora\nxeora.displayName = 'xeora'\nxeora.aliases = ['xeoracube']\nfunction xeora(Prism) {\n ;(function (Prism) {\n Prism.languages.xeora = Prism.languages.extend('markup', {\n constant: {\n pattern: /\\$(?:DomainContents|PageRenderDuration)\\$/,\n inside: {\n punctuation: {\n pattern: /\\$/\n }\n }\n },\n variable: {\n pattern: /\\$@?(?:#+|[-+*~=^])?[\\w.]+\\$/,\n inside: {\n punctuation: {\n pattern: /[$.]/\n },\n operator: {\n pattern: /#+|[-+*~=^@]/\n }\n }\n },\n 'function-inline': {\n pattern:\n /\\$F:[-\\w.]+\\?[-\\w.]+(?:,(?:(?:@[-#]*\\w+\\.[\\w+.]\\.*)*\\|)*(?:(?:[\\w+]|[-#*.~^]+[\\w+]|=\\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\\w+\\.[\\w+.]\\.*)+(?:(?:[\\w+]|[-#*~^][-#*.~^]*[\\w+]|=\\S)(?:[^$=]|=+[^=])*=*)?)?)?\\$/,\n inside: {\n variable: {\n pattern: /(?:[,|])@?(?:#+|[-+*~=^])?[\\w.]+/,\n inside: {\n punctuation: {\n pattern: /[,.|]/\n },\n operator: {\n pattern: /#+|[-+*~=^@]/\n }\n }\n },\n punctuation: {\n pattern: /\\$\\w:|[$:?.,|]/\n }\n },\n alias: 'function'\n },\n 'function-block': {\n pattern:\n /\\$XF:\\{[-\\w.]+\\?[-\\w.]+(?:,(?:(?:@[-#]*\\w+\\.[\\w+.]\\.*)*\\|)*(?:(?:[\\w+]|[-#*.~^]+[\\w+]|=\\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\\w+\\.[\\w+.]\\.*)+(?:(?:[\\w+]|[-#*~^][-#*.~^]*[\\w+]|=\\S)(?:[^$=]|=+[^=])*=*)?)?)?\\}:XF\\$/,\n inside: {\n punctuation: {\n pattern: /[$:{}?.,|]/\n }\n },\n alias: 'function'\n },\n 'directive-inline': {\n pattern: /\\$\\w(?:#\\d+\\+?)?(?:\\[[-\\w.]+\\])?:[-\\/\\w.]+\\$/,\n inside: {\n punctuation: {\n pattern: /\\$(?:\\w:|C(?:\\[|#\\d))?|[:{[\\]]/,\n inside: {\n tag: {\n pattern: /#\\d/\n }\n }\n }\n },\n alias: 'function'\n },\n 'directive-block-open': {\n pattern:\n /\\$\\w+:\\{|\\$\\w(?:#\\d+\\+?)?(?:\\[[-\\w.]+\\])?:[-\\w.]+:\\{(?:![A-Z]+)?/,\n inside: {\n punctuation: {\n pattern: /\\$(?:\\w:|C(?:\\[|#\\d))?|[:{[\\]]/,\n inside: {\n tag: {\n pattern: /#\\d/\n }\n }\n },\n attribute: {\n pattern: /![A-Z]+$/,\n inside: {\n punctuation: {\n pattern: /!/\n }\n },\n alias: 'keyword'\n }\n },\n alias: 'function'\n },\n 'directive-block-separator': {\n pattern: /\\}:[-\\w.]+:\\{/,\n inside: {\n punctuation: {\n pattern: /[:{}]/\n }\n },\n alias: 'function'\n },\n 'directive-block-close': {\n pattern: /\\}:[-\\w.]+\\$/,\n inside: {\n punctuation: {\n pattern: /[:{}$]/\n }\n },\n alias: 'function'\n }\n })\n Prism.languages.insertBefore(\n 'inside',\n 'punctuation',\n {\n variable: Prism.languages.xeora['function-inline'].inside['variable']\n },\n Prism.languages.xeora['function-block']\n )\n Prism.languages.xeoracube = Prism.languages.xeora\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = xmlDoc\nxmlDoc.displayName = 'xmlDoc'\nxmlDoc.aliases = []\nfunction xmlDoc(Prism) {\n ;(function (Prism) {\n /**\n * If the given language is present, it will insert the given doc comment grammar token into it.\n *\n * @param {string} lang\n * @param {any} docComment\n */\n function insertDocComment(lang, docComment) {\n if (Prism.languages[lang]) {\n Prism.languages.insertBefore(lang, 'comment', {\n 'doc-comment': docComment\n })\n }\n }\n var tag = Prism.languages.markup.tag\n var slashDocComment = {\n pattern: /\\/\\/\\/.*/,\n greedy: true,\n alias: 'comment',\n inside: {\n tag: tag\n }\n }\n var tickDocComment = {\n pattern: /'''.*/,\n greedy: true,\n alias: 'comment',\n inside: {\n tag: tag\n }\n }\n insertDocComment('csharp', slashDocComment)\n insertDocComment('fsharp', slashDocComment)\n insertDocComment('vbnet', tickDocComment)\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = xojo\nxojo.displayName = 'xojo'\nxojo.aliases = []\nfunction xojo(Prism) {\n Prism.languages.xojo = {\n comment: {\n pattern: /(?:'|\\/\\/|Rem\\b).+/i,\n greedy: true\n },\n string: {\n pattern: /\"(?:\"\"|[^\"])*\"/,\n greedy: true\n },\n number: [/(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:E[+-]?\\d+)?/i, /&[bchou][a-z\\d]+/i],\n directive: {\n pattern: /#(?:Else|ElseIf|Endif|If|Pragma)\\b/i,\n alias: 'property'\n },\n keyword:\n /\\b(?:AddHandler|App|Array|As(?:signs)?|Auto|Boolean|Break|By(?:Ref|Val)|Byte|Call|Case|Catch|CFStringRef|CGFloat|Class|Color|Const|Continue|CString|Currency|CurrentMethodName|Declare|Delegate|Dim|Do(?:uble|wnTo)?|Each|Else(?:If)?|End|Enumeration|Event|Exception|Exit|Extends|False|Finally|For|Function|Get|GetTypeInfo|Global|GOTO|If|Implements|In|Inherits|Int(?:8|16|32|64|eger|erface)?|Lib|Loop|Me|Module|Next|Nil|Object|Optional|OSType|ParamArray|Private|Property|Protected|PString|Ptr|Raise(?:Event)?|ReDim|RemoveHandler|Return|Select(?:or)?|Self|Set|Shared|Short|Single|Soft|Static|Step|String|Sub|Super|Text|Then|To|True|Try|Ubound|UInt(?:8|16|32|64|eger)?|Until|Using|Var(?:iant)?|Wend|While|WindowPtr|WString)\\b/i,\n operator:\n /<[=>]?|>=?|[+\\-*\\/\\\\^=]|\\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|WeakAddressOf|Xor)\\b/i,\n punctuation: /[.,;:()]/\n }\n}\n","'use strict'\n\nmodule.exports = xquery\nxquery.displayName = 'xquery'\nxquery.aliases = []\nfunction xquery(Prism) {\n ;(function (Prism) {\n Prism.languages.xquery = Prism.languages.extend('markup', {\n 'xquery-comment': {\n pattern: /\\(:[\\s\\S]*?:\\)/,\n greedy: true,\n alias: 'comment'\n },\n string: {\n pattern: /([\"'])(?:\\1\\1|(?!\\1)[\\s\\S])*\\1/,\n greedy: true\n },\n extension: {\n pattern: /\\(#.+?#\\)/,\n alias: 'symbol'\n },\n variable: /\\$[-\\w:]+/,\n axis: {\n pattern:\n /(^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/,\n lookbehind: true,\n alias: 'operator'\n },\n 'keyword-operator': {\n pattern:\n /(^|[^:-])\\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\\b(?=$|[^:-])/,\n lookbehind: true,\n alias: 'operator'\n },\n keyword: {\n pattern:\n /(^|[^:-])\\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\\b(?=$|[^:-])/,\n lookbehind: true\n },\n function: /[\\w-]+(?::[\\w-]+)*(?=\\s*\\()/,\n 'xquery-element': {\n pattern: /(element\\s+)[\\w-]+(?::[\\w-]+)*/,\n lookbehind: true,\n alias: 'tag'\n },\n 'xquery-attribute': {\n pattern: /(attribute\\s+)[\\w-]+(?::[\\w-]+)*/,\n lookbehind: true,\n alias: 'attr-name'\n },\n builtin: {\n pattern:\n /(^|[^:-])\\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:ENTITIES|ENTITY|ID|IDREFS?|NCName|NMTOKENS?|NOTATION|Name|QName|anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|int|integer|language|long|negativeInteger|nonNegativeInteger|nonPositiveInteger|normalizedString|positiveInteger|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\\b(?=$|[^:-])/,\n lookbehind: true\n },\n number: /\\b\\d+(?:\\.\\d+)?(?:E[+-]?\\d+)?/,\n operator: [\n /[+*=?|@]|\\.\\.?|:=|!=|<[=<]?|>[=>]?/,\n {\n pattern: /(\\s)-(?=\\s)/,\n lookbehind: true\n }\n ],\n punctuation: /[[\\](){},;:/]/\n })\n Prism.languages.xquery.tag.pattern =\n /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|\\{(?!\\{)(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])+\\}|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/\n Prism.languages.xquery['tag'].inside['attr-value'].pattern =\n /=(?:(\"|')(?:\\\\[\\s\\S]|\\{(?!\\{)(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])+\\}|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+)/\n Prism.languages.xquery['tag'].inside['attr-value'].inside['punctuation'] =\n /^=\"|\"$/\n Prism.languages.xquery['tag'].inside['attr-value'].inside['expression'] = {\n // Allow for two levels of nesting\n pattern: /\\{(?!\\{)(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])+\\}/,\n inside: Prism.languages.xquery,\n alias: 'language-xquery'\n } // The following will handle plain text inside tags\n var stringifyToken = function (token) {\n if (typeof token === 'string') {\n return token\n }\n if (typeof token.content === 'string') {\n return token.content\n }\n return token.content.map(stringifyToken).join('')\n }\n var walkTokens = function (tokens) {\n var openedTags = []\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n var notTagNorBrace = false\n if (typeof token !== 'string') {\n if (\n token.type === 'tag' &&\n token.content[0] &&\n token.content[0].type === 'tag'\n ) {\n // We found a tag, now find its kind\n if (token.content[0].content[0].content === '</') {\n // Closing tag\n if (\n openedTags.length > 0 &&\n openedTags[openedTags.length - 1].tagName ===\n stringifyToken(token.content[0].content[1])\n ) {\n // Pop matching opening tag\n openedTags.pop()\n }\n } else {\n if (token.content[token.content.length - 1].content === '/>') {\n // Autoclosed tag, ignore\n } else {\n // Opening tag\n openedTags.push({\n tagName: stringifyToken(token.content[0].content[1]),\n openedBraces: 0\n })\n }\n }\n } else if (\n openedTags.length > 0 &&\n token.type === 'punctuation' &&\n token.content === '{' && // Ignore `{{`\n (!tokens[i + 1] ||\n tokens[i + 1].type !== 'punctuation' ||\n tokens[i + 1].content !== '{') &&\n (!tokens[i - 1] ||\n tokens[i - 1].type !== 'plain-text' ||\n tokens[i - 1].content !== '{')\n ) {\n // Here we might have entered an XQuery expression inside a tag\n openedTags[openedTags.length - 1].openedBraces++\n } else if (\n openedTags.length > 0 &&\n openedTags[openedTags.length - 1].openedBraces > 0 &&\n token.type === 'punctuation' &&\n token.content === '}'\n ) {\n // Here we might have left an XQuery expression inside a tag\n openedTags[openedTags.length - 1].openedBraces--\n } else if (token.type !== 'comment') {\n notTagNorBrace = true\n }\n }\n if (notTagNorBrace || typeof token === 'string') {\n if (\n openedTags.length > 0 &&\n openedTags[openedTags.length - 1].openedBraces === 0\n ) {\n // Here we are inside a tag, and not inside an XQuery expression.\n // That's plain text: drop any tokens matched.\n var plainText = stringifyToken(token) // And merge text with adjacent text\n if (\n i < tokens.length - 1 &&\n (typeof tokens[i + 1] === 'string' ||\n tokens[i + 1].type === 'plain-text')\n ) {\n plainText += stringifyToken(tokens[i + 1])\n tokens.splice(i + 1, 1)\n }\n if (\n i > 0 &&\n (typeof tokens[i - 1] === 'string' ||\n tokens[i - 1].type === 'plain-text')\n ) {\n plainText = stringifyToken(tokens[i - 1]) + plainText\n tokens.splice(i - 1, 1)\n i--\n }\n if (/^\\s+$/.test(plainText)) {\n tokens[i] = plainText\n } else {\n tokens[i] = new Prism.Token(\n 'plain-text',\n plainText,\n null,\n plainText\n )\n }\n }\n }\n if (token.content && typeof token.content !== 'string') {\n walkTokens(token.content)\n }\n }\n }\n Prism.hooks.add('after-tokenize', function (env) {\n if (env.language !== 'xquery') {\n return\n }\n walkTokens(env.tokens)\n })\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = yaml\nyaml.displayName = 'yaml'\nyaml.aliases = ['yml']\nfunction yaml(Prism) {\n ;(function (Prism) {\n // https://yaml.org/spec/1.2/spec.html#c-ns-anchor-property\n // https://yaml.org/spec/1.2/spec.html#c-ns-alias-node\n var anchorOrAlias = /[*&][^\\s[\\]{},]+/ // https://yaml.org/spec/1.2/spec.html#c-ns-tag-property\n var tag =\n /!(?:<[\\w\\-%#;/?:@&=+$,.!~*'()[\\]]+>|(?:[a-zA-Z\\d-]*!)?[\\w\\-%#;/?:@&=+$.~*'()]+)?/ // https://yaml.org/spec/1.2/spec.html#c-ns-properties(n,c)\n var properties =\n '(?:' +\n tag.source +\n '(?:[ \\t]+' +\n anchorOrAlias.source +\n ')?|' +\n anchorOrAlias.source +\n '(?:[ \\t]+' +\n tag.source +\n ')?)' // https://yaml.org/spec/1.2/spec.html#ns-plain(n,c)\n // This is a simplified version that doesn't support \"#\" and multiline keys\n // All these long scarry character classes are simplified versions of YAML's characters\n var plainKey =\n /(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(\n /<PLAIN>/g,\n function () {\n return /[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]/\n .source\n }\n )\n var string = /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'/.source\n /**\n *\n * @param {string} value\n * @param {string} [flags]\n * @returns {RegExp}\n */\n function createValuePattern(value, flags) {\n flags = (flags || '').replace(/m/g, '') + 'm' // add m flag\n var pattern =\n /([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))/.source\n .replace(/<<prop>>/g, function () {\n return properties\n })\n .replace(/<<value>>/g, function () {\n return value\n })\n return RegExp(pattern, flags)\n }\n Prism.languages.yaml = {\n scalar: {\n pattern: RegExp(\n /([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)/.source.replace(\n /<<prop>>/g,\n function () {\n return properties\n }\n )\n ),\n lookbehind: true,\n alias: 'string'\n },\n comment: /#.*/,\n key: {\n pattern: RegExp(\n /((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)/.source\n .replace(/<<prop>>/g, function () {\n return properties\n })\n .replace(/<<key>>/g, function () {\n return '(?:' + plainKey + '|' + string + ')'\n })\n ),\n lookbehind: true,\n greedy: true,\n alias: 'atrule'\n },\n directive: {\n pattern: /(^[ \\t]*)%.+/m,\n lookbehind: true,\n alias: 'important'\n },\n datetime: {\n pattern: createValuePattern(\n /\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?/\n .source\n ),\n lookbehind: true,\n alias: 'number'\n },\n boolean: {\n pattern: createValuePattern(/false|true/.source, 'i'),\n lookbehind: true,\n alias: 'important'\n },\n null: {\n pattern: createValuePattern(/null|~/.source, 'i'),\n lookbehind: true,\n alias: 'important'\n },\n string: {\n pattern: createValuePattern(string),\n lookbehind: true,\n greedy: true\n },\n number: {\n pattern: createValuePattern(\n /[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)/\n .source,\n 'i'\n ),\n lookbehind: true\n },\n tag: tag,\n important: anchorOrAlias,\n punctuation: /---|[:[\\]{}\\-,|>?]|\\.\\.\\./\n }\n Prism.languages.yml = Prism.languages.yaml\n })(Prism)\n}\n","'use strict'\n\nmodule.exports = yang\nyang.displayName = 'yang'\nyang.aliases = []\nfunction yang(Prism) {\n Prism.languages.yang = {\n // https://tools.ietf.org/html/rfc6020#page-34\n // http://www.yang-central.org/twiki/bin/view/Main/YangExamples\n comment: /\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*/,\n string: {\n pattern: /\"(?:[^\\\\\"]|\\\\.)*\"|'[^']*'/,\n greedy: true\n },\n keyword: {\n pattern: /(^|[{};\\r\\n][ \\t]*)[a-z_][\\w.-]*/i,\n lookbehind: true\n },\n namespace: {\n pattern: /(\\s)[a-z_][\\w.-]*(?=:)/i,\n lookbehind: true\n },\n boolean: /\\b(?:false|true)\\b/,\n operator: /\\+/,\n punctuation: /[{};:]/\n }\n}\n","'use strict'\n\nmodule.exports = zig\nzig.displayName = 'zig'\nzig.aliases = []\nfunction zig(Prism) {\n ;(function (Prism) {\n function literal(str) {\n return function () {\n return str\n }\n }\n var keyword =\n /\\b(?:align|allowzero|and|anyframe|anytype|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|nosuspend|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\\b/\n var IDENTIFIER = '\\\\b(?!' + keyword.source + ')(?!\\\\d)\\\\w+\\\\b'\n var ALIGN = /align\\s*\\((?:[^()]|\\([^()]*\\))*\\)/.source\n var PREFIX_TYPE_OP =\n /(?:\\?|\\bpromise->|(?:\\[[^[\\]]*\\]|\\*(?!\\*)|\\*\\*)(?:\\s*<ALIGN>|\\s*const\\b|\\s*volatile\\b|\\s*allowzero\\b)*)/.source.replace(\n /<ALIGN>/g,\n literal(ALIGN)\n )\n var SUFFIX_EXPR =\n /(?:\\bpromise\\b|(?:\\berror\\.)?<ID>(?:\\.<ID>)*(?!\\s+<ID>))/.source.replace(\n /<ID>/g,\n literal(IDENTIFIER)\n )\n var TYPE =\n '(?!\\\\s)(?:!?\\\\s*(?:' + PREFIX_TYPE_OP + '\\\\s*)*' + SUFFIX_EXPR + ')+'\n /*\n * A simplified grammar for Zig compile time type literals:\n *\n * TypeExpr = ( \"!\"? PREFIX_TYPE_OP* SUFFIX_EXPR )+\n *\n * SUFFIX_EXPR = ( \\b \"promise\" \\b | ( \\b \"error\" \".\" )? IDENTIFIER ( \".\" IDENTIFIER )* (?! \\s+ IDENTIFIER ) )\n *\n * PREFIX_TYPE_OP = \"?\"\n * | \\b \"promise\" \"->\"\n * | ( \"[\" [^\\[\\]]* \"]\" | \"*\" | \"**\" ) ( ALIGN | \"const\" \\b | \"volatile\" \\b | \"allowzero\" \\b )*\n *\n * ALIGN = \"align\" \"(\" ( [^()] | \"(\" [^()]* \")\" )* \")\"\n *\n * IDENTIFIER = \\b (?! KEYWORD ) [a-zA-Z_] \\w* \\b\n *\n */\n Prism.languages.zig = {\n comment: [\n {\n pattern: /\\/\\/[/!].*/,\n alias: 'doc-comment'\n },\n /\\/{2}.*/\n ],\n string: [\n {\n // \"string\" and c\"string\"\n pattern: /(^|[^\\\\@])c?\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"/,\n lookbehind: true,\n greedy: true\n },\n {\n // multiline strings and c-strings\n pattern: /([\\r\\n])([ \\t]+c?\\\\{2}).*(?:(?:\\r\\n?|\\n)\\2.*)*/,\n lookbehind: true,\n greedy: true\n }\n ],\n char: {\n // characters 'a', '\\n', '\\xFF', '\\u{10FFFF}'\n pattern:\n /(^|[^\\\\])'(?:[^'\\\\\\r\\n]|[\\uD800-\\uDFFF]{2}|\\\\(?:.|x[a-fA-F\\d]{2}|u\\{[a-fA-F\\d]{1,6}\\}))'/,\n lookbehind: true,\n greedy: true\n },\n builtin: /\\B@(?!\\d)\\w+(?=\\s*\\()/,\n label: {\n pattern:\n /(\\b(?:break|continue)\\s*:\\s*)\\w+\\b|\\b(?!\\d)\\w+\\b(?=\\s*:\\s*(?:\\{|while\\b))/,\n lookbehind: true\n },\n 'class-name': [\n // const Foo = struct {};\n /\\b(?!\\d)\\w+(?=\\s*=\\s*(?:(?:extern|packed)\\s+)?(?:enum|struct|union)\\s*[({])/,\n {\n // const x: i32 = 9;\n // var x: Bar;\n // fn foo(x: bool, y: f32) void {}\n pattern: RegExp(\n /(:\\s*)<TYPE>(?=\\s*(?:<ALIGN>\\s*)?[=;,)])|<TYPE>(?=\\s*(?:<ALIGN>\\s*)?\\{)/.source\n .replace(/<TYPE>/g, literal(TYPE))\n .replace(/<ALIGN>/g, literal(ALIGN))\n ),\n lookbehind: true,\n inside: null // see below\n },\n {\n // extern fn foo(x: f64) f64; (optional alignment)\n pattern: RegExp(\n /(\\)\\s*)<TYPE>(?=\\s*(?:<ALIGN>\\s*)?;)/.source\n .replace(/<TYPE>/g, literal(TYPE))\n .replace(/<ALIGN>/g, literal(ALIGN))\n ),\n lookbehind: true,\n inside: null // see below\n }\n ],\n 'builtin-type': {\n pattern:\n /\\b(?:anyerror|bool|c_u?(?:int|long|longlong|short)|c_longdouble|c_void|comptime_(?:float|int)|f(?:16|32|64|128)|[iu](?:8|16|32|64|128|size)|noreturn|type|void)\\b/,\n alias: 'keyword'\n },\n keyword: keyword,\n function: /\\b(?!\\d)\\w+(?=\\s*\\()/,\n number:\n /\\b(?:0b[01]+|0o[0-7]+|0x[a-fA-F\\d]+(?:\\.[a-fA-F\\d]*)?(?:[pP][+-]?[a-fA-F\\d]+)?|\\d+(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n operator:\n /\\.[*?]|\\.{2,3}|[-=]>|\\*\\*|\\+\\+|\\|\\||(?:<<|>>|[-+*]%|[-+*/%^&|<>!=])=?|[?~]/,\n punctuation: /[.:,;(){}[\\]]/\n }\n Prism.languages.zig['class-name'].forEach(function (obj) {\n if (obj.inside === null) {\n obj.inside = Prism.languages.zig\n }\n })\n })(Prism)\n}\n","/// <reference lib=\"WebWorker\"/>\n\nvar _self = (typeof window !== 'undefined')\n\t? window // if in browser\n\t: (\n\t\t(typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)\n\t\t\t? self // if in worker\n\t\t\t: {} // if in node js\n\t);\n\n/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT <https://opensource.org/licenses/MIT>\n * @author Lea Verou <https://lea.verou.me>\n * @namespace\n * @public\n */\nvar Prism = (function (_self) {\n\n\t// Private helper vars\n\tvar lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n\tvar uniqueId = 0;\n\n\t// The grammar object for plaintext\n\tvar plainTextGrammar = {};\n\n\n\tvar _ = {\n\t\t/**\n\t\t * By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the\n\t\t * current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load\n\t\t * additional languages or plugins yourself.\n\t\t *\n\t\t * By setting this value to `true`, Prism will not automatically highlight all code elements on the page.\n\t\t *\n\t\t * You obviously have to change this value before the automatic highlighting started. To do this, you can add an\n\t\t * empty Prism object into the global scope before loading the Prism script like this:\n\t\t *\n\t\t * ```js\n\t\t * window.Prism = window.Prism || {};\n\t\t * Prism.manual = true;\n\t\t * // add a new <script> to load Prism's script\n\t\t * ```\n\t\t *\n\t\t * @default false\n\t\t * @type {boolean}\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tmanual: _self.Prism && _self.Prism.manual,\n\t\t/**\n\t\t * By default, if Prism is in a web worker, it assumes that it is in a worker it created itself, so it uses\n\t\t * `addEventListener` to communicate with its parent instance. However, if you're using Prism manually in your\n\t\t * own worker, you don't want it to do this.\n\t\t *\n\t\t * By setting this value to `true`, Prism will not add its own listeners to the worker.\n\t\t *\n\t\t * You obviously have to change this value before Prism executes. To do this, you can add an\n\t\t * empty Prism object into the global scope before loading the Prism script like this:\n\t\t *\n\t\t * ```js\n\t\t * window.Prism = window.Prism || {};\n\t\t * Prism.disableWorkerMessageHandler = true;\n\t\t * // Load Prism's script\n\t\t * ```\n\t\t *\n\t\t * @default false\n\t\t * @type {boolean}\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tdisableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n\n\t\t/**\n\t\t * A namespace for utility methods.\n\t\t *\n\t\t * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n\t\t * change or disappear at any time.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t */\n\t\tutil: {\n\t\t\tencode: function encode(tokens) {\n\t\t\t\tif (tokens instanceof Token) {\n\t\t\t\t\treturn new Token(tokens.type, encode(tokens.content), tokens.alias);\n\t\t\t\t} else if (Array.isArray(tokens)) {\n\t\t\t\t\treturn tokens.map(encode);\n\t\t\t\t} else {\n\t\t\t\t\treturn tokens.replace(/&/g, '&').replace(/</g, '<').replace(/\\u00a0/g, ' ');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the name of the type of the given value.\n\t\t\t *\n\t\t\t * @param {any} o\n\t\t\t * @returns {string}\n\t\t\t * @example\n\t\t\t * type(null) === 'Null'\n\t\t\t * type(undefined) === 'Undefined'\n\t\t\t * type(123) === 'Number'\n\t\t\t * type('foo') === 'String'\n\t\t\t * type(true) === 'Boolean'\n\t\t\t * type([1, 2]) === 'Array'\n\t\t\t * type({}) === 'Object'\n\t\t\t * type(String) === 'Function'\n\t\t\t * type(/abc+/) === 'RegExp'\n\t\t\t */\n\t\t\ttype: function (o) {\n\t\t\t\treturn Object.prototype.toString.call(o).slice(8, -1);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns a unique number for the given object. Later calls will still return the same number.\n\t\t\t *\n\t\t\t * @param {Object} obj\n\t\t\t * @returns {number}\n\t\t\t */\n\t\t\tobjId: function (obj) {\n\t\t\t\tif (!obj['__id']) {\n\t\t\t\t\tObject.defineProperty(obj, '__id', { value: ++uniqueId });\n\t\t\t\t}\n\t\t\t\treturn obj['__id'];\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Creates a deep clone of the given object.\n\t\t\t *\n\t\t\t * The main intended use of this function is to clone language definitions.\n\t\t\t *\n\t\t\t * @param {T} o\n\t\t\t * @param {Record<number, any>} [visited]\n\t\t\t * @returns {T}\n\t\t\t * @template T\n\t\t\t */\n\t\t\tclone: function deepClone(o, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar clone; var id;\n\t\t\t\tswitch (_.util.type(o)) {\n\t\t\t\t\tcase 'Object':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = /** @type {Record<string, any>} */ ({});\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\tfor (var key in o) {\n\t\t\t\t\t\t\tif (o.hasOwnProperty(key)) {\n\t\t\t\t\t\t\t\tclone[key] = deepClone(o[key], visited);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tcase 'Array':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\t(/** @type {Array} */(/** @type {any} */(o))).forEach(function (v, i) {\n\t\t\t\t\t\t\tclone[i] = deepClone(v, visited);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn o;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n\t\t\t *\n\t\t\t * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @returns {string}\n\t\t\t */\n\t\t\tgetLanguage: function (element) {\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar m = lang.exec(element.className);\n\t\t\t\t\tif (m) {\n\t\t\t\t\t\treturn m[1].toLowerCase();\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn 'none';\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Sets the Prism `language-xxxx` class of the given element.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} language\n\t\t\t * @returns {void}\n\t\t\t */\n\t\t\tsetLanguage: function (element, language) {\n\t\t\t\t// remove all `language-xxxx` classes\n\t\t\t\t// (this might leave behind a leading space)\n\t\t\t\telement.className = element.className.replace(RegExp(lang, 'gi'), '');\n\n\t\t\t\t// add the new `language-xxxx` class\n\t\t\t\t// (using `classList` will automatically clean up spaces for us)\n\t\t\t\telement.classList.add('language-' + language);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the script element that is currently executing.\n\t\t\t *\n\t\t\t * This does __not__ work for line script element.\n\t\t\t *\n\t\t\t * @returns {HTMLScriptElement | null}\n\t\t\t */\n\t\t\tcurrentScript: function () {\n\t\t\t\tif (typeof document === 'undefined') {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tif ('currentScript' in document && 1 < 2 /* hack to trip TS' flow analysis */) {\n\t\t\t\t\treturn /** @type {any} */ (document.currentScript);\n\t\t\t\t}\n\n\t\t\t\t// IE11 workaround\n\t\t\t\t// we'll get the src of the current script by parsing IE11's error stack trace\n\t\t\t\t// this will not work for inline scripts\n\n\t\t\t\ttry {\n\t\t\t\t\tthrow new Error();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// Get file src url from stack. Specifically works with the format of stack traces in IE.\n\t\t\t\t\t// A stack will look like this:\n\t\t\t\t\t//\n\t\t\t\t\t// Error\n\t\t\t\t\t// at _.util.currentScript (http://localhost/components/prism-core.js:119:5)\n\t\t\t\t\t// at Global code (http://localhost/components/prism-core.js:606:1)\n\n\t\t\t\t\tvar src = (/at [^(\\r\\n]*\\((.*):[^:]+:[^:]+\\)$/i.exec(err.stack) || [])[1];\n\t\t\t\t\tif (src) {\n\t\t\t\t\t\tvar scripts = document.getElementsByTagName('script');\n\t\t\t\t\t\tfor (var i in scripts) {\n\t\t\t\t\t\t\tif (scripts[i].src == src) {\n\t\t\t\t\t\t\t\treturn scripts[i];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns whether a given class is active for `element`.\n\t\t\t *\n\t\t\t * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n\t\t\t * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n\t\t\t * given class is just the given class with a `no-` prefix.\n\t\t\t *\n\t\t\t * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n\t\t\t * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n\t\t\t * ancestors have the given class or the negated version of it, then the default activation will be returned.\n\t\t\t *\n\t\t\t * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n\t\t\t * version of it, the class is considered active.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} className\n\t\t\t * @param {boolean} [defaultActivation=false]\n\t\t\t * @returns {boolean}\n\t\t\t */\n\t\t\tisActive: function (element, className, defaultActivation) {\n\t\t\t\tvar no = 'no-' + className;\n\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar classList = element.classList;\n\t\t\t\t\tif (classList.contains(className)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tif (classList.contains(no)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn !!defaultActivation;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tlanguages: {\n\t\t\t/**\n\t\t\t * The grammar for plain, unformatted text.\n\t\t\t */\n\t\t\tplain: plainTextGrammar,\n\t\t\tplaintext: plainTextGrammar,\n\t\t\ttext: plainTextGrammar,\n\t\t\ttxt: plainTextGrammar,\n\n\t\t\t/**\n\t\t\t * Creates a deep copy of the language with the given id and appends the given tokens.\n\t\t\t *\n\t\t\t * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n\t\t\t * will be overwritten at its original position.\n\t\t\t *\n\t\t\t * ## Best practices\n\t\t\t *\n\t\t\t * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n\t\t\t * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n\t\t\t * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n\t\t\t *\n\t\t\t * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n\t\t\t * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n\t\t\t *\n\t\t\t * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n\t\t\t * @param {Grammar} redef The new tokens to append.\n\t\t\t * @returns {Grammar} The new language created.\n\t\t\t * @public\n\t\t\t * @example\n\t\t\t * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n\t\t\t * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n\t\t\t * // at its original position\n\t\t\t * 'comment': { ... },\n\t\t\t * // CSS doesn't have a 'color' token, so this token will be appended\n\t\t\t * 'color': /\\b(?:red|green|blue)\\b/\n\t\t\t * });\n\t\t\t */\n\t\t\textend: function (id, redef) {\n\t\t\t\tvar lang = _.util.clone(_.languages[id]);\n\n\t\t\t\tfor (var key in redef) {\n\t\t\t\t\tlang[key] = redef[key];\n\t\t\t\t}\n\n\t\t\t\treturn lang;\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Inserts tokens _before_ another token in a language definition or any other grammar.\n\t\t\t *\n\t\t\t * ## Usage\n\t\t\t *\n\t\t\t * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n\t\t\t * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n\t\t\t * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the\n\t\t\t * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do\n\t\t\t * this:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.markup.style = {\n\t\t\t * // token\n\t\t\t * };\n\t\t\t * ```\n\t\t\t *\n\t\t\t * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens\n\t\t\t * before existing tokens. For the CSS example above, you would use it like this:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.insertBefore('markup', 'cdata', {\n\t\t\t * 'style': {\n\t\t\t * // token\n\t\t\t * }\n\t\t\t * });\n\t\t\t * ```\n\t\t\t *\n\t\t\t * ## Special cases\n\t\t\t *\n\t\t\t * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar\n\t\t\t * will be ignored.\n\t\t\t *\n\t\t\t * This behavior can be used to insert tokens after `before`:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.insertBefore('markup', 'comment', {\n\t\t\t * 'comment': Prism.languages.markup.comment,\n\t\t\t * // tokens after 'comment'\n\t\t\t * });\n\t\t\t * ```\n\t\t\t *\n\t\t\t * ## Limitations\n\t\t\t *\n\t\t\t * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object\n\t\t\t * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave\n\t\t\t * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily\n\t\t\t * deleting properties which is necessary to insert at arbitrary positions.\n\t\t\t *\n\t\t\t * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.\n\t\t\t * Instead, it will create a new object and replace all references to the target object with the new one. This\n\t\t\t * can be done without temporarily deleting properties, so the iteration order is well-defined.\n\t\t\t *\n\t\t\t * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if\n\t\t\t * you hold the target object in a variable, then the value of the variable will not change.\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * var oldMarkup = Prism.languages.markup;\n\t\t\t * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });\n\t\t\t *\n\t\t\t * assert(oldMarkup !== Prism.languages.markup);\n\t\t\t * assert(newMarkup === Prism.languages.markup);\n\t\t\t * ```\n\t\t\t *\n\t\t\t * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the\n\t\t\t * object to be modified.\n\t\t\t * @param {string} before The key to insert before.\n\t\t\t * @param {Grammar} insert An object containing the key-value pairs to be inserted.\n\t\t\t * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the\n\t\t\t * object to be modified.\n\t\t\t *\n\t\t\t * Defaults to `Prism.languages`.\n\t\t\t * @returns {Grammar} The new grammar object.\n\t\t\t * @public\n\t\t\t */\n\t\t\tinsertBefore: function (inside, before, insert, root) {\n\t\t\t\troot = root || /** @type {any} */ (_.languages);\n\t\t\t\tvar grammar = root[inside];\n\t\t\t\t/** @type {Grammar} */\n\t\t\t\tvar ret = {};\n\n\t\t\t\tfor (var token in grammar) {\n\t\t\t\t\tif (grammar.hasOwnProperty(token)) {\n\n\t\t\t\t\t\tif (token == before) {\n\t\t\t\t\t\t\tfor (var newToken in insert) {\n\t\t\t\t\t\t\t\tif (insert.hasOwnProperty(newToken)) {\n\t\t\t\t\t\t\t\t\tret[newToken] = insert[newToken];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Do not insert token which also occur in insert. See #1525\n\t\t\t\t\t\tif (!insert.hasOwnProperty(token)) {\n\t\t\t\t\t\t\tret[token] = grammar[token];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tvar old = root[inside];\n\t\t\t\troot[inside] = ret;\n\n\t\t\t\t// Update references in other language definitions\n\t\t\t\t_.languages.DFS(_.languages, function (key, value) {\n\t\t\t\t\tif (value === old && key != inside) {\n\t\t\t\t\t\tthis[key] = ret;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn ret;\n\t\t\t},\n\n\t\t\t// Traverse a language definition with Depth First Search\n\t\t\tDFS: function DFS(o, callback, type, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar objId = _.util.objId;\n\n\t\t\t\tfor (var i in o) {\n\t\t\t\t\tif (o.hasOwnProperty(i)) {\n\t\t\t\t\t\tcallback.call(o, i, o[i], type || i);\n\n\t\t\t\t\t\tvar property = o[i];\n\t\t\t\t\t\tvar propertyType = _.util.type(property);\n\n\t\t\t\t\t\tif (propertyType === 'Object' && !visited[objId(property)]) {\n\t\t\t\t\t\t\tvisited[objId(property)] = true;\n\t\t\t\t\t\t\tDFS(property, callback, null, visited);\n\t\t\t\t\t\t} else if (propertyType === 'Array' && !visited[objId(property)]) {\n\t\t\t\t\t\t\tvisited[objId(property)] = true;\n\t\t\t\t\t\t\tDFS(property, callback, i, visited);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tplugins: {},\n\n\t\t/**\n\t\t * This is the most high-level function in Prism’s API.\n\t\t * It fetches all the elements that have a `.language-xxxx` class and then calls {@link Prism.highlightElement} on\n\t\t * each one of them.\n\t\t *\n\t\t * This is equivalent to `Prism.highlightAllUnder(document, async, callback)`.\n\t\t *\n\t\t * @param {boolean} [async=false] Same as in {@link Prism.highlightAllUnder}.\n\t\t * @param {HighlightCallback} [callback] Same as in {@link Prism.highlightAllUnder}.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightAll: function (async, callback) {\n\t\t\t_.highlightAllUnder(document, async, callback);\n\t\t},\n\n\t\t/**\n\t\t * Fetches all the descendants of `container` that have a `.language-xxxx` class and then calls\n\t\t * {@link Prism.highlightElement} on each one of them.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-highlightall`\n\t\t * 2. `before-all-elements-highlight`\n\t\t * 3. All hooks of {@link Prism.highlightElement} for each element.\n\t\t *\n\t\t * @param {ParentNode} container The root element, whose descendants that have a `.language-xxxx` class will be highlighted.\n\t\t * @param {boolean} [async=false] Whether each element is to be highlighted asynchronously using Web Workers.\n\t\t * @param {HighlightCallback} [callback] An optional callback to be invoked on each element after its highlighting is done.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightAllUnder: function (container, async, callback) {\n\t\t\tvar env = {\n\t\t\t\tcallback: callback,\n\t\t\t\tcontainer: container,\n\t\t\t\tselector: 'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'\n\t\t\t};\n\n\t\t\t_.hooks.run('before-highlightall', env);\n\n\t\t\tenv.elements = Array.prototype.slice.apply(env.container.querySelectorAll(env.selector));\n\n\t\t\t_.hooks.run('before-all-elements-highlight', env);\n\n\t\t\tfor (var i = 0, element; (element = env.elements[i++]);) {\n\t\t\t\t_.highlightElement(element, async === true, env.callback);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Highlights the code inside a single element.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-sanity-check`\n\t\t * 2. `before-highlight`\n\t\t * 3. All hooks of {@link Prism.highlight}. These hooks will be run by an asynchronous worker if `async` is `true`.\n\t\t * 4. `before-insert`\n\t\t * 5. `after-highlight`\n\t\t * 6. `complete`\n\t\t *\n\t\t * Some the above hooks will be skipped if the element doesn't contain any text or there is no grammar loaded for\n\t\t * the element's language.\n\t\t *\n\t\t * @param {Element} element The element containing the code.\n\t\t * It must have a class of `language-xxxx` to be processed, where `xxxx` is a valid language identifier.\n\t\t * @param {boolean} [async=false] Whether the element is to be highlighted asynchronously using Web Workers\n\t\t * to improve performance and avoid blocking the UI when highlighting very large chunks of code. This option is\n\t\t * [disabled by default](https://prismjs.com/faq.html#why-is-asynchronous-highlighting-disabled-by-default).\n\t\t *\n\t\t * Note: All language definitions required to highlight the code must be included in the main `prism.js` file for\n\t\t * asynchronous highlighting to work. You can build your own bundle on the\n\t\t * [Download page](https://prismjs.com/download.html).\n\t\t * @param {HighlightCallback} [callback] An optional callback to be invoked after the highlighting is done.\n\t\t * Mostly useful when `async` is `true`, since in that case, the highlighting is done asynchronously.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightElement: function (element, async, callback) {\n\t\t\t// Find language\n\t\t\tvar language = _.util.getLanguage(element);\n\t\t\tvar grammar = _.languages[language];\n\n\t\t\t// Set language on the element, if not present\n\t\t\t_.util.setLanguage(element, language);\n\n\t\t\t// Set language on the parent, for styling\n\t\t\tvar parent = element.parentElement;\n\t\t\tif (parent && parent.nodeName.toLowerCase() === 'pre') {\n\t\t\t\t_.util.setLanguage(parent, language);\n\t\t\t}\n\n\t\t\tvar code = element.textContent;\n\n\t\t\tvar env = {\n\t\t\t\telement: element,\n\t\t\t\tlanguage: language,\n\t\t\t\tgrammar: grammar,\n\t\t\t\tcode: code\n\t\t\t};\n\n\t\t\tfunction insertHighlightedCode(highlightedCode) {\n\t\t\t\tenv.highlightedCode = highlightedCode;\n\n\t\t\t\t_.hooks.run('before-insert', env);\n\n\t\t\t\tenv.element.innerHTML = env.highlightedCode;\n\n\t\t\t\t_.hooks.run('after-highlight', env);\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t}\n\n\t\t\t_.hooks.run('before-sanity-check', env);\n\n\t\t\t// plugins may change/add the parent/element\n\t\t\tparent = env.element.parentElement;\n\t\t\tif (parent && parent.nodeName.toLowerCase() === 'pre' && !parent.hasAttribute('tabindex')) {\n\t\t\t\tparent.setAttribute('tabindex', '0');\n\t\t\t}\n\n\t\t\tif (!env.code) {\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t_.hooks.run('before-highlight', env);\n\n\t\t\tif (!env.grammar) {\n\t\t\t\tinsertHighlightedCode(_.util.encode(env.code));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (async && _self.Worker) {\n\t\t\t\tvar worker = new Worker(_.filename);\n\n\t\t\t\tworker.onmessage = function (evt) {\n\t\t\t\t\tinsertHighlightedCode(evt.data);\n\t\t\t\t};\n\n\t\t\t\tworker.postMessage(JSON.stringify({\n\t\t\t\t\tlanguage: env.language,\n\t\t\t\t\tcode: env.code,\n\t\t\t\t\timmediateClose: true\n\t\t\t\t}));\n\t\t\t} else {\n\t\t\t\tinsertHighlightedCode(_.highlight(env.code, env.grammar, env.language));\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Low-level function, only use if you know what you’re doing. It accepts a string of text as input\n\t\t * and the language definitions to use, and returns a string with the HTML produced.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-tokenize`\n\t\t * 2. `after-tokenize`\n\t\t * 3. `wrap`: On each {@link Token}.\n\t\t *\n\t\t * @param {string} text A string with the code to be highlighted.\n\t\t * @param {Grammar} grammar An object containing the tokens to use.\n\t\t *\n\t\t * Usually a language definition like `Prism.languages.markup`.\n\t\t * @param {string} language The name of the language definition passed to `grammar`.\n\t\t * @returns {string} The highlighted HTML.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t * @example\n\t\t * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');\n\t\t */\n\t\thighlight: function (text, grammar, language) {\n\t\t\tvar env = {\n\t\t\t\tcode: text,\n\t\t\t\tgrammar: grammar,\n\t\t\t\tlanguage: language\n\t\t\t};\n\t\t\t_.hooks.run('before-tokenize', env);\n\t\t\tif (!env.grammar) {\n\t\t\t\tthrow new Error('The language \"' + env.language + '\" has no grammar.');\n\t\t\t}\n\t\t\tenv.tokens = _.tokenize(env.code, env.grammar);\n\t\t\t_.hooks.run('after-tokenize', env);\n\t\t\treturn Token.stringify(_.util.encode(env.tokens), env.language);\n\t\t},\n\n\t\t/**\n\t\t * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input\n\t\t * and the language definitions to use, and returns an array with the tokenized code.\n\t\t *\n\t\t * When the language definition includes nested tokens, the function is called recursively on each of these tokens.\n\t\t *\n\t\t * This method could be useful in other contexts as well, as a very crude parser.\n\t\t *\n\t\t * @param {string} text A string with the code to be highlighted.\n\t\t * @param {Grammar} grammar An object containing the tokens to use.\n\t\t *\n\t\t * Usually a language definition like `Prism.languages.markup`.\n\t\t * @returns {TokenStream} An array of strings and tokens, a token stream.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t * @example\n\t\t * let code = `var foo = 0;`;\n\t\t * let tokens = Prism.tokenize(code, Prism.languages.javascript);\n\t\t * tokens.forEach(token => {\n\t\t * if (token instanceof Prism.Token && token.type === 'number') {\n\t\t * console.log(`Found numeric literal: ${token.content}`);\n\t\t * }\n\t\t * });\n\t\t */\n\t\ttokenize: function (text, grammar) {\n\t\t\tvar rest = grammar.rest;\n\t\t\tif (rest) {\n\t\t\t\tfor (var token in rest) {\n\t\t\t\t\tgrammar[token] = rest[token];\n\t\t\t\t}\n\n\t\t\t\tdelete grammar.rest;\n\t\t\t}\n\n\t\t\tvar tokenList = new LinkedList();\n\t\t\taddAfter(tokenList, tokenList.head, text);\n\n\t\t\tmatchGrammar(text, tokenList, grammar, tokenList.head, 0);\n\n\t\t\treturn toArray(tokenList);\n\t\t},\n\n\t\t/**\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thooks: {\n\t\t\tall: {},\n\n\t\t\t/**\n\t\t\t * Adds the given callback to the list of callbacks for the given hook.\n\t\t\t *\n\t\t\t * The callback will be invoked when the hook it is registered for is run.\n\t\t\t * Hooks are usually directly run by a highlight function but you can also run hooks yourself.\n\t\t\t *\n\t\t\t * One callback function can be registered to multiple hooks and the same hook multiple times.\n\t\t\t *\n\t\t\t * @param {string} name The name of the hook.\n\t\t\t * @param {HookCallback} callback The callback function which is given environment variables.\n\t\t\t * @public\n\t\t\t */\n\t\t\tadd: function (name, callback) {\n\t\t\t\tvar hooks = _.hooks.all;\n\n\t\t\t\thooks[name] = hooks[name] || [];\n\n\t\t\t\thooks[name].push(callback);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Runs a hook invoking all registered callbacks with the given environment variables.\n\t\t\t *\n\t\t\t * Callbacks will be invoked synchronously and in the order in which they were registered.\n\t\t\t *\n\t\t\t * @param {string} name The name of the hook.\n\t\t\t * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.\n\t\t\t * @public\n\t\t\t */\n\t\t\trun: function (name, env) {\n\t\t\t\tvar callbacks = _.hooks.all[name];\n\n\t\t\t\tif (!callbacks || !callbacks.length) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfor (var i = 0, callback; (callback = callbacks[i++]);) {\n\t\t\t\t\tcallback(env);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tToken: Token\n\t};\n\t_self.Prism = _;\n\n\n\t// Typescript note:\n\t// The following can be used to import the Token type in JSDoc:\n\t//\n\t// @typedef {InstanceType<import(\"./prism-core\")[\"Token\"]>} Token\n\n\t/**\n\t * Creates a new token.\n\t *\n\t * @param {string} type See {@link Token#type type}\n\t * @param {string | TokenStream} content See {@link Token#content content}\n\t * @param {string|string[]} [alias] The alias(es) of the token.\n\t * @param {string} [matchedStr=\"\"] A copy of the full string this token was created from.\n\t * @class\n\t * @global\n\t * @public\n\t */\n\tfunction Token(type, content, alias, matchedStr) {\n\t\t/**\n\t\t * The type of the token.\n\t\t *\n\t\t * This is usually the key of a pattern in a {@link Grammar}.\n\t\t *\n\t\t * @type {string}\n\t\t * @see GrammarToken\n\t\t * @public\n\t\t */\n\t\tthis.type = type;\n\t\t/**\n\t\t * The strings or tokens contained by this token.\n\t\t *\n\t\t * This will be a token stream if the pattern matched also defined an `inside` grammar.\n\t\t *\n\t\t * @type {string | TokenStream}\n\t\t * @public\n\t\t */\n\t\tthis.content = content;\n\t\t/**\n\t\t * The alias(es) of the token.\n\t\t *\n\t\t * @type {string|string[]}\n\t\t * @see GrammarToken\n\t\t * @public\n\t\t */\n\t\tthis.alias = alias;\n\t\t// Copy of the full string this token was created from\n\t\tthis.length = (matchedStr || '').length | 0;\n\t}\n\n\t/**\n\t * A token stream is an array of strings and {@link Token Token} objects.\n\t *\n\t * Token streams have to fulfill a few properties that are assumed by most functions (mostly internal ones) that process\n\t * them.\n\t *\n\t * 1. No adjacent strings.\n\t * 2. No empty strings.\n\t *\n\t * The only exception here is the token stream that only contains the empty string and nothing else.\n\t *\n\t * @typedef {Array<string | Token>} TokenStream\n\t * @global\n\t * @public\n\t */\n\n\t/**\n\t * Converts the given token or token stream to an HTML representation.\n\t *\n\t * The following hooks will be run:\n\t * 1. `wrap`: On each {@link Token}.\n\t *\n\t * @param {string | Token | TokenStream} o The token or token stream to be converted.\n\t * @param {string} language The name of current language.\n\t * @returns {string} The HTML representation of the token or token stream.\n\t * @memberof Token\n\t * @static\n\t */\n\tToken.stringify = function stringify(o, language) {\n\t\tif (typeof o == 'string') {\n\t\t\treturn o;\n\t\t}\n\t\tif (Array.isArray(o)) {\n\t\t\tvar s = '';\n\t\t\to.forEach(function (e) {\n\t\t\t\ts += stringify(e, language);\n\t\t\t});\n\t\t\treturn s;\n\t\t}\n\n\t\tvar env = {\n\t\t\ttype: o.type,\n\t\t\tcontent: stringify(o.content, language),\n\t\t\ttag: 'span',\n\t\t\tclasses: ['token', o.type],\n\t\t\tattributes: {},\n\t\t\tlanguage: language\n\t\t};\n\n\t\tvar aliases = o.alias;\n\t\tif (aliases) {\n\t\t\tif (Array.isArray(aliases)) {\n\t\t\t\tArray.prototype.push.apply(env.classes, aliases);\n\t\t\t} else {\n\t\t\t\tenv.classes.push(aliases);\n\t\t\t}\n\t\t}\n\n\t\t_.hooks.run('wrap', env);\n\n\t\tvar attributes = '';\n\t\tfor (var name in env.attributes) {\n\t\t\tattributes += ' ' + name + '=\"' + (env.attributes[name] || '').replace(/\"/g, '"') + '\"';\n\t\t}\n\n\t\treturn '<' + env.tag + ' class=\"' + env.classes.join(' ') + '\"' + attributes + '>' + env.content + '</' + env.tag + '>';\n\t};\n\n\t/**\n\t * @param {RegExp} pattern\n\t * @param {number} pos\n\t * @param {string} text\n\t * @param {boolean} lookbehind\n\t * @returns {RegExpExecArray | null}\n\t */\n\tfunction matchPattern(pattern, pos, text, lookbehind) {\n\t\tpattern.lastIndex = pos;\n\t\tvar match = pattern.exec(text);\n\t\tif (match && lookbehind && match[1]) {\n\t\t\t// change the match to remove the text matched by the Prism lookbehind group\n\t\t\tvar lookbehindLength = match[1].length;\n\t\t\tmatch.index += lookbehindLength;\n\t\t\tmatch[0] = match[0].slice(lookbehindLength);\n\t\t}\n\t\treturn match;\n\t}\n\n\t/**\n\t * @param {string} text\n\t * @param {LinkedList<string | Token>} tokenList\n\t * @param {any} grammar\n\t * @param {LinkedListNode<string | Token>} startNode\n\t * @param {number} startPos\n\t * @param {RematchOptions} [rematch]\n\t * @returns {void}\n\t * @private\n\t *\n\t * @typedef RematchOptions\n\t * @property {string} cause\n\t * @property {number} reach\n\t */\n\tfunction matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {\n\t\tfor (var token in grammar) {\n\t\t\tif (!grammar.hasOwnProperty(token) || !grammar[token]) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tvar patterns = grammar[token];\n\t\t\tpatterns = Array.isArray(patterns) ? patterns : [patterns];\n\n\t\t\tfor (var j = 0; j < patterns.length; ++j) {\n\t\t\t\tif (rematch && rematch.cause == token + ',' + j) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar patternObj = patterns[j];\n\t\t\t\tvar inside = patternObj.inside;\n\t\t\t\tvar lookbehind = !!patternObj.lookbehind;\n\t\t\t\tvar greedy = !!patternObj.greedy;\n\t\t\t\tvar alias = patternObj.alias;\n\n\t\t\t\tif (greedy && !patternObj.pattern.global) {\n\t\t\t\t\t// Without the global flag, lastIndex won't work\n\t\t\t\t\tvar flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];\n\t\t\t\t\tpatternObj.pattern = RegExp(patternObj.pattern.source, flags + 'g');\n\t\t\t\t}\n\n\t\t\t\t/** @type {RegExp} */\n\t\t\t\tvar pattern = patternObj.pattern || patternObj;\n\n\t\t\t\tfor ( // iterate the token list and keep track of the current token/string position\n\t\t\t\t\tvar currentNode = startNode.next, pos = startPos;\n\t\t\t\t\tcurrentNode !== tokenList.tail;\n\t\t\t\t\tpos += currentNode.value.length, currentNode = currentNode.next\n\t\t\t\t) {\n\n\t\t\t\t\tif (rematch && pos >= rematch.reach) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar str = currentNode.value;\n\n\t\t\t\t\tif (tokenList.length > text.length) {\n\t\t\t\t\t\t// Something went terribly wrong, ABORT, ABORT!\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (str instanceof Token) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar removeCount = 1; // this is the to parameter of removeBetween\n\t\t\t\t\tvar match;\n\n\t\t\t\t\tif (greedy) {\n\t\t\t\t\t\tmatch = matchPattern(pattern, pos, text, lookbehind);\n\t\t\t\t\t\tif (!match || match.index >= text.length) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvar from = match.index;\n\t\t\t\t\t\tvar to = match.index + match[0].length;\n\t\t\t\t\t\tvar p = pos;\n\n\t\t\t\t\t\t// find the node that contains the match\n\t\t\t\t\t\tp += currentNode.value.length;\n\t\t\t\t\t\twhile (from >= p) {\n\t\t\t\t\t\t\tcurrentNode = currentNode.next;\n\t\t\t\t\t\t\tp += currentNode.value.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// adjust pos (and p)\n\t\t\t\t\t\tp -= currentNode.value.length;\n\t\t\t\t\t\tpos = p;\n\n\t\t\t\t\t\t// the current node is a Token, then the match starts inside another Token, which is invalid\n\t\t\t\t\t\tif (currentNode.value instanceof Token) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// find the last node which is affected by this match\n\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\tvar k = currentNode;\n\t\t\t\t\t\t\tk !== tokenList.tail && (p < to || typeof k.value === 'string');\n\t\t\t\t\t\t\tk = k.next\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveCount++;\n\t\t\t\t\t\t\tp += k.value.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tremoveCount--;\n\n\t\t\t\t\t\t// replace with the new match\n\t\t\t\t\t\tstr = text.slice(pos, p);\n\t\t\t\t\t\tmatch.index -= pos;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmatch = matchPattern(pattern, 0, str, lookbehind);\n\t\t\t\t\t\tif (!match) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// eslint-disable-next-line no-redeclare\n\t\t\t\t\tvar from = match.index;\n\t\t\t\t\tvar matchStr = match[0];\n\t\t\t\t\tvar before = str.slice(0, from);\n\t\t\t\t\tvar after = str.slice(from + matchStr.length);\n\n\t\t\t\t\tvar reach = pos + str.length;\n\t\t\t\t\tif (rematch && reach > rematch.reach) {\n\t\t\t\t\t\trematch.reach = reach;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar removeFrom = currentNode.prev;\n\n\t\t\t\t\tif (before) {\n\t\t\t\t\t\tremoveFrom = addAfter(tokenList, removeFrom, before);\n\t\t\t\t\t\tpos += before.length;\n\t\t\t\t\t}\n\n\t\t\t\t\tremoveRange(tokenList, removeFrom, removeCount);\n\n\t\t\t\t\tvar wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr);\n\t\t\t\t\tcurrentNode = addAfter(tokenList, removeFrom, wrapped);\n\n\t\t\t\t\tif (after) {\n\t\t\t\t\t\taddAfter(tokenList, currentNode, after);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (removeCount > 1) {\n\t\t\t\t\t\t// at least one Token object was removed, so we have to do some rematching\n\t\t\t\t\t\t// this can only happen if the current pattern is greedy\n\n\t\t\t\t\t\t/** @type {RematchOptions} */\n\t\t\t\t\t\tvar nestedRematch = {\n\t\t\t\t\t\t\tcause: token + ',' + j,\n\t\t\t\t\t\t\treach: reach\n\t\t\t\t\t\t};\n\t\t\t\t\t\tmatchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch);\n\n\t\t\t\t\t\t// the reach might have been extended because of the rematching\n\t\t\t\t\t\tif (rematch && nestedRematch.reach > rematch.reach) {\n\t\t\t\t\t\t\trematch.reach = nestedRematch.reach;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @typedef LinkedListNode\n\t * @property {T} value\n\t * @property {LinkedListNode<T> | null} prev The previous node.\n\t * @property {LinkedListNode<T> | null} next The next node.\n\t * @template T\n\t * @private\n\t */\n\n\t/**\n\t * @template T\n\t * @private\n\t */\n\tfunction LinkedList() {\n\t\t/** @type {LinkedListNode<T>} */\n\t\tvar head = { value: null, prev: null, next: null };\n\t\t/** @type {LinkedListNode<T>} */\n\t\tvar tail = { value: null, prev: head, next: null };\n\t\thead.next = tail;\n\n\t\t/** @type {LinkedListNode<T>} */\n\t\tthis.head = head;\n\t\t/** @type {LinkedListNode<T>} */\n\t\tthis.tail = tail;\n\t\tthis.length = 0;\n\t}\n\n\t/**\n\t * Adds a new node with the given value to the list.\n\t *\n\t * @param {LinkedList<T>} list\n\t * @param {LinkedListNode<T>} node\n\t * @param {T} value\n\t * @returns {LinkedListNode<T>} The added node.\n\t * @template T\n\t */\n\tfunction addAfter(list, node, value) {\n\t\t// assumes that node != list.tail && values.length >= 0\n\t\tvar next = node.next;\n\n\t\tvar newNode = { value: value, prev: node, next: next };\n\t\tnode.next = newNode;\n\t\tnext.prev = newNode;\n\t\tlist.length++;\n\n\t\treturn newNode;\n\t}\n\t/**\n\t * Removes `count` nodes after the given node. The given node will not be removed.\n\t *\n\t * @param {LinkedList<T>} list\n\t * @param {LinkedListNode<T>} node\n\t * @param {number} count\n\t * @template T\n\t */\n\tfunction removeRange(list, node, count) {\n\t\tvar next = node.next;\n\t\tfor (var i = 0; i < count && next !== list.tail; i++) {\n\t\t\tnext = next.next;\n\t\t}\n\t\tnode.next = next;\n\t\tnext.prev = node;\n\t\tlist.length -= i;\n\t}\n\t/**\n\t * @param {LinkedList<T>} list\n\t * @returns {T[]}\n\t * @template T\n\t */\n\tfunction toArray(list) {\n\t\tvar array = [];\n\t\tvar node = list.head.next;\n\t\twhile (node !== list.tail) {\n\t\t\tarray.push(node.value);\n\t\t\tnode = node.next;\n\t\t}\n\t\treturn array;\n\t}\n\n\n\tif (!_self.document) {\n\t\tif (!_self.addEventListener) {\n\t\t\t// in Node.js\n\t\t\treturn _;\n\t\t}\n\n\t\tif (!_.disableWorkerMessageHandler) {\n\t\t\t// In worker\n\t\t\t_self.addEventListener('message', function (evt) {\n\t\t\t\tvar message = JSON.parse(evt.data);\n\t\t\t\tvar lang = message.language;\n\t\t\t\tvar code = message.code;\n\t\t\t\tvar immediateClose = message.immediateClose;\n\n\t\t\t\t_self.postMessage(_.highlight(code, _.languages[lang], lang));\n\t\t\t\tif (immediateClose) {\n\t\t\t\t\t_self.close();\n\t\t\t\t}\n\t\t\t}, false);\n\t\t}\n\n\t\treturn _;\n\t}\n\n\t// Get current script and highlight\n\tvar script = _.util.currentScript();\n\n\tif (script) {\n\t\t_.filename = script.src;\n\n\t\tif (script.hasAttribute('data-manual')) {\n\t\t\t_.manual = true;\n\t\t}\n\t}\n\n\tfunction highlightAutomaticallyCallback() {\n\t\tif (!_.manual) {\n\t\t\t_.highlightAll();\n\t\t}\n\t}\n\n\tif (!_.manual) {\n\t\t// If the document state is \"loading\", then we'll use DOMContentLoaded.\n\t\t// If the document state is \"interactive\" and the prism.js script is deferred, then we'll also use the\n\t\t// DOMContentLoaded event because there might be some plugins or languages which have also been deferred and they\n\t\t// might take longer one animation frame to execute which can create a race condition where only some plugins have\n\t\t// been loaded when Prism.highlightAll() is executed, depending on how fast resources are loaded.\n\t\t// See https://github.com/PrismJS/prism/issues/2102\n\t\tvar readyState = document.readyState;\n\t\tif (readyState === 'loading' || readyState === 'interactive' && script && script.defer) {\n\t\t\tdocument.addEventListener('DOMContentLoaded', highlightAutomaticallyCallback);\n\t\t} else {\n\t\t\tif (window.requestAnimationFrame) {\n\t\t\t\twindow.requestAnimationFrame(highlightAutomaticallyCallback);\n\t\t\t} else {\n\t\t\t\twindow.setTimeout(highlightAutomaticallyCallback, 16);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn _;\n\n}(_self));\n\nif (typeof module !== 'undefined' && module.exports) {\n\tmodule.exports = Prism;\n}\n\n// hack for components to work correctly in node.js\nif (typeof global !== 'undefined') {\n\tglobal.Prism = Prism;\n}\n\n// some additional documentation/types\n\n/**\n * The expansion of a simple `RegExp` literal to support additional properties.\n *\n * @typedef GrammarToken\n * @property {RegExp} pattern The regular expression of the token.\n * @property {boolean} [lookbehind=false] If `true`, then the first capturing group of `pattern` will (effectively)\n * behave as a lookbehind group meaning that the captured text will not be part of the matched text of the new token.\n * @property {boolean} [greedy=false] Whether the token is greedy.\n * @property {string|string[]} [alias] An optional alias or list of aliases.\n * @property {Grammar} [inside] The nested grammar of this token.\n *\n * The `inside` grammar will be used to tokenize the text value of each token of this kind.\n *\n * This can be used to make nested and even recursive language definitions.\n *\n * Note: This can cause infinite recursion. Be careful when you embed different languages or even the same language into\n * each another.\n * @global\n * @public\n */\n\n/**\n * @typedef Grammar\n * @type {Object<string, RegExp | GrammarToken | Array<RegExp | GrammarToken>>}\n * @property {Grammar} [rest] An optional grammar object that will be appended to this grammar.\n * @global\n * @public\n */\n\n/**\n * A function which will invoked after an element was successfully highlighted.\n *\n * @callback HighlightCallback\n * @param {Element} element The element successfully highlighted.\n * @returns {void}\n * @global\n * @public\n */\n\n/**\n * @callback HookCallback\n * @param {Object<string, any>} env The environment variables of the hook.\n * @returns {void}\n * @global\n * @public\n */\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","var parse = require('inline-style-parser');\n\n/**\n * Parses inline style to object.\n *\n * @example\n * // returns { 'line-height': '42' }\n * StyleToObject('line-height: 42;');\n *\n * @param {String} style - The inline style.\n * @param {Function} [iterator] - The iterator function.\n * @return {null|Object}\n */\nfunction StyleToObject(style, iterator) {\n var output = null;\n if (!style || typeof style !== 'string') {\n return output;\n }\n\n var declaration;\n var declarations = parse(style);\n var hasIterator = typeof iterator === 'function';\n var property;\n var value;\n\n for (var i = 0, len = declarations.length; i < len; i++) {\n declaration = declarations[i];\n property = declaration.property;\n value = declaration.value;\n\n if (hasIterator) {\n iterator(property, value, declaration);\n } else if (value) {\n output || (output = {});\n output[property] = value;\n }\n }\n\n return output;\n}\n\nmodule.exports = StyleToObject;\n","module.exports = extend\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction extend() {\n var target = {}\n\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n\n return target\n}\n","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\nvar possibleConstructorReturn = require(\"./possibleConstructorReturn.js\");\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return possibleConstructorReturn(this, result);\n };\n}\nmodule.exports = _createSuper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var superPropBase = require(\"./superPropBase.js\");\nfunction _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n module.exports = _get = Reflect.get.bind(), module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n } else {\n module.exports = _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n return desc.value;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n }\n return _get.apply(this, arguments);\n}\nmodule.exports = _get, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n}\nmodule.exports = _superPropBase, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n}","\nconst data = {\n \"categories\": [\n {\n \"title\": \"Proxmox Tools\",\n }, {\n \"title\": \"Home Assistant\",\n }, {\n \"title\": \"Automation\",\n }, {\n \"title\": \"MQTT\",\n }, {\n \"title\": \"Database\",\n }, {\n \"title\": \"Zigbee - Zwave\",\n }, {\n \"title\": \"Monitoring - Analytics\",\n }, {\n \"title\": \"Docker - Kubernetes\",\n }, {\n \"title\": \"Operating System\",\n }, {\n \"title\": \"Server - Networking\",\n }, {\n \"title\": \"Media - Photo\",\n }, {\n \"title\": \"Ad Blocker - DNS\",\n }, {\n \"title\": \"Document - Notes\",\n }, {\n \"title\": \"Dashboards\",\n }, {\n \"title\": \"File - Code\",\n }, {\n \"title\": \"Miscellaneous\",\n }],\n \"items\": [\n {\n \"category\": \"Proxmox Tools\",\n \"title\": \"Proxmox VE 7 Post Install\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/home-assistant/brands/blob/master/core_integrations/proxmoxve/icon.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Proxmox VE 7 Post Install </h1>\n \n The script will give options to Disable the Enterprise Repo, Add/Correct PVE7 Sources, Enable the No-Subscription Repo, Add Test/Beta Repo, Disable Subscription Nag, Update Proxmox VE and Reboot PVE.\n \n Run the command below in the <b>Proxmox Shell</b>. ⚠️ **PVE7 ONLY**\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/post-pve-install.sh)\"\n ~~~\n \n <p>It's recommended to answer <code class=\"highlighter-rouge\">y</code> to all options.</p>`\n },\n {\n \"category\": \"Proxmox Tools\",\n\n \"title\": \"Proxmox Kernel Clean\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/home-assistant/brands/blob/master/core_integrations/proxmoxve/icon.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\">Proxmox Kernel Clean </h1>\n Cleaning unused kernel images is not only good because of a reduced grub menu, but also gains some disk space.\n \n Run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/kernel-clean.sh)\"\n ~~~`\n },\n {\n \"category\": \"Proxmox Tools\",\n\n \"title\": \"Proxmox Edge Kernel Tool\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/home-assistant/brands/blob/master/core_integrations/proxmoxve/icon.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\">Proxmox Edge Kernel Tool </h1>\n\n PVE [Edge Kernels](https://github.com/fabianishere/pve-edge-kernel) are custom Linux Kernels for Proxmox VE 7. Keeping up with new Kernel releases instead of LTS\n \n Run the command below in the Proxmox Shell.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/edge-kernel.sh)\"\n ~~~`\n },\n {\n \"category\": \"Proxmox Tools\",\n\n \"title\": \"Proxmox CPU Scaling Governor\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/tteck/Proxmox/blob/main/misc/images/cpu.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\">Proxmox CPU Scaling Governor </h1>\n\n CPU Scaling Governor enables the operating system to scale the CPU frequency up or down in order to save power or improve performance. [Generic Scaling Governors](https://www.kernel.org/doc/html/latest/admin-guide/pm/cpufreq.html?#generic-scaling-governors)\n \n Run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/scaling-governor.sh)\"\n ~~~`\n },\n {\n \"category\": \"Proxmox Tools\",\n\n \"title\": \"Proxmox LXC Updater\",\n \"content\": `<p align=\"center\"><img src=\"https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Felpuig.xeill.net%2FMembers%2Fvcarceler%2Farticulos%2Fcontenedores-con-lxd-lxc%2Fcontainers.png&f=1&nofb=1\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\">Proxmox LXC Updater </h1>\n Update All LXC's Fast & Easy (Ubuntu, Debian, Devuan, Alpine Linux, CentOS-Rocky-Alma, Fedora, ArchLinux)\n \n Run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/update-lxcs.sh)\"\n ~~~`\n },\n {\n \"category\": \"Proxmox Tools\",\n\n \"title\": \"Proxmox Dark Theme\",\n \"content\": `<p align=\"center\"><img src=\"https://camo.githubusercontent.com/f6f33a09f8c1207dfb3dc1cbd754c2f3393562c11b1c999751ad9a91a656834a/68747470733a2f2f692e696d6775722e636f6d2f536e6c437948462e706e67\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Proxmox Discord Dark Theme </h1>\n \n A dark theme for the Proxmox Web UI by [Weilbyte](https://github.com/Weilbyte/PVEDiscordDark)\n \n Run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash <(curl -s https://raw.githubusercontent.com/Weilbyte/PVEDiscordDark/master/PVEDiscordDark.sh ) install\n ~~~\n \n To uninstall the theme, simply run the script with the <code class=\"highlighter-rouge\">uninstall</code> command.`\n },\n {\n \"category\": \"Proxmox Tools\",\n\n \"title\": \"Proxmox Backup Server Post Install\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/home-assistant/brands/blob/master/core_integrations/proxmoxve/icon.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Proxmox Backup Server Post Install </h1>\n The script will give options to Disable the Enterprise Repo, Add/Correct PBS Sources, Enable the No-Subscription Repo, Add Test Repo, Disable Subscription Nag, Update Proxmox Backup Server and Reboot PBS.\n \n Run the command below in the <b>Proxmox Shell</b>. ⚠️ **Proxmox Backup Server ONLY**\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/post-pbs-install.sh)\"\n ~~~\n \n It's recommended to answer <code class=\"highlighter-rouge\">y</code> to all options.`\n },\n {\n \"category\": \"Home Assistant\",\n\n \"title\": \"Home Assistant OS VM\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/tteck/Proxmox/blob/main/misc/images/haos.png?raw=true\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Home Assistant OS VM </h1>\n <h3 align=\"center\"> Option to create VM using Stable, Beta, Dev or Latest Image </h3>\n \n The script automates the manual process of finding, downloading and extracting the Official KVM (qcow2) disk image provided by the Home Assistant Team, creating a VM with user defined settings, importing and attaching the disk, setting the boot order and starting the VM. No hidden (kpartx, unzip, ect...) installs of any kind. Supports lvmthin, zfspool, nfs, dir and btrfs storage types.\n \n To create a new Proxmox Home Assistant OS VM, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/vm/haos-vm-v4.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 4GB RAM - 32GB Storage - 2vCPU - Stable Image ⚡</h3>\n \n After the script completes, click on the VM, then on the **_Summary_** tab to find the VM IP.\n \n **Home Assistant Interface: IP:8123**`\n },\n {\n \"category\": \"Home Assistant\",\n\n \"title\": \"PiMox HAOS VM\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/tteck/Proxmox/blob/main/misc/images/pimox.png?raw=true\" width=\"100\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\"> PiMox HAOS VM </h1>\n \n <h3 align=\"center\"> Option to create VM using Stable, Beta or Dev Image </h3>\n \n The script automates the manual process of finding, downloading and extracting the aarch64 (qcow2) disk image provided by the Home Assistant Team, creating a VM with user defined settings, importing and attaching the disk, setting the boot order and starting the VM.\n \n To create a new PiMox HAOS VM, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/vm/pimox-haos-vm-v4.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 4GB RAM - 32GB Storage - 2vCPU - Stable Image ⚡</h3>\n \n After the script completes, click on the VM, then on the **_Console_** tab to find the VM IP.\n \n **Home Assistant Interface: IP:8123**`\n },\n {\n \"category\": \"Home Assistant\",\n\n \"title\": \"Home Assistant Container LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/docker/docs/main/assets/images/docker-icon.svg\" height=\"100\"/>\n <img src=\"https://avatars.githubusercontent.com/u/13844975?s=200&v=4\" width=\"100\" height=\"100\"/><img src=\"https://avatars1.githubusercontent.com/u/22225832?s=400&v=4\" alt=\"GitHub - portainer/portainer-docs: Portainer documentation\" width=\"100\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Home Assistant Container LXC </h1>\n <h3 align=\"center\"> Option to Use Fuse Overlayfs (Advanced)</h3> \n\n 🛈 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n\n A standalone container-based installation of Home Assistant Core\n \n To create a new Proxmox Home Assistant Container LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update ALL Containers, Remove Unused Images or Install HACS, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/homeassistant-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 16GB Storage - 2vCPU ⚡</h3>\n \n **Home Assistant Interface: IP:8123**\n \n **Portainer Interface: IP:9000**\n \n ⚙️ **Path to HA /config**\n ~~~bash\n /var/lib/docker/volumes/hass_config/_data\n ~~~`\n \n },\n {\n \"category\": \"Home Assistant\",\n\n \"title\": \"Home Assistant Core LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://avatars.githubusercontent.com/u/13844975?s=200&v=4\" width=\"100\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Home Assistant Core LXC </h1>\n \n A standalone installation of Home Assistant Core\n \n 🛈 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n \n To create a new Proxmox Home Assistant Core LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update, Install HACS or Filebrowser, run the command below in the <b>LXC Console</b>. <br>\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/homeassistant-core-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n\n **Home Assistant Interface: IP:8123**\n \n ⚙️ **Path to HA /config**\n ~~~bash\n /root/.homeassistant\n ~~~`\n \n },\n {\n \"category\": \"Home Assistant\",\n\n \"title\": \"Podman Home Assistant Container LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/podman.svg\" height=\"100\"/>\n <img src=\"https://avatars.githubusercontent.com/u/13844975?s=200&v=4\" height=\"100\"/><img/></p>\n <h1 align=\"center\" id=\"heading\">Podman Home Assistant Container LXC</h1>\n \n A standalone container-based installation of Home Assistant Core\n \n 🛈 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n\n To create a new Proxmox Podman Home Assistant Container LXC, run the command below in the <b>Proxmox Shell</b>. <br> \n To Update Podman, Install HACS or FileBrowser, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/podman-homeassistant-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 16GB Storage - 2vCPU ⚡</h3>\n \n **Home Assistant Interface: IP:8123**\n \n ⚙️ **Path to HA /config**\n ~~~bash\n /var/lib/containers/storage/volumes/hass_config/_data\n ~~~`\n\n },\n {\n \"category\": \"Automation\",\n\n \"title\": \"ioBroker LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/ioBroker/ioBroker/blob/master/img/logos/ioBroker_Logo_256px.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> ioBroker LXC </h1>\n \n [ioBroker](https://www.iobroker.net/#en/intro) is an open source automation platform.\n \n To create a new Proxmox ioBroker LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/iobroker-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **ioBroker Interface: IP:8081**`\n \n },\n {\n \"category\": \"Automation\",\n\n \"title\": \"openHAB LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://www.openhab.org/openhab-logo-square.png?raw=true\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\">openHAB LXC</h1>\n\n [openHAB](https://www.openhab.org/), a vendor and technology agnostic open source automation software for your home.\n \n To create a new Proxmox openHAB LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/openhab-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **openHAB Interface: IP:8080**`\n \n },\n {\n \"category\": \"Automation\",\n\n \"title\": \"Homebridge LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fwww.dingz.ch%2Fadmin%2Fdata%2Ffiles%2Fintegration%2Flogo%2F20%2F200514-em-logo-homebridge_logo.png%3Flm%3D1589459081&f=1&nofb=1\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\">Homebridge LXC</h1>\n\n [Homebridge](https://homebridge.io/) allows you to integrate with smart home devices that do not natively support HomeKit\n \n To create a new Proxmox Homebridge LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/homebridge-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 1vCPU ⚡</h3>\n \n **Homebridge Interface: IP:8581**\n \n ⚙️ **Initial Login**\n \n **username** <code class=\"highlighter-rouge\">admin</code>\n \n **password** <code class=\"highlighter-rouge\">admin</code>`\n \n },\n {\n \"category\": \"Automation\",\n\n \"title\": \"ESPHome LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/home-assistant/brands/blob/master/core_integrations/esphome/dark_icon@2x.png?raw=true\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\">ESPHome LXC</h1>\n \n [ESPHome](https://esphome.io/) is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.\n \n To create a new Proxmox ESPHome LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update ESPHome, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/esphome-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **ESPHome Interface: IP:6052**`\n \n },\n {\n \"category\": \"Automation\",\n\n \"title\": \"Node-Red LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/home-assistant/brands/blob/master/custom_integrations/nodered/icon.png?raw=true\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\">Node-Red LXC</h1>\n\n [Node-RED](https://nodered.org/) is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.\n \n To create a new Proxmox Node-RED LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Node-Red or Install Themes run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/node-red-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 1vCPU ⚡</h3>\n \n **Node-Red Interface: IP:1880**`\n \n },\n {\n \"category\": \"Automation\",\n\n \"title\": \"n8n LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://docs.n8n.io/_images/n8n-docs-icon.svg\" height=\"70\"/></p>\n <h1 align=\"center\" id=\"heading\">n8n LXC</h1>\n \n [n8n](https://n8n.io/) is an extendable workflow automation tool which enables you to connect anything to everything.\n \n To create a new Proxmox n8n LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update n8n, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/n8n-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 3GB Storage - 2vCPU ⚡</h3>\n \n **n8n Interface: IP:5678**`\n \n },\n {\n \"category\": \"Automation\",\n\n \"title\": \"Scrypted LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://www.scrypted.app/images/web_hi_res_512.png?raw=true\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\">Scrypted LXC</h1>\n\n <h3 align=\"center\"> Option to add Coral Edge TPU support </h3> \n \n [Scrypted](https://www.scrypted.app/) is a home automation platform primarily focusing on making camera experiences seamless.\n\n 🛈 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n \n To create a new Proxmox Scrypted LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/scrypted-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **Scrypted Interface: (https)IP:10443**`\n \n },\n {\n \"category\": \"MQTT\",\n\n \"title\": \"MQTT LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/eclipsemosquitto.svg\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\">MQTT LXC</h1>\n \n [Eclipse Mosquitto](https://mosquitto.org/) is an open source message broker that implements the MQTT protocol\n \n To create a new Proxmox MQTT LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/mqtt-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n Mosquitto comes with a password file generating utility called mosquitto_passwd.\n ~~~bash\n sudo mosquitto_passwd -c /etc/mosquitto/passwd <usr>\n ~~~\n Password: < password >\n \n Create a configuration file for Mosquitto pointing to the password file we have just created.\n ~~~bash\n sudo nano /etc/mosquitto/conf.d/default.conf\n ~~~\n This will open an empty file. Paste the command below into it.\n ~~~bash\n allow_anonymous false\n persistence true\n password_file /etc/mosquitto/passwd\n listener 1883\n ~~~\n Save and exit the text editor with \"Ctrl+O\", \"Enter\" and \"Ctrl+X\".\n \n Now restart Mosquitto server.\n ~~~bash\n sudo systemctl restart mosquitto\n ~~~`\n \n },\n {\n \"category\": \"MQTT\",\n\n \"title\": \"EMQX LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/hassio-addons/repository/blob/master/emqx/icon.png?raw=true\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\">EMQX LXC</h1>\n\n[EMQX](https://www.emqx.io/) is an Open-source MQTT broker with a high-performance real-time message processing engine, powering event streaming for IoT devices at massive scale.\n \n To create a new Proxmox EMQX LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/emqx-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n \n **EMQX Interface: IP:18083** \n \n ⚙️ **Initial Login**\n \n **username** <code class=\"highlighter-rouge\">admin</code>\n\n **password** <code class=\"highlighter-rouge\">public</code>\n\n ⚙️ **Setup**\n \n Access Control ➡ Authentication ➡ Create ➡ Next ➡ Next ➡ Create ➡ Users ➡ Add ➡ Username / Password (to authenicate with MQTT) ➡ Save. You're now ready to enjoy a high-performance MQTT Broker.`\n \n },\n {\n \"category\": \"Database\",\n\n \"title\": \"Mariadb LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/mariadb.svg\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\">Mariadb LXC</h1>\n\n <h3 align=\"center\"> Option to Install Adminer</h3>\n \n [MariaDB](https://mariadb.org/) is a community-developed, commercially supported fork of the MySQL relational database management system.\n \n To create a new Proxmox Mariadb LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/mariadb-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 1vCPU ⚡</h3>\n \n To enable MariaDB to listen to remote connections, you need to edit your defaults file. To do this, open the console in your MariaDB lxc:\n ~~~bash\n nano /etc/mysql/my.cnf\n ~~~\n Un-comment <code class=\"highlighter-rouge\">port =3306</code>\n Save and exit the editor with \"Ctrl+O\", \"Enter\" and \"Ctrl+X\".\n \n ~~~bash\n nano /etc/mysql/mariadb.conf.d/50-server.cnf\n ~~~\n Comment <code class=\"highlighter-rouge\">bind-address = 127.0.0.1</code>\n Save and exit the editor with \"Ctrl+O\", \"Enter\" and \"Ctrl+X\".\n \n For new MariaDB installations, the next step is to run the included security script. This script changes some of the less secure default options. We will use it to block remote root logins and to remove unused database users.\n \n Run the security script:\n ~~~bash\n sudo mysql_secure_installation\n ~~~\n Enter current password for root (enter for none): <code class=\"highlighter-rouge\">enter</code>\n \n Switch to unix_socket authentication [Y/n] <code class=\"highlighter-rouge\">y</code> \n \n Change the root password? [Y/n] <code class=\"highlighter-rouge\">n</code> \n \n Remove anonymous users? [Y/n] <code class=\"highlighter-rouge\">y</code> \n \n Disallow root login remotely? [Y/n] <code class=\"highlighter-rouge\">y</code> \n \n Remove test database and access to it? [Y/n] <code class=\"highlighter-rouge\">y</code> \n \n Reload privilege tables now? [Y/n] <code class=\"highlighter-rouge\">y</code> \n \n We will create a new account called admin with the same capabilities as the root account, but configured for password authentication. \n ~~~bash\n sudo mysql\n ~~~ \n Prompt will change to <code class=\"highlighter-rouge\">MariaDB [(none)]></code>\n \n Create a new local admin (Change the username and password to match your preferences)\n ~~~sql\n CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';\n ~~~\n Give local admin root privileges (Change the username and password to match above)\n ~~~sql\n GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;\n ~~~\n \n Now, we'll give the user admin root privileges and password-based access that can connect from anywhere on your local area network (LAN), which has addresses in the subnet 192.168.100.0/24. This is an improvement because opening a MariaDB server up to the Internet and granting access to all hosts is bad practice.. Change the **_username_**, **_password_** and **_subnet_** to match your preferences:\n ~~~sql\n GRANT ALL ON *.* TO 'admin'@'192.168.100.%' IDENTIFIED BY 'password' WITH GRANT OPTION;\n ~~~\n Flush the privileges to ensure that they are saved and available in the current session:\n ~~~sql\n FLUSH PRIVILEGES;\n ~~~\n command below this, exit the MariaDB shell:\n ~~~bash\n exit\n ~~~\n Log in as the new database user you just created:\n ~~~bash\n mysql -u admin -p\n ~~~\n Create a new database:\n ~~~sql\n CREATE DATABASE homeassistant;\n ~~~\n command below this, exit the MariaDB shell:\n ~~~bash\n exit\n ~~~\n ⚠️ Reboot the lxc \n \n Checking status.\n ~~~bash\n sudo systemctl status mariadb\n ~~~ \n Change the recorder: <code class=\"highlighter-rouge\">db_url:</code> in your HA configuration.yaml\n \n Example:\n ~~~bash\n recorder:\n db_url: mysql://admin:password@192.168.100.26:3306/homeassistant?charset=utf8mb4\n ~~~\n \n ⚙️ [**Adminer**](https://www.adminer.org/) is a full-featured database management tool\n \n **Adminer Interface: IP/adminer/**`\n },\n {\n \"category\": \"Database\",\n\n \"title\": \"PostgreSQL LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/postgresql.svg\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\">PostgreSQL LXC</h1>\n <h3 align=\"center\"> Option to Install Adminer</h3>\n \n [PostgreSQL](https://www.postgresql.org/), also known as Postgres, is a free and open-source relational database management system emphasizing extensibility and SQL compliance.\n \n To create a new Proxmox PostgreSQL LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/postgresql-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 1vCPU ⚡</h3>\n \n To make sure our PostgreSQL is secured with a strong password, set a password for its system user and then change the default database admin user account\n \n Change user password\n ~~~bash\n passwd postgres\n ~~~\n Login using Postgres system account\n \n ~~~bash\n su - postgres\n ~~~\n Now, change the Admin database password \n ~~~bash\n psql -c \"ALTER USER postgres WITH PASSWORD 'your-password';\"\n ~~~\n Create a new user.\n ~~~bash\n psql\n ~~~\n ~~~sql\n CREATE USER admin WITH PASSWORD 'your-password';\n ~~~\n Create a new database:\n ~~~sql\n CREATE DATABASE homeassistant;\n ~~~\n Grant all rights or privileges on created database to the user\n ~~~sql\n GRANT ALL ON DATABASE homeassistant TO admin;\n ~~~\n To exit psql\n ~~~bash\n \\\\q\n ~~~ \n Then type exit to get back to root\n \n Change the recorder: <code class=\"highlighter-rouge\">db_url:</code> in your HA configuration.yaml\n \n Example:\n ~~~bash\n recorder:\n db_url: postgresql://admin:your-password@192.168.100.20:5432/homeassistant?client_encoding=utf8\n ~~~\n\n ⚙️ [**Adminer**](https://www.adminer.org/) is a full-featured database management tool\n \n **Adminer Interface: IP/adminer/**`\n },\n {\n \"category\": \"Database\",\n\n \"title\": \"InfluxDB LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/influx.svg\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\">InfluxDB LXC</h1>\n <h3 align=\"center\"> Options to Install InfluxDB v1 or v2 and Telegraf</h3>\n \n [InfluxDB](https://www.influxdata.com/) is an open-source time series database developed by the company InfluxData.\n \n [Telegraf](https://www.influxdata.com/time-series-platform/telegraf/) is an open source plugin-driven server agent for collecting and reporting metrics.\n \n To create a new Proxmox InfluxDB LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/influxdb-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n ⚙️ **InfluxDB Configuration**\n \n ~~~yaml\n nano /etc/influxdb/influxdb.conf\n ~~~\n \n ⚙️ **Telegraf Configuration**\n \n ~~~yaml\n nano /etc/telegraf/telegraf.conf\n ~~~`\n \n },\n {\n \"category\": \"Zigbee - Zwave\",\n\n \"title\": \"Zigbee2MQTT LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/Koenkk/zigbee2mqtt/blob/master/images/logo_bee_only.png?raw=true\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\">Zigbee2MQTT LXC</h1>\n\n <h3 align=\"center\"> Option to switch to Edge/dev branch</h3>\n \n [Zigbee2MQTT](https://www.zigbee2mqtt.io/) is a standalone nodejs application that connects a zigbee network to MQTT\n \n 🛈 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n\n To create a new Proxmox Zigbee2MQTT LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Zigbee2MQTT, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/zigbee2mqtt-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n ⚙️ **Determine the location of your adapter**\n \n ~~~bash\n ls -l /dev/serial/by-id\n ~~~\n Example Output: <code class=\"highlighter-rouge\">lrwxrwxrwx 1 root root 13 Jun 19 17:30 usb-1a86_USB_Serial-if00-port0 -> ../../ttyUSB0</code>\n \n \n ⚙️ ⚠️ **Before you start Zigbee2MQTT you need to edit the [configuration.yaml](https://www.zigbee2mqtt.io/guide/configuration/)**\n \n ~~~bash\n nano /opt/zigbee2mqtt/data/configuration.yaml\n ~~~\n \n Save and exit the editor with “Ctrl+O”, “Enter” and “Ctrl+X”\n \n Example:\n ~~~yaml\n frontend:\n port: 9442\n homeassistant: true\n permit_join: false\n mqtt:\n base_topic: zigbee2mqtt\n server: 'mqtt://192.168.86.224:1883'\n user: usr\n password: pwd\n keepalive: 60\n reject_unauthorized: true\n version: 4\n serial:\n port: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0\n #adapter: deconz\t\t#(uncomment for ConBee II)\n advanced:\n pan_id: GENERATE\n network_key: GENERATE\n channel: 20\n ~~~\n ⚙️ **Zigbee2MQTT can be started after completing the configuration**\n \n ~~~bash\n cd /opt/zigbee2mqtt && npm start\n ~~~`\n\n },\n {\n \"category\": \"Zigbee - Zwave\",\n\n \"title\": \"deCONZ LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://phoscon.de/img/phoscon-logo128x.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> deCONZ LXC </h1>\n \n [deCONZ](https://www.phoscon.de/en/conbee2/software#deconz) is used to configure, control and display Zigbee networks.\n \n 🛈 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n\n To create a new Proxmox deCONZ LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/deconz-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **deCONZ Interface: IP:80**`\n \n },\n {\n \"category\": \"Zigbee - Zwave\",\n\n \"title\": \"Z-Wave JS UI LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/zwave-js/zwave-js-ui/blob/master/docs/_images/app_logo.svg?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Z-Wave JS UI LXC </h1>\n \n [Z-Wave JS UI](https://github.com/zwave-js/zwave-js-ui#) is a fully configurable Z-Wave to MQTT Gateway and Control Panel.\n \n 🛈 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n \n To create a new Proxmox Z-Wave JS UI LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Z-Wave JS UI, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/zwave-js-ui-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **Z-Wave JS UI Interface: IP:8091**`\n \n },\n {\n \"category\": \"Monitoring - Analytics\",\n\n \"title\": \"Uptime Kuma LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/louislam/uptime-kuma/blob/master/public/icon.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Uptime Kuma LXC </h1>\n \n Uptime Kuma is a self-hosted, open source, fancy uptime monitoring and alerting system. It can monitor HTTP(s) / TCP / HTTP(s) Keyword / Ping / DNS Record / Push / Steam Game Server.\n \n To create a new Proxmox Uptime Kuma LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Uptime Kuma, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/uptimekuma-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n **Uptime Kuma Interface: IP:3001**`\n \n },\n {\n \"category\": \"Monitoring - Analytics\",\n \n \"title\": \"Change Detection LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/dgtlmoon/changedetection.io/blob/master/changedetectionio/static/images/avatar-256x256.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Change Detection LXC </h1>\n \n To create a new Proxmox Change Detection LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Change Detection, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/changedetection-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n **Change Detection Interface: IP:5000**`\n \n \n },\n {\n \"category\": \"Monitoring - Analytics\",\n\n \"title\": \"Prometheus LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/prometheus.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Prometheus LXC </h1>\n \n [Prometheus](https://prometheus.io/) is an open-source systems monitoring and alerting toolkit\n \n To create a new Proxmox Prometheus LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/prometheus-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 4GB Storage - 1vCPU ⚡</h3>\n \n **Prometheus Interface: IP:9090**`\n \n },\n {\n \"category\": \"Monitoring - Analytics\",\n\n \"title\": \"Grafana LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fdocs.checkmk.com%2Flatest%2Fimages%2Fgrafana_logo.png&f=1&nofb=1\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Grafana LXC </h1>\n \n [Grafana](https://grafana.com/) is a multi-platform open source analytics and interactive visualization web application.\n \n To create a new Proxmox Grafana LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/grafana-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n **Grafana Interface: IP:3000**\n \n ⚙️ **Initial Login**\n \n **username** <code class=\"highlighter-rouge\">admin</code>\n \n **password** <code class=\"highlighter-rouge\">admin</code>`\n \n },\n {\n \"category\": \"Docker - Kubernetes\",\n\n \"title\": \"Docker LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/docker.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Docker LXC </h1>\n <h3 align=\"center\"> Options to Install Portainer and/or Docker Compose V2 (Fuse Overlayfs is in \"Advanced\")</h3>\n \n 🛈 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n\n [Docker](https://www.docker.com/) is an open-source project for automating the deployment of applications as portable, self-sufficient containers.\n \n To create a new Proxmox Docker LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/docker-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **⚠ Run Compose V2 by replacing the hyphen (-) with a space, using docker compose, instead of docker-compose.**\n \n **Portainer Interface: IP:9000**`\n\n },\n {\n \"category\": \"Docker - Kubernetes\",\n\n \"title\": \"Umbrel LXC\",\n \n \"content\": `<p align=\"center\"><img src=\"https://uploads-ssl.webflow.com/62966b49981ba146f4842f45/62966b49981ba15b44842fe4_umbrel-logo-compact-purple.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Umbrel LXC </h1>\n\n 🛈 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n \n [Umbrel](https://umbrel.com/) is a beautiful personal server OS for self-hosting.\n \n \n To create a new Proxmox Umbrel LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/umbrel-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **Umbrel Interface: IP** (a reboot is required before app installs)`\n \n },\n {\n \"category\": \"Docker - Kubernetes\",\n\n \"title\": \"CasaOS LXC\",\n \n \"content\": `<p align=\"center\"><img src=\"https://www.casaos.io/images/casa_9c491a0f.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> CasaOS LXC </h1>\n\n 🛈 *If the LXC is created Privileged, the script will automatically set up USB passthrough.*\n \n [CasaOS](https://www.casaos.io/) is a community-based open source software focused on delivering simple home cloud experience around Docker ecosystem.\n \n \n To create a new Proxmox CasaOS LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/casaos-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **CasaOS Interface: IP**`\n \n },\n {\n \"category\": \"Docker - Kubernetes\",\n\n \"title\": \"k0s Kubernetes LXC\",\n \n \"content\": `<p align=\"center\"><img src=\"https://k0sproject.io/images/k0s-logo.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> k0s Kubernetes LXC </h1>\n <h3 align=\"center\"> Option to Install Helm Package Manager</h3>\n \n [k0s](https://k0sproject.io/) is the Simple, Solid & Certified Kubernetes Distribution.\n \n \n To create a new Proxmox k0s Kubernetes LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/k0s-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n\n ⚙️ **Config Path**\n\n ~~~yaml\n /etc/k0s/k0s.yaml\n ~~~`\n \n },\n {\n \"category\": \"Docker - Kubernetes\",\n\n \"title\": \"Podman LXC\",\n \n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/podman.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Podman LXC </h1>\n \n [Podman](https://podman.io/) is a daemonless container engine for developing, managing, and running OCI Containers on your Linux System.\n \n \n To create a new Proxmox Podman LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/podman-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 4GB Storage - 2vCPU ⚡</h3>`\n \n },\n {\n \"category\": \"Operating System\",\n\n \"title\": \"Debian LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://www.debian.org/Pics/debian-logo-1024x576.png\" alt=\"Debian\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Debian LXC </h1>\n Debian Linux is a distribution that emphasizes free software. It supports many hardware platforms.\n\n To create a new Proxmox Debian LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/debian-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>`\n \n },\n {\n \"category\": \"Operating System\",\n\n \"title\": \"Ubuntu LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://assets.ubuntu.com/v1/29985a98-ubuntu-logo32.png\" alt=\"Ubuntu\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Ubuntu LXC </h1>\n <h3 align=\"center\" id=\"heading\"> Option to select version 18.04, 20.04, 21.10 or 22.04</h3>\n Ubuntu is a distribution based on Debian, designed to have regular releases and a consistent user experience.\n \n To create a new Proxmox Ubuntu LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/ubuntu-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU - 22.04 ⚡</h3>`\n \n },\n {\n \"category\": \"Operating System\",\n\n \"title\": \"Alpine LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/alpinelinux.svg\" alt=\"Alpine\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Alpine LXC </h1>\n A security-oriented, lightweight Linux distribution based on musl and BusyBox.\n\n To create a new Proxmox Alpine LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/alpine-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 100MiB Storage - 1vCPU ⚡</h3>\n\n ⚙️ **Default Password** <code class=\"highlighter-rouge\">alpine</code>\n\n ⚙️ **To Update Alpine**\n \n ~~~bash\n apk update && apk upgrade\n ~~~`\n },\n {\n \"category\": \"Operating System\",\n\n \"title\": \"Arch LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://gitlab.archlinux.org/uploads/-/system/appearance/header_logo/1/lol2.png\n \" alt=\"Arch\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Arch Linux LXC </h1>\n Arch Linux is an independently developed, x86-64 general-purpose Linux distribution that strives to provide the latest stable versions of most software by command below a rolling-release model. The default installation is a minimal base system, configured by the user to only add what is purposely required.\n \n To create a new Proxmox Arch Linux LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/archlinux-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 1GB Storage - 1vCPU ⚡</h3>\n\n\n ⚙️ **Default Password** <code class=\"highlighter-rouge\">archlinux</code>\n \n ⚙️ **To get updated:**\n\n <code class=\"highlighter-rouge\">pacman-key --init</code>\n\n <code class=\"highlighter-rouge\">pacman-key --populate archlinux</code>\n\n <code class=\"highlighter-rouge\">pacman -Sy archlinux-keyring && pacman -Su</code>`\n },\n {\n \"category\": \"Server - Networking\",\n\n \"title\": \"Nginx Proxy Manager LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/nginxproxymanager.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Nginx Proxy Manager LXC </h1>\n \n [Nginx Proxy Manager](https://nginxproxymanager.com/) Expose your services easily and securely\n \n To create a new Proxmox Nginx Proxy Manager LXC Container, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Nginx Proxy Manager, run the command below in the <b>LXC Console</b>.\n ~~~yaml\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/nginxproxymanager-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 3GB Storage - 1vCPU ⚡</h3>\n \n Forward port <code class=\"highlighter-rouge\">80</code> and <code class=\"highlighter-rouge\">443</code> from your router to your Nginx Proxy Manager LXC IP.\n \n Add the command below to your <code class=\"highlighter-rouge\">configuration.yaml</code> in Home Assistant.\n ~~~yaml\n http:\n use_x_forwarded_for: true\n trusted_proxies:\n - 192.168.100.27 ###(Nginx Proxy Manager LXC IP)###\n ~~~\n \n **Nginx Proxy Manager Interface: IP:81**\n \n ⚙️ **Initial Login**\n \n **username** <code class=\"highlighter-rouge\">admin@example.com</code>\n \n **password** <code class=\"highlighter-rouge\">changeme</code>`\n\n },\n {\n \"category\": \"Server - Networking\",\n\n \"title\": \"YunoHost LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://yunohost.org/_images/ynh_logo_white_300dpi.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> YunoHost LXC </h1>\n \n YunoHost is an operating system aiming for the simplest administration of a server, and therefore democratize self-hosting, while making sure it stays reliable, secure, ethical and lightweight. \n \n To create a new Proxmox YunoHost LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/yunohost-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 20GB Storage - 2vCPU ⚡</h3>\n \n **YunoHost Interface: IP/**`\n \n },\n {\n \"category\": \"Server - Networking\",\n\n \"title\": \"UniFi Network Application LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fblog.ui.com%2Fwp-content%2Fuploads%2F2016%2F10%2Funifi-app-logo-300x108.png&f=1&nofb=1\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> UniFi Network Application LXC </h1>\n \n <h3 align=\"center\"> With Local Controller Option </h3>\n \n An application designed to optimize UniFi home and business networks with ease.\n \n To create a new Proxmox UniFi Network Application LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Unifi Network Application, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/unifi-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **UniFi Interface: (https)IP:8443**`\n \n },\n {\n \"category\": \"Server - Networking\",\n\n \"title\": \"Omada Controller LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://www.enterpriseitpro.net/wp-content/uploads/2020/12/logo-omada.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Omada Controller LXC </h1>\n \n Omada Controller is software which is used to manage the EAP\n \n To create a new Proxmox Omada Controller LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/omada-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **Omada Interface: (https)IP:8043**`\n \n },\n {\n \"category\": \"Server - Networking\",\n\n \"title\": \"WireGuard LXC\",\n \n \"content\": `<p align=\"center\"><img src=\"https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fcdn.icon-icons.com%2Ficons2%2F2699%2FPNG%2F512%2Fwireguard_logo_icon_168760.png&f=1&nofb=1\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> WireGuard LXC </h1>\n \n To create a new Proxmox WireGuard LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update WireGuard or Install a Dashboard, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/wireguard-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n ⚙️ **Host Configuration**\n \n ~~~yaml\n nano /etc/pivpn/wireguard/setupVars.conf\n ~~~\n ⚙️ **Add Clients** \n \n ~~~yaml\n pivpn add\n ~~~`\n\n },\n {\n \"category\": \"Server - Networking\",\n\n \"title\": \"Cronicle Primary LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/jhuckaby/Cronicle/blob/master/htdocs/images/logo-128.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Cronicle Primary LXC </h1>\n \n [Cronicle](https://github.com/jhuckaby/Cronicle) is a multi-server task scheduler and runner, with a web based front-end UI. It handles both scheduled, repeating and on-demand jobs, targeting any number of worker servers, with real-time stats and live log viewer. \n\n To create a new Proxmox Cronicle Primary LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Cronicle or Install Cronicle Worker, run the command below in a <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/cronicle-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n **Cronicle Primary Interface: IP:3012**\n\n ⚙️ Config Path\n ~~~bash\n /opt/cronicle/conf/config.json\n ~~~\n\n Primary and Worker Private Keys Must Match.`\n \n },\n {\n \"category\": \"Server - Networking\",\n\n \"title\": \"MeshCentral LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/Ylianst/MeshCentral/blob/master/public/favicon-303x303.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> MeshCentral LXC </h1>\n \n [MeshCentral](https://meshcentral.com/info/) is a full computer management web site. With MeshCentral, you can run your own web server to remotely manage and control computers on a local network or anywhere on the internet.\n \n To create a new Proxmox MeshCentral LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/meshcentral-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n **MeshCentral Interface: IP**`\n \n },\n {\n \"category\": \"Server - Networking\",\n\n \"title\": \"Tailscale\",\n \"content\": `<p align=\"center\"><img src=\"https://avatars.githubusercontent.com/u/48932923?v=4&s=100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Tailscale</h1>\n \n [Tailscale](https://tailscale.com/) Creates a secure network between your servers, computers, and cloud instances. Even when separated by firewalls or subnets, Tailscale just works.\n \n To Install Talescale on an existing LXC, run the command below in the <b>Proxmox Shell</b> (replace <code class=\"highlighter-rouge\">106</code> with your LXC ID).\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/add-tailscale-lxc.sh)\" -s 106\n ~~~\n After the script finishes, reboot the LXC then run <code class=\"highlighter-rouge\">tailscale up</code> in the LXC console\n \n [**Tailscale Login**](https://login.tailscale.com/start)`\n \n },\n {\n \"category\": \"Server - Networking\",\n\n \"title\": \"CrowdSec\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/crowdsecurity/crowdsec-docs/main/crowdsec-docs/static/img/crowdsec_no_txt.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> CrowdSec</h1>\n\n [CrowdSec](https://crowdsec.net/) is a free, open-source and collaborative IPS. Analyze behaviors, respond to attacks & share signals across the community.\n \n To Install CrowdSec, ⚠️ run the command below in the <b>LXC console</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/crowdsec.sh)\"\n ~~~\n \n [**Control center for your CrowdSec machines.**](https://app.crowdsec.net/product-tour)`\n },\n {\n \"category\": \"Server - Networking\",\n\n \"title\": \"Keycloak LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://www.keycloak.org/resources/images/keycloak_icon_512px.svg?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Keycloak LXC</h1>\n\n [Keycloak](https://www.keycloak.org/) is an Open Source Identity and Access Management solution for modern Applications and Services.\n \n To create a new Proxmox Keycloak LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/keycloak-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 4GB Storage - 2CPU ⚡</h3>\n\n **Keycloak Interface: IP:8080** (First start can take a few minutes)\n \n ⚙️ **Initial Login**\n \n The initial admin user can be added manually using the web frontend when accessed from localhost or automatically using environment variables.\n \n To add the initial admin user using environment variables, set <code class=\"highlighter-rouge\">KEYCLOAK_ADMIN</code> for the initial admin username and <code class=\"highlighter-rouge\">KEYCLOAK_ADMIN_PASSWORD</code> for the initial admin password.\n \n First, stop Keycloak\n ~~~bash\n systemctl stop keycloak.service\n ~~~\n then start Keycloak by coping & pasting the command below (only needed once)\n ~~~bash\n cd /opt/keycloak\n export KEYCLOAK_ADMIN=admin\n export KEYCLOAK_ADMIN_PASSWORD=changeme\n bin/kc.sh start-dev \n ~~~`\n },\n {\n \"category\": \"Server - Networking\",\n\n \"title\": \"Mikrotik RouterOS VM\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/mikrotik.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Mikrotik RouterOS VM </h1>\n \n [Mikrotik RouterOS](https://wiki.mikrotik.com/wiki/Manual:TOC) can be installed on a PC and will turn it into a router with all the necessary features - routing, firewall, bandwidth management, wireless access point, backhaul link, hotspot gateway, VPN server and more. \n \n To create a new Proxmox Mikrotik RouterOS VM, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/vm/mikrotik-routeros-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 2GB Storage - 1CPU ⚡</h3>\n\n Setup is done via VM console.\n\n ⚙️ **Initial Login**\n\n **username** <code class=\"highlighter-rouge\">admin</code>\n \n **password** <code class=\"highlighter-rouge\">no password</code>`\n },\n {\n \"category\": \"Media - Photo\",\n\n \"title\": \"Plex Media Server LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/plex-white.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Plex Media Server LXC </h1>\n <h3 align=\"center\" id=\"heading\"> With Hardware Acceleration Support </h3> \n \n To create a new Proxmox Plex Media Server LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Plex Media Server, run the command below in the <b>LXC Console</b>.\n\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/plex-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **Plex Media Server Interface: IP:32400/web**`\n \n },\n {\n \"category\": \"Media - Photo\",\n\n \"title\": \"Emby Media Server LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/home-assistant/brands/blob/master/core_integrations/emby/icon.png?raw=true\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\"> Emby Media Server LXC </h1>\n \n [Emby](https://emby.media/) brings together your personal videos, music, photos, and live television.\n \n To create a new Proxmox Emby Media Server LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Emby, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/emby-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **Emby Media Server Interface: IP:8096**`\n \n },\n {\n \"category\": \"Media - Photo\",\n\n \"title\": \"Jellyfin Media Server LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/home-assistant/brands/blob/master/core_integrations/jellyfin/icon.png?raw=true\" height=\"100\"/></p>\n <h1 align=\"center\" id=\"heading\"> Jellyfin Media Server LXC </h1>\n \n [TurnKey has a LXC CT for Jellyfin](https://www.turnkeylinux.org/mediaserver)\n \n To create a new Proxmox Jellyfin Media Server LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/jellyfin-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **Jellyfin Media Server Interface: IP:8096**\n \n FFmpeg path: <code class=\"highlighter-rouge\">/usr/lib/jellyfin-ffmpeg/ffmpeg</code>`\n \n },\n {\n \"category\": \"Media - Photo\",\n\n \n \"title\": \"NextCloudPi LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/nextcloud/nextcloudpi/blob/master/ncp-app/img/app.svg?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\">NextCloudPi LXC </h1>\n \n [NextCloudPi LXC](https://github.com/nextcloud/nextcloudpi#features) is the most popular self-hosted collaboration solution.\n \n To create a new Proxmox NextCloudPi LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/nextcloudpi-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **NextCloudPi Interface: (https)IP/**`\n },\n {\n \"category\": \"Media - Photo\",\n\n \"title\": \"OpenMediaVault LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/openmediavault.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> OpenMediaVault LXC </h1>\n \n [OpenMediaVault](https://www.openmediavault.org/) is the next generation network attached storage (NAS) solution based on Debian Linux.\n \n To create a new Proxmox OpenMediaVault LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/omv-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **OpenMediaVault Interface: IP**\n \n ⚙️ **Initial Login**\n \n **username** <code class=\"highlighter-rouge\">admin</code>\n \n **password** <code class=\"highlighter-rouge\">openmediavault</code>`\n },\n {\n \"category\": \"Media - Photo\",\n\n \"title\": \"Navidrome LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/navidrome/navidrome/master/resources/logo-192x192.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Navidrome LXC </h1>\n \n [Navidrome](https://www.navidrome.org/) allows you to enjoy your music collection from anywhere, by making it available through a modern Web UI and through a wide range of third-party compatible mobile apps, for both iOS and Android devices. \n \n To create a new Proxmox Navidrome LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Navidrome, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/navidrome-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n To change Navidrome music folder path, edit: <code class=\"highlighter-rouge\">/var/lib/navidrome/navidrome.toml</code>\n \n **Navidrome Interface: IP:4533**`\n \n },\n {\n \"category\": \"Media - Photo\",\n\n \"title\": \"PhotoPrism LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/tteck/Proxmox/blob/main/misc/images/photoprism.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> PhotoPrism LXC </h1>\n \n [PhotoPrism](https://photoprism.app/) is an AI-powered app for browsing, organizing & sharing your photo collection. \n \n To create a new Proxmox PhotoPrism LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update PhotoPrism, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/photoprism-v5.sh)\"\n ~~~\n The script builds from source, which takes time and resources. After the build, the script will automatically set resources to Normal Settings.\n <h3 align=\"center\" id=\"heading\">⚡ Build Settings: 4GB RAM - 8GB Storage - 4vCPU ⚡</h3>\n <h3 align=\"center\" id=\"heading\">⚡ Normal Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **PhotoPrism Interface: IP:2342**\n \n ⚙️ **Initial Login**\n \n **username** <code class=\"highlighter-rouge\">admin</code>\n \n **password** <code class=\"highlighter-rouge\">changeme</code>\n \n [PhotoSync](https://www.photosync-app.com/home.html)`\n \n },\n {\n \"category\": \"Media - Photo\",\n\n \n \"title\": \"Lidarr LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/Lidarr/Lidarr/develop/Logo/256.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\">Lidarr LXC </h1>\n \n [Lidarr](https://lidarr.audio/) is a music collection manager for Usenet and BitTorrent users.\n \n To create a new Proxmox Lidarr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/lidarr-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **Lidarr Interface: IP:8686**`\n },\n {\n \"category\": \"Media - Photo\",\n\n \n \"title\": \"Prowlarr LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/Prowlarr/Prowlarr/develop/Logo/256.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\">Prowlarr LXC </h1>\n \n [Prowlarr](https://github.com/Prowlarr/Prowlarr) is an indexer manager/proxy built on the popular *arr .net/reactjs base stack to integrate with your various PVR apps.\n \n To create a new Proxmox Prowlarr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/prowlarr-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **Prowlarr Interface: IP:9696**`\n },\n {\n \"category\": \"Media - Photo\",\n\n \n \"title\": \"Radarr LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/Radarr/Radarr/develop/Logo/256.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\">Radarr LXC </h1>\n \n [Radarr](https://radarr.video/) is a movie collection manager for Usenet and BitTorrent users.\n \n To create a new Proxmox Radarr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/radarr-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **Radarr Interface: IP:7878**`\n },\n {\n \"category\": \"Media - Photo\",\n\n \n \"title\": \"Readarr LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/Readarr/Readarr/develop/Logo/256.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\">Readarr LXC </h1>\n \n [Readarr](https://readarr.com/) is an eBook and audiobook collection manager for Usenet and BitTorrent users.\n \n To create a new Proxmox Radarr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/readarr-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **Readarr Interface: IP:8787**`\n },\n {\n \"category\": \"Media - Photo\",\n\n \n \"title\": \"Sonarr LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/Sonarr/Sonarr/develop/Logo/256.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\">Sonarr LXC </h1>\n \n [Sonarr](https://sonarr.tv/) is a PVR for Usenet and BitTorrent users.\n \n To create a new Proxmox Sonarr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/sonarr-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **Sonarr Interface: IP:8989**`\n },\n {\n \"category\": \"Media - Photo\",\n\n \n \"title\": \"Tdarr LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://tdarr.io/static/media/logo3.02a3f4a3.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\">Tdarr LXC </h1>\n \n [Tdarr](https://tdarr.io/) is a conditional based transcoding application for automating media library transcode/remux management.\n \n To create a new Proxmox Tdarr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/tdarr-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **Tdarr Interface: IP:8265**`\n },\n {\n \"category\": \"Media - Photo\",\n\n \n \"title\": \"Whisparr LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/Whisparr/Whisparr/develop/Logo/256.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\">Whisparr LXC </h1>\n \n [Whisparr](https://github.com/Whisparr/Whisparr) is an adult movie collection manager for Usenet and BitTorrent users.\n \n To create a new Proxmox Whisparr LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/whisparr-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **Whisparr Interface: IP:6969**`\n },\n {\n \"category\": \"Ad Blocker - DNS\",\n\n \"title\": \"Pi-hole LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/home-assistant/brands/blob/master/core_integrations/pi_hole/icon.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Pi-hole LXC </h1>\n \n [Pi-hole](https://pi-hole.net/) is a Linux network-level advertisement and Internet tracker blocking application which acts as a DNS sinkhole and optionally a DHCP server.\n \n To create a new Proxmox Pi-hole LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/pihole-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n ⚠️ **Reboot Pi-hole LXC after install**\n \n **Pi-hole Interface: IP/admin**\n \n ⚙️ **To set your password:**\n \n ~~~yaml\n pihole -a -p\n ~~~`\n },\n {\n \"category\": \"Ad Blocker - DNS\",\n\n \"title\": \"Technitium DNS LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://avatars.githubusercontent.com/u/12230362?s=100&v=4\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Technitium DNS LXC </h1>\n An open source authoritative as well as recursive DNS server\n \n To create a new Proxmox Technitium DNS LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Technitium DNS, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/technitiumdns-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n **Technitium DNS Interface: IP:5380**`\n \n },\n {\n \"category\": \"Ad Blocker - DNS\",\n\n \"title\": \"AdGuard Home LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/home-assistant/brands/blob/master/core_integrations/adguard/icon.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> AdGuard Home LXC </h1>\n \n To create a new Proxmox AdGuard Home LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Manually Update AdGuard Home, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/adguard-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n **AdGuard Home Setup Interface: IP:3000 (After Setup use only IP)**\n \n <sub>(For the Home Assistant Integration, use port <code class=\"highlighter-rouge\">80</code> not <code class=\"highlighter-rouge\">3000</code>)</sub>`\n \n },\n {\n \"category\": \"Ad Blocker - DNS\",\n\n \"title\": \"Blocky LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/0xERR0R/blocky/blob/master/docs/blocky.svg?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Blocky LXC </h1>\n \n [Blocky](https://0xerr0r.github.io/blocky/) is a DNS proxy and ad-blocker for the local network written in Go. 🚨 For Advanced Users. No UI.\n \n To create a new Proxmox Blocky LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/blocky-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n \n ⚙️ **Blocky Config Path**\n \n ~~~yaml\n /opt/blocky/config.yml\n ~~~`\n },\n {\n \"category\": \"Document - Notes\",\n\n \"title\": \"Paperless-ngx LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/paperless-ngx/paperless-ngx/blob/main/resources/logo/web/svg/square.svg?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Paperless-ngx LXC </h1>\n \n [Paperless-ngx](https://paperless-ngx.readthedocs.io/en/latest/#) is a document management system that transforms your physical documents into a searchable online archive so you can keep, well, less paper.\n \n To create a new Proxmox Paperless-ngx LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Paperless-ngx or Show Paperless-ngx Credentials, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/paperless-ngx-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2048MiB RAM - 4GB Storage - 2vCPU ⚡</h3>\n \n **Paperless-ngx Interface: IP:8000**`\n \n },\n {\n \"category\": \"Document - Notes\",\n\n \"title\": \"Trilium LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/zadam/trilium/master/images/app-icons/png/128x128.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Trilium LXC </h1>\n \n [Trilium](https://github.com/zadam/trilium#trilium-notes) is a hierarchical note taking application with focus on building large personal knowledge bases.\n \n To create a new Proxmox Trilium LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Trilium, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/trilium-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n **Trilium Interface: IP:8080**`\n \n },\n {\n \"category\": \"Document - Notes\",\n\n \"title\": \"Wiki.js LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://static.requarks.io/logo/wikijs-butterfly.svg?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Wiki.js LXC </h1>\n \n [Wiki.js](https://js.wiki/) is a modern, lightweight and powerful wiki app built on NodeJS. \n \n To create a new Proxmox Wiki.js LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Wiki.js, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/wikijs-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n **Wiki.js Interface: IP:3000**`\n },\n {\n \"category\": \"Document - Notes\",\n\n \n \"title\": \"NocoDB LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/tteck/Proxmox/blob/main/misc/images/nocodb.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> NocoDB LXC </h1>\n \n [NocoDB](https://www.nocodb.com/) is an open source #NoCode platform that turns any database into a smart spreadsheet. Airtable Alternative.\n \n To create a new Proxmox NocoDB LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update NocoDB, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/nocodb-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 4GB Storage - 1vCPU ⚡</h3>\n \n **NocoDB Interface: IP:8080/dashboard**`\n \n },\n {\n \"category\": \"Document - Notes\",\n \n \"title\": \"Kavita LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/Kareadita/Kavita/develop/Logo/kavita.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"Kavita\"> Kavita LXC </h1>\n \n [Kavita](https://www.kavitareader.com/) is a fast, feature rich, cross platform reading server. Built with a focus for manga, and the goal of being a full solution for all your reading needs.\n \n To create a new Proxmox Kavita LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/kavita-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **Kavita Interface: IP:5000**`\n \n },\n {\n \"category\": \"Dashboards\",\n\n \"title\": \"Heimdall Dashboard LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/tteck/Proxmox/blob/main/misc/images/heimdall.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Heimdall Dashboard LXC </h1>\n \n [Heimdall Application Dashboard](https://camo.githubusercontent.com/bcfd4f74c93b25bea7b14eacbafd649206bf754a3d4b596329968f0ee569cf3c/68747470733a2f2f692e696d6775722e636f6d2f4d72433451704e2e676966) is a dashboard for all your web applications. It doesn't need to be limited to applications though, you can add links to anything you like.\n \n To create a new Proxmox Heimdall Dashboard LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Heimdall Dashboard, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/heimdalldashboard-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n **Heimdall Dashboard Interface: IP:7990**`\n \n },\n {\n \"category\": \"Dashboards\",\n\n \"title\": \"Homepage LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/benphelps/homepage/raw/main/images/banner_light%402x.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Homepage LXC </h1>\n \n [Homepage](https://github.com/benphelps/homepage) is a self-hosted dashboard.\n \n To create a new Proxmox Homepage LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Homepage, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/homepage-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 1GB RAM - 3GB Storage - 2vCPU ⚡</h3>\n \n [Configuration](https://github.com/benphelps/homepage/wiki) (bookmarks.yaml, services.yaml, widgets.yaml) path: <code class=\"highlighter-rouge\">/opt/homepage/config/</code>\n \n **Homepage Interface: IP:3000**`\n \n },\n {\n \"category\": \"Dashboards\",\n\n \"title\": \"Homer LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/bastienwirtz/homer/main/public/assets/icons/logo.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Homer LXC </h1>\n \n [Homer](https://github.com/bastienwirtz/homer#---------homer) A dead simple static HOMepage for your servER to keep your services on hand, from a simple yaml configuration file.\n \n To create a new Proxmox Homer LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Homer, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/homer-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n\n **Homer Interface: IP:8010**\n \n ⚙️ **Config Path**\n \n ~~~yaml\n /opt/homer/assets/config.yml\n ~~~`\n \n },\n {\n \"category\": \"Dashboards\",\n\n \"title\": \"Dashy LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/Lissy93/dashy/raw/master/public/web-icons/dashy-logo.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Dashy LXC </h1>\n \n Dashy helps you organize your self-hosted services by making them accessible from a single place\n \n To create a new Proxmox Dashy LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Dashy, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/dashy-v5.sh)\"\n ~~~\n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 3GB Storage - 2vCPU ⚡</h3>\n \n **Dashy Interface: IP:4000**\n \n After getting everything setup the way you want in interactive mode and saved to disk, you have to go into update configuration and rebuild application.`\n \n },\n {\n \"category\": \"File - Code\",\n\n \"title\": \"File Browser\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/tteck/Proxmox/blob/main/misc/images/filebrowser.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> File Browser </h1>\n\n [File Browser](https://filebrowser.org/features) is a create-your-own-cloud-kind of software where you can install it on a server, direct it to a path and then access your files through a nice web interface. Many available features!\n \n To Install File Browser, ⚠️ run the command below in the LXC console.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/filebrowser.sh)\"\n ~~~\n \n **File Browser Interface: IP:8080**\n \n ⚙️ **Initial Login**\n \n **username** <code class=\"highlighter-rouge\">admin</code>\n\n **password** <code class=\"highlighter-rouge\">changeme</code>\n \n ⚙️ **To Update File Browser**\n \n ~~~yaml\n curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash\n ~~~`\n },\n {\n \"category\": \"File - Code\",\n\n \"title\": \"VS Code Server\",\n \"content\": `<p align=\"center\"><img src=\"https://user-images.githubusercontent.com/674621/71187801-14e60a80-2280-11ea-94c9-e56576f76baf.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> VS Code Server </h1>\n\n [VS Code Server](https://code.visualstudio.com/docs/remote/vscode-server) is a service you can run on a remote development machine, like your desktop PC or a virtual machine (VM). It allows you to securely connect to that remote machine from anywhere through a vscode.dev URL, without the requirement of SSH.\n \n To Install VS Code Server, ⚠️ run the command below in the <b>LXC console</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/code-server.sh)\"\n ~~~\n \n **VS Code Server Interface: IP:8680**`\n },\n {\n \"category\": \"File - Code\",\n\n \"title\": \"Deluge LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://dev.deluge-torrent.org/chrome/common/deluge_logo.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Deluge LXC </h1>\n\n [Deluge](https://www.deluge-torrent.org/) is a lightweight, Free Software, cross-platform BitTorrent client.\n \n To create a new Proxmox Deluge LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/deluge-v5.sh)\"\n ~~~\n \n ⚙️ **Initial Login**\n\n **password** <code class=\"highlighter-rouge\">deluge</code>\n\n **Deluge Interface: IP:8112**`\n },\n {\n \"category\": \"File - Code\",\n\n \"title\": \"Autobrr LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/autobrr/autobrr/master/.github/images/logo.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Autobrr LXC </h1>\n\n [Autobrr](https://autobrr.com/) is the modern download automation tool for torrents.\n \n To create a new Proxmox Autobrr LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Autobrr, run the command below in the <b>LXC Console</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/autobrr-v5.sh)\"\n ~~~\n \n **Autobrr Interface: IP:7474**`\n },\n {\n \"category\": \"File - Code\",\n\n \"title\": \"SABnzbd LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/sabnzbd/sabnzbd/develop/icons/logo-arrow.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> SABnzbd LXC </h1>\n\n [SABnzbd](https://sabnzbd.org/) is a free and easy binary newsreader.\n \n To create a new Proxmox SABnzbd LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/sabnzbd-v5.sh)\"\n ~~~\n \n **SABnzbd Interface: IP:7777**`\n },\n {\n \"category\": \"File - Code\",\n\n \"title\": \"Webmin System Administration\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/webmin/webmin/blob/master/images/webmin-blue.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Webmin System Administration </h1>\n\n If you prefer to manage all aspects of your Proxmox LXC from a graphical interface instead of the command line interface, Webmin might be right for you.\n Benefits include automatic daily security updates, backup and restore, file manager with editor, web control panel, and preconfigured system monitoring with optional email alerts.\n \n To Install Webmin System Administration, ⚠️ run the command below in the <b>LXC console</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/webmin.sh)\"\n ~~~\n \n **Webmin Interface: (https)IP:10000**\n \n ⚙️ **Initial Login**\n \n **username** <code class=\"highlighter-rouge\">root</code>\n \n **password** <code class=\"highlighter-rouge\">root</code>\n \n ⚙️ **To Update Webmin**\n \n <code class=\"highlighter-rouge\">Update from the Webmin UI</code>\n \n ⚙️ **To Uninstall Webmin**\n \n ~~~yaml\n bash /etc/webmin/uninstall.sh\n ~~~`\n },\n {\n \"category\": \"File - Code\",\n\n \"title\": \"Syncthing LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/syncthing/syncthing/6afaa9f20c8eb9c7af5abbe2f2d90fa2571aa7ad/assets/logo-only.svg?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Syncthing LXC </h1>\n \n [Syncthing](https://syncthing.net/) is a continuous file synchronization program. It synchronizes files between two or more computers.\n \n To create a new Proxmox Syncthing LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/syncthing-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **Syncthing Interface: IP:8384**`\n \n },\n {\n \"category\": \"File - Code\",\n\n \"title\": \"Daemon Sync Server LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fimg.informer.com%2Ficons_mac%2Fpng%2F128%2F350%2F350335.png&f=1&nofb=1\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Daemon Sync Server LXC </h1>\n \n Sync files from app to server, share photos & videos, back up your data and stay secure inside local network.\n \n To create a new Proxmox Daemon Sync Server LXC, run the command below in the <b>Proxmox Shell</b>.\n \n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/daemonsync-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 8GB Storage - 1vCPU ⚡</h3>\n \n **Daemon Sync Server Interface: IP:8084**\n \n Search: <code class=\"highlighter-rouge\">DAEMON Sync</code> in your favorite app store`\n },\n {\n \"category\": \"Miscellaneous\",\n\n \"title\": \"Vaultwarden LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://raw.githubusercontent.com/dani-garcia/vaultwarden/main/resources/vaultwarden-icon-white.svg\" width=\"100\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Vaultwarden LXC </h1>\n \n Alternative implementation of the Bitwarden server API written in Rust and compatible with upstream [Bitwarden clients](https://bitwarden.com/download/), perfect for self-hosted deployment where running the official resource-heavy service might not be ideal.\n \n To create a new Proxmox Vaultwarden LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Vaultwarden, Web-Vault or Show Admin Token, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/vaultwarden-v5.sh)\"\n ~~~\n ⚠️ Vaultwarden needs to be behind a proxy (Nginx Proxy Manager) to obtain HTTPS and to allow clients to connect.\n \n The script builds from source, which takes time and resources. After the build, the script will automatically set resources to Normal Settings. \n \n <h3 align=\"center\" id=\"heading\">⚡ Build Settings: 4GB RAM - 6GB Storage - 4vCPU ⚡</h3>\n <h3 align=\"center\" id=\"heading\">⚡ Normal Settings: 512Mib RAM - 6GB Storage - 1vCPU ⚡</h3>\n \n **Vaultwarden Interface: IP:8000**\n \n **Vaultwarden Admin Interface: IP:8000/admin**`\n \n },\n {\n \"category\": \"Miscellaneous\",\n\n \"title\": \"grocy LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://grocy.info/img/grocy_logo.svg\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> grocy LXC </h1>\n \n [grocy](https://grocy.info/) is a web-based self-hosted groceries & household management solution for your home.\n \n To create a new Proxmox grocy LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update grocy, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/grocy-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n **grocy Interface: IP**\n \n ⚙️ **Initial Login**\n \n **username** <code class=\"highlighter-rouge\">admin</code>\n \n **password** <code class=\"highlighter-rouge\">admin</code>`\n \n },\n {\n \"category\": \"Miscellaneous\",\n\n \"title\": \"MagicMirror Server LXC\",\n \n \"content\": `<p align=\"center\"><img src=\"https://github.com/MichMich/MagicMirror/raw/master/.github/header.png\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> MagicMirror Server LXC </h1>\n \n [MagicMirror²](https://docs.magicmirror.builders/) is an open source modular smart mirror platform.\n \n To create a new MagicMirror Server LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update MagicMirror, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/magicmirror-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 3GB Storage - 1vCPU ⚡</h3>\n \n **MagicMirror Interface: IP:8080**\n \n ⚙️ **[Configuration](https://docs.magicmirror.builders/configuration/introduction.html#configuring-your-magicmirror)**\n ~~~yaml\n /opt/magicmirror/config/config.js\n ~~~`\n\n },\n {\n \"category\": \"Miscellaneous\",\n\n \"title\": \"Whoogle LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/tteck/Proxmox/blob/main/misc/images/whoogle.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Whoogle LXC </h1>\n \n Get Google search results, but without any ads, javascript, AMP links, cookies, or IP address tracking.\n \n To create a new Proxmox Whoogle LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Whoogle, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/whoogle-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n \n **Whoogle Interface: IP:5000**`\n \n },\n {\n \"category\": \"Miscellaneous\",\n\n \"title\": \"Shinobi NVR LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://gitlab.com/uploads/-/system/project/avatar/6947723/mstile-150x150.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> Shinobi NVR LXC </h1>\n \n To create a new Proxmox Shinobi NVR LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update Shinobi, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/shinobi-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **Shinobi Interface: IP:8080**\n\n **Shinobi Admin Interface: IP:8080/super**\n \n ⚙️ **Initial Admin Login**\n \n **username** <code class=\"highlighter-rouge\">admin@shinobi.video</code>\n \n **password** <code class=\"highlighter-rouge\">admin</code>`\n \n},\n{\n \"category\": \"Miscellaneous\",\n\n \"title\": \"MotionEye NVR LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/home-assistant/brands/blob/master/core_integrations/motioneye/icon.png?raw=true\" height=\"100\"/></p>\n \n <h1 align=\"center\" id=\"heading\"> MotionEye NVR LXC </h1>\n \n To create a new Proxmox MotionEye NVR LXC, run the command below in the <b>Proxmox Shell</b>. <br>\n To Update MotionEye, run the command below in the <b>LXC Console</b>.\n ~~~bash\n bash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/motioneye-v5.sh)\"\n ~~~\n \n <h3 align=\"center\" id=\"heading\">⚡ Default Settings: 2GB RAM - 8GB Storage - 2vCPU ⚡</h3>\n \n **MotionEye Interface: IP:8765**\n \n ⚙️ **Initial Login**\n \n **username** <code class=\"highlighter-rouge\">admin</code>\n \n **password** <code class=\"highlighter-rouge\"> </code>`\n \n},\n{\n \"category\": \"Miscellaneous\",\n\n \"title\": \"Hyperion LXC\",\n \"content\": `<p align=\"center\"><img src=\"https://github.com/hyperion-project/hyperion.ng/raw/master/doc/logo_dark.png?raw=true\" height=\"100\"/></p>\n\n<h1 align=\"center\" id=\"heading\"> Hyperion LXC </h1>\n\nHyperion is an opensource Ambient Lighting implementation. It supports many LED devices and video grabbers.\n\nTo create a new Proxmox Hyperion LXC, run the command below in the <b>Proxmox Shell</b>.\n\n~~~bash\nbash -c \"$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/hyperion-v5.sh)\"\n~~~\n\n<h3 align=\"center\" id=\"heading\">⚡ Default Settings: 512MiB RAM - 2GB Storage - 1vCPU ⚡</h3>\n\n**Hyperion Interface: IP:8090**`\n\n}\n ]\n}\n \nexport default data;","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return possibleConstructorReturn(this, result);\n };\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","/**\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Position} Position\n * @typedef {object & {type: string, position?: Position|undefined}} NodeLike\n */\n\n/**\n * Stringify one point, a position (start and end points), or a node’s\n * positional information.\n *\n * @param {Node|NodeLike|Position|Point|null} [value]\n * @returns {string}\n */\nexport function stringifyPosition(value) {\n // Nothing.\n if (!value || typeof value !== 'object') {\n return ''\n }\n\n // Node.\n if ('position' in value || 'type' in value) {\n return position(value.position)\n }\n\n // Position.\n if ('start' in value || 'end' in value) {\n return position(value)\n }\n\n // Point.\n if ('line' in value || 'column' in value) {\n return point(value)\n }\n\n // ?\n return ''\n}\n\n/**\n * @param {Point|undefined} point\n * @returns {string}\n */\nfunction point(point) {\n return index(point && point.line) + ':' + index(point && point.column)\n}\n\n/**\n * @param {Position|undefined} pos\n * @returns {string}\n */\nfunction position(pos) {\n return point(pos && pos.start) + '-' + point(pos && pos.end)\n}\n\n/**\n * @param {number|undefined} value\n * @returns {number}\n */\nfunction index(value) {\n return value && typeof value === 'number' ? value : 1\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n * @typedef {object & {type: string, position?: Position|undefined}} NodeLike\n */\n\nimport {stringifyPosition} from 'unist-util-stringify-position'\n\nexport class VFileMessage extends Error {\n /**\n * Constructor of a message for `reason` at `place` from `origin`.\n * When an error is passed in as `reason`, copies the `stack`.\n *\n * @param {string|Error} reason Reason for message (`string` or `Error`). Uses the stack and message of the error if given.\n * @param {Node|NodeLike|Position|Point} [place] Place at which the message occurred in a file (`Node`, `Position`, or `Point`, optional).\n * @param {string} [origin] Place in code the message originates from (`string`, optional).\n */\n constructor(reason, place, origin) {\n /** @type {[string|null, string|null]} */\n const parts = [null, null]\n /** @type {Position} */\n let position = {\n // @ts-expect-error: we always follows the structure of `position`.\n start: {line: null, column: null},\n // @ts-expect-error: \"\n end: {line: null, column: null}\n }\n\n super()\n\n if (typeof place === 'string') {\n origin = place\n place = undefined\n }\n\n if (typeof origin === 'string') {\n const index = origin.indexOf(':')\n\n if (index === -1) {\n parts[1] = origin\n } else {\n parts[0] = origin.slice(0, index)\n parts[1] = origin.slice(index + 1)\n }\n }\n\n if (place) {\n // Node.\n if ('type' in place || 'position' in place) {\n if (place.position) {\n position = place.position\n }\n }\n // Position.\n else if ('start' in place || 'end' in place) {\n position = place\n }\n // Point.\n else if ('line' in place || 'column' in place) {\n position.start = place\n }\n }\n\n // Fields from `Error`\n this.name = stringifyPosition(place) || '1:1'\n this.message = typeof reason === 'object' ? reason.message : reason\n this.stack = typeof reason === 'object' ? reason.stack : ''\n\n /**\n * Reason for message.\n * @type {string}\n */\n this.reason = this.message\n /**\n * If true, marks associated file as no longer processable.\n * @type {boolean?}\n */\n // eslint-disable-next-line no-unused-expressions\n this.fatal\n /**\n * Starting line of error.\n * @type {number?}\n */\n this.line = position.start.line\n /**\n * Starting column of error.\n * @type {number?}\n */\n this.column = position.start.column\n /**\n * Namespace of warning.\n * @type {string?}\n */\n this.source = parts[0]\n /**\n * Category of message.\n * @type {string?}\n */\n this.ruleId = parts[1]\n /**\n * Full range information, when available.\n * Has start and end properties, both set to an object with line and column, set to number?.\n * @type {Position?}\n */\n this.position = position\n\n // The following fields are “well known”.\n // Not standard.\n // Feel free to add other non-standard fields to your messages.\n\n /* eslint-disable no-unused-expressions */\n /**\n * You can use this to specify the source value that’s being reported, which\n * is deemed incorrect.\n * @type {string?}\n */\n this.actual\n /**\n * You can use this to suggest values that should be used instead of\n * `actual`, one or more values that are deemed as acceptable.\n * @type {Array<string>?}\n */\n this.expected\n /**\n * You may add a file property with a path of a file (used throughout the VFile ecosystem).\n * @type {string?}\n */\n this.file\n /**\n * You may add a url property with a link to documentation for the message.\n * @type {string?}\n */\n this.url\n /**\n * You may add a note property with a long form description of the message (supported by vfile-reporter).\n * @type {string?}\n */\n this.note\n /* eslint-enable no-unused-expressions */\n }\n}\n\nVFileMessage.prototype.file = ''\nVFileMessage.prototype.name = ''\nVFileMessage.prototype.reason = ''\nVFileMessage.prototype.message = ''\nVFileMessage.prototype.stack = ''\nVFileMessage.prototype.fatal = null\nVFileMessage.prototype.column = null\nVFileMessage.prototype.line = null\nVFileMessage.prototype.source = null\nVFileMessage.prototype.ruleId = null\nVFileMessage.prototype.position = null\n","// A derivative work based on:\n// <https://github.com/browserify/path-browserify>.\n// Which is licensed:\n//\n// MIT License\n//\n// Copyright (c) 2013 James Halliday\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy of\n// this software and associated documentation files (the \"Software\"), to deal in\n// the Software without restriction, including without limitation the rights to\n// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n// the Software, and to permit persons to whom the Software is furnished to do so,\n// subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A derivative work based on:\n//\n// Parts of that are extracted from Node’s internal `path` module:\n// <https://github.com/nodejs/node/blob/master/lib/path.js>.\n// Which is licensed:\n//\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nexport const path = {basename, dirname, extname, join, sep: '/'}\n\n/* eslint-disable max-depth, complexity */\n\n/**\n * @param {string} path\n * @param {string} [ext]\n * @returns {string}\n */\nfunction basename(path, ext) {\n if (ext !== undefined && typeof ext !== 'string') {\n throw new TypeError('\"ext\" argument must be a string')\n }\n\n assertPath(path)\n let start = 0\n let end = -1\n let index = path.length\n /** @type {boolean|undefined} */\n let seenNonSlash\n\n if (ext === undefined || ext.length === 0 || ext.length > path.length) {\n while (index--) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // path component.\n seenNonSlash = true\n end = index + 1\n }\n }\n\n return end < 0 ? '' : path.slice(start, end)\n }\n\n if (ext === path) {\n return ''\n }\n\n let firstNonSlashEnd = -1\n let extIndex = ext.length - 1\n\n while (index--) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (seenNonSlash) {\n start = index + 1\n break\n }\n } else {\n if (firstNonSlashEnd < 0) {\n // We saw the first non-path separator, remember this index in case\n // we need it if the extension ends up not matching.\n seenNonSlash = true\n firstNonSlashEnd = index + 1\n }\n\n if (extIndex > -1) {\n // Try to match the explicit extension.\n if (path.charCodeAt(index) === ext.charCodeAt(extIndex--)) {\n if (extIndex < 0) {\n // We matched the extension, so mark this as the end of our path\n // component\n end = index\n }\n } else {\n // Extension does not match, so our result is the entire path\n // component\n extIndex = -1\n end = firstNonSlashEnd\n }\n }\n }\n }\n\n if (start === end) {\n end = firstNonSlashEnd\n } else if (end < 0) {\n end = path.length\n }\n\n return path.slice(start, end)\n}\n\n/**\n * @param {string} path\n * @returns {string}\n */\nfunction dirname(path) {\n assertPath(path)\n\n if (path.length === 0) {\n return '.'\n }\n\n let end = -1\n let index = path.length\n /** @type {boolean|undefined} */\n let unmatchedSlash\n\n // Prefix `--` is important to not run on `0`.\n while (--index) {\n if (path.charCodeAt(index) === 47 /* `/` */) {\n if (unmatchedSlash) {\n end = index\n break\n }\n } else if (!unmatchedSlash) {\n // We saw the first non-path separator\n unmatchedSlash = true\n }\n }\n\n return end < 0\n ? path.charCodeAt(0) === 47 /* `/` */\n ? '/'\n : '.'\n : end === 1 && path.charCodeAt(0) === 47 /* `/` */\n ? '//'\n : path.slice(0, end)\n}\n\n/**\n * @param {string} path\n * @returns {string}\n */\nfunction extname(path) {\n assertPath(path)\n\n let index = path.length\n\n let end = -1\n let startPart = 0\n let startDot = -1\n // Track the state of characters (if any) we see before our first dot and\n // after any path separator we find.\n let preDotState = 0\n /** @type {boolean|undefined} */\n let unmatchedSlash\n\n while (index--) {\n const code = path.charCodeAt(index)\n\n if (code === 47 /* `/` */) {\n // If we reached a path separator that was not part of a set of path\n // separators at the end of the string, stop now.\n if (unmatchedSlash) {\n startPart = index + 1\n break\n }\n\n continue\n }\n\n if (end < 0) {\n // We saw the first non-path separator, mark this as the end of our\n // extension.\n unmatchedSlash = true\n end = index + 1\n }\n\n if (code === 46 /* `.` */) {\n // If this is our first dot, mark it as the start of our extension.\n if (startDot < 0) {\n startDot = index\n } else if (preDotState !== 1) {\n preDotState = 1\n }\n } else if (startDot > -1) {\n // We saw a non-dot and non-path separator before our dot, so we should\n // have a good chance at having a non-empty extension.\n preDotState = -1\n }\n }\n\n if (\n startDot < 0 ||\n end < 0 ||\n // We saw a non-dot character immediately before the dot.\n preDotState === 0 ||\n // The (right-most) trimmed path component is exactly `..`.\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n return ''\n }\n\n return path.slice(startDot, end)\n}\n\n/**\n * @param {Array<string>} segments\n * @returns {string}\n */\nfunction join(...segments) {\n let index = -1\n /** @type {string|undefined} */\n let joined\n\n while (++index < segments.length) {\n assertPath(segments[index])\n\n if (segments[index]) {\n joined =\n joined === undefined ? segments[index] : joined + '/' + segments[index]\n }\n }\n\n return joined === undefined ? '.' : normalize(joined)\n}\n\n/**\n * Note: `normalize` is not exposed as `path.normalize`, so some code is\n * manually removed from it.\n *\n * @param {string} path\n * @returns {string}\n */\nfunction normalize(path) {\n assertPath(path)\n\n const absolute = path.charCodeAt(0) === 47 /* `/` */\n\n // Normalize the path according to POSIX rules.\n let value = normalizeString(path, !absolute)\n\n if (value.length === 0 && !absolute) {\n value = '.'\n }\n\n if (value.length > 0 && path.charCodeAt(path.length - 1) === 47 /* / */) {\n value += '/'\n }\n\n return absolute ? '/' + value : value\n}\n\n/**\n * Resolve `.` and `..` elements in a path with directory names.\n *\n * @param {string} path\n * @param {boolean} allowAboveRoot\n * @returns {string}\n */\nfunction normalizeString(path, allowAboveRoot) {\n let result = ''\n let lastSegmentLength = 0\n let lastSlash = -1\n let dots = 0\n let index = -1\n /** @type {number|undefined} */\n let code\n /** @type {number} */\n let lastSlashIndex\n\n while (++index <= path.length) {\n if (index < path.length) {\n code = path.charCodeAt(index)\n } else if (code === 47 /* `/` */) {\n break\n } else {\n code = 47 /* `/` */\n }\n\n if (code === 47 /* `/` */) {\n if (lastSlash === index - 1 || dots === 1) {\n // Empty.\n } else if (lastSlash !== index - 1 && dots === 2) {\n if (\n result.length < 2 ||\n lastSegmentLength !== 2 ||\n result.charCodeAt(result.length - 1) !== 46 /* `.` */ ||\n result.charCodeAt(result.length - 2) !== 46 /* `.` */\n ) {\n if (result.length > 2) {\n lastSlashIndex = result.lastIndexOf('/')\n\n if (lastSlashIndex !== result.length - 1) {\n if (lastSlashIndex < 0) {\n result = ''\n lastSegmentLength = 0\n } else {\n result = result.slice(0, lastSlashIndex)\n lastSegmentLength = result.length - 1 - result.lastIndexOf('/')\n }\n\n lastSlash = index\n dots = 0\n continue\n }\n } else if (result.length > 0) {\n result = ''\n lastSegmentLength = 0\n lastSlash = index\n dots = 0\n continue\n }\n }\n\n if (allowAboveRoot) {\n result = result.length > 0 ? result + '/..' : '..'\n lastSegmentLength = 2\n }\n } else {\n if (result.length > 0) {\n result += '/' + path.slice(lastSlash + 1, index)\n } else {\n result = path.slice(lastSlash + 1, index)\n }\n\n lastSegmentLength = index - lastSlash - 1\n }\n\n lastSlash = index\n dots = 0\n } else if (code === 46 /* `.` */ && dots > -1) {\n dots++\n } else {\n dots = -1\n }\n }\n\n return result\n}\n\n/**\n * @param {string} path\n */\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError(\n 'Path must be a string. Received ' + JSON.stringify(path)\n )\n }\n}\n\n/* eslint-enable max-depth, complexity */\n","// Somewhat based on:\n// <https://github.com/defunctzombie/node-process/blob/master/browser.js>.\n// But I don’t think one tiny line of code can be copyrighted. 😅\nexport const proc = {cwd}\n\nfunction cwd() {\n return '/'\n}\n","/**\n * @typedef URL\n * @property {string} hash\n * @property {string} host\n * @property {string} hostname\n * @property {string} href\n * @property {string} origin\n * @property {string} password\n * @property {string} pathname\n * @property {string} port\n * @property {string} protocol\n * @property {string} search\n * @property {any} searchParams\n * @property {string} username\n * @property {() => string} toString\n * @property {() => string} toJSON\n */\n\n/**\n * @param {unknown} fileURLOrPath\n * @returns {fileURLOrPath is URL}\n */\n// From: <https://github.com/nodejs/node/blob/fcf8ba4/lib/internal/url.js#L1501>\nexport function isUrl(fileURLOrPath) {\n return (\n fileURLOrPath !== null &&\n typeof fileURLOrPath === 'object' &&\n // @ts-expect-error: indexable.\n fileURLOrPath.href &&\n // @ts-expect-error: indexable.\n fileURLOrPath.origin\n )\n}\n","/// <reference lib=\"dom\" />\n\nimport {isUrl} from './minurl.shared.js'\n\n// See: <https://github.com/nodejs/node/blob/fcf8ba4/lib/internal/url.js>\n\n/**\n * @param {string|URL} path\n */\nexport function urlToPath(path) {\n if (typeof path === 'string') {\n path = new URL(path)\n } else if (!isUrl(path)) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'The \"path\" argument must be of type string or an instance of URL. Received `' +\n path +\n '`'\n )\n error.code = 'ERR_INVALID_ARG_TYPE'\n throw error\n }\n\n if (path.protocol !== 'file:') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError('The URL must be of scheme file')\n error.code = 'ERR_INVALID_URL_SCHEME'\n throw error\n }\n\n return getPathFromURLPosix(path)\n}\n\n/**\n * @param {URL} url\n */\nfunction getPathFromURLPosix(url) {\n if (url.hostname !== '') {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL host must be \"localhost\" or empty on darwin'\n )\n error.code = 'ERR_INVALID_FILE_URL_HOST'\n throw error\n }\n\n const pathname = url.pathname\n let index = -1\n\n while (++index < pathname.length) {\n if (\n pathname.charCodeAt(index) === 37 /* `%` */ &&\n pathname.charCodeAt(index + 1) === 50 /* `2` */\n ) {\n const third = pathname.charCodeAt(index + 2)\n if (third === 70 /* `F` */ || third === 102 /* `f` */) {\n /** @type {NodeJS.ErrnoException} */\n const error = new TypeError(\n 'File URL path must not include encoded / characters'\n )\n error.code = 'ERR_INVALID_FILE_URL_PATH'\n throw error\n }\n }\n }\n\n return decodeURIComponent(pathname)\n}\n\nexport {isUrl} from './minurl.shared.js'\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n * @typedef {Record<string, unknown> & {type: string, position?: Position|undefined}} NodeLike\n * @typedef {import('./minurl.shared.js').URL} URL\n * @typedef {import('../index.js').Data} Data\n * @typedef {import('../index.js').Value} Value\n *\n * @typedef {'ascii'|'utf8'|'utf-8'|'utf16le'|'ucs2'|'ucs-2'|'base64'|'base64url'|'latin1'|'binary'|'hex'} BufferEncoding\n * Encodings supported by the buffer class.\n * This is a copy of the typing from Node, copied to prevent Node globals from\n * being needed.\n * Copied from: <https://github.com/DefinitelyTyped/DefinitelyTyped/blob/90a4ec8/types/node/buffer.d.ts#L170>\n *\n * @typedef {Value|Options|VFile|URL} Compatible\n * Things that can be passed to the constructor.\n *\n * @typedef VFileCoreOptions\n * @property {Value} [value]\n * @property {string} [cwd]\n * @property {Array<string>} [history]\n * @property {string|URL} [path]\n * @property {string} [basename]\n * @property {string} [stem]\n * @property {string} [extname]\n * @property {string} [dirname]\n * @property {Data} [data]\n *\n * @typedef Map\n * Raw source map, see:\n * <https://github.com/mozilla/source-map/blob/58819f0/source-map.d.ts#L15-L23>.\n * @property {number} version\n * @property {Array<string>} sources\n * @property {Array<string>} names\n * @property {string|undefined} [sourceRoot]\n * @property {Array<string>|undefined} [sourcesContent]\n * @property {string} mappings\n * @property {string} file\n *\n * @typedef {{[key: string]: unknown} & VFileCoreOptions} Options\n * Configuration: a bunch of keys that will be shallow copied over to the new\n * file.\n *\n * @typedef {Record<string, unknown>} ReporterSettings\n * @typedef {<T = ReporterSettings>(files: Array<VFile>, options: T) => string} Reporter\n */\n\nimport buffer from 'is-buffer'\nimport {VFileMessage} from 'vfile-message'\nimport {path} from './minpath.js'\nimport {proc} from './minproc.js'\nimport {urlToPath, isUrl} from './minurl.js'\n\n// Order of setting (least specific to most), we need this because otherwise\n// `{stem: 'a', path: '~/b.js'}` would throw, as a path is needed before a\n// stem can be set.\nconst order = ['history', 'path', 'basename', 'stem', 'extname', 'dirname']\n\nexport class VFile {\n /**\n * Create a new virtual file.\n *\n * If `options` is `string` or `Buffer`, it’s treated as `{value: options}`.\n * If `options` is a `URL`, it’s treated as `{path: options}`.\n * If `options` is a `VFile`, shallow copies its data over to the new file.\n * All fields in `options` are set on the newly created `VFile`.\n *\n * Path related fields are set in the following order (least specific to\n * most specific): `history`, `path`, `basename`, `stem`, `extname`,\n * `dirname`.\n *\n * It’s not possible to set either `dirname` or `extname` without setting\n * either `history`, `path`, `basename`, or `stem` as well.\n *\n * @param {Compatible} [value]\n */\n constructor(value) {\n /** @type {Options} */\n let options\n\n if (!value) {\n options = {}\n } else if (typeof value === 'string' || buffer(value)) {\n // @ts-expect-error Looks like a buffer.\n options = {value}\n } else if (isUrl(value)) {\n options = {path: value}\n } else {\n // @ts-expect-error Looks like file or options.\n options = value\n }\n\n /**\n * Place to store custom information (default: `{}`).\n * It’s OK to store custom data directly on the file but moving it to\n * `data` is recommended.\n * @type {Data}\n */\n this.data = {}\n\n /**\n * List of messages associated with the file.\n * @type {Array<VFileMessage>}\n */\n this.messages = []\n\n /**\n * List of filepaths the file moved between.\n * The first is the original path and the last is the current path.\n * @type {Array<string>}\n */\n this.history = []\n\n /**\n * Base of `path` (default: `process.cwd()` or `'/'` in browsers).\n * @type {string}\n */\n this.cwd = proc.cwd()\n\n /* eslint-disable no-unused-expressions */\n /**\n * Raw value.\n * @type {Value}\n */\n this.value\n\n // The below are non-standard, they are “well-known”.\n // As in, used in several tools.\n\n /**\n * Whether a file was saved to disk.\n * This is used by vfile reporters.\n * @type {boolean}\n */\n this.stored\n\n /**\n * Sometimes files have a non-string, compiled, representation.\n * This can be stored in the `result` field.\n * One example is when turning markdown into React nodes.\n * This is used by unified to store non-string results.\n * @type {unknown}\n */\n this.result\n\n /**\n * Sometimes files have a source map associated with them.\n * This can be stored in the `map` field.\n * This should be a `Map` type, which is equivalent to the `RawSourceMap`\n * type from the `source-map` module.\n * @type {Map|undefined}\n */\n this.map\n /* eslint-enable no-unused-expressions */\n\n // Set path related properties in the correct order.\n let index = -1\n\n while (++index < order.length) {\n const prop = order[index]\n\n // Note: we specifically use `in` instead of `hasOwnProperty` to accept\n // `vfile`s too.\n if (prop in options && options[prop] !== undefined) {\n // @ts-expect-error: TS is confused by the different types for `history`.\n this[prop] = prop === 'history' ? [...options[prop]] : options[prop]\n }\n }\n\n /** @type {string} */\n let prop\n\n // Set non-path related properties.\n for (prop in options) {\n // @ts-expect-error: fine to set other things.\n if (!order.includes(prop)) this[prop] = options[prop]\n }\n }\n\n /**\n * Get the full path (example: `'~/index.min.js'`).\n * @returns {string}\n */\n get path() {\n return this.history[this.history.length - 1]\n }\n\n /**\n * Set the full path (example: `'~/index.min.js'`).\n * Cannot be nullified.\n * You can set a file URL (a `URL` object with a `file:` protocol) which will\n * be turned into a path with `url.fileURLToPath`.\n * @param {string|URL} path\n */\n set path(path) {\n if (isUrl(path)) {\n path = urlToPath(path)\n }\n\n assertNonEmpty(path, 'path')\n\n if (this.path !== path) {\n this.history.push(path)\n }\n }\n\n /**\n * Get the parent path (example: `'~'`).\n */\n get dirname() {\n return typeof this.path === 'string' ? path.dirname(this.path) : undefined\n }\n\n /**\n * Set the parent path (example: `'~'`).\n * Cannot be set if there’s no `path` yet.\n */\n set dirname(dirname) {\n assertPath(this.basename, 'dirname')\n this.path = path.join(dirname || '', this.basename)\n }\n\n /**\n * Get the basename (including extname) (example: `'index.min.js'`).\n */\n get basename() {\n return typeof this.path === 'string' ? path.basename(this.path) : undefined\n }\n\n /**\n * Set basename (including extname) (`'index.min.js'`).\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n */\n set basename(basename) {\n assertNonEmpty(basename, 'basename')\n assertPart(basename, 'basename')\n this.path = path.join(this.dirname || '', basename)\n }\n\n /**\n * Get the extname (including dot) (example: `'.js'`).\n */\n get extname() {\n return typeof this.path === 'string' ? path.extname(this.path) : undefined\n }\n\n /**\n * Set the extname (including dot) (example: `'.js'`).\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be set if there’s no `path` yet.\n */\n set extname(extname) {\n assertPart(extname, 'extname')\n assertPath(this.dirname, 'extname')\n\n if (extname) {\n if (extname.charCodeAt(0) !== 46 /* `.` */) {\n throw new Error('`extname` must start with `.`')\n }\n\n if (extname.includes('.', 1)) {\n throw new Error('`extname` cannot contain multiple dots')\n }\n }\n\n this.path = path.join(this.dirname, this.stem + (extname || ''))\n }\n\n /**\n * Get the stem (basename w/o extname) (example: `'index.min'`).\n */\n get stem() {\n return typeof this.path === 'string'\n ? path.basename(this.path, this.extname)\n : undefined\n }\n\n /**\n * Set the stem (basename w/o extname) (example: `'index.min'`).\n * Cannot contain path separators (`'/'` on unix, macOS, and browsers, `'\\'`\n * on windows).\n * Cannot be nullified (use `file.path = file.dirname` instead).\n */\n set stem(stem) {\n assertNonEmpty(stem, 'stem')\n assertPart(stem, 'stem')\n this.path = path.join(this.dirname || '', stem + (this.extname || ''))\n }\n\n /**\n * Serialize the file.\n *\n * @param {BufferEncoding} [encoding='utf8']\n * When `value` is a `Buffer`, `encoding` is a character encoding to\n * understand it as (default: `'utf8'`).\n * @returns {string}\n * Serialized file.\n */\n toString(encoding) {\n return (this.value || '').toString(encoding)\n }\n\n /**\n * Constructs a new `VFileMessage`, where `fatal` is set to `false`, and\n * associates it with the file by adding it to `vfile.messages` and setting\n * `message.file` to the current filepath.\n *\n * @param {string|Error} reason\n * Human readable reason for the message, uses the stack and message of the error if given.\n * @param {Node|NodeLike|Position|Point} [place]\n * Place where the message occurred in the file.\n * @param {string} [origin]\n * Computer readable reason for the message\n * @returns {VFileMessage}\n * Message.\n */\n message(reason, place, origin) {\n const message = new VFileMessage(reason, place, origin)\n\n if (this.path) {\n message.name = this.path + ':' + message.name\n message.file = this.path\n }\n\n message.fatal = false\n\n this.messages.push(message)\n\n return message\n }\n\n /**\n * Like `VFile#message()`, but associates an informational message where\n * `fatal` is set to `null`.\n *\n * @param {string|Error} reason\n * Human readable reason for the message, uses the stack and message of the error if given.\n * @param {Node|NodeLike|Position|Point} [place]\n * Place where the message occurred in the file.\n * @param {string} [origin]\n * Computer readable reason for the message\n * @returns {VFileMessage}\n * Message.\n */\n info(reason, place, origin) {\n const message = this.message(reason, place, origin)\n\n message.fatal = null\n\n return message\n }\n\n /**\n * Like `VFile#message()`, but associates a fatal message where `fatal` is\n * set to `true`, and then immediately throws it.\n *\n * > 👉 **Note**: a fatal error means that a file is no longer processable.\n *\n * @param {string|Error} reason\n * Human readable reason for the message, uses the stack and message of the error if given.\n * @param {Node|NodeLike|Position|Point} [place]\n * Place where the message occurred in the file.\n * @param {string} [origin]\n * Computer readable reason for the message\n * @returns {never}\n * Message.\n */\n fail(reason, place, origin) {\n const message = this.message(reason, place, origin)\n\n message.fatal = true\n\n throw message\n }\n}\n\n/**\n * Assert that `part` is not a path (as in, does not contain `path.sep`).\n *\n * @param {string|undefined} part\n * @param {string} name\n * @returns {void}\n */\nfunction assertPart(part, name) {\n if (part && part.includes(path.sep)) {\n throw new Error(\n '`' + name + '` cannot be a path: did not expect `' + path.sep + '`'\n )\n }\n}\n\n/**\n * Assert that `part` is not empty.\n *\n * @param {string|undefined} part\n * @param {string} name\n * @returns {asserts part is string}\n */\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty')\n }\n}\n\n/**\n * Assert `path` exists.\n *\n * @param {string|undefined} path\n * @param {string} name\n * @returns {asserts path is string}\n */\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too')\n }\n}\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","/**\n * Throw a given error.\n *\n * @param {Error|null|undefined} [error]\n * Maybe error.\n * @returns {asserts error is null|undefined}\n */\nexport function bail(error) {\n if (error) {\n throw error\n }\n}\n","export default function isPlainObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\n\tconst prototype = Object.getPrototypeOf(value);\n\treturn (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);\n}\n","/**\n * @typedef {(error?: Error|null|undefined, ...output: Array<any>) => void} Callback\n * @typedef {(...input: Array<any>) => any} Middleware\n *\n * @typedef {(...input: Array<any>) => void} Run\n * Call all middleware.\n * @typedef {(fn: Middleware) => Pipeline} Use\n * Add `fn` (middleware) to the list.\n * @typedef {{run: Run, use: Use}} Pipeline\n * Middleware.\n */\n\n/**\n * Create new middleware.\n *\n * @returns {Pipeline}\n */\nexport function trough() {\n /** @type {Array<Middleware>} */\n const fns = []\n /** @type {Pipeline} */\n const pipeline = {run, use}\n\n return pipeline\n\n /** @type {Run} */\n function run(...values) {\n let middlewareIndex = -1\n /** @type {Callback} */\n const callback = values.pop()\n\n if (typeof callback !== 'function') {\n throw new TypeError('Expected function as last argument, not ' + callback)\n }\n\n next(null, ...values)\n\n /**\n * Run the next `fn`, or we’re done.\n *\n * @param {Error|null|undefined} error\n * @param {Array<any>} output\n */\n function next(error, ...output) {\n const fn = fns[++middlewareIndex]\n let index = -1\n\n if (error) {\n callback(error)\n return\n }\n\n // Copy non-nullish input into values.\n while (++index < values.length) {\n if (output[index] === null || output[index] === undefined) {\n output[index] = values[index]\n }\n }\n\n // Save the newly created `output` for the next call.\n values = output\n\n // Next or done.\n if (fn) {\n wrap(fn, next)(...output)\n } else {\n callback(null, ...output)\n }\n }\n }\n\n /** @type {Use} */\n function use(middelware) {\n if (typeof middelware !== 'function') {\n throw new TypeError(\n 'Expected `middelware` to be a function, not ' + middelware\n )\n }\n\n fns.push(middelware)\n return pipeline\n }\n}\n\n/**\n * Wrap `middleware`.\n * Can be sync or async; return a promise, receive a callback, or return new\n * values and errors.\n *\n * @param {Middleware} middleware\n * @param {Callback} callback\n */\nexport function wrap(middleware, callback) {\n /** @type {boolean} */\n let called\n\n return wrapped\n\n /**\n * Call `middleware`.\n * @this {any}\n * @param {Array<any>} parameters\n * @returns {void}\n */\n function wrapped(...parameters) {\n const fnExpectsCallback = middleware.length > parameters.length\n /** @type {any} */\n let result\n\n if (fnExpectsCallback) {\n parameters.push(done)\n }\n\n try {\n result = middleware.apply(this, parameters)\n } catch (error) {\n const exception = /** @type {Error} */ (error)\n\n // Well, this is quite the pickle.\n // `middleware` received a callback and called it synchronously, but that\n // threw an error.\n // The only thing left to do is to throw the thing instead.\n if (fnExpectsCallback && called) {\n throw exception\n }\n\n return done(exception)\n }\n\n if (!fnExpectsCallback) {\n if (result instanceof Promise) {\n result.then(then, done)\n } else if (result instanceof Error) {\n done(result)\n } else {\n then(result)\n }\n }\n }\n\n /**\n * Call `callback`, only once.\n * @type {Callback}\n */\n function done(error, ...output) {\n if (!called) {\n called = true\n callback(error, ...output)\n }\n }\n\n /**\n * Call `done` with one value.\n *\n * @param {any} [value]\n */\n function then(value) {\n done(null, value)\n }\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('vfile').VFileCompatible} VFileCompatible\n * @typedef {import('vfile').VFileValue} VFileValue\n * @typedef {import('..').Processor} Processor\n * @typedef {import('..').Plugin} Plugin\n * @typedef {import('..').Preset} Preset\n * @typedef {import('..').Pluggable} Pluggable\n * @typedef {import('..').PluggableList} PluggableList\n * @typedef {import('..').Transformer} Transformer\n * @typedef {import('..').Parser} Parser\n * @typedef {import('..').Compiler} Compiler\n * @typedef {import('..').RunCallback} RunCallback\n * @typedef {import('..').ProcessCallback} ProcessCallback\n *\n * @typedef Context\n * @property {Node} tree\n * @property {VFile} file\n */\n\nimport {bail} from 'bail'\nimport isBuffer from 'is-buffer'\nimport extend from 'extend'\nimport isPlainObj from 'is-plain-obj'\nimport {trough} from 'trough'\nimport {VFile} from 'vfile'\n\n// Expose a frozen processor.\nexport const unified = base().freeze()\n\nconst own = {}.hasOwnProperty\n\n// Function to create the first processor.\n/**\n * @returns {Processor}\n */\nfunction base() {\n const transformers = trough()\n /** @type {Processor['attachers']} */\n const attachers = []\n /** @type {Record<string, unknown>} */\n let namespace = {}\n /** @type {boolean|undefined} */\n let frozen\n let freezeIndex = -1\n\n // Data management.\n // @ts-expect-error: overloads are handled.\n processor.data = data\n processor.Parser = undefined\n processor.Compiler = undefined\n\n // Lock.\n processor.freeze = freeze\n\n // Plugins.\n processor.attachers = attachers\n // @ts-expect-error: overloads are handled.\n processor.use = use\n\n // API.\n processor.parse = parse\n processor.stringify = stringify\n // @ts-expect-error: overloads are handled.\n processor.run = run\n processor.runSync = runSync\n // @ts-expect-error: overloads are handled.\n processor.process = process\n processor.processSync = processSync\n\n // Expose.\n return processor\n\n // Create a new processor based on the processor in the current scope.\n /** @type {Processor} */\n function processor() {\n const destination = base()\n let index = -1\n\n while (++index < attachers.length) {\n destination.use(...attachers[index])\n }\n\n destination.data(extend(true, {}, namespace))\n\n return destination\n }\n\n /**\n * @param {string|Record<string, unknown>} [key]\n * @param {unknown} [value]\n * @returns {unknown}\n */\n function data(key, value) {\n if (typeof key === 'string') {\n // Set `key`.\n if (arguments.length === 2) {\n assertUnfrozen('data', frozen)\n namespace[key] = value\n return processor\n }\n\n // Get `key`.\n return (own.call(namespace, key) && namespace[key]) || null\n }\n\n // Set space.\n if (key) {\n assertUnfrozen('data', frozen)\n namespace = key\n return processor\n }\n\n // Get space.\n return namespace\n }\n\n /** @type {Processor['freeze']} */\n function freeze() {\n if (frozen) {\n return processor\n }\n\n while (++freezeIndex < attachers.length) {\n const [attacher, ...options] = attachers[freezeIndex]\n\n if (options[0] === false) {\n continue\n }\n\n if (options[0] === true) {\n options[0] = undefined\n }\n\n /** @type {Transformer|void} */\n const transformer = attacher.call(processor, ...options)\n\n if (typeof transformer === 'function') {\n transformers.use(transformer)\n }\n }\n\n frozen = true\n freezeIndex = Number.POSITIVE_INFINITY\n\n return processor\n }\n\n /**\n * @param {Pluggable|null|undefined} [value]\n * @param {...unknown} options\n * @returns {Processor}\n */\n function use(value, ...options) {\n /** @type {Record<string, unknown>|undefined} */\n let settings\n\n assertUnfrozen('use', frozen)\n\n if (value === null || value === undefined) {\n // Empty.\n } else if (typeof value === 'function') {\n addPlugin(value, ...options)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n addList(value)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n\n if (settings) {\n namespace.settings = Object.assign(namespace.settings || {}, settings)\n }\n\n return processor\n\n /**\n * @param {import('..').Pluggable<unknown[]>} value\n * @returns {void}\n */\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value)\n } else if (typeof value === 'object') {\n if (Array.isArray(value)) {\n const [plugin, ...options] = value\n addPlugin(plugin, ...options)\n } else {\n addPreset(value)\n }\n } else {\n throw new TypeError('Expected usable value, not `' + value + '`')\n }\n }\n\n /**\n * @param {Preset} result\n * @returns {void}\n */\n function addPreset(result) {\n addList(result.plugins)\n\n if (result.settings) {\n settings = Object.assign(settings || {}, result.settings)\n }\n }\n\n /**\n * @param {PluggableList|null|undefined} [plugins]\n * @returns {void}\n */\n function addList(plugins) {\n let index = -1\n\n if (plugins === null || plugins === undefined) {\n // Empty.\n } else if (Array.isArray(plugins)) {\n while (++index < plugins.length) {\n const thing = plugins[index]\n add(thing)\n }\n } else {\n throw new TypeError('Expected a list of plugins, not `' + plugins + '`')\n }\n }\n\n /**\n * @param {Plugin} plugin\n * @param {...unknown} [value]\n * @returns {void}\n */\n function addPlugin(plugin, value) {\n let index = -1\n /** @type {Processor['attachers'][number]|undefined} */\n let entry\n\n while (++index < attachers.length) {\n if (attachers[index][0] === plugin) {\n entry = attachers[index]\n break\n }\n }\n\n if (entry) {\n if (isPlainObj(entry[1]) && isPlainObj(value)) {\n value = extend(true, entry[1], value)\n }\n\n entry[1] = value\n } else {\n // @ts-expect-error: fine.\n attachers.push([...arguments])\n }\n }\n }\n\n /** @type {Processor['parse']} */\n function parse(doc) {\n processor.freeze()\n const file = vfile(doc)\n const Parser = processor.Parser\n assertParser('parse', Parser)\n\n if (newable(Parser, 'parse')) {\n // @ts-expect-error: `newable` checks this.\n return new Parser(String(file), file).parse()\n }\n\n // @ts-expect-error: `newable` checks this.\n return Parser(String(file), file) // eslint-disable-line new-cap\n }\n\n /** @type {Processor['stringify']} */\n function stringify(node, doc) {\n processor.freeze()\n const file = vfile(doc)\n const Compiler = processor.Compiler\n assertCompiler('stringify', Compiler)\n assertNode(node)\n\n if (newable(Compiler, 'compile')) {\n // @ts-expect-error: `newable` checks this.\n return new Compiler(node, file).compile()\n }\n\n // @ts-expect-error: `newable` checks this.\n return Compiler(node, file) // eslint-disable-line new-cap\n }\n\n /**\n * @param {Node} node\n * @param {VFileCompatible|RunCallback} [doc]\n * @param {RunCallback} [callback]\n * @returns {Promise<Node>|void}\n */\n function run(node, doc, callback) {\n assertNode(node)\n processor.freeze()\n\n if (!callback && typeof doc === 'function') {\n callback = doc\n doc = undefined\n }\n\n if (!callback) {\n return new Promise(executor)\n }\n\n executor(null, callback)\n\n /**\n * @param {null|((node: Node) => void)} resolve\n * @param {(error: Error) => void} reject\n * @returns {void}\n */\n function executor(resolve, reject) {\n // @ts-expect-error: `doc` can’t be a callback anymore, we checked.\n transformers.run(node, vfile(doc), done)\n\n /**\n * @param {Error|null} error\n * @param {Node} tree\n * @param {VFile} file\n * @returns {void}\n */\n function done(error, tree, file) {\n tree = tree || node\n if (error) {\n reject(error)\n } else if (resolve) {\n resolve(tree)\n } else {\n // @ts-expect-error: `callback` is defined if `resolve` is not.\n callback(null, tree, file)\n }\n }\n }\n }\n\n /** @type {Processor['runSync']} */\n function runSync(node, file) {\n /** @type {Node|undefined} */\n let result\n /** @type {boolean|undefined} */\n let complete\n\n processor.run(node, file, done)\n\n assertDone('runSync', 'run', complete)\n\n // @ts-expect-error: we either bailed on an error or have a tree.\n return result\n\n /**\n * @param {Error|null} [error]\n * @param {Node} [tree]\n * @returns {void}\n */\n function done(error, tree) {\n bail(error)\n result = tree\n complete = true\n }\n }\n\n /**\n * @param {VFileCompatible} doc\n * @param {ProcessCallback} [callback]\n * @returns {Promise<VFile>|undefined}\n */\n function process(doc, callback) {\n processor.freeze()\n assertParser('process', processor.Parser)\n assertCompiler('process', processor.Compiler)\n\n if (!callback) {\n return new Promise(executor)\n }\n\n executor(null, callback)\n\n /**\n * @param {null|((file: VFile) => void)} resolve\n * @param {(error?: Error|null|undefined) => void} reject\n * @returns {void}\n */\n function executor(resolve, reject) {\n const file = vfile(doc)\n\n processor.run(processor.parse(file), file, (error, tree, file) => {\n if (error || !tree || !file) {\n done(error)\n } else {\n /** @type {unknown} */\n const result = processor.stringify(tree, file)\n\n if (result === undefined || result === null) {\n // Empty.\n } else if (looksLikeAVFileValue(result)) {\n file.value = result\n } else {\n file.result = result\n }\n\n done(error, file)\n }\n })\n\n /**\n * @param {Error|null|undefined} [error]\n * @param {VFile|undefined} [file]\n * @returns {void}\n */\n function done(error, file) {\n if (error || !file) {\n reject(error)\n } else if (resolve) {\n resolve(file)\n } else {\n // @ts-expect-error: `callback` is defined if `resolve` is not.\n callback(null, file)\n }\n }\n }\n }\n\n /** @type {Processor['processSync']} */\n function processSync(doc) {\n /** @type {boolean|undefined} */\n let complete\n\n processor.freeze()\n assertParser('processSync', processor.Parser)\n assertCompiler('processSync', processor.Compiler)\n\n const file = vfile(doc)\n\n processor.process(file, done)\n\n assertDone('processSync', 'process', complete)\n\n return file\n\n /**\n * @param {Error|null|undefined} [error]\n * @returns {void}\n */\n function done(error) {\n complete = true\n bail(error)\n }\n }\n}\n\n/**\n * Check if `value` is a constructor.\n *\n * @param {unknown} value\n * @param {string} name\n * @returns {boolean}\n */\nfunction newable(value, name) {\n return (\n typeof value === 'function' &&\n // Prototypes do exist.\n // type-coverage:ignore-next-line\n value.prototype &&\n // A function with keys in its prototype is probably a constructor.\n // Classes’ prototype methods are not enumerable, so we check if some value\n // exists in the prototype.\n // type-coverage:ignore-next-line\n (keys(value.prototype) || name in value.prototype)\n )\n}\n\n/**\n * Check if `value` is an object with keys.\n *\n * @param {Record<string, unknown>} value\n * @returns {boolean}\n */\nfunction keys(value) {\n /** @type {string} */\n let key\n\n for (key in value) {\n if (own.call(value, key)) {\n return true\n }\n }\n\n return false\n}\n\n/**\n * Assert a parser is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Parser}\n */\nfunction assertParser(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `Parser`')\n }\n}\n\n/**\n * Assert a compiler is available.\n *\n * @param {string} name\n * @param {unknown} value\n * @returns {asserts value is Compiler}\n */\nfunction assertCompiler(name, value) {\n if (typeof value !== 'function') {\n throw new TypeError('Cannot `' + name + '` without `Compiler`')\n }\n}\n\n/**\n * Assert the processor is not frozen.\n *\n * @param {string} name\n * @param {unknown} frozen\n * @returns {asserts frozen is false}\n */\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n 'Cannot call `' +\n name +\n '` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.'\n )\n }\n}\n\n/**\n * Assert `node` is a unist node.\n *\n * @param {unknown} node\n * @returns {asserts node is Node}\n */\nfunction assertNode(node) {\n // `isPlainObj` unfortunately uses `any` instead of `unknown`.\n // type-coverage:ignore-next-line\n if (!isPlainObj(node) || typeof node.type !== 'string') {\n throw new TypeError('Expected node, got `' + node + '`')\n // Fine.\n }\n}\n\n/**\n * Assert that `complete` is `true`.\n *\n * @param {string} name\n * @param {string} asyncName\n * @param {unknown} complete\n * @returns {asserts complete is true}\n */\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n '`' + name + '` finished async. Use `' + asyncName + '` instead'\n )\n }\n}\n\n/**\n * @param {VFileCompatible} [value]\n * @returns {VFile}\n */\nfunction vfile(value) {\n return looksLikeAVFile(value) ? value : new VFile(value)\n}\n\n/**\n * @param {VFileCompatible} [value]\n * @returns {value is VFile}\n */\nfunction looksLikeAVFile(value) {\n return Boolean(\n value &&\n typeof value === 'object' &&\n 'message' in value &&\n 'messages' in value\n )\n}\n\n/**\n * @param {unknown} [value]\n * @returns {value is VFileValue}\n */\nfunction looksLikeAVFileValue(value) {\n return typeof value === 'string' || isBuffer(value)\n}\n","/**\n * @typedef Options\n * @property {boolean} [includeImageAlt=true]\n */\n\n/**\n * Get the text content of a node.\n * Prefer the node’s plain-text fields, otherwise serialize its children,\n * and if the given value is an array, serialize the nodes in it.\n *\n * @param {unknown} node\n * @param {Options} [options]\n * @returns {string}\n */\nexport function toString(node, options) {\n var {includeImageAlt = true} = options || {}\n return one(node, includeImageAlt)\n}\n\n/**\n * @param {unknown} node\n * @param {boolean} includeImageAlt\n * @returns {string}\n */\nfunction one(node, includeImageAlt) {\n return (\n (node &&\n typeof node === 'object' &&\n // @ts-ignore looks like a literal.\n (node.value ||\n // @ts-ignore looks like an image.\n (includeImageAlt ? node.alt : '') ||\n // @ts-ignore looks like a parent.\n ('children' in node && all(node.children, includeImageAlt)) ||\n (Array.isArray(node) && all(node, includeImageAlt)))) ||\n ''\n )\n}\n\n/**\n * @param {Array.<unknown>} values\n * @param {boolean} includeImageAlt\n * @returns {string}\n */\nfunction all(values, includeImageAlt) {\n /** @type {Array.<string>} */\n var result = []\n var index = -1\n\n while (++index < values.length) {\n result[index] = one(values[index], includeImageAlt)\n }\n\n return result.join('')\n}\n","/**\n * Like `Array#splice`, but smarter for giant arrays.\n *\n * `Array#splice` takes all items to be inserted as individual argument which\n * causes a stack overflow in V8 when trying to insert 100k items for instance.\n *\n * Otherwise, this does not return the removed items, and takes `items` as an\n * array instead of rest parameters.\n *\n * @template {unknown} T\n * @param {T[]} list\n * @param {number} start\n * @param {number} remove\n * @param {T[]} items\n * @returns {void}\n */\nexport function splice(list, start, remove, items) {\n const end = list.length\n let chunkStart = 0\n /** @type {unknown[]} */\n\n let parameters // Make start between zero and `end` (included).\n\n if (start < 0) {\n start = -start > end ? 0 : end + start\n } else {\n start = start > end ? end : start\n }\n\n remove = remove > 0 ? remove : 0 // No need to chunk the items if there’s only a couple (10k) items.\n\n if (items.length < 10000) {\n parameters = Array.from(items)\n parameters.unshift(start, remove) // @ts-expect-error Hush, it’s fine.\n ;[].splice.apply(list, parameters)\n } else {\n // Delete `remove` items starting from `start`\n if (remove) [].splice.apply(list, [start, remove]) // Insert the items in chunks to not cause stack overflows.\n\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 10000)\n parameters.unshift(start, 0) // @ts-expect-error Hush, it’s fine.\n ;[].splice.apply(list, parameters)\n chunkStart += 10000\n start += 10000\n }\n }\n}\n/**\n * Append `items` (an array) at the end of `list` (another array).\n * When `list` was empty, returns `items` instead.\n *\n * This prevents a potentially expensive operation when `list` is empty,\n * and adds items in batches to prevent V8 from hanging.\n *\n * @template {unknown} T\n * @param {T[]} list\n * @param {T[]} items\n * @returns {T[]}\n */\n\nexport function push(list, items) {\n if (list.length > 0) {\n splice(list, list.length, 0, items)\n return list\n }\n\n return items\n}\n","/**\n * @typedef {import('micromark-util-types').NormalizedExtension} NormalizedExtension\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension\n */\n\nimport {splice} from 'micromark-util-chunked'\n\nconst hasOwnProperty = {}.hasOwnProperty\n\n/**\n * Combine several syntax extensions into one.\n *\n * @param {Extension[]} extensions List of syntax extensions.\n * @returns {NormalizedExtension} A single combined extension.\n */\nexport function combineExtensions(extensions) {\n /** @type {NormalizedExtension} */\n const all = {}\n let index = -1\n\n while (++index < extensions.length) {\n syntaxExtension(all, extensions[index])\n }\n\n return all\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {NormalizedExtension} all Extension to merge into.\n * @param {Extension} extension Extension to merge.\n * @returns {void}\n */\nfunction syntaxExtension(all, extension) {\n /** @type {string} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n const left = maybe || (all[hook] = {})\n const right = extension[hook]\n /** @type {string} */\n let code\n\n for (code in right) {\n if (!hasOwnProperty.call(left, code)) left[code] = []\n const value = right[code]\n constructs(\n // @ts-expect-error Looks like a list.\n left[code],\n Array.isArray(value) ? value : value ? [value] : []\n )\n }\n }\n}\n\n/**\n * Merge `list` into `existing` (both lists of constructs).\n * Mutates `existing`.\n *\n * @param {unknown[]} existing\n * @param {unknown[]} list\n * @returns {void}\n */\nfunction constructs(existing, list) {\n let index = -1\n /** @type {unknown[]} */\n const before = []\n\n while (++index < list.length) {\n // @ts-expect-error Looks like an object.\n ;(list[index].add === 'after' ? existing : before).push(list[index])\n }\n\n splice(existing, 0, 0, before)\n}\n\n/**\n * Combine several HTML extensions into one.\n *\n * @param {HtmlExtension[]} htmlExtensions List of HTML extensions.\n * @returns {HtmlExtension} A single combined extension.\n */\nexport function combineHtmlExtensions(htmlExtensions) {\n /** @type {HtmlExtension} */\n const handlers = {}\n let index = -1\n\n while (++index < htmlExtensions.length) {\n htmlExtension(handlers, htmlExtensions[index])\n }\n\n return handlers\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {HtmlExtension} all Extension to merge into.\n * @param {HtmlExtension} extension Extension to merge.\n * @returns {void}\n */\nfunction htmlExtension(all, extension) {\n /** @type {string} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n const left = maybe || (all[hook] = {})\n const right = extension[hook]\n /** @type {string} */\n let type\n\n if (right) {\n for (type in right) {\n left[type] = right[type]\n }\n }\n }\n}\n","// This module is generated by `script/`.\n//\n// CommonMark handles attention (emphasis, strong) markers based on what comes\n// before or after them.\n// One such difference is if those characters are Unicode punctuation.\n// This script is generated from the Unicode data.\nexport const unicodePunctuationRegex =\n /[!-/:-@[-`{-~\\u00A1\\u00A7\\u00AB\\u00B6\\u00B7\\u00BB\\u00BF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C77\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4F\\u2E52\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]/\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {unicodePunctuationRegex} from './lib/unicode-punctuation-regex.js'\n/**\n * Check whether the character code represents an ASCII alpha (`a` through `z`,\n * case insensitive).\n *\n * An **ASCII alpha** is an ASCII upper alpha or ASCII lower alpha.\n *\n * An **ASCII upper alpha** is a character in the inclusive range U+0041 (`A`)\n * to U+005A (`Z`).\n *\n * An **ASCII lower alpha** is a character in the inclusive range U+0061 (`a`)\n * to U+007A (`z`).\n */\n\nexport const asciiAlpha = regexCheck(/[A-Za-z]/)\n/**\n * Check whether the character code represents an ASCII digit (`0` through `9`).\n *\n * An **ASCII digit** is a character in the inclusive range U+0030 (`0`) to\n * U+0039 (`9`).\n */\n\nexport const asciiDigit = regexCheck(/\\d/)\n/**\n * Check whether the character code represents an ASCII hex digit (`a` through\n * `f`, case insensitive, or `0` through `9`).\n *\n * An **ASCII hex digit** is an ASCII digit (see `asciiDigit`), ASCII upper hex\n * digit, or an ASCII lower hex digit.\n *\n * An **ASCII upper hex digit** is a character in the inclusive range U+0041\n * (`A`) to U+0046 (`F`).\n *\n * An **ASCII lower hex digit** is a character in the inclusive range U+0061\n * (`a`) to U+0066 (`f`).\n */\n\nexport const asciiHexDigit = regexCheck(/[\\dA-Fa-f]/)\n/**\n * Check whether the character code represents an ASCII alphanumeric (`a`\n * through `z`, case insensitive, or `0` through `9`).\n *\n * An **ASCII alphanumeric** is an ASCII digit (see `asciiDigit`) or ASCII alpha\n * (see `asciiAlpha`).\n */\n\nexport const asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/)\n/**\n * Check whether the character code represents ASCII punctuation.\n *\n * An **ASCII punctuation** is a character in the inclusive ranges U+0021\n * EXCLAMATION MARK (`!`) to U+002F SLASH (`/`), U+003A COLON (`:`) to U+0040 AT\n * SIGN (`@`), U+005B LEFT SQUARE BRACKET (`[`) to U+0060 GRAVE ACCENT\n * (`` ` ``), or U+007B LEFT CURLY BRACE (`{`) to U+007E TILDE (`~`).\n */\n\nexport const asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/)\n/**\n * Check whether the character code represents an ASCII atext.\n *\n * atext is an ASCII alphanumeric (see `asciiAlphanumeric`), or a character in\n * the inclusive ranges U+0023 NUMBER SIGN (`#`) to U+0027 APOSTROPHE (`'`),\n * U+002A ASTERISK (`*`), U+002B PLUS SIGN (`+`), U+002D DASH (`-`), U+002F\n * SLASH (`/`), U+003D EQUALS TO (`=`), U+003F QUESTION MARK (`?`), U+005E\n * CARET (`^`) to U+0060 GRAVE ACCENT (`` ` ``), or U+007B LEFT CURLY BRACE\n * (`{`) to U+007E TILDE (`~`).\n *\n * See:\n * **\\[RFC5322]**:\n * [Internet Message Format](https://tools.ietf.org/html/rfc5322).\n * P. Resnick.\n * IETF.\n */\n\nexport const asciiAtext = regexCheck(/[#-'*+\\--9=?A-Z^-~]/)\n/**\n * Check whether a character code is an ASCII control character.\n *\n * An **ASCII control** is a character in the inclusive range U+0000 NULL (NUL)\n * to U+001F (US), or U+007F (DEL).\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function asciiControl(code) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code !== null && (code < 32 || code === 127)\n )\n}\n/**\n * Check whether a character code is a markdown line ending (see\n * `markdownLineEnding`) or markdown space (see `markdownSpace`).\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function markdownLineEndingOrSpace(code) {\n return code !== null && (code < 0 || code === 32)\n}\n/**\n * Check whether a character code is a markdown line ending.\n *\n * A **markdown line ending** is the virtual characters M-0003 CARRIAGE RETURN\n * LINE FEED (CRLF), M-0004 LINE FEED (LF) and M-0005 CARRIAGE RETURN (CR).\n *\n * In micromark, the actual character U+000A LINE FEED (LF) and U+000D CARRIAGE\n * RETURN (CR) are replaced by these virtual characters depending on whether\n * they occurred together.\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function markdownLineEnding(code) {\n return code !== null && code < -2\n}\n/**\n * Check whether a character code is a markdown space.\n *\n * A **markdown space** is the concrete character U+0020 SPACE (SP) and the\n * virtual characters M-0001 VIRTUAL SPACE (VS) and M-0002 HORIZONTAL TAB (HT).\n *\n * In micromark, the actual character U+0009 CHARACTER TABULATION (HT) is\n * replaced by one M-0002 HORIZONTAL TAB (HT) and between 0 and 3 M-0001 VIRTUAL\n * SPACE (VS) characters, depending on the column at which the tab occurred.\n *\n * @param {Code} code\n * @returns {code is number}\n */\n\nexport function markdownSpace(code) {\n return code === -2 || code === -1 || code === 32\n}\n/**\n * Check whether the character code represents Unicode whitespace.\n *\n * Note that this does handle micromark specific markdown whitespace characters.\n * See `markdownLineEndingOrSpace` to check that.\n *\n * A **Unicode whitespace** is a character in the Unicode `Zs` (Separator,\n * Space) category, or U+0009 CHARACTER TABULATION (HT), U+000A LINE FEED (LF),\n * U+000C (FF), or U+000D CARRIAGE RETURN (CR) (**\\[UNICODE]**).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n */\n\nexport const unicodeWhitespace = regexCheck(/\\s/)\n/**\n * Check whether the character code represents Unicode punctuation.\n *\n * A **Unicode punctuation** is a character in the Unicode `Pc` (Punctuation,\n * Connector), `Pd` (Punctuation, Dash), `Pe` (Punctuation, Close), `Pf`\n * (Punctuation, Final quote), `Pi` (Punctuation, Initial quote), `Po`\n * (Punctuation, Other), or `Ps` (Punctuation, Open) categories, or an ASCII\n * punctuation (see `asciiPunctuation`).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n */\n// Size note: removing ASCII from the regex and using `asciiPunctuation` here\n// In fact adds to the bundle size.\n\nexport const unicodePunctuation = regexCheck(unicodePunctuationRegex)\n/**\n * Create a code check from a regex.\n *\n * @param {RegExp} regex\n * @returns {(code: Code) => code is number}\n */\n\nfunction regexCheck(regex) {\n return check\n /**\n * Check whether a code matches the bound regex.\n *\n * @param {Code} code Character code\n * @returns {code is number} Whether the character code matches the bound regex\n */\n\n function check(code) {\n return code !== null && regex.test(String.fromCharCode(code))\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownSpace} from 'micromark-util-character'\n/**\n * @param {Effects} effects\n * @param {State} ok\n * @param {string} type\n * @param {number} [max=Infinity]\n * @returns {State}\n */\n\nexport function factorySpace(effects, ok, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n if (markdownSpace(code)) {\n effects.enter(type)\n return prefix(code)\n }\n\n return ok(code)\n }\n /** @type {State} */\n\n function prefix(code) {\n if (markdownSpace(code) && size++ < limit) {\n effects.consume(code)\n return prefix\n }\n\n effects.exit(type)\n return ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {InitialConstruct} */\nexport const content = {\n tokenize: initializeContent\n}\n/** @type {Initializer} */\n\nfunction initializeContent(effects) {\n const contentStart = effects.attempt(\n this.parser.constructs.contentInitial,\n afterContentStartConstruct,\n paragraphInitial\n )\n /** @type {Token} */\n\n let previous\n return contentStart\n /** @type {State} */\n\n function afterContentStartConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, contentStart, 'linePrefix')\n }\n /** @type {State} */\n\n function paragraphInitial(code) {\n effects.enter('paragraph')\n return lineStart(code)\n }\n /** @type {State} */\n\n function lineStart(code) {\n const token = effects.enter('chunkText', {\n contentType: 'text',\n previous\n })\n\n if (previous) {\n previous.next = token\n }\n\n previous = token\n return data(code)\n }\n /** @type {State} */\n\n function data(code) {\n if (code === null) {\n effects.exit('chunkText')\n effects.exit('paragraph')\n effects.consume(code)\n return\n }\n\n if (markdownLineEnding(code)) {\n effects.consume(code)\n effects.exit('chunkText')\n return lineStart\n } // Data.\n\n effects.consume(code)\n return data\n }\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Point} Point\n */\n\n/**\n * @typedef {Record<string, unknown>} StackState\n * @typedef {[Construct, StackState]} StackItem\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {splice} from 'micromark-util-chunked'\n/** @type {InitialConstruct} */\n\nexport const document = {\n tokenize: initializeDocument\n}\n/** @type {Construct} */\n\nconst containerConstruct = {\n tokenize: tokenizeContainer\n}\n/** @type {Initializer} */\n\nfunction initializeDocument(effects) {\n const self = this\n /** @type {Array<StackItem>} */\n\n const stack = []\n let continued = 0\n /** @type {TokenizeContext|undefined} */\n\n let childFlow\n /** @type {Token|undefined} */\n\n let childToken\n /** @type {number} */\n\n let lineStartOffset\n return start\n /** @type {State} */\n\n function start(code) {\n // First we iterate through the open blocks, starting with the root\n // document, and descending through last children down to the last open\n // block.\n // Each block imposes a condition that the line must satisfy if the block is\n // to remain open.\n // For example, a block quote requires a `>` character.\n // A paragraph requires a non-blank line.\n // In this phase we may match all or just some of the open blocks.\n // But we cannot close unmatched blocks yet, because we may have a lazy\n // continuation line.\n if (continued < stack.length) {\n const item = stack[continued]\n self.containerState = item[1]\n return effects.attempt(\n item[0].continuation,\n documentContinue,\n checkNewContainers\n )(code)\n } // Done.\n\n return checkNewContainers(code)\n }\n /** @type {State} */\n\n function documentContinue(code) {\n continued++ // Note: this field is called `_closeFlow` but it also closes containers.\n // Perhaps a good idea to rename it but it’s already used in the wild by\n // extensions.\n\n if (self.containerState._closeFlow) {\n self.containerState._closeFlow = undefined\n\n if (childFlow) {\n closeFlow()\n } // Note: this algorithm for moving events around is similar to the\n // algorithm when dealing with lazy lines in `writeToChild`.\n\n const indexBeforeExits = self.events.length\n let indexBeforeFlow = indexBeforeExits\n /** @type {Point|undefined} */\n\n let point // Find the flow chunk.\n\n while (indexBeforeFlow--) {\n if (\n self.events[indexBeforeFlow][0] === 'exit' &&\n self.events[indexBeforeFlow][1].type === 'chunkFlow'\n ) {\n point = self.events[indexBeforeFlow][1].end\n break\n }\n }\n\n exitContainers(continued) // Fix positions.\n\n let index = indexBeforeExits\n\n while (index < self.events.length) {\n self.events[index][1].end = Object.assign({}, point)\n index++\n } // Inject the exits earlier (they’re still also at the end).\n\n splice(\n self.events,\n indexBeforeFlow + 1,\n 0,\n self.events.slice(indexBeforeExits)\n ) // Discard the duplicate exits.\n\n self.events.length = index\n return checkNewContainers(code)\n }\n\n return start(code)\n }\n /** @type {State} */\n\n function checkNewContainers(code) {\n // Next, after consuming the continuation markers for existing blocks, we\n // look for new block starts (e.g. `>` for a block quote).\n // If we encounter a new block start, we close any blocks unmatched in\n // step 1 before creating the new block as a child of the last matched\n // block.\n if (continued === stack.length) {\n // No need to `check` whether there’s a container, of `exitContainers`\n // would be moot.\n // We can instead immediately `attempt` to parse one.\n if (!childFlow) {\n return documentContinued(code)\n } // If we have concrete content, such as block HTML or fenced code,\n // we can’t have containers “pierce” into them, so we can immediately\n // start.\n\n if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) {\n return flowStart(code)\n } // If we do have flow, it could still be a blank line,\n // but we’d be interrupting it w/ a new container if there’s a current\n // construct.\n\n self.interrupt = Boolean(\n childFlow.currentConstruct && !childFlow._gfmTableDynamicInterruptHack\n )\n } // Check if there is a new container.\n\n self.containerState = {}\n return effects.check(\n containerConstruct,\n thereIsANewContainer,\n thereIsNoNewContainer\n )(code)\n }\n /** @type {State} */\n\n function thereIsANewContainer(code) {\n if (childFlow) closeFlow()\n exitContainers(continued)\n return documentContinued(code)\n }\n /** @type {State} */\n\n function thereIsNoNewContainer(code) {\n self.parser.lazy[self.now().line] = continued !== stack.length\n lineStartOffset = self.now().offset\n return flowStart(code)\n }\n /** @type {State} */\n\n function documentContinued(code) {\n // Try new containers.\n self.containerState = {}\n return effects.attempt(\n containerConstruct,\n containerContinue,\n flowStart\n )(code)\n }\n /** @type {State} */\n\n function containerContinue(code) {\n continued++\n stack.push([self.currentConstruct, self.containerState]) // Try another.\n\n return documentContinued(code)\n }\n /** @type {State} */\n\n function flowStart(code) {\n if (code === null) {\n if (childFlow) closeFlow()\n exitContainers(0)\n effects.consume(code)\n return\n }\n\n childFlow = childFlow || self.parser.flow(self.now())\n effects.enter('chunkFlow', {\n contentType: 'flow',\n previous: childToken,\n _tokenizer: childFlow\n })\n return flowContinue(code)\n }\n /** @type {State} */\n\n function flowContinue(code) {\n if (code === null) {\n writeToChild(effects.exit('chunkFlow'), true)\n exitContainers(0)\n effects.consume(code)\n return\n }\n\n if (markdownLineEnding(code)) {\n effects.consume(code)\n writeToChild(effects.exit('chunkFlow')) // Get ready for the next line.\n\n continued = 0\n self.interrupt = undefined\n return start\n }\n\n effects.consume(code)\n return flowContinue\n }\n /**\n * @param {Token} token\n * @param {boolean} [eof]\n * @returns {void}\n */\n\n function writeToChild(token, eof) {\n const stream = self.sliceStream(token)\n if (eof) stream.push(null)\n token.previous = childToken\n if (childToken) childToken.next = token\n childToken = token\n childFlow.defineSkip(token.start)\n childFlow.write(stream) // Alright, so we just added a lazy line:\n //\n // ```markdown\n // > a\n // b.\n //\n // Or:\n //\n // > ~~~c\n // d\n //\n // Or:\n //\n // > | e |\n // f\n // ```\n //\n // The construct in the second example (fenced code) does not accept lazy\n // lines, so it marked itself as done at the end of its first line, and\n // then the content construct parses `d`.\n // Most constructs in markdown match on the first line: if the first line\n // forms a construct, a non-lazy line can’t “unmake” it.\n //\n // The construct in the third example is potentially a GFM table, and\n // those are *weird*.\n // It *could* be a table, from the first line, if the following line\n // matches a condition.\n // In this case, that second line is lazy, which “unmakes” the first line\n // and turns the whole into one content block.\n //\n // We’ve now parsed the non-lazy and the lazy line, and can figure out\n // whether the lazy line started a new flow block.\n // If it did, we exit the current containers between the two flow blocks.\n\n if (self.parser.lazy[token.start.line]) {\n let index = childFlow.events.length\n\n while (index--) {\n if (\n // The token starts before the line ending…\n childFlow.events[index][1].start.offset < lineStartOffset && // …and either is not ended yet…\n (!childFlow.events[index][1].end || // …or ends after it.\n childFlow.events[index][1].end.offset > lineStartOffset)\n ) {\n // Exit: there’s still something open, which means it’s a lazy line\n // part of something.\n return\n }\n } // Note: this algorithm for moving events around is similar to the\n // algorithm when closing flow in `documentContinue`.\n\n const indexBeforeExits = self.events.length\n let indexBeforeFlow = indexBeforeExits\n /** @type {boolean|undefined} */\n\n let seen\n /** @type {Point|undefined} */\n\n let point // Find the previous chunk (the one before the lazy line).\n\n while (indexBeforeFlow--) {\n if (\n self.events[indexBeforeFlow][0] === 'exit' &&\n self.events[indexBeforeFlow][1].type === 'chunkFlow'\n ) {\n if (seen) {\n point = self.events[indexBeforeFlow][1].end\n break\n }\n\n seen = true\n }\n }\n\n exitContainers(continued) // Fix positions.\n\n index = indexBeforeExits\n\n while (index < self.events.length) {\n self.events[index][1].end = Object.assign({}, point)\n index++\n } // Inject the exits earlier (they’re still also at the end).\n\n splice(\n self.events,\n indexBeforeFlow + 1,\n 0,\n self.events.slice(indexBeforeExits)\n ) // Discard the duplicate exits.\n\n self.events.length = index\n }\n }\n /**\n * @param {number} size\n * @returns {void}\n */\n\n function exitContainers(size) {\n let index = stack.length // Exit open containers.\n\n while (index-- > size) {\n const entry = stack[index]\n self.containerState = entry[1]\n entry[0].exit.call(self, effects)\n }\n\n stack.length = size\n }\n\n function closeFlow() {\n childFlow.write([null])\n childToken = undefined\n childFlow = undefined\n self.containerState._closeFlow = undefined\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeContainer(effects, ok, nok) {\n return factorySpace(\n effects,\n effects.attempt(this.parser.constructs.document, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4\n )\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const blankLine = {\n tokenize: tokenizeBlankLine,\n partial: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeBlankLine(effects, ok, nok) {\n return factorySpace(effects, afterWhitespace, 'linePrefix')\n /** @type {State} */\n\n function afterWhitespace(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Event} Event\n */\nimport {splice} from 'micromark-util-chunked'\n\n/**\n * Tokenize subcontent.\n *\n * @param {Event[]} events\n * @returns {boolean}\n */\nexport function subtokenize(events) {\n /** @type {Record<string, number>} */\n const jumps = {}\n let index = -1\n /** @type {Event} */\n\n let event\n /** @type {number|undefined} */\n\n let lineIndex\n /** @type {number} */\n\n let otherIndex\n /** @type {Event} */\n\n let otherEvent\n /** @type {Event[]} */\n\n let parameters\n /** @type {Event[]} */\n\n let subevents\n /** @type {boolean|undefined} */\n\n let more\n\n while (++index < events.length) {\n while (index in jumps) {\n index = jumps[index]\n }\n\n event = events[index] // Add a hook for the GFM tasklist extension, which needs to know if text\n // is in the first content of a list item.\n\n if (\n index &&\n event[1].type === 'chunkFlow' &&\n events[index - 1][1].type === 'listItemPrefix'\n ) {\n subevents = event[1]._tokenizer.events\n otherIndex = 0\n\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'lineEndingBlank'\n ) {\n otherIndex += 2\n }\n\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'content'\n ) {\n while (++otherIndex < subevents.length) {\n if (subevents[otherIndex][1].type === 'content') {\n break\n }\n\n if (subevents[otherIndex][1].type === 'chunkText') {\n subevents[otherIndex][1]._isInFirstContentOfListItem = true\n otherIndex++\n }\n }\n }\n } // Enter.\n\n if (event[0] === 'enter') {\n if (event[1].contentType) {\n Object.assign(jumps, subcontent(events, index))\n index = jumps[index]\n more = true\n }\n } // Exit.\n else if (event[1]._container) {\n otherIndex = index\n lineIndex = undefined\n\n while (otherIndex--) {\n otherEvent = events[otherIndex]\n\n if (\n otherEvent[1].type === 'lineEnding' ||\n otherEvent[1].type === 'lineEndingBlank'\n ) {\n if (otherEvent[0] === 'enter') {\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n }\n\n otherEvent[1].type = 'lineEnding'\n lineIndex = otherIndex\n }\n } else {\n break\n }\n }\n\n if (lineIndex) {\n // Fix position.\n event[1].end = Object.assign({}, events[lineIndex][1].start) // Switch container exit w/ line endings.\n\n parameters = events.slice(lineIndex, index)\n parameters.unshift(event)\n splice(events, lineIndex, index - lineIndex + 1, parameters)\n }\n }\n }\n\n return !more\n}\n/**\n * Tokenize embedded tokens.\n *\n * @param {Event[]} events\n * @param {number} eventIndex\n * @returns {Record<string, number>}\n */\n\nfunction subcontent(events, eventIndex) {\n const token = events[eventIndex][1]\n const context = events[eventIndex][2]\n let startPosition = eventIndex - 1\n /** @type {number[]} */\n\n const startPositions = []\n const tokenizer =\n token._tokenizer || context.parser[token.contentType](token.start)\n const childEvents = tokenizer.events\n /** @type {[number, number][]} */\n\n const jumps = []\n /** @type {Record<string, number>} */\n\n const gaps = {}\n /** @type {Chunk[]} */\n\n let stream\n /** @type {Token|undefined} */\n\n let previous\n let index = -1\n /** @type {Token|undefined} */\n\n let current = token\n let adjust = 0\n let start = 0\n const breaks = [start] // Loop forward through the linked tokens to pass them in order to the\n // subtokenizer.\n\n while (current) {\n // Find the position of the event for this token.\n while (events[++startPosition][1] !== current) {\n // Empty.\n }\n\n startPositions.push(startPosition)\n\n if (!current._tokenizer) {\n stream = context.sliceStream(current)\n\n if (!current.next) {\n stream.push(null)\n }\n\n if (previous) {\n tokenizer.defineSkip(current.start)\n }\n\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = true\n }\n\n tokenizer.write(stream)\n\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = undefined\n }\n } // Unravel the next token.\n\n previous = current\n current = current.next\n } // Now, loop back through all events (and linked tokens), to figure out which\n // parts belong where.\n\n current = token\n\n while (++index < childEvents.length) {\n if (\n // Find a void token that includes a break.\n childEvents[index][0] === 'exit' &&\n childEvents[index - 1][0] === 'enter' &&\n childEvents[index][1].type === childEvents[index - 1][1].type &&\n childEvents[index][1].start.line !== childEvents[index][1].end.line\n ) {\n start = index + 1\n breaks.push(start) // Help GC.\n\n current._tokenizer = undefined\n current.previous = undefined\n current = current.next\n }\n } // Help GC.\n\n tokenizer.events = [] // If there’s one more token (which is the cases for lines that end in an\n // EOF), that’s perfect: the last point we found starts it.\n // If there isn’t then make sure any remaining content is added to it.\n\n if (current) {\n // Help GC.\n current._tokenizer = undefined\n current.previous = undefined\n } else {\n breaks.pop()\n } // Now splice the events from the subtokenizer into the current events,\n // moving back to front so that splice indices aren’t affected.\n\n index = breaks.length\n\n while (index--) {\n const slice = childEvents.slice(breaks[index], breaks[index + 1])\n const start = startPositions.pop()\n jumps.unshift([start, start + slice.length - 1])\n splice(events, start, 2, slice)\n }\n\n index = -1\n\n while (++index < jumps.length) {\n gaps[adjust + jumps[index][0]] = adjust + jumps[index][1]\n adjust += jumps[index][1] - jumps[index][0] - 1\n }\n\n return gaps\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {subtokenize} from 'micromark-util-subtokenize'\n\n/**\n * No name because it must not be turned off.\n * @type {Construct}\n */\nexport const content = {\n tokenize: tokenizeContent,\n resolve: resolveContent\n}\n/** @type {Construct} */\n\nconst continuationConstruct = {\n tokenize: tokenizeContinuation,\n partial: true\n}\n/**\n * Content is transparent: it’s parsed right now. That way, definitions are also\n * parsed right now: before text in paragraphs (specifically, media) are parsed.\n *\n * @type {Resolver}\n */\n\nfunction resolveContent(events) {\n subtokenize(events)\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeContent(effects, ok) {\n /** @type {Token} */\n let previous\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('content')\n previous = effects.enter('chunkContent', {\n contentType: 'content'\n })\n return data(code)\n }\n /** @type {State} */\n\n function data(code) {\n if (code === null) {\n return contentEnd(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.check(\n continuationConstruct,\n contentContinue,\n contentEnd\n )(code)\n } // Data.\n\n effects.consume(code)\n return data\n }\n /** @type {State} */\n\n function contentEnd(code) {\n effects.exit('chunkContent')\n effects.exit('content')\n return ok(code)\n }\n /** @type {State} */\n\n function contentContinue(code) {\n effects.consume(code)\n effects.exit('chunkContent')\n previous.next = effects.enter('chunkContent', {\n contentType: 'content',\n previous\n })\n previous = previous.next\n return data\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeContinuation(effects, ok, nok) {\n const self = this\n return startLookahead\n /** @type {State} */\n\n function startLookahead(code) {\n effects.exit('chunkContent')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, prefixed, 'linePrefix')\n }\n /** @type {State} */\n\n function prefixed(code) {\n if (code === null || markdownLineEnding(code)) {\n return nok(code)\n }\n\n const tail = self.events[self.events.length - 1]\n\n if (\n !self.parser.constructs.disable.null.includes('codeIndented') &&\n tail &&\n tail[1].type === 'linePrefix' &&\n tail[2].sliceSerialize(tail[1], true).length >= 4\n ) {\n return ok(code)\n }\n\n return effects.interrupt(self.parser.constructs.flow, nok, ok)(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {blankLine, content} from 'micromark-core-commonmark'\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {InitialConstruct} */\nexport const flow = {\n tokenize: initializeFlow\n}\n/** @type {Initializer} */\n\nfunction initializeFlow(effects) {\n const self = this\n const initial = effects.attempt(\n // Try to parse a blank line.\n blankLine,\n atBlankEnding, // Try to parse initial flow (essentially, only code).\n effects.attempt(\n this.parser.constructs.flowInitial,\n afterConstruct,\n factorySpace(\n effects,\n effects.attempt(\n this.parser.constructs.flow,\n afterConstruct,\n effects.attempt(content, afterConstruct)\n ),\n 'linePrefix'\n )\n )\n )\n return initial\n /** @type {State} */\n\n function atBlankEnding(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEndingBlank')\n effects.consume(code)\n effects.exit('lineEndingBlank')\n self.currentConstruct = undefined\n return initial\n }\n /** @type {State} */\n\n function afterConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n self.currentConstruct = undefined\n return initial\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nexport const resolver = {\n resolveAll: createResolver()\n}\nexport const string = initializeFactory('string')\nexport const text = initializeFactory('text')\n/**\n * @param {'string'|'text'} field\n * @returns {InitialConstruct}\n */\n\nfunction initializeFactory(field) {\n return {\n tokenize: initializeText,\n resolveAll: createResolver(\n field === 'text' ? resolveAllLineSuffixes : undefined\n )\n }\n /** @type {Initializer} */\n\n function initializeText(effects) {\n const self = this\n const constructs = this.parser.constructs[field]\n const text = effects.attempt(constructs, start, notText)\n return start\n /** @type {State} */\n\n function start(code) {\n return atBreak(code) ? text(code) : notText(code)\n }\n /** @type {State} */\n\n function notText(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n\n effects.enter('data')\n effects.consume(code)\n return data\n }\n /** @type {State} */\n\n function data(code) {\n if (atBreak(code)) {\n effects.exit('data')\n return text(code)\n } // Data.\n\n effects.consume(code)\n return data\n }\n /**\n * @param {Code} code\n * @returns {boolean}\n */\n\n function atBreak(code) {\n if (code === null) {\n return true\n }\n\n const list = constructs[code]\n let index = -1\n\n if (list) {\n while (++index < list.length) {\n const item = list[index]\n\n if (!item.previous || item.previous.call(self, self.previous)) {\n return true\n }\n }\n }\n\n return false\n }\n }\n}\n/**\n * @param {Resolver} [extraResolver]\n * @returns {Resolver}\n */\n\nfunction createResolver(extraResolver) {\n return resolveAllText\n /** @type {Resolver} */\n\n function resolveAllText(events, context) {\n let index = -1\n /** @type {number|undefined} */\n\n let enter // A rather boring computation (to merge adjacent `data` events) which\n // improves mm performance by 29%.\n\n while (++index <= events.length) {\n if (enter === undefined) {\n if (events[index] && events[index][1].type === 'data') {\n enter = index\n index++\n }\n } else if (!events[index] || events[index][1].type !== 'data') {\n // Don’t do anything if there is one data token.\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n index = enter + 2\n }\n\n enter = undefined\n }\n }\n\n return extraResolver ? extraResolver(events, context) : events\n }\n}\n/**\n * A rather ugly set of instructions which again looks at chunks in the input\n * stream.\n * The reason to do this here is that it is *much* faster to parse in reverse.\n * And that we can’t hook into `null` to split the line suffix before an EOF.\n * To do: figure out if we can make this into a clean utility, or even in core.\n * As it will be useful for GFMs literal autolink extension (and maybe even\n * tables?)\n *\n * @type {Resolver}\n */\n\nfunction resolveAllLineSuffixes(events, context) {\n let eventIndex = 0 // Skip first.\n\n while (++eventIndex <= events.length) {\n if (\n (eventIndex === events.length ||\n events[eventIndex][1].type === 'lineEnding') &&\n events[eventIndex - 1][1].type === 'data'\n ) {\n const data = events[eventIndex - 1][1]\n const chunks = context.sliceStream(data)\n let index = chunks.length\n let bufferIndex = -1\n let size = 0\n /** @type {boolean|undefined} */\n\n let tabs\n\n while (index--) {\n const chunk = chunks[index]\n\n if (typeof chunk === 'string') {\n bufferIndex = chunk.length\n\n while (chunk.charCodeAt(bufferIndex - 1) === 32) {\n size++\n bufferIndex--\n }\n\n if (bufferIndex) break\n bufferIndex = -1\n } // Number\n else if (chunk === -2) {\n tabs = true\n size++\n } else if (chunk === -1) {\n // Empty\n } else {\n // Replacement character, exit.\n index++\n break\n }\n }\n\n if (size) {\n const token = {\n type:\n eventIndex === events.length || tabs || size < 2\n ? 'lineSuffix'\n : 'hardBreakTrailing',\n start: {\n line: data.end.line,\n column: data.end.column - size,\n offset: data.end.offset - size,\n _index: data.start._index + index,\n _bufferIndex: index\n ? bufferIndex\n : data.start._bufferIndex + bufferIndex\n },\n end: Object.assign({}, data.end)\n }\n data.end = Object.assign({}, token.start)\n\n if (data.start.offset === data.end.offset) {\n Object.assign(data, token)\n } else {\n events.splice(\n eventIndex,\n 0,\n ['enter', token, context],\n ['exit', token, context]\n )\n eventIndex += 2\n }\n }\n\n eventIndex++\n }\n }\n\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Resolver} Resolver\n */\n\n/**\n * Call all `resolveAll`s.\n *\n * @param {{resolveAll?: Resolver}[]} constructs\n * @param {Event[]} events\n * @param {TokenizeContext} context\n * @returns {Event[]}\n */\nexport function resolveAll(constructs, events, context) {\n /** @type {Resolver[]} */\n const called = []\n let index = -1\n\n while (++index < constructs.length) {\n const resolve = constructs[index].resolveAll\n\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context)\n called.push(resolve)\n }\n }\n\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Point} Point\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n */\n\n/**\n * @typedef Info\n * @property {() => void} restore\n * @property {number} from\n *\n * @callback ReturnHandle\n * Handle a successful run.\n * @param {Construct} construct\n * @param {Info} info\n * @returns {void}\n */\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {push, splice} from 'micromark-util-chunked'\nimport {resolveAll} from 'micromark-util-resolve-all'\n\n/**\n * Create a tokenizer.\n * Tokenizers deal with one type of data (e.g., containers, flow, text).\n * The parser is the object dealing with it all.\n * `initialize` works like other constructs, except that only its `tokenize`\n * function is used, in which case it doesn’t receive an `ok` or `nok`.\n * `from` can be given to set the point before the first character, although\n * when further lines are indented, they must be set with `defineSkip`.\n *\n * @param {ParseContext} parser\n * @param {InitialConstruct} initialize\n * @param {Omit<Point, '_index'|'_bufferIndex'>} [from]\n * @returns {TokenizeContext}\n */\nexport function createTokenizer(parser, initialize, from) {\n /** @type {Point} */\n let point = Object.assign(\n from\n ? Object.assign({}, from)\n : {\n line: 1,\n column: 1,\n offset: 0\n },\n {\n _index: 0,\n _bufferIndex: -1\n }\n )\n /** @type {Record<string, number>} */\n\n const columnStart = {}\n /** @type {Array<Construct>} */\n\n const resolveAllConstructs = []\n /** @type {Array<Chunk>} */\n\n let chunks = []\n /** @type {Array<Token>} */\n\n let stack = []\n /** @type {boolean|undefined} */\n\n let consumed = true\n /**\n * Tools used for tokenizing.\n *\n * @type {Effects}\n */\n\n const effects = {\n consume,\n enter,\n exit,\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n })\n }\n /**\n * State and tools for resolving and serializing.\n *\n * @type {TokenizeContext}\n */\n\n const context = {\n previous: null,\n code: null,\n containerState: {},\n events: [],\n parser,\n sliceStream,\n sliceSerialize,\n now,\n defineSkip,\n write\n }\n /**\n * The state function.\n *\n * @type {State|void}\n */\n\n let state = initialize.tokenize.call(context, effects)\n /**\n * Track which character we expect to be consumed, to catch bugs.\n *\n * @type {Code}\n */\n\n let expectedCode\n\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize)\n }\n\n return context\n /** @type {TokenizeContext['write']} */\n\n function write(slice) {\n chunks = push(chunks, slice)\n main() // Exit if we’re not done, resolve might change stuff.\n\n if (chunks[chunks.length - 1] !== null) {\n return []\n }\n\n addResult(initialize, 0) // Otherwise, resolve, and exit.\n\n context.events = resolveAll(resolveAllConstructs, context.events, context)\n return context.events\n } //\n // Tools.\n //\n\n /** @type {TokenizeContext['sliceSerialize']} */\n\n function sliceSerialize(token, expandTabs) {\n return serializeChunks(sliceStream(token), expandTabs)\n }\n /** @type {TokenizeContext['sliceStream']} */\n\n function sliceStream(token) {\n return sliceChunks(chunks, token)\n }\n /** @type {TokenizeContext['now']} */\n\n function now() {\n return Object.assign({}, point)\n }\n /** @type {TokenizeContext['defineSkip']} */\n\n function defineSkip(value) {\n columnStart[value.line] = value.column\n accountForPotentialSkip()\n } //\n // State management.\n //\n\n /**\n * Main loop (note that `_index` and `_bufferIndex` in `point` are modified by\n * `consume`).\n * Here is where we walk through the chunks, which either include strings of\n * several characters, or numerical character codes.\n * The reason to do this in a loop instead of a call is so the stack can\n * drain.\n *\n * @returns {void}\n */\n\n function main() {\n /** @type {number} */\n let chunkIndex\n\n while (point._index < chunks.length) {\n const chunk = chunks[point._index] // If we’re in a buffer chunk, loop through it.\n\n if (typeof chunk === 'string') {\n chunkIndex = point._index\n\n if (point._bufferIndex < 0) {\n point._bufferIndex = 0\n }\n\n while (\n point._index === chunkIndex &&\n point._bufferIndex < chunk.length\n ) {\n go(chunk.charCodeAt(point._bufferIndex))\n }\n } else {\n go(chunk)\n }\n }\n }\n /**\n * Deal with one code.\n *\n * @param {Code} code\n * @returns {void}\n */\n\n function go(code) {\n consumed = undefined\n expectedCode = code\n state = state(code)\n }\n /** @type {Effects['consume']} */\n\n function consume(code) {\n if (markdownLineEnding(code)) {\n point.line++\n point.column = 1\n point.offset += code === -3 ? 2 : 1\n accountForPotentialSkip()\n } else if (code !== -1) {\n point.column++\n point.offset++\n } // Not in a string chunk.\n\n if (point._bufferIndex < 0) {\n point._index++\n } else {\n point._bufferIndex++ // At end of string chunk.\n // @ts-expect-error Points w/ non-negative `_bufferIndex` reference\n // strings.\n\n if (point._bufferIndex === chunks[point._index].length) {\n point._bufferIndex = -1\n point._index++\n }\n } // Expose the previous character.\n\n context.previous = code // Mark as consumed.\n\n consumed = true\n }\n /** @type {Effects['enter']} */\n\n function enter(type, fields) {\n /** @type {Token} */\n // @ts-expect-error Patch instead of assign required fields to help GC.\n const token = fields || {}\n token.type = type\n token.start = now()\n context.events.push(['enter', token, context])\n stack.push(token)\n return token\n }\n /** @type {Effects['exit']} */\n\n function exit(type) {\n const token = stack.pop()\n token.end = now()\n context.events.push(['exit', token, context])\n return token\n }\n /**\n * Use results.\n *\n * @type {ReturnHandle}\n */\n\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from)\n }\n /**\n * Discard results.\n *\n * @type {ReturnHandle}\n */\n\n function onsuccessfulcheck(_, info) {\n info.restore()\n }\n /**\n * Factory to attempt/check/interrupt.\n *\n * @param {ReturnHandle} onreturn\n * @param {Record<string, unknown>} [fields]\n */\n\n function constructFactory(onreturn, fields) {\n return hook\n /**\n * Handle either an object mapping codes to constructs, a list of\n * constructs, or a single construct.\n *\n * @param {Construct|Array<Construct>|ConstructRecord} constructs\n * @param {State} returnState\n * @param {State} [bogusState]\n * @returns {State}\n */\n\n function hook(constructs, returnState, bogusState) {\n /** @type {Array<Construct>} */\n let listOfConstructs\n /** @type {number} */\n\n let constructIndex\n /** @type {Construct} */\n\n let currentConstruct\n /** @type {Info} */\n\n let info\n return Array.isArray(constructs)\n ? /* c8 ignore next 1 */\n handleListOfConstructs(constructs)\n : 'tokenize' in constructs // @ts-expect-error Looks like a construct.\n ? handleListOfConstructs([constructs])\n : handleMapOfConstructs(constructs)\n /**\n * Handle a list of construct.\n *\n * @param {ConstructRecord} map\n * @returns {State}\n */\n\n function handleMapOfConstructs(map) {\n return start\n /** @type {State} */\n\n function start(code) {\n const def = code !== null && map[code]\n const all = code !== null && map.null\n const list = [\n // To do: add more extension tests.\n\n /* c8 ignore next 2 */\n ...(Array.isArray(def) ? def : def ? [def] : []),\n ...(Array.isArray(all) ? all : all ? [all] : [])\n ]\n return handleListOfConstructs(list)(code)\n }\n }\n /**\n * Handle a list of construct.\n *\n * @param {Array<Construct>} list\n * @returns {State}\n */\n\n function handleListOfConstructs(list) {\n listOfConstructs = list\n constructIndex = 0\n\n if (list.length === 0) {\n return bogusState\n }\n\n return handleConstruct(list[constructIndex])\n }\n /**\n * Handle a single construct.\n *\n * @param {Construct} construct\n * @returns {State}\n */\n\n function handleConstruct(construct) {\n return start\n /** @type {State} */\n\n function start(code) {\n // To do: not needed to store if there is no bogus state, probably?\n // Currently doesn’t work because `inspect` in document does a check\n // w/o a bogus, which doesn’t make sense. But it does seem to help perf\n // by not storing.\n info = store()\n currentConstruct = construct\n\n if (!construct.partial) {\n context.currentConstruct = construct\n }\n\n if (\n construct.name &&\n context.parser.constructs.disable.null.includes(construct.name)\n ) {\n return nok(code)\n }\n\n return construct.tokenize.call(\n // If we do have fields, create an object w/ `context` as its\n // prototype.\n // This allows a “live binding”, which is needed for `interrupt`.\n fields ? Object.assign(Object.create(context), fields) : context,\n effects,\n ok,\n nok\n )(code)\n }\n }\n /** @type {State} */\n\n function ok(code) {\n consumed = true\n onreturn(currentConstruct, info)\n return returnState\n }\n /** @type {State} */\n\n function nok(code) {\n consumed = true\n info.restore()\n\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex])\n }\n\n return bogusState\n }\n }\n }\n /**\n * @param {Construct} construct\n * @param {number} from\n * @returns {void}\n */\n\n function addResult(construct, from) {\n if (construct.resolveAll && !resolveAllConstructs.includes(construct)) {\n resolveAllConstructs.push(construct)\n }\n\n if (construct.resolve) {\n splice(\n context.events,\n from,\n context.events.length - from,\n construct.resolve(context.events.slice(from), context)\n )\n }\n\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context)\n }\n }\n /**\n * Store state.\n *\n * @returns {Info}\n */\n\n function store() {\n const startPoint = now()\n const startPrevious = context.previous\n const startCurrentConstruct = context.currentConstruct\n const startEventsIndex = context.events.length\n const startStack = Array.from(stack)\n return {\n restore,\n from: startEventsIndex\n }\n /**\n * Restore state.\n *\n * @returns {void}\n */\n\n function restore() {\n point = startPoint\n context.previous = startPrevious\n context.currentConstruct = startCurrentConstruct\n context.events.length = startEventsIndex\n stack = startStack\n accountForPotentialSkip()\n }\n }\n /**\n * Move the current point a bit forward in the line when it’s on a column\n * skip.\n *\n * @returns {void}\n */\n\n function accountForPotentialSkip() {\n if (point.line in columnStart && point.column < 2) {\n point.column = columnStart[point.line]\n point.offset += columnStart[point.line] - 1\n }\n }\n}\n/**\n * Get the chunks from a slice of chunks in the range of a token.\n *\n * @param {Array<Chunk>} chunks\n * @param {Pick<Token, 'start'|'end'>} token\n * @returns {Array<Chunk>}\n */\n\nfunction sliceChunks(chunks, token) {\n const startIndex = token.start._index\n const startBufferIndex = token.start._bufferIndex\n const endIndex = token.end._index\n const endBufferIndex = token.end._bufferIndex\n /** @type {Array<Chunk>} */\n\n let view\n\n if (startIndex === endIndex) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)]\n } else {\n view = chunks.slice(startIndex, endIndex)\n\n if (startBufferIndex > -1) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view[0] = view[0].slice(startBufferIndex)\n }\n\n if (endBufferIndex > 0) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view.push(chunks[endIndex].slice(0, endBufferIndex))\n }\n }\n\n return view\n}\n/**\n * Get the string value of a slice of chunks.\n *\n * @param {Array<Chunk>} chunks\n * @param {boolean} [expandTabs=false]\n * @returns {string}\n */\n\nfunction serializeChunks(chunks, expandTabs) {\n let index = -1\n /** @type {Array<string>} */\n\n const result = []\n /** @type {boolean|undefined} */\n\n let atTab\n\n while (++index < chunks.length) {\n const chunk = chunks[index]\n /** @type {string} */\n\n let value\n\n if (typeof chunk === 'string') {\n value = chunk\n } else\n switch (chunk) {\n case -5: {\n value = '\\r'\n break\n }\n\n case -4: {\n value = '\\n'\n break\n }\n\n case -3: {\n value = '\\r' + '\\n'\n break\n }\n\n case -2: {\n value = expandTabs ? ' ' : '\\t'\n break\n }\n\n case -1: {\n if (!expandTabs && atTab) continue\n value = ' '\n break\n }\n\n default: {\n // Currently only replacement character.\n value = String.fromCharCode(chunk)\n }\n }\n\n atTab = chunk === -2\n result.push(value)\n }\n\n return result.join('')\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const thematicBreak = {\n name: 'thematicBreak',\n tokenize: tokenizeThematicBreak\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeThematicBreak(effects, ok, nok) {\n let size = 0\n /** @type {NonNullable<Code>} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('thematicBreak')\n marker = code\n return atBreak(code)\n }\n /** @type {State} */\n\n function atBreak(code) {\n if (code === marker) {\n effects.enter('thematicBreakSequence')\n return sequence(code)\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, atBreak, 'whitespace')(code)\n }\n\n if (size < 3 || (code !== null && !markdownLineEnding(code))) {\n return nok(code)\n }\n\n effects.exit('thematicBreak')\n return ok(code)\n }\n /** @type {State} */\n\n function sequence(code) {\n if (code === marker) {\n effects.consume(code)\n size++\n return sequence\n }\n\n effects.exit('thematicBreakSequence')\n return atBreak(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Exiter} Exiter\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\n\n/**\n * @typedef {Record<string, unknown> & {marker: Code, type: string, size: number}} ListContainerState\n * @typedef {TokenizeContext & {containerState: ListContainerState}} TokenizeContextWithState\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {asciiDigit, markdownSpace} from 'micromark-util-character'\nimport {blankLine} from './blank-line.js'\nimport {thematicBreak} from './thematic-break.js'\n/** @type {Construct} */\n\nexport const list = {\n name: 'list',\n tokenize: tokenizeListStart,\n continuation: {\n tokenize: tokenizeListContinuation\n },\n exit: tokenizeListEnd\n}\n/** @type {Construct} */\n\nconst listItemPrefixWhitespaceConstruct = {\n tokenize: tokenizeListItemPrefixWhitespace,\n partial: true\n}\n/** @type {Construct} */\n\nconst indentConstruct = {\n tokenize: tokenizeIndent,\n partial: true\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListStart(effects, ok, nok) {\n const self = this\n const tail = self.events[self.events.length - 1]\n let initialSize =\n tail && tail[1].type === 'linePrefix'\n ? tail[2].sliceSerialize(tail[1], true).length\n : 0\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n const kind =\n self.containerState.type ||\n (code === 42 || code === 43 || code === 45\n ? 'listUnordered'\n : 'listOrdered')\n\n if (\n kind === 'listUnordered'\n ? !self.containerState.marker || code === self.containerState.marker\n : asciiDigit(code)\n ) {\n if (!self.containerState.type) {\n self.containerState.type = kind\n effects.enter(kind, {\n _container: true\n })\n }\n\n if (kind === 'listUnordered') {\n effects.enter('listItemPrefix')\n return code === 42 || code === 45\n ? effects.check(thematicBreak, nok, atMarker)(code)\n : atMarker(code)\n }\n\n if (!self.interrupt || code === 49) {\n effects.enter('listItemPrefix')\n effects.enter('listItemValue')\n return inside(code)\n }\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function inside(code) {\n if (asciiDigit(code) && ++size < 10) {\n effects.consume(code)\n return inside\n }\n\n if (\n (!self.interrupt || size < 2) &&\n (self.containerState.marker\n ? code === self.containerState.marker\n : code === 41 || code === 46)\n ) {\n effects.exit('listItemValue')\n return atMarker(code)\n }\n\n return nok(code)\n }\n /**\n * @type {State}\n **/\n\n function atMarker(code) {\n effects.enter('listItemMarker')\n effects.consume(code)\n effects.exit('listItemMarker')\n self.containerState.marker = self.containerState.marker || code\n return effects.check(\n blankLine, // Can’t be empty when interrupting.\n self.interrupt ? nok : onBlank,\n effects.attempt(\n listItemPrefixWhitespaceConstruct,\n endOfPrefix,\n otherPrefix\n )\n )\n }\n /** @type {State} */\n\n function onBlank(code) {\n self.containerState.initialBlankLine = true\n initialSize++\n return endOfPrefix(code)\n }\n /** @type {State} */\n\n function otherPrefix(code) {\n if (markdownSpace(code)) {\n effects.enter('listItemPrefixWhitespace')\n effects.consume(code)\n effects.exit('listItemPrefixWhitespace')\n return endOfPrefix\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function endOfPrefix(code) {\n self.containerState.size =\n initialSize +\n self.sliceSerialize(effects.exit('listItemPrefix'), true).length\n return ok(code)\n }\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListContinuation(effects, ok, nok) {\n const self = this\n self.containerState._closeFlow = undefined\n return effects.check(blankLine, onBlank, notBlank)\n /** @type {State} */\n\n function onBlank(code) {\n self.containerState.furtherBlankLines =\n self.containerState.furtherBlankLines ||\n self.containerState.initialBlankLine // We have a blank line.\n // Still, try to consume at most the items size.\n\n return factorySpace(\n effects,\n ok,\n 'listItemIndent',\n self.containerState.size + 1\n )(code)\n }\n /** @type {State} */\n\n function notBlank(code) {\n if (self.containerState.furtherBlankLines || !markdownSpace(code)) {\n self.containerState.furtherBlankLines = undefined\n self.containerState.initialBlankLine = undefined\n return notInCurrentItem(code)\n }\n\n self.containerState.furtherBlankLines = undefined\n self.containerState.initialBlankLine = undefined\n return effects.attempt(indentConstruct, ok, notInCurrentItem)(code)\n }\n /** @type {State} */\n\n function notInCurrentItem(code) {\n // While we do continue, we signal that the flow should be closed.\n self.containerState._closeFlow = true // As we’re closing flow, we’re no longer interrupting.\n\n self.interrupt = undefined\n return factorySpace(\n effects,\n effects.attempt(list, ok, nok),\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )(code)\n }\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeIndent(effects, ok, nok) {\n const self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'listItemIndent',\n self.containerState.size + 1\n )\n /** @type {State} */\n\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'listItemIndent' &&\n tail[2].sliceSerialize(tail[1], true).length === self.containerState.size\n ? ok(code)\n : nok(code)\n }\n}\n/**\n * @type {Exiter}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListEnd(effects) {\n effects.exit(this.containerState.type)\n}\n/**\n * @type {Tokenizer}\n * @this {TokenizeContextWithState}\n */\n\nfunction tokenizeListItemPrefixWhitespace(effects, ok, nok) {\n const self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'listItemPrefixWhitespace',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4 + 1\n )\n /** @type {State} */\n\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return !markdownSpace(code) &&\n tail &&\n tail[1].type === 'listItemPrefixWhitespace'\n ? ok(code)\n : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Exiter} Exiter\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownSpace} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const blockQuote = {\n name: 'blockQuote',\n tokenize: tokenizeBlockQuoteStart,\n continuation: {\n tokenize: tokenizeBlockQuoteContinuation\n },\n exit\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeBlockQuoteStart(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n if (code === 62) {\n const state = self.containerState\n\n if (!state.open) {\n effects.enter('blockQuote', {\n _container: true\n })\n state.open = true\n }\n\n effects.enter('blockQuotePrefix')\n effects.enter('blockQuoteMarker')\n effects.consume(code)\n effects.exit('blockQuoteMarker')\n return after\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n if (markdownSpace(code)) {\n effects.enter('blockQuotePrefixWhitespace')\n effects.consume(code)\n effects.exit('blockQuotePrefixWhitespace')\n effects.exit('blockQuotePrefix')\n return ok\n }\n\n effects.exit('blockQuotePrefix')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeBlockQuoteContinuation(effects, ok, nok) {\n return factorySpace(\n effects,\n effects.attempt(blockQuote, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4\n )\n}\n/** @type {Exiter} */\n\nfunction exit(effects) {\n effects.exit('blockQuote')\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\nimport {\n asciiControl,\n markdownLineEndingOrSpace,\n markdownLineEnding\n} from 'micromark-util-character'\n\n/**\n * @param {Effects} effects\n * @param {State} ok\n * @param {State} nok\n * @param {string} type\n * @param {string} literalType\n * @param {string} literalMarkerType\n * @param {string} rawType\n * @param {string} stringType\n * @param {number} [max=Infinity]\n * @returns {State}\n */\n// eslint-disable-next-line max-params\nexport function factoryDestination(\n effects,\n ok,\n nok,\n type,\n literalType,\n literalMarkerType,\n rawType,\n stringType,\n max\n) {\n const limit = max || Number.POSITIVE_INFINITY\n let balance = 0\n return start\n /** @type {State} */\n\n function start(code) {\n if (code === 60) {\n effects.enter(type)\n effects.enter(literalType)\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n return destinationEnclosedBefore\n }\n\n if (code === null || code === 41 || asciiControl(code)) {\n return nok(code)\n }\n\n effects.enter(type)\n effects.enter(rawType)\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return destinationRaw(code)\n }\n /** @type {State} */\n\n function destinationEnclosedBefore(code) {\n if (code === 62) {\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n effects.exit(literalType)\n effects.exit(type)\n return ok\n }\n\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return destinationEnclosed(code)\n }\n /** @type {State} */\n\n function destinationEnclosed(code) {\n if (code === 62) {\n effects.exit('chunkString')\n effects.exit(stringType)\n return destinationEnclosedBefore(code)\n }\n\n if (code === null || code === 60 || markdownLineEnding(code)) {\n return nok(code)\n }\n\n effects.consume(code)\n return code === 92 ? destinationEnclosedEscape : destinationEnclosed\n }\n /** @type {State} */\n\n function destinationEnclosedEscape(code) {\n if (code === 60 || code === 62 || code === 92) {\n effects.consume(code)\n return destinationEnclosed\n }\n\n return destinationEnclosed(code)\n }\n /** @type {State} */\n\n function destinationRaw(code) {\n if (code === 40) {\n if (++balance > limit) return nok(code)\n effects.consume(code)\n return destinationRaw\n }\n\n if (code === 41) {\n if (!balance--) {\n effects.exit('chunkString')\n effects.exit(stringType)\n effects.exit(rawType)\n effects.exit(type)\n return ok(code)\n }\n\n effects.consume(code)\n return destinationRaw\n }\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n if (balance) return nok(code)\n effects.exit('chunkString')\n effects.exit(stringType)\n effects.exit(rawType)\n effects.exit(type)\n return ok(code)\n }\n\n if (asciiControl(code)) return nok(code)\n effects.consume(code)\n return code === 92 ? destinationRawEscape : destinationRaw\n }\n /** @type {State} */\n\n function destinationRawEscape(code) {\n if (code === 40 || code === 41 || code === 92) {\n effects.consume(code)\n return destinationRaw\n }\n\n return destinationRaw(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\n\n/**\n * @this {TokenizeContext}\n * @param {Effects} effects\n * @param {State} ok\n * @param {State} nok\n * @param {string} type\n * @param {string} markerType\n * @param {string} stringType\n * @returns {State}\n */\n// eslint-disable-next-line max-params\nexport function factoryLabel(effects, ok, nok, type, markerType, stringType) {\n const self = this\n let size = 0\n /** @type {boolean} */\n\n let data\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.enter(stringType)\n return atBreak\n }\n /** @type {State} */\n\n function atBreak(code) {\n if (\n code === null ||\n code === 91 ||\n (code === 93 && !data) ||\n /* To do: remove in the future once we’ve switched from\n * `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n * which doesn’t need this */\n\n /* Hidden footnotes hook */\n\n /* c8 ignore next 3 */\n (code === 94 &&\n !size &&\n '_hiddenFootnoteSupport' in self.parser.constructs) ||\n size > 999\n ) {\n return nok(code)\n }\n\n if (code === 93) {\n effects.exit(stringType)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return atBreak\n }\n\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return label(code)\n }\n /** @type {State} */\n\n function label(code) {\n if (\n code === null ||\n code === 91 ||\n code === 93 ||\n markdownLineEnding(code) ||\n size++ > 999\n ) {\n effects.exit('chunkString')\n return atBreak(code)\n }\n\n effects.consume(code)\n data = data || !markdownSpace(code)\n return code === 92 ? labelEscape : label\n }\n /** @type {State} */\n\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code)\n size++\n return label\n }\n\n return label(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/**\n * @param {Effects} effects\n * @param {State} ok\n * @param {State} nok\n * @param {string} type\n * @param {string} markerType\n * @param {string} stringType\n * @returns {State}\n */\n// eslint-disable-next-line max-params\nexport function factoryTitle(effects, ok, nok, type, markerType, stringType) {\n /** @type {NonNullable<Code>} */\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n marker = code === 40 ? 41 : code\n return atFirstTitleBreak\n }\n /** @type {State} */\n\n function atFirstTitleBreak(code) {\n if (code === marker) {\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n effects.enter(stringType)\n return atTitleBreak(code)\n }\n /** @type {State} */\n\n function atTitleBreak(code) {\n if (code === marker) {\n effects.exit(stringType)\n return atFirstTitleBreak(marker)\n }\n\n if (code === null) {\n return nok(code)\n } // Note: blank lines can’t exist in content.\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, atTitleBreak, 'linePrefix')\n }\n\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return title(code)\n }\n /** @type {State} */\n\n function title(code) {\n if (code === marker || code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n return atTitleBreak(code)\n }\n\n effects.consume(code)\n return code === 92 ? titleEscape : title\n }\n /** @type {State} */\n\n function titleEscape(code) {\n if (code === marker || code === 92) {\n effects.consume(code)\n return title\n }\n\n return title(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding, markdownSpace} from 'micromark-util-character'\n\n/**\n * @param {Effects} effects\n * @param {State} ok\n */\nexport function factoryWhitespace(effects, ok) {\n /** @type {boolean} */\n let seen\n return start\n /** @type {State} */\n\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n seen = true\n return start\n }\n\n if (markdownSpace(code)) {\n return factorySpace(\n effects,\n start,\n seen ? 'linePrefix' : 'lineSuffix'\n )(code)\n }\n\n return ok(code)\n }\n}\n","/**\n * Normalize an identifier (such as used in definitions).\n *\n * @param {string} value\n * @returns {string}\n */\nexport function normalizeIdentifier(value) {\n return (\n value // Collapse Markdown whitespace.\n .replace(/[\\t\\n\\r ]+/g, ' ') // Trim.\n .replace(/^ | $/g, '') // Some characters are considered “uppercase”, but if their lowercase\n // counterpart is uppercased will result in a different uppercase\n // character.\n // Hence, to get that form, we perform both lower- and uppercase.\n // Upper case makes sure keys will not interact with default prototypal\n // methods: no method is uppercase.\n .toLowerCase()\n .toUpperCase()\n )\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factoryDestination} from 'micromark-factory-destination'\nimport {factoryLabel} from 'micromark-factory-label'\nimport {factorySpace} from 'micromark-factory-space'\nimport {factoryTitle} from 'micromark-factory-title'\nimport {factoryWhitespace} from 'micromark-factory-whitespace'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const definition = {\n name: 'definition',\n tokenize: tokenizeDefinition\n}\n/** @type {Construct} */\n\nconst titleConstruct = {\n tokenize: tokenizeTitle,\n partial: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeDefinition(effects, ok, nok) {\n const self = this\n /** @type {string} */\n\n let identifier\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('definition')\n return factoryLabel.call(\n self,\n effects,\n labelAfter,\n nok,\n 'definitionLabel',\n 'definitionLabelMarker',\n 'definitionLabelString'\n )(code)\n }\n /** @type {State} */\n\n function labelAfter(code) {\n identifier = normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n\n if (code === 58) {\n effects.enter('definitionMarker')\n effects.consume(code)\n effects.exit('definitionMarker') // Note: blank lines can’t exist in content.\n\n return factoryWhitespace(\n effects,\n factoryDestination(\n effects,\n effects.attempt(\n titleConstruct,\n factorySpace(effects, after, 'whitespace'),\n factorySpace(effects, after, 'whitespace')\n ),\n nok,\n 'definitionDestination',\n 'definitionDestinationLiteral',\n 'definitionDestinationLiteralMarker',\n 'definitionDestinationRaw',\n 'definitionDestinationString'\n )\n )\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('definition')\n\n if (!self.parser.defined.includes(identifier)) {\n self.parser.defined.push(identifier)\n }\n\n return ok(code)\n }\n\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeTitle(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, before)(code)\n : nok(code)\n }\n /** @type {State} */\n\n function before(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(\n effects,\n factorySpace(effects, after, 'whitespace'),\n nok,\n 'definitionTitle',\n 'definitionTitleMarker',\n 'definitionTitleString'\n )(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n return code === null || markdownLineEnding(code) ? ok(code) : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const codeIndented = {\n name: 'codeIndented',\n tokenize: tokenizeCodeIndented\n}\n/** @type {Construct} */\n\nconst indentedContent = {\n tokenize: tokenizeIndentedContent,\n partial: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCodeIndented(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('codeIndented')\n return factorySpace(effects, afterStartPrefix, 'linePrefix', 4 + 1)(code)\n }\n /** @type {State} */\n\n function afterStartPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'linePrefix' &&\n tail[2].sliceSerialize(tail[1], true).length >= 4\n ? afterPrefix(code)\n : nok(code)\n }\n /** @type {State} */\n\n function afterPrefix(code) {\n if (code === null) {\n return after(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(indentedContent, afterPrefix, after)(code)\n }\n\n effects.enter('codeFlowValue')\n return content(code)\n }\n /** @type {State} */\n\n function content(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue')\n return afterPrefix(code)\n }\n\n effects.consume(code)\n return content\n }\n /** @type {State} */\n\n function after(code) {\n effects.exit('codeIndented')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeIndentedContent(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n // If this is a lazy line, it can’t be code.\n if (self.parser.lazy[self.now().line]) {\n return nok(code)\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return start\n }\n\n return factorySpace(effects, afterPrefix, 'linePrefix', 4 + 1)(code)\n }\n /** @type {State} */\n\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'linePrefix' &&\n tail[2].sliceSerialize(tail[1], true).length >= 4\n ? ok(code)\n : markdownLineEnding(code)\n ? start(code)\n : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\nimport {splice} from 'micromark-util-chunked'\n\n/** @type {Construct} */\nexport const headingAtx = {\n name: 'headingAtx',\n tokenize: tokenizeHeadingAtx,\n resolve: resolveHeadingAtx\n}\n/** @type {Resolver} */\n\nfunction resolveHeadingAtx(events, context) {\n let contentEnd = events.length - 2\n let contentStart = 3\n /** @type {Token} */\n\n let content\n /** @type {Token} */\n\n let text // Prefix whitespace, part of the opening.\n\n if (events[contentStart][1].type === 'whitespace') {\n contentStart += 2\n } // Suffix whitespace, part of the closing.\n\n if (\n contentEnd - 2 > contentStart &&\n events[contentEnd][1].type === 'whitespace'\n ) {\n contentEnd -= 2\n }\n\n if (\n events[contentEnd][1].type === 'atxHeadingSequence' &&\n (contentStart === contentEnd - 1 ||\n (contentEnd - 4 > contentStart &&\n events[contentEnd - 2][1].type === 'whitespace'))\n ) {\n contentEnd -= contentStart + 1 === contentEnd ? 2 : 4\n }\n\n if (contentEnd > contentStart) {\n content = {\n type: 'atxHeadingText',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end\n }\n text = {\n type: 'chunkText',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end,\n // @ts-expect-error Constants are fine to assign.\n contentType: 'text'\n }\n splice(events, contentStart, contentEnd - contentStart + 1, [\n ['enter', content, context],\n ['enter', text, context],\n ['exit', text, context],\n ['exit', content, context]\n ])\n }\n\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHeadingAtx(effects, ok, nok) {\n const self = this\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('atxHeading')\n effects.enter('atxHeadingSequence')\n return fenceOpenInside(code)\n }\n /** @type {State} */\n\n function fenceOpenInside(code) {\n if (code === 35 && size++ < 6) {\n effects.consume(code)\n return fenceOpenInside\n }\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit('atxHeadingSequence')\n return self.interrupt ? ok(code) : headingBreak(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function headingBreak(code) {\n if (code === 35) {\n effects.enter('atxHeadingSequence')\n return sequence(code)\n }\n\n if (code === null || markdownLineEnding(code)) {\n effects.exit('atxHeading')\n return ok(code)\n }\n\n if (markdownSpace(code)) {\n return factorySpace(effects, headingBreak, 'whitespace')(code)\n }\n\n effects.enter('atxHeadingText')\n return data(code)\n }\n /** @type {State} */\n\n function sequence(code) {\n if (code === 35) {\n effects.consume(code)\n return sequence\n }\n\n effects.exit('atxHeadingSequence')\n return headingBreak(code)\n }\n /** @type {State} */\n\n function data(code) {\n if (code === null || code === 35 || markdownLineEndingOrSpace(code)) {\n effects.exit('atxHeadingText')\n return headingBreak(code)\n }\n\n effects.consume(code)\n return data\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const setextUnderline = {\n name: 'setextUnderline',\n tokenize: tokenizeSetextUnderline,\n resolveTo: resolveToSetextUnderline\n}\n/** @type {Resolver} */\n\nfunction resolveToSetextUnderline(events, context) {\n let index = events.length\n /** @type {number|undefined} */\n\n let content\n /** @type {number|undefined} */\n\n let text\n /** @type {number|undefined} */\n\n let definition // Find the opening of the content.\n // It’ll always exist: we don’t tokenize if it isn’t there.\n\n while (index--) {\n if (events[index][0] === 'enter') {\n if (events[index][1].type === 'content') {\n content = index\n break\n }\n\n if (events[index][1].type === 'paragraph') {\n text = index\n }\n } // Exit\n else {\n if (events[index][1].type === 'content') {\n // Remove the content end (if needed we’ll add it later)\n events.splice(index, 1)\n }\n\n if (!definition && events[index][1].type === 'definition') {\n definition = index\n }\n }\n }\n\n const heading = {\n type: 'setextHeading',\n start: Object.assign({}, events[text][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n } // Change the paragraph to setext heading text.\n\n events[text][1].type = 'setextHeadingText' // If we have definitions in the content, we’ll keep on having content,\n // but we need move it.\n\n if (definition) {\n events.splice(text, 0, ['enter', heading, context])\n events.splice(definition + 1, 0, ['exit', events[content][1], context])\n events[content][1].end = Object.assign({}, events[definition][1].end)\n } else {\n events[content][1] = heading\n } // Add the heading exit at the end.\n\n events.push(['exit', heading, context])\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeSetextUnderline(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {NonNullable<Code>} */\n\n let marker\n /** @type {boolean} */\n\n let paragraph // Find an opening.\n\n while (index--) {\n // Skip enter/exit of line ending, line prefix, and content.\n // We can now either have a definition or a paragraph.\n if (\n self.events[index][1].type !== 'lineEnding' &&\n self.events[index][1].type !== 'linePrefix' &&\n self.events[index][1].type !== 'content'\n ) {\n paragraph = self.events[index][1].type === 'paragraph'\n break\n }\n }\n\n return start\n /** @type {State} */\n\n function start(code) {\n if (!self.parser.lazy[self.now().line] && (self.interrupt || paragraph)) {\n effects.enter('setextHeadingLine')\n effects.enter('setextHeadingLineSequence')\n marker = code\n return closingSequence(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function closingSequence(code) {\n if (code === marker) {\n effects.consume(code)\n return closingSequence\n }\n\n effects.exit('setextHeadingLineSequence')\n return factorySpace(effects, closingSequenceEnd, 'lineSuffix')(code)\n }\n /** @type {State} */\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('setextHeadingLine')\n return ok(code)\n }\n\n return nok(code)\n }\n}\n","/**\n * List of lowercase HTML tag names which when parsing HTML (flow), result\n * in more relaxed rules (condition 6): because they are known blocks, the\n * HTML-like syntax doesn’t have to be strictly parsed.\n * For tag names not in this list, a more strict algorithm (condition 7) is used\n * to detect whether the HTML-like syntax is seen as HTML (flow) or not.\n *\n * This is copied from:\n * <https://spec.commonmark.org/0.30/#html-blocks>.\n */\nexport const htmlBlockNames = [\n 'address',\n 'article',\n 'aside',\n 'base',\n 'basefont',\n 'blockquote',\n 'body',\n 'caption',\n 'center',\n 'col',\n 'colgroup',\n 'dd',\n 'details',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'frame',\n 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hr',\n 'html',\n 'iframe',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'menu',\n 'menuitem',\n 'nav',\n 'noframes',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'param',\n 'section',\n 'summary',\n 'table',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'title',\n 'tr',\n 'track',\n 'ul'\n]\n\n/**\n * List of lowercase HTML tag names which when parsing HTML (flow), result in\n * HTML that can include lines w/o exiting, until a closing tag also in this\n * list is found (condition 1).\n *\n * This module is copied from:\n * <https://spec.commonmark.org/0.30/#html-blocks>.\n *\n * Note that `textarea` was added in `CommonMark@0.30`.\n */\nexport const htmlRawNames = ['pre', 'script', 'style', 'textarea']\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\nimport {htmlBlockNames, htmlRawNames} from 'micromark-util-html-tag-name'\nimport {blankLine} from './blank-line.js'\n/** @type {Construct} */\n\nexport const htmlFlow = {\n name: 'htmlFlow',\n tokenize: tokenizeHtmlFlow,\n resolveTo: resolveToHtmlFlow,\n concrete: true\n}\n/** @type {Construct} */\n\nconst nextBlankConstruct = {\n tokenize: tokenizeNextBlank,\n partial: true\n}\n/** @type {Resolver} */\n\nfunction resolveToHtmlFlow(events) {\n let index = events.length\n\n while (index--) {\n if (events[index][0] === 'enter' && events[index][1].type === 'htmlFlow') {\n break\n }\n }\n\n if (index > 1 && events[index - 2][1].type === 'linePrefix') {\n // Add the prefix start to the HTML token.\n events[index][1].start = events[index - 2][1].start // Add the prefix start to the HTML line token.\n\n events[index + 1][1].start = events[index - 2][1].start // Remove the line prefix.\n\n events.splice(index - 2, 2)\n }\n\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHtmlFlow(effects, ok, nok) {\n const self = this\n /** @type {number} */\n\n let kind\n /** @type {boolean} */\n\n let startTag\n /** @type {string} */\n\n let buffer\n /** @type {number} */\n\n let index\n /** @type {Code} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('htmlFlow')\n effects.enter('htmlFlowData')\n effects.consume(code)\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationStart\n }\n\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n\n if (code === 63) {\n effects.consume(code)\n kind = 3 // While we’re in an instruction instead of a declaration, we’re on a `?`\n // right now, so we do need to search for `>`, similar to declarations.\n\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n buffer = String.fromCharCode(code)\n startTag = true\n return tagName\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function declarationStart(code) {\n if (code === 45) {\n effects.consume(code)\n kind = 2\n return commentOpenInside\n }\n\n if (code === 91) {\n effects.consume(code)\n kind = 5\n buffer = 'CDATA['\n index = 0\n return cdataOpenInside\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n kind = 4\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code)\n return self.interrupt ? ok : continuationDeclarationInside\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function cdataOpenInside(code) {\n if (code === buffer.charCodeAt(index++)) {\n effects.consume(code)\n return index === buffer.length\n ? self.interrupt\n ? ok\n : continuation\n : cdataOpenInside\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n buffer = String.fromCharCode(code)\n return tagName\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagName(code) {\n if (\n code === null ||\n code === 47 ||\n code === 62 ||\n markdownLineEndingOrSpace(code)\n ) {\n if (\n code !== 47 &&\n startTag &&\n htmlRawNames.includes(buffer.toLowerCase())\n ) {\n kind = 1\n return self.interrupt ? ok(code) : continuation(code)\n }\n\n if (htmlBlockNames.includes(buffer.toLowerCase())) {\n kind = 6\n\n if (code === 47) {\n effects.consume(code)\n return basicSelfClosing\n }\n\n return self.interrupt ? ok(code) : continuation(code)\n }\n\n kind = 7 // Do not support complete HTML when interrupting\n\n return self.interrupt && !self.parser.lazy[self.now().line]\n ? nok(code)\n : startTag\n ? completeAttributeNameBefore(code)\n : completeClosingTagAfter(code)\n }\n\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n buffer += String.fromCharCode(code)\n return tagName\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function basicSelfClosing(code) {\n if (code === 62) {\n effects.consume(code)\n return self.interrupt ? ok : continuation\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function completeClosingTagAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeClosingTagAfter\n }\n\n return completeEnd(code)\n }\n /** @type {State} */\n\n function completeAttributeNameBefore(code) {\n if (code === 47) {\n effects.consume(code)\n return completeEnd\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code)\n return completeAttributeName\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeNameBefore\n }\n\n return completeEnd(code)\n }\n /** @type {State} */\n\n function completeAttributeName(code) {\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return completeAttributeName\n }\n\n return completeAttributeNameAfter(code)\n }\n /** @type {State} */\n\n function completeAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return completeAttributeValueBefore\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeNameAfter\n }\n\n return completeAttributeNameBefore(code)\n }\n /** @type {State} */\n\n function completeAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return completeAttributeValueQuoted\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAttributeValueBefore\n }\n\n marker = null\n return completeAttributeValueUnquoted(code)\n }\n /** @type {State} */\n\n function completeAttributeValueQuoted(code) {\n if (code === null || markdownLineEnding(code)) {\n return nok(code)\n }\n\n if (code === marker) {\n effects.consume(code)\n return completeAttributeValueQuotedAfter\n }\n\n effects.consume(code)\n return completeAttributeValueQuoted\n }\n /** @type {State} */\n\n function completeAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96 ||\n markdownLineEndingOrSpace(code)\n ) {\n return completeAttributeNameAfter(code)\n }\n\n effects.consume(code)\n return completeAttributeValueUnquoted\n }\n /** @type {State} */\n\n function completeAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownSpace(code)) {\n return completeAttributeNameBefore(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function completeEnd(code) {\n if (code === 62) {\n effects.consume(code)\n return completeAfter\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function completeAfter(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return completeAfter\n }\n\n return code === null || markdownLineEnding(code)\n ? continuation(code)\n : nok(code)\n }\n /** @type {State} */\n\n function continuation(code) {\n if (code === 45 && kind === 2) {\n effects.consume(code)\n return continuationCommentInside\n }\n\n if (code === 60 && kind === 1) {\n effects.consume(code)\n return continuationRawTagOpen\n }\n\n if (code === 62 && kind === 4) {\n effects.consume(code)\n return continuationClose\n }\n\n if (code === 63 && kind === 3) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n if (code === 93 && kind === 5) {\n effects.consume(code)\n return continuationCharacterDataInside\n }\n\n if (markdownLineEnding(code) && (kind === 6 || kind === 7)) {\n return effects.check(\n nextBlankConstruct,\n continuationClose,\n continuationAtLineEnding\n )(code)\n }\n\n if (code === null || markdownLineEnding(code)) {\n return continuationAtLineEnding(code)\n }\n\n effects.consume(code)\n return continuation\n }\n /** @type {State} */\n\n function continuationAtLineEnding(code) {\n effects.exit('htmlFlowData')\n return htmlContinueStart(code)\n }\n /** @type {State} */\n\n function htmlContinueStart(code) {\n if (code === null) {\n return done(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(\n {\n tokenize: htmlLineEnd,\n partial: true\n },\n htmlContinueStart,\n done\n )(code)\n }\n\n effects.enter('htmlFlowData')\n return continuation(code)\n }\n /** @type {Tokenizer} */\n\n function htmlLineEnd(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return lineStart\n }\n /** @type {State} */\n\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n }\n /** @type {State} */\n\n function continuationCommentInside(code) {\n if (code === 45) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code)\n buffer = ''\n return continuationRawEndTag\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationRawEndTag(code) {\n if (code === 62 && htmlRawNames.includes(buffer.toLowerCase())) {\n effects.consume(code)\n return continuationClose\n }\n\n if (asciiAlpha(code) && buffer.length < 8) {\n effects.consume(code)\n buffer += String.fromCharCode(code)\n return continuationRawEndTag\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationCharacterDataInside(code) {\n if (code === 93) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code)\n return continuationClose\n } // More dashes.\n\n if (code === 45 && kind === 2) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n\n return continuation(code)\n }\n /** @type {State} */\n\n function continuationClose(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('htmlFlowData')\n return done(code)\n }\n\n effects.consume(code)\n return continuationClose\n }\n /** @type {State} */\n\n function done(code) {\n effects.exit('htmlFlow')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeNextBlank(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.exit('htmlFlowData')\n effects.enter('lineEndingBlank')\n effects.consume(code)\n effects.exit('lineEndingBlank')\n return effects.attempt(blankLine, ok, nok)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const codeFenced = {\n name: 'codeFenced',\n tokenize: tokenizeCodeFenced,\n concrete: true\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCodeFenced(effects, ok, nok) {\n const self = this\n /** @type {Construct} */\n\n const closingFenceConstruct = {\n tokenize: tokenizeClosingFence,\n partial: true\n }\n /** @type {Construct} */\n\n const nonLazyLine = {\n tokenize: tokenizeNonLazyLine,\n partial: true\n }\n const tail = this.events[this.events.length - 1]\n const initialPrefix =\n tail && tail[1].type === 'linePrefix'\n ? tail[2].sliceSerialize(tail[1], true).length\n : 0\n let sizeOpen = 0\n /** @type {NonNullable<Code>} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('codeFenced')\n effects.enter('codeFencedFence')\n effects.enter('codeFencedFenceSequence')\n marker = code\n return sequenceOpen(code)\n }\n /** @type {State} */\n\n function sequenceOpen(code) {\n if (code === marker) {\n effects.consume(code)\n sizeOpen++\n return sequenceOpen\n }\n\n effects.exit('codeFencedFenceSequence')\n return sizeOpen < 3\n ? nok(code)\n : factorySpace(effects, infoOpen, 'whitespace')(code)\n }\n /** @type {State} */\n\n function infoOpen(code) {\n if (code === null || markdownLineEnding(code)) {\n return openAfter(code)\n }\n\n effects.enter('codeFencedFenceInfo')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return info(code)\n }\n /** @type {State} */\n\n function info(code) {\n if (code === null || markdownLineEndingOrSpace(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceInfo')\n return factorySpace(effects, infoAfter, 'whitespace')(code)\n }\n\n if (code === 96 && code === marker) return nok(code)\n effects.consume(code)\n return info\n }\n /** @type {State} */\n\n function infoAfter(code) {\n if (code === null || markdownLineEnding(code)) {\n return openAfter(code)\n }\n\n effects.enter('codeFencedFenceMeta')\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return meta(code)\n }\n /** @type {State} */\n\n function meta(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('chunkString')\n effects.exit('codeFencedFenceMeta')\n return openAfter(code)\n }\n\n if (code === 96 && code === marker) return nok(code)\n effects.consume(code)\n return meta\n }\n /** @type {State} */\n\n function openAfter(code) {\n effects.exit('codeFencedFence')\n return self.interrupt ? ok(code) : contentStart(code)\n }\n /** @type {State} */\n\n function contentStart(code) {\n if (code === null) {\n return after(code)\n }\n\n if (markdownLineEnding(code)) {\n return effects.attempt(\n nonLazyLine,\n effects.attempt(\n closingFenceConstruct,\n after,\n initialPrefix\n ? factorySpace(\n effects,\n contentStart,\n 'linePrefix',\n initialPrefix + 1\n )\n : contentStart\n ),\n after\n )(code)\n }\n\n effects.enter('codeFlowValue')\n return contentContinue(code)\n }\n /** @type {State} */\n\n function contentContinue(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFlowValue')\n return contentStart(code)\n }\n\n effects.consume(code)\n return contentContinue\n }\n /** @type {State} */\n\n function after(code) {\n effects.exit('codeFenced')\n return ok(code)\n }\n /** @type {Tokenizer} */\n\n function tokenizeNonLazyLine(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return lineStart\n }\n /** @type {State} */\n\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n }\n /** @type {Tokenizer} */\n\n function tokenizeClosingFence(effects, ok, nok) {\n let size = 0\n return factorySpace(\n effects,\n closingSequenceStart,\n 'linePrefix',\n this.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )\n /** @type {State} */\n\n function closingSequenceStart(code) {\n effects.enter('codeFencedFence')\n effects.enter('codeFencedFenceSequence')\n return closingSequence(code)\n }\n /** @type {State} */\n\n function closingSequence(code) {\n if (code === marker) {\n effects.consume(code)\n size++\n return closingSequence\n }\n\n if (size < sizeOpen) return nok(code)\n effects.exit('codeFencedFenceSequence')\n return factorySpace(effects, closingSequenceEnd, 'whitespace')(code)\n }\n /** @type {State} */\n\n function closingSequenceEnd(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit('codeFencedFence')\n return ok(code)\n }\n\n return nok(code)\n }\n }\n}\n","/// <reference lib=\"dom\" />\n\n/* eslint-env browser */\n\nconst element = document.createElement('i')\n\n/**\n * @param {string} value\n * @returns {string|false}\n */\nexport function decodeNamedCharacterReference(value) {\n const characterReference = '&' + value + ';'\n element.innerHTML = characterReference\n const char = element.textContent\n\n // Some named character references do not require the closing semicolon\n // (`¬`, for instance), which leads to situations where parsing the assumed\n // named reference of `¬it;` will result in the string `¬it;`.\n // When we encounter a trailing semicolon after parsing, and the character\n // reference to decode was not a semicolon (`;`), we can assume that the\n // matching was not complete.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n if (char.charCodeAt(char.length - 1) === 59 /* `;` */ && value !== 'semi') {\n return false\n }\n\n // If the decoded string is equal to the input, the character reference was\n // not valid.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n return char === characterReference ? false : char\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {\n asciiAlphanumeric,\n asciiDigit,\n asciiHexDigit\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const characterReference = {\n name: 'characterReference',\n tokenize: tokenizeCharacterReference\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCharacterReference(effects, ok, nok) {\n const self = this\n let size = 0\n /** @type {number} */\n\n let max\n /** @type {(code: Code) => code is number} */\n\n let test\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('characterReference')\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 35) {\n effects.enter('characterReferenceMarkerNumeric')\n effects.consume(code)\n effects.exit('characterReferenceMarkerNumeric')\n return numeric\n }\n\n effects.enter('characterReferenceValue')\n max = 31\n test = asciiAlphanumeric\n return value(code)\n }\n /** @type {State} */\n\n function numeric(code) {\n if (code === 88 || code === 120) {\n effects.enter('characterReferenceMarkerHexadecimal')\n effects.consume(code)\n effects.exit('characterReferenceMarkerHexadecimal')\n effects.enter('characterReferenceValue')\n max = 6\n test = asciiHexDigit\n return value\n }\n\n effects.enter('characterReferenceValue')\n max = 7\n test = asciiDigit\n return value(code)\n }\n /** @type {State} */\n\n function value(code) {\n /** @type {Token} */\n let token\n\n if (code === 59 && size) {\n token = effects.exit('characterReferenceValue')\n\n if (\n test === asciiAlphanumeric &&\n !decodeNamedCharacterReference(self.sliceSerialize(token))\n ) {\n return nok(code)\n }\n\n effects.enter('characterReferenceMarker')\n effects.consume(code)\n effects.exit('characterReferenceMarker')\n effects.exit('characterReference')\n return ok\n }\n\n if (test(code) && size++ < max) {\n effects.consume(code)\n return value\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {asciiPunctuation} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const characterEscape = {\n name: 'characterEscape',\n tokenize: tokenizeCharacterEscape\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCharacterEscape(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('characterEscape')\n effects.enter('escapeMarker')\n effects.consume(code)\n effects.exit('escapeMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (asciiPunctuation(code)) {\n effects.enter('characterEscapeValue')\n effects.consume(code)\n effects.exit('characterEscapeValue')\n effects.exit('characterEscape')\n return ok\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLineEnding(effects, ok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, ok, 'linePrefix')\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factoryDestination} from 'micromark-factory-destination'\nimport {factoryLabel} from 'micromark-factory-label'\nimport {factoryTitle} from 'micromark-factory-title'\nimport {factoryWhitespace} from 'micromark-factory-whitespace'\nimport {markdownLineEndingOrSpace} from 'micromark-util-character'\nimport {push, splice} from 'micromark-util-chunked'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {resolveAll} from 'micromark-util-resolve-all'\n\n/** @type {Construct} */\nexport const labelEnd = {\n name: 'labelEnd',\n tokenize: tokenizeLabelEnd,\n resolveTo: resolveToLabelEnd,\n resolveAll: resolveAllLabelEnd\n}\n/** @type {Construct} */\n\nconst resourceConstruct = {\n tokenize: tokenizeResource\n}\n/** @type {Construct} */\n\nconst fullReferenceConstruct = {\n tokenize: tokenizeFullReference\n}\n/** @type {Construct} */\n\nconst collapsedReferenceConstruct = {\n tokenize: tokenizeCollapsedReference\n}\n/** @type {Resolver} */\n\nfunction resolveAllLabelEnd(events) {\n let index = -1\n /** @type {Token} */\n\n let token\n\n while (++index < events.length) {\n token = events[index][1]\n\n if (\n token.type === 'labelImage' ||\n token.type === 'labelLink' ||\n token.type === 'labelEnd'\n ) {\n // Remove the marker.\n events.splice(index + 1, token.type === 'labelImage' ? 4 : 2)\n token.type = 'data'\n index++\n }\n }\n\n return events\n}\n/** @type {Resolver} */\n\nfunction resolveToLabelEnd(events, context) {\n let index = events.length\n let offset = 0\n /** @type {Token} */\n\n let token\n /** @type {number|undefined} */\n\n let open\n /** @type {number|undefined} */\n\n let close\n /** @type {Event[]} */\n\n let media // Find an opening.\n\n while (index--) {\n token = events[index][1]\n\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (\n token.type === 'link' ||\n (token.type === 'labelLink' && token._inactive)\n ) {\n break\n } // Mark other link openings as inactive, as we can’t have links in\n // links.\n\n if (events[index][0] === 'enter' && token.type === 'labelLink') {\n token._inactive = true\n }\n } else if (close) {\n if (\n events[index][0] === 'enter' &&\n (token.type === 'labelImage' || token.type === 'labelLink') &&\n !token._balanced\n ) {\n open = index\n\n if (token.type !== 'labelLink') {\n offset = 2\n break\n }\n }\n } else if (token.type === 'labelEnd') {\n close = index\n }\n }\n\n const group = {\n type: events[open][1].type === 'labelLink' ? 'link' : 'image',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n }\n const label = {\n type: 'label',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[close][1].end)\n }\n const text = {\n type: 'labelText',\n start: Object.assign({}, events[open + offset + 2][1].end),\n end: Object.assign({}, events[close - 2][1].start)\n }\n media = [\n ['enter', group, context],\n ['enter', label, context]\n ] // Opening marker.\n\n media = push(media, events.slice(open + 1, open + offset + 3)) // Text open.\n\n media = push(media, [['enter', text, context]]) // Between.\n\n media = push(\n media,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + offset + 4, close - 3),\n context\n )\n ) // Text close, marker close, label close.\n\n media = push(media, [\n ['exit', text, context],\n events[close - 2],\n events[close - 1],\n ['exit', label, context]\n ]) // Reference, resource, or so.\n\n media = push(media, events.slice(close + 1)) // Media close.\n\n media = push(media, [['exit', group, context]])\n splice(events, open, events.length, media)\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLabelEnd(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {Token} */\n\n let labelStart\n /** @type {boolean} */\n\n let defined // Find an opening.\n\n while (index--) {\n if (\n (self.events[index][1].type === 'labelImage' ||\n self.events[index][1].type === 'labelLink') &&\n !self.events[index][1]._balanced\n ) {\n labelStart = self.events[index][1]\n break\n }\n }\n\n return start\n /** @type {State} */\n\n function start(code) {\n if (!labelStart) {\n return nok(code)\n } // It’s a balanced bracket, but contains a link.\n\n if (labelStart._inactive) return balanced(code)\n defined = self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n )\n )\n effects.enter('labelEnd')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelEnd')\n return afterLabelEnd\n }\n /** @type {State} */\n\n function afterLabelEnd(code) {\n // Resource: `[asd](fgh)`.\n if (code === 40) {\n return effects.attempt(\n resourceConstruct,\n ok,\n defined ? ok : balanced\n )(code)\n } // Collapsed (`[asd][]`) or full (`[asd][fgh]`) reference?\n\n if (code === 91) {\n return effects.attempt(\n fullReferenceConstruct,\n ok,\n defined\n ? effects.attempt(collapsedReferenceConstruct, ok, balanced)\n : balanced\n )(code)\n } // Shortcut reference: `[asd]`?\n\n return defined ? ok(code) : balanced(code)\n }\n /** @type {State} */\n\n function balanced(code) {\n labelStart._balanced = true\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeResource(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('resource')\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n return factoryWhitespace(effects, open)\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 41) {\n return end(code)\n }\n\n return factoryDestination(\n effects,\n destinationAfter,\n nok,\n 'resourceDestination',\n 'resourceDestinationLiteral',\n 'resourceDestinationLiteralMarker',\n 'resourceDestinationRaw',\n 'resourceDestinationString',\n 32\n )(code)\n }\n /** @type {State} */\n\n function destinationAfter(code) {\n return markdownLineEndingOrSpace(code)\n ? factoryWhitespace(effects, between)(code)\n : end(code)\n }\n /** @type {State} */\n\n function between(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(\n effects,\n factoryWhitespace(effects, end),\n nok,\n 'resourceTitle',\n 'resourceTitleMarker',\n 'resourceTitleString'\n )(code)\n }\n\n return end(code)\n }\n /** @type {State} */\n\n function end(code) {\n if (code === 41) {\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n effects.exit('resource')\n return ok\n }\n\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeFullReference(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n return factoryLabel.call(\n self,\n effects,\n afterLabel,\n nok,\n 'reference',\n 'referenceMarker',\n 'referenceString'\n )(code)\n }\n /** @type {State} */\n\n function afterLabel(code) {\n return self.parser.defined.includes(\n normalizeIdentifier(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n )\n ? ok(code)\n : nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCollapsedReference(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('reference')\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 93) {\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n effects.exit('reference')\n return ok\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {labelEnd} from './label-end.js'\n/** @type {Construct} */\n\nexport const labelStartImage = {\n name: 'labelStartImage',\n tokenize: tokenizeLabelStartImage,\n resolveAll: labelEnd.resolveAll\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('labelImage')\n effects.enter('labelImageMarker')\n effects.consume(code)\n effects.exit('labelImageMarker')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 91) {\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelImage')\n return after\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n /* To do: remove in the future once we’ve switched from\n * `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n * which doesn’t need this */\n\n /* Hidden footnotes hook */\n\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {\n markdownLineEndingOrSpace,\n unicodePunctuation,\n unicodeWhitespace\n} from 'micromark-util-character'\n\n/**\n * Classify whether a character code represents whitespace, punctuation, or\n * something else.\n *\n * Used for attention (emphasis, strong), whose sequences can open or close\n * based on the class of surrounding characters.\n *\n * Note that eof (`null`) is seen as whitespace.\n *\n * @param {Code} code\n * @returns {number|undefined}\n */\nexport function classifyCharacter(code) {\n if (\n code === null ||\n markdownLineEndingOrSpace(code) ||\n unicodeWhitespace(code)\n ) {\n return 1\n }\n\n if (unicodePunctuation(code)) {\n return 2\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Point} Point\n */\nimport {push, splice} from 'micromark-util-chunked'\nimport {classifyCharacter} from 'micromark-util-classify-character'\nimport {resolveAll} from 'micromark-util-resolve-all'\n\n/** @type {Construct} */\nexport const attention = {\n name: 'attention',\n tokenize: tokenizeAttention,\n resolveAll: resolveAllAttention\n}\n/**\n * Take all events and resolve attention to emphasis or strong.\n *\n * @type {Resolver}\n */\n\nfunction resolveAllAttention(events, context) {\n let index = -1\n /** @type {number} */\n\n let open\n /** @type {Token} */\n\n let group\n /** @type {Token} */\n\n let text\n /** @type {Token} */\n\n let openingSequence\n /** @type {Token} */\n\n let closingSequence\n /** @type {number} */\n\n let use\n /** @type {Event[]} */\n\n let nextEvents\n /** @type {number} */\n\n let offset // Walk through all events.\n //\n // Note: performance of this is fine on an mb of normal markdown, but it’s\n // a bottleneck for malicious stuff.\n\n while (++index < events.length) {\n // Find a token that can close.\n if (\n events[index][0] === 'enter' &&\n events[index][1].type === 'attentionSequence' &&\n events[index][1]._close\n ) {\n open = index // Now walk back to find an opener.\n\n while (open--) {\n // Find a token that can open the closer.\n if (\n events[open][0] === 'exit' &&\n events[open][1].type === 'attentionSequence' &&\n events[open][1]._open && // If the markers are the same:\n context.sliceSerialize(events[open][1]).charCodeAt(0) ===\n context.sliceSerialize(events[index][1]).charCodeAt(0)\n ) {\n // If the opening can close or the closing can open,\n // and the close size *is not* a multiple of three,\n // but the sum of the opening and closing size *is* multiple of three,\n // then don’t match.\n if (\n (events[open][1]._close || events[index][1]._open) &&\n (events[index][1].end.offset - events[index][1].start.offset) % 3 &&\n !(\n (events[open][1].end.offset -\n events[open][1].start.offset +\n events[index][1].end.offset -\n events[index][1].start.offset) %\n 3\n )\n ) {\n continue\n } // Number of markers to use from the sequence.\n\n use =\n events[open][1].end.offset - events[open][1].start.offset > 1 &&\n events[index][1].end.offset - events[index][1].start.offset > 1\n ? 2\n : 1\n const start = Object.assign({}, events[open][1].end)\n const end = Object.assign({}, events[index][1].start)\n movePoint(start, -use)\n movePoint(end, use)\n openingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start,\n end: Object.assign({}, events[open][1].end)\n }\n closingSequence = {\n type: use > 1 ? 'strongSequence' : 'emphasisSequence',\n start: Object.assign({}, events[index][1].start),\n end\n }\n text = {\n type: use > 1 ? 'strongText' : 'emphasisText',\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n }\n group = {\n type: use > 1 ? 'strong' : 'emphasis',\n start: Object.assign({}, openingSequence.start),\n end: Object.assign({}, closingSequence.end)\n }\n events[open][1].end = Object.assign({}, openingSequence.start)\n events[index][1].start = Object.assign({}, closingSequence.end)\n nextEvents = [] // If there are more markers in the opening, add them before.\n\n if (events[open][1].end.offset - events[open][1].start.offset) {\n nextEvents = push(nextEvents, [\n ['enter', events[open][1], context],\n ['exit', events[open][1], context]\n ])\n } // Opening.\n\n nextEvents = push(nextEvents, [\n ['enter', group, context],\n ['enter', openingSequence, context],\n ['exit', openingSequence, context],\n ['enter', text, context]\n ]) // Between.\n\n nextEvents = push(\n nextEvents,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + 1, index),\n context\n )\n ) // Closing.\n\n nextEvents = push(nextEvents, [\n ['exit', text, context],\n ['enter', closingSequence, context],\n ['exit', closingSequence, context],\n ['exit', group, context]\n ]) // If there are more markers in the closing, add them after.\n\n if (events[index][1].end.offset - events[index][1].start.offset) {\n offset = 2\n nextEvents = push(nextEvents, [\n ['enter', events[index][1], context],\n ['exit', events[index][1], context]\n ])\n } else {\n offset = 0\n }\n\n splice(events, open - 1, index - open + 3, nextEvents)\n index = open + nextEvents.length - offset - 2\n break\n }\n }\n }\n } // Remove remaining sequences.\n\n index = -1\n\n while (++index < events.length) {\n if (events[index][1].type === 'attentionSequence') {\n events[index][1].type = 'data'\n }\n }\n\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeAttention(effects, ok) {\n const attentionMarkers = this.parser.constructs.attentionMarkers.null\n const previous = this.previous\n const before = classifyCharacter(previous)\n /** @type {NonNullable<Code>} */\n\n let marker\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('attentionSequence')\n marker = code\n return sequence(code)\n }\n /** @type {State} */\n\n function sequence(code) {\n if (code === marker) {\n effects.consume(code)\n return sequence\n }\n\n const token = effects.exit('attentionSequence')\n const after = classifyCharacter(code)\n const open =\n !after || (after === 2 && before) || attentionMarkers.includes(code)\n const close =\n !before || (before === 2 && after) || attentionMarkers.includes(previous)\n token._open = Boolean(marker === 42 ? open : open && (before || !close))\n token._close = Boolean(marker === 42 ? close : close && (after || !open))\n return ok(code)\n }\n}\n/**\n * Move a point a bit.\n *\n * Note: `move` only works inside lines! It’s not possible to move past other\n * chunks (replacement characters, tabs, or line endings).\n *\n * @param {Point} point\n * @param {number} offset\n * @returns {void}\n */\n\nfunction movePoint(point, offset) {\n point.column += offset\n point.offset += offset\n point._bufferIndex += offset\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n asciiAtext,\n asciiControl\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const autolink = {\n name: 'autolink',\n tokenize: tokenizeAutolink\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeAutolink(effects, ok, nok) {\n let size = 1\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('autolink')\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.enter('autolinkProtocol')\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return schemeOrEmailAtext\n }\n\n return asciiAtext(code) ? emailAtext(code) : nok(code)\n }\n /** @type {State} */\n\n function schemeOrEmailAtext(code) {\n return code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)\n ? schemeInsideOrEmailAtext(code)\n : emailAtext(code)\n }\n /** @type {State} */\n\n function schemeInsideOrEmailAtext(code) {\n if (code === 58) {\n effects.consume(code)\n return urlInside\n }\n\n if (\n (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) &&\n size++ < 32\n ) {\n effects.consume(code)\n return schemeInsideOrEmailAtext\n }\n\n return emailAtext(code)\n }\n /** @type {State} */\n\n function urlInside(code) {\n if (code === 62) {\n effects.exit('autolinkProtocol')\n return end(code)\n }\n\n if (code === null || code === 32 || code === 60 || asciiControl(code)) {\n return nok(code)\n }\n\n effects.consume(code)\n return urlInside\n }\n /** @type {State} */\n\n function emailAtext(code) {\n if (code === 64) {\n effects.consume(code)\n size = 0\n return emailAtSignOrDot\n }\n\n if (asciiAtext(code)) {\n effects.consume(code)\n return emailAtext\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function emailAtSignOrDot(code) {\n return asciiAlphanumeric(code) ? emailLabel(code) : nok(code)\n }\n /** @type {State} */\n\n function emailLabel(code) {\n if (code === 46) {\n effects.consume(code)\n size = 0\n return emailAtSignOrDot\n }\n\n if (code === 62) {\n // Exit, then change the type.\n effects.exit('autolinkProtocol').type = 'autolinkEmail'\n return end(code)\n }\n\n return emailValue(code)\n }\n /** @type {State} */\n\n function emailValue(code) {\n if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) {\n effects.consume(code)\n return code === 45 ? emailValue : emailLabel\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function end(code) {\n effects.enter('autolinkMarker')\n effects.consume(code)\n effects.exit('autolinkMarker')\n effects.exit('autolink')\n return ok\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHtmlText(effects, ok, nok) {\n const self = this\n /** @type {NonNullable<Code>|undefined} */\n\n let marker\n /** @type {string} */\n\n let buffer\n /** @type {number} */\n\n let index\n /** @type {State} */\n\n let returnState\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('htmlText')\n effects.enter('htmlTextData')\n effects.consume(code)\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationOpen\n }\n\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n\n if (code === 63) {\n effects.consume(code)\n return instruction\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagOpen\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentOpen\n }\n\n if (code === 91) {\n effects.consume(code)\n buffer = 'CDATA['\n index = 0\n return cdataOpen\n }\n\n if (asciiAlpha(code)) {\n effects.consume(code)\n return declaration\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function commentOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentStart\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function commentStart(code) {\n if (code === null || code === 62) {\n return nok(code)\n }\n\n if (code === 45) {\n effects.consume(code)\n return commentStartDash\n }\n\n return comment(code)\n }\n /** @type {State} */\n\n function commentStartDash(code) {\n if (code === null || code === 62) {\n return nok(code)\n }\n\n return comment(code)\n }\n /** @type {State} */\n\n function comment(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 45) {\n effects.consume(code)\n return commentClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = comment\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return comment\n }\n /** @type {State} */\n\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code)\n return end\n }\n\n return comment(code)\n }\n /** @type {State} */\n\n function cdataOpen(code) {\n if (code === buffer.charCodeAt(index++)) {\n effects.consume(code)\n return index === buffer.length ? cdata : cdataOpen\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function cdata(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 93) {\n effects.consume(code)\n return cdataClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = cdata\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return cdata\n }\n /** @type {State} */\n\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n\n return cdata(code)\n }\n /** @type {State} */\n\n function cdataEnd(code) {\n if (code === 62) {\n return end(code)\n }\n\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n\n return cdata(code)\n }\n /** @type {State} */\n\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code)\n }\n\n if (markdownLineEnding(code)) {\n returnState = declaration\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return declaration\n }\n /** @type {State} */\n\n function instruction(code) {\n if (code === null) {\n return nok(code)\n }\n\n if (code === 63) {\n effects.consume(code)\n return instructionClose\n }\n\n if (markdownLineEnding(code)) {\n returnState = instruction\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return instruction\n }\n /** @type {State} */\n\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code)\n }\n /** @type {State} */\n\n function tagCloseStart(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return tagClose\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagClose(code) {\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagClose\n }\n\n return tagCloseBetween(code)\n }\n /** @type {State} */\n\n function tagCloseBetween(code) {\n if (markdownLineEnding(code)) {\n returnState = tagCloseBetween\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagCloseBetween\n }\n\n return end(code)\n }\n /** @type {State} */\n\n function tagOpen(code) {\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code)\n return tagOpen\n }\n\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code)\n return end\n }\n\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenBetween\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenBetween\n }\n\n return end(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeName(code) {\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n asciiAlphanumeric(code)\n ) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n\n return tagOpenAttributeNameAfter(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeNameAfter\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeNameAfter\n }\n\n return tagOpenBetween(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return tagOpenAttributeValueQuoted\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueBefore\n return atLineEnding(code)\n }\n\n if (markdownSpace(code)) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n\n effects.consume(code)\n marker = undefined\n return tagOpenAttributeValueUnquoted\n }\n /** @type {State} */\n\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code)\n return tagOpenAttributeValueQuotedAfter\n }\n\n if (code === null) {\n return nok(code)\n }\n\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueQuoted\n return atLineEnding(code)\n }\n\n effects.consume(code)\n return tagOpenAttributeValueQuoted\n }\n /** @type {State} */\n\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 62 || code === 47 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function tagOpenAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 96\n ) {\n return nok(code)\n }\n\n if (code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code)\n }\n\n effects.consume(code)\n return tagOpenAttributeValueUnquoted\n } // We can’t have blank lines in content, so no need to worry about empty\n // tokens.\n\n /** @type {State} */\n\n function atLineEnding(code) {\n effects.exit('htmlTextData')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(\n effects,\n afterPrefix,\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )\n }\n /** @type {State} */\n\n function afterPrefix(code) {\n effects.enter('htmlTextData')\n return returnState(code)\n }\n /** @type {State} */\n\n function end(code) {\n if (code === 62) {\n effects.consume(code)\n effects.exit('htmlTextData')\n effects.exit('htmlText')\n return ok\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {labelEnd} from './label-end.js'\n/** @type {Construct} */\n\nexport const labelStartLink = {\n name: 'labelStartLink',\n tokenize: tokenizeLabelStartLink,\n resolveAll: labelEnd.resolveAll\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('labelLink')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelLink')\n return after\n }\n /** @type {State} */\n\n function after(code) {\n /* To do: remove in the future once we’ve switched from\n * `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n * which doesn’t need this */\n\n /* Hidden footnotes hook. */\n\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const hardBreakEscape = {\n name: 'hardBreakEscape',\n tokenize: tokenizeHardBreakEscape\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHardBreakEscape(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('hardBreakEscape')\n effects.enter('escapeMarker')\n effects.consume(code)\n return open\n }\n /** @type {State} */\n\n function open(code) {\n if (markdownLineEnding(code)) {\n effects.exit('escapeMarker')\n effects.exit('hardBreakEscape')\n return ok(code)\n }\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Previous} Previous\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').State} State\n */\nimport {markdownLineEnding} from 'micromark-util-character'\n\n/** @type {Construct} */\nexport const codeText = {\n name: 'codeText',\n tokenize: tokenizeCodeText,\n resolve: resolveCodeText,\n previous\n}\n/** @type {Resolver} */\n\nfunction resolveCodeText(events) {\n let tailExitIndex = events.length - 4\n let headEnterIndex = 3\n /** @type {number} */\n\n let index\n /** @type {number|undefined} */\n\n let enter // If we start and end with an EOL or a space.\n\n if (\n (events[headEnterIndex][1].type === 'lineEnding' ||\n events[headEnterIndex][1].type === 'space') &&\n (events[tailExitIndex][1].type === 'lineEnding' ||\n events[tailExitIndex][1].type === 'space')\n ) {\n index = headEnterIndex // And we have data.\n\n while (++index < tailExitIndex) {\n if (events[index][1].type === 'codeTextData') {\n // Then we have padding.\n events[headEnterIndex][1].type = 'codeTextPadding'\n events[tailExitIndex][1].type = 'codeTextPadding'\n headEnterIndex += 2\n tailExitIndex -= 2\n break\n }\n }\n } // Merge adjacent spaces and data.\n\n index = headEnterIndex - 1\n tailExitIndex++\n\n while (++index <= tailExitIndex) {\n if (enter === undefined) {\n if (index !== tailExitIndex && events[index][1].type !== 'lineEnding') {\n enter = index\n }\n } else if (\n index === tailExitIndex ||\n events[index][1].type === 'lineEnding'\n ) {\n events[enter][1].type = 'codeTextData'\n\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n tailExitIndex -= index - enter - 2\n index = enter + 2\n }\n\n enter = undefined\n }\n }\n\n return events\n}\n/** @type {Previous} */\n\nfunction previous(code) {\n // If there is a previous code, there will always be a tail.\n return (\n code !== 96 ||\n this.events[this.events.length - 1][1].type === 'characterEscape'\n )\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeCodeText(effects, ok, nok) {\n const self = this\n let sizeOpen = 0\n /** @type {number} */\n\n let size\n /** @type {Token} */\n\n let token\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('codeText')\n effects.enter('codeTextSequence')\n return openingSequence(code)\n }\n /** @type {State} */\n\n function openingSequence(code) {\n if (code === 96) {\n effects.consume(code)\n sizeOpen++\n return openingSequence\n }\n\n effects.exit('codeTextSequence')\n return gap(code)\n }\n /** @type {State} */\n\n function gap(code) {\n // EOF.\n if (code === null) {\n return nok(code)\n } // Closing fence?\n // Could also be data.\n\n if (code === 96) {\n token = effects.enter('codeTextSequence')\n size = 0\n return closingSequence(code)\n } // Tabs don’t work, and virtual spaces don’t make sense.\n\n if (code === 32) {\n effects.enter('space')\n effects.consume(code)\n effects.exit('space')\n return gap\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return gap\n } // Data.\n\n effects.enter('codeTextData')\n return data(code)\n } // In code.\n\n /** @type {State} */\n\n function data(code) {\n if (\n code === null ||\n code === 32 ||\n code === 96 ||\n markdownLineEnding(code)\n ) {\n effects.exit('codeTextData')\n return gap(code)\n }\n\n effects.consume(code)\n return data\n } // Closing fence.\n\n /** @type {State} */\n\n function closingSequence(code) {\n // More.\n if (code === 96) {\n effects.consume(code)\n size++\n return closingSequence\n } // Done!\n\n if (size === sizeOpen) {\n effects.exit('codeTextSequence')\n effects.exit('codeText')\n return ok(code)\n } // More or less accents: mark as data.\n\n token.type = 'codeTextData'\n return data(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n */\nimport {\n attention,\n autolink,\n blockQuote,\n characterEscape,\n characterReference,\n codeFenced,\n codeIndented,\n codeText,\n definition,\n hardBreakEscape,\n headingAtx,\n htmlFlow,\n htmlText,\n labelEnd,\n labelStartImage,\n labelStartLink,\n lineEnding,\n list,\n setextUnderline,\n thematicBreak\n} from 'micromark-core-commonmark'\nimport {resolver as resolveText} from './initialize/text.js'\n/** @type {Extension['document']} */\n\nexport const document = {\n [42]: list,\n [43]: list,\n [45]: list,\n [48]: list,\n [49]: list,\n [50]: list,\n [51]: list,\n [52]: list,\n [53]: list,\n [54]: list,\n [55]: list,\n [56]: list,\n [57]: list,\n [62]: blockQuote\n}\n/** @type {Extension['contentInitial']} */\n\nexport const contentInitial = {\n [91]: definition\n}\n/** @type {Extension['flowInitial']} */\n\nexport const flowInitial = {\n [-2]: codeIndented,\n [-1]: codeIndented,\n [32]: codeIndented\n}\n/** @type {Extension['flow']} */\n\nexport const flow = {\n [35]: headingAtx,\n [42]: thematicBreak,\n [45]: [setextUnderline, thematicBreak],\n [60]: htmlFlow,\n [61]: setextUnderline,\n [95]: thematicBreak,\n [96]: codeFenced,\n [126]: codeFenced\n}\n/** @type {Extension['string']} */\n\nexport const string = {\n [38]: characterReference,\n [92]: characterEscape\n}\n/** @type {Extension['text']} */\n\nexport const text = {\n [-5]: lineEnding,\n [-4]: lineEnding,\n [-3]: lineEnding,\n [33]: labelStartImage,\n [38]: characterReference,\n [42]: attention,\n [60]: [autolink, htmlText],\n [91]: labelStartLink,\n [92]: [hardBreakEscape, characterEscape],\n [93]: labelEnd,\n [95]: attention,\n [96]: codeText\n}\n/** @type {Extension['insideSpan']} */\n\nexport const insideSpan = {\n null: [attention, resolveText]\n}\n/** @type {Extension['attentionMarkers']} */\n\nexport const attentionMarkers = {\n null: [42, 95]\n}\n/** @type {Extension['disable']} */\n\nexport const disable = {\n null: []\n}\n","/**\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Value} Value\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Code} Code\n */\n\n/**\n * @callback Preprocessor\n * @param {Value} value\n * @param {Encoding} [encoding]\n * @param {boolean} [end=false]\n * @returns {Array<Chunk>}\n */\nconst search = /[\\0\\t\\n\\r]/g\n/**\n * @returns {Preprocessor}\n */\n\nexport function preprocess() {\n let column = 1\n let buffer = ''\n /** @type {boolean|undefined} */\n\n let start = true\n /** @type {boolean|undefined} */\n\n let atCarriageReturn\n return preprocessor\n /** @type {Preprocessor} */\n\n function preprocessor(value, encoding, end) {\n /** @type {Array<Chunk>} */\n const chunks = []\n /** @type {RegExpMatchArray|null} */\n\n let match\n /** @type {number} */\n\n let next\n /** @type {number} */\n\n let startPosition\n /** @type {number} */\n\n let endPosition\n /** @type {Code} */\n\n let code // @ts-expect-error `Buffer` does allow an encoding.\n\n value = buffer + value.toString(encoding)\n startPosition = 0\n buffer = ''\n\n if (start) {\n if (value.charCodeAt(0) === 65279) {\n startPosition++\n }\n\n start = undefined\n }\n\n while (startPosition < value.length) {\n search.lastIndex = startPosition\n match = search.exec(value)\n endPosition =\n match && match.index !== undefined ? match.index : value.length\n code = value.charCodeAt(endPosition)\n\n if (!match) {\n buffer = value.slice(startPosition)\n break\n }\n\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3)\n atCarriageReturn = undefined\n } else {\n if (atCarriageReturn) {\n chunks.push(-5)\n atCarriageReturn = undefined\n }\n\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition))\n column += endPosition - startPosition\n }\n\n switch (code) {\n case 0: {\n chunks.push(65533)\n column++\n break\n }\n\n case 9: {\n next = Math.ceil(column / 4) * 4\n chunks.push(-2)\n\n while (column++ < next) chunks.push(-1)\n\n break\n }\n\n case 10: {\n chunks.push(-4)\n column = 1\n break\n }\n\n default: {\n atCarriageReturn = true\n column = 1\n }\n }\n }\n\n startPosition = endPosition + 1\n }\n\n if (end) {\n if (atCarriageReturn) chunks.push(-5)\n if (buffer) chunks.push(buffer)\n chunks.push(null)\n }\n\n return chunks\n }\n}\n","/**\n * Turn the number (in string form as either hexa- or plain decimal) coming from\n * a numeric character reference into a character.\n *\n * @param {string} value\n * Value to decode.\n * @param {number} base\n * Numeric base.\n * @returns {string}\n */\nexport function decodeNumericCharacterReference(value, base) {\n const code = Number.parseInt(value, base)\n\n if (\n // C0 except for HT, LF, FF, CR, space\n code < 9 ||\n code === 11 ||\n (code > 13 && code < 32) || // Control character (DEL) of the basic block and C1 controls.\n (code > 126 && code < 160) || // Lone high surrogates and low surrogates.\n (code > 55295 && code < 57344) || // Noncharacters.\n (code > 64975 && code < 65008) ||\n (code & 65535) === 65535 ||\n (code & 65535) === 65534 || // Out of range\n code > 1114111\n ) {\n return '\\uFFFD'\n }\n\n return String.fromCharCode(code)\n}\n","import {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'\nconst characterEscapeOrReference =\n /\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi\n/**\n * Utility to decode markdown strings (which occur in places such as fenced\n * code info strings, destinations, labels, and titles).\n * The “string” content type allows character escapes and -references.\n * This decodes those.\n *\n * @param {string} value\n * @returns {string}\n */\n\nexport function decodeString(value) {\n return value.replace(characterEscapeOrReference, decode)\n}\n/**\n * @param {string} $0\n * @param {string} $1\n * @param {string} $2\n * @returns {string}\n */\n\nfunction decode($0, $1, $2) {\n if ($1) {\n // Escape.\n return $1\n } // Reference.\n\n const head = $2.charCodeAt(0)\n\n if (head === 35) {\n const head = $2.charCodeAt(1)\n const hex = head === 120 || head === 88\n return decodeNumericCharacterReference($2.slice(hex ? 2 : 1), hex ? 16 : 10)\n }\n\n return decodeNamedCharacterReference($2) || $0\n}\n","/**\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Value} Value\n * @typedef {import('unist').Parent} UnistParent\n * @typedef {import('unist').Point} Point\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n * @typedef {import('mdast').Content} Content\n * @typedef {Root|Content} Node\n * @typedef {Extract<Node, UnistParent>} Parent\n * @typedef {import('mdast').Break} Break\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('mdast').Code} Code\n * @typedef {import('mdast').Definition} Definition\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('mdast').HTML} HTML\n * @typedef {import('mdast').Image} Image\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('mdast').Link} Link\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('mdast').List} List\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('mdast').Text} Text\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n *\n * @typedef {UnistParent & {type: 'fragment', children: Array<PhrasingContent>}} Fragment\n */\n\n/**\n * @typedef _CompileDataFields\n * @property {boolean|undefined} expectingFirstListItemValue\n * @property {boolean|undefined} flowCodeInside\n * @property {boolean|undefined} setextHeadingSlurpLineEnding\n * @property {boolean|undefined} atHardBreak\n * @property {'collapsed'|'full'} referenceType\n * @property {boolean|undefined} inReference\n * @property {'characterReferenceMarkerHexadecimal'|'characterReferenceMarkerNumeric'} characterReferenceType\n *\n * @typedef {Record<string, unknown> & Partial<_CompileDataFields>} CompileData\n *\n * @typedef {(tree: Root) => Root|void} Transform\n * @typedef {(this: CompileContext, token: Token) => void} Handle\n * @typedef {Record<string, Handle>} Handles\n * Token types mapping to handles\n * @typedef {Record<string, Record<string, unknown>|Array<unknown>> & {canContainEols: Array<string>, transforms: Array<Transform>, enter: Handles, exit: Handles}} NormalizedExtension\n * @typedef {Partial<NormalizedExtension>} Extension\n * An mdast extension changes how markdown tokens are turned into mdast.\n *\n * @typedef {(this: Omit<CompileContext, 'sliceSerialize'>, left: Token|undefined, right: Token) => void} OnEnterError\n * @typedef {(this: Omit<CompileContext, 'sliceSerialize'>, left: Token, right: Token) => void} OnExitError\n *\n * @typedef CompileContext\n * mdast compiler context\n * @property {Array<Node | Fragment>} stack\n * @property {Array<[Token, OnEnterError|undefined]>} tokenStack\n * @property {(key: string, value?: unknown) => void} setData\n * Set data into the key-value store.\n * @property {<K extends string>(key: K) => CompileData[K]} getData\n * Get data from the key-value store.\n * @property {(this: CompileContext) => void} buffer\n * Capture some of the output data.\n * @property {(this: CompileContext) => string} resume\n * Stop capturing and access the output data.\n * @property {<N extends Node>(this: CompileContext, node: N, token: Token, onError?: OnEnterError) => N} enter\n * Enter a token.\n * @property {(this: CompileContext, token: Token, onError?: OnExitError) => Node} exit\n * Exit a token.\n * @property {TokenizeContext['sliceSerialize']} sliceSerialize\n * Get the string value of a token.\n * @property {NormalizedExtension} config\n * Configuration.\n *\n * @typedef {{mdastExtensions?: Array<Extension|Array<Extension>>}} FromMarkdownOptions\n * @typedef {ParseOptions & FromMarkdownOptions} Options\n */\nimport {toString} from 'mdast-util-to-string'\nimport {parse} from 'micromark/lib/parse.js'\nimport {preprocess} from 'micromark/lib/preprocess.js'\nimport {postprocess} from 'micromark/lib/postprocess.js'\nimport {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'\nimport {decodeString} from 'micromark-util-decode-string'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {stringifyPosition} from 'unist-util-stringify-position'\nconst own = {}.hasOwnProperty\n/**\n * @param value Markdown to parse (`string` or `Buffer`).\n * @param [encoding] Character encoding to understand `value` as when it’s a `Buffer` (`string`, default: `'utf8'`).\n * @param [options] Configuration\n */\n\nexport const fromMarkdown =\n /**\n * @type {(\n * ((value: Value, encoding: Encoding, options?: Options) => Root) &\n * ((value: Value, options?: Options) => Root)\n * )}\n */\n\n /**\n * @param {Value} value\n * @param {Encoding} [encoding]\n * @param {Options} [options]\n * @returns {Root}\n */\n function (value, encoding, options) {\n if (typeof encoding !== 'string') {\n options = encoding\n encoding = undefined\n }\n\n return compiler(options)(\n postprocess(\n parse(options).document().write(preprocess()(value, encoding, true))\n )\n )\n }\n/**\n * Note this compiler only understand complete buffering, not streaming.\n *\n * @param {Options} [options]\n */\n\nfunction compiler(options = {}) {\n /** @type {NormalizedExtension} */\n // @ts-expect-error: our base has all required fields, so the result will too.\n const config = configure(\n {\n transforms: [],\n canContainEols: [\n 'emphasis',\n 'fragment',\n 'heading',\n 'paragraph',\n 'strong'\n ],\n enter: {\n autolink: opener(link),\n autolinkProtocol: onenterdata,\n autolinkEmail: onenterdata,\n atxHeading: opener(heading),\n blockQuote: opener(blockQuote),\n characterEscape: onenterdata,\n characterReference: onenterdata,\n codeFenced: opener(codeFlow),\n codeFencedFenceInfo: buffer,\n codeFencedFenceMeta: buffer,\n codeIndented: opener(codeFlow, buffer),\n codeText: opener(codeText, buffer),\n codeTextData: onenterdata,\n data: onenterdata,\n codeFlowValue: onenterdata,\n definition: opener(definition),\n definitionDestinationString: buffer,\n definitionLabelString: buffer,\n definitionTitleString: buffer,\n emphasis: opener(emphasis),\n hardBreakEscape: opener(hardBreak),\n hardBreakTrailing: opener(hardBreak),\n htmlFlow: opener(html, buffer),\n htmlFlowData: onenterdata,\n htmlText: opener(html, buffer),\n htmlTextData: onenterdata,\n image: opener(image),\n label: buffer,\n link: opener(link),\n listItem: opener(listItem),\n listItemValue: onenterlistitemvalue,\n listOrdered: opener(list, onenterlistordered),\n listUnordered: opener(list),\n paragraph: opener(paragraph),\n reference: onenterreference,\n referenceString: buffer,\n resourceDestinationString: buffer,\n resourceTitleString: buffer,\n setextHeading: opener(heading),\n strong: opener(strong),\n thematicBreak: opener(thematicBreak)\n },\n exit: {\n atxHeading: closer(),\n atxHeadingSequence: onexitatxheadingsequence,\n autolink: closer(),\n autolinkEmail: onexitautolinkemail,\n autolinkProtocol: onexitautolinkprotocol,\n blockQuote: closer(),\n characterEscapeValue: onexitdata,\n characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,\n characterReferenceMarkerNumeric: onexitcharacterreferencemarker,\n characterReferenceValue: onexitcharacterreferencevalue,\n codeFenced: closer(onexitcodefenced),\n codeFencedFence: onexitcodefencedfence,\n codeFencedFenceInfo: onexitcodefencedfenceinfo,\n codeFencedFenceMeta: onexitcodefencedfencemeta,\n codeFlowValue: onexitdata,\n codeIndented: closer(onexitcodeindented),\n codeText: closer(onexitcodetext),\n codeTextData: onexitdata,\n data: onexitdata,\n definition: closer(),\n definitionDestinationString: onexitdefinitiondestinationstring,\n definitionLabelString: onexitdefinitionlabelstring,\n definitionTitleString: onexitdefinitiontitlestring,\n emphasis: closer(),\n hardBreakEscape: closer(onexithardbreak),\n hardBreakTrailing: closer(onexithardbreak),\n htmlFlow: closer(onexithtmlflow),\n htmlFlowData: onexitdata,\n htmlText: closer(onexithtmltext),\n htmlTextData: onexitdata,\n image: closer(onexitimage),\n label: onexitlabel,\n labelText: onexitlabeltext,\n lineEnding: onexitlineending,\n link: closer(onexitlink),\n listItem: closer(),\n listOrdered: closer(),\n listUnordered: closer(),\n paragraph: closer(),\n referenceString: onexitreferencestring,\n resourceDestinationString: onexitresourcedestinationstring,\n resourceTitleString: onexitresourcetitlestring,\n resource: onexitresource,\n setextHeading: closer(onexitsetextheading),\n setextHeadingLineSequence: onexitsetextheadinglinesequence,\n setextHeadingText: onexitsetextheadingtext,\n strong: closer(),\n thematicBreak: closer()\n }\n },\n options.mdastExtensions || []\n )\n /** @type {CompileData} */\n\n const data = {}\n return compile\n /**\n * @param {Array<Event>} events\n * @returns {Root}\n */\n\n function compile(events) {\n /** @type {Root} */\n let tree = {\n type: 'root',\n children: []\n }\n /** @type {CompileContext['stack']} */\n\n const stack = [tree]\n /** @type {CompileContext['tokenStack']} */\n\n const tokenStack = []\n /** @type {Array<number>} */\n\n const listStack = []\n /** @type {Omit<CompileContext, 'sliceSerialize'>} */\n\n const context = {\n stack,\n tokenStack,\n config,\n enter,\n exit,\n buffer,\n resume,\n setData,\n getData\n }\n let index = -1\n\n while (++index < events.length) {\n // We preprocess lists to add `listItem` tokens, and to infer whether\n // items the list itself are spread out.\n if (\n events[index][1].type === 'listOrdered' ||\n events[index][1].type === 'listUnordered'\n ) {\n if (events[index][0] === 'enter') {\n listStack.push(index)\n } else {\n const tail = listStack.pop()\n index = prepareList(events, tail, index)\n }\n }\n }\n\n index = -1\n\n while (++index < events.length) {\n const handler = config[events[index][0]]\n\n if (own.call(handler, events[index][1].type)) {\n handler[events[index][1].type].call(\n Object.assign(\n {\n sliceSerialize: events[index][2].sliceSerialize\n },\n context\n ),\n events[index][1]\n )\n }\n }\n\n if (tokenStack.length > 0) {\n const tail = tokenStack[tokenStack.length - 1]\n const handler = tail[1] || defaultOnError\n handler.call(context, undefined, tail[0])\n } // Figure out `root` position.\n\n tree.position = {\n start: point(\n events.length > 0\n ? events[0][1].start\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n ),\n end: point(\n events.length > 0\n ? events[events.length - 2][1].end\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n )\n }\n index = -1\n\n while (++index < config.transforms.length) {\n tree = config.transforms[index](tree) || tree\n }\n\n return tree\n }\n /**\n * @param {Array<Event>} events\n * @param {number} start\n * @param {number} length\n * @returns {number}\n */\n\n function prepareList(events, start, length) {\n let index = start - 1\n let containerBalance = -1\n let listSpread = false\n /** @type {Token|undefined} */\n\n let listItem\n /** @type {number|undefined} */\n\n let lineIndex\n /** @type {number|undefined} */\n\n let firstBlankLineIndex\n /** @type {boolean|undefined} */\n\n let atMarker\n\n while (++index <= length) {\n const event = events[index]\n\n if (\n event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered' ||\n event[1].type === 'blockQuote'\n ) {\n if (event[0] === 'enter') {\n containerBalance++\n } else {\n containerBalance--\n }\n\n atMarker = undefined\n } else if (event[1].type === 'lineEndingBlank') {\n if (event[0] === 'enter') {\n if (\n listItem &&\n !atMarker &&\n !containerBalance &&\n !firstBlankLineIndex\n ) {\n firstBlankLineIndex = index\n }\n\n atMarker = undefined\n }\n } else if (\n event[1].type === 'linePrefix' ||\n event[1].type === 'listItemValue' ||\n event[1].type === 'listItemMarker' ||\n event[1].type === 'listItemPrefix' ||\n event[1].type === 'listItemPrefixWhitespace'\n ) {\n // Empty.\n } else {\n atMarker = undefined\n }\n\n if (\n (!containerBalance &&\n event[0] === 'enter' &&\n event[1].type === 'listItemPrefix') ||\n (containerBalance === -1 &&\n event[0] === 'exit' &&\n (event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered'))\n ) {\n if (listItem) {\n let tailIndex = index\n lineIndex = undefined\n\n while (tailIndex--) {\n const tailEvent = events[tailIndex]\n\n if (\n tailEvent[1].type === 'lineEnding' ||\n tailEvent[1].type === 'lineEndingBlank'\n ) {\n if (tailEvent[0] === 'exit') continue\n\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n listSpread = true\n }\n\n tailEvent[1].type = 'lineEnding'\n lineIndex = tailIndex\n } else if (\n tailEvent[1].type === 'linePrefix' ||\n tailEvent[1].type === 'blockQuotePrefix' ||\n tailEvent[1].type === 'blockQuotePrefixWhitespace' ||\n tailEvent[1].type === 'blockQuoteMarker' ||\n tailEvent[1].type === 'listItemIndent'\n ) {\n // Empty\n } else {\n break\n }\n }\n\n if (\n firstBlankLineIndex &&\n (!lineIndex || firstBlankLineIndex < lineIndex)\n ) {\n // @ts-expect-error Patched.\n listItem._spread = true\n } // Fix position.\n\n listItem.end = Object.assign(\n {},\n lineIndex ? events[lineIndex][1].start : event[1].end\n )\n events.splice(lineIndex || index, 0, ['exit', listItem, event[2]])\n index++\n length++\n } // Create a new list item.\n\n if (event[1].type === 'listItemPrefix') {\n listItem = {\n type: 'listItem',\n // @ts-expect-error Patched\n _spread: false,\n start: Object.assign({}, event[1].start)\n } // @ts-expect-error: `listItem` is most definitely defined, TS...\n\n events.splice(index, 0, ['enter', listItem, event[2]])\n index++\n length++\n firstBlankLineIndex = undefined\n atMarker = true\n }\n }\n } // @ts-expect-error Patched.\n\n events[start][1]._spread = listSpread\n return length\n }\n /**\n * @type {CompileContext['setData']}\n * @param [value]\n */\n\n function setData(key, value) {\n data[key] = value\n }\n /**\n * @type {CompileContext['getData']}\n * @template {string} K\n * @param {K} key\n * @returns {CompileData[K]}\n */\n\n function getData(key) {\n return data[key]\n }\n /**\n * @param {Point} d\n * @returns {Point}\n */\n\n function point(d) {\n return {\n line: d.line,\n column: d.column,\n offset: d.offset\n }\n }\n /**\n * @param {(token: Token) => Node} create\n * @param {Handle} [and]\n * @returns {Handle}\n */\n\n function opener(create, and) {\n return open\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {void}\n */\n\n function open(token) {\n enter.call(this, create(token), token)\n if (and) and.call(this, token)\n }\n }\n /** @type {CompileContext['buffer']} */\n\n function buffer() {\n this.stack.push({\n type: 'fragment',\n children: []\n })\n }\n /**\n * @type {CompileContext['enter']}\n * @template {Node} N\n * @this {CompileContext}\n * @param {N} node\n * @param {Token} token\n * @param {OnEnterError} [errorHandler]\n * @returns {N}\n */\n\n function enter(node, token, errorHandler) {\n const parent = this.stack[this.stack.length - 1]\n // @ts-expect-error: Assume `Node` can exist as a child of `parent`.\n parent.children.push(node)\n this.stack.push(node)\n this.tokenStack.push([token, errorHandler]) // @ts-expect-error: `end` will be patched later.\n\n node.position = {\n start: point(token.start)\n }\n return node\n }\n /**\n * @param {Handle} [and]\n * @returns {Handle}\n */\n\n function closer(and) {\n return close\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {void}\n */\n\n function close(token) {\n if (and) and.call(this, token)\n exit.call(this, token)\n }\n }\n /**\n * @type {CompileContext['exit']}\n * @this {CompileContext}\n * @param {Token} token\n * @param {OnExitError} [onExitError]\n * @returns {Node}\n */\n\n function exit(token, onExitError) {\n const node = this.stack.pop()\n const open = this.tokenStack.pop()\n\n if (!open) {\n throw new Error(\n 'Cannot close `' +\n token.type +\n '` (' +\n stringifyPosition({\n start: token.start,\n end: token.end\n }) +\n '): it’s not open'\n )\n } else if (open[0].type !== token.type) {\n if (onExitError) {\n onExitError.call(this, token, open[0])\n } else {\n const handler = open[1] || defaultOnError\n handler.call(this, token, open[0])\n }\n }\n\n node.position.end = point(token.end)\n return node\n }\n /**\n * @this {CompileContext}\n * @returns {string}\n */\n\n function resume() {\n return toString(this.stack.pop())\n } //\n // Handlers.\n //\n\n /** @type {Handle} */\n\n function onenterlistordered() {\n setData('expectingFirstListItemValue', true)\n }\n /** @type {Handle} */\n\n function onenterlistitemvalue(token) {\n if (getData('expectingFirstListItemValue')) {\n const ancestor =\n /** @type {List} */\n this.stack[this.stack.length - 2]\n ancestor.start = Number.parseInt(this.sliceSerialize(token), 10)\n setData('expectingFirstListItemValue')\n }\n }\n /** @type {Handle} */\n\n function onexitcodefencedfenceinfo() {\n const data = this.resume()\n const node =\n /** @type {Code} */\n this.stack[this.stack.length - 1]\n node.lang = data\n }\n /** @type {Handle} */\n\n function onexitcodefencedfencemeta() {\n const data = this.resume()\n const node =\n /** @type {Code} */\n this.stack[this.stack.length - 1]\n node.meta = data\n }\n /** @type {Handle} */\n\n function onexitcodefencedfence() {\n // Exit if this is the closing fence.\n if (getData('flowCodeInside')) return\n this.buffer()\n setData('flowCodeInside', true)\n }\n /** @type {Handle} */\n\n function onexitcodefenced() {\n const data = this.resume()\n const node =\n /** @type {Code} */\n this.stack[this.stack.length - 1]\n node.value = data.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g, '')\n setData('flowCodeInside')\n }\n /** @type {Handle} */\n\n function onexitcodeindented() {\n const data = this.resume()\n const node =\n /** @type {Code} */\n this.stack[this.stack.length - 1]\n node.value = data.replace(/(\\r?\\n|\\r)$/g, '')\n }\n /** @type {Handle} */\n\n function onexitdefinitionlabelstring(token) {\n // Discard label, use the source content instead.\n const label = this.resume()\n const node =\n /** @type {Definition} */\n this.stack[this.stack.length - 1]\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n }\n /** @type {Handle} */\n\n function onexitdefinitiontitlestring() {\n const data = this.resume()\n const node =\n /** @type {Definition} */\n this.stack[this.stack.length - 1]\n node.title = data\n }\n /** @type {Handle} */\n\n function onexitdefinitiondestinationstring() {\n const data = this.resume()\n const node =\n /** @type {Definition} */\n this.stack[this.stack.length - 1]\n node.url = data\n }\n /** @type {Handle} */\n\n function onexitatxheadingsequence(token) {\n const node =\n /** @type {Heading} */\n this.stack[this.stack.length - 1]\n\n if (!node.depth) {\n const depth = this.sliceSerialize(token).length\n node.depth = depth\n }\n }\n /** @type {Handle} */\n\n function onexitsetextheadingtext() {\n setData('setextHeadingSlurpLineEnding', true)\n }\n /** @type {Handle} */\n\n function onexitsetextheadinglinesequence(token) {\n const node =\n /** @type {Heading} */\n this.stack[this.stack.length - 1]\n node.depth = this.sliceSerialize(token).charCodeAt(0) === 61 ? 1 : 2\n }\n /** @type {Handle} */\n\n function onexitsetextheading() {\n setData('setextHeadingSlurpLineEnding')\n }\n /** @type {Handle} */\n\n function onenterdata(token) {\n const parent =\n /** @type {Parent} */\n this.stack[this.stack.length - 1]\n /** @type {Node} */\n\n let tail = parent.children[parent.children.length - 1]\n\n if (!tail || tail.type !== 'text') {\n // Add a new text node.\n tail = text() // @ts-expect-error: we’ll add `end` later.\n\n tail.position = {\n start: point(token.start)\n } // @ts-expect-error: Assume `parent` accepts `text`.\n\n parent.children.push(tail)\n }\n\n this.stack.push(tail)\n }\n /** @type {Handle} */\n\n function onexitdata(token) {\n const tail = this.stack.pop()\n tail.value += this.sliceSerialize(token)\n tail.position.end = point(token.end)\n }\n /** @type {Handle} */\n\n function onexitlineending(token) {\n const context = this.stack[this.stack.length - 1]\n\n // If we’re at a hard break, include the line ending in there.\n if (getData('atHardBreak')) {\n const tail = context.children[context.children.length - 1]\n tail.position.end = point(token.end)\n setData('atHardBreak')\n return\n }\n\n if (\n !getData('setextHeadingSlurpLineEnding') &&\n config.canContainEols.includes(context.type)\n ) {\n onenterdata.call(this, token)\n onexitdata.call(this, token)\n }\n }\n /** @type {Handle} */\n\n function onexithardbreak() {\n setData('atHardBreak', true)\n }\n /** @type {Handle} */\n\n function onexithtmlflow() {\n const data = this.resume()\n const node =\n /** @type {HTML} */\n this.stack[this.stack.length - 1]\n node.value = data\n }\n /** @type {Handle} */\n\n function onexithtmltext() {\n const data = this.resume()\n const node =\n /** @type {HTML} */\n this.stack[this.stack.length - 1]\n node.value = data\n }\n /** @type {Handle} */\n\n function onexitcodetext() {\n const data = this.resume()\n const node =\n /** @type {InlineCode} */\n this.stack[this.stack.length - 1]\n node.value = data\n }\n /** @type {Handle} */\n\n function onexitlink() {\n const context =\n /** @type {Link & {identifier: string, label: string}} */\n this.stack[this.stack.length - 1] // To do: clean.\n\n if (getData('inReference')) {\n context.type += 'Reference' // @ts-expect-error: mutate.\n\n context.referenceType = getData('referenceType') || 'shortcut' // @ts-expect-error: mutate.\n\n delete context.url\n delete context.title\n } else {\n // @ts-expect-error: mutate.\n delete context.identifier // @ts-expect-error: mutate.\n\n delete context.label\n }\n\n setData('referenceType')\n }\n /** @type {Handle} */\n\n function onexitimage() {\n const context =\n /** @type {Image & {identifier: string, label: string}} */\n this.stack[this.stack.length - 1] // To do: clean.\n\n if (getData('inReference')) {\n context.type += 'Reference' // @ts-expect-error: mutate.\n\n context.referenceType = getData('referenceType') || 'shortcut' // @ts-expect-error: mutate.\n\n delete context.url\n delete context.title\n } else {\n // @ts-expect-error: mutate.\n delete context.identifier // @ts-expect-error: mutate.\n\n delete context.label\n }\n\n setData('referenceType')\n }\n /** @type {Handle} */\n\n function onexitlabeltext(token) {\n const ancestor =\n /** @type {(Link|Image) & {identifier: string, label: string}} */\n this.stack[this.stack.length - 2]\n const string = this.sliceSerialize(token)\n ancestor.label = decodeString(string)\n ancestor.identifier = normalizeIdentifier(string).toLowerCase()\n }\n /** @type {Handle} */\n\n function onexitlabel() {\n const fragment =\n /** @type {Fragment} */\n this.stack[this.stack.length - 1]\n const value = this.resume()\n const node =\n /** @type {(Link|Image) & {identifier: string, label: string}} */\n this.stack[this.stack.length - 1] // Assume a reference.\n\n setData('inReference', true)\n\n if (node.type === 'link') {\n // @ts-expect-error: Assume static phrasing content.\n node.children = fragment.children\n } else {\n node.alt = value\n }\n }\n /** @type {Handle} */\n\n function onexitresourcedestinationstring() {\n const data = this.resume()\n const node =\n /** @type {Link|Image} */\n this.stack[this.stack.length - 1]\n node.url = data\n }\n /** @type {Handle} */\n\n function onexitresourcetitlestring() {\n const data = this.resume()\n const node =\n /** @type {Link|Image} */\n this.stack[this.stack.length - 1]\n node.title = data\n }\n /** @type {Handle} */\n\n function onexitresource() {\n setData('inReference')\n }\n /** @type {Handle} */\n\n function onenterreference() {\n setData('referenceType', 'collapsed')\n }\n /** @type {Handle} */\n\n function onexitreferencestring(token) {\n const label = this.resume()\n const node =\n /** @type {LinkReference|ImageReference} */\n this.stack[this.stack.length - 1]\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n setData('referenceType', 'full')\n }\n /** @type {Handle} */\n\n function onexitcharacterreferencemarker(token) {\n setData('characterReferenceType', token.type)\n }\n /** @type {Handle} */\n\n function onexitcharacterreferencevalue(token) {\n const data = this.sliceSerialize(token)\n const type = getData('characterReferenceType')\n /** @type {string} */\n\n let value\n\n if (type) {\n value = decodeNumericCharacterReference(\n data,\n type === 'characterReferenceMarkerNumeric' ? 10 : 16\n )\n setData('characterReferenceType')\n } else {\n // @ts-expect-error `decodeNamedCharacterReference` can return false for\n // invalid named character references, but everything we’ve tokenized is\n // valid.\n value = decodeNamedCharacterReference(data)\n }\n\n const tail = this.stack.pop()\n tail.value += value\n tail.position.end = point(token.end)\n }\n /** @type {Handle} */\n\n function onexitautolinkprotocol(token) {\n onexitdata.call(this, token)\n const node =\n /** @type {Link} */\n this.stack[this.stack.length - 1]\n node.url = this.sliceSerialize(token)\n }\n /** @type {Handle} */\n\n function onexitautolinkemail(token) {\n onexitdata.call(this, token)\n const node =\n /** @type {Link} */\n this.stack[this.stack.length - 1]\n node.url = 'mailto:' + this.sliceSerialize(token)\n } //\n // Creaters.\n //\n\n /** @returns {Blockquote} */\n\n function blockQuote() {\n return {\n type: 'blockquote',\n children: []\n }\n }\n /** @returns {Code} */\n\n function codeFlow() {\n return {\n type: 'code',\n lang: null,\n meta: null,\n value: ''\n }\n }\n /** @returns {InlineCode} */\n\n function codeText() {\n return {\n type: 'inlineCode',\n value: ''\n }\n }\n /** @returns {Definition} */\n\n function definition() {\n return {\n type: 'definition',\n identifier: '',\n label: null,\n title: null,\n url: ''\n }\n }\n /** @returns {Emphasis} */\n\n function emphasis() {\n return {\n type: 'emphasis',\n children: []\n }\n }\n /** @returns {Heading} */\n\n function heading() {\n // @ts-expect-error `depth` will be set later.\n return {\n type: 'heading',\n depth: undefined,\n children: []\n }\n }\n /** @returns {Break} */\n\n function hardBreak() {\n return {\n type: 'break'\n }\n }\n /** @returns {HTML} */\n\n function html() {\n return {\n type: 'html',\n value: ''\n }\n }\n /** @returns {Image} */\n\n function image() {\n return {\n type: 'image',\n title: null,\n url: '',\n alt: null\n }\n }\n /** @returns {Link} */\n\n function link() {\n return {\n type: 'link',\n title: null,\n url: '',\n children: []\n }\n }\n /**\n * @param {Token} token\n * @returns {List}\n */\n\n function list(token) {\n return {\n type: 'list',\n ordered: token.type === 'listOrdered',\n start: null,\n // @ts-expect-error Patched.\n spread: token._spread,\n children: []\n }\n }\n /**\n * @param {Token} token\n * @returns {ListItem}\n */\n\n function listItem(token) {\n return {\n type: 'listItem',\n // @ts-expect-error Patched.\n spread: token._spread,\n checked: null,\n children: []\n }\n }\n /** @returns {Paragraph} */\n\n function paragraph() {\n return {\n type: 'paragraph',\n children: []\n }\n }\n /** @returns {Strong} */\n\n function strong() {\n return {\n type: 'strong',\n children: []\n }\n }\n /** @returns {Text} */\n\n function text() {\n return {\n type: 'text',\n value: ''\n }\n }\n /** @returns {ThematicBreak} */\n\n function thematicBreak() {\n return {\n type: 'thematicBreak'\n }\n }\n}\n/**\n * @param {Extension} combined\n * @param {Array<Extension|Array<Extension>>} extensions\n * @returns {Extension}\n */\n\nfunction configure(combined, extensions) {\n let index = -1\n\n while (++index < extensions.length) {\n const value = extensions[index]\n\n if (Array.isArray(value)) {\n configure(combined, value)\n } else {\n extension(combined, value)\n }\n }\n\n return combined\n}\n/**\n * @param {Extension} combined\n * @param {Extension} extension\n * @returns {void}\n */\n\nfunction extension(combined, extension) {\n /** @type {string} */\n let key\n\n for (key in extension) {\n if (own.call(extension, key)) {\n const list = key === 'canContainEols' || key === 'transforms'\n const maybe = own.call(combined, key) ? combined[key] : undefined\n /* c8 ignore next */\n\n const left = maybe || (combined[key] = list ? [] : {})\n const right = extension[key]\n\n if (right) {\n if (list) {\n // @ts-expect-error: `left` is an array.\n combined[key] = [...left, ...right]\n } else {\n Object.assign(left, right)\n }\n }\n }\n }\n}\n/** @type {OnEnterError} */\n\nfunction defaultOnError(left, right) {\n if (left) {\n throw new Error(\n 'Cannot close `' +\n left.type +\n '` (' +\n stringifyPosition({\n start: left.start,\n end: left.end\n }) +\n '): a different token (`' +\n right.type +\n '`, ' +\n stringifyPosition({\n start: right.start,\n end: right.end\n }) +\n ') is open'\n )\n } else {\n throw new Error(\n 'Cannot close document, a token (`' +\n right.type +\n '`, ' +\n stringifyPosition({\n start: right.start,\n end: right.end\n }) +\n ') is still open'\n )\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Event} Event\n */\nimport {subtokenize} from 'micromark-util-subtokenize'\n/**\n * @param {Array<Event>} events\n * @returns {Array<Event>}\n */\n\nexport function postprocess(events) {\n while (!subtokenize(events)) {\n // Empty\n }\n\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').FullNormalizedExtension} FullNormalizedExtension\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n * @typedef {import('micromark-util-types').Create} Create\n */\nimport {combineExtensions} from 'micromark-util-combine-extensions'\nimport {content} from './initialize/content.js'\nimport {document} from './initialize/document.js'\nimport {flow} from './initialize/flow.js'\nimport {text, string} from './initialize/text.js'\nimport {createTokenizer} from './create-tokenizer.js'\nimport * as defaultConstructs from './constructs.js'\n/**\n * @param {ParseOptions} [options]\n * @returns {ParseContext}\n */\n\nexport function parse(options = {}) {\n /** @type {FullNormalizedExtension} */\n // @ts-expect-error `defaultConstructs` is full, so the result will be too.\n const constructs = combineExtensions(\n // @ts-expect-error Same as above.\n [defaultConstructs].concat(options.extensions || [])\n )\n /** @type {ParseContext} */\n\n const parser = {\n defined: [],\n lazy: {},\n constructs,\n content: create(content),\n document: create(document),\n flow: create(flow),\n string: create(string),\n text: create(text)\n }\n return parser\n /**\n * @param {InitialConstruct} initial\n */\n\n function create(initial) {\n return creator\n /** @type {Create} */\n\n function creator(from) {\n return createTokenizer(parser, initial, from)\n }\n }\n}\n","import remarkParse from './lib/index.js'\n\nexport default remarkParse\n","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast-util-from-markdown').Options} Options\n */\n\nimport {fromMarkdown} from 'mdast-util-from-markdown'\n\n/** @type {import('unified').Plugin<[Options?] | void[], string, Root>} */\nexport default function remarkParse(options) {\n /** @type {import('unified').ParserFunction<Root>} */\n const parser = (doc) => {\n // Assume options.\n const settings = /** @type {Options} */ (this.data('settings'))\n\n return fromMarkdown(\n doc,\n Object.assign({}, settings, options, {\n // Note: these options are not in the readme.\n // The goal is for them to be set by plugins on `data` instead of being\n // passed by users.\n extensions: this.data('micromarkExtensions') || [],\n mdastExtensions: this.data('fromMarkdownExtensions') || []\n })\n )\n }\n\n Object.assign(this, {Parser: parser})\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist').Literal} Literal\n * @typedef {Object.<string, unknown>} Props\n * @typedef {Array.<Node>|string} ChildrenOrValue\n *\n * @typedef {(<T extends string, P extends Record<string, unknown>, C extends Node[]>(type: T, props: P, children: C) => {type: T, children: C} & P)} BuildParentWithProps\n * @typedef {(<T extends string, P extends Record<string, unknown>>(type: T, props: P, value: string) => {type: T, value: string} & P)} BuildLiteralWithProps\n * @typedef {(<T extends string, P extends Record<string, unknown>>(type: T, props: P) => {type: T} & P)} BuildVoidWithProps\n * @typedef {(<T extends string, C extends Node[]>(type: T, children: C) => {type: T, children: C})} BuildParent\n * @typedef {(<T extends string>(type: T, value: string) => {type: T, value: string})} BuildLiteral\n * @typedef {(<T extends string>(type: T) => {type: T})} BuildVoid\n */\n\nexport var u = /**\n * @type {BuildVoid & BuildVoidWithProps & BuildLiteral & BuildLiteralWithProps & BuildParent & BuildParentWithProps}\n */ (\n /**\n * @param {string} type Type of node\n * @param {Props|ChildrenOrValue} [props] Additional properties for node (or `children` or `value`)\n * @param {ChildrenOrValue} [value] `children` or `value` of node\n * @returns {Node}\n */\n function (type, props, value) {\n /** @type {Node} */\n var node = {type: String(type)}\n\n if (\n (value === undefined || value === null) &&\n (typeof props === 'string' || Array.isArray(props))\n ) {\n value = props\n } else {\n Object.assign(node, props)\n }\n\n if (Array.isArray(value)) {\n node.children = value\n } else if (value !== undefined && value !== null) {\n node.value = String(value)\n }\n\n return node\n }\n)\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n *\n * @typedef {string} Type\n * @typedef {Object<string, unknown>} Props\n *\n * @typedef {null|undefined|Type|Props|TestFunctionAnything|Array.<Type|Props|TestFunctionAnything>} Test\n */\n\n/**\n * Check if a node passes a test\n *\n * @callback TestFunctionAnything\n * @param {Node} node\n * @param {number|null|undefined} [index]\n * @param {Parent|null|undefined} [parent]\n * @returns {boolean|void}\n */\n\n/**\n * Check if a node passes a certain node test\n *\n * @template {Node} X\n * @callback TestFunctionPredicate\n * @param {Node} node\n * @param {number|null|undefined} [index]\n * @param {Parent|null|undefined} [parent]\n * @returns {node is X}\n */\n\n/**\n * @callback AssertAnything\n * @param {unknown} [node]\n * @param {number|null|undefined} [index]\n * @param {Parent|null|undefined} [parent]\n * @returns {boolean}\n */\n\n/**\n * Check if a node passes a certain node test\n *\n * @template {Node} Y\n * @callback AssertPredicate\n * @param {unknown} [node]\n * @param {number|null|undefined} [index]\n * @param {Parent|null|undefined} [parent]\n * @returns {node is Y}\n */\n\nexport const is =\n /**\n * Check if a node passes a test.\n * When a `parent` node is known the `index` of node should also be given.\n *\n * @type {(\n * (<T extends Node>(node: unknown, test: T['type']|Partial<T>|TestFunctionPredicate<T>|Array.<T['type']|Partial<T>|TestFunctionPredicate<T>>, index?: number|null|undefined, parent?: Parent|null|undefined, context?: unknown) => node is T) &\n * ((node?: unknown, test?: Test, index?: number|null|undefined, parent?: Parent|null|undefined, context?: unknown) => boolean)\n * )}\n */\n (\n /**\n * Check if a node passes a test.\n * When a `parent` node is known the `index` of node should also be given.\n *\n * @param {unknown} [node] Node to check\n * @param {Test} [test]\n * When nullish, checks if `node` is a `Node`.\n * When `string`, works like passing `function (node) {return node.type === test}`.\n * When `function` checks if function passed the node is true.\n * When `object`, checks that all keys in test are in node, and that they have (strictly) equal values.\n * When `array`, checks any one of the subtests pass.\n * @param {number|null|undefined} [index] Position of `node` in `parent`\n * @param {Parent|null|undefined} [parent] Parent of `node`\n * @param {unknown} [context] Context object to invoke `test` with\n * @returns {boolean} Whether test passed and `node` is a `Node` (object with `type` set to non-empty `string`).\n */\n // eslint-disable-next-line max-params\n function is(node, test, index, parent, context) {\n const check = convert(test)\n\n if (\n index !== undefined &&\n index !== null &&\n (typeof index !== 'number' ||\n index < 0 ||\n index === Number.POSITIVE_INFINITY)\n ) {\n throw new Error('Expected positive finite index')\n }\n\n if (\n parent !== undefined &&\n parent !== null &&\n (!is(parent) || !parent.children)\n ) {\n throw new Error('Expected parent node')\n }\n\n if (\n (parent === undefined || parent === null) !==\n (index === undefined || index === null)\n ) {\n throw new Error('Expected both parent and index')\n }\n\n // @ts-expect-error Looks like a node.\n return node && node.type && typeof node.type === 'string'\n ? Boolean(check.call(context, node, index, parent))\n : false\n }\n )\n\nexport const convert =\n /**\n * @type {(\n * (<T extends Node>(test: T['type']|Partial<T>|TestFunctionPredicate<T>) => AssertPredicate<T>) &\n * ((test?: Test) => AssertAnything)\n * )}\n */\n (\n /**\n * Generate an assertion from a check.\n * @param {Test} [test]\n * When nullish, checks if `node` is a `Node`.\n * When `string`, works like passing `function (node) {return node.type === test}`.\n * When `function` checks if function passed the node is true.\n * When `object`, checks that all keys in test are in node, and that they have (strictly) equal values.\n * When `array`, checks any one of the subtests pass.\n * @returns {AssertAnything}\n */\n function (test) {\n if (test === undefined || test === null) {\n return ok\n }\n\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n if (typeof test === 'object') {\n return Array.isArray(test) ? anyFactory(test) : propsFactory(test)\n }\n\n if (typeof test === 'function') {\n return castFactory(test)\n }\n\n throw new Error('Expected function, string, or object as test')\n }\n )\n/**\n * @param {Array.<Type|Props|TestFunctionAnything>} tests\n * @returns {AssertAnything}\n */\nfunction anyFactory(tests) {\n /** @type {Array.<AssertAnything>} */\n const checks = []\n let index = -1\n\n while (++index < tests.length) {\n checks[index] = convert(tests[index])\n }\n\n return castFactory(any)\n\n /**\n * @this {unknown}\n * @param {unknown[]} parameters\n * @returns {boolean}\n */\n function any(...parameters) {\n let index = -1\n\n while (++index < checks.length) {\n if (checks[index].call(this, ...parameters)) return true\n }\n\n return false\n }\n}\n\n/**\n * Utility to assert each property in `test` is represented in `node`, and each\n * values are strictly equal.\n *\n * @param {Props} check\n * @returns {AssertAnything}\n */\nfunction propsFactory(check) {\n return castFactory(all)\n\n /**\n * @param {Node} node\n * @returns {boolean}\n */\n function all(node) {\n /** @type {string} */\n let key\n\n for (key in check) {\n // @ts-expect-error: hush, it sure works as an index.\n if (node[key] !== check[key]) return false\n }\n\n return true\n }\n}\n\n/**\n * Utility to convert a string into a function which checks a given node’s type\n * for said string.\n *\n * @param {Type} check\n * @returns {AssertAnything}\n */\nfunction typeFactory(check) {\n return castFactory(type)\n\n /**\n * @param {Node} node\n */\n function type(node) {\n return node && node.type === check\n }\n}\n\n/**\n * Utility to convert a string into a function which checks a given node’s type\n * for said string.\n * @param {TestFunctionAnything} check\n * @returns {AssertAnything}\n */\nfunction castFactory(check) {\n return assertion\n\n /**\n * @this {unknown}\n * @param {Array.<unknown>} parameters\n * @returns {boolean}\n */\n function assertion(...parameters) {\n // @ts-expect-error: spreading is fine.\n return Boolean(check.call(this, ...parameters))\n }\n}\n\n// Utility to return true.\nfunction ok() {\n return true\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist-util-is').Test} Test\n * @typedef {import('./complex-types.js').Action} Action\n * @typedef {import('./complex-types.js').Index} Index\n * @typedef {import('./complex-types.js').ActionTuple} ActionTuple\n * @typedef {import('./complex-types.js').VisitorResult} VisitorResult\n * @typedef {import('./complex-types.js').Visitor} Visitor\n */\n\nimport {convert} from 'unist-util-is'\nimport {color} from './color.js'\n\n/**\n * Continue traversing as normal\n */\nexport const CONTINUE = true\n/**\n * Do not traverse this node’s children\n */\nexport const SKIP = 'skip'\n/**\n * Stop traversing immediately\n */\nexport const EXIT = false\n\n/**\n * Visit children of tree which pass test.\n *\n * @param tree\n * Tree to walk\n * @param [test]\n * `unist-util-is`-compatible test\n * @param visitor\n * Function called for nodes that pass `test`.\n * @param [reverse=false]\n * Traverse in reverse preorder (NRL) instead of preorder (NLR) (default).\n */\nexport const visitParents =\n /**\n * @type {(\n * (<Tree extends Node, Check extends Test>(tree: Tree, test: Check, visitor: import('./complex-types.js').BuildVisitor<Tree, Check>, reverse?: boolean) => void) &\n * (<Tree extends Node>(tree: Tree, visitor: import('./complex-types.js').BuildVisitor<Tree>, reverse?: boolean) => void)\n * )}\n */\n (\n /**\n * @param {Node} tree\n * @param {Test} test\n * @param {import('./complex-types.js').Visitor<Node>} visitor\n * @param {boolean} [reverse=false]\n */\n function (tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n // @ts-expect-error no visitor given, so `visitor` is test.\n visitor = test\n test = null\n }\n\n const is = convert(test)\n const step = reverse ? -1 : 1\n\n factory(tree, null, [])()\n\n /**\n * @param {Node} node\n * @param {number?} index\n * @param {Array<Parent>} parents\n */\n function factory(node, index, parents) {\n /** @type {Record<string, unknown>} */\n // @ts-expect-error: hush\n const value = typeof node === 'object' && node !== null ? node : {}\n /** @type {string|undefined} */\n let name\n\n if (typeof value.type === 'string') {\n name =\n typeof value.tagName === 'string'\n ? value.tagName\n : typeof value.name === 'string'\n ? value.name\n : undefined\n\n Object.defineProperty(visit, 'name', {\n value:\n 'node (' +\n color(value.type + (name ? '<' + name + '>' : '')) +\n ')'\n })\n }\n\n return visit\n\n function visit() {\n /** @type {ActionTuple} */\n let result = []\n /** @type {ActionTuple} */\n let subresult\n /** @type {number} */\n let offset\n /** @type {Array<Parent>} */\n let grandparents\n\n if (!test || is(node, index, parents[parents.length - 1] || null)) {\n result = toResult(visitor(node, parents))\n\n if (result[0] === EXIT) {\n return result\n }\n }\n\n // @ts-expect-error looks like a parent.\n if (node.children && result[0] !== SKIP) {\n // @ts-expect-error looks like a parent.\n offset = (reverse ? node.children.length : -1) + step\n // @ts-expect-error looks like a parent.\n grandparents = parents.concat(node)\n\n // @ts-expect-error looks like a parent.\n while (offset > -1 && offset < node.children.length) {\n // @ts-expect-error looks like a parent.\n subresult = factory(node.children[offset], offset, grandparents)()\n\n if (subresult[0] === EXIT) {\n return subresult\n }\n\n offset =\n typeof subresult[1] === 'number' ? subresult[1] : offset + step\n }\n }\n\n return result\n }\n }\n }\n )\n\n/**\n * @param {VisitorResult} value\n * @returns {ActionTuple}\n */\nfunction toResult(value) {\n if (Array.isArray(value)) {\n return value\n }\n\n if (typeof value === 'number') {\n return [CONTINUE, value]\n }\n\n return [value]\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Parent} Parent\n * @typedef {import('unist-util-is').Test} Test\n * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult\n * @typedef {import('./complex-types.js').Visitor} Visitor\n */\n\nimport {visitParents} from 'unist-util-visit-parents'\n\n/**\n * Visit children of tree which pass test.\n *\n * @param tree\n * Tree to walk\n * @param [test]\n * `unist-util-is`-compatible test\n * @param visitor\n * Function called for nodes that pass `test`.\n * @param reverse\n * Traverse in reverse preorder (NRL) instead of preorder (NLR) (default).\n */\nexport const visit =\n /**\n * @type {(\n * (<Tree extends Node, Check extends Test>(tree: Tree, test: Check, visitor: import('./complex-types.js').BuildVisitor<Tree, Check>, reverse?: boolean) => void) &\n * (<Tree extends Node>(tree: Tree, visitor: import('./complex-types.js').BuildVisitor<Tree>, reverse?: boolean) => void)\n * )}\n */\n (\n /**\n * @param {Node} tree\n * @param {Test} test\n * @param {import('./complex-types.js').Visitor} visitor\n * @param {boolean} [reverse]\n */\n function (tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n visitParents(tree, test, overload, reverse)\n\n /**\n * @param {Node} node\n * @param {Array<Parent>} parents\n */\n function overload(node, parents) {\n const parent = parents[parents.length - 1]\n return visitor(\n node,\n parent ? parent.children.indexOf(node) : null,\n parent\n )\n }\n }\n )\n\nexport {CONTINUE, EXIT, SKIP} from 'unist-util-visit-parents'\n","/**\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Node} Node\n * @typedef {Record<string, unknown> & {type: string, position?: PositionLike|undefined}} NodeLike\n * @typedef {import('unist').Point} Point\n *\n * @typedef {Partial<Point>} PointLike\n *\n * @typedef PositionLike\n * @property {PointLike} [start]\n * @property {PointLike} [end]\n */\n\nexport const pointStart = point('start')\nexport const pointEnd = point('end')\n\n/**\n * Get the positional info of `node`.\n *\n * @param {NodeLike|Node} [node]\n * @returns {Position}\n */\nexport function position(node) {\n return {start: pointStart(node), end: pointEnd(node)}\n}\n\n/**\n * Get the positional info of `node`.\n *\n * @param {'start'|'end'} type\n */\nfunction point(type) {\n return point\n\n /**\n * Get the positional info of `node`.\n *\n * @param {NodeLike|Node} [node]\n * @returns {Point}\n */\n function point(node) {\n const point = (node && node.position && node.position[type]) || {}\n\n return {\n line: point.line || null,\n column: point.column || null,\n offset: point.offset > -1 ? point.offset : null\n }\n }\n}\n","/**\n * @typedef {import('mdast').Root|import('mdast').Content} Node\n * @typedef {import('mdast').Definition} Definition\n */\n\nimport {visit} from 'unist-util-visit'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Find definitions in `node`.\n * Uses CommonMark precedence, which means that earlier definitions are\n * preferred over duplicate later definitions.\n *\n * @param {Node} node\n */\nexport function definitions(node) {\n /** @type {Record<string, Definition>} */\n const cache = Object.create(null)\n\n if (!node || !node.type) {\n throw new Error('mdast-util-definitions expected node')\n }\n\n visit(node, 'definition', (definition) => {\n const id = clean(definition.identifier)\n if (id && !own.call(cache, id)) {\n cache[id] = definition\n }\n })\n\n return definition\n\n /**\n * Get a node from the bound definition cache.\n *\n * @param {string} identifier\n * @returns {Definition|null}\n */\n function definition(identifier) {\n const id = clean(identifier)\n return id && own.call(cache, id) ? cache[id] : null\n }\n}\n\n/**\n * @param {string} [value]\n * @returns {string}\n */\nfunction clean(value) {\n return String(value || '').toUpperCase()\n}\n","/**\n * @typedef {import('mdast').Root|import('mdast').Parent['children'][number]} MdastNode\n * @typedef {import('./index.js').H} H\n * @typedef {import('./index.js').Handler} Handler\n * @typedef {import('./index.js').Content} Content\n */\n\nimport {u} from 'unist-builder'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Transform an unknown node.\n * @type {Handler}\n * @param {MdastNode} node\n */\nfunction unknown(h, node) {\n const data = node.data || {}\n\n if (\n 'value' in node &&\n !(\n own.call(data, 'hName') ||\n own.call(data, 'hProperties') ||\n own.call(data, 'hChildren')\n )\n ) {\n return h.augment(node, u('text', node.value))\n }\n\n return h(node, 'div', all(h, node))\n}\n\n/**\n * @type {Handler}\n * @param {MdastNode} node\n */\nexport function one(h, node, parent) {\n const type = node && node.type\n /** @type {Handler} */\n let fn\n\n // Fail on non-nodes.\n if (!type) {\n throw new Error('Expected node, got `' + node + '`')\n }\n\n if (own.call(h.handlers, type)) {\n fn = h.handlers[type]\n } else if (h.passThrough && h.passThrough.includes(type)) {\n fn = returnNode\n } else {\n fn = h.unknownHandler\n }\n\n return (typeof fn === 'function' ? fn : unknown)(h, node, parent)\n}\n\n/**\n * @type {Handler}\n * @param {MdastNode} node\n */\nfunction returnNode(h, node) {\n // @ts-expect-error: Pass through custom node.\n return 'children' in node ? {...node, children: all(h, node)} : node\n}\n\n/**\n * @param {H} h\n * @param {MdastNode} parent\n */\nexport function all(h, parent) {\n /** @type {Array.<Content>} */\n const values = []\n\n if ('children' in parent) {\n const nodes = parent.children\n let index = -1\n\n while (++index < nodes.length) {\n const result = one(h, nodes[index], parent)\n\n if (result) {\n if (index && nodes[index - 1].type === 'break') {\n if (!Array.isArray(result) && result.type === 'text') {\n result.value = result.value.replace(/^\\s+/, '')\n }\n\n if (!Array.isArray(result) && result.type === 'element') {\n const head = result.children[0]\n\n if (head && head.type === 'text') {\n head.value = head.value.replace(/^\\s+/, '')\n }\n }\n }\n\n if (Array.isArray(result)) {\n values.push(...result)\n } else {\n values.push(result)\n }\n }\n }\n }\n\n return values\n}\n","/**\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n * @typedef {import('hast').Element} Element\n * @typedef {import('../index.js').Handler} Handler\n */\n\n/**\n * @type {Handler}\n * @param {ThematicBreak} [node]\n * @returns {Element}\n */\nexport function thematicBreak(h, node) {\n return h(node, 'hr')\n}\n","/**\n * @typedef {import('./index.js').Content} Content\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * Wrap `nodes` with line feeds between each entry.\n * Optionally adds line feeds at the start and end.\n *\n * @param {Array.<Content>} nodes\n * @param {boolean} [loose=false]\n * @returns {Array.<Content>}\n */\nexport function wrap(nodes, loose) {\n /** @type {Array.<Content>} */\n const result = []\n let index = -1\n\n if (loose) {\n result.push(u('text', '\\n'))\n }\n\n while (++index < nodes.length) {\n if (index) result.push(u('text', '\\n'))\n result.push(nodes[index])\n }\n\n if (loose && nodes.length > 0) {\n result.push(u('text', '\\n'))\n }\n\n return result\n}\n","/**\n * @typedef {import('mdast').List} List\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {wrap} from '../wrap.js'\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {List} node\n * @returns {Element}\n */\nexport function list(h, node) {\n /** @type {Properties} */\n const props = {}\n const name = node.ordered ? 'ol' : 'ul'\n const items = all(h, node)\n let index = -1\n\n if (typeof node.start === 'number' && node.start !== 1) {\n props.start = node.start\n }\n\n // Like GitHub, add a class for custom styling.\n while (++index < items.length) {\n const item = items[index]\n\n if (\n item.type === 'element' &&\n item.tagName === 'li' &&\n item.properties &&\n Array.isArray(item.properties.className) &&\n item.properties.className.includes('task-list-item')\n ) {\n props.className = ['contains-task-list']\n break\n }\n }\n\n return h(node, name, props, wrap(items, true))\n}\n","/**\n * @typedef {import('mdast').FootnoteReference} FootnoteReference\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * @type {Handler}\n * @param {FootnoteReference} node\n */\nexport function footnoteReference(h, node) {\n const footnoteOrder = h.footnoteOrder\n const identifier = String(node.identifier)\n const index = footnoteOrder.indexOf(identifier)\n const marker = String(\n index === -1 ? footnoteOrder.push(identifier) : index + 1\n )\n\n return h(\n node,\n 'a',\n {\n href: '#fn' + marker,\n className: ['footnote-ref'],\n id: 'fnref' + marker,\n role: 'doc-noteref'\n },\n [h(node.position, 'sup', [u('text', marker)])]\n )\n}\n","/**\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('./index.js').Handler} Handler\n * @typedef {import('./index.js').Content} Content\n */\n\nimport {u} from 'unist-builder'\nimport {all} from './traverse.js'\n\n/**\n * Return the content of a reference without definition as plain text.\n *\n * @type {Handler}\n * @param {ImageReference|LinkReference} node\n * @returns {Content|Array.<Content>}\n */\nexport function revert(h, node) {\n const subtype = node.referenceType\n let suffix = ']'\n\n if (subtype === 'collapsed') {\n suffix += '[]'\n } else if (subtype === 'full') {\n suffix += '[' + (node.label || node.identifier) + ']'\n }\n\n if (node.type === 'imageReference') {\n return u('text', '![' + node.alt + suffix)\n }\n\n const contents = all(h, node)\n const head = contents[0]\n\n if (head && head.type === 'text') {\n head.value = '[' + head.value\n } else {\n contents.unshift(u('text', '['))\n }\n\n const tail = contents[contents.length - 1]\n\n if (tail && tail.type === 'text') {\n tail.value += suffix\n } else {\n contents.push(u('text', suffix))\n }\n\n return contents\n}\n","/**\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').List} List\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast').Element} Element\n * @typedef {import('../index.js').Handler} Handler\n * @typedef {import('../index.js').Content} Content\n */\n\nimport {u} from 'unist-builder'\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {ListItem} node\n * @param {List} parent\n */\nexport function listItem(h, node, parent) {\n const result = all(h, node)\n const loose = parent ? listLoose(parent) : listItemLoose(node)\n /** @type {Properties} */\n const props = {}\n /** @type {Array.<Content>} */\n const wrapped = []\n\n if (typeof node.checked === 'boolean') {\n /** @type {Element} */\n let paragraph\n\n if (\n result[0] &&\n result[0].type === 'element' &&\n result[0].tagName === 'p'\n ) {\n paragraph = result[0]\n } else {\n paragraph = h(null, 'p', [])\n result.unshift(paragraph)\n }\n\n if (paragraph.children.length > 0) {\n paragraph.children.unshift(u('text', ' '))\n }\n\n paragraph.children.unshift(\n h(null, 'input', {\n type: 'checkbox',\n checked: node.checked,\n disabled: true\n })\n )\n\n // According to github-markdown-css, this class hides bullet.\n // See: <https://github.com/sindresorhus/github-markdown-css>.\n props.className = ['task-list-item']\n }\n\n let index = -1\n\n while (++index < result.length) {\n const child = result[index]\n\n // Add eols before nodes, except if this is a loose, first paragraph.\n if (\n loose ||\n index !== 0 ||\n child.type !== 'element' ||\n child.tagName !== 'p'\n ) {\n wrapped.push(u('text', '\\n'))\n }\n\n if (child.type === 'element' && child.tagName === 'p' && !loose) {\n wrapped.push(...child.children)\n } else {\n wrapped.push(child)\n }\n }\n\n const tail = result[result.length - 1]\n\n // Add a final eol.\n if (tail && (loose || !('tagName' in tail) || tail.tagName !== 'p')) {\n wrapped.push(u('text', '\\n'))\n }\n\n return h(node, 'li', props, wrapped)\n}\n\n/**\n * @param {List} node\n * @return {Boolean}\n */\nfunction listLoose(node) {\n let loose = node.spread\n const children = node.children\n let index = -1\n\n while (!loose && ++index < children.length) {\n loose = listItemLoose(children[index])\n }\n\n return Boolean(loose)\n}\n\n/**\n * @param {ListItem} node\n * @return {Boolean}\n */\nfunction listItemLoose(node) {\n const spread = node.spread\n\n return spread === undefined || spread === null\n ? node.children.length > 1\n : spread\n}\n","import {blockquote} from './blockquote.js'\nimport {hardBreak} from './break.js'\nimport {code} from './code.js'\nimport {strikethrough} from './delete.js'\nimport {emphasis} from './emphasis.js'\nimport {footnoteReference} from './footnote-reference.js'\nimport {footnote} from './footnote.js'\nimport {heading} from './heading.js'\nimport {html} from './html.js'\nimport {imageReference} from './image-reference.js'\nimport {image} from './image.js'\nimport {inlineCode} from './inline-code.js'\nimport {linkReference} from './link-reference.js'\nimport {link} from './link.js'\nimport {listItem} from './list-item.js'\nimport {list} from './list.js'\nimport {paragraph} from './paragraph.js'\nimport {root} from './root.js'\nimport {strong} from './strong.js'\nimport {table} from './table.js'\nimport {text} from './text.js'\nimport {thematicBreak} from './thematic-break.js'\n\nexport const handlers = {\n blockquote,\n break: hardBreak,\n code,\n delete: strikethrough,\n emphasis,\n footnoteReference,\n footnote,\n heading,\n html,\n imageReference,\n image,\n inlineCode,\n linkReference,\n link,\n listItem,\n list,\n paragraph,\n root,\n strong,\n table,\n text,\n thematicBreak,\n toml: ignore,\n yaml: ignore,\n definition: ignore,\n footnoteDefinition: ignore\n}\n\n// Return nothing for nodes that are ignored.\nfunction ignore() {\n return null\n}\n","/**\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {wrap} from '../wrap.js'\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Blockquote} node\n */\nexport function blockquote(h, node) {\n return h(node, 'blockquote', wrap(all(h, node), true))\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('mdast').Break} Break\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * @type {Handler}\n * @param {Break} node\n * @returns {Array<Element|Text>}\n */\nexport function hardBreak(h, node) {\n return [h(node, 'br'), u('text', '\\n')]\n}\n","/**\n * @typedef {import('mdast').Code} Code\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * @type {Handler}\n * @param {Code} node\n */\nexport function code(h, node) {\n const value = node.value ? node.value + '\\n' : ''\n // To do: next major, use `node.lang` w/o regex, the splitting’s been going\n // on for years in remark now.\n const lang = node.lang && node.lang.match(/^[^ \\t]+(?=[ \\t]|$)/)\n /** @type {Properties} */\n const props = {}\n\n if (lang) {\n props.className = ['language-' + lang]\n }\n\n const code = h(node, 'code', props, [u('text', value)])\n\n if (node.meta) {\n code.data = {meta: node.meta}\n }\n\n return h(node.position, 'pre', [code])\n}\n","/**\n * @typedef {import('mdast').Delete} Delete\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Delete} node\n */\nexport function strikethrough(h, node) {\n return h(node, 'del', all(h, node))\n}\n","/**\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Emphasis} node\n */\nexport function emphasis(h, node) {\n return h(node, 'em', all(h, node))\n}\n","/**\n * @typedef {import('mdast').Footnote} Footnote\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {footnoteReference} from './footnote-reference.js'\n\n/**\n * @type {Handler}\n * @param {Footnote} node\n */\nexport function footnote(h, node) {\n const footnoteById = h.footnoteById\n const footnoteOrder = h.footnoteOrder\n let no = 1\n\n while (no in footnoteById) no++\n\n const identifier = String(no)\n\n // No need to check if `identifier` exists in `footnoteOrder`, it’s guaranteed\n // to not exist because we just generated it.\n footnoteOrder.push(identifier)\n\n footnoteById[identifier] = {\n type: 'footnoteDefinition',\n identifier,\n children: [{type: 'paragraph', children: node.children}],\n position: node.position\n }\n\n return footnoteReference(h, {\n type: 'footnoteReference',\n identifier,\n position: node.position\n })\n}\n","/**\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Heading} node\n */\nexport function heading(h, node) {\n return h(node, 'h' + node.depth, all(h, node))\n}\n","/**\n * @typedef {import('mdast').HTML} HTML\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * Return either a `raw` node in dangerous mode, otherwise nothing.\n *\n * @type {Handler}\n * @param {HTML} node\n */\nexport function html(h, node) {\n return h.dangerous ? h.augment(node, u('raw', node.value)) : null\n}\n","/**\n * @typedef {import('mdast').ImageReference} ImageReference\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport normalize from 'mdurl/encode.js'\nimport {revert} from '../revert.js'\n\n/**\n * @type {Handler}\n * @param {ImageReference} node\n */\nexport function imageReference(h, node) {\n const def = h.definition(node.identifier)\n\n if (!def) {\n return revert(h, node)\n }\n\n /** @type {Properties} */\n const props = {src: normalize(def.url || ''), alt: node.alt}\n\n if (def.title !== null && def.title !== undefined) {\n props.title = def.title\n }\n\n return h(node, 'img', props)\n}\n","/**\n * @typedef {import('mdast').Image} Image\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport normalize from 'mdurl/encode.js'\n\n/**\n * @type {Handler}\n * @param {Image} node\n */\nexport function image(h, node) {\n /** @type {Properties} */\n const props = {src: normalize(node.url), alt: node.alt}\n\n if (node.title !== null && node.title !== undefined) {\n props.title = node.title\n }\n\n return h(node, 'img', props)\n}\n","/**\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * @type {Handler}\n * @param {InlineCode} node\n */\nexport function inlineCode(h, node) {\n return h(node, 'code', [u('text', node.value.replace(/\\r?\\n|\\r/g, ' '))])\n}\n","/**\n * @typedef {import('mdast').LinkReference} LinkReference\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport normalize from 'mdurl/encode.js'\nimport {revert} from '../revert.js'\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {LinkReference} node\n */\nexport function linkReference(h, node) {\n const def = h.definition(node.identifier)\n\n if (!def) {\n return revert(h, node)\n }\n\n /** @type {Properties} */\n const props = {href: normalize(def.url || '')}\n\n if (def.title !== null && def.title !== undefined) {\n props.title = def.title\n }\n\n return h(node, 'a', props, all(h, node))\n}\n","/**\n * @typedef {import('mdast').Link} Link\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport normalize from 'mdurl/encode.js'\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Link} node\n */\nexport function link(h, node) {\n /** @type {Properties} */\n const props = {href: normalize(node.url)}\n\n if (node.title !== null && node.title !== undefined) {\n props.title = node.title\n }\n\n return h(node, 'a', props, all(h, node))\n}\n","/**\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Paragraph} node\n */\nexport function paragraph(h, node) {\n return h(node, 'p', all(h, node))\n}\n","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\nimport {all} from '../traverse.js'\nimport {wrap} from '../wrap.js'\n\n/**\n * @type {Handler}\n * @param {Root} node\n */\nexport function root(h, node) {\n // @ts-expect-error `root`s are also fine.\n return h.augment(node, u('root', wrap(all(h, node))))\n}\n","/**\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Strong} node\n */\nexport function strong(h, node) {\n return h(node, 'strong', all(h, node))\n}\n","/**\n * @typedef {import('mdast').Table} Table\n * @typedef {import('mdast').TableCell} TableCell\n * @typedef {import('hast').Element} Element\n * @typedef {import('../index.js').Handler} Handler\n * @typedef {import('../index.js').Content} Content\n */\n\nimport {pointStart, pointEnd} from 'unist-util-position'\nimport {wrap} from '../wrap.js'\nimport {all} from '../traverse.js'\n\n/**\n * @type {Handler}\n * @param {Table} node\n */\nexport function table(h, node) {\n const rows = node.children\n let index = -1\n const align = node.align || []\n /** @type {Array.<Element>} */\n const result = []\n\n while (++index < rows.length) {\n const row = rows[index].children\n const name = index === 0 ? 'th' : 'td'\n let pos = node.align ? align.length : row.length\n /** @type {Array.<Content>} */\n const out = []\n\n while (pos--) {\n const cell = row[pos]\n out[pos] = h(cell, name, {align: align[pos]}, cell ? all(h, cell) : [])\n }\n\n result[index] = h(rows[index], 'tr', wrap(out, true))\n }\n\n return h(\n node,\n 'table',\n wrap(\n [h(result[0].position, 'thead', wrap([result[0]], true))].concat(\n result[1]\n ? h(\n {\n start: pointStart(result[1]),\n end: pointEnd(result[result.length - 1])\n },\n 'tbody',\n wrap(result.slice(1), true)\n )\n : []\n ),\n true\n )\n )\n}\n","/**\n * @typedef {import('mdast').Text} Text\n * @typedef {import('../index.js').Handler} Handler\n */\n\nimport {u} from 'unist-builder'\n\n/**\n * @type {Handler}\n * @param {Text} node\n */\nexport function text(h, node) {\n return h.augment(\n node,\n u('text', String(node.value).replace(/[ \\t]*(\\r?\\n|\\r)[ \\t]*/g, '$1'))\n )\n}\n","/**\n * @typedef {import('mdast').Root|import('mdast').Parent['children'][number]} MdastNode\n * @typedef {import('hast').Root|import('hast').Parent['children'][number]} HastNode\n * @typedef {import('mdast').Parent} Parent\n * @typedef {import('mdast').Definition} Definition\n * @typedef {import('mdast').FootnoteDefinition} FootnoteDefinition\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast').Comment} Comment\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').ElementContent} Content\n * @typedef {import('unist-util-position').PositionLike} PositionLike\n *\n * @typedef EmbeddedHastFields\n * @property {string} [hName] Defines the tag name of an element\n * @property {Properties} [hProperties] Defines the properties of an element\n * @property {Array.<Content>} [hChildren] Defines the (hast) children of an element\n *\n * @typedef {Object.<string, unknown> & EmbeddedHastFields} Data unist data with embedded hast fields\n *\n * @typedef {MdastNode & {data?: Data}} NodeWithData unist node with embedded hast data\n *\n * @callback Handler\n * @param {H} h Handle context\n * @param {any} node mdast node to handle\n * @param {Parent|null} parent Parent of `node`\n * @returns {Content|Array.<Content>|null|undefined} hast node\n *\n * @callback HFunctionProps\n * @param {MdastNode|PositionLike|null|undefined} node mdast node or unist position\n * @param {string} tagName HTML tag name\n * @param {Properties} props Properties\n * @param {Array.<Content>?} [children] hast content\n * @returns {Element}\n *\n * @callback HFunctionNoProps\n * @param {MdastNode|PositionLike|null|undefined} node mdast node or unist position\n * @param {string} tagName HTML tag name\n * @param {Array.<Content>?} [children] hast content\n * @returns {Element}\n *\n * @typedef HFields\n * @property {boolean} dangerous Whether HTML is allowed\n * @property {(identifier: string) => Definition|null} definition Definition cache\n * @property {Object.<string, FootnoteDefinition>} footnoteById Footnote cache\n * @property {Array.<string>} footnoteOrder Order in which footnotes occur\n * @property {Handlers} handlers Applied handlers\n * @property {Handler} unknownHandler Handler for any none not in `passThrough` or otherwise handled\n * @property {(left: NodeWithData|PositionLike|null|undefined, right: Content) => Content} augment Like `h` but lower-level and usable on non-elements.\n * @property {Array.<string>} passThrough List of node types to pass through untouched (except for their children).\n *\n * @typedef Options\n * @property {boolean} [allowDangerousHtml=false] Whether to allow `html` nodes and inject them as `raw` HTML\n * @property {Handlers} [handlers] Object mapping mdast nodes to functions handling them\n * @property {Array.<string>} [passThrough] List of custom mdast node types to pass through (keep) in hast\n * @property {Handler} [unknownHandler] Handler for all unknown nodes.\n *\n * @typedef {Record.<string, Handler>} Handlers Map of node types to handlers\n * @typedef {HFunctionProps & HFunctionNoProps & HFields} H Handle context\n */\n\nimport {u} from 'unist-builder'\nimport {visit} from 'unist-util-visit'\nimport {pointStart, pointEnd} from 'unist-util-position'\nimport {generated} from 'unist-util-generated'\nimport {definitions} from 'mdast-util-definitions'\nimport {one} from './traverse.js'\nimport {footer} from './footer.js'\nimport {handlers} from './handlers/index.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * Factory to transform.\n * @param {MdastNode} tree mdast node\n * @param {Options} [options] Configuration\n * @returns {H} `h` function\n */\nfunction factory(tree, options) {\n const settings = options || {}\n const dangerous = settings.allowDangerousHtml || false\n /** @type {Object.<string, FootnoteDefinition>} */\n const footnoteById = {}\n\n h.dangerous = dangerous\n h.definition = definitions(tree)\n h.footnoteById = footnoteById\n /** @type {Array.<string>} */\n h.footnoteOrder = []\n h.augment = augment\n h.handlers = {...handlers, ...settings.handlers}\n h.unknownHandler = settings.unknownHandler\n h.passThrough = settings.passThrough\n\n visit(tree, 'footnoteDefinition', (definition) => {\n const id = String(definition.identifier).toUpperCase()\n\n // Mimick CM behavior of link definitions.\n // See: <https://github.com/syntax-tree/mdast-util-definitions/blob/8290999/index.js#L26>.\n if (!own.call(footnoteById, id)) {\n footnoteById[id] = definition\n }\n })\n\n // @ts-expect-error Hush, it’s fine!\n return h\n\n /**\n * Finalise the created `right`, a hast node, from `left`, an mdast node.\n * @param {(NodeWithData|PositionLike)?} left\n * @param {Content} right\n * @returns {Content}\n */\n function augment(left, right) {\n // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n if (left && 'data' in left && left.data) {\n /** @type {Data} */\n const data = left.data\n\n if (data.hName) {\n if (right.type !== 'element') {\n right = {\n type: 'element',\n tagName: '',\n properties: {},\n children: []\n }\n }\n\n right.tagName = data.hName\n }\n\n if (right.type === 'element' && data.hProperties) {\n right.properties = {...right.properties, ...data.hProperties}\n }\n\n if ('children' in right && right.children && data.hChildren) {\n right.children = data.hChildren\n }\n }\n\n if (left) {\n const ctx = 'type' in left ? left : {position: left}\n\n if (!generated(ctx)) {\n right.position = {start: pointStart(ctx), end: pointEnd(ctx)}\n }\n }\n\n return right\n }\n\n /**\n * Create an element for `node`.\n *\n * @type {HFunctionProps}\n */\n function h(node, tagName, props, children) {\n if (Array.isArray(props)) {\n children = props\n props = {}\n }\n\n // @ts-expect-error augmenting an element yields an element.\n return augment(node, {\n type: 'element',\n tagName,\n properties: props || {},\n children: children || []\n })\n }\n}\n\n/**\n * Transform `tree` (an mdast node) to a hast node.\n *\n * @param {MdastNode} tree mdast node\n * @param {Options} [options] Configuration\n * @returns {HastNode|null|undefined} hast node\n */\nexport function toHast(tree, options) {\n const h = factory(tree, options)\n const node = one(h, tree, null)\n const foot = footer(h)\n\n if (foot) {\n // @ts-expect-error If there’s a footer, there were definitions, meaning block\n // content.\n // So assume `node` is a parent node.\n node.children.push(u('text', '\\n'), foot)\n }\n\n return Array.isArray(node) ? {type: 'root', children: node} : node\n}\n","/**\n * @typedef {Object} PointLike\n * @property {number} [line]\n * @property {number} [column]\n * @property {number} [offset]\n *\n * @typedef {Object} PositionLike\n * @property {PointLike} [start]\n * @property {PointLike} [end]\n *\n * @typedef {Object} NodeLike\n * @property {PositionLike} [position]\n */\n\n/**\n * Check if `node` is *generated*.\n *\n * @param {NodeLike} [node]\n * @returns {boolean}\n */\nexport function generated(node) {\n return (\n !node ||\n !node.position ||\n !node.position.start ||\n !node.position.start.line ||\n !node.position.start.column ||\n !node.position.end ||\n !node.position.end.line ||\n !node.position.end.column\n )\n}\n","/**\n * @typedef {import('mdast').BlockContent} BlockContent\n * @typedef {import('mdast').FootnoteDefinition} FootnoteDefinition\n * @typedef {import('mdast').Link} Link\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('./index.js').H} H\n */\n\nimport {thematicBreak} from './handlers/thematic-break.js'\nimport {list} from './handlers/list.js'\nimport {wrap} from './wrap.js'\n\n/**\n * @param {H} h\n */\nexport function footer(h) {\n const footnoteById = h.footnoteById\n const footnoteOrder = h.footnoteOrder\n let index = -1\n /** @type {Array.<ListItem>} */\n const listItems = []\n\n while (++index < footnoteOrder.length) {\n const def = footnoteById[footnoteOrder[index].toUpperCase()]\n\n if (!def) {\n continue\n }\n\n const marker = String(index + 1)\n const content = [...def.children]\n /** @type {Link} */\n const backReference = {\n type: 'link',\n url: '#fnref' + marker,\n data: {hProperties: {className: ['footnote-back'], role: 'doc-backlink'}},\n children: [{type: 'text', value: '↩'}]\n }\n const tail = content[content.length - 1]\n\n if (tail && tail.type === 'paragraph') {\n tail.children.push(backReference)\n } else {\n // @ts-expect-error Indeed, link directly added in block content.\n // Which we do because that way at least the handlers will be called\n // for the other HTML we’re generating (as markdown).\n content.push(backReference)\n }\n\n listItems.push({\n type: 'listItem',\n data: {hProperties: {id: 'fn' + marker, role: 'doc-endnote'}},\n children: content,\n position: def.position\n })\n }\n\n if (listItems.length === 0) {\n return null\n }\n\n return h(\n null,\n 'section',\n {className: ['footnotes'], role: 'doc-endnotes'},\n wrap(\n [\n thematicBreak(h),\n list(h, {type: 'list', ordered: true, children: listItems})\n ],\n true\n )\n )\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('hast').Root} HastRoot\n * @typedef {import('mdast').Root} MdastRoot\n * @typedef {import('mdast-util-to-hast').Options} Options\n * @typedef {import('unified').Processor<any, any, any, any>} Processor\n *\n * @typedef {import('mdast-util-to-hast')} DoNotTouchAsThisImportIncludesRawInTree\n */\n\nimport {toHast} from 'mdast-util-to-hast'\n\n// Note: the `<MdastRoot, HastRoot>` overload doesn’t seem to work :'(\n\n/**\n * Plugin to bridge or mutate to rehype.\n *\n * If a destination is given, runs the destination with the new hast tree\n * (bridge-mode).\n * Without destination, returns the hast tree: further plugins run on that tree\n * (mutate-mode).\n *\n * @param destination\n * Optional unified processor.\n * @param options\n * Options passed to `mdast-util-to-hast`.\n */\nconst remarkRehype =\n /** @type {(import('unified').Plugin<[Processor, Options?]|[Options]|[], MdastRoot>)} */\n (\n function (destination, options) {\n return destination && 'run' in destination\n ? bridge(destination, options)\n : mutate(destination)\n }\n )\n\nexport default remarkRehype\n\n/**\n * Bridge-mode.\n * Runs the destination with the new hast tree.\n *\n * @type {import('unified').Plugin<[Processor, Options?], MdastRoot>}\n */\nfunction bridge(destination, options) {\n return (node, file, next) => {\n destination.run(toHast(node, options), file, (error) => {\n next(error)\n })\n }\n}\n\n/**\n * Mutate-mode.\n * Further transformers run on the nlcst tree.\n *\n * @type {import('unified').Plugin<[Options?]|void[], MdastRoot, HastRoot>}\n */\nfunction mutate(options) {\n // @ts-expect-error: assume a corresponding node is returned for `toHast`.\n return (node) => toHast(node, options)\n}\n","/**\n * @typedef {import('./info.js').Info} Info\n * @typedef {Record<string, Info>} Properties\n * @typedef {Record<string, string>} Normal\n */\n\nexport class Schema {\n /**\n * @constructor\n * @param {Properties} property\n * @param {Normal} normal\n * @param {string} [space]\n */\n constructor(property, normal, space) {\n this.property = property\n this.normal = normal\n if (space) {\n this.space = space\n }\n }\n}\n\n/** @type {Properties} */\nSchema.prototype.property = {}\n/** @type {Normal} */\nSchema.prototype.normal = {}\n/** @type {string|null} */\nSchema.prototype.space = null\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {Schema[]} definitions\n * @param {string} [space]\n * @returns {Schema}\n */\nexport function merge(definitions, space) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n let index = -1\n\n while (++index < definitions.length) {\n Object.assign(property, definitions[index].property)\n Object.assign(normal, definitions[index].normal)\n }\n\n return new Schema(property, normal, space)\n}\n","/**\n * @param {string} value\n * @returns {string}\n */\nexport function normalize(value) {\n return value.toLowerCase()\n}\n","export class Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n */\n constructor(property, attribute) {\n /** @type {string} */\n this.property = property\n /** @type {string} */\n this.attribute = attribute\n }\n}\n\n/** @type {string|null} */\nInfo.prototype.space = null\nInfo.prototype.boolean = false\nInfo.prototype.booleanish = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.number = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.spaceSeparated = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.defined = false\n","let powers = 0\n\nexport const boolean = increment()\nexport const booleanish = increment()\nexport const overloadedBoolean = increment()\nexport const number = increment()\nexport const spaceSeparated = increment()\nexport const commaSeparated = increment()\nexport const commaOrSpaceSeparated = increment()\n\nfunction increment() {\n return 2 ** ++powers\n}\n","import {Info} from './info.js'\nimport * as types from './types.js'\n\n/** @type {Array<keyof types>} */\n// @ts-expect-error: hush.\nconst checks = Object.keys(types)\n\nexport class DefinedInfo extends Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n * @param {number|null} [mask]\n * @param {string} [space]\n */\n constructor(property, attribute, mask, space) {\n let index = -1\n\n super(property, attribute)\n\n mark(this, 'space', space)\n\n if (typeof mask === 'number') {\n while (++index < checks.length) {\n const check = checks[index]\n mark(this, checks[index], (mask & types[check]) === types[check])\n }\n }\n }\n}\n\nDefinedInfo.prototype.defined = true\n\n/**\n * @param {DefinedInfo} values\n * @param {string} key\n * @param {unknown} value\n */\nfunction mark(values, key, value) {\n if (value) {\n // @ts-expect-error: assume `value` matches the expected value of `key`.\n values[key] = value\n }\n}\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n *\n * @typedef {Record<string, string>} Attributes\n *\n * @typedef {Object} Definition\n * @property {Record<string, number|null>} properties\n * @property {(attributes: Attributes, property: string) => string} transform\n * @property {string} [space]\n * @property {Attributes} [attributes]\n * @property {Array<string>} [mustUseProperty]\n */\n\nimport {normalize} from '../normalize.js'\nimport {Schema} from './schema.js'\nimport {DefinedInfo} from './defined-info.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param {Definition} definition\n * @returns {Schema}\n */\nexport function create(definition) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n /** @type {string} */\n let prop\n\n for (prop in definition.properties) {\n if (own.call(definition.properties, prop)) {\n const value = definition.properties[prop]\n const info = new DefinedInfo(\n prop,\n definition.transform(definition.attributes || {}, prop),\n value,\n definition.space\n )\n\n if (\n definition.mustUseProperty &&\n definition.mustUseProperty.includes(prop)\n ) {\n info.mustUseProperty = true\n }\n\n property[prop] = info\n\n normal[normalize(prop)] = prop\n normal[normalize(info.attribute)] = prop\n }\n }\n\n return new Schema(property, normal, definition.space)\n}\n","import {create} from './util/create.js'\n\nexport const xlink = create({\n space: 'xlink',\n transform(_, prop) {\n return 'xlink:' + prop.slice(5).toLowerCase()\n },\n properties: {\n xLinkActuate: null,\n xLinkArcRole: null,\n xLinkHref: null,\n xLinkRole: null,\n xLinkShow: null,\n xLinkTitle: null,\n xLinkType: null\n }\n})\n","import {create} from './util/create.js'\n\nexport const xml = create({\n space: 'xml',\n transform(_, prop) {\n return 'xml:' + prop.slice(3).toLowerCase()\n },\n properties: {xmlLang: null, xmlBase: null, xmlSpace: null}\n})\n","/**\n * @param {Record<string, string>} attributes\n * @param {string} attribute\n * @returns {string}\n */\nexport function caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute\n}\n","import {caseSensitiveTransform} from './case-sensitive-transform.js'\n\n/**\n * @param {Record<string, string>} attributes\n * @param {string} property\n * @returns {string}\n */\nexport function caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","import {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const xmlns = create({\n space: 'xmlns',\n attributes: {xmlnsxlink: 'xmlns:xlink'},\n transform: caseInsensitiveTransform,\n properties: {xmlns: null, xmlnsXLink: null}\n})\n","import {booleanish, number, spaceSeparated} from './util/types.js'\nimport {create} from './util/create.js'\n\nexport const aria = create({\n transform(_, prop) {\n return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()\n },\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n }\n})\n","import {\n boolean,\n overloadedBoolean,\n booleanish,\n number,\n spaceSeparated,\n commaSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const html = create({\n space: 'html',\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n transform: caseInsensitiveTransform,\n mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n properties: {\n // Standard Properties.\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n capture: boolean,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n cols: number,\n colSpan: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: boolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: null,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforePrint: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextLost: null,\n onContextMenu: null,\n onContextRestored: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: null,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n\n // Legacy.\n // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n align: null, // Several. Use CSS `text-align` instead,\n aLink: null, // `<body>`. Use CSS `a:active {color}` instead\n archive: spaceSeparated, // `<object>`. List of URIs to archives\n axis: null, // `<td>` and `<th>`. Use `scope` on `<th>`\n background: null, // `<body>`. Use CSS `background-image` instead\n bgColor: null, // `<body>` and table elements. Use CSS `background-color` instead\n border: number, // `<table>`. Use CSS `border-width` instead,\n borderColor: null, // `<table>`. Use CSS `border-color` instead,\n bottomMargin: number, // `<body>`\n cellPadding: null, // `<table>`\n cellSpacing: null, // `<table>`\n char: null, // Several table elements. When `align=char`, sets the character to align on\n charOff: null, // Several table elements. When `char`, offsets the alignment\n classId: null, // `<object>`\n clear: null, // `<br>`. Use CSS `clear` instead\n code: null, // `<object>`\n codeBase: null, // `<object>`\n codeType: null, // `<object>`\n color: null, // `<font>` and `<hr>`. Use CSS instead\n compact: boolean, // Lists. Use CSS to reduce space between items instead\n declare: boolean, // `<object>`\n event: null, // `<script>`\n face: null, // `<font>`. Use CSS instead\n frame: null, // `<table>`\n frameBorder: null, // `<iframe>`. Use CSS `border` instead\n hSpace: number, // `<img>` and `<object>`\n leftMargin: number, // `<body>`\n link: null, // `<body>`. Use CSS `a:link {color: *}` instead\n longDesc: null, // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`\n lowSrc: null, // `<img>`. Use a `<picture>`\n marginHeight: number, // `<body>`\n marginWidth: number, // `<body>`\n noResize: boolean, // `<frame>`\n noHref: boolean, // `<area>`. Use no href instead of an explicit `nohref`\n noShade: boolean, // `<hr>`. Use background-color and height instead of borders\n noWrap: boolean, // `<td>` and `<th>`\n object: null, // `<applet>`\n profile: null, // `<head>`\n prompt: null, // `<isindex>`\n rev: null, // `<link>`\n rightMargin: number, // `<body>`\n rules: null, // `<table>`\n scheme: null, // `<meta>`\n scrolling: booleanish, // `<frame>`. Use overflow in the child context\n standby: null, // `<object>`\n summary: null, // `<table>`\n text: null, // `<body>`. Use CSS `color` instead\n topMargin: number, // `<body>`\n valueType: null, // `<param>`\n version: null, // `<html>`. Use a doctype.\n vAlign: null, // Several. Use CSS `vertical-align` instead\n vLink: null, // `<body>`. Use CSS `a:visited {color}` instead\n vSpace: number, // `<img>` and `<object>`\n\n // Non-standard Properties.\n allowTransparency: null,\n autoCorrect: null,\n autoSave: null,\n disablePictureInPicture: boolean,\n disableRemotePlayback: boolean,\n prefix: null,\n property: null,\n results: number,\n security: null,\n unselectable: null\n }\n})\n","import {\n boolean,\n number,\n spaceSeparated,\n commaSeparated,\n commaOrSpaceSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseSensitiveTransform} from './util/case-sensitive-transform.js'\n\nexport const svg = create({\n space: 'svg',\n attributes: {\n accentHeight: 'accent-height',\n alignmentBaseline: 'alignment-baseline',\n arabicForm: 'arabic-form',\n baselineShift: 'baseline-shift',\n capHeight: 'cap-height',\n className: 'class',\n clipPath: 'clip-path',\n clipRule: 'clip-rule',\n colorInterpolation: 'color-interpolation',\n colorInterpolationFilters: 'color-interpolation-filters',\n colorProfile: 'color-profile',\n colorRendering: 'color-rendering',\n crossOrigin: 'crossorigin',\n dataType: 'datatype',\n dominantBaseline: 'dominant-baseline',\n enableBackground: 'enable-background',\n fillOpacity: 'fill-opacity',\n fillRule: 'fill-rule',\n floodColor: 'flood-color',\n floodOpacity: 'flood-opacity',\n fontFamily: 'font-family',\n fontSize: 'font-size',\n fontSizeAdjust: 'font-size-adjust',\n fontStretch: 'font-stretch',\n fontStyle: 'font-style',\n fontVariant: 'font-variant',\n fontWeight: 'font-weight',\n glyphName: 'glyph-name',\n glyphOrientationHorizontal: 'glyph-orientation-horizontal',\n glyphOrientationVertical: 'glyph-orientation-vertical',\n hrefLang: 'hreflang',\n horizAdvX: 'horiz-adv-x',\n horizOriginX: 'horiz-origin-x',\n horizOriginY: 'horiz-origin-y',\n imageRendering: 'image-rendering',\n letterSpacing: 'letter-spacing',\n lightingColor: 'lighting-color',\n markerEnd: 'marker-end',\n markerMid: 'marker-mid',\n markerStart: 'marker-start',\n navDown: 'nav-down',\n navDownLeft: 'nav-down-left',\n navDownRight: 'nav-down-right',\n navLeft: 'nav-left',\n navNext: 'nav-next',\n navPrev: 'nav-prev',\n navRight: 'nav-right',\n navUp: 'nav-up',\n navUpLeft: 'nav-up-left',\n navUpRight: 'nav-up-right',\n onAbort: 'onabort',\n onActivate: 'onactivate',\n onAfterPrint: 'onafterprint',\n onBeforePrint: 'onbeforeprint',\n onBegin: 'onbegin',\n onCancel: 'oncancel',\n onCanPlay: 'oncanplay',\n onCanPlayThrough: 'oncanplaythrough',\n onChange: 'onchange',\n onClick: 'onclick',\n onClose: 'onclose',\n onCopy: 'oncopy',\n onCueChange: 'oncuechange',\n onCut: 'oncut',\n onDblClick: 'ondblclick',\n onDrag: 'ondrag',\n onDragEnd: 'ondragend',\n onDragEnter: 'ondragenter',\n onDragExit: 'ondragexit',\n onDragLeave: 'ondragleave',\n onDragOver: 'ondragover',\n onDragStart: 'ondragstart',\n onDrop: 'ondrop',\n onDurationChange: 'ondurationchange',\n onEmptied: 'onemptied',\n onEnd: 'onend',\n onEnded: 'onended',\n onError: 'onerror',\n onFocus: 'onfocus',\n onFocusIn: 'onfocusin',\n onFocusOut: 'onfocusout',\n onHashChange: 'onhashchange',\n onInput: 'oninput',\n onInvalid: 'oninvalid',\n onKeyDown: 'onkeydown',\n onKeyPress: 'onkeypress',\n onKeyUp: 'onkeyup',\n onLoad: 'onload',\n onLoadedData: 'onloadeddata',\n onLoadedMetadata: 'onloadedmetadata',\n onLoadStart: 'onloadstart',\n onMessage: 'onmessage',\n onMouseDown: 'onmousedown',\n onMouseEnter: 'onmouseenter',\n onMouseLeave: 'onmouseleave',\n onMouseMove: 'onmousemove',\n onMouseOut: 'onmouseout',\n onMouseOver: 'onmouseover',\n onMouseUp: 'onmouseup',\n onMouseWheel: 'onmousewheel',\n onOffline: 'onoffline',\n onOnline: 'ononline',\n onPageHide: 'onpagehide',\n onPageShow: 'onpageshow',\n onPaste: 'onpaste',\n onPause: 'onpause',\n onPlay: 'onplay',\n onPlaying: 'onplaying',\n onPopState: 'onpopstate',\n onProgress: 'onprogress',\n onRateChange: 'onratechange',\n onRepeat: 'onrepeat',\n onReset: 'onreset',\n onResize: 'onresize',\n onScroll: 'onscroll',\n onSeeked: 'onseeked',\n onSeeking: 'onseeking',\n onSelect: 'onselect',\n onShow: 'onshow',\n onStalled: 'onstalled',\n onStorage: 'onstorage',\n onSubmit: 'onsubmit',\n onSuspend: 'onsuspend',\n onTimeUpdate: 'ontimeupdate',\n onToggle: 'ontoggle',\n onUnload: 'onunload',\n onVolumeChange: 'onvolumechange',\n onWaiting: 'onwaiting',\n onZoom: 'onzoom',\n overlinePosition: 'overline-position',\n overlineThickness: 'overline-thickness',\n paintOrder: 'paint-order',\n panose1: 'panose-1',\n pointerEvents: 'pointer-events',\n referrerPolicy: 'referrerpolicy',\n renderingIntent: 'rendering-intent',\n shapeRendering: 'shape-rendering',\n stopColor: 'stop-color',\n stopOpacity: 'stop-opacity',\n strikethroughPosition: 'strikethrough-position',\n strikethroughThickness: 'strikethrough-thickness',\n strokeDashArray: 'stroke-dasharray',\n strokeDashOffset: 'stroke-dashoffset',\n strokeLineCap: 'stroke-linecap',\n strokeLineJoin: 'stroke-linejoin',\n strokeMiterLimit: 'stroke-miterlimit',\n strokeOpacity: 'stroke-opacity',\n strokeWidth: 'stroke-width',\n tabIndex: 'tabindex',\n textAnchor: 'text-anchor',\n textDecoration: 'text-decoration',\n textRendering: 'text-rendering',\n typeOf: 'typeof',\n underlinePosition: 'underline-position',\n underlineThickness: 'underline-thickness',\n unicodeBidi: 'unicode-bidi',\n unicodeRange: 'unicode-range',\n unitsPerEm: 'units-per-em',\n vAlphabetic: 'v-alphabetic',\n vHanging: 'v-hanging',\n vIdeographic: 'v-ideographic',\n vMathematical: 'v-mathematical',\n vectorEffect: 'vector-effect',\n vertAdvY: 'vert-adv-y',\n vertOriginX: 'vert-origin-x',\n vertOriginY: 'vert-origin-y',\n wordSpacing: 'word-spacing',\n writingMode: 'writing-mode',\n xHeight: 'x-height',\n // These were camelcased in Tiny. Now lowercased in SVG 2\n playbackOrder: 'playbackorder',\n timelineBegin: 'timelinebegin'\n },\n transform: caseSensitiveTransform,\n properties: {\n about: commaOrSpaceSeparated,\n accentHeight: number,\n accumulate: null,\n additive: null,\n alignmentBaseline: null,\n alphabetic: number,\n amplitude: number,\n arabicForm: null,\n ascent: number,\n attributeName: null,\n attributeType: null,\n azimuth: number,\n bandwidth: null,\n baselineShift: null,\n baseFrequency: null,\n baseProfile: null,\n bbox: null,\n begin: null,\n bias: number,\n by: null,\n calcMode: null,\n capHeight: number,\n className: spaceSeparated,\n clip: null,\n clipPath: null,\n clipPathUnits: null,\n clipRule: null,\n color: null,\n colorInterpolation: null,\n colorInterpolationFilters: null,\n colorProfile: null,\n colorRendering: null,\n content: null,\n contentScriptType: null,\n contentStyleType: null,\n crossOrigin: null,\n cursor: null,\n cx: null,\n cy: null,\n d: null,\n dataType: null,\n defaultAction: null,\n descent: number,\n diffuseConstant: number,\n direction: null,\n display: null,\n dur: null,\n divisor: number,\n dominantBaseline: null,\n download: boolean,\n dx: null,\n dy: null,\n edgeMode: null,\n editable: null,\n elevation: number,\n enableBackground: null,\n end: null,\n event: null,\n exponent: number,\n externalResourcesRequired: null,\n fill: null,\n fillOpacity: number,\n fillRule: null,\n filter: null,\n filterRes: null,\n filterUnits: null,\n floodColor: null,\n floodOpacity: null,\n focusable: null,\n focusHighlight: null,\n fontFamily: null,\n fontSize: null,\n fontSizeAdjust: null,\n fontStretch: null,\n fontStyle: null,\n fontVariant: null,\n fontWeight: null,\n format: null,\n fr: null,\n from: null,\n fx: null,\n fy: null,\n g1: commaSeparated,\n g2: commaSeparated,\n glyphName: commaSeparated,\n glyphOrientationHorizontal: null,\n glyphOrientationVertical: null,\n glyphRef: null,\n gradientTransform: null,\n gradientUnits: null,\n handler: null,\n hanging: number,\n hatchContentUnits: null,\n hatchUnits: null,\n height: null,\n href: null,\n hrefLang: null,\n horizAdvX: number,\n horizOriginX: number,\n horizOriginY: number,\n id: null,\n ideographic: number,\n imageRendering: null,\n initialVisibility: null,\n in: null,\n in2: null,\n intercept: number,\n k: number,\n k1: number,\n k2: number,\n k3: number,\n k4: number,\n kernelMatrix: commaOrSpaceSeparated,\n kernelUnitLength: null,\n keyPoints: null, // SEMI_COLON_SEPARATED\n keySplines: null, // SEMI_COLON_SEPARATED\n keyTimes: null, // SEMI_COLON_SEPARATED\n kerning: null,\n lang: null,\n lengthAdjust: null,\n letterSpacing: null,\n lightingColor: null,\n limitingConeAngle: number,\n local: null,\n markerEnd: null,\n markerMid: null,\n markerStart: null,\n markerHeight: null,\n markerUnits: null,\n markerWidth: null,\n mask: null,\n maskContentUnits: null,\n maskUnits: null,\n mathematical: null,\n max: null,\n media: null,\n mediaCharacterEncoding: null,\n mediaContentEncodings: null,\n mediaSize: number,\n mediaTime: null,\n method: null,\n min: null,\n mode: null,\n name: null,\n navDown: null,\n navDownLeft: null,\n navDownRight: null,\n navLeft: null,\n navNext: null,\n navPrev: null,\n navRight: null,\n navUp: null,\n navUpLeft: null,\n navUpRight: null,\n numOctaves: null,\n observer: null,\n offset: null,\n onAbort: null,\n onActivate: null,\n onAfterPrint: null,\n onBeforePrint: null,\n onBegin: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnd: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFocusIn: null,\n onFocusOut: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadStart: null,\n onMessage: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onMouseWheel: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRepeat: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onShow: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onZoom: null,\n opacity: null,\n operator: null,\n order: null,\n orient: null,\n orientation: null,\n origin: null,\n overflow: null,\n overlay: null,\n overlinePosition: number,\n overlineThickness: number,\n paintOrder: null,\n panose1: null,\n path: null,\n pathLength: number,\n patternContentUnits: null,\n patternTransform: null,\n patternUnits: null,\n phase: null,\n ping: spaceSeparated,\n pitch: null,\n playbackOrder: null,\n pointerEvents: null,\n points: null,\n pointsAtX: number,\n pointsAtY: number,\n pointsAtZ: number,\n preserveAlpha: null,\n preserveAspectRatio: null,\n primitiveUnits: null,\n propagate: null,\n property: commaOrSpaceSeparated,\n r: null,\n radius: null,\n referrerPolicy: null,\n refX: null,\n refY: null,\n rel: commaOrSpaceSeparated,\n rev: commaOrSpaceSeparated,\n renderingIntent: null,\n repeatCount: null,\n repeatDur: null,\n requiredExtensions: commaOrSpaceSeparated,\n requiredFeatures: commaOrSpaceSeparated,\n requiredFonts: commaOrSpaceSeparated,\n requiredFormats: commaOrSpaceSeparated,\n resource: null,\n restart: null,\n result: null,\n rotate: null,\n rx: null,\n ry: null,\n scale: null,\n seed: null,\n shapeRendering: null,\n side: null,\n slope: null,\n snapshotTime: null,\n specularConstant: number,\n specularExponent: number,\n spreadMethod: null,\n spacing: null,\n startOffset: null,\n stdDeviation: null,\n stemh: null,\n stemv: null,\n stitchTiles: null,\n stopColor: null,\n stopOpacity: null,\n strikethroughPosition: number,\n strikethroughThickness: number,\n string: null,\n stroke: null,\n strokeDashArray: commaOrSpaceSeparated,\n strokeDashOffset: null,\n strokeLineCap: null,\n strokeLineJoin: null,\n strokeMiterLimit: number,\n strokeOpacity: number,\n strokeWidth: null,\n style: null,\n surfaceScale: number,\n syncBehavior: null,\n syncBehaviorDefault: null,\n syncMaster: null,\n syncTolerance: null,\n syncToleranceDefault: null,\n systemLanguage: commaOrSpaceSeparated,\n tabIndex: number,\n tableValues: null,\n target: null,\n targetX: number,\n targetY: number,\n textAnchor: null,\n textDecoration: null,\n textRendering: null,\n textLength: null,\n timelineBegin: null,\n title: null,\n transformBehavior: null,\n type: null,\n typeOf: commaOrSpaceSeparated,\n to: null,\n transform: null,\n u1: null,\n u2: null,\n underlinePosition: number,\n underlineThickness: number,\n unicode: null,\n unicodeBidi: null,\n unicodeRange: null,\n unitsPerEm: number,\n values: null,\n vAlphabetic: number,\n vMathematical: number,\n vectorEffect: null,\n vHanging: number,\n vIdeographic: number,\n version: null,\n vertAdvY: number,\n vertOriginX: number,\n vertOriginY: number,\n viewBox: null,\n viewTarget: null,\n visibility: null,\n width: null,\n widths: null,\n wordSpacing: null,\n writingMode: null,\n x: null,\n x1: null,\n x2: null,\n xChannelSelector: null,\n xHeight: number,\n y: null,\n y1: null,\n y2: null,\n yChannelSelector: null,\n z: null,\n zoomAndPan: null\n }\n})\n","/**\n * @typedef {import('./lib/util/info.js').Info} Info\n * @typedef {import('./lib/util/schema.js').Schema} Schema\n */\n\nimport {merge} from './lib/util/merge.js'\nimport {xlink} from './lib/xlink.js'\nimport {xml} from './lib/xml.js'\nimport {xmlns} from './lib/xmlns.js'\nimport {aria} from './lib/aria.js'\nimport {html as htmlBase} from './lib/html.js'\nimport {svg as svgBase} from './lib/svg.js'\n\nexport {find} from './lib/find.js'\nexport {hastToReact} from './lib/hast-to-react.js'\nexport {normalize} from './lib/normalize.js'\nexport const html = merge([xml, xlink, xmlns, aria, htmlBase], 'html')\nexport const svg = merge([xml, xlink, xmlns, aria, svgBase], 'svg')\n","import {visit} from 'unist-util-visit'\n\n/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Element} Element\n *\n * @callback AllowElement\n * @param {Element} element\n * @param {number} index\n * @param {Element|Root} parent\n * @returns {boolean|undefined}\n *\n * @typedef Options\n * @property {Array<string>} [allowedElements]\n * @property {Array<string>} [disallowedElements=[]]\n * @property {AllowElement} [allowElement]\n * @property {boolean} [unwrapDisallowed=false]\n */\n\n/**\n * @type {import('unified').Plugin<[Options], Root>}\n */\nexport default function rehypeFilter(options) {\n if (options.allowedElements && options.disallowedElements) {\n throw new TypeError(\n 'Only one of `allowedElements` and `disallowedElements` should be defined'\n )\n }\n\n if (\n options.allowedElements ||\n options.disallowedElements ||\n options.allowElement\n ) {\n return (tree) => {\n visit(tree, 'element', (node, index, parent_) => {\n const parent = /** @type {Element|Root} */ (parent_)\n /** @type {boolean|undefined} */\n let remove\n\n if (options.allowedElements) {\n remove = !options.allowedElements.includes(node.tagName)\n } else if (options.disallowedElements) {\n remove = options.disallowedElements.includes(node.tagName)\n }\n\n if (!remove && options.allowElement && typeof index === 'number') {\n remove = !options.allowElement(node, index, parent)\n }\n\n if (remove && typeof index === 'number') {\n if (options.unwrapDisallowed && node.children) {\n parent.children.splice(index, 1, ...node.children)\n } else {\n parent.children.splice(index, 1)\n }\n\n return index\n }\n\n return undefined\n })\n }\n }\n}\n","const protocols = ['http', 'https', 'mailto', 'tel']\n\n/**\n * @param {string} uri\n * @returns {string}\n */\nexport function uriTransformer(uri) {\n const url = (uri || '').trim()\n const first = url.charAt(0)\n\n if (first === '#' || first === '/') {\n return url\n }\n\n const colon = url.indexOf(':')\n if (colon === -1) {\n return url\n }\n\n let index = -1\n\n while (++index < protocols.length) {\n const protocol = protocols[index]\n\n if (\n colon === protocol.length &&\n url.slice(0, protocol.length).toLowerCase() === protocol\n ) {\n return url\n }\n }\n\n index = url.indexOf('?')\n if (index !== -1 && colon > index) {\n return url\n }\n\n index = url.indexOf('#')\n if (index !== -1 && colon > index) {\n return url\n }\n\n // eslint-disable-next-line no-script-url\n return 'javascript:void(0)'\n}\n","/**\n * @param {unknown} thing\n * @returns {boolean}\n */\nexport function whitespace(thing) {\n /** @type {string} */\n var value =\n // @ts-ignore looks like a node.\n thing && typeof thing === 'object' && thing.type === 'text'\n ? // @ts-ignore looks like a text.\n thing.value || ''\n : thing\n\n // HTML whitespace expression.\n // See <https://html.spec.whatwg.org/#space-character>.\n return typeof value === 'string' && value.replace(/[ \\t\\n\\f\\r]/g, '') === ''\n}\n","/**\n * @typedef {import('./util/schema.js').Schema} Schema\n */\n\nimport {normalize} from './normalize.js'\nimport {DefinedInfo} from './util/defined-info.js'\nimport {Info} from './util/info.js'\n\nconst valid = /^data[-\\w.:]+$/i\nconst dash = /-[a-z]/g\nconst cap = /[A-Z]/g\n\n/**\n * @param {Schema} schema\n * @param {string} value\n * @returns {Info}\n */\nexport function find(schema, value) {\n const normal = normalize(value)\n let prop = value\n let Type = Info\n\n if (normal in schema.normal) {\n return schema.property[schema.normal[normal]]\n }\n\n if (normal.length > 4 && normal.slice(0, 4) === 'data' && valid.test(value)) {\n // Attribute or property.\n if (value.charAt(4) === '-') {\n // Turn it into a property.\n const rest = value.slice(5).replace(dash, camelcase)\n prop = 'data' + rest.charAt(0).toUpperCase() + rest.slice(1)\n } else {\n // Turn it into an attribute.\n const rest = value.slice(4)\n\n if (!dash.test(rest)) {\n let dashes = rest.replace(cap, kebab)\n\n if (dashes.charAt(0) !== '-') {\n dashes = '-' + dashes\n }\n\n value = 'data' + dashes\n }\n }\n\n Type = DefinedInfo\n }\n\n return new Type(prop, value)\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction kebab($0) {\n return '-' + $0.toLowerCase()\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase()\n}\n","export const hastToReact = {\n classId: 'classID',\n dataType: 'datatype',\n itemId: 'itemID',\n strokeDashArray: 'strokeDasharray',\n strokeDashOffset: 'strokeDashoffset',\n strokeLineCap: 'strokeLinecap',\n strokeLineJoin: 'strokeLinejoin',\n strokeMiterLimit: 'strokeMiterlimit',\n typeOf: 'typeof',\n xLinkActuate: 'xlinkActuate',\n xLinkArcRole: 'xlinkArcrole',\n xLinkHref: 'xlinkHref',\n xLinkRole: 'xlinkRole',\n xLinkShow: 'xlinkShow',\n xLinkTitle: 'xlinkTitle',\n xLinkType: 'xlinkType',\n xmlnsXLink: 'xmlnsXlink'\n}\n","/**\n * Parse space separated tokens to an array of strings.\n *\n * @param {string} value Space separated tokens\n * @returns {Array.<string>} Tokens\n */\nexport function parse(value) {\n const input = String(value || '').trim()\n return input ? input.split(/[ \\t\\n\\r\\f]+/g) : []\n}\n\n/**\n * Serialize an array of strings as space separated tokens.\n *\n * @param {Array.<string|number>} values Tokens\n * @returns {string} Space separated tokens\n */\nexport function stringify(values) {\n return values.join(' ').trim()\n}\n","/**\n * @typedef {Object} StringifyOptions\n * @property {boolean} [padLeft=true] Whether to pad a space before a token (`boolean`, default: `true`).\n * @property {boolean} [padRight=false] Whether to pad a space after a token (`boolean`, default: `false`).\n */\n\n/**\n * Parse comma separated tokens to an array.\n *\n * @param {string} value\n * @returns {Array.<string>}\n */\nexport function parse(value) {\n /** @type {Array.<string>} */\n var tokens = []\n var input = String(value || '')\n var index = input.indexOf(',')\n var start = 0\n /** @type {boolean} */\n var end\n /** @type {string} */\n var token\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n token = input.slice(start, index).trim()\n\n if (token || !end) {\n tokens.push(token)\n }\n\n start = index + 1\n index = input.indexOf(',', start)\n }\n\n return tokens\n}\n\n/**\n * Serialize an array of strings to comma separated tokens.\n *\n * @param {Array.<string|number>} values\n * @param {StringifyOptions} [options]\n * @returns {string}\n */\nexport function stringify(values, options) {\n var settings = options || {}\n\n // Ensure the last empty entry is seen.\n if (values[values.length - 1] === '') {\n values = values.concat('')\n }\n\n return values\n .join(\n (settings.padRight ? ' ' : '') +\n ',' +\n (settings.padLeft === false ? '' : ' ')\n )\n .trim()\n}\n","/**\n * @template T\n * @typedef {import('react').ComponentType<T>} ComponentType<T>\n */\n\n/**\n * @template T\n * @typedef {import('react').ComponentPropsWithoutRef<T>} ComponentPropsWithoutRef<T>\n */\n\n/**\n * @typedef {import('react').ReactNode} ReactNode\n * @typedef {import('unist').Position} Position\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').ElementContent} ElementContent\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast').Comment} Comment\n * @typedef {import('hast').DocType} Doctype\n * @typedef {import('property-information').Info} Info\n * @typedef {import('property-information').Schema} Schema\n * @typedef {import('./complex-types').ReactMarkdownProps} ReactMarkdownProps\n *\n * @typedef Raw\n * @property {'raw'} type\n * @property {string} value\n *\n * @typedef Context\n * @property {Options} options\n * @property {Schema} schema\n * @property {number} listDepth\n *\n * @callback TransformLink\n * @param {string} href\n * @param {Array<ElementContent>} children\n * @param {string?} title\n * @returns {string}\n *\n * @callback TransformImage\n * @param {string} src\n * @param {string} alt\n * @param {string?} title\n * @returns {string}\n *\n * @typedef {import('react').HTMLAttributeAnchorTarget} TransformLinkTargetType\n *\n * @callback TransformLinkTarget\n * @param {string} href\n * @param {Array<ElementContent>} children\n * @param {string?} title\n * @returns {TransformLinkTargetType|undefined}\n *\n * @typedef {keyof JSX.IntrinsicElements} ReactMarkdownNames\n *\n * To do: is `data-sourcepos` typeable?\n *\n * @typedef {ComponentPropsWithoutRef<'code'> & ReactMarkdownProps & {inline?: boolean}} CodeProps\n * @typedef {ComponentPropsWithoutRef<'h1'> & ReactMarkdownProps & {level: number}} HeadingProps\n * @typedef {ComponentPropsWithoutRef<'li'> & ReactMarkdownProps & {checked: boolean|null, index: number, ordered: boolean}} LiProps\n * @typedef {ComponentPropsWithoutRef<'ol'> & ReactMarkdownProps & {depth: number, ordered: true}} OrderedListProps\n * @typedef {ComponentPropsWithoutRef<'table'> & ReactMarkdownProps & {style?: Record<string, unknown>, isHeader: boolean}} TableCellProps\n * @typedef {ComponentPropsWithoutRef<'tr'> & ReactMarkdownProps & {isHeader: boolean}} TableRowProps\n * @typedef {ComponentPropsWithoutRef<'ul'> & ReactMarkdownProps & {depth: number, ordered: false}} UnorderedListProps\n *\n * @typedef {ComponentType<CodeProps>} CodeComponent\n * @typedef {ComponentType<HeadingProps>} HeadingComponent\n * @typedef {ComponentType<LiProps>} LiComponent\n * @typedef {ComponentType<OrderedListProps>} OrderedListComponent\n * @typedef {ComponentType<TableCellProps>} TableCellComponent\n * @typedef {ComponentType<TableRowProps>} TableRowComponent\n * @typedef {ComponentType<UnorderedListProps>} UnorderedListComponent\n *\n * @typedef SpecialComponents\n * @property {CodeComponent|ReactMarkdownNames} code\n * @property {HeadingComponent|ReactMarkdownNames} h1\n * @property {HeadingComponent|ReactMarkdownNames} h2\n * @property {HeadingComponent|ReactMarkdownNames} h3\n * @property {HeadingComponent|ReactMarkdownNames} h4\n * @property {HeadingComponent|ReactMarkdownNames} h5\n * @property {HeadingComponent|ReactMarkdownNames} h6\n * @property {LiComponent|ReactMarkdownNames} li\n * @property {OrderedListComponent|ReactMarkdownNames} ol\n * @property {TableCellComponent|ReactMarkdownNames} td\n * @property {TableCellComponent|ReactMarkdownNames} th\n * @property {TableRowComponent|ReactMarkdownNames} tr\n * @property {UnorderedListComponent|ReactMarkdownNames} ul\n *\n * @typedef {Partial<Omit<import('./complex-types').NormalComponents, keyof SpecialComponents> & SpecialComponents>} Components\n *\n * @typedef Options\n * @property {boolean} [sourcePos=false]\n * @property {boolean} [rawSourcePos=false]\n * @property {boolean} [skipHtml=false]\n * @property {boolean} [includeElementIndex=false]\n * @property {null|false|TransformLink} [transformLinkUri]\n * @property {TransformImage} [transformImageUri]\n * @property {TransformLinkTargetType|TransformLinkTarget} [linkTarget]\n * @property {Components} [components]\n */\n\nimport React from 'react'\nimport ReactIs from 'react-is'\nimport {whitespace} from 'hast-util-whitespace'\nimport {svg, find, hastToReact} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {stringify as commas} from 'comma-separated-tokens'\nimport style from 'style-to-object'\n\nconst own = {}.hasOwnProperty\n\n// The table-related elements that must not contain whitespace text according\n// to React.\nconst tableElements = new Set(['table', 'thead', 'tbody', 'tfoot', 'tr'])\n\n/**\n * @param {Context} context\n * @param {Element|Root} node\n */\nexport function childrenToReact(context, node) {\n /** @type {Array<ReactNode>} */\n const children = []\n let childIndex = -1\n /** @type {Comment|Doctype|Element|Raw|Text} */\n let child\n\n while (++childIndex < node.children.length) {\n child = node.children[childIndex]\n\n if (child.type === 'element') {\n children.push(toReact(context, child, childIndex, node))\n } else if (child.type === 'text') {\n // Currently, a warning is triggered by react for *any* white space in\n // tables.\n // So we drop it.\n // See: <https://github.com/facebook/react/pull/7081>.\n // See: <https://github.com/facebook/react/pull/7515>.\n // See: <https://github.com/remarkjs/remark-react/issues/64>.\n // See: <https://github.com/remarkjs/react-markdown/issues/576>.\n if (\n node.type !== 'element' ||\n !tableElements.has(node.tagName) ||\n !whitespace(child)\n ) {\n children.push(child.value)\n }\n } else if (child.type === 'raw' && !context.options.skipHtml) {\n // Default behavior is to show (encoded) HTML.\n children.push(child.value)\n }\n }\n\n return children\n}\n\n/**\n * @param {Context} context\n * @param {Element} node\n * @param {number} index\n * @param {Element|Root} parent\n */\nfunction toReact(context, node, index, parent) {\n const options = context.options\n const parentSchema = context.schema\n /** @type {ReactMarkdownNames} */\n // @ts-expect-error assume a known HTML/SVG element.\n const name = node.tagName\n /** @type {Record<string, unknown>} */\n const properties = {}\n let schema = parentSchema\n /** @type {string} */\n let property\n\n if (parentSchema.space === 'html' && name === 'svg') {\n schema = svg\n context.schema = schema\n }\n\n if (node.properties) {\n for (property in node.properties) {\n if (own.call(node.properties, property)) {\n addProperty(properties, property, node.properties[property], context)\n }\n }\n }\n\n if (name === 'ol' || name === 'ul') {\n context.listDepth++\n }\n\n const children = childrenToReact(context, node)\n\n if (name === 'ol' || name === 'ul') {\n context.listDepth--\n }\n\n // Restore parent schema.\n context.schema = parentSchema\n\n // Nodes created by plugins do not have positional info, in which case we use\n // an object that matches the position interface.\n const position = node.position || {\n start: {line: null, column: null, offset: null},\n end: {line: null, column: null, offset: null}\n }\n const component =\n options.components && own.call(options.components, name)\n ? options.components[name]\n : name\n const basic = typeof component === 'string' || component === React.Fragment\n\n if (!ReactIs.isValidElementType(component)) {\n throw new TypeError(\n `Component for name \\`${name}\\` not defined or is not renderable`\n )\n }\n\n properties.key = [\n name,\n position.start.line,\n position.start.column,\n index\n ].join('-')\n\n if (name === 'a' && options.linkTarget) {\n properties.target =\n typeof options.linkTarget === 'function'\n ? options.linkTarget(\n String(properties.href || ''),\n node.children,\n typeof properties.title === 'string' ? properties.title : null\n )\n : options.linkTarget\n }\n\n if (name === 'a' && options.transformLinkUri) {\n properties.href = options.transformLinkUri(\n String(properties.href || ''),\n node.children,\n typeof properties.title === 'string' ? properties.title : null\n )\n }\n\n if (\n !basic &&\n name === 'code' &&\n parent.type === 'element' &&\n parent.tagName !== 'pre'\n ) {\n properties.inline = true\n }\n\n if (\n !basic &&\n (name === 'h1' ||\n name === 'h2' ||\n name === 'h3' ||\n name === 'h4' ||\n name === 'h5' ||\n name === 'h6')\n ) {\n properties.level = Number.parseInt(name.charAt(1), 10)\n }\n\n if (name === 'img' && options.transformImageUri) {\n properties.src = options.transformImageUri(\n String(properties.src || ''),\n String(properties.alt || ''),\n typeof properties.title === 'string' ? properties.title : null\n )\n }\n\n if (!basic && name === 'li' && parent.type === 'element') {\n const input = getInputElement(node)\n properties.checked =\n input && input.properties ? Boolean(input.properties.checked) : null\n properties.index = getElementsBeforeCount(parent, node)\n properties.ordered = parent.tagName === 'ol'\n }\n\n if (!basic && (name === 'ol' || name === 'ul')) {\n properties.ordered = name === 'ol'\n properties.depth = context.listDepth\n }\n\n if (name === 'td' || name === 'th') {\n if (properties.align) {\n if (!properties.style) properties.style = {}\n // @ts-expect-error assume `style` is an object\n properties.style.textAlign = properties.align\n delete properties.align\n }\n\n if (!basic) {\n properties.isHeader = name === 'th'\n }\n }\n\n if (!basic && name === 'tr' && parent.type === 'element') {\n properties.isHeader = Boolean(parent.tagName === 'thead')\n }\n\n // If `sourcePos` is given, pass source information (line/column info from markdown source).\n if (options.sourcePos) {\n properties['data-sourcepos'] = flattenPosition(position)\n }\n\n if (!basic && options.rawSourcePos) {\n properties.sourcePosition = node.position\n }\n\n // If `includeElementIndex` is given, pass node index info to components.\n if (!basic && options.includeElementIndex) {\n properties.index = getElementsBeforeCount(parent, node)\n properties.siblingCount = getElementsBeforeCount(parent)\n }\n\n if (!basic) {\n properties.node = node\n }\n\n // Ensure no React warnings are emitted for void elements w/ children.\n return children.length > 0\n ? React.createElement(component, properties, children)\n : React.createElement(component, properties)\n}\n\n/**\n * @param {Element|Root} node\n * @returns {Element?}\n */\nfunction getInputElement(node) {\n let index = -1\n\n while (++index < node.children.length) {\n const child = node.children[index]\n\n if (child.type === 'element' && child.tagName === 'input') {\n return child\n }\n }\n\n return null\n}\n\n/**\n * @param {Element|Root} parent\n * @param {Element} [node]\n * @returns {number}\n */\nfunction getElementsBeforeCount(parent, node) {\n let index = -1\n let count = 0\n\n while (++index < parent.children.length) {\n if (parent.children[index] === node) break\n if (parent.children[index].type === 'element') count++\n }\n\n return count\n}\n\n/**\n * @param {Record<string, unknown>} props\n * @param {string} prop\n * @param {unknown} value\n * @param {Context} ctx\n */\nfunction addProperty(props, prop, value, ctx) {\n const info = find(ctx.schema, prop)\n let result = value\n\n // Ignore nullish and `NaN` values.\n // eslint-disable-next-line no-self-compare\n if (result === null || result === undefined || result !== result) {\n return\n }\n\n // Accept `array`.\n // Most props are space-separated.\n if (Array.isArray(result)) {\n result = info.commaSeparated ? commas(result) : spaces(result)\n }\n\n if (info.property === 'style' && typeof result === 'string') {\n result = parseStyle(result)\n }\n\n if (info.space && info.property) {\n props[\n own.call(hastToReact, info.property)\n ? hastToReact[info.property]\n : info.property\n ] = result\n } else if (info.attribute) {\n props[info.attribute] = result\n }\n}\n\n/**\n * @param {string} value\n * @returns {Record<string, string>}\n */\nfunction parseStyle(value) {\n /** @type {Record<string, string>} */\n const result = {}\n\n try {\n style(value, iterator)\n } catch {\n // Silent.\n }\n\n return result\n\n /**\n * @param {string} name\n * @param {string} v\n */\n function iterator(name, v) {\n const k = name.slice(0, 4) === '-ms-' ? `ms-${name.slice(4)}` : name\n result[k.replace(/-([a-z])/g, styleReplacer)] = v\n }\n}\n\n/**\n * @param {unknown} _\n * @param {string} $1\n */\nfunction styleReplacer(_, $1) {\n return $1.toUpperCase()\n}\n\n/**\n * @param {Position|{start: {line: null, column: null, offset: null}, end: {line: null, column: null, offset: null}}} pos\n * @returns {string}\n */\nfunction flattenPosition(pos) {\n return [\n pos.start.line,\n ':',\n pos.start.column,\n '-',\n pos.end.line,\n ':',\n pos.end.column\n ]\n .map((d) => String(d))\n .join('')\n}\n","/**\n * @typedef {import('react').ReactNode} ReactNode\n * @typedef {import('react').ReactElement<{}>} ReactElement\n * @typedef {import('unified').PluggableList} PluggableList\n * @typedef {import('hast').Root} Root\n * @typedef {import('./rehype-filter.js').Options} FilterOptions\n * @typedef {import('./ast-to-react.js').Options} TransformOptions\n *\n * @typedef CoreOptions\n * @property {string} children\n *\n * @typedef PluginOptions\n * @property {PluggableList} [plugins=[]] **deprecated**: use `remarkPlugins` instead\n * @property {PluggableList} [remarkPlugins=[]]\n * @property {PluggableList} [rehypePlugins=[]]\n *\n * @typedef LayoutOptions\n * @property {string} [className]\n *\n * @typedef {CoreOptions & PluginOptions & LayoutOptions & FilterOptions & TransformOptions} ReactMarkdownOptions\n *\n * @typedef Deprecation\n * @property {string} id\n * @property {string} [to]\n */\n\nimport React from 'react'\nimport {VFile} from 'vfile'\nimport {unified} from 'unified'\nimport remarkParse from 'remark-parse'\nimport remarkRehype from 'remark-rehype'\nimport PropTypes from 'prop-types'\nimport {html} from 'property-information'\nimport rehypeFilter from './rehype-filter.js'\nimport {uriTransformer} from './uri-transformer.js'\nimport {childrenToReact} from './ast-to-react.js'\n\nconst own = {}.hasOwnProperty\nconst changelog =\n 'https://github.com/remarkjs/react-markdown/blob/main/changelog.md'\n\n/** @type {Record<string, Deprecation>} */\nconst deprecated = {\n renderers: {to: 'components', id: 'change-renderers-to-components'},\n astPlugins: {id: 'remove-buggy-html-in-markdown-parser'},\n allowDangerousHtml: {id: 'remove-buggy-html-in-markdown-parser'},\n escapeHtml: {id: 'remove-buggy-html-in-markdown-parser'},\n source: {to: 'children', id: 'change-source-to-children'},\n allowNode: {\n to: 'allowElement',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes'\n },\n allowedTypes: {\n to: 'allowedElements',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes'\n },\n disallowedTypes: {\n to: 'disallowedElements',\n id: 'replace-allownode-allowedtypes-and-disallowedtypes'\n },\n includeNodeIndex: {\n to: 'includeElementIndex',\n id: 'change-includenodeindex-to-includeelementindex'\n }\n}\n\n/**\n * React component to render markdown.\n *\n * @param {ReactMarkdownOptions} options\n * @returns {ReactElement}\n */\nexport function ReactMarkdown(options) {\n for (const key in deprecated) {\n if (own.call(deprecated, key) && own.call(options, key)) {\n const deprecation = deprecated[key]\n console.warn(\n `[react-markdown] Warning: please ${\n deprecation.to ? `use \\`${deprecation.to}\\` instead of` : 'remove'\n } \\`${key}\\` (see <${changelog}#${deprecation.id}> for more info)`\n )\n delete deprecated[key]\n }\n }\n\n const processor = unified()\n .use(remarkParse)\n // TODO: deprecate `plugins` in v8.0.0.\n .use(options.remarkPlugins || options.plugins || [])\n .use(remarkRehype, {allowDangerousHtml: true})\n .use(options.rehypePlugins || [])\n .use(rehypeFilter, options)\n\n const file = new VFile()\n\n if (typeof options.children === 'string') {\n file.value = options.children\n } else if (options.children !== undefined && options.children !== null) {\n console.warn(\n `[react-markdown] Warning: please pass a string as \\`children\\` (not: \\`${options.children}\\`)`\n )\n }\n\n const hastNode = processor.runSync(processor.parse(file), file)\n\n if (hastNode.type !== 'root') {\n throw new TypeError('Expected a `root` node')\n }\n\n /** @type {ReactElement} */\n let result = React.createElement(\n React.Fragment,\n {},\n childrenToReact({options, schema: html, listDepth: 0}, hastNode)\n )\n\n if (options.className) {\n result = React.createElement('div', {className: options.className}, result)\n }\n\n return result\n}\n\nReactMarkdown.defaultProps = {transformLinkUri: uriTransformer}\n\nReactMarkdown.propTypes = {\n // Core options:\n children: PropTypes.string,\n // Layout options:\n className: PropTypes.string,\n // Filter options:\n allowElement: PropTypes.func,\n allowedElements: PropTypes.arrayOf(PropTypes.string),\n disallowedElements: PropTypes.arrayOf(PropTypes.string),\n unwrapDisallowed: PropTypes.bool,\n // Plugin options:\n remarkPlugins: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.func]))\n ])\n ),\n rehypePlugins: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.func]))\n ])\n ),\n // Transform options:\n sourcePos: PropTypes.bool,\n rawSourcePos: PropTypes.bool,\n skipHtml: PropTypes.bool,\n includeElementIndex: PropTypes.bool,\n transformLinkUri: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),\n linkTarget: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),\n transformImageUri: PropTypes.func,\n components: PropTypes.object\n}\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport React from 'react'; // Get all possible permutations of all power sets\n//\n// Super simple, non-algorithmic solution since the\n// number of class names will not be greater than 4\n\nfunction powerSetPermutations(arr) {\n var arrLength = arr.length;\n if (arrLength === 0 || arrLength === 1) return arr;\n\n if (arrLength === 2) {\n // prettier-ignore\n return [arr[0], arr[1], \"\".concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[1], \".\").concat(arr[0])];\n }\n\n if (arrLength === 3) {\n return [arr[0], arr[1], arr[2], \"\".concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[0]), \"\".concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[0])];\n }\n\n if (arrLength >= 4) {\n // Currently does not support more than 4 extra\n // class names (after `.token` has been removed)\n return [arr[0], arr[1], arr[2], arr[3], \"\".concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[0], \".\").concat(arr[3]), \"\".concat(arr[1], \".\").concat(arr[0]), \"\".concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[3]), \"\".concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[2], \".\").concat(arr[3]), \"\".concat(arr[3], \".\").concat(arr[0]), \"\".concat(arr[3], \".\").concat(arr[1]), \"\".concat(arr[3], \".\").concat(arr[2]), \"\".concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[3]), \"\".concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[3]), \"\".concat(arr[0], \".\").concat(arr[3], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[3], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[3]), \"\".concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[3]), \"\".concat(arr[1], \".\").concat(arr[3], \".\").concat(arr[0]), \"\".concat(arr[1], \".\").concat(arr[3], \".\").concat(arr[2]), \"\".concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[3]), \"\".concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[3]), \"\".concat(arr[2], \".\").concat(arr[3], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[3], \".\").concat(arr[1]), \"\".concat(arr[3], \".\").concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[3], \".\").concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[3], \".\").concat(arr[1], \".\").concat(arr[0]), \"\".concat(arr[3], \".\").concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[3], \".\").concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[3], \".\").concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[3]), \"\".concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[3], \".\").concat(arr[2]), \"\".concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[3]), \"\".concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[3], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[3], \".\").concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[0], \".\").concat(arr[3], \".\").concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[3]), \"\".concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[3], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[3]), \"\".concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[3], \".\").concat(arr[0]), \"\".concat(arr[1], \".\").concat(arr[3], \".\").concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[3], \".\").concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[3]), \"\".concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[3], \".\").concat(arr[1]), \"\".concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[3]), \"\".concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[3], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[3], \".\").concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[2], \".\").concat(arr[3], \".\").concat(arr[1], \".\").concat(arr[0]), \"\".concat(arr[3], \".\").concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[3], \".\").concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[3], \".\").concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[3], \".\").concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[3], \".\").concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[3], \".\").concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[0])];\n }\n}\n\nvar classNameCombinations = {};\n\nfunction getClassNameCombinations(classNames) {\n if (classNames.length === 0 || classNames.length === 1) return classNames;\n var key = classNames.join('.');\n\n if (!classNameCombinations[key]) {\n classNameCombinations[key] = powerSetPermutations(classNames);\n }\n\n return classNameCombinations[key];\n}\n\nexport function createStyleObject(classNames) {\n var elementStyle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var stylesheet = arguments.length > 2 ? arguments[2] : undefined;\n var nonTokenClassNames = classNames.filter(function (className) {\n return className !== 'token';\n });\n var classNamesCombinations = getClassNameCombinations(nonTokenClassNames);\n return classNamesCombinations.reduce(function (styleObject, className) {\n return _objectSpread(_objectSpread({}, styleObject), stylesheet[className]);\n }, elementStyle);\n}\nexport function createClassNameString(classNames) {\n return classNames.join(' ');\n}\nexport function createChildren(stylesheet, useInlineStyles) {\n var childrenCount = 0;\n return function (children) {\n childrenCount += 1;\n return children.map(function (child, i) {\n return createElement({\n node: child,\n stylesheet: stylesheet,\n useInlineStyles: useInlineStyles,\n key: \"code-segment-\".concat(childrenCount, \"-\").concat(i)\n });\n });\n };\n}\nexport default function createElement(_ref) {\n var node = _ref.node,\n stylesheet = _ref.stylesheet,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style,\n useInlineStyles = _ref.useInlineStyles,\n key = _ref.key;\n var properties = node.properties,\n type = node.type,\n TagName = node.tagName,\n value = node.value;\n\n if (type === 'text') {\n return value;\n } else if (TagName) {\n var childrenCreator = createChildren(stylesheet, useInlineStyles);\n var props;\n\n if (!useInlineStyles) {\n props = _objectSpread(_objectSpread({}, properties), {}, {\n className: createClassNameString(properties.className)\n });\n } else {\n var allStylesheetSelectors = Object.keys(stylesheet).reduce(function (classes, selector) {\n selector.split('.').forEach(function (className) {\n if (!classes.includes(className)) classes.push(className);\n });\n return classes;\n }, []); // For compatibility with older versions of react-syntax-highlighter\n\n var startingClassName = properties.className && properties.className.includes('token') ? ['token'] : [];\n var className = properties.className && startingClassName.concat(properties.className.filter(function (className) {\n return !allStylesheetSelectors.includes(className);\n }));\n props = _objectSpread(_objectSpread({}, properties), {}, {\n className: createClassNameString(className) || undefined,\n style: createStyleObject(properties.className, Object.assign({}, properties.style, style), stylesheet)\n });\n }\n\n var children = childrenCreator(node.children);\n return /*#__PURE__*/React.createElement(TagName, _extends({\n key: key\n }, props), children);\n }\n}","export default (function (astGenerator, language) {\n var langs = astGenerator.listLanguages();\n return langs.indexOf(language) !== -1;\n});","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"language\", \"children\", \"style\", \"customStyle\", \"codeTagProps\", \"useInlineStyles\", \"showLineNumbers\", \"showInlineLineNumbers\", \"startingLineNumber\", \"lineNumberContainerStyle\", \"lineNumberStyle\", \"wrapLines\", \"wrapLongLines\", \"lineProps\", \"renderer\", \"PreTag\", \"CodeTag\", \"code\", \"astGenerator\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport React from 'react';\nimport createElement from './create-element';\nimport checkForListedLanguage from './checkForListedLanguage';\nvar newLineRegex = /\\n/g;\n\nfunction getNewLines(str) {\n return str.match(newLineRegex);\n}\n\nfunction getAllLineNumbers(_ref) {\n var lines = _ref.lines,\n startingLineNumber = _ref.startingLineNumber,\n style = _ref.style;\n return lines.map(function (_, i) {\n var number = i + startingLineNumber;\n return /*#__PURE__*/React.createElement(\"span\", {\n key: \"line-\".concat(i),\n className: \"react-syntax-highlighter-line-number\",\n style: typeof style === 'function' ? style(number) : style\n }, \"\".concat(number, \"\\n\"));\n });\n}\n\nfunction AllLineNumbers(_ref2) {\n var codeString = _ref2.codeString,\n codeStyle = _ref2.codeStyle,\n _ref2$containerStyle = _ref2.containerStyle,\n containerStyle = _ref2$containerStyle === void 0 ? {\n \"float\": 'left',\n paddingRight: '10px'\n } : _ref2$containerStyle,\n _ref2$numberStyle = _ref2.numberStyle,\n numberStyle = _ref2$numberStyle === void 0 ? {} : _ref2$numberStyle,\n startingLineNumber = _ref2.startingLineNumber;\n return /*#__PURE__*/React.createElement(\"code\", {\n style: Object.assign({}, codeStyle, containerStyle)\n }, getAllLineNumbers({\n lines: codeString.replace(/\\n$/, '').split('\\n'),\n style: numberStyle,\n startingLineNumber: startingLineNumber\n }));\n}\n\nfunction getEmWidthOfNumber(num) {\n return \"\".concat(num.toString().length, \".25em\");\n}\n\nfunction getInlineLineNumber(lineNumber, inlineLineNumberStyle) {\n return {\n type: 'element',\n tagName: 'span',\n properties: {\n key: \"line-number--\".concat(lineNumber),\n className: ['comment', 'linenumber', 'react-syntax-highlighter-line-number'],\n style: inlineLineNumberStyle\n },\n children: [{\n type: 'text',\n value: lineNumber\n }]\n };\n}\n\nfunction assembleLineNumberStyles(lineNumberStyle, lineNumber, largestLineNumber) {\n // minimally necessary styling for line numbers\n var defaultLineNumberStyle = {\n display: 'inline-block',\n minWidth: getEmWidthOfNumber(largestLineNumber),\n paddingRight: '1em',\n textAlign: 'right',\n userSelect: 'none'\n }; // prep custom styling\n\n var customLineNumberStyle = typeof lineNumberStyle === 'function' ? lineNumberStyle(lineNumber) : lineNumberStyle; // combine\n\n var assembledStyle = _objectSpread(_objectSpread({}, defaultLineNumberStyle), customLineNumberStyle);\n\n return assembledStyle;\n}\n\nfunction createLineElement(_ref3) {\n var children = _ref3.children,\n lineNumber = _ref3.lineNumber,\n lineNumberStyle = _ref3.lineNumberStyle,\n largestLineNumber = _ref3.largestLineNumber,\n showInlineLineNumbers = _ref3.showInlineLineNumbers,\n _ref3$lineProps = _ref3.lineProps,\n lineProps = _ref3$lineProps === void 0 ? {} : _ref3$lineProps,\n _ref3$className = _ref3.className,\n className = _ref3$className === void 0 ? [] : _ref3$className,\n showLineNumbers = _ref3.showLineNumbers,\n wrapLongLines = _ref3.wrapLongLines;\n var properties = typeof lineProps === 'function' ? lineProps(lineNumber) : lineProps;\n properties['className'] = className;\n\n if (lineNumber && showInlineLineNumbers) {\n var inlineLineNumberStyle = assembleLineNumberStyles(lineNumberStyle, lineNumber, largestLineNumber);\n children.unshift(getInlineLineNumber(lineNumber, inlineLineNumberStyle));\n }\n\n if (wrapLongLines & showLineNumbers) {\n properties.style = _objectSpread(_objectSpread({}, properties.style), {}, {\n display: 'flex'\n });\n }\n\n return {\n type: 'element',\n tagName: 'span',\n properties: properties,\n children: children\n };\n}\n\nfunction flattenCodeTree(tree) {\n var className = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var newTree = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n\n for (var i = 0; i < tree.length; i++) {\n var node = tree[i];\n\n if (node.type === 'text') {\n newTree.push(createLineElement({\n children: [node],\n className: _toConsumableArray(new Set(className))\n }));\n } else if (node.children) {\n var classNames = className.concat(node.properties.className);\n flattenCodeTree(node.children, classNames).forEach(function (i) {\n return newTree.push(i);\n });\n }\n }\n\n return newTree;\n}\n\nfunction processLines(codeTree, wrapLines, lineProps, showLineNumbers, showInlineLineNumbers, startingLineNumber, largestLineNumber, lineNumberStyle, wrapLongLines) {\n var _ref4;\n\n var tree = flattenCodeTree(codeTree.value);\n var newTree = [];\n var lastLineBreakIndex = -1;\n var index = 0;\n\n function createWrappedLine(children, lineNumber) {\n var className = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n return createLineElement({\n children: children,\n lineNumber: lineNumber,\n lineNumberStyle: lineNumberStyle,\n largestLineNumber: largestLineNumber,\n showInlineLineNumbers: showInlineLineNumbers,\n lineProps: lineProps,\n className: className,\n showLineNumbers: showLineNumbers,\n wrapLongLines: wrapLongLines\n });\n }\n\n function createUnwrappedLine(children, lineNumber) {\n if (showLineNumbers && lineNumber && showInlineLineNumbers) {\n var inlineLineNumberStyle = assembleLineNumberStyles(lineNumberStyle, lineNumber, largestLineNumber);\n children.unshift(getInlineLineNumber(lineNumber, inlineLineNumberStyle));\n }\n\n return children;\n }\n\n function createLine(children, lineNumber) {\n var className = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n return wrapLines || className.length > 0 ? createWrappedLine(children, lineNumber, className) : createUnwrappedLine(children, lineNumber);\n }\n\n var _loop = function _loop() {\n var node = tree[index];\n var value = node.children[0].value;\n var newLines = getNewLines(value);\n\n if (newLines) {\n var splitValue = value.split('\\n');\n splitValue.forEach(function (text, i) {\n var lineNumber = showLineNumbers && newTree.length + startingLineNumber;\n var newChild = {\n type: 'text',\n value: \"\".concat(text, \"\\n\")\n }; // if it's the first line\n\n if (i === 0) {\n var _children = tree.slice(lastLineBreakIndex + 1, index).concat(createLineElement({\n children: [newChild],\n className: node.properties.className\n }));\n\n var _line = createLine(_children, lineNumber);\n\n newTree.push(_line); // if it's the last line\n } else if (i === splitValue.length - 1) {\n var stringChild = tree[index + 1] && tree[index + 1].children && tree[index + 1].children[0];\n var lastLineInPreviousSpan = {\n type: 'text',\n value: \"\".concat(text)\n };\n\n if (stringChild) {\n var newElem = createLineElement({\n children: [lastLineInPreviousSpan],\n className: node.properties.className\n });\n tree.splice(index + 1, 0, newElem);\n } else {\n var _children2 = [lastLineInPreviousSpan];\n\n var _line2 = createLine(_children2, lineNumber, node.properties.className);\n\n newTree.push(_line2);\n } // if it's neither the first nor the last line\n\n } else {\n var _children3 = [newChild];\n\n var _line3 = createLine(_children3, lineNumber, node.properties.className);\n\n newTree.push(_line3);\n }\n });\n lastLineBreakIndex = index;\n }\n\n index++;\n };\n\n while (index < tree.length) {\n _loop();\n }\n\n if (lastLineBreakIndex !== tree.length - 1) {\n var children = tree.slice(lastLineBreakIndex + 1, tree.length);\n\n if (children && children.length) {\n var lineNumber = showLineNumbers && newTree.length + startingLineNumber;\n var line = createLine(children, lineNumber);\n newTree.push(line);\n }\n }\n\n return wrapLines ? newTree : (_ref4 = []).concat.apply(_ref4, newTree);\n}\n\nfunction defaultRenderer(_ref5) {\n var rows = _ref5.rows,\n stylesheet = _ref5.stylesheet,\n useInlineStyles = _ref5.useInlineStyles;\n return rows.map(function (node, i) {\n return createElement({\n node: node,\n stylesheet: stylesheet,\n useInlineStyles: useInlineStyles,\n key: \"code-segement\".concat(i)\n });\n });\n} // only highlight.js has the highlightAuto method\n\n\nfunction isHighlightJs(astGenerator) {\n return astGenerator && typeof astGenerator.highlightAuto !== 'undefined';\n}\n\nfunction getCodeTree(_ref6) {\n var astGenerator = _ref6.astGenerator,\n language = _ref6.language,\n code = _ref6.code,\n defaultCodeValue = _ref6.defaultCodeValue;\n\n // figure out whether we're using lowlight/highlight or refractor/prism\n // then attempt highlighting accordingly\n // lowlight/highlight?\n if (isHighlightJs(astGenerator)) {\n var hasLanguage = checkForListedLanguage(astGenerator, language);\n\n if (language === 'text') {\n return {\n value: defaultCodeValue,\n language: 'text'\n };\n } else if (hasLanguage) {\n return astGenerator.highlight(language, code);\n } else {\n return astGenerator.highlightAuto(code);\n }\n } // must be refractor/prism, then\n\n\n try {\n return language && language !== 'text' ? {\n value: astGenerator.highlight(code, language)\n } : {\n value: defaultCodeValue\n };\n } catch (e) {\n return {\n value: defaultCodeValue\n };\n }\n}\n\nexport default function (defaultAstGenerator, defaultStyle) {\n return function SyntaxHighlighter(_ref7) {\n var language = _ref7.language,\n children = _ref7.children,\n _ref7$style = _ref7.style,\n style = _ref7$style === void 0 ? defaultStyle : _ref7$style,\n _ref7$customStyle = _ref7.customStyle,\n customStyle = _ref7$customStyle === void 0 ? {} : _ref7$customStyle,\n _ref7$codeTagProps = _ref7.codeTagProps,\n codeTagProps = _ref7$codeTagProps === void 0 ? {\n className: language ? \"language-\".concat(language) : undefined,\n style: _objectSpread(_objectSpread({}, style['code[class*=\"language-\"]']), style[\"code[class*=\\\"language-\".concat(language, \"\\\"]\")])\n } : _ref7$codeTagProps,\n _ref7$useInlineStyles = _ref7.useInlineStyles,\n useInlineStyles = _ref7$useInlineStyles === void 0 ? true : _ref7$useInlineStyles,\n _ref7$showLineNumbers = _ref7.showLineNumbers,\n showLineNumbers = _ref7$showLineNumbers === void 0 ? false : _ref7$showLineNumbers,\n _ref7$showInlineLineN = _ref7.showInlineLineNumbers,\n showInlineLineNumbers = _ref7$showInlineLineN === void 0 ? true : _ref7$showInlineLineN,\n _ref7$startingLineNum = _ref7.startingLineNumber,\n startingLineNumber = _ref7$startingLineNum === void 0 ? 1 : _ref7$startingLineNum,\n lineNumberContainerStyle = _ref7.lineNumberContainerStyle,\n _ref7$lineNumberStyle = _ref7.lineNumberStyle,\n lineNumberStyle = _ref7$lineNumberStyle === void 0 ? {} : _ref7$lineNumberStyle,\n wrapLines = _ref7.wrapLines,\n _ref7$wrapLongLines = _ref7.wrapLongLines,\n wrapLongLines = _ref7$wrapLongLines === void 0 ? false : _ref7$wrapLongLines,\n _ref7$lineProps = _ref7.lineProps,\n lineProps = _ref7$lineProps === void 0 ? {} : _ref7$lineProps,\n renderer = _ref7.renderer,\n _ref7$PreTag = _ref7.PreTag,\n PreTag = _ref7$PreTag === void 0 ? 'pre' : _ref7$PreTag,\n _ref7$CodeTag = _ref7.CodeTag,\n CodeTag = _ref7$CodeTag === void 0 ? 'code' : _ref7$CodeTag,\n _ref7$code = _ref7.code,\n code = _ref7$code === void 0 ? (Array.isArray(children) ? children[0] : children) || '' : _ref7$code,\n astGenerator = _ref7.astGenerator,\n rest = _objectWithoutProperties(_ref7, _excluded);\n\n astGenerator = astGenerator || defaultAstGenerator;\n var allLineNumbers = showLineNumbers ? /*#__PURE__*/React.createElement(AllLineNumbers, {\n containerStyle: lineNumberContainerStyle,\n codeStyle: codeTagProps.style || {},\n numberStyle: lineNumberStyle,\n startingLineNumber: startingLineNumber,\n codeString: code\n }) : null;\n var defaultPreStyle = style.hljs || style['pre[class*=\"language-\"]'] || {\n backgroundColor: '#fff'\n };\n var generatorClassName = isHighlightJs(astGenerator) ? 'hljs' : 'prismjs';\n var preProps = useInlineStyles ? Object.assign({}, rest, {\n style: Object.assign({}, defaultPreStyle, customStyle)\n }) : Object.assign({}, rest, {\n className: rest.className ? \"\".concat(generatorClassName, \" \").concat(rest.className) : generatorClassName,\n style: Object.assign({}, customStyle)\n });\n\n if (wrapLongLines) {\n codeTagProps.style = _objectSpread(_objectSpread({}, codeTagProps.style), {}, {\n whiteSpace: 'pre-wrap'\n });\n } else {\n codeTagProps.style = _objectSpread(_objectSpread({}, codeTagProps.style), {}, {\n whiteSpace: 'pre'\n });\n }\n\n if (!astGenerator) {\n return /*#__PURE__*/React.createElement(PreTag, preProps, allLineNumbers, /*#__PURE__*/React.createElement(CodeTag, codeTagProps, code));\n }\n /*\n * Some custom renderers rely on individual row elements so we need to turn wrapLines on\n * if renderer is provided and wrapLines is undefined.\n */\n\n\n if (wrapLines === undefined && renderer || wrapLongLines) wrapLines = true;\n renderer = renderer || defaultRenderer;\n var defaultCodeValue = [{\n type: 'text',\n value: code\n }];\n var codeTree = getCodeTree({\n astGenerator: astGenerator,\n language: language,\n code: code,\n defaultCodeValue: defaultCodeValue\n });\n\n if (codeTree.language === null) {\n codeTree.value = defaultCodeValue;\n } // determine largest line number so that we can force minWidth on all linenumber elements\n\n\n var largestLineNumber = codeTree.value.length + startingLineNumber;\n var rows = processLines(codeTree, wrapLines, lineProps, showLineNumbers, showInlineLineNumbers, startingLineNumber, largestLineNumber, lineNumberStyle, wrapLongLines);\n return /*#__PURE__*/React.createElement(PreTag, preProps, /*#__PURE__*/React.createElement(CodeTag, codeTagProps, !showInlineLineNumbers && allLineNumbers, renderer({\n rows: rows,\n stylesheet: style,\n useInlineStyles: useInlineStyles\n })));\n };\n}","export default {\n \"code[class*=\\\"language-\\\"]\": {\n \"color\": \"black\",\n \"background\": \"none\",\n \"textShadow\": \"0 1px white\",\n \"fontFamily\": \"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace\",\n \"fontSize\": \"1em\",\n \"textAlign\": \"left\",\n \"whiteSpace\": \"pre\",\n \"wordSpacing\": \"normal\",\n \"wordBreak\": \"normal\",\n \"wordWrap\": \"normal\",\n \"lineHeight\": \"1.5\",\n \"MozTabSize\": \"4\",\n \"OTabSize\": \"4\",\n \"tabSize\": \"4\",\n \"WebkitHyphens\": \"none\",\n \"MozHyphens\": \"none\",\n \"msHyphens\": \"none\",\n \"hyphens\": \"none\"\n },\n \"pre[class*=\\\"language-\\\"]\": {\n \"color\": \"black\",\n \"background\": \"#f5f2f0\",\n \"textShadow\": \"0 1px white\",\n \"fontFamily\": \"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace\",\n \"fontSize\": \"1em\",\n \"textAlign\": \"left\",\n \"whiteSpace\": \"pre\",\n \"wordSpacing\": \"normal\",\n \"wordBreak\": \"normal\",\n \"wordWrap\": \"normal\",\n \"lineHeight\": \"1.5\",\n \"MozTabSize\": \"4\",\n \"OTabSize\": \"4\",\n \"tabSize\": \"4\",\n \"WebkitHyphens\": \"none\",\n \"MozHyphens\": \"none\",\n \"msHyphens\": \"none\",\n \"hyphens\": \"none\",\n \"padding\": \"1em\",\n \"margin\": \".5em 0\",\n \"overflow\": \"auto\"\n },\n \"pre[class*=\\\"language-\\\"]::-moz-selection\": {\n \"textShadow\": \"none\",\n \"background\": \"#b3d4fc\"\n },\n \"pre[class*=\\\"language-\\\"] ::-moz-selection\": {\n \"textShadow\": \"none\",\n \"background\": \"#b3d4fc\"\n },\n \"code[class*=\\\"language-\\\"]::-moz-selection\": {\n \"textShadow\": \"none\",\n \"background\": \"#b3d4fc\"\n },\n \"code[class*=\\\"language-\\\"] ::-moz-selection\": {\n \"textShadow\": \"none\",\n \"background\": \"#b3d4fc\"\n },\n \"pre[class*=\\\"language-\\\"]::selection\": {\n \"textShadow\": \"none\",\n \"background\": \"#b3d4fc\"\n },\n \"pre[class*=\\\"language-\\\"] ::selection\": {\n \"textShadow\": \"none\",\n \"background\": \"#b3d4fc\"\n },\n \"code[class*=\\\"language-\\\"]::selection\": {\n \"textShadow\": \"none\",\n \"background\": \"#b3d4fc\"\n },\n \"code[class*=\\\"language-\\\"] ::selection\": {\n \"textShadow\": \"none\",\n \"background\": \"#b3d4fc\"\n },\n \":not(pre) > code[class*=\\\"language-\\\"]\": {\n \"background\": \"#f5f2f0\",\n \"padding\": \".1em\",\n \"borderRadius\": \".3em\",\n \"whiteSpace\": \"normal\"\n },\n \"comment\": {\n \"color\": \"slategray\"\n },\n \"prolog\": {\n \"color\": \"slategray\"\n },\n \"doctype\": {\n \"color\": \"slategray\"\n },\n \"cdata\": {\n \"color\": \"slategray\"\n },\n \"punctuation\": {\n \"color\": \"#999\"\n },\n \"namespace\": {\n \"Opacity\": \".7\"\n },\n \"property\": {\n \"color\": \"#905\"\n },\n \"tag\": {\n \"color\": \"#905\"\n },\n \"boolean\": {\n \"color\": \"#905\"\n },\n \"number\": {\n \"color\": \"#905\"\n },\n \"constant\": {\n \"color\": \"#905\"\n },\n \"symbol\": {\n \"color\": \"#905\"\n },\n \"deleted\": {\n \"color\": \"#905\"\n },\n \"selector\": {\n \"color\": \"#690\"\n },\n \"attr-name\": {\n \"color\": \"#690\"\n },\n \"string\": {\n \"color\": \"#690\"\n },\n \"char\": {\n \"color\": \"#690\"\n },\n \"builtin\": {\n \"color\": \"#690\"\n },\n \"inserted\": {\n \"color\": \"#690\"\n },\n \"operator\": {\n \"color\": \"#9a6e3a\",\n \"background\": \"hsla(0, 0%, 100%, .5)\"\n },\n \"entity\": {\n \"color\": \"#9a6e3a\",\n \"background\": \"hsla(0, 0%, 100%, .5)\",\n \"cursor\": \"help\"\n },\n \"url\": {\n \"color\": \"#9a6e3a\",\n \"background\": \"hsla(0, 0%, 100%, .5)\"\n },\n \".language-css .token.string\": {\n \"color\": \"#9a6e3a\",\n \"background\": \"hsla(0, 0%, 100%, .5)\"\n },\n \".style .token.string\": {\n \"color\": \"#9a6e3a\",\n \"background\": \"hsla(0, 0%, 100%, .5)\"\n },\n \"atrule\": {\n \"color\": \"#07a\"\n },\n \"attr-value\": {\n \"color\": \"#07a\"\n },\n \"keyword\": {\n \"color\": \"#07a\"\n },\n \"function\": {\n \"color\": \"#DD4A68\"\n },\n \"class-name\": {\n \"color\": \"#DD4A68\"\n },\n \"regex\": {\n \"color\": \"#e90\"\n },\n \"important\": {\n \"color\": \"#e90\",\n \"fontWeight\": \"bold\"\n },\n \"variable\": {\n \"color\": \"#e90\"\n },\n \"bold\": {\n \"fontWeight\": \"bold\"\n },\n \"italic\": {\n \"fontStyle\": \"italic\"\n }\n};","import highlight from './highlight';\nimport defaultStyle from './styles/prism/prism';\nimport refractor from 'refractor';\nimport supportedLanguages from './languages/prism/supported-languages';\nvar highlighter = highlight(refractor, defaultStyle);\nhighlighter.supportedLanguages = supportedLanguages;\nexport default highlighter;","//\n// This file has been auto-generated by the `npm run build-languages-prism` task\n//\nexport default ['abap', 'abnf', 'actionscript', 'ada', 'agda', 'al', 'antlr4', 'apacheconf', 'apex', 'apl', 'applescript', 'aql', 'arduino', 'arff', 'asciidoc', 'asm6502', 'asmatmel', 'aspnet', 'autohotkey', 'autoit', 'avisynth', 'avro-idl', 'bash', 'basic', 'batch', 'bbcode', 'bicep', 'birb', 'bison', 'bnf', 'brainfuck', 'brightscript', 'bro', 'bsl', 'c', 'cfscript', 'chaiscript', 'cil', 'clike', 'clojure', 'cmake', 'cobol', 'coffeescript', 'concurnas', 'coq', 'cpp', 'crystal', 'csharp', 'cshtml', 'csp', 'css-extras', 'css', 'csv', 'cypher', 'd', 'dart', 'dataweave', 'dax', 'dhall', 'diff', 'django', 'dns-zone-file', 'docker', 'dot', 'ebnf', 'editorconfig', 'eiffel', 'ejs', 'elixir', 'elm', 'erb', 'erlang', 'etlua', 'excel-formula', 'factor', 'false', 'firestore-security-rules', 'flow', 'fortran', 'fsharp', 'ftl', 'gap', 'gcode', 'gdscript', 'gedcom', 'gherkin', 'git', 'glsl', 'gml', 'gn', 'go-module', 'go', 'graphql', 'groovy', 'haml', 'handlebars', 'haskell', 'haxe', 'hcl', 'hlsl', 'hoon', 'hpkp', 'hsts', 'http', 'ichigojam', 'icon', 'icu-message-format', 'idris', 'iecst', 'ignore', 'inform7', 'ini', 'io', 'j', 'java', 'javadoc', 'javadoclike', 'javascript', 'javastacktrace', 'jexl', 'jolie', 'jq', 'js-extras', 'js-templates', 'jsdoc', 'json', 'json5', 'jsonp', 'jsstacktrace', 'jsx', 'julia', 'keepalived', 'keyman', 'kotlin', 'kumir', 'kusto', 'latex', 'latte', 'less', 'lilypond', 'liquid', 'lisp', 'livescript', 'llvm', 'log', 'lolcode', 'lua', 'magma', 'makefile', 'markdown', 'markup-templating', 'markup', 'matlab', 'maxscript', 'mel', 'mermaid', 'mizar', 'mongodb', 'monkey', 'moonscript', 'n1ql', 'n4js', 'nand2tetris-hdl', 'naniscript', 'nasm', 'neon', 'nevod', 'nginx', 'nim', 'nix', 'nsis', 'objectivec', 'ocaml', 'opencl', 'openqasm', 'oz', 'parigp', 'parser', 'pascal', 'pascaligo', 'pcaxis', 'peoplecode', 'perl', 'php-extras', 'php', 'phpdoc', 'plsql', 'powerquery', 'powershell', 'processing', 'prolog', 'promql', 'properties', 'protobuf', 'psl', 'pug', 'puppet', 'pure', 'purebasic', 'purescript', 'python', 'q', 'qml', 'qore', 'qsharp', 'r', 'racket', 'reason', 'regex', 'rego', 'renpy', 'rest', 'rip', 'roboconf', 'robotframework', 'ruby', 'rust', 'sas', 'sass', 'scala', 'scheme', 'scss', 'shell-session', 'smali', 'smalltalk', 'smarty', 'sml', 'solidity', 'solution-file', 'soy', 'sparql', 'splunk-spl', 'sqf', 'sql', 'squirrel', 'stan', 'stylus', 'swift', 'systemd', 't4-cs', 't4-templating', 't4-vb', 'tap', 'tcl', 'textile', 'toml', 'tremor', 'tsx', 'tt2', 'turtle', 'twig', 'typescript', 'typoscript', 'unrealscript', 'uorazor', 'uri', 'v', 'vala', 'vbnet', 'velocity', 'verilog', 'vhdl', 'vim', 'visual-basic', 'warpscript', 'wasm', 'web-idl', 'wiki', 'wolfram', 'wren', 'xeora', 'xml-doc', 'xojo', 'xquery', 'yaml', 'yang', 'zig'];","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Previous} Previous\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {\n asciiAlpha,\n asciiAlphanumeric,\n asciiControl,\n asciiDigit,\n markdownLineEndingOrSpace,\n markdownLineEnding,\n unicodePunctuation,\n unicodeWhitespace\n} from 'micromark-util-character'\nconst www = {\n tokenize: tokenizeWww,\n partial: true\n}\nconst domain = {\n tokenize: tokenizeDomain,\n partial: true\n}\nconst path = {\n tokenize: tokenizePath,\n partial: true\n}\nconst punctuation = {\n tokenize: tokenizePunctuation,\n partial: true\n}\nconst namedCharacterReference = {\n tokenize: tokenizeNamedCharacterReference,\n partial: true\n}\nconst wwwAutolink = {\n tokenize: tokenizeWwwAutolink,\n previous: previousWww\n}\nconst httpAutolink = {\n tokenize: tokenizeHttpAutolink,\n previous: previousHttp\n}\nconst emailAutolink = {\n tokenize: tokenizeEmailAutolink,\n previous: previousEmail\n}\n/** @type {ConstructRecord} */\n\nconst text = {}\n/** @type {Extension} */\n\nexport const gfmAutolinkLiteral = {\n text\n}\nlet code = 48 // Add alphanumerics.\n\nwhile (code < 123) {\n text[code] = emailAutolink\n code++\n if (code === 58) code = 65\n else if (code === 91) code = 97\n}\n\ntext[43] = emailAutolink\ntext[45] = emailAutolink\ntext[46] = emailAutolink\ntext[95] = emailAutolink\ntext[72] = [emailAutolink, httpAutolink]\ntext[104] = [emailAutolink, httpAutolink]\ntext[87] = [emailAutolink, wwwAutolink]\ntext[119] = [emailAutolink, wwwAutolink]\n/** @type {Tokenizer} */\n\nfunction tokenizeEmailAutolink(effects, ok, nok) {\n const self = this\n /** @type {boolean} */\n\n let hasDot\n /** @type {boolean|undefined} */\n\n let hasDigitInLastSegment\n return start\n /** @type {State} */\n\n function start(code) {\n if (\n !gfmAtext(code) ||\n !previousEmail(self.previous) ||\n previousUnbalanced(self.events)\n ) {\n return nok(code)\n }\n\n effects.enter('literalAutolink')\n effects.enter('literalAutolinkEmail')\n return atext(code)\n }\n /** @type {State} */\n\n function atext(code) {\n if (gfmAtext(code)) {\n effects.consume(code)\n return atext\n }\n\n if (code === 64) {\n effects.consume(code)\n return label\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function label(code) {\n if (code === 46) {\n return effects.check(punctuation, done, dotContinuation)(code)\n }\n\n if (code === 45 || code === 95) {\n return effects.check(punctuation, nok, dashOrUnderscoreContinuation)(code)\n }\n\n if (asciiAlphanumeric(code)) {\n if (!hasDigitInLastSegment && asciiDigit(code)) {\n hasDigitInLastSegment = true\n }\n\n effects.consume(code)\n return label\n }\n\n return done(code)\n }\n /** @type {State} */\n\n function dotContinuation(code) {\n effects.consume(code)\n hasDot = true\n hasDigitInLastSegment = undefined\n return label\n }\n /** @type {State} */\n\n function dashOrUnderscoreContinuation(code) {\n effects.consume(code)\n return afterDashOrUnderscore\n }\n /** @type {State} */\n\n function afterDashOrUnderscore(code) {\n if (code === 46) {\n return effects.check(punctuation, nok, dotContinuation)(code)\n }\n\n return label(code)\n }\n /** @type {State} */\n\n function done(code) {\n if (hasDot && !hasDigitInLastSegment) {\n effects.exit('literalAutolinkEmail')\n effects.exit('literalAutolink')\n return ok(code)\n }\n\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeWwwAutolink(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n if (\n (code !== 87 && code !== 119) ||\n !previousWww(self.previous) ||\n previousUnbalanced(self.events)\n ) {\n return nok(code)\n }\n\n effects.enter('literalAutolink')\n effects.enter('literalAutolinkWww') // For `www.` we check instead of attempt, because when it matches, GH\n // treats it as part of a domain (yes, it says a valid domain must come\n // after `www.`, but that’s not how it’s implemented by them).\n\n return effects.check(\n www,\n effects.attempt(domain, effects.attempt(path, done), nok),\n nok\n )(code)\n }\n /** @type {State} */\n\n function done(code) {\n effects.exit('literalAutolinkWww')\n effects.exit('literalAutolink')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeHttpAutolink(effects, ok, nok) {\n const self = this\n return start\n /** @type {State} */\n\n function start(code) {\n if (\n (code !== 72 && code !== 104) ||\n !previousHttp(self.previous) ||\n previousUnbalanced(self.events)\n ) {\n return nok(code)\n }\n\n effects.enter('literalAutolink')\n effects.enter('literalAutolinkHttp')\n effects.consume(code)\n return t1\n }\n /** @type {State} */\n\n function t1(code) {\n if (code === 84 || code === 116) {\n effects.consume(code)\n return t2\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function t2(code) {\n if (code === 84 || code === 116) {\n effects.consume(code)\n return p\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function p(code) {\n if (code === 80 || code === 112) {\n effects.consume(code)\n return s\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function s(code) {\n if (code === 83 || code === 115) {\n effects.consume(code)\n return colon\n }\n\n return colon(code)\n }\n /** @type {State} */\n\n function colon(code) {\n if (code === 58) {\n effects.consume(code)\n return slash1\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function slash1(code) {\n if (code === 47) {\n effects.consume(code)\n return slash2\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function slash2(code) {\n if (code === 47) {\n effects.consume(code)\n return after\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n return code === null ||\n asciiControl(code) ||\n unicodeWhitespace(code) ||\n unicodePunctuation(code)\n ? nok(code)\n : effects.attempt(domain, effects.attempt(path, done), nok)(code)\n }\n /** @type {State} */\n\n function done(code) {\n effects.exit('literalAutolinkHttp')\n effects.exit('literalAutolink')\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeWww(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.consume(code)\n return w2\n }\n /** @type {State} */\n\n function w2(code) {\n if (code === 87 || code === 119) {\n effects.consume(code)\n return w3\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function w3(code) {\n if (code === 87 || code === 119) {\n effects.consume(code)\n return dot\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function dot(code) {\n if (code === 46) {\n effects.consume(code)\n return after\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n return code === null || markdownLineEnding(code) ? nok(code) : ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeDomain(effects, ok, nok) {\n /** @type {boolean|undefined} */\n let hasUnderscoreInLastSegment\n /** @type {boolean|undefined} */\n\n let hasUnderscoreInLastLastSegment\n return domain\n /** @type {State} */\n\n function domain(code) {\n if (code === 38) {\n return effects.check(\n namedCharacterReference,\n done,\n punctuationContinuation\n )(code)\n }\n\n if (code === 46 || code === 95) {\n return effects.check(punctuation, done, punctuationContinuation)(code)\n } // GH documents that only alphanumerics (other than `-`, `.`, and `_`) can\n // occur, which sounds like ASCII only, but they also support `www.點看.com`,\n // so that’s Unicode.\n // Instead of some new production for Unicode alphanumerics, markdown\n // already has that for Unicode punctuation and whitespace, so use those.\n\n if (\n code === null ||\n asciiControl(code) ||\n unicodeWhitespace(code) ||\n (code !== 45 && unicodePunctuation(code))\n ) {\n return done(code)\n }\n\n effects.consume(code)\n return domain\n }\n /** @type {State} */\n\n function punctuationContinuation(code) {\n if (code === 46) {\n hasUnderscoreInLastLastSegment = hasUnderscoreInLastSegment\n hasUnderscoreInLastSegment = undefined\n effects.consume(code)\n return domain\n }\n\n if (code === 95) hasUnderscoreInLastSegment = true\n effects.consume(code)\n return domain\n }\n /** @type {State} */\n\n function done(code) {\n if (!hasUnderscoreInLastLastSegment && !hasUnderscoreInLastSegment) {\n return ok(code)\n }\n\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizePath(effects, ok) {\n let balance = 0\n return inPath\n /** @type {State} */\n\n function inPath(code) {\n if (code === 38) {\n return effects.check(\n namedCharacterReference,\n ok,\n continuedPunctuation\n )(code)\n }\n\n if (code === 40) {\n balance++\n }\n\n if (code === 41) {\n return effects.check(\n punctuation,\n parenAtPathEnd,\n continuedPunctuation\n )(code)\n }\n\n if (pathEnd(code)) {\n return ok(code)\n }\n\n if (trailingPunctuation(code)) {\n return effects.check(punctuation, ok, continuedPunctuation)(code)\n }\n\n effects.consume(code)\n return inPath\n }\n /** @type {State} */\n\n function continuedPunctuation(code) {\n effects.consume(code)\n return inPath\n }\n /** @type {State} */\n\n function parenAtPathEnd(code) {\n balance--\n return balance < 0 ? ok(code) : continuedPunctuation(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeNamedCharacterReference(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.consume(code)\n return inside\n }\n /** @type {State} */\n\n function inside(code) {\n if (asciiAlpha(code)) {\n effects.consume(code)\n return inside\n }\n\n if (code === 59) {\n effects.consume(code)\n return after\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function after(code) {\n // If the named character reference is followed by the end of the path, it’s\n // not continued punctuation.\n return pathEnd(code) ? ok(code) : nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizePunctuation(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.consume(code)\n return after\n }\n /** @type {State} */\n\n function after(code) {\n // Check the next.\n if (trailingPunctuation(code)) {\n effects.consume(code)\n return after\n } // If the punctuation marker is followed by the end of the path, it’s not\n // continued punctuation.\n\n return pathEnd(code) ? ok(code) : nok(code)\n }\n}\n/**\n * @param {Code} code\n * @returns {boolean}\n */\n\nfunction trailingPunctuation(code) {\n return (\n code === 33 ||\n code === 34 ||\n code === 39 ||\n code === 41 ||\n code === 42 ||\n code === 44 ||\n code === 46 ||\n code === 58 ||\n code === 59 ||\n code === 60 ||\n code === 63 ||\n code === 95 ||\n code === 126\n )\n}\n/**\n * @param {Code} code\n * @returns {boolean}\n */\n\nfunction pathEnd(code) {\n return code === null || code === 60 || markdownLineEndingOrSpace(code)\n}\n/**\n * @param {Code} code\n * @returns {boolean}\n */\n\nfunction gfmAtext(code) {\n return (\n code === 43 ||\n code === 45 ||\n code === 46 ||\n code === 95 ||\n asciiAlphanumeric(code)\n )\n}\n/** @type {Previous} */\n\nfunction previousWww(code) {\n return (\n code === null ||\n code === 40 ||\n code === 42 ||\n code === 95 ||\n code === 126 ||\n markdownLineEndingOrSpace(code)\n )\n}\n/** @type {Previous} */\n\nfunction previousHttp(code) {\n return code === null || !asciiAlpha(code)\n}\n/** @type {Previous} */\n\nfunction previousEmail(code) {\n return code !== 47 && previousHttp(code)\n}\n/**\n * @param {Array<Event>} events\n * @returns {boolean}\n */\n\nfunction previousUnbalanced(events) {\n let index = events.length\n let result = false\n\n while (index--) {\n const token = events[index][1]\n\n if (\n (token.type === 'labelLink' || token.type === 'labelImage') &&\n !token._balanced\n ) {\n result = true\n break\n } // @ts-expect-error If we’ve seen this token, and it was marked as not\n // having any unbalanced bracket before it, we can exit.\n\n if (token._gfmAutolinkLiteralWalkedInto) {\n result = false\n break\n }\n }\n\n if (events.length > 0 && !result) {\n // @ts-expect-error Mark the last token as “walked into” w/o finding\n // anything.\n events[events.length - 1][1]._gfmAutolinkLiteralWalkedInto = true\n }\n\n return result\n}\n","export default {\n \"code[class*=\\\"language-\\\"]\": {\n \"color\": \"#e3eaf2\",\n \"background\": \"none\",\n \"fontFamily\": \"Consolas, Monaco, \\\"Andale Mono\\\", \\\"Ubuntu Mono\\\", monospace\",\n \"textAlign\": \"left\",\n \"whiteSpace\": \"pre\",\n \"wordSpacing\": \"normal\",\n \"wordBreak\": \"normal\",\n \"wordWrap\": \"normal\",\n \"lineHeight\": \"1.5\",\n \"MozTabSize\": \"4\",\n \"OTabSize\": \"4\",\n \"tabSize\": \"4\",\n \"WebkitHyphens\": \"none\",\n \"MozHyphens\": \"none\",\n \"msHyphens\": \"none\",\n \"hyphens\": \"none\"\n },\n \"pre[class*=\\\"language-\\\"]\": {\n \"color\": \"#e3eaf2\",\n \"background\": \"#111b27\",\n \"fontFamily\": \"Consolas, Monaco, \\\"Andale Mono\\\", \\\"Ubuntu Mono\\\", monospace\",\n \"textAlign\": \"left\",\n \"whiteSpace\": \"pre\",\n \"wordSpacing\": \"normal\",\n \"wordBreak\": \"normal\",\n \"wordWrap\": \"normal\",\n \"lineHeight\": \"1.5\",\n \"MozTabSize\": \"4\",\n \"OTabSize\": \"4\",\n \"tabSize\": \"4\",\n \"WebkitHyphens\": \"none\",\n \"MozHyphens\": \"none\",\n \"msHyphens\": \"none\",\n \"hyphens\": \"none\",\n \"padding\": \"1em\",\n \"margin\": \"0.5em 0\",\n \"overflow\": \"auto\"\n },\n \"pre[class*=\\\"language-\\\"]::-moz-selection\": {\n \"background\": \"#3c526d\"\n },\n \"pre[class*=\\\"language-\\\"] ::-moz-selection\": {\n \"background\": \"#3c526d\"\n },\n \"code[class*=\\\"language-\\\"]::-moz-selection\": {\n \"background\": \"#3c526d\"\n },\n \"code[class*=\\\"language-\\\"] ::-moz-selection\": {\n \"background\": \"#3c526d\"\n },\n \"pre[class*=\\\"language-\\\"]::selection\": {\n \"background\": \"#3c526d\"\n },\n \"pre[class*=\\\"language-\\\"] ::selection\": {\n \"background\": \"#3c526d\"\n },\n \"code[class*=\\\"language-\\\"]::selection\": {\n \"background\": \"#3c526d\"\n },\n \"code[class*=\\\"language-\\\"] ::selection\": {\n \"background\": \"#3c526d\"\n },\n \":not(pre) > code[class*=\\\"language-\\\"]\": {\n \"background\": \"#111b27\",\n \"padding\": \"0.1em 0.3em\",\n \"borderRadius\": \"0.3em\",\n \"whiteSpace\": \"normal\"\n },\n \"comment\": {\n \"color\": \"#8da1b9\"\n },\n \"prolog\": {\n \"color\": \"#8da1b9\"\n },\n \"doctype\": {\n \"color\": \"#8da1b9\"\n },\n \"cdata\": {\n \"color\": \"#8da1b9\"\n },\n \"punctuation\": {\n \"color\": \"#e3eaf2\"\n },\n \"delimiter.important\": {\n \"color\": \"#66cccc\",\n \"fontWeight\": \"inherit\"\n },\n \"selector.parent\": {\n \"color\": \"#66cccc\"\n },\n \"tag\": {\n \"color\": \"#66cccc\"\n },\n \"tag.punctuation\": {\n \"color\": \"#66cccc\"\n },\n \"attr-name\": {\n \"color\": \"#e6d37a\"\n },\n \"boolean\": {\n \"color\": \"#e6d37a\"\n },\n \"boolean.important\": {\n \"color\": \"#e6d37a\"\n },\n \"number\": {\n \"color\": \"#e6d37a\"\n },\n \"constant\": {\n \"color\": \"#e6d37a\"\n },\n \"selector.attribute\": {\n \"color\": \"#e6d37a\"\n },\n \"class-name\": {\n \"color\": \"#6cb8e6\"\n },\n \"key\": {\n \"color\": \"#6cb8e6\"\n },\n \"parameter\": {\n \"color\": \"#6cb8e6\"\n },\n \"property\": {\n \"color\": \"#6cb8e6\"\n },\n \"property-access\": {\n \"color\": \"#6cb8e6\"\n },\n \"variable\": {\n \"color\": \"#6cb8e6\"\n },\n \"attr-value\": {\n \"color\": \"#91d076\"\n },\n \"inserted\": {\n \"color\": \"#91d076\"\n },\n \"color\": {\n \"color\": \"#91d076\"\n },\n \"selector.value\": {\n \"color\": \"#91d076\"\n },\n \"string\": {\n \"color\": \"#91d076\"\n },\n \"string.url-link\": {\n \"color\": \"#91d076\"\n },\n \"builtin\": {\n \"color\": \"#f4adf4\"\n },\n \"keyword-array\": {\n \"color\": \"#f4adf4\"\n },\n \"package\": {\n \"color\": \"#f4adf4\"\n },\n \"regex\": {\n \"color\": \"#f4adf4\"\n },\n \"function\": {\n \"color\": \"#c699e3\"\n },\n \"selector.class\": {\n \"color\": \"#c699e3\"\n },\n \"selector.id\": {\n \"color\": \"#c699e3\"\n },\n \"atrule.rule\": {\n \"color\": \"#e9ae7e\"\n },\n \"combinator\": {\n \"color\": \"#e9ae7e\"\n },\n \"keyword\": {\n \"color\": \"#e9ae7e\"\n },\n \"operator\": {\n \"color\": \"#e9ae7e\"\n },\n \"pseudo-class\": {\n \"color\": \"#e9ae7e\"\n },\n \"pseudo-element\": {\n \"color\": \"#e9ae7e\"\n },\n \"selector\": {\n \"color\": \"#e9ae7e\"\n },\n \"unit\": {\n \"color\": \"#e9ae7e\"\n },\n \"deleted\": {\n \"color\": \"#cd6660\"\n },\n \"important\": {\n \"color\": \"#cd6660\",\n \"fontWeight\": \"bold\"\n },\n \"keyword-this\": {\n \"color\": \"#6cb8e6\",\n \"fontWeight\": \"bold\"\n },\n \"this\": {\n \"color\": \"#6cb8e6\",\n \"fontWeight\": \"bold\"\n },\n \"bold\": {\n \"fontWeight\": \"bold\"\n },\n \"italic\": {\n \"fontStyle\": \"italic\"\n },\n \"entity\": {\n \"cursor\": \"help\"\n },\n \".language-markdown .token.title\": {\n \"color\": \"#6cb8e6\",\n \"fontWeight\": \"bold\"\n },\n \".language-markdown .token.title .token.punctuation\": {\n \"color\": \"#6cb8e6\",\n \"fontWeight\": \"bold\"\n },\n \".language-markdown .token.blockquote.punctuation\": {\n \"color\": \"#f4adf4\"\n },\n \".language-markdown .token.code\": {\n \"color\": \"#66cccc\"\n },\n \".language-markdown .token.hr.punctuation\": {\n \"color\": \"#6cb8e6\"\n },\n \".language-markdown .token.url .token.content\": {\n \"color\": \"#91d076\"\n },\n \".language-markdown .token.url-link\": {\n \"color\": \"#e6d37a\"\n },\n \".language-markdown .token.list.punctuation\": {\n \"color\": \"#f4adf4\"\n },\n \".language-markdown .token.table-header\": {\n \"color\": \"#e3eaf2\"\n },\n \".language-json .token.operator\": {\n \"color\": \"#e3eaf2\"\n },\n \".language-scss .token.variable\": {\n \"color\": \"#66cccc\"\n },\n \"token.tab:not(:empty):before\": {\n \"color\": \"#8da1b9\"\n },\n \"token.cr:before\": {\n \"color\": \"#8da1b9\"\n },\n \"token.lf:before\": {\n \"color\": \"#8da1b9\"\n },\n \"token.space:before\": {\n \"color\": \"#8da1b9\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a\": {\n \"color\": \"#111b27\",\n \"background\": \"#6cb8e6\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button\": {\n \"color\": \"#111b27\",\n \"background\": \"#6cb8e6\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:hover\": {\n \"color\": \"#111b27\",\n \"background\": \"#6cb8e6da\",\n \"textDecoration\": \"none\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:focus\": {\n \"color\": \"#111b27\",\n \"background\": \"#6cb8e6da\",\n \"textDecoration\": \"none\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover\": {\n \"color\": \"#111b27\",\n \"background\": \"#6cb8e6da\",\n \"textDecoration\": \"none\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus\": {\n \"color\": \"#111b27\",\n \"background\": \"#6cb8e6da\",\n \"textDecoration\": \"none\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span\": {\n \"color\": \"#111b27\",\n \"background\": \"#8da1b9\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:hover\": {\n \"color\": \"#111b27\",\n \"background\": \"#8da1b9\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus\": {\n \"color\": \"#111b27\",\n \"background\": \"#8da1b9\"\n },\n \".line-highlight.line-highlight\": {\n \"background\": \"linear-gradient(to right, #3c526d5f 70%, #3c526d55)\"\n },\n \".line-highlight.line-highlight:before\": {\n \"backgroundColor\": \"#8da1b9\",\n \"color\": \"#111b27\",\n \"boxShadow\": \"0 1px #3c526d\"\n },\n \".line-highlight.line-highlight[data-end]:after\": {\n \"backgroundColor\": \"#8da1b9\",\n \"color\": \"#111b27\",\n \"boxShadow\": \"0 1px #3c526d\"\n },\n \"pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows > span:hover:before\": {\n \"backgroundColor\": \"#8da1b918\"\n },\n \".line-numbers.line-numbers .line-numbers-rows\": {\n \"borderRight\": \"1px solid #0b121b\",\n \"background\": \"#0b121b7a\"\n },\n \".line-numbers .line-numbers-rows > span:before\": {\n \"color\": \"#8da1b9da\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-1\": {\n \"color\": \"#e6d37a\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-5\": {\n \"color\": \"#e6d37a\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-9\": {\n \"color\": \"#e6d37a\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-2\": {\n \"color\": \"#f4adf4\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-6\": {\n \"color\": \"#f4adf4\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-10\": {\n \"color\": \"#f4adf4\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-3\": {\n \"color\": \"#6cb8e6\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-7\": {\n \"color\": \"#6cb8e6\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-11\": {\n \"color\": \"#6cb8e6\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-4\": {\n \"color\": \"#c699e3\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-8\": {\n \"color\": \"#c699e3\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-12\": {\n \"color\": \"#c699e3\"\n },\n \"pre.diff-highlight > code .token.token.deleted:not(.prefix)\": {\n \"backgroundColor\": \"#cd66601f\"\n },\n \"pre > code.diff-highlight .token.token.deleted:not(.prefix)\": {\n \"backgroundColor\": \"#cd66601f\"\n },\n \"pre.diff-highlight > code .token.token.inserted:not(.prefix)\": {\n \"backgroundColor\": \"#91d0761f\"\n },\n \"pre > code.diff-highlight .token.token.inserted:not(.prefix)\": {\n \"backgroundColor\": \"#91d0761f\"\n },\n \".command-line .command-line-prompt\": {\n \"borderRight\": \"1px solid #0b121b\"\n },\n \".command-line .command-line-prompt > span:before\": {\n \"color\": \"#8da1b9da\"\n }\n};","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Exiter} Exiter\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Event} Event\n */\nimport {blankLine} from 'micromark-core-commonmark'\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace\n} from 'micromark-util-character'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nconst indent = {\n tokenize: tokenizeIndent,\n partial: true\n}\n/**\n * @returns {Extension}\n */\n\nexport function gfmFootnote() {\n /** @type {Extension} */\n return {\n document: {\n [91]: {\n tokenize: tokenizeDefinitionStart,\n continuation: {\n tokenize: tokenizeDefinitionContinuation\n },\n exit: gfmFootnoteDefinitionEnd\n }\n },\n text: {\n [91]: {\n tokenize: tokenizeGfmFootnoteCall\n },\n [93]: {\n add: 'after',\n tokenize: tokenizePotentialGfmFootnoteCall,\n resolveTo: resolveToPotentialGfmFootnoteCall\n }\n }\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizePotentialGfmFootnoteCall(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {Array<string>} */\n // @ts-expect-error It’s fine!\n\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = [])\n /** @type {Token} */\n\n let labelStart // Find an opening.\n\n while (index--) {\n const token = self.events[index][1]\n\n if (token.type === 'labelImage') {\n labelStart = token\n break\n } // Exit if we’ve walked far enough.\n\n if (\n token.type === 'gfmFootnoteCall' ||\n token.type === 'labelLink' ||\n token.type === 'label' ||\n token.type === 'image' ||\n token.type === 'link'\n ) {\n break\n }\n }\n\n return start\n /** @type {State} */\n\n function start(code) {\n if (!labelStart || !labelStart._balanced) {\n return nok(code)\n }\n\n const id = normalizeIdentifier(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n )\n\n if (id.charCodeAt(0) !== 94 || !defined.includes(id.slice(1))) {\n return nok(code)\n }\n\n effects.enter('gfmFootnoteCallLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteCallLabelMarker')\n return ok(code)\n }\n}\n/** @type {Resolver} */\n\nfunction resolveToPotentialGfmFootnoteCall(events, context) {\n let index = events.length\n /** @type {Token|undefined} */\n\n let labelStart // Find an opening.\n\n while (index--) {\n if (\n events[index][1].type === 'labelImage' &&\n events[index][0] === 'enter'\n ) {\n labelStart = events[index][1]\n break\n }\n }\n\n // Change the `labelImageMarker` to a `data`.\n events[index + 1][1].type = 'data'\n events[index + 3][1].type = 'gfmFootnoteCallLabelMarker' // The whole (without `!`):\n\n const call = {\n type: 'gfmFootnoteCall',\n start: Object.assign({}, events[index + 3][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n } // The `^` marker\n\n const marker = {\n type: 'gfmFootnoteCallMarker',\n start: Object.assign({}, events[index + 3][1].end),\n end: Object.assign({}, events[index + 3][1].end)\n } // Increment the end 1 character.\n\n marker.end.column++\n marker.end.offset++\n marker.end._bufferIndex++\n const string = {\n type: 'gfmFootnoteCallString',\n start: Object.assign({}, marker.end),\n end: Object.assign({}, events[events.length - 1][1].start)\n }\n const chunk = {\n type: 'chunkString',\n contentType: 'string',\n start: Object.assign({}, string.start),\n end: Object.assign({}, string.end)\n }\n /** @type {Array<Event>} */\n\n const replacement = [\n // Take the `labelImageMarker` (now `data`, the `!`)\n events[index + 1],\n events[index + 2],\n ['enter', call, context], // The `[`\n events[index + 3],\n events[index + 4], // The `^`.\n ['enter', marker, context],\n ['exit', marker, context], // Everything in between.\n ['enter', string, context],\n ['enter', chunk, context],\n ['exit', chunk, context],\n ['exit', string, context], // The ending (`]`, properly parsed and labelled).\n events[events.length - 2],\n events[events.length - 1],\n ['exit', call, context]\n ]\n events.splice(index, events.length - index + 1, ...replacement)\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeGfmFootnoteCall(effects, ok, nok) {\n const self = this\n /** @type {Array<string>} */\n // @ts-expect-error It’s fine!\n\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = [])\n let size = 0\n /** @type {boolean} */\n\n let data\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('gfmFootnoteCall')\n effects.enter('gfmFootnoteCallLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteCallLabelMarker')\n return callStart\n }\n /** @type {State} */\n\n function callStart(code) {\n if (code !== 94) return nok(code)\n effects.enter('gfmFootnoteCallMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteCallMarker')\n effects.enter('gfmFootnoteCallString')\n effects.enter('chunkString').contentType = 'string'\n return callData\n }\n /** @type {State} */\n\n function callData(code) {\n /** @type {Token} */\n let token\n\n if (code === null || code === 91 || size++ > 999) {\n return nok(code)\n }\n\n if (code === 93) {\n if (!data) {\n return nok(code)\n }\n\n effects.exit('chunkString')\n token = effects.exit('gfmFootnoteCallString')\n return defined.includes(normalizeIdentifier(self.sliceSerialize(token)))\n ? end(code)\n : nok(code)\n }\n\n effects.consume(code)\n\n if (!markdownLineEndingOrSpace(code)) {\n data = true\n }\n\n return code === 92 ? callEscape : callData\n }\n /** @type {State} */\n\n function callEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code)\n size++\n return callData\n }\n\n return callData(code)\n }\n /** @type {State} */\n\n function end(code) {\n effects.enter('gfmFootnoteCallLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteCallLabelMarker')\n effects.exit('gfmFootnoteCall')\n return ok\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeDefinitionStart(effects, ok, nok) {\n const self = this\n /** @type {Array<string>} */\n // @ts-expect-error It’s fine!\n\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = [])\n /** @type {string} */\n\n let identifier\n let size = 0\n /** @type {boolean|undefined} */\n\n let data\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('gfmFootnoteDefinition')._container = true\n effects.enter('gfmFootnoteDefinitionLabel')\n effects.enter('gfmFootnoteDefinitionLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteDefinitionLabelMarker')\n return labelStart\n }\n /** @type {State} */\n\n function labelStart(code) {\n if (code === 94) {\n effects.enter('gfmFootnoteDefinitionMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteDefinitionMarker')\n effects.enter('gfmFootnoteDefinitionLabelString')\n return atBreak\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function atBreak(code) {\n /** @type {Token} */\n let token\n\n if (code === null || code === 91 || size > 999) {\n return nok(code)\n }\n\n if (code === 93) {\n if (!data) {\n return nok(code)\n }\n\n token = effects.exit('gfmFootnoteDefinitionLabelString')\n identifier = normalizeIdentifier(self.sliceSerialize(token))\n effects.enter('gfmFootnoteDefinitionLabelMarker')\n effects.consume(code)\n effects.exit('gfmFootnoteDefinitionLabelMarker')\n effects.exit('gfmFootnoteDefinitionLabel')\n return labelAfter\n }\n\n if (markdownLineEnding(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n size++\n return atBreak\n }\n\n effects.enter('chunkString').contentType = 'string'\n return label(code)\n }\n /** @type {State} */\n\n function label(code) {\n if (\n code === null ||\n markdownLineEnding(code) ||\n code === 91 ||\n code === 93 ||\n size > 999\n ) {\n effects.exit('chunkString')\n return atBreak(code)\n }\n\n if (!markdownLineEndingOrSpace(code)) {\n data = true\n }\n\n size++\n effects.consume(code)\n return code === 92 ? labelEscape : label\n }\n /** @type {State} */\n\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code)\n size++\n return label\n }\n\n return label(code)\n }\n /** @type {State} */\n\n function labelAfter(code) {\n if (code === 58) {\n effects.enter('definitionMarker')\n effects.consume(code)\n effects.exit('definitionMarker') // Any whitespace after the marker is eaten, forming indented code\n // is not possible.\n // No space is also fine, just like a block quote marker.\n\n return factorySpace(effects, done, 'gfmFootnoteDefinitionWhitespace')\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function done(code) {\n if (!defined.includes(identifier)) {\n defined.push(identifier)\n }\n\n return ok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeDefinitionContinuation(effects, ok, nok) {\n // Either a blank line, which is okay, or an indented thing.\n return effects.check(blankLine, ok, effects.attempt(indent, ok, nok))\n}\n/** @type {Exiter} */\n\nfunction gfmFootnoteDefinitionEnd(effects) {\n effects.exit('gfmFootnoteDefinition')\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeIndent(effects, ok, nok) {\n const self = this\n return factorySpace(\n effects,\n afterPrefix,\n 'gfmFootnoteDefinitionIndent',\n 4 + 1\n )\n /** @type {State} */\n\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'gfmFootnoteDefinitionIndent' &&\n tail[2].sliceSerialize(tail[1], true).length === 4\n ? ok(code)\n : nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').Event} Event\n */\n\n/**\n * @typedef Options\n * Configuration (optional).\n * @property {boolean} [singleTilde=true]\n * Whether to support strikethrough with a single tilde (`boolean`, default:\n * `true`).\n * Single tildes work on github.com, but are technically prohibited by the\n * GFM spec.\n */\nimport {splice} from 'micromark-util-chunked'\nimport {classifyCharacter} from 'micromark-util-classify-character'\nimport {resolveAll} from 'micromark-util-resolve-all'\n\n/**\n * @param {Options} [options]\n * @returns {Extension}\n */\nexport function gfmStrikethrough(options = {}) {\n let single = options.singleTilde\n const tokenizer = {\n tokenize: tokenizeStrikethrough,\n resolveAll: resolveAllStrikethrough\n }\n\n if (single === null || single === undefined) {\n single = true\n }\n\n return {\n text: {\n [126]: tokenizer\n },\n insideSpan: {\n null: [tokenizer]\n },\n attentionMarkers: {\n null: [126]\n }\n }\n /**\n * Take events and resolve strikethrough.\n *\n * @type {Resolver}\n */\n\n function resolveAllStrikethrough(events, context) {\n let index = -1 // Walk through all events.\n\n while (++index < events.length) {\n // Find a token that can close.\n if (\n events[index][0] === 'enter' &&\n events[index][1].type === 'strikethroughSequenceTemporary' &&\n events[index][1]._close\n ) {\n let open = index // Now walk back to find an opener.\n\n while (open--) {\n // Find a token that can open the closer.\n if (\n events[open][0] === 'exit' &&\n events[open][1].type === 'strikethroughSequenceTemporary' &&\n events[open][1]._open && // If the sizes are the same:\n events[index][1].end.offset - events[index][1].start.offset ===\n events[open][1].end.offset - events[open][1].start.offset\n ) {\n events[index][1].type = 'strikethroughSequence'\n events[open][1].type = 'strikethroughSequence'\n const strikethrough = {\n type: 'strikethrough',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[index][1].end)\n }\n const text = {\n type: 'strikethroughText',\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n } // Opening.\n\n const nextEvents = [\n ['enter', strikethrough, context],\n ['enter', events[open][1], context],\n ['exit', events[open][1], context],\n ['enter', text, context]\n ] // Between.\n\n splice(\n nextEvents,\n nextEvents.length,\n 0,\n resolveAll(\n context.parser.constructs.insideSpan.null,\n events.slice(open + 1, index),\n context\n )\n ) // Closing.\n\n splice(nextEvents, nextEvents.length, 0, [\n ['exit', text, context],\n ['enter', events[index][1], context],\n ['exit', events[index][1], context],\n ['exit', strikethrough, context]\n ])\n splice(events, open - 1, index - open + 3, nextEvents)\n index = open + nextEvents.length - 2\n break\n }\n }\n }\n }\n\n index = -1\n\n while (++index < events.length) {\n if (events[index][1].type === 'strikethroughSequenceTemporary') {\n events[index][1].type = 'data'\n }\n }\n\n return events\n }\n /** @type {Tokenizer} */\n\n function tokenizeStrikethrough(effects, ok, nok) {\n const previous = this.previous\n const events = this.events\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n if (\n previous === 126 &&\n events[events.length - 1][1].type !== 'characterEscape'\n ) {\n return nok(code)\n }\n\n effects.enter('strikethroughSequenceTemporary')\n return more(code)\n }\n /** @type {State} */\n\n function more(code) {\n const before = classifyCharacter(previous)\n\n if (code === 126) {\n // If this is the third marker, exit.\n if (size > 1) return nok(code)\n effects.consume(code)\n size++\n return more\n }\n\n if (size < 2 && !single) return nok(code)\n const token = effects.exit('strikethroughSequenceTemporary')\n const after = classifyCharacter(code)\n token._open = !after || (after === 2 && Boolean(before))\n token._close = !before || (before === 2 && Boolean(after))\n return ok(code)\n }\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n */\n\n/**\n * @typedef {'left'|'center'|'right'|'none'} Align\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEnding,\n markdownLineEndingOrSpace,\n markdownSpace\n} from 'micromark-util-character'\n\n/** @type {Extension} */\nexport const gfmTable = {\n flow: {\n null: {\n tokenize: tokenizeTable,\n resolve: resolveTable\n }\n }\n}\nconst nextPrefixedOrBlank = {\n tokenize: tokenizeNextPrefixedOrBlank,\n partial: true\n}\n/** @type {Resolver} */\n\nfunction resolveTable(events, context) {\n let index = -1\n /** @type {boolean|undefined} */\n\n let inHead\n /** @type {boolean|undefined} */\n\n let inDelimiterRow\n /** @type {boolean|undefined} */\n\n let inRow\n /** @type {number|undefined} */\n\n let contentStart\n /** @type {number|undefined} */\n\n let contentEnd\n /** @type {number|undefined} */\n\n let cellStart\n /** @type {boolean|undefined} */\n\n let seenCellInRow\n\n while (++index < events.length) {\n const token = events[index][1]\n\n if (inRow) {\n if (token.type === 'temporaryTableCellContent') {\n contentStart = contentStart || index\n contentEnd = index\n }\n\n if (\n // Combine separate content parts into one.\n (token.type === 'tableCellDivider' || token.type === 'tableRow') &&\n contentEnd\n ) {\n const content = {\n type: 'tableContent',\n start: events[contentStart][1].start,\n end: events[contentEnd][1].end\n }\n /** @type {Token} */\n\n const text = {\n type: 'chunkText',\n start: content.start,\n end: content.end,\n // @ts-expect-error It’s fine.\n contentType: 'text'\n }\n events.splice(\n contentStart,\n contentEnd - contentStart + 1,\n ['enter', content, context],\n ['enter', text, context],\n ['exit', text, context],\n ['exit', content, context]\n )\n index -= contentEnd - contentStart - 3\n contentStart = undefined\n contentEnd = undefined\n }\n }\n\n if (\n events[index][0] === 'exit' &&\n cellStart !== undefined &&\n cellStart + (seenCellInRow ? 0 : 1) < index &&\n (token.type === 'tableCellDivider' ||\n (token.type === 'tableRow' &&\n (cellStart + 3 < index ||\n events[cellStart][1].type !== 'whitespace')))\n ) {\n const cell = {\n type: inDelimiterRow\n ? 'tableDelimiter'\n : inHead\n ? 'tableHeader'\n : 'tableData',\n start: events[cellStart][1].start,\n end: events[index][1].end\n }\n events.splice(index + (token.type === 'tableCellDivider' ? 1 : 0), 0, [\n 'exit',\n cell,\n context\n ])\n events.splice(cellStart, 0, ['enter', cell, context])\n index += 2\n cellStart = index + 1\n seenCellInRow = true\n }\n\n if (token.type === 'tableRow') {\n inRow = events[index][0] === 'enter'\n\n if (inRow) {\n cellStart = index + 1\n seenCellInRow = false\n }\n }\n\n if (token.type === 'tableDelimiterRow') {\n inDelimiterRow = events[index][0] === 'enter'\n\n if (inDelimiterRow) {\n cellStart = index + 1\n seenCellInRow = false\n }\n }\n\n if (token.type === 'tableHead') {\n inHead = events[index][0] === 'enter'\n }\n }\n\n return events\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeTable(effects, ok, nok) {\n const self = this\n /** @type {Array<Align>} */\n\n const align = []\n let tableHeaderCount = 0\n /** @type {boolean|undefined} */\n\n let seenDelimiter\n /** @type {boolean|undefined} */\n\n let hasDash\n return start\n /** @type {State} */\n\n function start(code) {\n // @ts-expect-error Custom.\n effects.enter('table')._align = align\n effects.enter('tableHead')\n effects.enter('tableRow') // If we start with a pipe, we open a cell marker.\n\n if (code === 124) {\n return cellDividerHead(code)\n }\n\n tableHeaderCount++\n effects.enter('temporaryTableCellContent') // Can’t be space or eols at the start of a construct, so we’re in a cell.\n\n return inCellContentHead(code)\n }\n /** @type {State} */\n\n function cellDividerHead(code) {\n effects.enter('tableCellDivider')\n effects.consume(code)\n effects.exit('tableCellDivider')\n seenDelimiter = true\n return cellBreakHead\n }\n /** @type {State} */\n\n function cellBreakHead(code) {\n if (code === null || markdownLineEnding(code)) {\n return atRowEndHead(code)\n }\n\n if (markdownSpace(code)) {\n effects.enter('whitespace')\n effects.consume(code)\n return inWhitespaceHead\n }\n\n if (seenDelimiter) {\n seenDelimiter = undefined\n tableHeaderCount++\n }\n\n if (code === 124) {\n return cellDividerHead(code)\n } // Anything else is cell content.\n\n effects.enter('temporaryTableCellContent')\n return inCellContentHead(code)\n }\n /** @type {State} */\n\n function inWhitespaceHead(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return inWhitespaceHead\n }\n\n effects.exit('whitespace')\n return cellBreakHead(code)\n }\n /** @type {State} */\n\n function inCellContentHead(code) {\n // EOF, whitespace, pipe\n if (code === null || code === 124 || markdownLineEndingOrSpace(code)) {\n effects.exit('temporaryTableCellContent')\n return cellBreakHead(code)\n }\n\n effects.consume(code)\n return code === 92 ? inCellContentEscapeHead : inCellContentHead\n }\n /** @type {State} */\n\n function inCellContentEscapeHead(code) {\n if (code === 92 || code === 124) {\n effects.consume(code)\n return inCellContentHead\n } // Anything else.\n\n return inCellContentHead(code)\n }\n /** @type {State} */\n\n function atRowEndHead(code) {\n if (code === null) {\n return nok(code)\n }\n\n effects.exit('tableRow')\n effects.exit('tableHead')\n const originalInterrupt = self.interrupt\n self.interrupt = true\n return effects.attempt(\n {\n tokenize: tokenizeRowEnd,\n partial: true\n },\n function (code) {\n self.interrupt = originalInterrupt\n effects.enter('tableDelimiterRow')\n return atDelimiterRowBreak(code)\n },\n function (code) {\n self.interrupt = originalInterrupt\n return nok(code)\n }\n )(code)\n }\n /** @type {State} */\n\n function atDelimiterRowBreak(code) {\n if (code === null || markdownLineEnding(code)) {\n return rowEndDelimiter(code)\n }\n\n if (markdownSpace(code)) {\n effects.enter('whitespace')\n effects.consume(code)\n return inWhitespaceDelimiter\n }\n\n if (code === 45) {\n effects.enter('tableDelimiterFiller')\n effects.consume(code)\n hasDash = true\n align.push('none')\n return inFillerDelimiter\n }\n\n if (code === 58) {\n effects.enter('tableDelimiterAlignment')\n effects.consume(code)\n effects.exit('tableDelimiterAlignment')\n align.push('left')\n return afterLeftAlignment\n } // If we start with a pipe, we open a cell marker.\n\n if (code === 124) {\n effects.enter('tableCellDivider')\n effects.consume(code)\n effects.exit('tableCellDivider')\n return atDelimiterRowBreak\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function inWhitespaceDelimiter(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return inWhitespaceDelimiter\n }\n\n effects.exit('whitespace')\n return atDelimiterRowBreak(code)\n }\n /** @type {State} */\n\n function inFillerDelimiter(code) {\n if (code === 45) {\n effects.consume(code)\n return inFillerDelimiter\n }\n\n effects.exit('tableDelimiterFiller')\n\n if (code === 58) {\n effects.enter('tableDelimiterAlignment')\n effects.consume(code)\n effects.exit('tableDelimiterAlignment')\n align[align.length - 1] =\n align[align.length - 1] === 'left' ? 'center' : 'right'\n return afterRightAlignment\n }\n\n return atDelimiterRowBreak(code)\n }\n /** @type {State} */\n\n function afterLeftAlignment(code) {\n if (code === 45) {\n effects.enter('tableDelimiterFiller')\n effects.consume(code)\n hasDash = true\n return inFillerDelimiter\n } // Anything else is not ok.\n\n return nok(code)\n }\n /** @type {State} */\n\n function afterRightAlignment(code) {\n if (code === null || markdownLineEnding(code)) {\n return rowEndDelimiter(code)\n }\n\n if (markdownSpace(code)) {\n effects.enter('whitespace')\n effects.consume(code)\n return inWhitespaceDelimiter\n } // `|`\n\n if (code === 124) {\n effects.enter('tableCellDivider')\n effects.consume(code)\n effects.exit('tableCellDivider')\n return atDelimiterRowBreak\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function rowEndDelimiter(code) {\n effects.exit('tableDelimiterRow') // Exit if there was no dash at all, or if the header cell count is not the\n // delimiter cell count.\n\n if (!hasDash || tableHeaderCount !== align.length) {\n return nok(code)\n }\n\n if (code === null) {\n return tableClose(code)\n }\n\n return effects.check(\n nextPrefixedOrBlank,\n tableClose,\n effects.attempt(\n {\n tokenize: tokenizeRowEnd,\n partial: true\n },\n factorySpace(effects, bodyStart, 'linePrefix', 4),\n tableClose\n )\n )(code)\n }\n /** @type {State} */\n\n function tableClose(code) {\n effects.exit('table')\n return ok(code)\n }\n /** @type {State} */\n\n function bodyStart(code) {\n effects.enter('tableBody')\n return rowStartBody(code)\n }\n /** @type {State} */\n\n function rowStartBody(code) {\n effects.enter('tableRow') // If we start with a pipe, we open a cell marker.\n\n if (code === 124) {\n return cellDividerBody(code)\n }\n\n effects.enter('temporaryTableCellContent') // Can’t be space or eols at the start of a construct, so we’re in a cell.\n\n return inCellContentBody(code)\n }\n /** @type {State} */\n\n function cellDividerBody(code) {\n effects.enter('tableCellDivider')\n effects.consume(code)\n effects.exit('tableCellDivider')\n return cellBreakBody\n }\n /** @type {State} */\n\n function cellBreakBody(code) {\n if (code === null || markdownLineEnding(code)) {\n return atRowEndBody(code)\n }\n\n if (markdownSpace(code)) {\n effects.enter('whitespace')\n effects.consume(code)\n return inWhitespaceBody\n } // `|`\n\n if (code === 124) {\n return cellDividerBody(code)\n } // Anything else is cell content.\n\n effects.enter('temporaryTableCellContent')\n return inCellContentBody(code)\n }\n /** @type {State} */\n\n function inWhitespaceBody(code) {\n if (markdownSpace(code)) {\n effects.consume(code)\n return inWhitespaceBody\n }\n\n effects.exit('whitespace')\n return cellBreakBody(code)\n }\n /** @type {State} */\n\n function inCellContentBody(code) {\n // EOF, whitespace, pipe\n if (code === null || code === 124 || markdownLineEndingOrSpace(code)) {\n effects.exit('temporaryTableCellContent')\n return cellBreakBody(code)\n }\n\n effects.consume(code)\n return code === 92 ? inCellContentEscapeBody : inCellContentBody\n }\n /** @type {State} */\n\n function inCellContentEscapeBody(code) {\n if (code === 92 || code === 124) {\n effects.consume(code)\n return inCellContentBody\n } // Anything else.\n\n return inCellContentBody(code)\n }\n /** @type {State} */\n\n function atRowEndBody(code) {\n effects.exit('tableRow')\n\n if (code === null) {\n return tableBodyClose(code)\n }\n\n return effects.check(\n nextPrefixedOrBlank,\n tableBodyClose,\n effects.attempt(\n {\n tokenize: tokenizeRowEnd,\n partial: true\n },\n factorySpace(effects, rowStartBody, 'linePrefix', 4),\n tableBodyClose\n )\n )(code)\n }\n /** @type {State} */\n\n function tableBodyClose(code) {\n effects.exit('tableBody')\n return tableClose(code)\n }\n /** @type {Tokenizer} */\n\n function tokenizeRowEnd(effects, ok, nok) {\n return start\n /** @type {State} */\n\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return factorySpace(effects, prefixed, 'linePrefix')\n }\n /** @type {State} */\n\n function prefixed(code) {\n // Blank or interrupting line.\n if (\n self.parser.lazy[self.now().line] ||\n code === null ||\n markdownLineEnding(code)\n ) {\n return nok(code)\n }\n\n const tail = self.events[self.events.length - 1] // Indented code can interrupt delimiter and body rows.\n\n if (\n !self.parser.constructs.disable.null.includes('codeIndented') &&\n tail &&\n tail[1].type === 'linePrefix' &&\n tail[2].sliceSerialize(tail[1], true).length >= 4\n ) {\n return nok(code)\n }\n\n self._gfmTableDynamicInterruptHack = true\n return effects.check(\n self.parser.constructs.flow,\n function (code) {\n self._gfmTableDynamicInterruptHack = false\n return nok(code)\n },\n function (code) {\n self._gfmTableDynamicInterruptHack = false\n return ok(code)\n }\n )(code)\n }\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeNextPrefixedOrBlank(effects, ok, nok) {\n let size = 0\n return start\n /** @type {State} */\n\n function start(code) {\n // This is a check, so we don’t care about tokens, but we open a bogus one\n // so we’re valid.\n effects.enter('check') // EOL.\n\n effects.consume(code)\n return whitespace\n }\n /** @type {State} */\n\n function whitespace(code) {\n if (code === -1 || code === 32) {\n effects.consume(code)\n size++\n return size === 4 ? ok : whitespace\n } // EOF or whitespace\n\n if (code === null || markdownLineEndingOrSpace(code)) {\n return ok(code)\n } // Anything else.\n\n return nok(code)\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n * @typedef {import('micromark-util-types').Previous} Previous\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Code} Code\n */\nimport {factorySpace} from 'micromark-factory-space'\nimport {\n markdownLineEndingOrSpace,\n markdownLineEnding\n} from 'micromark-util-character'\nconst tasklistCheck = {\n tokenize: tokenizeTasklistCheck\n}\nexport const gfmTaskListItem = {\n text: {\n [91]: tasklistCheck\n }\n}\n/** @type {Tokenizer} */\n\nfunction tokenizeTasklistCheck(effects, ok, nok) {\n const self = this\n return open\n /** @type {State} */\n\n function open(code) {\n if (\n // Exit if there’s stuff before.\n self.previous !== null || // Exit if not in the first content that is the first child of a list\n // item.\n !self._gfmTasklistFirstContentOfListItem\n ) {\n return nok(code)\n }\n\n effects.enter('taskListCheck')\n effects.enter('taskListCheckMarker')\n effects.consume(code)\n effects.exit('taskListCheckMarker')\n return inside\n }\n /** @type {State} */\n\n function inside(code) {\n // To match how GH works in comments, use `markdownSpace` (`[ \\t]`) instead\n // of `markdownLineEndingOrSpace` (`[ \\t\\r\\n]`).\n if (markdownLineEndingOrSpace(code)) {\n effects.enter('taskListCheckValueUnchecked')\n effects.consume(code)\n effects.exit('taskListCheckValueUnchecked')\n return close\n }\n\n if (code === 88 || code === 120) {\n effects.enter('taskListCheckValueChecked')\n effects.consume(code)\n effects.exit('taskListCheckValueChecked')\n return close\n }\n\n return nok(code)\n }\n /** @type {State} */\n\n function close(code) {\n if (code === 93) {\n effects.enter('taskListCheckMarker')\n effects.consume(code)\n effects.exit('taskListCheckMarker')\n effects.exit('taskListCheck')\n return effects.check(\n {\n tokenize: spaceThenNonSpace\n },\n ok,\n nok\n )\n }\n\n return nok(code)\n }\n}\n/** @type {Tokenizer} */\n\nfunction spaceThenNonSpace(effects, ok, nok) {\n const self = this\n return factorySpace(effects, after, 'whitespace')\n /** @type {State} */\n\n function after(code) {\n const tail = self.events[self.events.length - 1]\n return (\n // We either found spaces…\n ((tail && tail[1].type === 'whitespace') || // …or it was followed by a line ending, in which case, there has to be\n // non-whitespace after that line ending, because otherwise we’d get an\n // EOF as the content is closed with blank lines.\n markdownLineEnding(code)) &&\n code !== null\n ? ok(code)\n : nok(code)\n )\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension\n * @typedef {import('micromark-extension-gfm-strikethrough').Options} Options\n * @typedef {import('micromark-extension-gfm-footnote').HtmlOptions} HtmlOptions\n */\n\nimport {\n combineExtensions,\n combineHtmlExtensions\n} from 'micromark-util-combine-extensions'\nimport {\n gfmAutolinkLiteral,\n gfmAutolinkLiteralHtml\n} from 'micromark-extension-gfm-autolink-literal'\nimport {gfmFootnote, gfmFootnoteHtml} from 'micromark-extension-gfm-footnote'\nimport {\n gfmStrikethrough,\n gfmStrikethroughHtml\n} from 'micromark-extension-gfm-strikethrough'\nimport {gfmTable, gfmTableHtml} from 'micromark-extension-gfm-table'\nimport {gfmTagfilterHtml} from 'micromark-extension-gfm-tagfilter'\nimport {\n gfmTaskListItem,\n gfmTaskListItemHtml\n} from 'micromark-extension-gfm-task-list-item'\n\n/**\n * Support GFM or markdown on github.com.\n *\n * @param {Options} [options]\n * @returns {Extension}\n */\nexport function gfm(options) {\n return combineExtensions([\n gfmAutolinkLiteral,\n gfmFootnote(),\n gfmStrikethrough(options),\n gfmTable,\n gfmTaskListItem\n ])\n}\n\n/**\n * Support to compile GFM to HTML.\n *\n * @param {HtmlOptions} [options]\n * @returns {HtmlExtension}\n */\nexport function gfmHtml(options) {\n return combineHtmlExtensions([\n gfmAutolinkLiteralHtml,\n gfmFootnoteHtml(options),\n gfmStrikethroughHtml,\n gfmTableHtml,\n gfmTagfilterHtml,\n gfmTaskListItemHtml\n ])\n}\n","/**\n * Count how often a character (or substring) is used in a string.\n *\n * @param {string} value\n * Value to search in.\n * @param {string} character\n * Character (or substring) to look for.\n * @return {number}\n * Number of times `character` occurred in `value`.\n */\nexport function ccount(value, character) {\n const source = String(value)\n\n if (typeof character !== 'string') {\n throw new TypeError('Expected character')\n }\n\n let count = 0\n let index = source.indexOf(character)\n\n while (index !== -1) {\n count++\n index = source.indexOf(character, index + character.length)\n }\n\n return count\n}\n","/**\n * @typedef Options\n * Configuration (optional).\n * @property {Test} [ignore]\n * `unist-util-is` test used to assert parents\n *\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').Content} Content\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n * @typedef {import('mdast').Text} Text\n * @typedef {Content|Root} Node\n * @typedef {Exclude<Extract<Node, import('mdast').Parent>, Root>} Parent\n *\n * @typedef {import('unist-util-visit-parents').Test} Test\n * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult\n *\n * @typedef RegExpMatchObject\n * @property {number} index\n * @property {string} input\n * @property {[Root, ...Array<Parent>, Text]} stack\n *\n * @typedef {string|RegExp} Find\n * @typedef {string|ReplaceFunction} Replace\n *\n * @typedef {[Find, Replace]} FindAndReplaceTuple\n * @typedef {Record<string, Replace>} FindAndReplaceSchema\n * @typedef {Array<FindAndReplaceTuple>} FindAndReplaceList\n *\n * @typedef {[RegExp, ReplaceFunction]} Pair\n * @typedef {Array<Pair>} Pairs\n */\n\n/**\n * @callback ReplaceFunction\n * @param {...any} parameters\n * @returns {Array<PhrasingContent>|PhrasingContent|string|false|undefined|null}\n */\n\nimport escape from 'escape-string-regexp'\nimport {visitParents} from 'unist-util-visit-parents'\nimport {convert} from 'unist-util-is'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param tree mdast tree\n * @param find Value to find and remove. When `string`, escaped and made into a global `RegExp`\n * @param [replace] Value to insert.\n * * When `string`, turned into a Text node.\n * * When `Function`, called with the results of calling `RegExp.exec` as\n * arguments, in which case it can return a single or a list of `Node`,\n * a `string` (which is wrapped in a `Text` node), or `false` to not replace\n * @param [options] Configuration.\n */\nexport const findAndReplace =\n /**\n * @type {(\n * ((tree: Node, find: Find, replace?: Replace, options?: Options) => Node) &\n * ((tree: Node, schema: FindAndReplaceSchema|FindAndReplaceList, options?: Options) => Node)\n * )}\n **/\n (\n /**\n * @param {Node} tree\n * @param {Find|FindAndReplaceSchema|FindAndReplaceList} find\n * @param {Replace|Options} [replace]\n * @param {Options} [options]\n */\n function (tree, find, replace, options) {\n /** @type {Options|undefined} */\n let settings\n /** @type {FindAndReplaceSchema|FindAndReplaceList} */\n let schema\n\n if (typeof find === 'string' || find instanceof RegExp) {\n // @ts-expect-error don’t expect options twice.\n schema = [[find, replace]]\n settings = options\n } else {\n schema = find\n // @ts-expect-error don’t expect replace twice.\n settings = replace\n }\n\n if (!settings) {\n settings = {}\n }\n\n const ignored = convert(settings.ignore || [])\n const pairs = toPairs(schema)\n let pairIndex = -1\n\n while (++pairIndex < pairs.length) {\n visitParents(tree, 'text', visitor)\n }\n\n return tree\n\n /** @type {import('unist-util-visit-parents/complex-types').BuildVisitor<Root, 'text'>} */\n function visitor(node, parents) {\n let index = -1\n /** @type {Parent|undefined} */\n let grandparent\n\n while (++index < parents.length) {\n const parent = /** @type {Parent} */ (parents[index])\n\n if (\n ignored(\n parent,\n // @ts-expect-error mdast vs. unist parent.\n grandparent ? grandparent.children.indexOf(parent) : undefined,\n grandparent\n )\n ) {\n return\n }\n\n grandparent = parent\n }\n\n if (grandparent) {\n // @ts-expect-error: stack is fine.\n return handler(node, parents)\n }\n }\n\n /**\n * @param {Text} node\n * @param {[Root, ...Array<Parent>]} parents\n * @returns {VisitorResult}\n */\n function handler(node, parents) {\n const parent = parents[parents.length - 1]\n const find = pairs[pairIndex][0]\n const replace = pairs[pairIndex][1]\n let start = 0\n // @ts-expect-error: TS is wrong, some of these children can be text.\n const index = parent.children.indexOf(node)\n let change = false\n /** @type {Array<PhrasingContent>} */\n let nodes = []\n /** @type {number|undefined} */\n let position\n\n find.lastIndex = 0\n\n let match = find.exec(node.value)\n\n while (match) {\n position = match.index\n /** @type {RegExpMatchObject} */\n const matchObject = {\n index: match.index,\n input: match.input,\n stack: [...parents, node]\n }\n let value = replace(...match, matchObject)\n\n if (typeof value === 'string') {\n value = value.length > 0 ? {type: 'text', value} : undefined\n }\n\n if (value !== false) {\n if (start !== position) {\n nodes.push({\n type: 'text',\n value: node.value.slice(start, position)\n })\n }\n\n if (Array.isArray(value)) {\n nodes.push(...value)\n } else if (value) {\n nodes.push(value)\n }\n\n start = position + match[0].length\n change = true\n }\n\n if (!find.global) {\n break\n }\n\n match = find.exec(node.value)\n }\n\n if (change) {\n if (start < node.value.length) {\n nodes.push({type: 'text', value: node.value.slice(start)})\n }\n\n parent.children.splice(index, 1, ...nodes)\n } else {\n nodes = [node]\n }\n\n return index + nodes.length\n }\n }\n )\n\n/**\n * @param {FindAndReplaceSchema|FindAndReplaceList} schema\n * @returns {Pairs}\n */\nfunction toPairs(schema) {\n /** @type {Pairs} */\n const result = []\n\n if (typeof schema !== 'object') {\n throw new TypeError('Expected array or object as schema')\n }\n\n if (Array.isArray(schema)) {\n let index = -1\n\n while (++index < schema.length) {\n result.push([\n toExpression(schema[index][0]),\n toFunction(schema[index][1])\n ])\n }\n } else {\n /** @type {string} */\n let key\n\n for (key in schema) {\n if (own.call(schema, key)) {\n result.push([toExpression(key), toFunction(schema[key])])\n }\n }\n }\n\n return result\n}\n\n/**\n * @param {Find} find\n * @returns {RegExp}\n */\nfunction toExpression(find) {\n return typeof find === 'string' ? new RegExp(escape(find), 'g') : find\n}\n\n/**\n * @param {Replace} replace\n * @returns {ReplaceFunction}\n */\nfunction toFunction(replace) {\n return typeof replace === 'function' ? replace : () => replace\n}\n","export default function escapeStringRegexp(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\n}\n","/**\n * @typedef {import('mdast').Link} Link\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Transform} FromMarkdownTransform\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-to-markdown/lib/types.js').Options} ToMarkdownExtension\n * @typedef {import('mdast-util-find-and-replace').ReplaceFunction} ReplaceFunction\n * @typedef {import('mdast-util-find-and-replace').RegExpMatchObject} RegExpMatchObject\n * @typedef {import('mdast-util-find-and-replace').PhrasingContent} PhrasingContent\n */\n\nimport {ccount} from 'ccount'\nimport {findAndReplace} from 'mdast-util-find-and-replace'\nimport {unicodePunctuation, unicodeWhitespace} from 'micromark-util-character'\n\nconst inConstruct = 'phrasing'\nconst notInConstruct = ['autolink', 'link', 'image', 'label']\n\n/** @type {FromMarkdownExtension} */\nexport const gfmAutolinkLiteralFromMarkdown = {\n transforms: [transformGfmAutolinkLiterals],\n enter: {\n literalAutolink: enterLiteralAutolink,\n literalAutolinkEmail: enterLiteralAutolinkValue,\n literalAutolinkHttp: enterLiteralAutolinkValue,\n literalAutolinkWww: enterLiteralAutolinkValue\n },\n exit: {\n literalAutolink: exitLiteralAutolink,\n literalAutolinkEmail: exitLiteralAutolinkEmail,\n literalAutolinkHttp: exitLiteralAutolinkHttp,\n literalAutolinkWww: exitLiteralAutolinkWww\n }\n}\n\n/** @type {ToMarkdownExtension} */\nexport const gfmAutolinkLiteralToMarkdown = {\n unsafe: [\n {\n character: '@',\n before: '[+\\\\-.\\\\w]',\n after: '[\\\\-.\\\\w]',\n inConstruct,\n notInConstruct\n },\n {\n character: '.',\n before: '[Ww]',\n after: '[\\\\-.\\\\w]',\n inConstruct,\n notInConstruct\n },\n {character: ':', before: '[ps]', after: '\\\\/', inConstruct, notInConstruct}\n ]\n}\n\n/** @type {FromMarkdownHandle} */\nfunction enterLiteralAutolink(token) {\n this.enter({type: 'link', title: null, url: '', children: []}, token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction enterLiteralAutolinkValue(token) {\n this.config.enter.autolinkProtocol.call(this, token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitLiteralAutolinkHttp(token) {\n this.config.exit.autolinkProtocol.call(this, token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitLiteralAutolinkWww(token) {\n this.config.exit.data.call(this, token)\n const node = /** @type {Link} */ (this.stack[this.stack.length - 1])\n node.url = 'http://' + this.sliceSerialize(token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitLiteralAutolinkEmail(token) {\n this.config.exit.autolinkEmail.call(this, token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitLiteralAutolink(token) {\n this.exit(token)\n}\n\n/** @type {FromMarkdownTransform} */\nfunction transformGfmAutolinkLiterals(tree) {\n findAndReplace(\n tree,\n [\n [/(https?:\\/\\/|www(?=\\.))([-.\\w]+)([^ \\t\\r\\n]*)/gi, findUrl],\n [/([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)/g, findEmail]\n ],\n {ignore: ['link', 'linkReference']}\n )\n}\n\n/**\n * @type {ReplaceFunction}\n * @param {string} _\n * @param {string} protocol\n * @param {string} domain\n * @param {string} path\n * @param {RegExpMatchObject} match\n */\n// eslint-disable-next-line max-params\nfunction findUrl(_, protocol, domain, path, match) {\n let prefix = ''\n\n // Not an expected previous character.\n if (!previous(match)) {\n return false\n }\n\n // Treat `www` as part of the domain.\n if (/^w/i.test(protocol)) {\n domain = protocol + domain\n protocol = ''\n prefix = 'http://'\n }\n\n if (!isCorrectDomain(domain)) {\n return false\n }\n\n const parts = splitUrl(domain + path)\n\n if (!parts[0]) return false\n\n /** @type {PhrasingContent} */\n const result = {\n type: 'link',\n title: null,\n url: prefix + protocol + parts[0],\n children: [{type: 'text', value: protocol + parts[0]}]\n }\n\n if (parts[1]) {\n return [result, {type: 'text', value: parts[1]}]\n }\n\n return result\n}\n\n/**\n * @type {ReplaceFunction}\n * @param {string} _\n * @param {string} atext\n * @param {string} label\n * @param {RegExpMatchObject} match\n */\nfunction findEmail(_, atext, label, match) {\n if (\n // Not an expected previous character.\n !previous(match, true) ||\n // Label ends in not allowed character.\n /[_-\\d]$/.test(label)\n ) {\n return false\n }\n\n return {\n type: 'link',\n title: null,\n url: 'mailto:' + atext + '@' + label,\n children: [{type: 'text', value: atext + '@' + label}]\n }\n}\n\n/**\n * @param {string} domain\n * @returns {boolean}\n */\nfunction isCorrectDomain(domain) {\n const parts = domain.split('.')\n\n if (\n parts.length < 2 ||\n (parts[parts.length - 1] &&\n (/_/.test(parts[parts.length - 1]) ||\n !/[a-zA-Z\\d]/.test(parts[parts.length - 1]))) ||\n (parts[parts.length - 2] &&\n (/_/.test(parts[parts.length - 2]) ||\n !/[a-zA-Z\\d]/.test(parts[parts.length - 2])))\n ) {\n return false\n }\n\n return true\n}\n\n/**\n * @param {string} url\n * @returns {[string, string|undefined]}\n */\nfunction splitUrl(url) {\n const trailExec = /[!\"&'),.:;<>?\\]}]+$/.exec(url)\n /** @type {number} */\n let closingParenIndex\n /** @type {number} */\n let openingParens\n /** @type {number} */\n let closingParens\n /** @type {string|undefined} */\n let trail\n\n if (trailExec) {\n url = url.slice(0, trailExec.index)\n trail = trailExec[0]\n closingParenIndex = trail.indexOf(')')\n openingParens = ccount(url, '(')\n closingParens = ccount(url, ')')\n\n while (closingParenIndex !== -1 && openingParens > closingParens) {\n url += trail.slice(0, closingParenIndex + 1)\n trail = trail.slice(closingParenIndex + 1)\n closingParenIndex = trail.indexOf(')')\n closingParens++\n }\n }\n\n return [url, trail]\n}\n\n/**\n * @param {RegExpMatchObject} match\n * @param {boolean} [email=false]\n * @returns {boolean}\n */\nfunction previous(match, email) {\n const code = match.input.charCodeAt(match.index - 1)\n\n return (\n (match.index === 0 ||\n unicodeWhitespace(code) ||\n unicodePunctuation(code)) &&\n (!email || code !== 47)\n )\n}\n","/**\n * @typedef {import('mdast').Association} Association\n */\n\nimport {decodeString} from 'micromark-util-decode-string'\n\n/**\n * The `label` of an association is the string value: character escapes and\n * references work, and casing is intact.\n * The `identifier` is used to match one association to another: controversially,\n * character escapes and references don’t work in this matching: `©` does\n * not match `©`, and `\\+` does not match `+`.\n * But casing is ignored (and whitespace) is trimmed and collapsed: ` A\\nb`\n * matches `a b`.\n * So, we do prefer the label when figuring out how we’re going to serialize:\n * it has whitespace, casing, and we can ignore most useless character escapes\n * and all character references.\n *\n * @param {Association} node\n * @returns {string}\n */\nexport function association(node) {\n if (node.label || !node.identifier) {\n return node.label || ''\n }\n\n return decodeString(node.identifier)\n}\n","/**\n * @typedef {import('unist').Point} Point\n * @typedef {import('../types.js').TrackFields} TrackFields\n */\n\n/**\n * Functions to track output positions.\n * This info isn’t used yet but suchs functionality allows line wrapping,\n * and theoretically source maps (though, is there practical use in that?).\n *\n * @param {TrackFields} options_\n */\nexport function track(options_) {\n // Defaults are used to prevent crashes when older utilities somehow activate\n // this code.\n /* c8 ignore next 5 */\n const options = options_ || {}\n const now = options.now || {}\n let lineShift = options.lineShift || 0\n let line = now.line || 1\n let column = now.column || 1\n\n return {move, current, shift}\n\n /**\n * Get the current tracked info.\n *\n * @returns {{now: Point, lineShift: number}}\n */\n function current() {\n return {now: {line, column}, lineShift}\n }\n\n /**\n * Define an increased line shift (the typical indent for lines).\n *\n * @param {number} value\n */\n function shift(value) {\n lineShift += value\n }\n\n /**\n * Move past a string.\n *\n * @param {string} value\n * @returns {string}\n */\n function move(value = '') {\n const chunks = value.split(/\\r?\\n|\\r/g)\n const tail = chunks[chunks.length - 1]\n line += chunks.length - 1\n column =\n chunks.length === 1 ? column + tail.length : 1 + tail.length + lineShift\n return value\n }\n}\n","/**\n * @typedef {import('../types.js').Node} Node\n * @typedef {import('../types.js').Parent} Parent\n * @typedef {import('../types.js').Join} Join\n * @typedef {import('../types.js').Context} Context\n * @typedef {import('../types.js').TrackFields} TrackFields\n */\n\nimport {track} from './track.js'\n\n/**\n * @param {Parent} parent\n * @param {Context} context\n * @param {TrackFields} safeOptions\n * @returns {string}\n */\nexport function containerFlow(parent, context, safeOptions) {\n const indexStack = context.indexStack\n const children = parent.children || []\n const tracker = track(safeOptions)\n /** @type {Array<string>} */\n const results = []\n let index = -1\n\n indexStack.push(-1)\n\n while (++index < children.length) {\n const child = children[index]\n\n indexStack[indexStack.length - 1] = index\n\n results.push(\n tracker.move(\n context.handle(child, parent, context, {\n before: '\\n',\n after: '\\n',\n ...tracker.current()\n })\n )\n )\n\n if (child.type !== 'list') {\n context.bulletLastUsed = undefined\n }\n\n if (index < children.length - 1) {\n results.push(tracker.move(between(child, children[index + 1])))\n }\n }\n\n indexStack.pop()\n\n return results.join('')\n\n /**\n * @param {Node} left\n * @param {Node} right\n * @returns {string}\n */\n function between(left, right) {\n let index = context.join.length\n\n while (index--) {\n const result = context.join[index](left, right, parent, context)\n\n if (result === true || result === 1) {\n break\n }\n\n if (typeof result === 'number') {\n return '\\n'.repeat(1 + result)\n }\n\n if (result === false) {\n return '\\n\\n<!---->\\n\\n'\n }\n }\n\n return '\\n\\n'\n }\n}\n","/**\n * @callback Map\n * @param {string} value\n * @param {number} line\n * @param {boolean} blank\n * @returns {string}\n */\n\nconst eol = /\\r?\\n|\\r/g\n\n/**\n * @param {string} value\n * @param {Map} map\n * @returns {string}\n */\nexport function indentLines(value, map) {\n /** @type {Array<string>} */\n const result = []\n let start = 0\n let line = 0\n /** @type {RegExpExecArray|null} */\n let match\n\n while ((match = eol.exec(value))) {\n one(value.slice(start, match.index))\n result.push(match[0])\n start = match.index + match[0].length\n line++\n }\n\n one(value.slice(start))\n\n return result.join('')\n\n /**\n * @param {string} value\n */\n function one(value) {\n result.push(map(value, line, !value))\n }\n}\n","/**\n * @typedef {import('../types.js').Unsafe} Unsafe\n */\n\n/**\n * @param {Unsafe} pattern\n * @returns {RegExp}\n */\nexport function patternCompile(pattern) {\n if (!pattern._compiled) {\n const before =\n (pattern.atBreak ? '[\\\\r\\\\n][\\\\t ]*' : '') +\n (pattern.before ? '(?:' + pattern.before + ')' : '')\n\n pattern._compiled = new RegExp(\n (before ? '(' + before + ')' : '') +\n (/[|\\\\{}()[\\]^$+*?.-]/.test(pattern.character) ? '\\\\' : '') +\n pattern.character +\n (pattern.after ? '(?:' + pattern.after + ')' : ''),\n 'g'\n )\n }\n\n return pattern._compiled\n}\n","/**\n * @typedef {import('../types.js').Unsafe} Unsafe\n */\n\n/**\n * @param {Array<string>} stack\n * @param {Unsafe} pattern\n * @returns {boolean}\n */\nexport function patternInScope(stack, pattern) {\n return (\n listInScope(stack, pattern.inConstruct, true) &&\n !listInScope(stack, pattern.notInConstruct, false)\n )\n}\n\n/**\n * @param {Array<string>} stack\n * @param {Unsafe['inConstruct']} list\n * @param {boolean} none\n * @returns {boolean}\n */\nfunction listInScope(stack, list, none) {\n if (!list) {\n return none\n }\n\n if (typeof list === 'string') {\n list = [list]\n }\n\n let index = -1\n\n while (++index < list.length) {\n if (stack.includes(list[index])) {\n return true\n }\n }\n\n return false\n}\n","/**\n * @typedef {import('../types.js').Context} Context\n * @typedef {import('../types.js').SafeOptions} SafeOptions\n */\n\nimport {patternCompile} from './pattern-compile.js'\nimport {patternInScope} from './pattern-in-scope.js'\n\n/**\n * @param {Context} context\n * @param {string|null|undefined} input\n * @param {SafeOptions & {encode?: Array<string>}} config\n * @returns {string}\n */\nexport function safe(context, input, config) {\n const value = (config.before || '') + (input || '') + (config.after || '')\n /** @type {Array<number>} */\n const positions = []\n /** @type {Array<string>} */\n const result = []\n /** @type {Record<number, {before: boolean, after: boolean}>} */\n const infos = {}\n let index = -1\n\n while (++index < context.unsafe.length) {\n const pattern = context.unsafe[index]\n\n if (!patternInScope(context.stack, pattern)) {\n continue\n }\n\n const expression = patternCompile(pattern)\n /** @type {RegExpExecArray|null} */\n let match\n\n while ((match = expression.exec(value))) {\n const before = 'before' in pattern || Boolean(pattern.atBreak)\n const after = 'after' in pattern\n const position = match.index + (before ? match[1].length : 0)\n\n if (positions.includes(position)) {\n if (infos[position].before && !before) {\n infos[position].before = false\n }\n\n if (infos[position].after && !after) {\n infos[position].after = false\n }\n } else {\n positions.push(position)\n infos[position] = {before, after}\n }\n }\n }\n\n positions.sort(numerical)\n\n let start = config.before ? config.before.length : 0\n const end = value.length - (config.after ? config.after.length : 0)\n index = -1\n\n while (++index < positions.length) {\n const position = positions[index]\n\n // Character before or after matched:\n if (position < start || position >= end) {\n continue\n }\n\n // If this character is supposed to be escaped because it has a condition on\n // the next character, and the next character is definitly being escaped,\n // then skip this escape.\n if (\n (position + 1 < end &&\n positions[index + 1] === position + 1 &&\n infos[position].after &&\n !infos[position + 1].before &&\n !infos[position + 1].after) ||\n (positions[index - 1] === position - 1 &&\n infos[position].before &&\n !infos[position - 1].before &&\n !infos[position - 1].after)\n ) {\n continue\n }\n\n if (start !== position) {\n // If we have to use a character reference, an ampersand would be more\n // correct, but as backslashes only care about punctuation, either will\n // do the trick\n result.push(escapeBackslashes(value.slice(start, position), '\\\\'))\n }\n\n start = position\n\n if (\n /[!-/:-@[-`{-~]/.test(value.charAt(position)) &&\n (!config.encode || !config.encode.includes(value.charAt(position)))\n ) {\n // Character escape.\n result.push('\\\\')\n } else {\n // Character reference.\n result.push(\n '&#x' + value.charCodeAt(position).toString(16).toUpperCase() + ';'\n )\n start++\n }\n }\n\n result.push(escapeBackslashes(value.slice(start, end), config.after))\n\n return result.join('')\n}\n\n/**\n * @param {number} a\n * @param {number} b\n * @returns {number}\n */\nfunction numerical(a, b) {\n return a - b\n}\n\n/**\n * @param {string} value\n * @param {string} after\n * @returns {string}\n */\nfunction escapeBackslashes(value, after) {\n const expression = /\\\\(?=[!-/:-@[-`{-~])/g\n /** @type {Array<number>} */\n const positions = []\n /** @type {Array<string>} */\n const results = []\n const whole = value + after\n let index = -1\n let start = 0\n /** @type {RegExpExecArray|null} */\n let match\n\n while ((match = expression.exec(whole))) {\n positions.push(match.index)\n }\n\n while (++index < positions.length) {\n if (start !== positions[index]) {\n results.push(value.slice(start, positions[index]))\n }\n\n results.push('\\\\')\n start = positions[index]\n }\n\n results.push(value.slice(start))\n\n return results.join('')\n}\n","/**\n * @typedef {import('mdast').FootnoteReference} FootnoteReference\n * @typedef {import('mdast').FootnoteDefinition} FootnoteDefinition\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Map} Map\n */\n\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {association} from 'mdast-util-to-markdown/lib/util/association.js'\nimport {containerFlow} from 'mdast-util-to-markdown/lib/util/container-flow.js'\nimport {indentLines} from 'mdast-util-to-markdown/lib/util/indent-lines.js'\nimport {safe} from 'mdast-util-to-markdown/lib/util/safe.js'\nimport {track} from 'mdast-util-to-markdown/lib/util/track.js'\n\n/**\n * @returns {FromMarkdownExtension}\n */\nexport function gfmFootnoteFromMarkdown() {\n return {\n enter: {\n gfmFootnoteDefinition: enterFootnoteDefinition,\n gfmFootnoteDefinitionLabelString: enterFootnoteDefinitionLabelString,\n gfmFootnoteCall: enterFootnoteCall,\n gfmFootnoteCallString: enterFootnoteCallString\n },\n exit: {\n gfmFootnoteDefinition: exitFootnoteDefinition,\n gfmFootnoteDefinitionLabelString: exitFootnoteDefinitionLabelString,\n gfmFootnoteCall: exitFootnoteCall,\n gfmFootnoteCallString: exitFootnoteCallString\n }\n }\n\n /** @type {FromMarkdownHandle} */\n function enterFootnoteDefinition(token) {\n this.enter(\n {type: 'footnoteDefinition', identifier: '', label: '', children: []},\n token\n )\n }\n\n /** @type {FromMarkdownHandle} */\n function enterFootnoteDefinitionLabelString() {\n this.buffer()\n }\n\n /** @type {FromMarkdownHandle} */\n function exitFootnoteDefinitionLabelString(token) {\n const label = this.resume()\n const node = /** @type {FootnoteDefinition} */ (\n this.stack[this.stack.length - 1]\n )\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n }\n\n /** @type {FromMarkdownHandle} */\n function exitFootnoteDefinition(token) {\n this.exit(token)\n }\n\n /** @type {FromMarkdownHandle} */\n function enterFootnoteCall(token) {\n this.enter({type: 'footnoteReference', identifier: '', label: ''}, token)\n }\n\n /** @type {FromMarkdownHandle} */\n function enterFootnoteCallString() {\n this.buffer()\n }\n\n /** @type {FromMarkdownHandle} */\n function exitFootnoteCallString(token) {\n const label = this.resume()\n const node = /** @type {FootnoteDefinition} */ (\n this.stack[this.stack.length - 1]\n )\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n }\n\n /** @type {FromMarkdownHandle} */\n function exitFootnoteCall(token) {\n this.exit(token)\n }\n}\n\n/**\n * @returns {ToMarkdownExtension}\n */\nexport function gfmFootnoteToMarkdown() {\n footnoteReference.peek = footnoteReferencePeek\n\n return {\n // This is on by default already.\n unsafe: [{character: '[', inConstruct: ['phrasing', 'label', 'reference']}],\n handlers: {footnoteDefinition, footnoteReference}\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {FootnoteReference} node\n */\n function footnoteReference(node, _, context, safeOptions) {\n const tracker = track(safeOptions)\n let value = tracker.move('[^')\n const exit = context.enter('footnoteReference')\n const subexit = context.enter('reference')\n value += tracker.move(\n safe(context, association(node), {\n ...tracker.current(),\n before: value,\n after: ']'\n })\n )\n subexit()\n exit()\n value += tracker.move(']')\n return value\n }\n\n /** @type {ToMarkdownHandle} */\n function footnoteReferencePeek() {\n return '['\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {FootnoteDefinition} node\n */\n function footnoteDefinition(node, _, context, safeOptions) {\n const tracker = track(safeOptions)\n let value = tracker.move('[^')\n const exit = context.enter('footnoteDefinition')\n const subexit = context.enter('label')\n value += tracker.move(\n safe(context, association(node), {\n ...tracker.current(),\n before: value,\n after: ']'\n })\n )\n subexit()\n value += tracker.move(\n ']:' + (node.children && node.children.length > 0 ? ' ' : '')\n )\n tracker.shift(4)\n value += tracker.move(\n indentLines(containerFlow(node, context, tracker.current()), map)\n )\n exit()\n\n return value\n\n /** @type {Map} */\n function map(line, index, blank) {\n if (index) {\n return (blank ? '' : ' ') + line\n }\n\n return line\n }\n }\n}\n","/**\n * @typedef {import('../types.js').Node} Node\n * @typedef {import('../types.js').Parent} Parent\n * @typedef {import('../types.js').SafeOptions} SafeOptions\n * @typedef {import('../types.js').Context} Context\n */\n\nimport {track} from './track.js'\n\n/**\n * @param {Parent} parent\n * @param {Context} context\n * @param {SafeOptions} safeOptions\n * @returns {string}\n */\nexport function containerPhrasing(parent, context, safeOptions) {\n const indexStack = context.indexStack\n const children = parent.children || []\n /** @type {Array<string>} */\n const results = []\n let index = -1\n let before = safeOptions.before\n\n indexStack.push(-1)\n let tracker = track(safeOptions)\n\n while (++index < children.length) {\n const child = children[index]\n /** @type {string} */\n let after\n\n indexStack[indexStack.length - 1] = index\n\n if (index + 1 < children.length) {\n // @ts-expect-error: hush, it’s actually a `zwitch`.\n let handle = context.handle.handlers[children[index + 1].type]\n if (handle && handle.peek) handle = handle.peek\n after = handle\n ? handle(children[index + 1], parent, context, {\n before: '',\n after: '',\n ...tracker.current()\n }).charAt(0)\n : ''\n } else {\n after = safeOptions.after\n }\n\n // In some cases, html (text) can be found in phrasing right after an eol.\n // When we’d serialize that, in most cases that would be seen as html\n // (flow).\n // As we can’t escape or so to prevent it from happening, we take a somewhat\n // reasonable approach: replace that eol with a space.\n // See: <https://github.com/syntax-tree/mdast-util-to-markdown/issues/15>\n if (\n results.length > 0 &&\n (before === '\\r' || before === '\\n') &&\n child.type === 'html'\n ) {\n results[results.length - 1] = results[results.length - 1].replace(\n /(\\r?\\n|\\r)$/,\n ' '\n )\n before = ' '\n\n // To do: does this work to reset tracker?\n tracker = track(safeOptions)\n tracker.move(results.join(''))\n }\n\n results.push(\n tracker.move(\n context.handle(child, parent, context, {\n ...tracker.current(),\n before,\n after\n })\n )\n )\n\n before = results[results.length - 1].slice(-1)\n }\n\n indexStack.pop()\n\n return results.join('')\n}\n","/**\n * @typedef {import('mdast').Delete} Delete\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n */\n\nimport {containerPhrasing} from 'mdast-util-to-markdown/lib/util/container-phrasing.js'\nimport {track} from 'mdast-util-to-markdown/lib/util/track.js'\n\n/** @type {FromMarkdownExtension} */\nexport const gfmStrikethroughFromMarkdown = {\n canContainEols: ['delete'],\n enter: {strikethrough: enterStrikethrough},\n exit: {strikethrough: exitStrikethrough}\n}\n\n/** @type {ToMarkdownExtension} */\nexport const gfmStrikethroughToMarkdown = {\n unsafe: [{character: '~', inConstruct: 'phrasing'}],\n handlers: {delete: handleDelete}\n}\n\nhandleDelete.peek = peekDelete\n\n/** @type {FromMarkdownHandle} */\nfunction enterStrikethrough(token) {\n this.enter({type: 'delete', children: []}, token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitStrikethrough(token) {\n this.exit(token)\n}\n\n/**\n * @type {ToMarkdownHandle}\n * @param {Delete} node\n */\nfunction handleDelete(node, _, context, safeOptions) {\n const tracker = track(safeOptions)\n const exit = context.enter('emphasis')\n let value = tracker.move('~~')\n value += containerPhrasing(node, context, {\n ...tracker.current(),\n before: value,\n after: '~'\n })\n value += tracker.move('~~')\n exit()\n return value\n}\n\n/** @type {ToMarkdownHandle} */\nfunction peekDelete() {\n return '~'\n}\n","/**\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('../types.js').Handle} Handle\n */\n\nimport {patternCompile} from '../util/pattern-compile.js'\n\ninlineCode.peek = inlineCodePeek\n\n/**\n * @type {Handle}\n * @param {InlineCode} node\n */\nexport function inlineCode(node, _, context) {\n let value = node.value || ''\n let sequence = '`'\n let index = -1\n\n // If there is a single grave accent on its own in the code, use a fence of\n // two.\n // If there are two in a row, use one.\n while (new RegExp('(^|[^`])' + sequence + '([^`]|$)').test(value)) {\n sequence += '`'\n }\n\n // If this is not just spaces or eols (tabs don’t count), and either the\n // first or last character are a space, eol, or tick, then pad with spaces.\n if (\n /[^ \\r\\n]/.test(value) &&\n ((/^[ \\r\\n]/.test(value) && /[ \\r\\n]$/.test(value)) || /^`|`$/.test(value))\n ) {\n value = ' ' + value + ' '\n }\n\n // We have a potential problem: certain characters after eols could result in\n // blocks being seen.\n // For example, if someone injected the string `'\\n# b'`, then that would\n // result in an ATX heading.\n // We can’t escape characters in `inlineCode`, but because eols are\n // transformed to spaces when going from markdown to HTML anyway, we can swap\n // them out.\n while (++index < context.unsafe.length) {\n const pattern = context.unsafe[index]\n const expression = patternCompile(pattern)\n /** @type {RegExpExecArray|null} */\n let match\n\n // Only look for `atBreak`s.\n // Btw: note that `atBreak` patterns will always start the regex at LF or\n // CR.\n if (!pattern.atBreak) continue\n\n while ((match = expression.exec(value))) {\n let position = match.index\n\n // Support CRLF (patterns only look for one of the characters).\n if (\n value.charCodeAt(position) === 10 /* `\\n` */ &&\n value.charCodeAt(position - 1) === 13 /* `\\r` */\n ) {\n position--\n }\n\n value = value.slice(0, position) + ' ' + value.slice(match.index + 1)\n }\n }\n\n return sequence + value + sequence\n}\n\n/**\n * @type {Handle}\n */\nfunction inlineCodePeek() {\n return '`'\n}\n","/**\n * @typedef Options\n * Configuration (optional).\n * @property {string|null|Array<string|null|undefined>} [align]\n * One style for all columns, or styles for their respective columns.\n * Each style is either `'l'` (left), `'r'` (right), or `'c'` (center).\n * Other values are treated as `''`, which doesn’t place the colon in the\n * alignment row but does align left.\n * *Only the lowercased first character is used, so `Right` is fine.*\n * @property {boolean} [padding=true]\n * Whether to add a space of padding between delimiters and cells.\n *\n * When `true`, there is padding:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * When `false`, there is no padding:\n *\n * ```markdown\n * |Alpha|B |\n * |-----|-----|\n * |C |Delta|\n * ```\n * @property {boolean} [delimiterStart=true]\n * Whether to begin each row with the delimiter.\n *\n * > 👉 **Note**: please don’t use this: it could create fragile structures\n * > that aren’t understandable to some markdown parsers.\n *\n * When `true`, there are starting delimiters:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * When `false`, there are no starting delimiters:\n *\n * ```markdown\n * Alpha | B |\n * ----- | ----- |\n * C | Delta |\n * ```\n * @property {boolean} [delimiterEnd=true]\n * Whether to end each row with the delimiter.\n *\n * > 👉 **Note**: please don’t use this: it could create fragile structures\n * > that aren’t understandable to some markdown parsers.\n *\n * When `true`, there are ending delimiters:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * When `false`, there are no ending delimiters:\n *\n * ```markdown\n * | Alpha | B\n * | ----- | -----\n * | C | Delta\n * ```\n * @property {boolean} [alignDelimiters=true]\n * Whether to align the delimiters.\n * By default, they are aligned:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * Pass `false` to make them staggered:\n *\n * ```markdown\n * | Alpha | B |\n * | - | - |\n * | C | Delta |\n * ```\n * @property {(value: string) => number} [stringLength]\n * Function to detect the length of table cell content.\n * This is used when aligning the delimiters (`|`) between table cells.\n * Full-width characters and emoji mess up delimiter alignment when viewing\n * the markdown source.\n * To fix this, you can pass this function, which receives the cell content\n * and returns its “visible” size.\n * Note that what is and isn’t visible depends on where the text is displayed.\n *\n * Without such a function, the following:\n *\n * ```js\n * markdownTable([\n * ['Alpha', 'Bravo'],\n * ['中文', 'Charlie'],\n * ['👩❤️👩', 'Delta']\n * ])\n * ```\n *\n * Yields:\n *\n * ```markdown\n * | Alpha | Bravo |\n * | - | - |\n * | 中文 | Charlie |\n * | 👩❤️👩 | Delta |\n * ```\n *\n * With [`string-width`](https://github.com/sindresorhus/string-width):\n *\n * ```js\n * import stringWidth from 'string-width'\n *\n * markdownTable(\n * [\n * ['Alpha', 'Bravo'],\n * ['中文', 'Charlie'],\n * ['👩❤️👩', 'Delta']\n * ],\n * {stringLength: stringWidth}\n * )\n * ```\n *\n * Yields:\n *\n * ```markdown\n * | Alpha | Bravo |\n * | ----- | ------- |\n * | 中文 | Charlie |\n * | 👩❤️👩 | Delta |\n * ```\n */\n\n/**\n * @typedef {Options} MarkdownTableOptions\n * @todo\n * Remove next major.\n */\n\n/**\n * Generate a markdown ([GFM](https://docs.github.com/en/github/writing-on-github/working-with-advanced-formatting/organizing-information-with-tables)) table..\n *\n * @param {Array<Array<string|null|undefined>>} table\n * Table data (matrix of strings).\n * @param {Options} [options]\n * Configuration (optional).\n * @returns {string}\n */\nexport function markdownTable(table, options = {}) {\n const align = (options.align || []).concat()\n const stringLength = options.stringLength || defaultStringLength\n /** @type {Array<number>} Character codes as symbols for alignment per column. */\n const alignments = []\n /** @type {Array<Array<string>>} Cells per row. */\n const cellMatrix = []\n /** @type {Array<Array<number>>} Sizes of each cell per row. */\n const sizeMatrix = []\n /** @type {Array<number>} */\n const longestCellByColumn = []\n let mostCellsPerRow = 0\n let rowIndex = -1\n\n // This is a superfluous loop if we don’t align delimiters, but otherwise we’d\n // do superfluous work when aligning, so optimize for aligning.\n while (++rowIndex < table.length) {\n /** @type {Array<string>} */\n const row = []\n /** @type {Array<number>} */\n const sizes = []\n let columnIndex = -1\n\n if (table[rowIndex].length > mostCellsPerRow) {\n mostCellsPerRow = table[rowIndex].length\n }\n\n while (++columnIndex < table[rowIndex].length) {\n const cell = serialize(table[rowIndex][columnIndex])\n\n if (options.alignDelimiters !== false) {\n const size = stringLength(cell)\n sizes[columnIndex] = size\n\n if (\n longestCellByColumn[columnIndex] === undefined ||\n size > longestCellByColumn[columnIndex]\n ) {\n longestCellByColumn[columnIndex] = size\n }\n }\n\n row.push(cell)\n }\n\n cellMatrix[rowIndex] = row\n sizeMatrix[rowIndex] = sizes\n }\n\n // Figure out which alignments to use.\n let columnIndex = -1\n\n if (typeof align === 'object' && 'length' in align) {\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = toAlignment(align[columnIndex])\n }\n } else {\n const code = toAlignment(align)\n\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = code\n }\n }\n\n // Inject the alignment row.\n columnIndex = -1\n /** @type {Array<string>} */\n const row = []\n /** @type {Array<number>} */\n const sizes = []\n\n while (++columnIndex < mostCellsPerRow) {\n const code = alignments[columnIndex]\n let before = ''\n let after = ''\n\n if (code === 99 /* `c` */) {\n before = ':'\n after = ':'\n } else if (code === 108 /* `l` */) {\n before = ':'\n } else if (code === 114 /* `r` */) {\n after = ':'\n }\n\n // There *must* be at least one hyphen-minus in each alignment cell.\n let size =\n options.alignDelimiters === false\n ? 1\n : Math.max(\n 1,\n longestCellByColumn[columnIndex] - before.length - after.length\n )\n\n const cell = before + '-'.repeat(size) + after\n\n if (options.alignDelimiters !== false) {\n size = before.length + size + after.length\n\n if (size > longestCellByColumn[columnIndex]) {\n longestCellByColumn[columnIndex] = size\n }\n\n sizes[columnIndex] = size\n }\n\n row[columnIndex] = cell\n }\n\n // Inject the alignment row.\n cellMatrix.splice(1, 0, row)\n sizeMatrix.splice(1, 0, sizes)\n\n rowIndex = -1\n /** @type {Array<string>} */\n const lines = []\n\n while (++rowIndex < cellMatrix.length) {\n const row = cellMatrix[rowIndex]\n const sizes = sizeMatrix[rowIndex]\n columnIndex = -1\n /** @type {Array<string>} */\n const line = []\n\n while (++columnIndex < mostCellsPerRow) {\n const cell = row[columnIndex] || ''\n let before = ''\n let after = ''\n\n if (options.alignDelimiters !== false) {\n const size =\n longestCellByColumn[columnIndex] - (sizes[columnIndex] || 0)\n const code = alignments[columnIndex]\n\n if (code === 114 /* `r` */) {\n before = ' '.repeat(size)\n } else if (code === 99 /* `c` */) {\n if (size % 2) {\n before = ' '.repeat(size / 2 + 0.5)\n after = ' '.repeat(size / 2 - 0.5)\n } else {\n before = ' '.repeat(size / 2)\n after = before\n }\n } else {\n after = ' '.repeat(size)\n }\n }\n\n if (options.delimiterStart !== false && !columnIndex) {\n line.push('|')\n }\n\n if (\n options.padding !== false &&\n // Don’t add the opening space if we’re not aligning and the cell is\n // empty: there will be a closing space.\n !(options.alignDelimiters === false && cell === '') &&\n (options.delimiterStart !== false || columnIndex)\n ) {\n line.push(' ')\n }\n\n if (options.alignDelimiters !== false) {\n line.push(before)\n }\n\n line.push(cell)\n\n if (options.alignDelimiters !== false) {\n line.push(after)\n }\n\n if (options.padding !== false) {\n line.push(' ')\n }\n\n if (\n options.delimiterEnd !== false ||\n columnIndex !== mostCellsPerRow - 1\n ) {\n line.push('|')\n }\n }\n\n lines.push(\n options.delimiterEnd === false\n ? line.join('').replace(/ +$/, '')\n : line.join('')\n )\n }\n\n return lines.join('\\n')\n}\n\n/**\n * @param {string|null|undefined} [value]\n * @returns {string}\n */\nfunction serialize(value) {\n return value === null || value === undefined ? '' : String(value)\n}\n\n/**\n * @param {string} value\n * @returns {number}\n */\nfunction defaultStringLength(value) {\n return value.length\n}\n\n/**\n * @param {string|null|undefined} value\n * @returns {number}\n */\nfunction toAlignment(value) {\n const code = typeof value === 'string' ? value.codePointAt(0) : 0\n\n return code === 67 /* `C` */ || code === 99 /* `c` */\n ? 99 /* `c` */\n : code === 76 /* `L` */ || code === 108 /* `l` */\n ? 108 /* `l` */\n : code === 82 /* `R` */ || code === 114 /* `r` */\n ? 114 /* `r` */\n : 0\n}\n","/**\n * @typedef {import('mdast').AlignType} AlignType\n * @typedef {import('mdast').Table} Table\n * @typedef {import('mdast').TableRow} TableRow\n * @typedef {import('mdast').TableCell} TableCell\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('markdown-table').MarkdownTableOptions} MarkdownTableOptions\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Context} ToMarkdownContext\n * @typedef {import('mdast-util-to-markdown').SafeOptions} SafeOptions\n *\n * @typedef Options\n * @property {boolean} [tableCellPadding=true]\n * @property {boolean} [tablePipeAlign=true]\n * @property {MarkdownTableOptions['stringLength']} [stringLength]\n */\n\nimport {containerPhrasing} from 'mdast-util-to-markdown/lib/util/container-phrasing.js'\nimport {inlineCode} from 'mdast-util-to-markdown/lib/handle/inline-code.js'\nimport {markdownTable} from 'markdown-table'\n\n/** @type {FromMarkdownExtension} */\nexport const gfmTableFromMarkdown = {\n enter: {\n table: enterTable,\n tableData: enterCell,\n tableHeader: enterCell,\n tableRow: enterRow\n },\n exit: {\n codeText: exitCodeText,\n table: exitTable,\n tableData: exit,\n tableHeader: exit,\n tableRow: exit\n }\n}\n\n/** @type {FromMarkdownHandle} */\nfunction enterTable(token) {\n /** @type {Array<'left'|'right'|'center'|'none'>} */\n // @ts-expect-error: `align` is custom.\n const align = token._align\n this.enter(\n {\n type: 'table',\n align: align.map((d) => (d === 'none' ? null : d)),\n children: []\n },\n token\n )\n this.setData('inTable', true)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitTable(token) {\n this.exit(token)\n this.setData('inTable')\n}\n\n/** @type {FromMarkdownHandle} */\nfunction enterRow(token) {\n this.enter({type: 'tableRow', children: []}, token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exit(token) {\n this.exit(token)\n}\n\n/** @type {FromMarkdownHandle} */\nfunction enterCell(token) {\n this.enter({type: 'tableCell', children: []}, token)\n}\n\n// Overwrite the default code text data handler to unescape escaped pipes when\n// they are in tables.\n/** @type {FromMarkdownHandle} */\nfunction exitCodeText(token) {\n let value = this.resume()\n\n if (this.getData('inTable')) {\n value = value.replace(/\\\\([\\\\|])/g, replace)\n }\n\n const node = /** @type {InlineCode} */ (this.stack[this.stack.length - 1])\n node.value = value\n this.exit(token)\n}\n\n/**\n * @param {string} $0\n * @param {string} $1\n * @returns {string}\n */\nfunction replace($0, $1) {\n // Pipes work, backslashes don’t (but can’t escape pipes).\n return $1 === '|' ? $1 : $0\n}\n\n/**\n * @param {Options} [options]\n * @returns {ToMarkdownExtension}\n */\nexport function gfmTableToMarkdown(options) {\n const settings = options || {}\n const padding = settings.tableCellPadding\n const alignDelimiters = settings.tablePipeAlign\n const stringLength = settings.stringLength\n const around = padding ? ' ' : '|'\n\n return {\n unsafe: [\n {character: '\\r', inConstruct: 'tableCell'},\n {character: '\\n', inConstruct: 'tableCell'},\n // A pipe, when followed by a tab or space (padding), or a dash or colon\n // (unpadded delimiter row), could result in a table.\n {atBreak: true, character: '|', after: '[\\t :-]'},\n // A pipe in a cell must be encoded.\n {character: '|', inConstruct: 'tableCell'},\n // A colon must be followed by a dash, in which case it could start a\n // delimiter row.\n {atBreak: true, character: ':', after: '-'},\n // A delimiter row can also start with a dash, when followed by more\n // dashes, a colon, or a pipe.\n // This is a stricter version than the built in check for lists, thematic\n // breaks, and setex heading underlines though:\n // <https://github.com/syntax-tree/mdast-util-to-markdown/blob/51a2038/lib/unsafe.js#L57>\n {atBreak: true, character: '-', after: '[:|-]'}\n ],\n handlers: {\n table: handleTable,\n tableRow: handleTableRow,\n tableCell: handleTableCell,\n inlineCode: inlineCodeWithTable\n }\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {Table} node\n */\n function handleTable(node, _, context, safeOptions) {\n return serializeData(\n handleTableAsData(node, context, safeOptions),\n // @ts-expect-error: fixed in `markdown-table@3.0.1`.\n node.align\n )\n }\n\n /**\n * This function isn’t really used normally, because we handle rows at the\n * table level.\n * But, if someone passes in a table row, this ensures we make somewhat sense.\n *\n * @type {ToMarkdownHandle}\n * @param {TableRow} node\n */\n function handleTableRow(node, _, context, safeOptions) {\n const row = handleTableRowAsData(node, context, safeOptions)\n // `markdown-table` will always add an align row\n const value = serializeData([row])\n return value.slice(0, value.indexOf('\\n'))\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {TableCell} node\n */\n function handleTableCell(node, _, context, safeOptions) {\n const exit = context.enter('tableCell')\n const subexit = context.enter('phrasing')\n const value = containerPhrasing(node, context, {\n ...safeOptions,\n before: around,\n after: around\n })\n subexit()\n exit()\n return value\n }\n\n /**\n * @param {Array<Array<string>>} matrix\n * @param {Array<string>} [align]\n */\n function serializeData(matrix, align) {\n return markdownTable(matrix, {\n align,\n alignDelimiters,\n padding,\n stringLength\n })\n }\n\n /**\n * @param {Table} node\n * @param {ToMarkdownContext} context\n * @param {SafeOptions} safeOptions\n */\n function handleTableAsData(node, context, safeOptions) {\n const children = node.children\n let index = -1\n /** @type {Array<Array<string>>} */\n const result = []\n const subexit = context.enter('table')\n\n while (++index < children.length) {\n result[index] = handleTableRowAsData(\n children[index],\n context,\n safeOptions\n )\n }\n\n subexit()\n\n return result\n }\n\n /**\n * @param {TableRow} node\n * @param {ToMarkdownContext} context\n * @param {SafeOptions} safeOptions\n */\n function handleTableRowAsData(node, context, safeOptions) {\n const children = node.children\n let index = -1\n /** @type {Array<string>} */\n const result = []\n const subexit = context.enter('tableRow')\n\n while (++index < children.length) {\n // Note: the positional info as used here is incorrect.\n // Making it correct would be impossible due to aligning cells?\n // And it would need copy/pasting `markdown-table` into this project.\n result[index] = handleTableCell(\n children[index],\n node,\n context,\n safeOptions\n )\n }\n\n subexit()\n\n return result\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {InlineCode} node\n */\n function inlineCodeWithTable(node, parent, context) {\n let value = inlineCode(node, parent, context)\n\n if (context.stack.includes('tableCell')) {\n value = value.replace(/\\|/g, '\\\\$&')\n }\n\n return value\n }\n}\n","/**\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').List} List\n * @typedef {import('../util/indent-lines.js').Map} Map\n * @typedef {import('../types.js').Options} Options\n * @typedef {import('../types.js').Handle} Handle\n */\n\nimport {checkBullet} from '../util/check-bullet.js'\nimport {checkListItemIndent} from '../util/check-list-item-indent.js'\nimport {containerFlow} from '../util/container-flow.js'\nimport {indentLines} from '../util/indent-lines.js'\nimport {track} from '../util/track.js'\n\n/**\n * @type {Handle}\n * @param {ListItem} node\n */\nexport function listItem(node, parent, context, safeOptions) {\n const listItemIndent = checkListItemIndent(context)\n let bullet = context.bulletCurrent || checkBullet(context)\n\n // Add the marker value for ordered lists.\n if (parent && parent.type === 'list' && parent.ordered) {\n bullet =\n (typeof parent.start === 'number' && parent.start > -1\n ? parent.start\n : 1) +\n (context.options.incrementListMarker === false\n ? 0\n : parent.children.indexOf(node)) +\n bullet\n }\n\n let size = bullet.length + 1\n\n if (\n listItemIndent === 'tab' ||\n (listItemIndent === 'mixed' &&\n ((parent && parent.type === 'list' && parent.spread) || node.spread))\n ) {\n size = Math.ceil(size / 4) * 4\n }\n\n const tracker = track(safeOptions)\n tracker.move(bullet + ' '.repeat(size - bullet.length))\n tracker.shift(size)\n const exit = context.enter('listItem')\n const value = indentLines(\n containerFlow(node, context, tracker.current()),\n map\n )\n exit()\n\n return value\n\n /** @type {Map} */\n function map(line, index, blank) {\n if (index) {\n return (blank ? '' : ' '.repeat(size)) + line\n }\n\n return (blank ? bullet : bullet + ' '.repeat(size - bullet.length)) + line\n }\n}\n","/**\n * @typedef {import('../types.js').Context} Context\n * @typedef {import('../types.js').Options} Options\n */\n\n/**\n * @param {Context} context\n * @returns {Exclude<Options['listItemIndent'], undefined>}\n */\nexport function checkListItemIndent(context) {\n const style = context.options.listItemIndent || 'tab'\n\n // To do: remove in a major.\n // @ts-expect-error: deprecated.\n if (style === 1 || style === '1') {\n return 'one'\n }\n\n if (style !== 'tab' && style !== 'one' && style !== 'mixed') {\n throw new Error(\n 'Cannot serialize items with `' +\n style +\n '` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`'\n )\n }\n\n return style\n}\n","/**\n * @typedef {import('../types.js').Context} Context\n * @typedef {import('../types.js').Options} Options\n */\n\n/**\n * @param {Context} context\n * @returns {Exclude<Options['bullet'], undefined>}\n */\nexport function checkBullet(context) {\n const marker = context.options.bullet || '*'\n\n if (marker !== '*' && marker !== '+' && marker !== '-') {\n throw new Error(\n 'Cannot serialize items with `' +\n marker +\n '` for `options.bullet`, expected `*`, `+`, or `-`'\n )\n }\n\n return marker\n}\n","/**\n * @typedef {Extract<import('mdast').Root|import('mdast').Content, import('unist').Parent>} Parent\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('mdast').BlockContent} BlockContent\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n */\n\nimport {listItem} from 'mdast-util-to-markdown/lib/handle/list-item.js'\nimport {track} from 'mdast-util-to-markdown/lib/util/track.js'\n\n/** @type {FromMarkdownExtension} */\nexport const gfmTaskListItemFromMarkdown = {\n exit: {\n taskListCheckValueChecked: exitCheck,\n taskListCheckValueUnchecked: exitCheck,\n paragraph: exitParagraphWithTaskListItem\n }\n}\n\n/** @type {ToMarkdownExtension} */\nexport const gfmTaskListItemToMarkdown = {\n unsafe: [{atBreak: true, character: '-', after: '[:|-]'}],\n handlers: {listItem: listItemWithTaskListItem}\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitCheck(token) {\n const node = /** @type {ListItem} */ (this.stack[this.stack.length - 2])\n // We’re always in a paragraph, in a list item.\n node.checked = token.type === 'taskListCheckValueChecked'\n}\n\n/** @type {FromMarkdownHandle} */\nfunction exitParagraphWithTaskListItem(token) {\n const parent = /** @type {Parent} */ (this.stack[this.stack.length - 2])\n const node = /** @type {Paragraph} */ (this.stack[this.stack.length - 1])\n const siblings = parent.children\n const head = node.children[0]\n let index = -1\n /** @type {Paragraph|undefined} */\n let firstParaghraph\n\n if (\n parent &&\n parent.type === 'listItem' &&\n typeof parent.checked === 'boolean' &&\n head &&\n head.type === 'text'\n ) {\n while (++index < siblings.length) {\n const sibling = siblings[index]\n if (sibling.type === 'paragraph') {\n firstParaghraph = sibling\n break\n }\n }\n\n if (firstParaghraph === node) {\n // Must start with a space or a tab.\n head.value = head.value.slice(1)\n\n if (head.value.length === 0) {\n node.children.shift()\n } else if (\n node.position &&\n head.position &&\n typeof head.position.start.offset === 'number'\n ) {\n head.position.start.column++\n head.position.start.offset++\n node.position.start = Object.assign({}, head.position.start)\n }\n }\n }\n\n this.exit(token)\n}\n\n/**\n * @type {ToMarkdownHandle}\n * @param {ListItem} node\n */\nfunction listItemWithTaskListItem(node, parent, context, safeOptions) {\n const head = node.children[0]\n const checkable =\n typeof node.checked === 'boolean' && head && head.type === 'paragraph'\n const checkbox = '[' + (node.checked ? 'x' : ' ') + '] '\n const tracker = track(safeOptions)\n\n if (checkable) {\n tracker.move(checkbox)\n }\n\n let value = listItem(node, parent, context, {\n ...safeOptions,\n ...tracker.current()\n })\n\n if (checkable) {\n value = value.replace(/^(?:[*+-]|\\d+\\.)([\\r\\n]| {1,3})/, check)\n }\n\n return value\n\n /**\n * @param {string} $0\n * @returns {string}\n */\n function check($0) {\n return $0 + checkbox\n }\n}\n","/**\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n *\n * @typedef {import('mdast-util-gfm-table').Options} Options\n */\n\nimport {\n gfmAutolinkLiteralFromMarkdown,\n gfmAutolinkLiteralToMarkdown\n} from 'mdast-util-gfm-autolink-literal'\nimport {\n gfmFootnoteFromMarkdown,\n gfmFootnoteToMarkdown\n} from 'mdast-util-gfm-footnote'\nimport {\n gfmStrikethroughFromMarkdown,\n gfmStrikethroughToMarkdown\n} from 'mdast-util-gfm-strikethrough'\nimport {gfmTableFromMarkdown, gfmTableToMarkdown} from 'mdast-util-gfm-table'\nimport {\n gfmTaskListItemFromMarkdown,\n gfmTaskListItemToMarkdown\n} from 'mdast-util-gfm-task-list-item'\n\n/**\n * @returns {Array<FromMarkdownExtension>}\n */\nexport function gfmFromMarkdown() {\n return [\n gfmAutolinkLiteralFromMarkdown,\n gfmFootnoteFromMarkdown(),\n gfmStrikethroughFromMarkdown,\n gfmTableFromMarkdown,\n gfmTaskListItemFromMarkdown\n ]\n}\n\n/**\n * @param {Options} [options]\n * @returns {ToMarkdownExtension}\n */\nexport function gfmToMarkdown(options) {\n return {\n extensions: [\n gfmAutolinkLiteralToMarkdown,\n gfmFootnoteToMarkdown(),\n gfmStrikethroughToMarkdown,\n gfmTableToMarkdown(options),\n gfmTaskListItemToMarkdown\n ]\n }\n}\n","/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('micromark-extension-gfm').Options & import('mdast-util-gfm').Options} Options\n */\n\nimport {gfm} from 'micromark-extension-gfm'\nimport {gfmFromMarkdown, gfmToMarkdown} from 'mdast-util-gfm'\n\n/**\n * Plugin to support GFM (autolink literals, footnotes, strikethrough, tables, tasklists).\n *\n * @type {import('unified').Plugin<[Options?]|void[], Root>}\n */\nexport default function remarkGfm(options = {}) {\n const data = this.data()\n\n add('micromarkExtensions', gfm(options))\n add('fromMarkdownExtensions', gfmFromMarkdown())\n add('toMarkdownExtensions', gfmToMarkdown(options))\n\n /**\n * @param {string} field\n * @param {unknown} value\n */\n function add(field, value) {\n const list = /** @type {unknown[]} */ (\n // Other extensions\n /* c8 ignore next 2 */\n data[field] ? data[field] : (data[field] = [])\n )\n\n list.push(value)\n }\n}\n","/**\n * @typedef {import('hast').Properties} Properties\n * @typedef {import('hast').Element} Element\n */\n\nvar search = /[#.]/g\n\n/**\n * Create a hast element from a simple CSS selector.\n *\n * @param selector A simple CSS selector.\n * Can contain a tag-name (`foo`), classes (`.bar`), and an ID (`#baz`).\n * Multiple classes are allowed.\n * Uses the last ID if multiple IDs are found.\n * @param [defaultTagName='div'] Tag name to use if `selector` does not specify one.\n */\nexport const parseSelector =\n /**\n * @type {(\n * <Selector extends string, DefaultTagName extends string = 'div'>(selector?: Selector, defaultTagName?: DefaultTagName) => Element & {tagName: import('./extract.js').ExtractTagName<Selector, DefaultTagName>}\n * )}\n */\n (\n /**\n * @param {string} [selector]\n * @param {string} [defaultTagName='div']\n * @returns {Element}\n */\n function (selector, defaultTagName = 'div') {\n var value = selector || ''\n /** @type {Properties} */\n var props = {}\n var start = 0\n /** @type {string} */\n var subvalue\n /** @type {string} */\n var previous\n /** @type {RegExpMatchArray} */\n var match\n\n while (start < value.length) {\n search.lastIndex = start\n match = search.exec(value)\n subvalue = value.slice(start, match ? match.index : value.length)\n\n if (subvalue) {\n if (!previous) {\n defaultTagName = subvalue\n } else if (previous === '#') {\n props.id = subvalue\n } else if (Array.isArray(props.className)) {\n props.className.push(subvalue)\n } else {\n props.className = [subvalue]\n }\n\n start += subvalue.length\n }\n\n if (match) {\n previous = match[0]\n start++\n }\n }\n\n return {\n type: 'element',\n tagName: defaultTagName,\n properties: props,\n children: []\n }\n }\n )\n","/**\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Properties} Properties\n * @typedef {Root['children'][number]} Child\n * @typedef {Child|Root} Node\n * @typedef {import('property-information').Info} Info\n * @typedef {import('property-information').Schema} Schema\n *\n * @typedef {Root|Element} HResult\n * @typedef {string|number} HStyleValue\n * @typedef {Record<string, HStyleValue>} HStyle\n * @typedef {string|number|boolean|null|undefined} HPrimitiveValue\n * @typedef {Array<string|number>} HArrayValue\n * @typedef {HPrimitiveValue|HArrayValue} HPropertyValue\n * @typedef {{[property: string]: HPropertyValue|HStyle}} HProperties\n * Acceptable properties value.\n *\n * @typedef {string|number|null|undefined} HPrimitiveChild\n * @typedef {Array<Node|HPrimitiveChild>} HArrayChild\n * @typedef {Node|HPrimitiveChild|HArrayChild} HChild\n * Acceptable child value\n */\n\nimport {find, normalize} from 'property-information'\nimport {parseSelector} from 'hast-util-parse-selector'\nimport {parse as spaces} from 'space-separated-tokens'\nimport {parse as commas} from 'comma-separated-tokens'\n\nconst buttonTypes = new Set(['menu', 'submit', 'reset', 'button'])\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param {Schema} schema\n * @param {string} defaultTagName\n * @param {Array<string>} [caseSensitive]\n */\nexport function core(schema, defaultTagName, caseSensitive) {\n const adjust = caseSensitive && createAdjustMap(caseSensitive)\n\n const h =\n /**\n * @type {{\n * (): Root\n * (selector: null|undefined, ...children: Array<HChild>): Root\n * (selector: string, properties?: HProperties, ...children: Array<HChild>): Element\n * (selector: string, ...children: Array<HChild>): Element\n * }}\n */\n (\n /**\n * Hyperscript compatible DSL for creating virtual hast trees.\n *\n * @param {string|null} [selector]\n * @param {HProperties|HChild} [properties]\n * @param {Array<HChild>} children\n * @returns {HResult}\n */\n function (selector, properties, ...children) {\n let index = -1\n /** @type {HResult} */\n let node\n\n if (selector === undefined || selector === null) {\n node = {type: 'root', children: []}\n // @ts-expect-error Properties are not supported for roots.\n children.unshift(properties)\n } else {\n node = parseSelector(selector, defaultTagName)\n // Normalize the name.\n node.tagName = node.tagName.toLowerCase()\n if (adjust && own.call(adjust, node.tagName)) {\n node.tagName = adjust[node.tagName]\n }\n\n // Handle props.\n if (isProperties(properties, node.tagName)) {\n /** @type {string} */\n let key\n\n for (key in properties) {\n if (own.call(properties, key)) {\n // @ts-expect-error `node.properties` is set.\n addProperty(schema, node.properties, key, properties[key])\n }\n }\n } else {\n children.unshift(properties)\n }\n }\n\n // Handle children.\n while (++index < children.length) {\n addChild(node.children, children[index])\n }\n\n if (node.type === 'element' && node.tagName === 'template') {\n node.content = {type: 'root', children: node.children}\n node.children = []\n }\n\n return node\n }\n )\n\n return h\n}\n\n/**\n * @param {HProperties|HChild} value\n * @param {string} name\n * @returns {value is HProperties}\n */\nfunction isProperties(value, name) {\n if (\n value === null ||\n value === undefined ||\n typeof value !== 'object' ||\n Array.isArray(value)\n ) {\n return false\n }\n\n if (name === 'input' || !value.type || typeof value.type !== 'string') {\n return true\n }\n\n if ('children' in value && Array.isArray(value.children)) {\n return false\n }\n\n if (name === 'button') {\n return buttonTypes.has(value.type.toLowerCase())\n }\n\n return !('value' in value)\n}\n\n/**\n * @param {Schema} schema\n * @param {Properties} properties\n * @param {string} key\n * @param {HStyle|HPropertyValue} value\n * @returns {void}\n */\nfunction addProperty(schema, properties, key, value) {\n const info = find(schema, key)\n let index = -1\n /** @type {HPropertyValue} */\n let result\n\n // Ignore nullish and NaN values.\n if (value === undefined || value === null) return\n\n if (typeof value === 'number') {\n // Ignore NaN.\n if (Number.isNaN(value)) return\n\n result = value\n }\n // Booleans.\n else if (typeof value === 'boolean') {\n result = value\n }\n // Handle list values.\n else if (typeof value === 'string') {\n if (info.spaceSeparated) {\n result = spaces(value)\n } else if (info.commaSeparated) {\n result = commas(value)\n } else if (info.commaOrSpaceSeparated) {\n result = spaces(commas(value).join(' '))\n } else {\n result = parsePrimitive(info, info.property, value)\n }\n } else if (Array.isArray(value)) {\n result = value.concat()\n } else {\n result = info.property === 'style' ? style(value) : String(value)\n }\n\n if (Array.isArray(result)) {\n /** @type {Array<string|number>} */\n const finalResult = []\n\n while (++index < result.length) {\n // @ts-expect-error Assume no booleans in array.\n finalResult[index] = parsePrimitive(info, info.property, result[index])\n }\n\n result = finalResult\n }\n\n // Class names (which can be added both on the `selector` and here).\n if (info.property === 'className' && Array.isArray(properties.className)) {\n // @ts-expect-error Assume no booleans in `className`.\n result = properties.className.concat(result)\n }\n\n properties[info.property] = result\n}\n\n/**\n * @param {Array<Child>} nodes\n * @param {HChild} value\n * @returns {void}\n */\nfunction addChild(nodes, value) {\n let index = -1\n\n if (value === undefined || value === null) {\n // Empty.\n } else if (typeof value === 'string' || typeof value === 'number') {\n nodes.push({type: 'text', value: String(value)})\n } else if (Array.isArray(value)) {\n while (++index < value.length) {\n addChild(nodes, value[index])\n }\n } else if (typeof value === 'object' && 'type' in value) {\n if (value.type === 'root') {\n addChild(nodes, value.children)\n } else {\n nodes.push(value)\n }\n } else {\n throw new Error('Expected node, nodes, or string, got `' + value + '`')\n }\n}\n\n/**\n * Parse a single primitives.\n *\n * @param {Info} info\n * @param {string} name\n * @param {HPrimitiveValue} value\n * @returns {HPrimitiveValue}\n */\nfunction parsePrimitive(info, name, value) {\n if (typeof value === 'string') {\n if (info.number && value && !Number.isNaN(Number(value))) {\n return Number(value)\n }\n\n if (\n (info.boolean || info.overloadedBoolean) &&\n (value === '' || normalize(value) === normalize(name))\n ) {\n return true\n }\n }\n\n return value\n}\n\n/**\n * @param {HStyle} value\n * @returns {string}\n */\nfunction style(value) {\n /** @type {Array<string>} */\n const result = []\n /** @type {string} */\n let key\n\n for (key in value) {\n if (own.call(value, key)) {\n result.push([key, value[key]].join(': '))\n }\n }\n\n return result.join('; ')\n}\n\n/**\n * @param {Array<string>} values\n * @returns {Record<string, string>}\n */\nfunction createAdjustMap(values) {\n /** @type {Record<string, string>} */\n const result = {}\n let index = -1\n\n while (++index < values.length) {\n result[values[index].toLowerCase()] = values[index]\n }\n\n return result\n}\n","export const svgCaseSensitiveTagNames = [\n 'altGlyph',\n 'altGlyphDef',\n 'altGlyphItem',\n 'animateColor',\n 'animateMotion',\n 'animateTransform',\n 'clipPath',\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 'foreignObject',\n 'glyphRef',\n 'linearGradient',\n 'radialGradient',\n 'solidColor',\n 'textArea',\n 'textPath'\n]\n","/**\n * @typedef {import('./core.js').HChild} Child\n * @typedef {import('./core.js').HProperties} Properties\n *\n * @typedef {import('./jsx-classic').Element} s.JSX.Element\n * @typedef {import('./jsx-classic').IntrinsicAttributes} s.JSX.IntrinsicAttributes\n * @typedef {import('./jsx-classic').IntrinsicElements} s.JSX.IntrinsicElements\n * @typedef {import('./jsx-classic').ElementChildrenAttribute} s.JSX.ElementChildrenAttribute\n */\n\nimport {svg} from 'property-information'\nimport {core} from './core.js'\nimport {svgCaseSensitiveTagNames} from './svg-case-sensitive-tag-names.js'\n\nexport const s = core(svg, 'g', svgCaseSensitiveTagNames)\n","/**\n * @typedef {import('./core.js').HChild} Child Acceptable child value\n * @typedef {import('./core.js').HProperties} Properties Acceptable properties value.\n *\n * @typedef {import('./jsx-classic').Element} h.JSX.Element\n * @typedef {import('./jsx-classic').IntrinsicAttributes} h.JSX.IntrinsicAttributes\n * @typedef {import('./jsx-classic').IntrinsicElements} h.JSX.IntrinsicElements\n * @typedef {import('./jsx-classic').ElementChildrenAttribute} h.JSX.ElementChildrenAttribute\n */\n\nimport {html} from 'property-information'\nimport {core} from './core.js'\n\nexport const h = core(html, 'div')\n","/**\n * Map of web namespaces.\n *\n * @type {Record<string, string>}\n */\nexport const webNamespaces = {\n html: 'http://www.w3.org/1999/xhtml',\n mathml: 'http://www.w3.org/1998/Math/MathML',\n svg: 'http://www.w3.org/2000/svg',\n xlink: 'http://www.w3.org/1999/xlink',\n xml: 'http://www.w3.org/XML/1998/namespace',\n xmlns: 'http://www.w3.org/2000/xmlns/'\n}\n","/**\n * @typedef {import('vfile').VFile} VFile\n * @typedef {import('property-information').Schema} Schema\n * @typedef {import('unist').Position} Position\n * @typedef {import('unist').Point} Point\n * @typedef {import('hast').Parent} Parent\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast').Comment} Comment\n * @typedef {import('hast').DocType} Doctype\n * @typedef {Parent['children'][number]} Child\n * @typedef {Element['children'][number]} ElementChild\n * @typedef {Child|Root} Node\n * @typedef {import('parse5').Document} P5Document\n * @typedef {import('parse5').DocumentType} P5Doctype\n * @typedef {import('parse5').CommentNode} P5Comment\n * @typedef {import('parse5').TextNode} P5Text\n * @typedef {import('parse5').Element} P5Element\n * @typedef {import('parse5').ElementLocation} P5ElementLocation\n * @typedef {import('parse5').Location} P5Location\n * @typedef {import('parse5').Attribute} P5Attribute\n * @typedef {import('parse5').Node} P5Node\n *\n * @typedef {'html'|'svg'} Space\n *\n * @callback Handler\n * @param {Context} ctx\n * @param {P5Node} node\n * @param {Array.<Child>} [children]\n * @returns {Node}\n *\n * @typedef Options\n * @property {Space} [space='html'] Whether the root of the tree is in the `'html'` or `'svg'` space. If an element in with the SVG namespace is found in `ast`, `fromParse5` automatically switches to the SVG space when entering the element, and switches back when leaving\n * @property {VFile} [file] `VFile`, used to add positional information to nodes. If given, the file should have the original HTML source as its contents\n * @property {boolean} [verbose=false] Whether to add extra positional information about starting tags, closing tags, and attributes to elements. Note: not used without `file`\n *\n * @typedef Context\n * @property {Schema} schema\n * @property {VFile|undefined} file\n * @property {boolean|undefined} verbose\n * @property {boolean} location\n */\n\nimport {h, s} from 'hastscript'\nimport {html, svg, find} from 'property-information'\nimport {location} from 'vfile-location'\nimport {webNamespaces} from 'web-namespaces'\n\nconst own = {}.hasOwnProperty\n\n// Handlers.\nconst map = {\n '#document': root,\n '#document-fragment': root,\n '#text': text,\n '#comment': comment,\n '#documentType': doctype\n}\n\n/**\n * Transform Parse5’s AST to a hast tree.\n *\n * @param {P5Node} ast\n * @param {Options|VFile} [options]\n */\nexport function fromParse5(ast, options = {}) {\n /** @type {Options} */\n let settings\n /** @type {VFile|undefined} */\n let file\n\n if (isFile(options)) {\n file = options\n settings = {}\n } else {\n file = options.file\n settings = options\n }\n\n return transform(\n {\n schema: settings.space === 'svg' ? svg : html,\n file,\n verbose: settings.verbose,\n location: false\n },\n ast\n )\n}\n\n/**\n * Transform children.\n *\n * @param {Context} ctx\n * @param {P5Node} ast\n * @returns {Node}\n */\nfunction transform(ctx, ast) {\n const schema = ctx.schema\n /** @type {Handler} */\n // @ts-expect-error: index is fine.\n const fn = own.call(map, ast.nodeName) ? map[ast.nodeName] : element\n /** @type {Array.<Child>|undefined} */\n let children\n\n // Element.\n if ('tagName' in ast) {\n ctx.schema = ast.namespaceURI === webNamespaces.svg ? svg : html\n }\n\n if ('childNodes' in ast) {\n children = nodes(ctx, ast.childNodes)\n }\n\n const result = fn(ctx, ast, children)\n\n if ('sourceCodeLocation' in ast && ast.sourceCodeLocation && ctx.file) {\n // @ts-expect-error It’s fine.\n const position = createLocation(ctx, result, ast.sourceCodeLocation)\n\n if (position) {\n ctx.location = true\n result.position = position\n }\n }\n\n ctx.schema = schema\n\n return result\n}\n\n/**\n * Transform children.\n *\n * @param {Context} ctx\n * @param {Array.<P5Node>} children\n * @returns {Array.<Child>}\n */\nfunction nodes(ctx, children) {\n let index = -1\n /** @type {Array.<Child>} */\n const result = []\n\n while (++index < children.length) {\n // @ts-expect-error Assume no roots in children.\n result[index] = transform(ctx, children[index])\n }\n\n return result\n}\n\n/**\n * Transform a document.\n * Stores `ast.quirksMode` in `node.data.quirksMode`.\n *\n * @type {Handler}\n * @param {P5Document} ast\n * @param {Array.<Child>} children\n * @returns {Root}\n */\nfunction root(ctx, ast, children) {\n /** @type {Root} */\n const result = {\n type: 'root',\n children,\n data: {quirksMode: ast.mode === 'quirks' || ast.mode === 'limited-quirks'}\n }\n\n if (ctx.file && ctx.location) {\n const doc = String(ctx.file)\n const loc = location(doc)\n result.position = {\n start: loc.toPoint(0),\n end: loc.toPoint(doc.length)\n }\n }\n\n return result\n}\n\n/**\n * Transform a doctype.\n *\n * @type {Handler}\n * @returns {Doctype}\n */\nfunction doctype() {\n // @ts-expect-error Types are out of date.\n return {type: 'doctype'}\n}\n\n/**\n * Transform a text.\n *\n * @type {Handler}\n * @param {P5Text} ast\n * @returns {Text}\n */\nfunction text(_, ast) {\n return {type: 'text', value: ast.value}\n}\n\n/**\n * Transform a comment.\n *\n * @type {Handler}\n * @param {P5Comment} ast\n * @returns {Comment}\n */\nfunction comment(_, ast) {\n return {type: 'comment', value: ast.data}\n}\n\n/**\n * Transform an element.\n *\n * @type {Handler}\n * @param {P5Element} ast\n * @param {Array.<ElementChild>} children\n * @returns {Element}\n */\nfunction element(ctx, ast, children) {\n const fn = ctx.schema.space === 'svg' ? s : h\n let index = -1\n /** @type {Object.<string, string>} */\n const props = {}\n\n while (++index < ast.attrs.length) {\n const attribute = ast.attrs[index]\n props[(attribute.prefix ? attribute.prefix + ':' : '') + attribute.name] =\n attribute.value\n }\n\n const result = fn(ast.tagName, props, children)\n\n if (result.tagName === 'template' && 'content' in ast) {\n const pos = ast.sourceCodeLocation\n const startTag = pos && pos.startTag && position(pos.startTag)\n const endTag = pos && pos.endTag && position(pos.endTag)\n\n /** @type {Root} */\n // @ts-expect-error Types are wrong.\n const content = transform(ctx, ast.content)\n\n if (startTag && endTag && ctx.file) {\n content.position = {start: startTag.end, end: endTag.start}\n }\n\n result.content = content\n }\n\n return result\n}\n\n/**\n * Create clean positional information.\n *\n * @param {Context} ctx\n * @param {Node} node\n * @param {P5ElementLocation} location\n * @returns {Position|null}\n */\nfunction createLocation(ctx, node, location) {\n const result = position(location)\n\n if (node.type === 'element') {\n const tail = node.children[node.children.length - 1]\n\n // Bug for unclosed with children.\n // See: <https://github.com/inikulin/parse5/issues/109>.\n if (\n result &&\n !location.endTag &&\n tail &&\n tail.position &&\n tail.position.end\n ) {\n result.end = Object.assign({}, tail.position.end)\n }\n\n if (ctx.verbose) {\n /** @type {Object.<string, Position|null>} */\n const props = {}\n /** @type {string} */\n let key\n\n for (key in location.attrs) {\n if (own.call(location.attrs, key)) {\n props[find(ctx.schema, key).property] = position(location.attrs[key])\n }\n }\n\n node.data = {\n position: {\n opening: position(location.startTag),\n closing: location.endTag ? position(location.endTag) : null,\n properties: props\n }\n }\n }\n }\n\n return result\n}\n\n/**\n * @param {P5Location} loc\n * @returns {Position|null}\n */\nfunction position(loc) {\n const start = point({\n line: loc.startLine,\n column: loc.startCol,\n offset: loc.startOffset\n })\n const end = point({\n line: loc.endLine,\n column: loc.endCol,\n offset: loc.endOffset\n })\n // @ts-expect-error `null` is fine.\n return start || end ? {start, end} : null\n}\n\n/**\n * @param {Point} point\n * @returns {Point|null}\n */\nfunction point(point) {\n return point.line && point.column ? point : null\n}\n\n/**\n * @param {VFile|Options} value\n * @returns {value is VFile}\n */\nfunction isFile(value) {\n return 'messages' in value\n}\n","/**\n * @typedef {import('unist').Point} Point\n * @typedef {import('vfile').VFile} VFile\n *\n * @typedef {Pick<Point, 'line'|'column'>} PositionalPoint\n * @typedef {Required<Point>} FullPoint\n * @typedef {NonNullable<Point['offset']>} Offset\n */\n\n/**\n * Get transform functions for the given `document`.\n *\n * @param {string|Uint8Array|VFile} file\n */\nexport function location(file) {\n var value = String(file)\n /** @type {Array.<number>} */\n var indices = []\n var search = /\\r?\\n|\\r/g\n\n while (search.test(value)) {\n indices.push(search.lastIndex)\n }\n\n indices.push(value.length + 1)\n\n return {toPoint, toOffset}\n\n /**\n * Get the line and column-based `point` for `offset` in the bound indices.\n * Returns a point with `undefined` values when given invalid or out of bounds\n * input.\n *\n * @param {Offset} offset\n * @returns {FullPoint}\n */\n function toPoint(offset) {\n var index = -1\n\n if (offset > -1 && offset < indices[indices.length - 1]) {\n while (++index < indices.length) {\n if (indices[index] > offset) {\n return {\n line: index + 1,\n column: offset - (indices[index - 1] || 0) + 1,\n offset\n }\n }\n }\n }\n\n return {line: undefined, column: undefined, offset: undefined}\n }\n\n /**\n * Get the `offset` for a line and column-based `point` in the bound indices.\n * Returns `-1` when given invalid or out of bounds input.\n *\n * @param {PositionalPoint} point\n * @returns {Offset}\n */\n function toOffset(point) {\n var line = point && point.line\n var column = point && point.column\n /** @type {number} */\n var offset\n\n if (\n typeof line === 'number' &&\n typeof column === 'number' &&\n !Number.isNaN(line) &&\n !Number.isNaN(column) &&\n line - 1 in indices\n ) {\n offset = (indices[line - 2] || 0) + column - 1 || 0\n }\n\n return offset > -1 && offset < indices[indices.length - 1] ? offset : -1\n }\n}\n","/**\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').Text} Text\n *\n * @typedef {import('unist-util-is').AssertPredicate<Element>} AssertElement\n * @typedef {import('unist-util-is').AssertPredicate<Text>} AssertText\n * @typedef {import('unist-util-is').AssertPredicate<Root>} AssertRoot\n *\n * @callback CreateElementLike\n * @param {string} name\n * @param {any} attributes\n * @param {Array.<string|any>} [children]\n * @returns {any}\n *\n * @typedef Context\n * @property {html|svg} schema\n * @property {string|null} prefix\n * @property {number} key\n * @property {boolean} react\n * @property {boolean} vue\n * @property {boolean} vdom\n * @property {boolean} hyperscript\n *\n * @typedef Options\n * @property {string|null} [prefix]\n * @property {'html'|'svg'} [space]\n */\n\nimport {html, svg, find, hastToReact} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {stringify as commas} from 'comma-separated-tokens'\nimport style from 'style-to-object'\nimport {webNamespaces} from 'web-namespaces'\nimport {convert} from 'unist-util-is'\n\nconst ns = /** @type {Record<string, string>} */ (webNamespaces)\nconst toReact = /** @type {Record<string, string>} */ (hastToReact)\n\nconst own = {}.hasOwnProperty\n\n/** @type {AssertRoot} */\n// @ts-expect-error it’s correct.\nconst root = convert('root')\n/** @type {AssertElement} */\n// @ts-expect-error it’s correct.\nconst element = convert('element')\n/** @type {AssertText} */\n// @ts-expect-error it’s correct.\nconst text = convert('text')\n\n/**\n * @template {CreateElementLike} H\n * @param {H} h\n * @param {Element|Root} tree\n * @param {string|boolean|Options} [options]\n * @returns {ReturnType<H>}\n */\nexport function toH(h, tree, options) {\n if (typeof h !== 'function') {\n throw new TypeError('h is not a function')\n }\n\n const r = react(h)\n const v = vue(h)\n const vd = vdom(h)\n /** @type {string|boolean|null|undefined} */\n let prefix\n /** @type {Element} */\n let node\n\n if (typeof options === 'string' || typeof options === 'boolean') {\n prefix = options\n options = {}\n } else {\n if (!options) options = {}\n prefix = options.prefix\n }\n\n if (root(tree)) {\n // @ts-expect-error Allow `doctypes` in there, we’ll filter them out later.\n node =\n tree.children.length === 1 && element(tree.children[0])\n ? tree.children[0]\n : {\n type: 'element',\n tagName: 'div',\n properties: {},\n children: tree.children\n }\n } else if (element(tree)) {\n node = tree\n } else {\n throw new Error(\n // @ts-expect-error runtime.\n 'Expected root or element, not `' + ((tree && tree.type) || tree) + '`'\n )\n }\n\n return transform(h, node, {\n schema: options.space === 'svg' ? svg : html,\n prefix:\n prefix === undefined || prefix === null\n ? r || v || vd\n ? 'h-'\n : null\n : typeof prefix === 'string'\n ? prefix\n : prefix\n ? 'h-'\n : null,\n key: 0,\n react: r,\n vue: v,\n vdom: vd,\n hyperscript: hyperscript(h)\n })\n}\n\n/**\n * Transform a hast node through a hyperscript interface to *anything*!\n *\n * @template {CreateElementLike} H\n * @param {H} h\n * @param {Element} node\n * @param {Context} ctx\n */\nfunction transform(h, node, ctx) {\n const parentSchema = ctx.schema\n let schema = parentSchema\n let name = node.tagName\n /** @type {Record<string, unknown>} */\n const attributes = {}\n /** @type {Array.<ReturnType<H>|string>} */\n const nodes = []\n let index = -1\n /** @type {string} */\n let key\n\n if (parentSchema.space === 'html' && name.toLowerCase() === 'svg') {\n schema = svg\n ctx.schema = schema\n }\n\n for (key in node.properties) {\n if (node.properties && own.call(node.properties, key)) {\n addAttribute(attributes, key, node.properties[key], ctx, name)\n }\n }\n\n if (ctx.vdom) {\n if (schema.space === 'html') {\n name = name.toUpperCase()\n } else if (schema.space) {\n attributes.namespace = ns[schema.space]\n }\n }\n\n if (ctx.prefix) {\n ctx.key++\n attributes.key = ctx.prefix + ctx.key\n }\n\n if (node.children) {\n while (++index < node.children.length) {\n const value = node.children[index]\n\n if (element(value)) {\n nodes.push(transform(h, value, ctx))\n } else if (text(value)) {\n nodes.push(value.value)\n }\n }\n }\n\n // Restore parent schema.\n ctx.schema = parentSchema\n\n // Ensure no React warnings are triggered for void elements having children\n // passed in.\n return nodes.length > 0\n ? h.call(node, name, attributes, nodes)\n : h.call(node, name, attributes)\n}\n\n/**\n * @param {Record<string, unknown>} props\n * @param {string} prop\n * @param {unknown} value\n * @param {Context} ctx\n * @param {string} name\n */\n// eslint-disable-next-line complexity, max-params\nfunction addAttribute(props, prop, value, ctx, name) {\n const info = find(ctx.schema, prop)\n /** @type {string|undefined} */\n let subprop\n\n // Ignore nullish and `NaN` values.\n // Ignore `false` and falsey known booleans for hyperlike DSLs.\n if (\n value === undefined ||\n value === null ||\n (typeof value === 'number' && Number.isNaN(value)) ||\n (value === false && (ctx.vue || ctx.vdom || ctx.hyperscript)) ||\n (!value && info.boolean && (ctx.vue || ctx.vdom || ctx.hyperscript))\n ) {\n return\n }\n\n if (Array.isArray(value)) {\n // Accept `array`.\n // Most props are space-separated.\n value = info.commaSeparated ? commas(value) : spaces(value)\n }\n\n // Treat `true` and truthy known booleans.\n if (info.boolean && ctx.hyperscript) {\n value = ''\n }\n\n // VDOM, Vue, and React accept `style` as object.\n if (\n info.property === 'style' &&\n typeof value === 'string' &&\n (ctx.react || ctx.vue || ctx.vdom)\n ) {\n value = parseStyle(value, name)\n }\n\n if (ctx.vue) {\n if (info.property !== 'style') subprop = 'attrs'\n } else if (!info.mustUseProperty) {\n if (ctx.vdom) {\n if (info.property !== 'style') subprop = 'attributes'\n } else if (ctx.hyperscript) {\n subprop = 'attrs'\n }\n }\n\n if (subprop) {\n props[subprop] = Object.assign(props[subprop] || {}, {\n [info.attribute]: value\n })\n } else if (info.space && ctx.react) {\n props[toReact[info.property] || info.property] = value\n } else {\n props[info.attribute] = value\n }\n}\n\n/**\n * Check if `h` is `react.createElement`.\n *\n * @param {CreateElementLike} h\n * @returns {boolean}\n */\nfunction react(h) {\n /** @type {unknown} */\n const node = h('div', {})\n return Boolean(\n node &&\n // @ts-expect-error Looks like a React node.\n ('_owner' in node || '_store' in node) &&\n // @ts-expect-error Looks like a React node.\n (node.key === undefined || node.key === null)\n )\n}\n\n/**\n * Check if `h` is `hyperscript`.\n *\n * @param {CreateElementLike} h\n * @returns {boolean}\n */\nfunction hyperscript(h) {\n return 'context' in h && 'cleanup' in h\n}\n\n/**\n * Check if `h` is `virtual-dom/h`.\n *\n * @param {CreateElementLike} h\n * @returns {boolean}\n */\nfunction vdom(h) {\n /** @type {unknown} */\n const node = h('div', {})\n // @ts-expect-error Looks like a vnode.\n return node.type === 'VirtualNode'\n}\n\n/**\n * Check if `h` is Vue.\n *\n * @param {CreateElementLike} h\n * @returns {boolean}\n */\nfunction vue(h) {\n /** @type {unknown} */\n const node = h('div', {})\n // @ts-expect-error Looks like a Vue node.\n return Boolean(node && node.context && node.context._isVue)\n}\n\n/**\n * @param {string} value\n * @param {string} tagName\n * @returns {Record<string, string>}\n */\nfunction parseStyle(value, tagName) {\n /** @type {Record<string, string>} */\n const result = {}\n\n try {\n style(value, (name, value) => {\n if (name.slice(0, 4) === '-ms-') name = 'ms-' + name.slice(4)\n\n result[\n name.replace(\n /-([a-z])/g,\n /**\n * @param {string} _\n * @param {string} $1\n * @returns {string}\n */ (_, $1) => $1.toUpperCase()\n )\n ] = value\n })\n } catch (error) {\n error.message =\n tagName + '[style]' + error.message.slice('undefined'.length)\n throw error\n }\n\n return result\n}\n","var own = {}.hasOwnProperty\n\n/**\n * @callback Handler\n * @param {...unknown} value\n * @return {unknown}\n *\n * @typedef {Record<string, Handler>} Handlers\n *\n * @typedef {Object} Options\n * @property {Handler} [unknown]\n * @property {Handler} [invalid]\n * @property {Handlers} [handlers]\n */\n\n/**\n * Handle values based on a property.\n *\n * @param {string} key\n * @param {Options} [options]\n */\nexport function zwitch(key, options) {\n var settings = options || {}\n\n /**\n * Handle one value.\n * Based on the bound `key`, a respective handler will be called.\n * If `value` is not an object, or doesn’t have a `key` property, the special\n * “invalid” handler will be called.\n * If `value` has an unknown `key`, the special “unknown” handler will be\n * called.\n *\n * All arguments, and the context object, are passed through to the handler,\n * and it’s result is returned.\n *\n * @param {...unknown} [value]\n * @this {unknown}\n * @returns {unknown}\n * @property {Handler} invalid\n * @property {Handler} unknown\n * @property {Handlers} handlers\n */\n function one(value) {\n var fn = one.invalid\n var handlers = one.handlers\n\n if (value && own.call(value, key)) {\n fn = own.call(handlers, value[key]) ? handlers[value[key]] : one.unknown\n }\n\n if (fn) {\n return fn.apply(this, arguments)\n }\n }\n\n one.handlers = settings.handlers || {}\n one.invalid = settings.invalid\n one.unknown = settings.unknown\n\n return one\n}\n","/**\n * @typedef {import('parse5').Node} P5Node\n * @typedef {import('parse5').Document} P5Document\n * @typedef {import('parse5').DocumentFragment} P5Fragment\n * @typedef {import('parse5').DocumentType} P5Doctype\n * @typedef {import('parse5').CommentNode} P5Comment\n * @typedef {import('parse5').TextNode} P5Text\n * @typedef {import('parse5').Element} P5Element\n * @typedef {import('parse5').Attribute} P5Attribute\n * @typedef {import('parse5').ParentNode} P5Parent\n * @typedef {Exclude<P5Node, P5Document|P5Fragment>} P5Child\n * @typedef {import('property-information').Schema} Schema\n * @typedef {import('property-information').Info} Info\n * @typedef {'html'|'svg'} Space\n * @typedef {import('hast').Parent} Parent\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').DocType} Doctype\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast').Comment} Comment\n * @typedef {Parent['children'][number]} Child\n * @typedef {Child|Root} Node\n *\n * @callback Handle\n * @param {Node} node\n * @param {Schema} schema\n * @returns {P5Node}\n */\n\nimport {html, svg, find} from 'property-information'\nimport {toH} from 'hast-to-hyperscript'\nimport {webNamespaces} from 'web-namespaces'\nimport {zwitch} from 'zwitch'\n\nvar own = {}.hasOwnProperty\n\nvar one = zwitch('type', {handlers: {root, element, text, comment, doctype}})\n\n/**\n * Transform a tree from hast to Parse5’s AST.\n *\n * @param {Node} tree\n * @param {Space} [space='html']\n * @returns {P5Node}\n */\nexport function toParse5(tree, space) {\n // @ts-ignore Types are wrong.\n return one(tree, space === 'svg' ? svg : html)\n}\n\n/**\n * @type {Handle}\n * @param {Root} node\n * @returns {P5Document}\n */\nfunction root(node, schema) {\n /** @type {P5Document} */\n var p5 = {\n nodeName: '#document',\n mode: (node.data || {}).quirksMode ? 'quirks' : 'no-quirks',\n childNodes: []\n }\n // @ts-ignore Assume correct children.\n p5.childNodes = all(node.children, p5, schema)\n return patch(node, p5)\n}\n\n/**\n * @type {Handle}\n * @param {Root} node\n * @returns {P5Fragment}\n */\nfunction fragment(node, schema) {\n /** @type {P5Fragment} */\n var p5 = {nodeName: '#document-fragment', childNodes: []}\n // @ts-ignore Assume correct children.\n p5.childNodes = all(node.children, p5, schema)\n return patch(node, p5)\n}\n\n/**\n * @type {Handle}\n * @param {Doctype} node\n * @returns {P5Doctype}\n */\nfunction doctype(node) {\n return patch(node, {\n nodeName: '#documentType',\n name: 'html',\n publicId: '',\n systemId: '',\n parentNode: undefined\n })\n}\n\n/**\n * @type {Handle}\n * @param {Text} node\n * @returns {P5Text}\n */\nfunction text(node) {\n return patch(node, {\n nodeName: '#text',\n value: node.value,\n parentNode: undefined\n })\n}\n\n/**\n * @type {Handle}\n * @param {Comment} node\n * @returns {P5Comment}\n */\nfunction comment(node) {\n return patch(node, {\n nodeName: '#comment',\n data: node.value,\n parentNode: undefined\n })\n}\n\n/**\n * @type {Handle}\n * @param {Element} node\n * @returns {P5Element}\n */\nfunction element(node, schema) {\n /** @type {Space} */\n // @ts-ignore Assume space.\n var space = schema.space\n return toH(h, Object.assign({}, node, {children: []}), {space})\n\n /**\n * @param {string} name\n * @param {Object.<string, string|boolean|number>} attrs\n */\n function h(name, attrs) {\n /** @type {Array.<P5Attribute>} */\n var values = []\n /** @type {Info} */\n var info\n /** @type {P5Attribute} */\n var value\n /** @type {string} */\n var key\n /** @type {number} */\n var index\n /** @type {P5Element} */\n var p5\n\n for (key in attrs) {\n if (!own.call(attrs, key) || attrs[key] === false) {\n continue\n }\n\n info = find(schema, key)\n\n if (info.boolean && !attrs[key]) {\n continue\n }\n\n value = {name: key, value: attrs[key] === true ? '' : String(attrs[key])}\n\n if (info.space && info.space !== 'html' && info.space !== 'svg') {\n index = key.indexOf(':')\n\n if (index < 0) {\n value.prefix = ''\n } else {\n value.name = key.slice(index + 1)\n value.prefix = key.slice(0, index)\n }\n\n value.namespace = webNamespaces[info.space]\n }\n\n values.push(value)\n }\n\n if (schema.space === 'html' && node.tagName === 'svg') schema = svg\n\n p5 = patch(node, {\n nodeName: name,\n tagName: name,\n attrs: values,\n namespaceURI: webNamespaces[schema.space],\n childNodes: [],\n parentNode: undefined\n })\n\n // @ts-ignore Assume correct children.\n p5.childNodes = all(node.children, p5, schema)\n\n // @ts-ignore Types are wrong.\n if (name === 'template') p5.content = fragment(node.content, schema)\n\n return p5\n }\n}\n\n/**\n * @param {Array.<Child>} children\n * @param {P5Parent} p5\n * @param {Schema} schema\n * @returns {Array.<P5Child>}\n */\nfunction all(children, p5, schema) {\n var index = -1\n /** @type {Array.<P5Child>} */\n var result = []\n /** @type {P5Child} */\n var child\n\n if (children) {\n while (++index < children.length) {\n // @ts-ignore Assume child.\n child = one(children[index], schema)\n\n // @ts-ignore types are wrong.\n child.parentNode = p5\n\n result.push(child)\n }\n }\n\n return result\n}\n\n/**\n * Patch specific properties.\n *\n * @template {P5Node} T\n * @param {Node} node\n * @param {T} p5\n * @returns {T}\n */\nfunction patch(node, p5) {\n var position = node.position\n\n if (position && position.start && position.end) {\n // @ts-ignore Types are wrong.\n p5.sourceCodeLocation = {\n startLine: position.start.line,\n startCol: position.start.column,\n startOffset: position.start.offset,\n endLine: position.end.line,\n endCol: position.end.column,\n endOffset: position.end.offset\n }\n }\n\n return p5\n}\n","/**\n * List of HTML void tag names.\n *\n * @type {Array<string>}\n */\nexport const htmlVoidElements = [\n 'area',\n 'base',\n 'basefont',\n 'bgsound',\n 'br',\n 'col',\n 'command',\n 'embed',\n 'frame',\n 'hr',\n 'image',\n 'img',\n 'input',\n 'isindex',\n 'keygen',\n 'link',\n 'menuitem',\n 'meta',\n 'nextid',\n 'param',\n 'source',\n 'track',\n 'wbr'\n]\n","/**\n * @typedef {import('vfile').VFile} VFile\n * @typedef {import('parse5').Document} P5Document\n * @typedef {import('parse5').DocumentFragment} P5Fragment\n * @typedef {Omit<import('parse5').Element, 'parentNode'>} P5Element\n * @typedef {import('parse5').Attribute} P5Attribute\n * @typedef {Omit<import('parse5').Location, 'startOffset' | 'endOffset'> & {startOffset: number|undefined, endOffset: number|undefined}} P5Location\n * @typedef {import('parse5').ParserOptions} P5ParserOptions\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast').DocType} Doctype\n * @typedef {import('hast').Element} Element\n * @typedef {import('hast').Text} Text\n * @typedef {import('hast').Comment} Comment\n * @typedef {import('hast').Content} Content\n * @typedef {Root|Content} Node\n * @typedef {import('../complex-types').Raw} Raw\n *\n * @typedef {Omit<Comment, 'value'> & {value: {stitch: Node}}} Stitch\n *\n * @typedef Options\n * @property {Array<string>} [passThrough]\n * List of custom hast node types to pass through (keep) in hast.\n * If the passed through nodes have children, those children are expected to\n * be hast and will be handled.\n *\n * @typedef HiddenTokenizer\n * @property {Array<HiddenLocationTracker>} __mixins\n * Way too simple, but works for us.\n * @property {HiddenPreprocessor} preprocessor\n * @property {(value: string) => void} write\n * @property {() => number} _consume\n * @property {Array<HiddenToken>} tokenQueue\n * @property {string} state\n * @property {string} returnState\n * @property {number} charRefCode\n * @property {Array<number>} tempBuff\n * @property {Function} _flushCodePointsConsumedAsCharacterReference\n * @property {string} lastStartTagName\n * @property {number} consumedAfterSnapshot\n * @property {boolean} active\n * @property {HiddenToken|undefined} currentCharacterToken\n * @property {HiddenToken|undefined} currentToken\n * @property {unknown} currentAttr\n * @property {Function} NAMED_CHARACTER_REFERENCE_STATE\n * @property {Function} NUMERIC_CHARACTER_REFERENCE_END_STATE\n *\n * @typedef {Record<string, unknown> & {location: P5Location}} HiddenToken\n *\n * @typedef HiddenPreprocessor\n * @property {string|undefined} html\n * @property {number} pos\n * @property {number} lastGapPos\n * @property {number} lastCharPos\n * @property {Array<number>} gapStack\n * @property {boolean} skipNextNewLine\n * @property {boolean} lastChunkWritten\n * @property {boolean} endOfChunkHit\n *\n * @typedef HiddenLocationTracker\n * @property {P5Location|undefined} currentAttrLocation\n * @property {P5Location} ctLoc\n * @property {HiddenPosTracker} posTracker\n *\n * @typedef HiddenPosTracker\n * @property {boolean} isEol\n * @property {number} lineStartPos\n * @property {number} droppedBufferSize\n * @property {number} offset\n * @property {number} col\n * @property {number} line\n */\n\n// @ts-expect-error: untyped.\nimport Parser from 'parse5/lib/parser/index.js'\nimport {pointStart, pointEnd} from 'unist-util-position'\nimport {visit} from 'unist-util-visit'\nimport {fromParse5} from 'hast-util-from-parse5'\nimport {toParse5} from 'hast-util-to-parse5'\nimport {htmlVoidElements} from 'html-void-elements'\nimport {webNamespaces} from 'web-namespaces'\nimport {zwitch} from 'zwitch'\n\nconst inTemplateMode = 'IN_TEMPLATE_MODE'\nconst dataState = 'DATA_STATE'\nconst characterToken = 'CHARACTER_TOKEN'\nconst startTagToken = 'START_TAG_TOKEN'\nconst endTagToken = 'END_TAG_TOKEN'\nconst commentToken = 'COMMENT_TOKEN'\nconst doctypeToken = 'DOCTYPE_TOKEN'\n\n/** @type {P5ParserOptions} */\nconst parseOptions = {sourceCodeLocationInfo: true, scriptingEnabled: false}\n\n/**\n * Given a hast tree and an optional vfile (for positional info), return a new\n * parsed-again hast tree.\n *\n * @param tree\n * Original hast tree.\n * @param file\n * Virtual file for positional info, optional.\n * @param options\n * Configuration.\n */\nexport const raw =\n /**\n * @type {(\n * ((tree: Node, file: VFile|undefined, options?: Options) => Node) &\n * ((tree: Node, options?: Options) => Node)\n * )}\n */\n (\n /**\n * @param {Node} tree\n * @param {VFile} [file]\n * @param {Options} [options]\n */\n function (tree, file, options) {\n let index = -1\n const parser = new Parser(parseOptions)\n const one = zwitch('type', {\n // @ts-expect-error: hush.\n handlers: {root, element, text, comment, doctype, raw: handleRaw},\n // @ts-expect-error: hush.\n unknown\n })\n /** @type {boolean|undefined} */\n let stitches\n /** @type {HiddenTokenizer|undefined} */\n let tokenizer\n /** @type {HiddenPreprocessor|undefined} */\n let preprocessor\n /** @type {HiddenPosTracker|undefined} */\n let posTracker\n /** @type {HiddenLocationTracker|undefined} */\n let locationTracker\n\n if (isOptions(file)) {\n options = file\n file = undefined\n }\n\n if (options && options.passThrough) {\n while (++index < options.passThrough.length) {\n // @ts-expect-error: hush.\n one.handlers[options.passThrough[index]] = stitch\n }\n }\n\n const result = fromParse5(\n documentMode(tree) ? document() : fragment(),\n file\n )\n\n if (stitches) {\n visit(result, 'comment', (node, index, parent) => {\n const stitch = /** @type {Stitch} */ (/** @type {unknown} */ (node))\n if (stitch.value.stitch && parent !== null && index !== null) {\n // @ts-expect-error: assume the stitch is allowed.\n parent.children[index] = stitch.value.stitch\n return index\n }\n })\n }\n\n // Unpack if possible and when not given a `root`.\n if (\n tree.type !== 'root' &&\n result.type === 'root' &&\n result.children.length === 1\n ) {\n return result.children[0]\n }\n\n return result\n\n /**\n * @returns {P5Fragment}\n */\n function fragment() {\n /** @type {P5Element} */\n const context = {\n nodeName: 'template',\n tagName: 'template',\n attrs: [],\n namespaceURI: webNamespaces.html,\n childNodes: []\n }\n /** @type {P5Element} */\n const mock = {\n nodeName: 'documentmock',\n tagName: 'documentmock',\n attrs: [],\n namespaceURI: webNamespaces.html,\n childNodes: []\n }\n /** @type {P5Fragment} */\n const doc = {nodeName: '#document-fragment', childNodes: []}\n\n parser._bootstrap(mock, context)\n parser._pushTmplInsertionMode(inTemplateMode)\n parser._initTokenizerForFragmentParsing()\n parser._insertFakeRootElement()\n parser._resetInsertionMode()\n parser._findFormInFragmentContext()\n\n tokenizer = parser.tokenizer\n /* c8 ignore next */\n if (!tokenizer) throw new Error('Expected `tokenizer`')\n preprocessor = tokenizer.preprocessor\n locationTracker = tokenizer.__mixins[0]\n posTracker = locationTracker.posTracker\n\n one(tree)\n\n resetTokenizer()\n\n parser._adoptNodes(mock.childNodes[0], doc)\n\n return doc\n }\n\n /**\n * @returns {P5Document}\n */\n function document() {\n /** @type {P5Document} */\n const doc = parser.treeAdapter.createDocument()\n\n parser._bootstrap(doc, undefined)\n tokenizer = parser.tokenizer\n /* c8 ignore next */\n if (!tokenizer) throw new Error('Expected `tokenizer`')\n preprocessor = tokenizer.preprocessor\n locationTracker = tokenizer.__mixins[0]\n posTracker = locationTracker.posTracker\n\n one(tree)\n\n resetTokenizer()\n\n return doc\n }\n\n /**\n * @param {Array<Content>} nodes\n * @returns {void}\n */\n function all(nodes) {\n let index = -1\n\n /* istanbul ignore else - invalid nodes, see rehypejs/rehype-raw#7. */\n if (nodes) {\n while (++index < nodes.length) {\n one(nodes[index])\n }\n }\n }\n\n /**\n * @param {Root} node\n * @returns {void}\n */\n function root(node) {\n all(node.children)\n }\n\n /**\n * @param {Element} node\n * @returns {void}\n */\n function element(node) {\n resetTokenizer()\n parser._processToken(startTag(node), webNamespaces.html)\n\n all(node.children)\n\n if (!htmlVoidElements.includes(node.tagName)) {\n resetTokenizer()\n parser._processToken(endTag(node))\n }\n }\n\n /**\n * @param {Text} node\n * @returns {void}\n */\n function text(node) {\n resetTokenizer()\n parser._processToken({\n type: characterToken,\n chars: node.value,\n location: createParse5Location(node)\n })\n }\n\n /**\n * @param {Doctype} node\n * @returns {void}\n */\n function doctype(node) {\n resetTokenizer()\n parser._processToken({\n type: doctypeToken,\n name: 'html',\n forceQuirks: false,\n publicId: '',\n systemId: '',\n location: createParse5Location(node)\n })\n }\n\n /**\n * @param {Comment|Stitch} node\n * @returns {void}\n */\n function comment(node) {\n resetTokenizer()\n parser._processToken({\n type: commentToken,\n data: node.value,\n location: createParse5Location(node)\n })\n }\n\n /**\n * @param {Raw} node\n * @returns {void}\n */\n function handleRaw(node) {\n const start = pointStart(node)\n const line = start.line || 1\n const column = start.column || 1\n const offset = start.offset || 0\n\n /* c8 ignore next 4 */\n if (!preprocessor) throw new Error('Expected `preprocessor`')\n if (!tokenizer) throw new Error('Expected `tokenizer`')\n if (!posTracker) throw new Error('Expected `posTracker`')\n if (!locationTracker) throw new Error('Expected `locationTracker`')\n\n // Reset preprocessor:\n // See: <https://github.com/inikulin/parse5/blob/9c683e1/packages/parse5/lib/tokenizer/preprocessor.js#L17>.\n preprocessor.html = undefined\n preprocessor.pos = -1\n preprocessor.lastGapPos = -1\n preprocessor.lastCharPos = -1\n preprocessor.gapStack = []\n preprocessor.skipNextNewLine = false\n preprocessor.lastChunkWritten = false\n preprocessor.endOfChunkHit = false\n\n // Reset preprocessor mixin:\n // See: <https://github.com/inikulin/parse5/blob/9c683e1/packages/parse5/lib/extensions/position-tracking/preprocessor-mixin.js>.\n posTracker.isEol = false\n posTracker.lineStartPos = -column + 1 // Looks weird, but ensures we get correct positional info.\n posTracker.droppedBufferSize = offset\n posTracker.offset = 0\n posTracker.col = 1\n posTracker.line = line\n\n // Reset location tracker:\n // See: <https://github.com/inikulin/parse5/blob/9c683e1/packages/parse5/lib/extensions/location-info/tokenizer-mixin.js>.\n locationTracker.currentAttrLocation = undefined\n locationTracker.ctLoc = createParse5Location(node)\n\n // See the code for `parse` and `parseFragment`:\n // See: <https://github.com/inikulin/parse5/blob/9c683e1/packages/parse5/lib/parser/index.js#L371>.\n tokenizer.write(node.value)\n parser._runParsingLoop(null)\n\n // Character references hang, so if we ended there, we need to flush\n // those too.\n // We reset the preprocessor as if the document ends here.\n // Then one single call to the relevant state does the trick, parse5\n // consumes the whole token.\n if (\n tokenizer.state === 'NAMED_CHARACTER_REFERENCE_STATE' ||\n tokenizer.state === 'NUMERIC_CHARACTER_REFERENCE_END_STATE'\n ) {\n preprocessor.lastChunkWritten = true\n tokenizer[tokenizer.state](tokenizer._consume())\n }\n }\n\n /**\n * @param {Node} node\n */\n function stitch(node) {\n stitches = true\n\n /** @type {Node} */\n let clone\n\n // Recurse, because to somewhat handle `[<x>]</x>` (where `[]` denotes the\n // passed through node).\n if ('children' in node) {\n clone = {\n ...node,\n children: raw(\n {type: 'root', children: node.children},\n file,\n options\n // @ts-expect-error Assume a given parent yields a parent.\n ).children\n }\n } else {\n clone = {...node}\n }\n\n // Hack: `value` is supposed to be a string, but as none of the tools\n // (`parse5` or `hast-util-from-parse5`) looks at it, we can pass nodes\n // through.\n comment({type: 'comment', value: {stitch: clone}})\n }\n\n function resetTokenizer() {\n /* c8 ignore next 2 */\n if (!tokenizer) throw new Error('Expected `tokenizer`')\n if (!posTracker) throw new Error('Expected `posTracker`')\n\n // Process final characters if they’re still there after hibernating.\n // Similar to:\n // See: <https://github.com/inikulin/parse5/blob/9c683e1/packages/parse5/lib/extensions/location-info/tokenizer-mixin.js#L95>.\n const token = tokenizer.currentCharacterToken\n\n if (token) {\n token.location.endLine = posTracker.line\n token.location.endCol = posTracker.col + 1\n token.location.endOffset = posTracker.offset + 1\n parser._processToken(token)\n }\n\n // Reset tokenizer:\n // See: <https://github.com/inikulin/parse5/blob/9c683e1/packages/parse5/lib/tokenizer/index.js#L218-L234>.\n // Especially putting it back in the `data` state is useful: some elements,\n // like textareas and iframes, change the state.\n // See GH-7.\n // But also if broken HTML is in `raw`, and then a correct element is given.\n // See GH-11.\n tokenizer.tokenQueue = []\n tokenizer.state = dataState\n tokenizer.returnState = ''\n tokenizer.charRefCode = -1\n tokenizer.tempBuff = []\n tokenizer.lastStartTagName = ''\n tokenizer.consumedAfterSnapshot = -1\n tokenizer.active = false\n tokenizer.currentCharacterToken = undefined\n tokenizer.currentToken = undefined\n tokenizer.currentAttr = undefined\n }\n }\n )\n/**\n * @param {Element} node\n * @returns {HiddenToken}\n */\nfunction startTag(node) {\n /** @type {P5Location} */\n const location = Object.assign(createParse5Location(node))\n // @ts-expect-error extra positional info.\n location.startTag = Object.assign({}, location)\n\n // Untyped token.\n return {\n type: startTagToken,\n tagName: node.tagName,\n selfClosing: false,\n attrs: attributes(node),\n location\n }\n}\n\n/**\n * @param {Element} node\n * @returns {Array<P5Attribute>}\n */\nfunction attributes(node) {\n return toParse5({\n tagName: node.tagName,\n type: 'element',\n properties: node.properties,\n children: []\n // @ts-expect-error Assume element.\n }).attrs\n}\n\n/**\n * @param {Element} node\n * @returns {HiddenToken}\n */\nfunction endTag(node) {\n /** @type {P5Location} */\n const location = Object.assign(createParse5Location(node))\n // @ts-expect-error extra positional info.\n location.startTag = Object.assign({}, location)\n\n // Untyped token.\n return {\n type: endTagToken,\n tagName: node.tagName,\n attrs: [],\n location\n }\n}\n\n/**\n * @param {Node} node\n */\nfunction unknown(node) {\n throw new Error('Cannot compile `' + node.type + '` node')\n}\n\n/**\n * @param {Node} node\n * @returns {boolean}\n */\nfunction documentMode(node) {\n const head = node.type === 'root' ? node.children[0] : node\n return Boolean(\n head &&\n (head.type === 'doctype' ||\n (head.type === 'element' && head.tagName === 'html'))\n )\n}\n\n/**\n * @param {Node|Stitch} node\n * @returns {P5Location}\n */\nfunction createParse5Location(node) {\n const start = pointStart(node)\n const end = pointEnd(node)\n\n return {\n startLine: start.line,\n startCol: start.column,\n startOffset: start.offset,\n endLine: end.line,\n endCol: end.column,\n endOffset: end.offset\n }\n}\n\n/**\n * @param {VFile|Options|undefined} value\n * @return {value is Options}\n */\nfunction isOptions(value) {\n return Boolean(value && !('message' in value && 'messages' in value))\n}\n","/**\n * @typedef {import('hast').Root} Root\n * @typedef {import('hast-util-raw').Options} Options\n * @typedef {import('hast-util-raw')} DoNotTouchAsThisImportIncludesRawInTree\n */\n\nimport {raw} from 'hast-util-raw'\n\n/**\n * Plugin to parse the tree again (and raw nodes).\n * Keeping positional info OK. 🙌\n *\n * @type {import('unified').Plugin<[Options?] | Array<void>, Root>}\n */\nexport default function rehypeRaw(options = {}) {\n return (tree, file) => {\n // Assume that when a root was given, it’s also returned.\n const result = /** @type {Root} */ (raw(tree, file, options))\n return result\n }\n}\n","import * as React from \"react\";\nconst SVGComponent = (props) => (\n <svg\n height={512}\n style={{\n enableBackground: \"new 0 0 512 512\",\n }}\n viewBox=\"0 0 512 512\"\n width={512}\n xmlSpace=\"preserve\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <path d=\"m184.7 413.1 2.1-1.8 156.5-136c5.3-4.6 8.6-11.5 8.6-19.2 0-7.7-3.4-14.6-8.6-19.2L187.1 101l-2.6-2.3C182 97 179 96 175.8 96c-8.7 0-15.8 7.4-15.8 16.6v286.8c0 9.2 7.1 16.6 15.8 16.6 3.3 0 6.4-1.1 8.9-2.9z\" />\n <path\n style={{\n fill: \"#fff\",\n strokeWidth: 0.498539,\n }}\n d=\"M171.101 414.868c-4.514-1.611-8.561-5.771-10.18-10.464-.834-2.42-1.217-288.516-.393-293.894.907-5.921 3.926-10.216 8.895-12.657 3.95-1.94 9.155-1.937 12.793.007 3.343 1.785 161.905 139.906 164.376 143.184 3.021 4.01 4.472 8.2 4.757 13.742.186 3.605.037 5.49-.609 7.727-1.173 4.064-3.454 8.202-5.94 10.774-1.146 1.186-37.704 33.115-81.239 70.955-55.39 48.142-79.907 69.15-81.66 69.97-3.43 1.606-7.454 1.85-10.8.656z\"\n />\n </svg>\n);\nexport default SVGComponent;\n","import * as React from \"react\";\nconst SVGComponent = (props) => (\n <svg\n height={512}\n style={{\n enableBackground: \"new 0 0 512 512\",\n }}\n viewBox=\"0 0 512 512\"\n width={512}\n xmlSpace=\"preserve\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <path d=\"m98.9 184.7 1.8 2.1 136 156.5c4.6 5.3 11.5 8.6 19.2 8.6 7.7 0 14.6-3.4 19.2-8.6L411 187.1l2.3-2.6c1.7-2.5 2.7-5.5 2.7-8.7 0-8.7-7.4-15.8-16.6-15.8H112.6c-9.2 0-16.6 7.1-16.6 15.8 0 3.3 1.1 6.4 2.9 8.9z\" />\n <path\n style={{\n fill: \"#fff\",\n strokeWidth: 0.498539,\n }}\n d=\"M248.273 350.336c-4.083-1.397-7.187-3.22-9.662-5.673-1.064-1.054-32.92-37.549-70.793-81.098-48.133-55.35-69.23-79.958-70.096-81.76-1.803-3.758-1.753-8.546.131-12.382 2.335-4.755 6.517-7.824 12.058-8.848 4.16-.769 288.018-.769 292.178 0 5.54 1.024 9.723 4.093 12.058 8.848 1.847 3.762 1.927 9.146.186 12.495-1.265 2.433-139.44 161.51-142.47 164.02-6.161 5.108-16.1 6.96-23.59 4.398z\"\n />\n </svg>\n);\nexport default SVGComponent;\n","import './App.css';\nimport { useState, useCallback } from \"react\";\nimport data from \"./data\";\nimport ReactMarkdown from 'react-markdown';\nimport { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';\n// Theme examples: https://react-syntax-highlighter.github.io/react-syntax-highlighter/demo/prism.html\nimport { coldarkDark } from 'react-syntax-highlighter/dist/esm/styles/prism';\nimport remarkGfm from 'remark-gfm';\nimport rehypeRaw from 'rehype-raw';\nimport RightArrow from \"./components/right_arrow\";\nimport DownArrow from \"./components/down_arrow\";\n\n// TODO: Future, have a way to bookmark to specific entries\n\n// Copy icon reference:\n// https://github.com/react-syntax-highlighter/react-syntax-highlighter/issues/132\n\nfunction debounce(fn, wait, immediate) {\n let timeout;\n\n return (...args) => {\n const context = this;\n\n const later = () => {\n timeout = null;\n if (!immediate) fn.apply(context, args);\n };\n\n const callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n\n if (callNow) {\n fn.apply(context, args);\n }\n };\n}\n\n// const types = data.items.map(item => item.type);\n\nfunction filterData(data, filter = \"\", typeFilter = \"all\") {\n // console.warn(\"filterData\");\n \n if (typeFilter === \"all\" && filter.length) return data;\n\n const typeFilteredItems = {};\n typeFilteredItems.items = typeFilter !== \"all\" ? data.items.filter(item => item.type === typeFilter) : data.items;\n\n if (filter.length) return typeFilteredItems;\n\n const filtered = {};\n filtered.items = filter.length ? typeFilteredItems.items.filter(item => {\n // console.warn(\"title\", filter.toLowerCase(), item.title.toLowerCase(), item.title.toLowerCase().includes(filter.toLowerCase()));\n // console.warn(\"content\", filter.toLowerCase(), item.content.toLowerCase(), item.content.toLowerCase().includes(filter.toLowerCase()));\n return item.title.toLowerCase().includes(filter.toLowerCase()) || item.content.toLowerCase().includes(filter.toLowerCase());\n }) : typeFilteredItems.items;\n\n return filtered;\n};\n\nfunction App() {\n const [filter, setFilter] = useState(\"\");\n const [typeFilter, setTypeFilter] = useState(\"all\");\n const [expandedItems, setExpandedItems] = useState([]);\n const [expandedCategories, setExpandedCategories] = useState([]);\n // Alphabetize categories\n // data.items.sort((fa, fb) => {\n // if (fa.category < fb.category) {\n // return -1;\n // }\n // if (fa.category > fb.category) {\n // return 1;\n // }\n // return 0;\n // });\n function handleFilter(event) {\n // console.warn(\"handleFilter\");\n debounce(setFilter(event.target.value), 300);\n }\n\n const handleExpandItem = useCallback((event) => {\n // console.warn(\"handleExpandItem\");\n const newExpanded = expandedItems.includes(event) ? expandedItems.filter(i => i !== event) : [...expandedItems, event];\n setExpandedItems(newExpanded);\n }, [expandedItems]);\n\n const handleCategoryClick = useCallback((event) => {\n // console.warn(\"handleCategoryClick\");\n const newExpandedCategory = expandedCategories.includes(event) ? expandedCategories.filter(i => i !== event) : [...expandedCategories, event];\n setExpandedCategories(newExpandedCategory);\n }, [expandedCategories]);\n\n function expandAll() {\n setExpandedCategories(data.categories.map(category => category.title));\n }\n\n function collapseAll() {\n setExpandedItems([]);\n setExpandedCategories([]);\n }\n\n // function handleTypeFilterClick(type) {\n // // console.warn(\"handleTypeFilterClick\");\n // setTypeFilter(type);\n // }\n\n function clearFilters() {\n setFilter(\"\");\n setTypeFilter(\"all\");\n }\n\n // console.warn(\"expandedCategories\", expandedCategories);\n // console.warn(\"expandedItems\", expandedItems);\n\n const filtered = filter.length || typeFilter !== \"all\" ? filterData(data, filter, typeFilter) : data;\n // console.warn(\"render\");\n return (\n <div className=\"App\">\n <div className={\"inputFilter\"}>\n <span align=\"center\"><input type=\"text\" onChange={handleFilter} value={filter} /> Search</span>\n <span align=\"center\"> <a href=\"https://github.com/tteck/Proxmox/blob/main/LICENSE\"><img alt=\"License MIT\" src=\"https://img.shields.io/badge/license-MIT-blue\" /></a> <a href=\"https://github.com/tteck/Proxmox/discussions\"><img src=\"https://img.shields.io/badge/%F0%9F%92%AC-Discussions-orange\" alt=\"Discussions\" /></a> <a href=\"https://github.com/tteck/Proxmox/blob/main/CHANGELOG.MD\"><img src=\"https://img.shields.io/badge/🔶-Changelog-blue\" alt=\"Changelog\" /></a> <a href=\"https://ko-fi.com/D1D7EP4GF\"><img src=\"https://img.shields.io/badge/%E2%98%95-Buy%20me%20a%20coffee-red\" alt=\"Buy me a coffee\" /></a></span>\n {/* <span className=\"typeFilter\">Type: {[\"all\", ...new Set(types)].map(type =>\n <span onClick={() => handleTypeFilterClick(type)} key={type} className={typeFilter === type ? \"typeFilterSelected\" : \"typeFilterNotSelected\"}> {type} </span>\n )}</span> */}\n </div>\n {filtered.items.length === 0 && <div>No items match your criteria <button onClick={clearFilters}>Clear Filters</button></div>}\n <div><span onClick={expandAll}> ➕ </span> <span onClick={collapseAll}> ➖ </span></div>\n {filtered.items?.map((item, index) => {\n return <div className={\"App-items\"} key={item.title} >\n {/** Show Category \n * Since Categories are flatted, only show the category the first time it appears while mapping through.\n */}\n {(index === 0 || filtered.items[index === 0 ? 0 : index - 1].category !== item.category) && <div onClick={() => handleCategoryClick(item.category)} className={\"itemCategory\"}>\n {/* <img className={\"categoryLogo\"} src={data.categories.filter(category => category.title === item.category)[0]?.logo_url || data.categories[0].logo_url} alt=\"logo\" /> */}\n {item.category}{(((filter && item.title.toLowerCase().includes(filter.toLowerCase())) || expandedItems.includes(item.title)) || expandedCategories.includes(item.category)) ? <DownArrow className=\"navArrow\" alt=\"Expanded\" /> : <RightArrow className=\"navArrow\" alt=\"Collapsed\" />} </div>}\n\n {/* Show Item Title */}\n {(((filter && item.title.toLowerCase().includes(filter.toLowerCase())) || expandedItems.includes(item.title)) || expandedCategories.includes(item.category)) && <span onClick={() => handleExpandItem(item.title)} className={\"itemTitle\"}>{item.title}</span>}\n\n {\n ((filter && item.title.toLowerCase().includes(filter.toLowerCase())) || expandedItems.includes(item.title)) && <div className=\"item\">\n <ReactMarkdown\n children={item.content}\n remarkPlugins={[remarkGfm]}\n rehypePlugins={[rehypeRaw]}\n components={{\n code({ node, inline, className, children, ...props }) {\n const match = /language-(\\w+)/.exec(className || '');\n return !inline && match ? (\n <>\n <CopyButton valueToCopy={String(children)} />\n <SyntaxHighlighter\n children={String(children).replace(/\\n$/, '')}\n style={coldarkDark}\n language={match[1]}\n PreTag=\"div\"\n {...props}\n />\n </>\n ) : (\n <code className={className} {...props}>\n {children}\n </code>\n );\n }\n }}\n />\n </div>}\n </div>;\n })}\n </div>\n );\n}\nfunction CopyButton({ valueToCopy }) {\n function handleClick(text) {\n navigator.clipboard.writeText(text);\n }\n\n return <button onClick={() => handleClick(valueToCopy)}>Copy</button>;\n}\n\nexport default App;\n","import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport './index.css';\nimport App from './App';\n\nconst root = ReactDOM.createRoot(document.getElementById('root'));\nroot.render(\n <React.StrictMode>\n <App />\n </React.StrictMode>\n);\n\n"],"names":["hasOwn","Object","prototype","hasOwnProperty","toStr","toString","defineProperty","gOPD","getOwnPropertyDescriptor","isArray","arr","Array","call","isPlainObject","obj","key","hasOwnConstructor","hasIsPrototypeOf","constructor","setProperty","target","options","name","enumerable","configurable","value","newValue","writable","getProperty","module","exports","extend","src","copy","copyIsArray","clone","arguments","i","length","deep","selector","defaultTagName","subvalue","previous","match","props","start","search","lastIndex","exec","slice","index","id","className","push","type","tagName","properties","children","find","require","normalize","parseSelector","spaces","commas","schema","caseSensitive","adjust","values","result","toLowerCase","createAdjustMap","property","node","own","isChildren","unshift","addProperty","addChild","content","info","undefined","spaceSeparated","commaSeparated","commaOrSpaceSeparated","join","style","concat","parsePrimitive","parsePrimitives","isNode","nodes","Error","String","number","positiveNumber","isNaN","Number","boolean","overloadedBoolean","html","factory","displayName","val","input","indexOf","end","trim","DefinedInfo","Info","data","normal","prop","Type","valid","test","charAt","attribute","replace","dash","camelcase","toUpperCase","datasetToProperty","cap","kebab","datasetToAttribute","$0","merge","xlink","xml","xmlns","aria","types","create","booleanish","transform","_","ariaActiveDescendant","ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaControls","ariaCurrent","ariaDescribedBy","ariaDetails","ariaDisabled","ariaDropEffect","ariaErrorMessage","ariaExpanded","ariaFlowTo","ariaGrabbed","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabel","ariaLabelledBy","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaOwns","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRelevant","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText","role","caseInsensitiveTransform","space","attributes","acceptcharset","classname","htmlfor","httpequiv","mustUseProperty","abbr","accept","acceptCharset","accessKey","action","allow","allowFullScreen","allowPaymentRequest","allowUserMedia","alt","as","async","autoCapitalize","autoComplete","autoFocus","autoPlay","capture","charSet","checked","cite","cols","colSpan","contentEditable","controls","controlsList","coords","crossOrigin","dateTime","decoding","default","defer","dir","dirName","disabled","download","draggable","encType","enterKeyHint","form","formAction","formEncType","formMethod","formNoValidate","formTarget","headers","height","hidden","high","href","hrefLang","htmlFor","httpEquiv","imageSizes","imageSrcSet","inputMode","integrity","is","isMap","itemId","itemProp","itemRef","itemScope","itemType","kind","label","lang","language","list","loading","loop","low","manifest","max","maxLength","media","method","min","minLength","multiple","muted","nonce","noModule","noValidate","onAbort","onAfterPrint","onAuxClick","onBeforePrint","onBeforeUnload","onBlur","onCancel","onCanPlay","onCanPlayThrough","onChange","onClick","onClose","onContextMenu","onCopy","onCueChange","onCut","onDblClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onDurationChange","onEmptied","onEnded","onError","onFocus","onFormData","onHashChange","onInput","onInvalid","onKeyDown","onKeyPress","onKeyUp","onLanguageChange","onLoad","onLoadedData","onLoadedMetadata","onLoadEnd","onLoadStart","onMessage","onMessageError","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onOffline","onOnline","onPageHide","onPageShow","onPaste","onPause","onPlay","onPlaying","onPopState","onProgress","onRateChange","onRejectionHandled","onReset","onResize","onScroll","onSecurityPolicyViolation","onSeeked","onSeeking","onSelect","onSlotChange","onStalled","onStorage","onSubmit","onSuspend","onTimeUpdate","onToggle","onUnhandledRejection","onUnload","onVolumeChange","onWaiting","onWheel","open","optimum","pattern","ping","placeholder","playsInline","poster","preload","readOnly","referrerPolicy","rel","required","reversed","rows","rowSpan","sandbox","scope","scoped","seamless","selected","shape","size","sizes","slot","span","spellCheck","srcDoc","srcLang","srcSet","step","tabIndex","title","translate","typeMustMatch","useMap","width","wrap","align","aLink","archive","axis","background","bgColor","border","borderColor","bottomMargin","cellPadding","cellSpacing","char","charOff","classId","clear","code","codeBase","codeType","color","compact","declare","event","face","frame","frameBorder","hSpace","leftMargin","link","longDesc","lowSrc","marginHeight","marginWidth","noResize","noHref","noShade","noWrap","object","profile","prompt","rev","rightMargin","rules","scheme","scrolling","standby","summary","text","topMargin","valueType","version","vAlign","vLink","vSpace","allowTransparency","autoCorrect","autoSave","disablePictureInPicture","disableRemotePlayback","prefix","results","security","unselectable","caseSensitiveTransform","Schema","definition","defined","checks","checksLength","mask","check","mark","this","proto","xtend","definitions","apply","powers","increment","Math","pow","xLinkActuate","xLinkArcRole","xLinkHref","xLinkRole","xLinkShow","xLinkTitle","xLinkType","xmlLang","xmlBase","xmlSpace","xmlnsxlink","xmlnsXLink","split","whiteSpace","COMMENT_REGEX","NEWLINE_REGEX","WHITESPACE_REGEX","PROPERTY_REGEX","COLON_REGEX","VALUE_REGEX","SEMICOLON_REGEX","TRIM_REGEX","EMPTY_STRING","str","TypeError","lineno","column","updatePosition","lines","lastIndexOf","position","line","Position","whitespace","source","errorsList","error","msg","err","reason","filename","silent","re","m","comments","c","comment","pos","declaration","ret","decl","decls","declarations","character","charCodeAt","alphabetical","decimal","isBuffer","encodeCache","encode","string","exclude","keepEscaped","l","nextCode","cache","defaultChars","ch","fromCharCode","getEncodeCache","encodeURIComponent","componentChars","el","characters","entity","document","createElement","innerHTML","textContent","legacy","invalid","hexadecimal","alphanumerical","decodeEntity","option","settings","defaults","indent","entityCharacters","namedEntity","terminated","reference","following","warning","output","begin","prev","next","diff","additional","nonTerminated","handleText","handleReference","handleWarning","textContext","referenceContext","warningContext","queue","now","parseError","noop","hexa","deci","tests","prohibited","parseInt","bases","disallowed","flush","offset","messages","parse","Function","DOCUMENT_MODE","VALID_DOCTYPE_NAME","QUIRKS_MODE_PUBLIC_ID_PREFIXES","QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES","QUIRKS_MODE_PUBLIC_IDS","LIMITED_QUIRKS_PUBLIC_ID_PREFIXES","LIMITED_QUIRKS_WITH_SYSTEM_ID_PUBLIC_ID_PREFIXES","enquoteDoctypeId","quote","hasPrefix","publicId","prefixes","isConforming","token","systemId","getDocumentMode","QUIRKS","LIMITED_QUIRKS","NO_QUIRKS","serializeContent","controlCharacterInInputStream","noncharacterInInputStream","surrogateInInputStream","nonVoidHtmlElementStartTagWithTrailingSolidus","endTagWithAttributes","endTagWithTrailingSolidus","unexpectedSolidusInTag","unexpectedNullCharacter","unexpectedQuestionMarkInsteadOfTagName","invalidFirstCharacterOfTagName","unexpectedEqualsSignBeforeAttributeName","missingEndTagName","unexpectedCharacterInAttributeName","unknownNamedCharacterReference","missingSemicolonAfterCharacterReference","unexpectedCharacterAfterDoctypeSystemIdentifier","unexpectedCharacterInUnquotedAttributeValue","eofBeforeTagName","eofInTag","missingAttributeValue","missingWhitespaceBetweenAttributes","missingWhitespaceAfterDoctypePublicKeyword","missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers","missingWhitespaceAfterDoctypeSystemKeyword","missingQuoteBeforeDoctypePublicIdentifier","missingQuoteBeforeDoctypeSystemIdentifier","missingDoctypePublicIdentifier","missingDoctypeSystemIdentifier","abruptDoctypePublicIdentifier","abruptDoctypeSystemIdentifier","cdataInHtmlContent","incorrectlyOpenedComment","eofInScriptHtmlCommentLikeText","eofInDoctype","nestedComment","abruptClosingOfEmptyComment","eofInComment","incorrectlyClosedComment","eofInCdata","absenceOfDigitsInNumericCharacterReference","nullCharacterReference","surrogateCharacterReference","characterReferenceOutsideUnicodeRange","controlCharacterReference","noncharacterCharacterReference","missingWhitespaceBeforeDoctypeName","missingDoctypeName","invalidCharacterSequenceAfterDoctypeName","duplicateAttribute","nonConformingDoctype","missingDoctype","misplacedDoctype","endTagWithoutMatchingOpenElement","closingOfElementWithOpenChildElements","disallowedContentInNoscriptInHead","openElementsLeftAfterEof","abandonedHeadElementChild","misplacedStartTagForHeadElement","nestedNoscriptInHead","eofInElementThatCanContainOnlyText","Tokenizer","HTML","$","TAG_NAMES","NS","NAMESPACES","ATTRS","MIME_TYPES","SVG_ATTRS_ADJUSTMENT_MAP","attributename","attributetype","basefrequency","baseprofile","calcmode","clippathunits","diffuseconstant","edgemode","filterunits","glyphref","gradienttransform","gradientunits","kernelmatrix","kernelunitlength","keypoints","keysplines","keytimes","lengthadjust","limitingconeangle","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","numoctaves","pathlength","patterncontentunits","patterntransform","patternunits","pointsatx","pointsaty","pointsatz","preservealpha","preserveaspectratio","primitiveunits","refx","refy","repeatcount","repeatdur","requiredextensions","requiredfeatures","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","surfacescale","systemlanguage","tablevalues","targetx","targety","textlength","viewbox","viewtarget","xchannelselector","ychannelselector","zoomandpan","XML_ATTRS_ADJUSTMENT_MAP","namespace","XLINK","XML","XMLNS","SVG_TAG_NAMES_ADJUSTMENT_MAP","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","clippath","feblend","fecolormatrix","fecomponenttransfer","fecomposite","feconvolvematrix","fediffuselighting","fedisplacementmap","fedistantlight","feflood","fefunca","fefuncb","fefuncg","fefuncr","fegaussianblur","feimage","femerge","femergenode","femorphology","feoffset","fepointlight","fespecularlighting","fespotlight","fetile","feturbulence","foreignobject","lineargradient","radialgradient","textpath","EXITS_FOREIGN_CONTENT","B","BIG","BLOCKQUOTE","BODY","BR","CENTER","CODE","DD","DIV","DL","DT","EM","EMBED","H1","H2","H3","H4","H5","H6","HEAD","HR","I","IMG","LI","LISTING","MENU","META","NOBR","OL","P","PRE","RUBY","S","SMALL","SPAN","STRONG","STRIKE","SUB","SUP","TABLE","TT","U","UL","VAR","causesExit","startTagToken","tn","FONT","getTokenAttr","COLOR","SIZE","FACE","adjustTokenMathMLAttrs","attrs","adjustTokenSVGAttrs","adjustedAttrName","adjustTokenXMLAttrs","adjustedAttrEntry","adjustTokenSVGTagName","adjustedTagName","isIntegrationPoint","ns","foreignNS","MATHML","ANNOTATION_XML","ENCODING","SVG","FOREIGN_OBJECT","DESC","TITLE","isHtmlIntegrationPoint","MI","MO","MN","MS","MTEXT","isMathMLTextIntegrationPoint","TYPE","ACTION","PROMPT","NAME","A","ADDRESS","APPLET","AREA","ARTICLE","ASIDE","BASE","BASEFONT","BGSOUND","BUTTON","CAPTION","COL","COLGROUP","DETAILS","DIALOG","DIR","FIELDSET","FIGCAPTION","FIGURE","FOOTER","FORM","FRAME","FRAMESET","HEADER","HGROUP","IMAGE","INPUT","IFRAME","KEYGEN","LABEL","LINK","MAIN","MALIGNMARK","MARQUEE","MATH","MGLYPH","NAV","NOFRAMES","NOEMBED","NOSCRIPT","OBJECT","OPTGROUP","OPTION","PARAM","PLAINTEXT","RB","RP","RT","RTC","SCRIPT","SECTION","SELECT","SOURCE","STYLE","SUMMARY","TBODY","TEMPLATE","TEXTAREA","TFOOT","TD","TH","THEAD","TR","TRACK","WBR","XMP","SPECIAL_ELEMENTS","UNDEFINED_CODE_POINTS","REPLACEMENT_CHARACTER","CODE_POINTS","EOF","NULL","TABULATION","CARRIAGE_RETURN","LINE_FEED","FORM_FEED","SPACE","EXCLAMATION_MARK","QUOTATION_MARK","NUMBER_SIGN","AMPERSAND","APOSTROPHE","HYPHEN_MINUS","SOLIDUS","DIGIT_0","DIGIT_9","SEMICOLON","LESS_THAN_SIGN","EQUALS_SIGN","GREATER_THAN_SIGN","QUESTION_MARK","LATIN_CAPITAL_A","LATIN_CAPITAL_F","LATIN_CAPITAL_X","LATIN_CAPITAL_Z","RIGHT_SQUARE_BRACKET","GRAVE_ACCENT","LATIN_SMALL_A","LATIN_SMALL_F","LATIN_SMALL_X","LATIN_SMALL_Z","CODE_POINT_SEQUENCES","DASH_DASH_STRING","DOCTYPE_STRING","CDATA_START_STRING","SCRIPT_STRING","PUBLIC_STRING","SYSTEM_STRING","isSurrogate","cp","isSurrogatePair","getSurrogatePairCodePoint","cp1","cp2","isControlCodePoint","isUndefinedCodePoint","ErrorReportingMixinBase","host","opts","posTracker","onParseError","startLine","endLine","startCol","endCol","col","startOffset","endOffset","_setErrorLocation","mxn","_err","_reportError","ErrorReportingTokenizerMixin","LocationInfoTokenizerMixin","Mixin","ErrorReportingParserMixin","parser","ctLoc","locBeforeToken","orig","_bootstrap","fragmentContext","install","tokenizer","_processInputToken","location","beforeToken","PositionTrackingPreprocessorMixin","ErrorReportingPreprocessorMixin","preprocessor","lastErrOffset","preprocessorMixin","LocationInfoOpenElementStackMixin","stack","onItemPop","pop","current","popAllUpToHtmlElement","stackTop","items","remove","element","LocationInfoParserMixin","treeAdapter","lastStartTagToken","lastFosterParentingLocation","currentToken","loc","assign","startTag","setNodeSourceCodeLocation","closingToken","getNodeSourceCodeLocation","getTagName","endLoc","END_TAG_TOKEN","endTag","updateNodeSourceCodeLocation","tokenizerMixin","openElements","_setEndLocation","_runParsingLoop","scriptHandler","_processTokenInForeignContent","_processToken","hasInScope","_setDocumentType","documentChildren","getChildNodes","cnLength","isDocumentTypeNode","_attachElementToTree","_setStartLocation","_appendElement","namespaceURI","_insertElement","_insertTemplate","tmplContent","getTemplateContent","_insertFakeRootElement","_appendCommentNode","parent","commentNode","_findFosterParentingLocation","_insertCharacters","hasFosterParent","_shouldFosterParentOnInsertion","currentTmplContent","siblings","textNodeIdx","beforeElement","textNode","currentAttrLocation","currentAttr","methods","_createStartTagToken","_createEndTagToken","_createCommentToken","_createDoctypeToken","initialName","_createCharacterToken","currentCharacterToken","_createEOFToken","_getCurrentLocation","_createAttr","attrNameFirstCh","_leaveAttrName","toState","_attachCurrentAttrLocationInfo","_leaveAttrValue","_emitCurrentToken","EOF_TOKEN","_emitCurrentCharacterToken","keys","MODE","forEach","modeName","state","isEol","lineStartPos","droppedBufferSize","advance","retreat","dropParsedChunk","prevPos","reduction","FormattingElementList","entries","bookmark","newElement","candidates","neAttrsLength","getAttrList","neTagName","neNamespaceURI","getNamespaceURI","entry","MARKER_ENTRY","elementAttrs","idx","_getNoahArkConditionCandidates","cLength","neAttrs","neAttrsMap","neAttr","j","cAttr","splice","NOAH_ARK_CAPACITY","_ensureNoahArkCondition","ELEMENT_ENTRY","bookmarkIdx","OpenElementStack","defaultTreeAdapter","mergeOptions","doctype","foreignContent","ERR","unicode","DEFAULT_OPTIONS","scriptingEnabled","sourceCodeLocationInfo","HIDDEN_INPUT_TYPE","INITIAL_MODE","BEFORE_HTML_MODE","BEFORE_HEAD_MODE","IN_HEAD_MODE","IN_HEAD_NO_SCRIPT_MODE","AFTER_HEAD_MODE","IN_BODY_MODE","TEXT_MODE","IN_TABLE_MODE","IN_TABLE_TEXT_MODE","IN_CAPTION_MODE","IN_COLUMN_GROUP_MODE","IN_TABLE_BODY_MODE","IN_ROW_MODE","IN_CELL_MODE","IN_SELECT_MODE","IN_SELECT_IN_TABLE_MODE","IN_TEMPLATE_MODE","AFTER_BODY_MODE","IN_FRAMESET_MODE","AFTER_FRAMESET_MODE","AFTER_AFTER_BODY_MODE","AFTER_AFTER_FRAMESET_MODE","INSERTION_MODE_RESET_MAP","TEMPLATE_INSERTION_MODE_SWITCH_MAP","TOKEN_HANDLERS","CHARACTER_TOKEN","tokenInInitialMode","NULL_CHARACTER_TOKEN","WHITESPACE_CHARACTER_TOKEN","ignoreToken","COMMENT_TOKEN","appendComment","DOCTYPE_TOKEN","p","mode","forceQuirks","setDocumentMode","insertionMode","START_TAG_TOKEN","tokenBeforeHtml","tokenBeforeHead","startTagInBody","headElement","tokenInHead","insertCharacters","startTagInHead","endTagInHead","tokenInHeadNoScript","tokenAfterHead","framesetOk","characterInBody","whitespaceCharacterInBody","endTagInBody","eofInBody","pendingScript","originalInsertionMode","characterInTable","startTagInTable","endTagInTable","pendingCharacterTokens","hasNonWhitespacePendingCharacterToken","tokenInTableText","hasInTableScope","generateImpliedEndTags","popUntilTagNamePopped","activeFormattingElements","clearToLastMarker","tokenInColumnGroup","ackSelfClosing","currentTagName","clearBackToTableBodyContext","_insertFakeElement","hasTableBodyContextInTableScope","clearBackToTableRowContext","insertMarker","_closeTableCell","startTagInSelect","endTagInSelect","_resetInsertionMode","newInsertionMode","_popTmplInsertionMode","_pushTmplInsertionMode","eofInTemplate","tokenAfterBody","stopParsing","isRootHtmlElementCurrent","tokenAfterAfterBody","appendCommentToDocument","Parser","createDocument","write","documentMock","_initTokenizerForFragmentParsing","_findFormInFragmentContext","rootElement","getFirstChild","fragment","createDocumentFragment","_adoptNodes","stopped","formElement","tmplInsertionModeStack","tmplInsertionModeStackTop","currentTmplInsertionMode","skipNextNewLine","fosterParentingEnabled","_setupTokenizerCDATAMode","getNextToken","HIBERNATION_TOKEN","chars","substr","writeCallback","script","_getAdjustedCurrentElement","allowCDATA","_isIntegrationPoint","nextTokenizerState","getParentNode","RCDATA","RAWTEXT","SCRIPT_DATA","setDocumentType","_fosterParentElement","appendChild","tmpl","setTemplateContent","createCommentNode","_fosterParentText","insertText","donor","recipient","child","detachNode","isCharacterToken","characterInForeignContent","nullCharacterInForeignContent","currentNs","selfClosing","startTagInForeignContent","popUntilElementPopped","endTagInForeignContent","_shouldProcessTokenInForeignContent","listLength","unopenIdx","contains","popUntilTableCellPopped","generateImpliedEndTagsWithExclusion","last","_resetInsertionModeForSelect","selectIdx","ancestor","_isElementCausesFosterParenting","openElement","insertBefore","insertTextBefore","aaObtainFormattingElementEntry","formattingElementEntry","getElementEntryInScopeWithTagName","removeEntry","genericEndTagInBody","aaObtainFurthestBlock","furthestBlock","_isSpecialElement","aaInnerLoop","formattingElement","lastElement","nextElement","getCommonAncestor","elementEntry","getElementEntry","counterOverflow","aaRecreateElementFromEntry","aaInsertLastNodeInCommonAncestor","commonAncestor","aaReplaceFormattingElement","insertElementAfterBookmark","insertAfter","callAdoptionAgency","_switchToTextParsing","tmplCount","generateImpliedEndTagsThoroughly","errCode","_reconstructActiveFormattingElements","addressStartTagInBody","hasInButtonScope","_closePElement","preStartTagInBody","bStartTagInBody","pushElement","appletStartTagInBody","areaStartTagInBody","paramStartTagInBody","noembedStartTagInBody","optgroupStartTagInBody","rbStartTagInBody","genericStartTagInBody","activeElementEntry","aStartTagInBody","numberedHeaderStartTagInBody","elementTn","closeTn","listItemStartTagInBody","hrStartTagInBody","rtStartTagInBody","xmpStartTagInBody","svgStartTagInBody","adoptAttributes","htmlStartTagInBody","bodyElement","tryPeekProperlyNestedBodyElement","bodyStartTagInBody","inTemplate","formStartTagInBody","nobrStartTagInBody","mathStartTagInBody","menuStartTagInBody","tableStartTagInBody","inputType","inputStartTagInBody","imageStartTagInBody","buttonStartTagInBody","iframeStartTagInBody","selectStartTagInBody","framesetStartTagInBody","textareaStartTagInBody","plaintextStartTagInBody","addressEndTagInBody","appletEndTagInBody","pEndTagInBody","hasInListItemScope","liEndTagInBody","ddEndTagInBody","hasNumberedHeaderInScope","popUntilNumberedHeaderPopped","numberedHeaderEndTagInBody","brEndTagInBody","bodyEndTagInBody","htmlEndTagInBody","formEndTagInBody","curTn","tokenInTable","clearBackToTableContext","tdStartTagInTable","colStartTagInTable","formStartTagInTable","tableStartTagInTable","tbodyStartTagInTable","inputStartTagInTable","captionStartTagInTable","colgroupStartTagInTable","savedFosterParentingState","_processTokenInBodyMode","hasInSelectScope","prevOpenElement","prevOpenElementTn","isImpliedEndTagRequired","isImpliedEndTagRequiredThoroughly","isScopingElement","_isInTemplate","_updateCurrentElement","oldElement","_indexOf","referenceElement","insertionIdx","poppedElement","elementIdx","exclusionTagName","Preprocessor","neTree","$$","C1_CONTROLS_REFERENCE_REPLACEMENTS","DATA_STATE","RCDATA_STATE","RAWTEXT_STATE","SCRIPT_DATA_STATE","PLAINTEXT_STATE","TAG_OPEN_STATE","END_TAG_OPEN_STATE","TAG_NAME_STATE","RCDATA_LESS_THAN_SIGN_STATE","RCDATA_END_TAG_OPEN_STATE","RCDATA_END_TAG_NAME_STATE","RAWTEXT_LESS_THAN_SIGN_STATE","RAWTEXT_END_TAG_OPEN_STATE","RAWTEXT_END_TAG_NAME_STATE","SCRIPT_DATA_LESS_THAN_SIGN_STATE","SCRIPT_DATA_END_TAG_OPEN_STATE","SCRIPT_DATA_END_TAG_NAME_STATE","SCRIPT_DATA_ESCAPE_START_STATE","SCRIPT_DATA_ESCAPE_START_DASH_STATE","SCRIPT_DATA_ESCAPED_STATE","SCRIPT_DATA_ESCAPED_DASH_STATE","SCRIPT_DATA_ESCAPED_DASH_DASH_STATE","SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN_STATE","SCRIPT_DATA_ESCAPED_END_TAG_OPEN_STATE","SCRIPT_DATA_ESCAPED_END_TAG_NAME_STATE","SCRIPT_DATA_DOUBLE_ESCAPE_START_STATE","SCRIPT_DATA_DOUBLE_ESCAPED_STATE","SCRIPT_DATA_DOUBLE_ESCAPED_DASH_STATE","SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH_STATE","SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN_STATE","SCRIPT_DATA_DOUBLE_ESCAPE_END_STATE","BEFORE_ATTRIBUTE_NAME_STATE","ATTRIBUTE_NAME_STATE","AFTER_ATTRIBUTE_NAME_STATE","BEFORE_ATTRIBUTE_VALUE_STATE","ATTRIBUTE_VALUE_DOUBLE_QUOTED_STATE","ATTRIBUTE_VALUE_SINGLE_QUOTED_STATE","ATTRIBUTE_VALUE_UNQUOTED_STATE","AFTER_ATTRIBUTE_VALUE_QUOTED_STATE","SELF_CLOSING_START_TAG_STATE","BOGUS_COMMENT_STATE","MARKUP_DECLARATION_OPEN_STATE","COMMENT_START_STATE","COMMENT_START_DASH_STATE","COMMENT_STATE","COMMENT_LESS_THAN_SIGN_STATE","COMMENT_LESS_THAN_SIGN_BANG_STATE","COMMENT_LESS_THAN_SIGN_BANG_DASH_STATE","COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH_STATE","COMMENT_END_DASH_STATE","COMMENT_END_STATE","COMMENT_END_BANG_STATE","DOCTYPE_STATE","BEFORE_DOCTYPE_NAME_STATE","DOCTYPE_NAME_STATE","AFTER_DOCTYPE_NAME_STATE","AFTER_DOCTYPE_PUBLIC_KEYWORD_STATE","BEFORE_DOCTYPE_PUBLIC_IDENTIFIER_STATE","DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED_STATE","DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED_STATE","AFTER_DOCTYPE_PUBLIC_IDENTIFIER_STATE","BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS_STATE","AFTER_DOCTYPE_SYSTEM_KEYWORD_STATE","BEFORE_DOCTYPE_SYSTEM_IDENTIFIER_STATE","DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED_STATE","DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED_STATE","AFTER_DOCTYPE_SYSTEM_IDENTIFIER_STATE","BOGUS_DOCTYPE_STATE","CDATA_SECTION_STATE","CDATA_SECTION_BRACKET_STATE","CDATA_SECTION_END_STATE","CHARACTER_REFERENCE_STATE","NAMED_CHARACTER_REFERENCE_STATE","AMBIGUOUS_AMPERSAND_STATE","NUMERIC_CHARACTER_REFERENCE_STATE","HEXADEMICAL_CHARACTER_REFERENCE_START_STATE","DECIMAL_CHARACTER_REFERENCE_START_STATE","HEXADEMICAL_CHARACTER_REFERENCE_STATE","DECIMAL_CHARACTER_REFERENCE_STATE","NUMERIC_CHARACTER_REFERENCE_END_STATE","isWhitespace","isAsciiDigit","isAsciiUpper","isAsciiLower","isAsciiLetter","isAsciiAlphaNumeric","isAsciiUpperHexDigit","isAsciiLowerHexDigit","toAsciiLowerCodePoint","toChar","toAsciiLowerChar","findNamedEntityTreeBranch","nodeIx","branchCount","lo","hi","mid","midCp","tokenQueue","returnState","charRefCode","tempBuff","lastStartTagName","consumedAfterSnapshot","active","_consume","_unconsume","_ensureHibernation","shift","chunk","isLastChunk","insertHtmlAtCurrentPos","endOfChunkHit","startCp","consumedCount","isMatch","patternLength","patternPos","patternCp","ct","_appendCharToCurrentCharacterToken","codePoints","_emitCodePoint","excess","inNode","HAS_DATA_FLAG","withSemicolon","_isCharacterReferenceInAttribute","nextCp","_emitSeveralCodePoints","_emitEOFToken","_emitChars","_reconsumeInState","_isTempBufferEqualToScriptString","_consumeSequenceIfMatch","_flushCodePointsConsumedAsCharacterReference","matchResult","_matchNamedCharacterReference","_isCharacterReferenceAttributeQuirk","_errOnNextCodePoint","isAsciiHexDigit","replacement","DATA","attrName","Uint16Array","lastGapPos","lastCharPos","gapStack","lastChunkWritten","bufferWaterline","_addGap","substring","_processSurrogate","_checkForProblematicCharacters","nodeName","childNodes","parentNode","createTextNode","newNode","referenceNode","templateElement","contentElement","doctypeNode","prevNode","recipientAttrsMap","getTextNodeContent","getCommentNodeContent","getDocumentTypeNodeName","getDocumentTypeNodePublicId","getDocumentTypeNodeSystemId","isTextNode","isCommentNode","isElementNode","sourceCodeLocation","endLocation","reduce","merged","optObj","originalMethods","overriddenMethods","_getOverriddenMethods","Ctor","__mixins","mixin","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","isRequired","ReactPropTypes","array","bigint","bool","func","symbol","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","exact","checkPropTypes","PropTypes","aa","ca","a","b","da","Set","ea","fa","ha","add","ia","window","ja","ka","la","ma","v","d","e","f","g","acceptsBooleans","attributeName","attributeNamespace","propertyName","sanitizeURL","removeEmptyString","z","ra","sa","ta","pa","qa","oa","removeAttribute","setAttribute","setAttributeNS","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","Symbol","for","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","iterator","Ka","La","Ma","Na","Oa","prepareStackTrace","set","Reflect","construct","h","k","includes","Pa","tag","render","Qa","$$typeof","_context","_payload","_init","Ra","Sa","Ta","Va","_valueTracker","get","getValue","setValue","stopTracking","Ua","Wa","Xa","activeElement","body","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","cb","db","ownerDocument","eb","fb","defaultSelected","gb","dangerouslySetInnerHTML","hb","ib","jb","kb","lb","mb","nb","valueOf","firstChild","removeChild","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeType","nodeValue","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","tb","menuitem","area","base","br","embed","hr","img","keygen","meta","param","track","wbr","ub","vb","wb","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","addEventListener","removeEventListener","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","flags","Wb","memoizedState","dehydrated","Xb","Zb","sibling","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","log","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Map","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","Uc","stopPropagation","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","Date","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","repeat","locale","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","date","datetime","email","month","password","range","tel","time","url","week","me","ne","oe","listeners","pe","qe","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","nextSibling","Le","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","Ne","Oe","focusedElem","selectionRange","documentElement","selectionStart","selectionEnd","defaultView","getSelection","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","left","scrollLeft","top","scrollTop","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","instance","listener","D","of","has","pf","qf","rf","random","sf","bind","passive","n","t","J","x","u","w","F","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","setTimeout","Gf","clearTimeout","Hf","Promise","Jf","queueMicrotask","resolve","then","catch","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","E","G","Vf","H","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","deletions","Cg","pendingProps","overflow","treeContext","retryLane","Dg","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","defaultProps","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","context","memoizedValue","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","bh","eventTime","lane","payload","callback","dh","K","eh","fh","gh","q","r","y","hh","ih","jh","Component","refs","kh","nh","isMounted","_reactInternals","enqueueSetState","L","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","contextType","updater","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","sh","ref","_owner","_stringRef","th","uh","vh","wh","xh","yh","implementation","zh","Ah","done","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","M","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","N","O","Sh","Th","Uh","Vh","Q","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","di","ei","fi","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","dispatch","gi","ii","ji","ki","getSnapshot","li","mi","R","ni","lastEffect","stores","oi","pi","qi","ri","destroy","deps","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ki","message","digest","Li","Mi","console","Ni","WeakMap","Oi","Pi","Qi","Ri","getDerivedStateFromError","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","compare","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","kj","lj","pendingContext","mj","Aj","Cj","Dj","nj","oj","pj","fallback","qj","rj","tj","dataset","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","tail","tailMode","yj","Ej","Fj","Gj","wasMultiple","suppressHydrationWarning","onclick","createElementNS","T","Hj","Ij","Jj","Kj","Lj","WeakSet","V","Mj","W","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","_reactRootContainer","Xj","X","Yj","Zj","ak","onCommitFiberUnmount","componentWillUnmount","bk","ck","dk","ek","fk","isHidden","gk","hk","display","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","Wk","mk","ceil","nk","ok","pk","Y","Z","qk","rk","sk","tk","uk","Infinity","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","isReactComponent","pendingChildren","bl","mutableSourceEagerHydrationData","cl","pendingSuspenseBoundaries","dl","fl","gl","hl","il","jl","zj","$k","ll","reportError","ml","_internalRoot","nl","ol","pl","ql","sl","rl","unmount","unstable_scheduleHydration","querySelectorAll","JSON","stringify","tl","usingClientEntryPoint","Events","ul","findFiberByHostInstance","bundleType","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","wl","isDisabled","supportsFiber","inject","createPortal","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","__self","__source","jsx","jsxs","setState","forceUpdate","escape","_status","_result","Children","map","count","toArray","only","PureComponent","cloneElement","createContext","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","createFactory","createRef","forwardRef","isValidElement","lazy","memo","startTransition","unstable_act","ctx","globalThis","self","global","restore","Prism","manual","disableWorkerMessageHandler","decode","markup","css","clike","js","Refractor","refract","register","grammar","languages","highlight","sup","util","alias","registered","listLanguages","tokens","Token","env","stringifyAll","classes","hooks","run","refractor","abap","lookbehind","keyword","operator","punctuation","aliases","abnf","coreRules","greedy","inside","terminal","repetition","RegExp","rule","actionscript","ada","variable","agda","function","antlr4","command","annotation","constant","g4","apacheconf","regex","refractorSql","apex","keywords","insertClassName","classNameInside","sql","trigger","apl","statement","assignment","dfn","applescript","aql","identifier","refractorCpp","arduino","builtin","ino","arff","asciidoc","quoted","interpreted","table","specifiers","admonition","callout","macro","inline","italic","bold","copyFromAsciiDoc","o","rest","adoc","asm6502","directive","asmatmel","refractorCsharp","aspnet","csharp","javascript","autohotkey","important","autoit","avisynth","replacements","allinternals","argument","avs","avroIdl","avdl","bash","envVars","commandAfterHeredoc","insideString","environment","shebang","toBeCopied","shell","basic","batch","parameter","bbcode","shortcode","bicep","interpolation","expression","datatype","decorator","birb","metadata","refractorC","bison","delimiter","bnf","rbnf","brainfuck","pointer","decrement","branching","brightscript","bro","bsl","oscript","cfscript","cfc","chaiscript","cpp","cil","clojure","cmake","inserted","cobol","level","coffeescript","coffee","concurnas","langext","conc","coq","commentSource","punct","modName","generic","refractorRuby","crystal","ruby","args","expansion","nested","depthLog2","keywordKinds","keywordsToPattern","words","typeDeclarationKeywords","nonTypeKeywords","nonContextualKeywords","nestedRound","genericName","typeExpressionWithoutTuple","tupleElement","tuple","typeExpression","typeInside","regularString","verbatimString","regularStringOrCharacter","regularStringCharacterOrComment","roundExpression","attrTarget","attr","formatString","mInterpolationRound","mInterpolation","sInterpolationRound","sInterpolation","createInterpolationInside","interpolationRound","dotnet","cs","cshtml","commentLike","stringLike","round","square","curly","angle","tagAttrs","tagContent","tagRegion","block","razor","csp","none","hash","cssExtras","selectorInside","class","combinator","unit","hexcode","atrule","addInlined","addAttribute","csv","cypher","relationship","dart","packagePrefix","generics","dataweave","dax","measure","dhall","coord","PREFIXES","unchanged","refractorMarkupTemplating","django","filter","markupTemplating","buildPlaceholders","tokenizePlaceholders","jinja2","dnsZoneFile","docker","spaceAfterBackSlash","stringRule","commentRule","instruction","dockerfile","dot","ID","IDInside","withID","gv","ebnf","special","editorconfig","section","eiffel","ejs","eta","elixir","doc","atom","elm","hvariable","erb","erlang","refractorLua","etlua","lua","excelFormula","sheet","file","path","cell","row","factor","comment_inside","string_inside","regexp","combinators","arrToWordsRegExp","builtins","$false","firestoreSecurityRules","flow","fortran","fsharp","ftl","FTL_EXPR","gap","continuation","gcode","checksum","gdscript","gedcom","gherkin","tableRow","pystring","feature","scenario","outline","git","deleted","glsl","gml","gamemakerlanguage","gn","gni","goModule","go","graphql","description","markdown","scalar","validTokens","currentIndex","startToken","inputVariables","isTokenType","getToken","definitionEnd","findClosingBracket","addAlias","mutationEnd","varToken","close","stackHeight","groovy","haml","filters","all_filters","handlebars","brackets","hbs","haskell","hs","haxe","reification","hcl","heredoc","hlsl","hoon","hpkp","hsts","http","headerValueOf","uri","header","langs","httpLanguages","json","plain","suffixTypes","getSuffixPattern","contentType","suffix","ichigojam","icon","icuMessageFormat","stringPattern","argumentSource","nestedMessage","refractorHaskell","idris","idr","iecst","address","ignore","gitignore","hgignore","npmignore","inform7","substitution","verb","ini","io","adverb","conjunction","java","classNamePrefix","refractorJava","refractorJavadoclike","javadoc","codeLinePattern","memberReference","field","javadoclike","addSupport","javaDocLike","docLanguage","tokenName","docCommentSupport","hashbang","javastacktrace","exceptions","more","jexl","jolie","aggregates","redirects","jq","stringInterpolation","jsExtras","withId","imports","spread","arrow","dom","maybeClassNameTokens","jsTemplates","templateString","templateLiteralPattern","interpolationObject","interpolationPunctuationObject","interpolationPattern","createTemplate","getPlaceholder","counter","tokenizeWithHooks","tokenize","tokenizeInterpolationExpression","tempGrammar","tokenizeEmbedded","_tokens","placeholderCounter","placeholderMap","embeddedTokens","interpolationExpression","placeholders","walkTokens","s","before","middle","after","afterTokens","Boolean","supportedLanguages","typescript","ts","tsx","stringContent","findTemplateStrings","embedded","refractorTypescript","jsdoc","parameterPrefix","example","null","webmanifest","refractorJson","json5","jsonp","jsstacktrace","braces","stringifyToken","openedTags","notTagNorBrace","openedBraces","plainText","julia","keepalived","ip","keyman","kotlin","interpolationInside","kt","kts","kumir","nonId","wrapId","prolog","kum","kusto","latex","funcPattern","insideEqu","cdata","equation","headline","tex","refractorPhp","latte","php","markupLatte","less","refractorScheme","lilypond","schemeExpression","ly","liquid","empty","insideRaw","tagMatch","lisp","simple_form","primitive","marker","par","nestedPar","heading","interactive","defvar","defun","lambda","car","arg","varform","forms","arglist","sublist","elisp","emacs","livescript","llvm","exception","separator","domain","uuid","lolcode","magma","generator","makefile","inner","createInline","tableCell","tableLine","yaml","blockquote","strike","codeLang","codeBlock","cls","tagPattern","fromCodePoint","known","KNOWN_ENTITY_NAMES","plugins","autoloader","floor","loadLanguages","ele","getElementById","amp","lt","gt","quot","defineProperties","placeholderPattern","replaceFilter","tokenStack","includedCdataInside","def","mathml","svg","ssml","rss","matlab","maxscript","mel","flag","mermaid","mizar","mongodb","operators","operatorsSource","monkey","moonscript","moon","n1ql","n4js","n4jsd","nand2tetrisHdl","naniscript","expressionDef","params","getTextContent","define","nani","bracket","bracketsIndex","isBracketsBalanced","nasm","neon","literal","nevod","fields","quantifier","colon","nginx","nim","nix","antiquotation","nsis","objectivec","objc","ocaml","variant","opencl","openqasm","qasm","oz","parigp","pascal","asm","objectpascal","pascaligo","accum","pcaxis","tlist","px","peoplecode","pcode","perl","filehandle","phpExtras","package","string_interpolation","phpdoc","plsql","powerquery","pq","mscript","powershell","processing","promql","vectorMatching","protobuf","builtinTypes","psl","pug","each","branch","filter_pattern","puppet","pure","inlineLanguageRe","purebasic","pbfasm","purescript","purs","python","py","qml","jsString","jsComment","jsExpr","qore","qsharp","qualifiedName","interpolationExpr","qs","ellipsis","racket","rkt","specialEscape","rangeChar","groupName","backreference","anchor","group","alternation","rego","renpy","rpy","rip","roboconf","component","optional","wildcard","robotframework","createSection","extendecInside","docTag","testNameLike","testPropertyLike","documentation","variables","tasks","robot","percentExpression","symbolName","rust","multilineComment","sas","numericConstant","macroVariable","macroKeyword","format","equals","altformat","globalStatements","submitStatement","actionSets","casActions","datalines","sass","scala","SortedBNF","scss","refractorBash","shellSession","strings","user","smali","smalltalk","smarty","smartyPattern","smartyLiteralMode","sml","word","smlnj","solidity","sol","solutionFile","guid","soy","numberPattern","soyLitteralMode","refractorTurtle","sparql","rq","splunkSpl","sqf","squirrel","stan","higherOrderFunctions","constraint","stylus","swift","nil","omit","systemd","quotesSource","refractorT4Templating","t4Cs","t4","createT4","t4Templating","createBlock","contentAlias","insideLang","standard","refractorVbnet","t4Vb","refractorYaml","tap","fail","pass","pragma","bailout","plan","subtest","yamlish","tcl","textile","modifierRegex","parenthesesRegex","withModifier","modifierTokens","phrase","modifier","image","footnote","acronym","phraseInside","nestedPatterns","phraseInlineInside","phraseTableInside","toml","insertKey","tremor","extractor","troy","trickle","refractorJsx","tt2","turtle","trig","twig","at","typoscript","tsconfig","unrealscript","category","uscript","uorazor","query","pair","authority","port","vala","refractorBasic","vbnet","velocity","unparsed","verilog","vhdl","vim","visualBasic","vba","warpscript","wasm","webIdl","wiki","emphasis","nowiki","wolfram","blank","mathematica","wren","xeora","xeoracube","xmlDoc","insertDocComment","docComment","slashDocComment","tickDocComment","xojo","xquery","extension","anchorOrAlias","plainKey","createValuePattern","yml","yang","zig","IDENTIFIER","ALIGN","_self","uniqueId","plainTextGrammar","objId","deepClone","visited","getLanguage","parentElement","setLanguage","classList","currentScript","scripts","getElementsByTagName","isActive","defaultActivation","no","plaintext","txt","redef","insert","root","newToken","old","DFS","propertyType","highlightAll","highlightAllUnder","container","elements","highlightElement","insertHighlightedCode","highlightedCode","hasAttribute","Worker","worker","onmessage","evt","postMessage","immediateClose","tokenList","LinkedList","addAfter","head","matchGrammar","all","callbacks","matchedStr","matchPattern","lookbehindLength","startNode","startPos","rematch","patterns","cause","patternObj","currentNode","reach","removeCount","from","to","matchStr","removeFrom","removeRange","nestedRematch","highlightAutomaticallyCallback","readyState","requestAnimationFrame","WorkerGlobalScope","sortIndex","performance","setImmediate","startTime","expirationTime","priorityLevel","navigator","scheduling","isInputPending","MessageChannel","port2","port1","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","delay","unstable_wrapCallback","hasIterator","len","ReferenceError","__esModule","Constructor","_defineProperties","descriptor","protoProps","staticProps","getPrototypeOf","isNativeReflectConstruct","possibleConstructorReturn","Derived","hasNativeReflectConstruct","Super","NewTarget","superPropBase","_get","receiver","desc","_getPrototypeOf","setPrototypeOf","__proto__","subClass","superClass","sham","Proxy","_typeof","assertThisInitialized","_setPrototypeOf","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","toStringTag","_defineProperty","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","sym","_objectSpread2","getOwnPropertyDescriptors","_objectWithoutProperties","excluded","sourceKeys","sourceSymbolKeys","propertyIsEnumerable","_arrayLikeToArray","arr2","_iterableToArray","iter","_unsupportedIterableToArray","minLen","_toConsumableArray","_arrayWithHoles","_nonIterableRest","_slicedToArray","_i","_s","_e","_arr","_n","_d","_classCallCheck","_createClass","_inherits","_isNativeReflectConstruct","_assertThisInitialized","_possibleConstructorReturn","_createSuper","_construct","Parent","Class","_wrapNativeSuper","_cache","fn","Wrapper","stringifyPosition","point","VFileMessage","place","origin","parts","fatal","ruleId","actual","expected","note","basename","ext","assertPath","seenNonSlash","firstNonSlashEnd","extIndex","dirname","unmatchedSlash","extname","startPart","startDot","preDotState","joined","segments","sep","absolute","allowAboveRoot","lastSlashIndex","lastSegmentLength","lastSlash","dots","normalizeString","proc","cwd","isUrl","fileURLOrPath","urlToPath","URL","protocol","hostname","pathname","third","decodeURIComponent","getPathFromURLPosix","VFile","buffer","history","stored","assertNonEmpty","assertPart","stem","encoding","part","_toArray","bail","middleware","called","parameters","fnExpectsCallback","unified","frozen","transformers","fns","pipeline","middlewareIndex","use","middelware","trough","attachers","freezeIndex","processor","assertUnfrozen","Compiler","freeze","attacher","transformer","POSITIVE_INFINITY","addPlugin","addList","addPreset","plugin","isPlainObj","vfile","assertParser","newable","assertCompiler","assertNode","compile","executor","reject","tree","runSync","complete","assertDone","process","processSync","destination","asyncName","looksLikeAVFile","includeImageAlt","one","chunkStart","combineExtensions","extensions","syntaxExtension","hook","right","constructs","existing","asciiAlpha","regexCheck","asciiDigit","asciiHexDigit","asciiAlphanumeric","asciiPunctuation","asciiAtext","asciiControl","markdownLineEndingOrSpace","markdownLineEnding","markdownSpace","unicodeWhitespace","unicodePunctuation","factorySpace","limit","enter","consume","exit","contentStart","attempt","contentInitial","lineStart","childFlow","childToken","lineStartOffset","continued","item","containerState","documentContinue","checkNewContainers","_closeFlow","closeFlow","indexBeforeExits","events","indexBeforeFlow","exitContainers","documentContinued","currentConstruct","concrete","flowStart","interrupt","_gfmTableDynamicInterruptHack","containerConstruct","thereIsANewContainer","thereIsNoNewContainer","containerContinue","_tokenizer","flowContinue","writeToChild","eof","stream","sliceStream","defineSkip","seen","nok","disable","blankLine","partial","subtokenize","lineIndex","otherIndex","otherEvent","subevents","jumps","_isInFirstContentOfListItem","subcontent","_container","eventIndex","startPosition","startPositions","childEvents","gaps","breaks","_gfmTasklistFirstContentOfListItem","contentEnd","continuationConstruct","contentContinue","prefixed","sliceSerialize","initial","flowInitial","afterConstruct","resolver","resolveAll","createResolver","initializeFactory","notText","atBreak","resolveAllLineSuffixes","extraResolver","chunks","bufferIndex","tabs","_index","_bufferIndex","createTokenizer","initialize","columnStart","resolveAllConstructs","accountForPotentialSkip","constructFactory","addResult","onsuccessfulcheck","expandTabs","atTab","serializeChunks","main","startIndex","startBufferIndex","endIndex","endBufferIndex","sliceChunks","chunkIndex","onreturn","bogusState","listOfConstructs","constructIndex","handleListOfConstructs","handleMapOfConstructs","handleConstruct","startPoint","startPrevious","startCurrentConstruct","startEventsIndex","startStack","store","resolveTo","thematicBreak","sequence","initialSize","atMarker","onBlank","listItemPrefixWhitespaceConstruct","endOfPrefix","otherPrefix","initialBlankLine","notBlank","furtherBlankLines","notInCurrentItem","indentConstruct","blockQuote","factoryDestination","literalType","literalMarkerType","rawType","stringType","balance","destinationEnclosedBefore","destinationRaw","destinationEnclosed","destinationEnclosedEscape","destinationRawEscape","factoryLabel","markerType","labelEscape","factoryTitle","atFirstTitleBreak","atTitleBreak","titleEscape","factoryWhitespace","normalizeIdentifier","labelAfter","titleConstruct","codeIndented","afterStartPrefix","afterPrefix","indentedContent","headingAtx","fenceOpenInside","headingBreak","setextUnderline","paragraph","closingSequence","closingSequenceEnd","htmlBlockNames","htmlRawNames","htmlFlow","declarationStart","tagCloseStart","continuationDeclarationInside","commentOpenInside","cdataOpenInside","basicSelfClosing","completeAttributeNameBefore","completeClosingTagAfter","completeEnd","completeAttributeName","completeAttributeNameAfter","completeAttributeValueBefore","completeAttributeValueQuoted","completeAttributeValueUnquoted","completeAttributeValueQuotedAfter","completeAfter","continuationCommentInside","continuationRawTagOpen","continuationClose","continuationCharacterDataInside","continuationAtLineEnding","nextBlankConstruct","htmlContinueStart","htmlLineEnd","continuationRawEndTag","codeFenced","closingFenceConstruct","closingSequenceStart","sizeOpen","nonLazyLine","initialPrefix","sequenceOpen","infoOpen","openAfter","infoAfter","decodeNamedCharacterReference","characterReference","numeric","characterEscape","lineEnding","labelEnd","labelStart","_balanced","_inactive","balanced","afterLabelEnd","resourceConstruct","fullReferenceConstruct","collapsedReferenceConstruct","insideSpan","destinationAfter","between","afterLabel","labelStartImage","classifyCharacter","attention","attentionMarkers","_open","_close","openingSequence","nextEvents","movePoint","autolink","schemeOrEmailAtext","emailAtext","schemeInsideOrEmailAtext","urlInside","emailAtSignOrDot","emailLabel","emailValue","htmlText","declarationOpen","tagOpen","commentOpen","cdataOpen","commentStart","commentStartDash","commentClose","atLineEnding","cdataClose","cdataEnd","instructionClose","tagClose","tagCloseBetween","tagOpenBetween","tagOpenAttributeName","tagOpenAttributeNameAfter","tagOpenAttributeValueBefore","tagOpenAttributeValueQuoted","tagOpenAttributeValueUnquoted","tagOpenAttributeValueQuotedAfter","labelStartLink","hardBreakEscape","codeText","tailExitIndex","headEnterIndex","resolveText","decodeNumericCharacterReference","characterEscapeOrReference","decodeString","$1","$2","hex","fromMarkdown","config","configure","transforms","canContainEols","opener","autolinkProtocol","onenterdata","autolinkEmail","atxHeading","codeFlow","codeFencedFenceInfo","codeFencedFenceMeta","codeTextData","codeFlowValue","definitionDestinationString","definitionLabelString","definitionTitleString","hardBreak","hardBreakTrailing","htmlFlowData","htmlTextData","listItem","listItemValue","onenterlistitemvalue","listOrdered","onenterlistordered","listUnordered","onenterreference","referenceString","resourceDestinationString","resourceTitleString","setextHeading","strong","closer","atxHeadingSequence","onexitatxheadingsequence","onexitautolinkemail","onexitautolinkprotocol","characterEscapeValue","onexitdata","characterReferenceMarkerHexadecimal","onexitcharacterreferencemarker","characterReferenceMarkerNumeric","characterReferenceValue","onexitcharacterreferencevalue","onexitcodefenced","codeFencedFence","onexitcodefencedfence","onexitcodefencedfenceinfo","onexitcodefencedfencemeta","onexitcodeindented","onexitcodetext","onexitdefinitiondestinationstring","onexitdefinitionlabelstring","onexitdefinitiontitlestring","onexithardbreak","onexithtmlflow","onexithtmltext","onexitimage","onexitlabel","labelText","onexitlabeltext","onexitlineending","onexitlink","onexitreferencestring","onexitresourcedestinationstring","onexitresourcetitlestring","resource","onexitresource","onexitsetextheading","setextHeadingLineSequence","onexitsetextheadinglinesequence","setextHeadingText","onexitsetextheadingtext","mdastExtensions","listStack","resume","setData","getData","prepareList","handler","defaultOnError","firstBlankLineIndex","containerBalance","listSpread","tailIndex","tailEvent","_spread","and","errorHandler","onExitError","depth","referenceType","ordered","compiler","postprocess","defaultConstructs","atCarriageReturn","endPosition","preprocess","combined","convert","castFactory","typeFactory","anyFactory","propsFactory","visitParents","visitor","reverse","parents","visit","subresult","grandparents","toResult","pointStart","pointEnd","clean","unknown","augment","handlers","passThrough","returnNode","unknownHandler","loose","footnoteReference","footnoteOrder","revert","subtype","contents","listItemLoose","break","footnoteById","dangerous","imageReference","inlineCode","linkReference","listLoose","wrapped","out","footnoteDefinition","allowDangerousHtml","hName","hProperties","hChildren","toHast","foot","listItems","backReference","footer","bridge","mutate","onContextLost","onContextRestored","accentHeight","alignmentBaseline","arabicForm","baselineShift","capHeight","clipPath","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","dataType","dominantBaseline","enableBackground","fillRule","floodColor","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","horizAdvX","horizOriginX","horizOriginY","imageRendering","letterSpacing","lightingColor","markerEnd","markerMid","markerStart","navDown","navDownLeft","navDownRight","navLeft","navNext","navPrev","navRight","navUp","navUpLeft","navUpRight","onActivate","onBegin","onEnd","onFocusIn","onFocusOut","onMouseWheel","onRepeat","onShow","onZoom","overlinePosition","overlineThickness","paintOrder","panose1","pointerEvents","renderingIntent","shapeRendering","stopColor","strikethroughPosition","strikethroughThickness","strokeDashArray","strokeDashOffset","strokeLineCap","strokeLineJoin","strokeMiterLimit","textAnchor","textDecoration","textRendering","underlinePosition","underlineThickness","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","wordSpacing","writingMode","xHeight","playbackOrder","timelineBegin","about","accumulate","additive","alphabetic","amplitude","ascent","attributeType","azimuth","bandwidth","baseFrequency","baseProfile","bbox","bias","by","calcMode","clip","clipPathUnits","contentScriptType","contentStyleType","cursor","cx","cy","defaultAction","descent","diffuseConstant","direction","dur","divisor","dx","dy","edgeMode","editable","elevation","exponent","externalResourcesRequired","fill","filterRes","filterUnits","focusable","focusHighlight","fr","fx","fy","g1","g2","glyphRef","gradientTransform","gradientUnits","hanging","hatchContentUnits","hatchUnits","ideographic","initialVisibility","in","in2","intercept","k1","k2","k3","k4","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","kerning","lengthAdjust","limitingConeAngle","local","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","mathematical","mediaCharacterEncoding","mediaContentEncodings","mediaSize","mediaTime","numOctaves","observer","orient","orientation","overlay","pathLength","patternContentUnits","patternTransform","patternUnits","phase","pitch","points","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","propagate","radius","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","requiredFonts","requiredFormats","restart","rotate","rx","ry","scale","seed","side","slope","snapshotTime","specularConstant","specularExponent","spreadMethod","spacing","stdDeviation","stemh","stemv","stitchTiles","stroke","surfaceScale","syncBehavior","syncBehaviorDefault","syncMaster","syncTolerance","syncToleranceDefault","systemLanguage","tableValues","targetX","targetY","textLength","transformBehavior","u1","u2","viewBox","viewTarget","visibility","widths","x1","x2","xChannelSelector","y1","y2","yChannelSelector","zoomAndPan","htmlBase","svgBase","rehypeFilter","allowedElements","disallowedElements","allowElement","parent_","unwrapDisallowed","protocols","thing","dashes","hastToReact","padRight","padLeft","tableElements","childrenToReact","childIndex","toReact","skipHtml","parentSchema","listDepth","components","React","ReactIs","linkTarget","transformLinkUri","transformImageUri","getInputElement","getElementsBeforeCount","textAlign","isHeader","sourcePos","rawSourcePos","sourcePosition","includeElementIndex","siblingCount","styleReplacer","parseStyle","deprecated","renderers","astPlugins","escapeHtml","allowNode","allowedTypes","disallowedTypes","includeNodeIndex","ReactMarkdown","deprecation","warn","remarkParse","remarkPlugins","remarkRehype","rehypePlugins","hastNode","_extends","_objectSpread","first","propTypes","classNameCombinations","getClassNameCombinations","classNames","arrLength","powerSetPermutations","createStyleObject","elementStyle","stylesheet","nonTokenClassNames","classNamesCombinations","styleObject","createClassNameString","_ref","_ref$style","useInlineStyles","TagName","childrenCreator","childrenCount","createChildren","allStylesheetSelectors","startingClassName","_excluded","newLineRegex","AllLineNumbers","_ref2","codeString","codeStyle","_ref2$containerStyle","containerStyle","paddingRight","_ref2$numberStyle","numberStyle","startingLineNumber","getAllLineNumbers","getInlineLineNumber","lineNumber","inlineLineNumberStyle","assembleLineNumberStyles","lineNumberStyle","largestLineNumber","num","defaultLineNumberStyle","minWidth","userSelect","customLineNumberStyle","createLineElement","_ref3","showInlineLineNumbers","_ref3$lineProps","lineProps","_ref3$className","showLineNumbers","wrapLongLines","flattenCodeTree","newTree","processLines","codeTree","wrapLines","_ref4","lastLineBreakIndex","createWrappedLine","createUnwrappedLine","createLine","_loop","splitValue","newChild","_line","stringChild","lastLineInPreviousSpan","newElem","_line2","_line3","defaultRenderer","_ref5","isHighlightJs","astGenerator","highlightAuto","defaultAstGenerator","defaultStyle","highlighter","_ref7","_ref7$style","_ref7$customStyle","customStyle","_ref7$codeTagProps","codeTagProps","_ref7$useInlineStyles","_ref7$showLineNumbers","_ref7$showInlineLineN","_ref7$startingLineNum","lineNumberContainerStyle","_ref7$lineNumberStyle","_ref7$wrapLongLines","_ref7$lineProps","renderer","_ref7$PreTag","PreTag","_ref7$CodeTag","CodeTag","_ref7$code","allLineNumbers","defaultPreStyle","hljs","backgroundColor","generatorClassName","preProps","defaultCodeValue","_ref6","hasLanguage","checkForListedLanguage","getCodeTree","www","w2","w3","hasUnderscoreInLastSegment","hasUnderscoreInLastLastSegment","namedCharacterReference","punctuationContinuation","inPath","continuedPunctuation","parenAtPathEnd","pathEnd","trailingPunctuation","wwwAutolink","previousWww","previousUnbalanced","httpAutolink","previousHttp","t1","t2","slash1","slash2","emailAutolink","hasDot","hasDigitInLastSegment","gfmAtext","previousEmail","atext","dotContinuation","dashOrUnderscoreContinuation","afterDashOrUnderscore","gfmAutolinkLiteral","_gfmAutolinkLiteralWalkedInto","gfmFootnote","tokenizeDefinitionStart","tokenizeDefinitionContinuation","gfmFootnoteDefinitionEnd","tokenizeGfmFootnoteCall","tokenizePotentialGfmFootnoteCall","resolveToPotentialGfmFootnoteCall","gfmFootnotes","callStart","callData","callEscape","gfmStrikethrough","single","singleTilde","tokenizeStrikethrough","resolveAllStrikethrough","strikethrough","gfmTable","seenDelimiter","hasDash","tableHeaderCount","_align","cellDividerHead","inCellContentHead","cellBreakHead","originalInterrupt","tokenizeRowEnd","atDelimiterRowBreak","atRowEndHead","inWhitespaceHead","inCellContentEscapeHead","rowEndDelimiter","inWhitespaceDelimiter","inFillerDelimiter","afterLeftAlignment","afterRightAlignment","tableClose","nextPrefixedOrBlank","bodyStart","rowStartBody","cellDividerBody","inCellContentBody","cellBreakBody","tableBodyClose","atRowEndBody","inWhitespaceBody","inCellContentEscapeBody","inHead","inDelimiterRow","inRow","cellStart","seenCellInRow","tasklistCheck","spaceThenNonSpace","gfmTaskListItem","gfm","ccount","findAndReplace","ignored","pairs","toExpression","toFunction","toPairs","pairIndex","grandparent","change","matchObject","inConstruct","notInConstruct","gfmAutolinkLiteralFromMarkdown","findUrl","findEmail","literalAutolink","literalAutolinkEmail","enterLiteralAutolinkValue","literalAutolinkHttp","literalAutolinkWww","gfmAutolinkLiteralToMarkdown","unsafe","isCorrectDomain","closingParenIndex","openingParens","closingParens","trail","trailExec","splitUrl","association","options_","lineShift","move","containerFlow","safeOptions","indexStack","tracker","handle","bulletLastUsed","eol","indentLines","patternCompile","_compiled","patternInScope","listInScope","safe","positions","infos","sort","numerical","escapeBackslashes","whole","gfmFootnoteToMarkdown","peek","subexit","containerPhrasing","gfmStrikethroughFromMarkdown","gfmStrikethroughToMarkdown","handleDelete","serialize","defaultStringLength","toAlignment","codePointAt","gfmTableFromMarkdown","tableData","enterCell","tableHeader","gfmTableToMarkdown","padding","tableCellPadding","alignDelimiters","tablePipeAlign","stringLength","around","serializeData","handleTableRowAsData","handleTableAsData","handleTableCell","matrix","alignments","cellMatrix","sizeMatrix","longestCellByColumn","mostCellsPerRow","rowIndex","columnIndex","delimiterStart","delimiterEnd","markdownTable","listItemIndent","checkListItemIndent","bullet","bulletCurrent","checkBullet","incrementListMarker","gfmTaskListItemFromMarkdown","taskListCheckValueChecked","exitCheck","taskListCheckValueUnchecked","firstParaghraph","gfmTaskListItemToMarkdown","checkable","checkbox","gfmFromMarkdown","gfmFootnoteDefinition","gfmFootnoteDefinitionLabelString","gfmFootnoteCall","gfmFootnoteCallString","gfmToMarkdown","remarkGfm","buttonTypes","core","isProperties","finalResult","webNamespaces","ast","verbose","opening","closing","createLocation","quirksMode","indices","toPoint","toOffset","isFile","toH","react","_isVue","vue","vdom","hyperscript","subprop","zwitch","p5","patch","htmlVoidElements","endTagToken","parseOptions","raw","stitches","locationTracker","resetTokenizer","createParse5Location","stitch","fromParse5","mock","rehypeRaw","CopyButton","valueToCopy","clipboard","writeText","setFilter","typeFilter","setTypeFilter","expandedItems","setExpandedItems","expandedCategories","setExpandedCategories","handleExpandItem","newExpanded","handleCategoryClick","newExpandedCategory","filtered","typeFilteredItems","filterData","wait","immediate","timeout","debounce","coldarkDark","ReactDOM"],"sourceRoot":""} \ No newline at end of file